DRY: Leverage more on BaseSlice trait

We can leverage much more on trait to avoid repeating code and to simplify logic.

Enhance BaseSlice (iter, ...), we should probably also have iter_rows, selectetc ...
Have Matrix implement BaseSlice (can answer issue #14 )
Create a BaseSliceMut trait, which add mutability
Have Matrix and MatrixSliceMut implement BaseSliceMut

This is still a WIP, I think we should for instance be able to replace most arithmetic operations by something like (I cannot make it work yet):
impl<'a, T, S1, S2> Add<S1> for S2
    where S1: BaseSlice<T>, S2: BaseSlice<T>,
{
// ...
}

This is a breaking change as people need to import BaseSlice and BaseSlice trait most of the time.

Thanks for putting so much effort into trying to solve this problem - I think this is another potentially powerful solution!
I want to go through and carefully review what you've done (I've only glanced over it so far) but I have some initial comments/questions about this approach.
I worry about putting a lot of functionality behind this trait and requiring the import. It adds some obscurity I think - perhaps we could go with the Float trait approach and simply call existing implementations within the trait and use it for generic-ness only?
I think having holdall traits like this can be quite risky - especially with an unstable API. If we rely on these for all generic behavior in future it could be hard to change. That said we're still <1.0.0 so we can chuck things around if needed.
I think using the trait more broadly is probably valuable outside of #14 . Helping reduce code bloat in arithmetic overloading in particular would be useful. Though bear in mind that the implementations for Matrix and MatrixSlice must be different as Matrix may use in place allocation if the matrix is consumed - while MatrixSlice may not.
Let me know what you think. I'll try to find some time today to read through the full PR (which may answer some of my above concerns).
And thanks again - this definitely feels like a step in the right direction.

I worry about putting a lot of functionality behind this trait and requiring the import. It adds some obscurity I think

I think this is how things work in a lot of rust crates (including std itself). The compiler will suggest the missing trait in its error message. Having a prelude-like module could help (even if I'm not a fan).
But it is really up to you, we can always add a macro that implements all of them, this is just an additional unnecessary step on compiler side. It feels less rust way to me.

Just added iter_rows(_mut) into traits.
Had to moved Rows and RowsMut into src/matrix/mod.rs

I think this is how things work in a lot of rust crates (including std itself).

Yes you're right. I haven't been working with Rust for too long but maintaining these large traits with an unstable API seems painful. Maybe I'm wrong - in any case I think the benefits are probably worthwhile.

Having a prelude-like module could help (even if I'm not a fan).

I'm not a fan either - but I have added on regardless!
I'll have to read through the PR in full before I can give any valuable feedback. It's looking like that may have to wait until tomorrow morning now - sorry.
I also have one more idea I want to try out with regards to getting AsRef/Borrow/Deref working. It may not work well in practice but I'll toy with that before making any decisions on this PR.

No hurry!
On 3 Aug 2016 11:57, "James Lucas"<EMAIL_ADDRESS>wrote:

I think this is how things work in a lot of rust crates (including std
itself).
Yes you're right. I haven't been working with Rust for too long but
maintaining these large traits with an unstable API seems painful. Maybe
I'm wrong - in any case I think the benefits are probably worthwhile.
Having a prelude-like module could help (even if I'm not a fan).
I'm not a fan either - but I have added on regardless!
I'll have to read through the PR in full before I can give any valuable
feedback. It's looking like that may have to wait until tomorrow morning
now - sorry.
I also have one more idea I want to try out with regards to getting
AsRef/Borrow/Deref working. It may not work well in practice but I'll toy
with that before making any decisions on this PR.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AtheMathmo/rulinalg/pull/18#issuecomment-237130071,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHAszuLfRvFwUQUDwmq9zOXyTX3gSbGLks5qcBGPgaJpZM4JaO9W
.

I don't manage to implement arithmetic operations using the traits because of the orphan rule (from what I understand).
I can still modify the macros so it'll work for MatrixSlice and Matrix when possible.
By the way I've pushed changes so the BaseSlice uses associated types (BaseSlice::Item instead BaseSlice<T>): I think it is more flexible and easier to write in general.
I'll continue so DRY the code as much as possible.

My other idea also came up short. It seems that we'll be waiting for custom DSTs before we can get the ideal implementation,
I think this trait change will give us enough additional power for now anyway.

I have moved most function like transpose, hcat etc... from Matrix to BaseSlice.
On one hand, I am sure there is no performance penalty, on the other, it brings more options to users (they don't need to say, convert a MatrixSlice into a Matrix to transpose it then).
I have also rewritten some of these functions to push an entire slice (via get_row_unchecked) instead of items one by one).

Actually most fns in src/matrix/mod.rs and src/matrix/decomposition.rs can be moved to BaseSlice trait.
I think it makes sense, in particular if you want the crate to allow some parallel operations (it allows sharing parts of the matrix and working on them, via MatrixSlices).
This will be quite a big change though (even if trivial), I don't know if you want this now or not.
Anyway, I'm working on it, knowing that we can split this PR (first part until https://github.com/AtheMathmo/rulinalg/pull/18/commits/f214de80a4e3a58e563dc9bdc87c0fbfdec8c4b7, the rest on a second one) if needed.

I think it makes sense to bring methods like transpose in which all matrices should implement. I had been holding back on a few of those (like hcat, vcat) because I feel as though there should be efficient ways to do this for the slices - but probably not.
As for the decompositions - it may be worth adding a new trait for these? I see no obvious benefit but it feels like this may help when things like specialization lands. This way we can implement the decomposition for Complex types differently (I think this works?).
As one final point I've been thinking it may be worth renaming this trait. BaseSlice isn't very descriptive of what the trait does anymore. I don't have any good suggestions yet, maybe: Array and ArrayMut as I think most of the behaviour captured here is specific to arrays? Then the arithmetic is defined on the Matrix structs themselves? I'm not super convinced by that idea so please feel free to recommend your own.

I feel as though there should be efficient ways to do this for the slices - but probably not.

Even if there are efficient ways, it should be a matter of overloading that particular function when we impl BaseSlice for Matrix.

As for the decompositions - it may be worth adding a new trait for these? I see no obvious benefit but it feels like this may help when things like specialization lands. This way we can implement the decomposition for Complex types differently (I think this works?).

Looks like a good idea.

I don't have any good suggestions yet, maybe: Array and ArrayMut as I think most of the behaviour captured here is specific to arrays?

I'm not sure exactly what is an Array (to me it is closer to a Vector, 1 dimension). What about MatrixView(Mut) ? The View part shows the intent of cheap borrow.
Also I really feel like we could use a VectorSlice/View.
What is your  opinion about associated types in the trait. Does it feel right to you?

Even if there are efficient ways, it should be a matter of overloading that particular function

For sure - I just meant I had held off as I tried to figure those out. I think they should be put in now though.
You may be right about the Array. MatrixView might make more sense - but feels a little like a conflict with MatrixSlice. Are they different things? This trait to me seems to be capturing common behaviour amongst Matrix types, whether that's a view into the matrix or an owned matrix.

Also I really feel like we could use a VectorSlice/View.

Yes I agree. I'll make a new issue for these.
As for associated types. It's hard to say as I still haven't properly read through and played with the PR. It doesn't seem necessary to me but maybe it is. In any case I think the name Item is a little misleading? It sounds too similar to the Iterator trait maybe?

It doesn't seem necessary to me but maybe it is

I actually agree. It looked like a good idea but it doesn't feel nice. Reverted it.
For the trait names, I'll change it later. Let me try adding a trait for decomposition / resolution first.

Had a slightly longer peek at the code. Just a few minor things - overall it looks good!
I'll wait for you to tackle decomposition before I really dive in. It may prove difficult as the current implementation works only for Matrix. If this is the case then we can spin it out into a new issue?

If this is the case then we can spin it out into a new issue?

Let me try first. I'll let you know.

I'm not sure how much of a challenge that will present?

Looks simple enough: https://github.com/AtheMathmo/rulinalg/pull/18/commits/2075fd7449560d9ff03466f9b92460025077084a

I've added the Decomposition trait.
As much as possible I used BaseSlice::into_matrix which is a no-op for Matrix.
There are still some work to do I suppose but it should already be a good start.

Pushed inverse, det and solve into Decomposition trait ... because it was easy and extend these functions to more items.
But we should probably rename (and relocate?) that trait then

I think we can also merge the Metric trait into BaseSlice (or whatever the name)

I'd like to keep the Metric trait out for now. I plan to extend it to some other norms later (general L-norms, etc.) and it would be nice to have these in one place (I think). For now at least...
I'm also not sure about having inverse/det/solve in Decomposition. Well - inverse may be ok but I feel that solve and determinant are not decompositions. Again this is something that may be worth readressing but for this PR I think it is best to keep them separate.
I agree with having split_at and split_at_mut in BaseSlice but I don't think that Vector should implement this? For example hcat should produce a Matrix but vcat should produce another Vector. The reason why Vector exists in this crate instead of just using a single column Matrix is that when we know the column has contiguous data we can do some things more efficiently. I haven't looked in detail but I worry some of this performance gain might be lost if we share the trait signatures. Or alternatively we'll have overly complex trait signatures.
Most of my comments here are things that I think might be worth exploring in the future but I'd like to see this PR land with a smaller subset of changes first and then address those things later.
If you disagree feel free to say so! You've been working with the code so may have seen things I'm missing.

With regards to Metric - maybe we can implement for all types implementing BaseSlice? That makes more sense to me.

I'd like to keep the Metric trait out for now.

ok

I'm also not sure about having inverse/det/solve in Decomposition. Well - inverse may be ok but I feel that solve and determinant are not decompositions. Again this is something that may be worth readressing but for this PR I think it is best to keep them separate.

I agree it is not Decomposition (this is why I thought it could be renamed as well). The point is that it is sad that it applies only on Matrix while it can easily be applied to slices as well. (I can definitely see think of situations where we prefer working with slices). An alternative is to have yet another trait or to have stand alone functions as well.

I don't think that Vector should implement this

I wasn't sure either. It doesn't bring anything on the table now. I'll revert.

With regards to Metric - maybe we can implement for all types implementing BaseSlice? That makes more sense to me.

Yes. But we may get hurt by the orphan rule again.

Hmm yes I see your point with regards to inverse etc. I'm not sure how best to handle it right now - hopefully I'll have a better idea after reading through. I think as you say moving those functions into the Decomposition trait might be the best option.

Yes. But we may get hurt by the orphan rule again.

I think this wont be a problem as all traits are within the crate, but I could be wrong...

Disclaimer on the following - my opinion may change after digesting more of the PR.
I think that some of these issues are why I'm a little cautious about moving things into traits like this. I agree it is the best way to go but leaves a lot to be desired compared to being able to use Borrow etc. Maybe the best approach is just to have one monolithic trait for all Matrix methods but this feels like an abuse of the type system to me - and one that I worry might come back to bite us later.

I think as you say moving those functions into the Decomposition trait might be the best option.

:confused: I just pushed them into an matrix::invertible::Invertible trait ...
I'm leaving the Metric trait untouched for now.

:confused: I just pushed them into an matrix::invertible::Invertible trait ...

Sorry for the confusion. This is a pretty huge PR so may take some time for things to settle in their ideal place :)

I was also thinking to have a big wrapper trait that consumer could use instead of importing them one by one. This makes is cleaner on development side while remaining flexible on consumer side.

I like the idea of a wrapper trait too. It definitely helps to alleviate some of my huge trait concerns.

I've added benches and modified the code (there were a significant regression).
Here is a bench with the maximum penalty (row mod 8 = 7);
running 3 tests
test linalg::matrix::mat_elediv_63_1000            ... bench:      47,981 ns/iter (+/- 1,540)
test linalg::matrix::mat_elemul_63_1000            ... bench:      29,326 ns/iter (+/- 8,768)
test linalg::matrix::mat_mat_elemul_63_1000        ... bench:      26,098 ns/iter (+/- 721)

The mat_mat is the version Matrix * Matrix. As you can see there is a penalty in being too generic. I couldn't easily overload that function when implementing Matrix.
What do you propose ? Should we remove this or rename it differently ?

I'm pretty sure the regression is caused by the fact that in the new elemul function we are vectorizing over each row - but we can vectorize over the entire data for Matrix (as it is all guaranteed to be contiguous).
If you add an overriding implementation for Matrix in the BaseSlice implementation you should see the performance improve again.

Yes this is certainly where the regression comes from.

If you add an overriding implementation for Matrix in the BaseSlice implementation you should see the performance improve again.

I tried but it didn't work. It can work being slightly less generic:
// overloadable if we remove <M>
fn elemul(&self, m: &Matrix) -> Matrix<T>
         where T: Copy + Mul<T, Output = T>,
               M: BaseSlice<T>,

// Error: I couldn't find a way to overload this version
//  error: wrong number of type arguments: expected 1, found 0 [E0243]
// src/matrix/slice.rs:1116     fn elemul(&self, m: &Matrix) -> Matrix<T>
fn elemul<M>(&self, m: &M) -> Matrix<T>
         where T: Copy + Mul<T, Output = T>,
               M: BaseSlice<T>,

I'm away from home so can't test myself. But maybe we can try something like:
fn elemul(&self, m: Self) -> Matrix<T>
It isn't as generic as we'd like but is better than we had before. And users can get all desired behaviour by calling as_slice where needed.
I'm not sure that we can achieve exactly what we want without stooping to macros otherwise.

Let me do this

done.
Any remaining point I didn't cover?

It looks good to me from here but I'll have to give it a thorough read over on Tuesday. I want to make sure we don't miss anything as there's a lot here.
Thanks again for all the work you've done on this. I'm looking forward to making use of this!

Sure
Take your time
On 8 Aug 2016 12:11, "James Lucas"<EMAIL_ADDRESS>wrote:

It looks good to me from here but I'll have to give it a thorough read
over on Tuesday. I want to make sure we don't miss anything as there's a
lot here.
Thanks again for all the work you've done on this. I'm looking forward to
making use of this!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AtheMathmo/rulinalg/pull/18#issuecomment-238138244,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHAszlzQyzupxEvDp-lIi1K6lgJwf8t9ks5qdqx_gaJpZM4JaO9W
.

Pushed as_slice and as_mut_slice, just to be certain we can use elemul like functions easily (even multiplying Matrix and MatrixSliceMut for instance)

I've checked over the decomposition code. Other than my comment the rest looks good. In future I think it will be worth implementing these differently for each type of Matrix but we're not quite there yet.
I need to look over the other changes some more but from what I've seen they look good. I'll hopefully look in more detail tomorrow. Some comments for now though.

We should describe the use of these traits in the crate and module documentation. Just explain that these traits contain the bulk of the behaviour and exist to allow code to be generic over each Matrix type. We don't need too much detail there.
I'm not sure that we need as_matrix and into_matrix. As I mentioned in a previous comment I think that as_matrix was a mistake and doesn't fit the rust convention (&T -> &U). If you agree I think we should remove this and stick with into_matrix.

We should describe the use of these traits in the crate and module documentation

Yes

I'm not sure that we need as_matrix and into_matrix

I understand the issue with the as_matrix. As I said, my only concern is that we need an unnecessary clone in one function. I think several parts of decomposition module could be written more efficiently using BaseSlice and BaseSliceMut.

Before merging I think we should settle on the names of things

I totally agree. The changes are too big and will necessarily impact rulinalg users. Better to do it now.

I also have another suggestion:

add sub_slice(_mut) functions which acts as the reslice but are more generic. It'll help in various part of the code where we use from_matrix or from_raw_parts ...
eventually deprecate the reslice functions as they will become redundant and are less explicit IMHO (no mut part in particular)

I like the sub_slice suggestion. It seems like a good replacement for reslice.
I see why we need the as_matrix method but see my comment above. Perhaps I am misunderstanding some of what you've worked through during this PR. If we need to keep it then it's no big deal - having an extra function is hardly a deal breaker :).
My biggest concern right now is making sure we haven't sacrificed performance anywhere here (at least not where it can be helped). I know it may seem premature to worry about it but there's no way to be certain that anything we unknowingly introduce will get cleaned up any time soon.

Do we keep the Invertible trait?

It does feel pretty clunky to me - if we get a better name for Decomposition than we can put it there. But I think otherwise it is a reasonable move for the sake of clarity (and with a wrapper trait will feel a little easier). Though see my comment above - I'm inclined to split out the Decomposition work into a new PR and keep them Matrix only for this PR. Would make it easier to review I think.
I should have some time to read through the other added modules late this evening.

Reverted Decomposition ... and Invertible: Decomposition. I've saved the work on a dry-backup branch in my fork.

Thanks, and it's good that you saved it. I think it's really valuable but probably needs more work and I'd like to get this merged soon.
I'll try to get through the rest of it in the next day and hopefully then we can get this in!

I've also pushed sub_slice and kept reslice for the moment. I think we can remove it later.

I will just change the trait names and it should be good.

I saw, thanks! I agree we should leave reslice for now. I'll make an issue to remind me to remove it later though.

Names changed.

I saw, thanks! I agree we should leave reslice for now. I'll make an issue to remind me to remove it later though.

I copied the logic of reslice ... but I think there were a bug originally:
unsafe {
    self.ptr = self.ptr.offset((start[0] * self.cols + start[1]) as isize);
}

Shouldn't we offset the reslice with row_stride instead of cols:
unsafe {
    self.ptr = self.ptr.offset((start[0] * self.row_stride + start[1]) as isize);
}

Ah - nice catch! My test only checked the first row and I haven't had a use case for reslice personally.
If you want to can you add a test to cover this case? If not (which is totally understandable) I'll write up an issue to add a test covering that case. Let me know.

Done. The test was indeed not working before the fix.

Looking through this and there are a few things I see. Most are minor and that I think we should address after the PR merges. A couple others I think we should address before merging (again - they are mostly minor).
To note after merging:

sum_rows should probably use iter_rows and utils::in_place_vec_bin_op. I don't think this gives performance gains but will look nicer?
vcat can be overridden for Matrix to be more efficient. We just concatenate the two data vectors instead of doing it per row. Maybe this should go in now but I'm happy to wait.

To do before merging:

A lot of the BaseMatrix function documentation still refers to slices. I think we should change this to matrices? Happy to be overruled.
Some documentation of BaseMatrix should be clearly visible in liband matrix/mod as it is now responsible for a lot of functionality. Ideally we should also have something in the README but we can postpone that.
Should we restructure this stuff? Having BaseMatrix in slice seems counter-intuitive. I'm happy to leave this for later but we should at least pub use BaseMatrix in matrix/mod.

What do you think of those? You've already spent a lot of time on this so if you like I can handle the last few things.

@tafia could you let me know whether you want me to handle the last few tweaks? There's no rush if you want to.
Thanks!

Yes I'll do it I have some work at the moment and I am not very good at
writing docs but I didn't forget. If you're in a hurry don't hesitate to do
it.
On 17 Aug 2016 12:33, "James Lucas"<EMAIL_ADDRESS>wrote:

@tafia https://github.com/tafia could you let me know whether you want
me to handle the last few tweaks? There's no rush if you want to.
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AtheMathmo/rulinalg/pull/18#issuecomment-240311143,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHAszopI2PRXBfkWQHkYaUQYyINsGNfCks5qgo8ngaJpZM4JaO9W
.

I've done most of the changes in question.
I have not

updated the README as I'm not clear on what should be there
renamed the slice module, I've publicly imported the traits in matrix/mod.rs which should be a good start. (in particular, I'm wondering what will happen if we manage to update the decomposition module, will the names align?)
added much documentation in matrix/mod.rs, I've merely added a reference in the module documentation saying that most logic is actually implemented on the traits.

Please review (and sorry for the time it took!)

Thanks!
I think this will be enough to merge. I will handle updating the README (I just wanted to add an example illustrating this - or perhaps something even simpler).
I think pub use is enough for the traits - it is actually nicer as it keeps matrix/mod cleaner.
I'm away until Thursday so wont be able to review until then. A quick look through now and it looks ready to merge but as it is a large PR I want to give it one more thorough look through. Should have it in by Friday!
Thanks again

Just finished looking this over and I'm pleased to say it's finally getting merged!
Thanks for all of your work on this! I'm excited to make use of these changes in rusty-machine.

Thanks you!!


feat: Upgrade command needs --reset-values

When doing an upgrade command with the --set flag, the provided values are saved in the release.
E.g.
REVISION: 5
RELEASED: Fri Nov 18 20:14:51 2016
CHART: test-0.1.0
USER-SUPPLIED VALUES:
replicas: 2

The problem is that when you run your next upgrade command, even if the --set flag is not used, the user supplied values will be loaded from the server and be re-used. In the case where no override values are supplied I would expect the default value in the values.yaml file to be used, not the override values from the last upgrade command.
Even more confusing, if you supply a --set command with a different override key, then the last value from the server is not used, it replaces it.
Here's step by step example:

in values.yaml we have "replicas=1"
we do a helm upgrade --install without a --set

the replicas value used is the default value of 1

we do a helm upgrade with --set replicas=2

the replicas value used is 2

we do a helm upgrade without any --set parameter

the replicas value used is still 2 (notice that we are not using the default value as we would expect)

we do a helm upgrade with a different --set value like --set a=b

the replicas value used is 1 (the default value)

We actually went from your expected case to this behavior because of community demand. The rationale behind the move was: If user A does a release, and then leaves and the app breaks, user B needs to be able to re-deploy with the same set of configs (and the minimal amount of work). Going to the defaults would be a confusing experience for user B.
Now, --set might be a little confusing, as --set is essentially resetting to the defaults, and then overriding (IIRC). Think of it this way: --set and -f are both considered "the user specified value" and are applied against the chart default values.yaml. There was some debate about what the expected behavior there was. Basically, all solutions confused at least someone.
I'd be happy to see a --reset-values or --default-values flag on helm upgrade that could basically tell Tiller to reset to the default values. That would certainly be easier than the existing workarounds (like supplying a --set flag specifically to reset things).

Thank you for the detailed answer. I agree that there is pros and cons to both solutions.
I think that adding a --reset-values flag would make the behavior a little more explicit and less confusing. Maybe the debug output could also make it more obvious what values we are reusing from last deploy.

I updated the title and added this to the triaging queue.


Update pna_control.py

I tested it with two different resonances of the Al on IDC sample and I did not see any problems yet.

I'll close this one and change the other one.


issue #4238: provider服务端配置serialization="kryo"自定义异常类抛错时消费端捕获不到

What is the purpose of the change
fix issue #4238
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #4795 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #4795      +/-   ##
============================================
+ Coverage     63.97%   63.98%   +<.01%
+ Complexity      452      451       -1
============================================
  Files           769      769
  Lines         33168    33169       +1
  Branches       5228     5228
============================================
+ Hits          21220    21222       +2
- Misses         9527     9528       +1
+ Partials       2421     2419       -2

Impacted Files
Coverage Δ
Complexity Δ

...mmon/serialize/kryo/utils/AbstractKryoFactory.java
75.43% <100%> (+0.43%)
0 <0> (ø)
:arrow_down:

.../remoting/transport/netty4/NettyClientHandler.java
61.4% <0%> (-7.02%)
0% <0%> (ø)

...onfig/spring/extension/SpringExtensionFactory.java
80.48% <0%> (-4.88%)
0% <0%> (ø)

...e/dubbo/remoting/transport/netty/NettyChannel.java
57.64% <0%> (-4.71%)
20% <0%> (-1%)

...g/apache/dubbo/registry/consul/ConsulRegistry.java
62.5% <0%> (+0.62%)
29% <0%> (ø)
:arrow_down:

.../exchange/support/header/HeaderExchangeServer.java
67.92% <0%> (+0.94%)
0% <0%> (ø)
:arrow_down:

...dubbo/metadata/support/AbstractMetadataReport.java
72.83% <0%> (+1.73%)
0% <0%> (ø)
:arrow_down:

...he/dubbo/registry/multicast/MulticastRegistry.java
69.68% <0%> (+1.8%)
0% <0%> (ø)
:arrow_down:

.../apache/dubbo/remoting/transport/AbstractPeer.java
63.04% <0%> (+4.34%)
0% <0%> (ø)
:arrow_down:

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 8b31781...8c2d6f6. Read the comment docs.


bulkAdd & bulkPut typing: accept a readonly array

We follow immutability practices in our codebase, but because of the current typings, bulkAdd and bulkPut do not accept a readonly TEntity[], only TEntity[].
If I understand it correctly, the typing could be safely relaxed to allow both the readonly and non-readonly versions of the array.
This would be a small change and would avoid a type assertion in the consuming code.
Thank you!

Yes, it's true we could add the readonly attribute into bulkAdd and bulkPut and I thing we should. PR's would be welcome. First change table.d.ts under src/public/types. Then go ahead and change the implementations as TSC will start complaining. It might require a change all the way into DBCoreAddRequest and DBCorePutRequest interfaces but that is ok. DBCore does not alter given arrays in the mutate method. The request objects itself may be extended with the optional key property but the values array will be readonly in practice.


FreeBSD ARM64 CI Failures

Noticed a few consistent CI failures on FreeBSD ARM64 runner:
[2023-12-13T01:06:13.961Z]     chttpd_view_test:89: -view_test_/0-fun-0- (t_view_map_reduce_with_keys_and_group)...[0.010 s] ok
[2023-12-13T01:06:13.961Z] erl_child_setup: failed with error 32 on line 281
[2023-12-13T01:06:13.961Z] erl_child_setup: failed with error 32 on line 281
[2023-12-13T01:06:13.961Z]     [done in 0.934 s]
[2023-12-13T01:06:13.961Z]   chttpd all docs tests
[2023-12-13T01:06:14.493Z]     undefined
[2023-12-13T01:06:14.493Z]     *** context setup failed ***
[2023-12-13T01:06:14.493Z] **in function chttpd_view_test:create_ddoc/1 (test/eunit/chttpd_view_test.erl, line 400)
[2023-12-13T01:06:14.493Z] in call from chttpd_view_test:setup/0 (test/eunit/chttpd_view_test.erl, line 55)
[2023-12-13T01:06:14.493Z] **error:{failed_to_create_ddocs,<<"eunit-test-db-c861572e65bff0e2f5ca0b703bc2c286">>,
[2023-12-13T01:06:14.493Z]                         {400,
[2023-12-13T01:06:14.493Z]                          #{<<"error">> => <<"compilation_error">>,
[2023-12-13T01:06:14.493Z]                            <<"reason">> =>
[2023-12-13T01:06:14.493Z]                                <<"Compilation of the map function in the 'map' view fa"...>>}}}

[2023-12-13T02:46:42.337Z]   Upgrade and bugs related tests
[2023-12-13T02:46:42.337Z]     undefined
[2023-12-13T02:46:42.337Z]     *** context setup failed ***
[2023-12-13T02:46:42.337Z] **in function couch_db:update_doc/4 (src/couch_db.erl, line 875)
[2023-12-13T02:46:42.337Z] in call from couchdb_views_tests:create_design_doc/3 (test/eunit/couchdb_views_tests.erl, line 849)
[2023-12-13T02:46:42.337Z] in call from couchdb_views_tests:setup_with_docs/0 (test/eunit/couchdb_views_tests.erl, line 40)
[2023-12-13T02:46:42.337Z] **throw:{bad_request,compilation_error,
[2023-12-13T02:46:42.337Z]              [67,111,109,112,105,108,97,116,105,111,110,32,111,102,32,116|...]}
[2023-12-13T02:46:42.337Z]
[2023-12-13T02:46:42.337Z]
[2023-12-13T02:46:42.337Z]   [done in 0.060 s]

[2023-12-13T03:25:45.444Z]   Test couchjs
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_create_sandbox)...[0.058 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_reset_properly)...[0.011 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_freeze_doc_object)...[0.003 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_roundtrip_utf8)...[0.003 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_roundtrip_modified_utf8)...[0.002 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_replace_broken_utf16)...[0.002 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_allow_js_string_mutations)...[0.005 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:97: -with/1-fun-0- (should_bump_timing_and_call_stats)...[0.010 s] ok
[2023-12-13T03:25:45.444Z]     couch_js_tests:99: -with/1-fun-1- (should_exit_on_oom)...*failed*
[2023-12-13T03:25:45.444Z] in function couch_os_process:prompt/2 (src/couch_os_process.erl, line 47)
[2023-12-13T03:25:45.444Z] in call from couch_query_servers:proc_prompt/2 (src/couch_query_servers.erl, line 601)
[2023-12-13T03:25:45.444Z] in call from couch_js_tests:trigger_oom/1 (test/eunit/couch_js_tests.erl, line 406)
[2023-12-13T03:25:45.444Z] in call from eunit_test:run_testfun/1 (eunit_test.erl, line 71)
[2023-12-13T03:25:45.444Z] in call from eunit_proc:run_test/1 (eunit_proc.erl, line 531)
[2023-12-13T03:25:45.444Z] in call from eunit_proc:with_timeout/3 (eunit_proc.erl, line 356)
[2023-12-13T03:25:45.444Z] in call from eunit_proc:handle_test/2 (eunit_proc.erl, line 514)
[2023-12-13T03:25:45.444Z] in call from eunit_proc:tests_inorder/3 (eunit_proc.erl, line 456)
[2023-12-13T03:25:45.444Z] **throw:{os_process_error,{exit_status,139}}
[2023-12-13T03:25:45.444Z]   output:<<"">>
[2023-12-13T03:25:45.444Z]

Another one. This one doesn't explicitly show a couch_js execution error but it failed to build an index:
[2023-12-13T04:34:11.011Z] module 'couch_mrview_ddoc_updated_tests'
[2023-12-13T04:34:11.011Z]   Check ddoc update actions
[2023-12-13T04:34:11.011Z]     undefined
[2023-12-13T04:34:11.011Z]     *** context setup failed ***
[2023-12-13T04:34:11.011Z] **in function couch_mrview_util:get_view_index_state/5 (src/couch_mrview_util.erl, line 219)
[2023-12-13T04:34:11.011Z] in call from couch_mrview_util:get_view/4 (src/couch_mrview_util.erl, line 153)
[2023-12-13T04:34:11.011Z] in call from couch_mrview:query_view/6 (src/couch_mrview.erl, line 286)
[2023-12-13T04:34:11.011Z] in call from couch_mrview_ddoc_updated_tests:setup/0 (test/eunit/couch_mrview_ddoc_updated_tests.erl, line 50)
[2023-12-13T04:34:11.011Z] **throw:{not_found,missing}
[2023-12-13T04:34:11.011Z]

Another example:

[2023-12-13T19:12:08.828Z] module 'couchdb_design_doc_tests'
[2023-12-13T19:12:08.828Z]   Check _list functionality
[2023-12-13T19:12:09.390Z]     undefined
[2023-12-13T19:12:09.390Z]     *** context setup failed ***
[2023-12-13T19:12:09.390Z] **in function couch_db:update_doc/4 (src/couch_db.erl, line 875)
[2023-12-13T19:12:09.390Z] in call from couchdb_design_doc_tests:create_design_doc/2 (test/eunit/couchdb_design_doc_tests.erl, line 90)
[2023-12-13T19:12:09.390Z] in call from couchdb_design_doc_tests:setup/0 (test/eunit/couchdb_design_doc_tests.erl, line 22)
[2023-12-13T19:12:09.390Z] **throw:{bad_request,compilation_error,
[2023-12-13T19:12:09.390Z]              [67,111,109,112,105,108,97,116,105,111,110,32,111,102,32,116|...]}
[2023-12-13T19:12:09.390Z]
[2023-12-13T19:12:09.390Z]
[2023-12-13T19:12:09.390Z]   couchdb_design_doc_tests:60: -should_return_empty_when_no_docs/1-fun-1-...[0.068 s] ok
[2023-12-13T19:12:09.390Z]   [done in 0.360 s]
[2023-12-13T19:12:09.390Z] [done in 0.477 s]

these are caused by a SIGSEGV in couchjs, during GC. worker threads are paused, main thread
is in the middle of GC. Filed upstream but they rightly point out we need to be on a SM supported version for this to be worth looking at.
* thread #1, name = 'couchjs', stop reason = signal SIGSEGV
  * frame #0: 0x000000008321f3a0 libmozjs-91.so`js::gc::MapAlignedPages(unsigned long, unsigned long) + 1232
    frame #1: 0x00000000831e56f0 libmozjs-91.so`js::gc::GCRuntime::pickChunk(js::AutoLockGCBgAlloc&) + 132
    frame #2: 0x00000000831e54a4 libmozjs-91.so`js::gc::ArenaLists::refillFreeListAndAllocate(js::gc::FreeLists&, js::gc::AllocKind, js::gc::ShouldCheckThresholds) + 308
    frame #3: 0x00000000831e4638 libmozjs-91.so`js::jit::JitCode* js::Allocate<js::jit::JitCode, (js::AllowGC)0>(JSContext*) + 128
    frame #4: 0x0000000083478618 libmozjs-91.so`js::jit::JitCode* js::jit::JitCode::New<(js::AllowGC)0>(JSContext*, unsigned char*, unsigned int, unsigned int, js::jit::ExecutablePool*, js::jit::CodeKind) + 44
    frame #5: 0x00000000834a27c8 libmozjs-91.so`js::jit::Linker::newCode(JSContext*, js::jit::CodeKind) + 284
    frame #6: 0x00000000832922c8 libmozjs-91.so`js::jit::BaselineCacheIRCompiler::compile() + 15424
    frame #7: 0x000000008329b6e0 libmozjs-91.so`js::jit::AttachBaselineCacheIRStub(JSContext*, js::jit::CacheIRWriter const&, js::jit::CacheKind, JSScript*, js::jit::ICScript*, js::jit::ICFallbackStub*, bool*) + 212
    frame #8: 0x00000000832cf2a0 libmozjs-91.so`___lldb_unnamed_symbol30268 + 276
    frame #9: 0x00000000832cf070 libmozjs-91.so`js::jit::DoGetPropFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICFallbackStub*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>) + 444
    frame #10: 0x000014c25c2ea554

I will see if I can track down what changed back in December, that this stopped working. couchjs is not exactly a fast-moving target.

I believe it works now, we have the ARM64 FreeBSD worker back in full CI rotation.


Feature/93 hook up algolia with businesses search

Describe your PR
Added in algolia search hook and hooked it up to the pagination, the
pagination is no longer working so pushing this up for someone to take a
look at :).
Pagination was not working because it was limited to a static number of
pages depending on the data from Airtable, however now this uses dynamic
handling showing if there are no results, and showing results if there
are some.
The pagination does work but it ... stretches rather as you go through
pages xD.
Have removed the next and previous functionality for now as I've
scrapped most of the goto stuff and replaced it with link components to
keep it simple. Anyway my brain died but sure we can figure out next and
prev :P
Related to: https://trello.com/c/MOV7XVoL/93-hook-up-algolia-with-businesses-search
Fixes #
Pages/Interfaces that will change

Businesses
Pagination (businesses may ended up needing different pagination or refactoring)

Screenshots / video of changes
Drop some screenshots of the before and after of your work here. Better yet, take a screen recording using a tool like Loom
Steps to test

Additional notes

I thought it worthwhile to test out an alternative approach then what you have here @llexical. This was what I was trying to describe in our DMs, but was struggling to adequately explain. So as you mentioned, code speaks 😄 => https://github.com/jbolda/RBB-Website/pull/1 (I opened a PR within my repo to provide a diff, but not confuse others by opening against this main repo.)

Hey @llexical - apologize for polluting the history here 🤦♂ - tried a few things that ended up stepping on your toes a bit too much. Totally me and my own exhaustion at fault here for not splitting off on a different branch.
I did make one change and moved the Application ID and the Search-Only API Key to a .env.development file. the .env.development file will need to be created on your local in addition to the .env file for Gatsby to properly grab on the client side.
Additionally, merging master into this branch triggered the auto linting on several other files 🤦♂. That's where all the rest of those additions came from.
Long story short I just jumped in here, ran around the place waving my arms and knocking things over.
Because the API key was within the JS here I did regenerate the Algolia API's. But once they're dropped into that environment everything should be working as it did before I got in here and messed up the joint!
Apologies again. I'm going to get some sleep :)


Hey urish!

Hey, @urish. We asked you to join me look in your email!

Sorry, but I don't think I know you.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-31-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4671

Questions ?
Please refer to the Backport tool documentation


Make it work on linux-aarch64 (and osx-arm64)

We currently hard-code -64 here: https://github.com/mamba-org/provision-with-micromamba/blob/34071ca7df4983ccd272ed0d3625818b27b70dcc/index.js#L244
Would be great to check for the CPU architecture and use -aarch64 or -arm64 when appropriate.

I have an Linux/aarch64 machine (Ubuntu 22.04) with a self hosted runner on it.
In my action I tried to use provision-with-micromamba, but I got the following error:

Can we test this on GHA?

Linux x64
> require("process").arch
'x64'

macOS ARM
> require("process").arch
'arm64'


imp(types): code maintenance of domain types and their corresponding protobuf types

Feature Summary

We introduced ToProto trait in #995. It did streamline a lot of code, but we can streamline even more.
Proposal

Extend the ToProto trait with try_from_any() method and replace the generic with an associated type.

trait ToProto {
    type ProtoType;
    type Error;

    fn type_url(&self) -> String;

    fn to_any(&self) -> Any;

    fn try_from_any(any: Any) -> Result<Self, Self::Error>;
}

By removing the generic P from ToProto, we can access the corresponding protobuf type of DomainType at <DomainType as ToProto>::ProtoType.

For a DomainType with a corresponding ProtoType, we/users only maintain the following code. Note the derive-macro ToProto(ProtoType) for DomainType.

#[derive(ToProto(ProtoType))]
struct DomainType {
    hello: String,
}

impl TryFrom<Self::ProtoType> for DomainType {
    type Error = Error;

    fn try_from(proto: Self::ProtoType) -> Result<Self, Self::Error> {
        Ok(Self { hello: proto.hello })
    }
}

impl Into<Self::ProtoType> for DomainType {
    fn into(self) -> Self::ProtoType {
        Self::ProtoType {
            hello: self.hello,
        }
    }
}

The derive-macro will generate the following code block for the above example.

impl Protobuf<ProtoType> for DomainType {}

impl ToProto for DomainType {
    type ProtoType = ProtoType;
    type Error = Error;

    fn type_url(&self) -> String {
        ProtoType::type_url()
    }

    fn to_any(self) -> Any {
        Any {
            type_url: ProtoType::type_url(),
            value: ProtoType::from(self).encode_to_vec(),
        }
    }

    fn try_from_any(any: Any) -> Result<Self, Self::Error> {
        if &any.type_url == ProtoType::type_url() {
            ProtoType::decode(any.value.as_slice()).and_then(Self::try_from)
        } else {
            Err(DecodeError::new("Invalid type_url"))
        }
    }
}

impl Protobuf<Any> for DomainType {}

impl TryFrom<Any> for DomainType {
    type Error = Error;

    fn try_from(any: Any) -> Result<Self, Self::Error> {
        let proto = ProtoType::try_from_any(any)?;
        Self::try_from(proto)
    }
}

impl From<DomainType> for Any {
    fn from(domain: DomainType) -> Self {
        let proto = ProtoType::from(domain);
        proto.to_any()
    }
}

With this, we can simplify the implementation of most of the current domain types. For example, the following codes can be removed from the Tendermint client state domain type.
https://github.com/cosmos/ibc-rs/blob/4a0990f35e2a9338b7205445b9d21a044784104c/ibc-clients/ics07-tendermint/src/client_state.rs#L65
https://github.com/cosmos/ibc-rs/blob/4a0990f35e2a9338b7205445b9d21a044784104c/ibc-clients/ics07-tendermint/src/client_state.rs#L81-L95

This raises a question to me, do we really need to hardcode constants such as this,
https://github.com/cosmos/ibc-rs/blob/4a0990f35e2a9338b7205445b9d21a044784104c/ibc-clients/ics07-tendermint/types/src/client_state.rs#L27
as they can be retrieved by ToProto::type_url() even in current codebase. For example, the above type URL is present as
<TmClientState as ToProto<RawTmClientState>>::type_url()

If we want to make sure that these types of URLs are the ones we expect, we can add unit tests.

Actually, we don't need
impl Protobuf<Any> for DomainType {}

The compilation error source, after removing these
https://github.com/cosmos/ibc-rs/blob/4a0990f35e2a9338b7205445b9d21a044784104c/ibc-clients/ics07-tendermint/src/consensus_state.rs#L96
https://github.com/cosmos/ibc-rs/blob/4a0990f35e2a9338b7205445b9d21a044784104c/ibc-testkit/src/testapp/ibc/clients/mock/consensus_state.rs#L103
can be refactored as
use ibc::primitives::ToVec;
Any::from(self).to_vec()

While the usability with the associated type is better, we do have a use for the parameter on the Protobuf trait: a single domain type can be used to encode to/decode from different versions of protobuf-generated types. Currently it's useful in supporting the CometBFT protocol versions used by 0.34.x, 0.37.x, and 0.38.x nodes, but also in post-v1 future, some messages might evolve to have different versions, and those will be published side by side to .v1 in .v2 packages and so on. The intent is to not proliferate versioned domain types unless there is a clear need for that, instead the versioning complexity is represented at the cometbft-proto level.


Help in rdpwrap 1.6.2 and termsrv.dll 10.0.17763.168

the steps I did to try to make rdpwrap 1.6.2 run with windows 10 1809 (termsrv.dll 10.0.17763.168) were as follows
I downloaded the rdpwrapper file here -> https://github.com/stascorp/rdpwrap/releases/download/v1.6.2/RDPWrap-v1.6.2.zip
-I have decompressed into a folder that will serve as a "server"
-installed with the command install.bat
-apps the installation, I went to the folder c: \ program files \ RDP Wrapper and gave permission to the user that was using
-in the folder I edited the rdpwrap.ini file
-I added the following lines at the end of the file
[10.0.17763.168]
LocalOnlyPatch.x64 = 1
LocalOnlyOffset.x64 = 77941
LocalOnlyCode.x64 = jmpshort
SingleUserPatch.x64 = 1
SingleUserOffset.x64 = 132F9
SingleUserCode.x64 = Zero
DefPolicyPatch.x64 = 1
DefPolicyOffset.x64 = 17F45
DefPolicyCode.x64 = CDefPolicy_Query_eax_rcx
SLInitHook.x64 = 1
SLInitOffset.x64 = 1ABFC
SLInitFunc.x64 = New_CSLQuery_Initialize
[10.0.17763.168-SLInit]
bInicializado.x64 = ECAB0
bServerSku.x64 = ECAB4
lMaxUserSessions.x64 = ECAB8
bAppServerAllowed.x64 = ECAC0
bRemoteConnAllowed.x64 = ECAC4
bMultimonAllowed.x64 = ECAC8
ulMaxDebugSessions.x64 = ECACC
bFUSEnabled.x64 = ECAD0
I saved the ini file.
I ran rdpconf.exe and everything was okay on screen
https://prnt.sc/lxub8o
so I tried to access it with the other user who has remote access permission
Not work!
http://prntscr.com/lxubk9
translate ( the number of connections with this computer is limited .... )
help me please!

Duplicate of #606.

thanks man!
sorry!


A switches view

Presumably this is possible to see what is attached to a given switch, not quite sure on the UI for this but I think it might be useful information to expose to the end user.

I found that the hard part with switches (and cancellation contexts in general) is that fibers move around cancellation contexts, so it's hard to know what's going on.
In particular a fiber might create a cancellation context, moving inside, do some stuff and then move outside. Stats will be aggregated for the fiber so we won't know what was happening inside the cancellation context. I'm thinking about adding an "implicit" fiber for each cancellation context, so that it fits a higher level mental model.

Fixed by https://github.com/tarides/meio/pull/47


in ng serve, specify different angular-cli name or directory

Can we allow to specify a different file name for angular-cli.json or different directory aside from the project root when running command line such as NG SERVE?
e.g.
ng serve /build/admin/angular-cli.json
This is already possible with webpack and rollup. This make sense if one project codebase has multiple independent business modules and multiple deployment configuration as well.
Or do you have already an existing solution to this which is different from what I expected?

We aren't currently looking at supporting different angular-cli.json for a single project. We do plan to extend it to support several apps in in the same config though, but that's a medium term goal.

+1

+1 from me too. This to me is almost a core requirement for any app. Let us specify the config file please.

+1 from me. Using docker as well.


Crash

Hey!
often crash here
can i fix it somehow?

Is it crashing reliably for certain videos or just randomly?
If there are videos you can often reproduce it with, can you send me their links?

used for audio
I'll try to get a link
if there is a repeat, I will send
let stream = try? await YouTube(videoID: id).streams
.filterAudioOnly()
.filter { $0.subtype == "mp4" }
.highestAudioBitrateStream()

crash the same playlist,  containing these indices:
ID = 7CKtQ4-wfTM
ID = itqGVDIBkWw
ID = SibXBrOxA0o
ID = F-Y1LKxGU8I
ID = jNs6aQGCOaU
ID = M6cpB2hh5BA
ID = NvbaDuEViDg
ID = igJeBYmqK2Y
ID = qceopW0PD74
ID = MzI_CIYSsfQ
ID = EUS9tcFu1fE
ID = WgJK1-iGNco
ID = Dxw11CKI03Y
ID = vN12KY7eR8U
ID = 9EX7HR1Fsq8
ID = nM8e0LjQEvE
ID = Rs8aq-e_J4M
ID = 6jMG1BG54kQ
ID = 9S8Pw4pfrKE
ID = nFwcl-tKJdU
ID = s3x2-Qey9AM
ID = blka05VlAQw
ID = kP4EHv7iLmE
ID = Qx1LngL28C4
ID = yc8XTr4HI4o
ID = JCFeALamXRY
ID = ufvvyIxci4Y
ID = RJkVfDDMuVs
ID = eKVcpJZO6k4
ID = tWVcVDIYoGk
ID = d8e9sw6_oec
ID = 4EfM6rPmxow
ID = C3UV02D8W5A
ID = NuXdxMEbYeQ
ID = x1ZtIVuHph0
ID = XBleNfmkScA
ID = eLAHSRmFFzE
ID = jsLUXz0UOeg
ID = kmxPFKIe4Zs
ID = HnLyfoamQyM
ID = tYXQb_-8FoY
ID = UBS52IgUDZ0
ID = UBNUTdtvdbA
ID = Xh4K1syaghE
ID = mwnLxK7Ada8
I can't tell the exact index.
group operation (try await withThrowingTaskGroup)

thanks!

This should be fixed now with 0.1.7.
Thanks for reporting


When importing putting two periods in a row crashes Spyder

I'm trying to import a library called Dipy. When importing if I type
import dipy..

It crashes the Spyder terminal

You're right, this is a bug. We'll fix it in our next release.


Import Components into .mdx files?

It is my understanding, per https://mdxjs.com/advanced/components , that React components can be imported into MDX files.
When I run the starter and add a blog to the content folder it crashes.
content
  - my-new-blog
      - index.mdx
      - MyComponent.js

index.mdx:
---
title: Brian's Brain!
date: '2020-01-01'
---

import MyComponent from './MyComponent.js'

## Above component

<MyComponent />

## Below Component

MyComponent.js:
import React from 'react';

const MyComponent = props => {
    return (

Hello MyComponent

    );
};

export default MyComponent;

Is importing React components not supported?

Nevermind, it works if I don't use a default export
MyComponent.jsx:
import React from 'react';

export const MyComponent = props => {
    return (

Hello MyComponent

    );
};

index.mdx
---
title: Brian's Brain!
date: '2020-01-01'
---

import { MyComponent } from './MyComponent.js'

## Above component

<MyComponent />

## Below Component


Game Over splash screen - add "Press any button to play again"

Seen several people not know how to restart a game.  Would be good to add a text prompt to the Game over splash screen letting them know they can press a button to try playing the game again.

We've also noticed the same thing. Kids often press the reset which takes more time to reload.


Fix cr/crds file names

Description of the change:

Keep the original group value to create the file name.

Motivation for the change:
Closes #2162 and #2058
Test performed locally
$ operator-sdk add api --api-version=my-cool-thing.grdryn.me/v1alpha1 --kind Test
INFO[0000] Generating api version my-cool-thing.grdryn.me/v1alpha1 for kind Test.
...
INFO[0000] Created deploy/crds/my-cool-thing_v1alpha1_test_cr.yaml
INFO[0001] Created deploy/crds/my-cool-thing_v1alpha1_test_crd.yaml
...

closing this one since was decided that the names of the files should not have -


Clarify MFA instructions

a user in Discord recently had trouble comprehending the MFA instructions

It occurs to me that, if mintapi supports text MFA, there should be a section describing the process. I'm not familiar with that workflow, so someone else should be the one to write it. I imagine it could be added as an Option 3 in this same section.


Added UseSerilog to operate correctly

Added UserSerilog() into Program.cs for projects.

Thanks dear @amiradeli
I appreciate it.


Request: new support to database VistaDB

Please can add new support to database VistaDB

Interesting request. TBH, never I had tried playing with that DB yet, we will surely assess.


rstfmt updates timestamps of unchanged files

Build systems like make and many other tools, including sphinx, use file timestamps to determine if sources were changed and targets need to be rebuilt. Currently, rstfmt updates the timestamps of files that were not changed, thus causing a full rebuild in a subsequent run of the build tool. It would be great to change this behaviour so that only real file changes cause an update to the timestamp.

Thanks for the report! This should be fixed in the new 0.0.13 release.

Works great. Thank you so much!


Allow overriding container image

Fixes #42
Not sure if the built dist files should be included in the PR or not. Let me know and I can remove them if needed.

Fixes #42

Alternatively we may consider just using https://github.com/containerd/containerd/pkgs/container/busybox to avoid the Docker Hub rate limit?

Using the GHCR image as a default makes sense. I think it's still valuable to allow overriding the default container image.

@AkihiroSuda I just got back to this and noticed that the ghcr.io/containerd/busybox repository is no longer actively maintained. The last update there is from two years ago. I've been trying to find an alternative but there's nothing on GHCR. I suppose the only remaining option is to revert to the DockerHub busybox image.


Duplicated titles

RIght now in https://docs.locust.io/en/latest/ the edited titles are shown duplicated:

thx


Allow to explicitly --extend an underlay

Adding another issue since it's separate from https://github.com/colcon/colcon-core/issues/168

One of the more common errors I make with colcon is having the wrong environment 'extended' during build. This is a result of having quite a few workspaces I switch between in the course of development. If I'm not super certain about the current environment, I have to be very careful to reset the terminal, and source the correct underlay before building.
I also remember making this mistake a lot with catkin_make, and was pretty excited that this was fixed with catkin_tools via the --extend flag, which configured the workspace's underlay deterministically.

colcon doesn't source any underlay workspaces for you. It simply uses the current environment. Therefore there is no such think to explicitly pass --extend.
colcon (as well as ament_cmake) also doesn't offer any kind of rollback catkin-based setup files partially implemented (resetting some environment variables when a workspace B was sourced after A undoing some (but not all!) changes from A).
The recommended workflow is that you only source the desired underlays before building a workspace since undoing what a previously sourced workspace did isn't possible. That could be either using separate terminals or opening sub-shells from a clean shell which afterwards can be terminated.

At the same time, colcon does contain some magical logic which infers things about the environment it finds itself invoked in— thinking in particular of how it sorts through a pile of CMAKE_PREFIX_PATH entries to determine that what it really has is a single underlay, so that the underlay source script gets the fast dsv-based env assembly logic rather than having to wait around for bash to chew through all the local_setup files (see the discussion in #365 for more on my motivations here, though that particular case may be addressable by the already-present PrefixPathExtensionPoint).
Anyway, despite the arguments for purity, I don't actually think it would be that much of a stretch to have a way to initialize colcon pointed at a specific underlay. I think the main impact would be that it would require keeping a list of the particular envvars which would be reset in those circumstances, and that list would probably have to be something that plugins could contribute to. So maybe the baseline would just be PYTHONPATH, but colcon-cmake would add CMAKE_PREFIX_PATH and colcon-ros add ROS_PACKAGE_PATH.
So in the case of an explicit extend you'd either have to go with all variables that are known to the installed plugins, or perhaps examine the packages in the workspace and use the envvar set based on the build_types which are actually present.
It's not even necessarily clear to me that this would have to go in core. Would it be enough to have a hook for getting the build environment dict, whose fallback implementation is just return os.environ?

I think the main impact would be that it would require keeping a list of the particular envvars which would be reset in those circumstances, and that list would probably have to be something that plugins could contribute to.

The idea that you can "reset" the environment to a state before a workspace was sourced is deeply flawed. There are infinite possibilities what could have been altered and how and why. I don't think trying to do so is a reasonable approach. Therefore this is nothing ament_cmake or colcon support.

I don't feel that resetting the environment and explicit extending are the exact same thing. A "root" workspace such as the one in /opt/ros/noetic happily overrides envvars like CMAKE_PREFIX_PATH and PYTHONPATH when it is sourced. That behaviour might be broken if your workspace extends, say, a python virtualenv or something, but in many common use-cases it is fine. And if a given workspace can trace its ancestry back to such a root workspace, then any of the vars that would be reset can be deterministically known (PATH is a notable exception, but many ROS 1 user workspaces don't ship anything in bin).
Anyway, I think it's reasonable to at least have an env-override extension point for this so that third parties can experiment with heuristic-based approaches to it, given that it was a successful feature in catkin_tools.


Callback at the end of scraping process

Hi feross !
How i can call a callback function when the scraping process is terminated ?
As default is there a max timeout during the scraping process ? ( If the trackers not respond for example )
Thanks , You have done an incredible job !
PS : Sorry for my bad english , i'm french

Please answer me

You need to create your own timer using setTimeout, since there's no way to determine whether a tracker is being super slow, or if it's down entirely and will never send a response.

Ok thanks for this response


added new api node

added the GetArchive api node.
Tested on my machine on multiple repositories, currently using it in one of my projects.

@famoser Could you please only commit the source code and not the readme?

I'm closing this pull request and opening another one due to the README.MD changes. Sorry for your trouble


[Suggestion] web frontend can look ES capability

add web API /caps
returns ES capability info in JSON
frontend can understand (customised) ES features
and switch correctly.

I try implementing over proxy
https://github.com/NullPopPoLab/BatoceraProxy
but it works for my custom ES.
as possible, hope to switch for official Batocera versions.


[Text Analytics] [AAD] TextAnalyticsClient LROs #health cancelled failing in nightly runs

Text Analytics nightly test runs are failing with:

Stack trace:
AssertionError: expected undefined to be truthy
at Context. (test/public/textAnalyticsClient.spec.ts:2675:19)

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1107532&view=results

Passed on retry - logging and closing but please reopen if it happens again


Add a feature for linking to proc-macro

This commit adds a feature to this crate which enables linking to the
upstream proc_macro crate. This should help this compile on targets
which don't have proc_macro and allow it to also be suitable for
embedding in Rust binaries.
This feature is turned on by default for backwards compatibility right
now.

Oh right yes, thanks!


Design System > Comparison of storybook on Dev 8.3 version along with theme changes and staging storybook version

Design System > Comparison of storybook on Dev 8.3 version along with theme changes and staging storybook version

| Design System > Version 8.3 > Side navigation bar > font   size and font style is not consistent Bug
-- | --
  | #852 opened last   week by RadhikaB123
  |   |   |   |   |   |

  |   |

  | Design System > Version 8.3 > Components > User   delegations/ user permission > Default > Mobile view > Not able to   see text on button Bug
  | #816 opened last   week by RadhikaB123
  |
  | Design System > Version 8.3 > Components > Top navigation   with search > Default > small/large mobile > Not able to see icons   of top nav bar Bug
  | #815 opened last   week by RadhikaB123
  |
  | Design System > Version 8.3 > Component > Product list   > Product list with Inline price > small mobile > Not able to see   full image Bug
  | #814 opened last   week by RadhikaB123
  |
  | Design System > Version 8.3 > Components > Menus   Directories > Default > Small Mobile view > Not able to see action   menus Bug
  | #811 opened last   week by RadhikaB123
  |
  | Design System > Version 8.3 > Component > Datatable >   Action button on Left side > Not able to see the 'Edit' option after   hovering over the row below in the table Bug
  | #810 opened last   week by RadhikaB123
  |
  | Design System > Version 8.3 >Charts > Polar Area Chart   > Change theme and size display error massage. Bug
  | #807 opened last   week by rameshwarkamandar
  |
  | Design System > Version 8.3 >Charts > Stacked Chart >   Small and large mobile view chart is not display proper. Bug
  | #806 opened last   week by rameshwarkamandar
  |
  | Design System > Version 8.3 > Charts > Boolean Chart >   CenterIcon name is not change. Bug
  | #804 opened last   week by rameshwarkamandar
  |
  | Design System > Version 8.3 > Charts > Area Chart >   Show error message. Bug
  | #802   by rameshwarkamandar was closed last week
  | 1
  |
  | Design System > Version 8.3 > Elements > Stat >   Advanced > Small mobile light & dark theme is not display   proper. Bug
  | #792 opened 2 weeks   ago by rameshwarkamandar
  |
  | Design System > Version 8.3 > Elements > Scrollspy >   Dark theme Go Top button is not visible. Bug
  | #789 opened 2 weeks   ago by rameshwarkamandar
  |
  | Design System > Version 8.3 > Elements > Label >   Control > All font weight is not working proper. Bug
  | #787 opened 2 weeks   ago by rameshwarkamandar
  |
  | Design System > Version 8.3 > Scroll bar alignment   issue. Bug
  | #746 opened 3 weeks   ago by rameshwarkamandar
  |

Design System > Version 8.3 > Side navigation bar > font size and font style is not consistent Bug
	[#852 opened last week by RadhikaB123](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3ARadhikaB123)
Design System > Version 8.3 > Components > User delegations/ user permission > Default > Mobile view > Not able to see text on button Bug
[#816 opened last week by RadhikaB123](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3ARadhikaB123)

Design System > Version 8.3 > Components > Top navigation with search > Default > small/large mobile > Not able to see icons of top nav bar Bug
[#815 opened last week by RadhikaB123](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3ARadhikaB123)

Design System > Version 8.3 > Component > Product list > Product list with Inline price > small mobile > Not able to see full image Bug
[#814 opened last week by RadhikaB123](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3ARadhikaB123)

Design System > Version 8.3 > Components > Menus Directories > Default > Small Mobile view > Not able to see action menus Bug
[#811 opened last week by RadhikaB123](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3ARadhikaB123)

Design System > Version 8.3 > Component > Datatable > Action button on Left side > Not able to see the 'Edit' option after hovering over the row below in the table Bug
[#810 opened last week by RadhikaB123](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3ARadhikaB123)

Design System > Version 8.3 >Charts > Polar Area Chart > Change theme and size display error massage. Bug
[#807 opened last week by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)

Design System > Version 8.3 >Charts > Stacked Chart > Small and large mobile view chart is not display proper. Bug
[#806 opened last week by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)

Design System > Version 8.3 > Charts > Boolean Chart > CenterIcon name is not change. Bug
[#804 opened last week by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)

Design System > Version 8.3 > Charts > Area Chart > Show error message. Bug
[#802 by rameshwarkamandar was closed last week](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+author%3Arameshwarkamandar)
[ 1](https://github.com/Wai-Technologies/raaghu-react/issues/802)

Design System > Version 8.3 > Elements > Stat > Advanced > Small mobile light & dark theme is not display proper. Bug
[#792 opened 2 weeks ago by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)

Design System > Version 8.3 > Elements > Scrollspy > Dark theme Go Top button is not visible. Bug
[#789 opened 2 weeks ago by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)

Design System > Version 8.3 > Elements > Label > Control > All font weight is not working proper. Bug
[#787 opened 2 weeks ago by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)

Design System > Version 8.3 > Scroll bar alignment issue. Bug
[#746 opened 3 weeks ago by rameshwarkamandar](https://github.com/Wai-Technologies/raaghu-react/issues?q=is%3Aissue+is%3Aopen+author%3Arameshwarkamandar)


Wrong NFT is shown when visiting URL

Bug
If user saves link to their NFT preview and then revisits that URL at a later time, users will see the wrong NFT.
The link contains the ?developerId query param but site doesn't show that NFT when visiting link directly.
Repro
To reproduce, click on any example link below. They all show same NFT (default Developer ID 1).
https://pixel-avatars.developerdao.com/?developerId=123
https://pixel-avatars.developerdao.com/?developerId=456
https://pixel-avatars.developerdao.com/?developerId=999
I had discovered this by adding a link to my own NFT and when I later visited that link, realized the image didn't match the data in https://raw.githubusercontent.com/Developer-DAO/pixel-avatars/main/web-previewer/data/developers.js.
Workaround
User can see their NFT if they manually select it in the UI.

You can assign this to me, I'll poke at!


[proposal] Improve Emoji resolution when using large sized text

Here you can see a large emoji beside a large text

Observe that the text is crisp while the emoji quite low-resolution and visibly up-scaled.
Confirmed on Windows and Web
Flutter 1.26.0-12.0.pre • channel dev • https://github.com/flutter/flutter.git
Framework • revision a706cd2112 (5 weeks ago) • 2021-01-14 18:20:26 -0500
Engine • revision effb529ece
Tools • Dart 2.12.0 (build 2.12.0-224.0.dev)

Looks like this is standard behavior. This is what large emoji look like in plain HTML:

Having said that if there is indeed a way to make them look nicer, we should definitely try.

Thanks! Ya it effects Windows builds as well, sounds like it is standard Emoji behavior??
Definitely would be nice if something can be done, some sort of manual cache sizing would be nice. So we can turn it up if we're on a more powerful device, or have only a handful of Emojis.

Hi @esDotDev
I faced a similar issue on the iPad, it looked bad. I will label this as a proposal  to improve this

After some research we found that indeed the font contains bitmap emoji, not vector, so this is working as intended. It's not clear what we can do here.
Having said that, you can find the vector versions of emojis here: https://github.com/googlefonts/noto-emoji/tree/master/svg. Perhaps you can use SVG with package:flutter_svg and ParagraphBuilder.addPlaceholder?

Closing as this is working as intended. We have https://github.com/flutter/flutter/issues/76797 to use a different emoji fallback, but the biggest motivator is size. It feels like there's room for a pub package that renders emoji using vector graphics that scale well.


Add ability to specify INFINITE_TIMEOUT

hey @emmanuelsw,
Thanks for the library!
We use it in our project and there are some cases when we want to keep this notification on the screen forever. To do so we specify weird timeouts like 99999999.
Looking through the repo I found this discussion https://github.com/emmanuelsw/notiwind/discussions/12 and I totally agree that -1 makes a lot of sense to use as "infinite timeout" argument.
In this PR I've added INFINITE_TIMEOUT const, updated readme and updated the example page.
I'm not sure if I should commit dist files too, please let me know if I should. Also let me know if you have better idea on how to implement it.
Thanks!

Hey! Thank you for the PR.
I think it's a decent solution so I'll release it in the next version.

Released in 2.0.1!


[general][enhancement] Move JS-native version check to its own module + unit tests + prefix Obj-C macro w/RCT

The version check that ensures the JS and native versions match is now in its own module for two reasons: it is easier to test and it allows react-native-windows to override just this module to implement its own version check (ex: more advanced checks for RNW-specific code).
Added unit tests for the version checking to specify its behavior more clearly, including parity between dev and prod to avoid prod-only behavior and mitigate SEVs.
Prefixed the Obj-C #define with RCT_ to conform with other RN globals.

Test Plan: Ran yarn jest to run all tests. Compiled iOS app and launched it, which runs the version check.

@facebook-github-bot shipit


Request for support on cx_Oracle, pyodbc, and pymysql modules

Hi MODIN team, good day. This is to request for a patch/support on cx_Oracle, pyodbc, and pymysql modules. As I have been using modin recently, I always receive a warning prompt in my python console
UserWarning: To use parallel implementation of 'read_sql', pass the sqlalchemyconnection string instead of <class 'cx_Oracle.Connection'>
many thanks!

Hi Modin team! Just wanted to emphasis that, it would be really good add.
Thank you so much!

@mvashishtha Do we support these through the ModinConnection interfaces?

@ra928 @megurikun08 Modin should now support the following without that warning:

pymysql with a sqlalchemy connection string like this
pyodbc with a sqlalchemy connection string like these
cx_oracle with a sqlalchemy connection string built as here

You should be able to use Modin by passing the connection string directly to read_sql as you would in pandas, e.g.:
import modin.pandas as pd
pd.read_sql("SELECT * FROM my_table;", con="mssql+pyodbc://user:password@server/database")

If you prefer to create a sqlalchemy connection with the sqlalchemy create_engine method, you can use ModinDatabaseConnection to forward any arguments you want to create_engine.


sap.tnt.NavigationList issues on IE11 and iPhone and iPads and Safari on Macs

OpenUI5 version: from 1.34.x to 1.42.x
Browser/version (+device/version): iPad, iPhone, IE11
Any other tested browsers/devices(OK/FAIL):
IE11 on PC Windows 10: FAIL
Safari on MacOS: FAIL
Chrome/Safari on iPhone: FAIL
Chrome/Safari on iPad: FAIL
Chrome/Firefox/Edge on PC Windows 7/8/10 OK
Chrome/Firefox on MacOS OK
Chrome/Firefox on Android 5.x/6.x  OK
URL Examples: https://jsbin.com/libutabano/edit?html,output
http://www.mambu.it/openui5/test.html
Steps to reproduce the problem:

Create an application with a sap.ui.unified.Shell
Insert into the paneContent a sap.tnt.SideNavigation object
Insert a sap.tnt.NavigationList in the sap.tnt.SideNavigation object

What is the expected result?
I expected to see the items in the menu on the left side of the page... like I see it on PC/Mac with Chrome.
What happens instead?
On IE11 and iPhones and iPads and with Safari on MacOS I can see the menu Button and the sap.tnt.SideNavigation is showned... but I cannot see the items!
What I see on PC with Chrome (OK)

What I see on PC with IE11 (FAIL)

What I see on Android (OK)

What I see on iPhone7 (FAIL)

Hi,
In order for the SideNavigation to stretch properly, its parent layout control should only be the sap.tnt.ToolPage.
You can check the about section of the SideNavigation:
https://sapui5.hana.ondemand.com/explored.html#/entity/sap.tnt.SideNavigation/about
Best,
Teo


Tree：[without-children]  In the check box state, the child node state of the current node is not associated with it

Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English | Español | Français).
[x] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

如果是修复一个 bug，请提供一个可复现的链接

如果是修复一个 bug，请提供一个可复现的链接

不是修复bug 是增加一个props

@Holybasil 你新增的 api 和 check-strictly 有什么区别？

check-strictly

without-children

check-strictly 表示当前节点和其父节点子节点都无关
without-children 表示当前节点仍与其父节点有关 而摒弃子节点（某些情况需要）


ViewSettingsDialog: Could not set selected sort item. Item is not found: 'undefined'

SAPUI5 Version: 1.34.2
Browsers: all
Defect: Confusing error messages when no "initial" (=previous) states for sort/filter/group were set and the dialog gets closed
The ViewSettingsDialog logs the following messages, i.e. when the cancel button of the dialog is pressed:

Could not set selected sort item. Item is not found: 'undefined' -
Could not set selected group item. Item is not found: 'undefined' -
Could not set selected preset filter item. Item is not found: 'undefined' -

Best reproducible via: https://openui5beta.hana.ondemand.com/explored.html#/sample/sap.m.sample.ViewSettingsDialogCustom/preview
Just press the button to open the dialog, then press the cancel button and check your console.
In previous versions of UI5, i.e. 1.30.9, this error was not logged, try it out yourself at https://openui5beta.hana.ondemand.com/1.30.9/explored.html#/sample/sap.m.sample.ViewSettingsDialogCustom/preview
The issue is related to https://github.com/SAP/openui5/blob/master/src/sap.m/src/sap/m/ViewSettingsDialog.js#L2201-L2206 where the dialog gets reseted to the previous states. There the following functions are called:
that.setSelectedSortItem(that._oPreviousState.sortItem);
//...
that.setSelectedGroupItem(that._oPreviousState.groupItem);
//...
that.setSelectedPresetFilterItem(that._oPreviousState.presetFilterItem);

Inside these functions you find the same if-else statements that log the error:
//change selected item only if it is found among the group items
if (validateViewSettingsItem(oItem)) {    //nzamani: always false if there was no "initial" selection
    //...
} else {
    jQuery.sap.log.error("Could not set selected <...> item. Item is not found: '" + oItem + "'");
}

This issue does not affect the behavior of the control itself, everything will still work just fine. However, the error message is just confusing and cases developers to waste time by searching for bugs.

Hello Nabi,
thanks for reporting another issue and a happy 2016 for you.
I contacted the colleagues and let them know about this issue, they will get back to you soon.
Internally tracked as #1670061184
All the best,
Michael

Hello,
Thanks again for taking an action.
We fixed this in master, 1.36.2, 1.34.4, 1.32.12.
Here is the commit:
https://github.com/SAP/openui5/commit/2d8b71b14e94108353f700d5697775e3d36da7bc
Regards,
Alex


[DO NOT MERGE] testing appveyor

DO NOT MERGE THIS PLEASE

@basvodde hmm, looks like appveyor is currently broken on master?
https://ci.appveyor.com/project/basvodde/cpputest/build/3.7.0-ci447/job/clbpqiqqnqyedph2

Looks like a new version of appveyor has changed some of git's path.  There's a script the removes the git directories so the bundled version of msys doesn't get in the way, guess it needs to be updated to include C:\Program Files\Git\usr\bin in the list of entries to remove.

Thanks @Andne, seems like that works, prepping a PR now.


Add option to hide command with sensitive data

Add hide_log_command option to hide sensitive data
This can be used as:
run_command(shlex.split(f"oc login -u kubeadmin -p {secret}"), hide_log_command=True)
2023-10-10T19:52:19.454253 ocp_utilities.utils INFO Running Hide By User command
2023-10-10T19:52:23.814798 ocp_utilities.utils ERROR Failed to run ['Hide', 'By', 'User']. rc: 1, out: , error: Error from server (InternalError): Internal error occurred: unexpected response: 500
Out[5]:
(False,
 '',
 'Error from server (InternalError): Internal error occurred: unexpected response: 500\n')

/verified

/verified


chore: adds snapshot flag to helm chart

Purpose

How does the solution address the problem

Changes made

prnet cleaned-up successfully


coverage 4.0.1, fixes #94

No worries about the EE Jenkins failed tests. Filed #96
Thanks @peterbe r+


Implement RetryConfig for pubsub_fn.on_message_published decorator

It looks plain retry boolean is supported, but not RetryConfig in order to specify backoff and max attempts.
Thanks.

Hello @jacobg. Thanks for raising this feature. Looks like a valid one


[Cata Classic] Magic Broom option not working

Environment

Addon version: v4.4.25
WoW version: 4.4.0

Steps to reproduce
Settings > Main >
[v] Use [Magic Broom]

Expected Behaviour
Mount the Magic Broom by default when you have the item

Actual Behaviour
*Nothing*

Debug Output
No Lua errors, this is a logic bug.

Screenshots

The problem here is in the macroFrame:getMacro() function.
self.magicBroom when all the short-circuit logic passes ends up being an itemName "Magic Broom".
But further down the
if self.magicBroom then conditional tries to use it as an array,
self.magicBroom.itemID and self.magicBroom.mountID do not exist.
macro = self:getDefMacro()
if self.magicBroom then
	if self.broomID then
		macro = self:addLine(macro, "/use item:"..self.broomID) -- USE ITEM BROOM
	elseif self.broomMountID then
		local name = C_MountJournal.GetMountInfoByID(self.broomMountID)
		macro = self:addLine(macro, "/use "..name) -- USE MOUNT BROOM
	end
	self.lastUseTime = GetTime()
else
        --<snipped>

or similar would work

Thx you, fixed :)


Update Python doc w.r.t. Windows availability

Guess who forgot an important detail? This person.

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Add new designs

Reworked versions of CDCs from a withdrawn pull request.  These versions use the contra_directional_coupler p-cell with s-bends and are DRC clean.

@newmansc2
I am setting things up to automate the merging of edge coupled designs.  This would be useful to test the broadband performance of the CDCs, if you are interested.  Cells in the updated PDK & Tools.


PR #203 breaks the archives view

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar reports on existing issues (including closed ones).
[x] I found the bug on the latest code of master branch.

Describe the bug

Commit ccd51f0bdfb48ae3d075ddda7ca7c9adcedb2aab (my merged PR #203 :sob:) breaks the Archives view:

years except for the first one (in reverse-chronological order) have an unnecessary indent to the right
every entry in the archive is indented to the right by the same amount

To Reproduce
Steps to reproduce the behavior:

Update up to faulty commit ccd51f0bdfb48ae3d075ddda7ca7c9adcedb2aab
serve locally
Click on the Archives tab

Expected behavior

The Archives view should be unaffected.
Screenshots

Here is how the archives look now:

Software

Ruby version:  ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
Gem version:  3.1.4
Bundler version:  2.1.4
Jekyll version:  4.1.1

Desktop

Smartphone

Additional context

😂 Thanks for the report, it should be OK now

Yes, perfect! :+1: Thanks and sorry for the botched commit...

Never mind, that's because I haven't fully tested other pages


Add C++ Solution for Problem Of The Day | 23 January 2023

Comment below if you're interested in working on this issue and would like to be assigned to it.

Shall I work on this issue?


Implement backend testing libraries

Same thing as #9 but for the backend

https://jestjs.io/ We are using this for backend testing.
We don't actually have anything we actually want to test in the backend, so just to be explicit, completion conditions are basically:

Installing the library
Setting up a test for below endpoint, so checking response value + code. It's not something we actually want to test, but good as sanity check that lib is installed

Updated steps:

Installing jest
Add a script to tces/package.json called "test" that runs tests in the server.
You make a test where you send a fetch request to the /api endpoint, and then verify that you get the expected response of "Hello from server!" , and the expected status code of 200.


Global model does not finish updating when running MNIST example

@hassan-digicatapult @digigarlab @jc-digicatapult @nathandigicatapult
Description
Global model does not stop updating when running MNIST FedAvg example.
Steps to Reproduce

run "mnist_fed_avg_server.py"
run "mnist_fed_avg_worker.py" 3 times, once for each of the 3 workers

Expected behaviour:
Global model should be updated and its change be notified to each worker
Actual behaviour:
Nothing happens, process is stuck at "Updating the global model."
Reproduces how often:
100%
System:
I am running wsl ubuntu 20.04 and it appears that this might be the reason why it is so slow particulart at the line "agg_val = state_dicts[0][key] * update_sizes[0]" in fed_avg_server.py for torch.size([128, 9216]) * 640

The line you mention should not cause a problem - it's just multiplying a fairly small tensor with an integer.  I just ran it on a fresh install and it ran as expected on a mac.

I will run on a Ubuntu machine to confirm.
In the meantime, can you please

confirm you are are running on the main branch with no modifications
post a pip freeze of your venv
post the commands you ran for the above run
run top to see if the CPU is running at 100%
confirm how powerful your system is

Can you also try printing out the parameters to agg_param (key, state_dicts, update_sizes) in the first line of agg_params when key = fc1.weight` (that is the shape that you mention) - would be useful to see what's actually getting passed to it.

Thanks for your quick reply.

I was running on the main branch for the screenshot above but has since forked to add logger.info() to allow for easier debugging. That was how I discovered that the model was stuck at that particular line (see attached complete printout to terminal, including the requested information)

Terminal output from server.txt

See below for pip freeze
See below for top output
Intel(R) Core(TM) i5-7300HQ 2.5GHz with 16GB RAM

Thanks for your terminal output.
I noticed you are using python 3.8 - the library and its dependencies in requirements.txt has so far been tested only with 3.7. It appears that there may be compatibility issue with python 3.8 and torch 1.4.0 and torchvision 0.5.0 (which are the pinned versions in dc-federated):
https://stackoverflow.com/questions/60137572/issues-installing-pytorch-1-4-no-matching-distribution-found-for-torch-1-4
Can you try recreating the virtual environment with python 3.7?
Or alternatively you might try installing the torch versions compatible with python 3.8 (in the above link) in the venv - however, I can't guarantee that would work.

Thanks for the spot. I have now used python 3.7. The issue was related to pip not using shims correctly as per the issue in the link below. That is now fixed.
https://github.com/pyenv/pyenv/issues/1342
However, the issue persist and I am still unable to get pass "Updating the global model".
An updated terminal output is attached.
Thank you so much for your help.
New terminal output.txt

I can now reproduce the error on Ubuntu 20.04. My current assessment is that the error is being caused by an incompatibility between the gevent library (used to support multiple requests in parallel) and pytorch's multiprocessing capability on Ubuntu. I am looking into potential work-arounds.

Thanks for your help. Hope to hear from you soon. In the meantime, is there an alternative OS that you would recommend in the meantime to get this up and running?

It should works as is on Mac/OSX.

@cchanzl Ok so I have found a workaround - I will create a branch and post the update soon. I have also created a minimal example showing where the problem comes from (and the work-around) and created bug reports in both pytorch issues and gunicorn issues. Hopefully, we will be able to get to the bottom of this. This is a really weird problem.
https://github.com/pytorch/pytorch/issues/61660
https://github.com/benoitc/gunicorn/issues/2608

Hi @hassan-digicatapult , thanks for the support.
I look forward to the workaround and to implement dc-federated's framework soon.

@cchanzl I have pushed the fix in this branch
I've tested this on my local Ubuntu 18.04 and AWS EC2 18.04 machines and works in both - it will be interesting to see if this works for you in 20.04.

The changes are minimal - however I would like to understand the issue better before I make a PR into develop. The discussion is ongoing in the pytorch issue I linked to above

Thanks @hassan-digicatapult I confirm that the MNIST test example works on my end based on the branch you created

Great @cchanzl ! I'll keep this issue open for now to see if we can resolve the underlying issue in a more satisfying manner in the pytorch issues.


Segmentation fault in latest DIC with DOS game CD-ROM

Version
Fedora 38 Kernel 6.6.4-100.fc38.x86_64
20211101T132455
Describe the bug
In redumper build_297 and DIC 20211101T132455 dump is possible.
There is also an error count difference between latest redumper and old DIC, but same hash.
$ sudo ./DiscImageCreator.out cd /dev/sr2 dumps/pc_rt_dic-latest/dump 0 /c2
AppVersion
        64 bit, AnsiBuild, 20231201T225251
/c2 val1 was omitted. set [4000]
/c2 val2 was omitted. set [0]
/c2 val3 was omitted. set [0]
/c2 val4 was omitted. set [0]
valid extension was omitted. -> set .bin
/media/Daten/redump/dumps/pc_rt_dic-latest/ doesn't exist, so create.
CurrentDirectory
        /media/Daten/redump
WorkingPath
         Argument: dumps/pc_rt_dic-latest/dump.bin
         FullPath: /media/Daten/redump/dumps/pc_rt_dic-latest/dump.bin
            Drive: /
        Directory: media/Daten/redump/dumps/pc_rt_dic-latest/
         Filename: dump
        Extension: .bin
StartTime: 2023-12-12T15:44:52+0100
          Block Size: 4096
       Flagment Size: 4096
       All Block Num:<PHONE_NUMBER>
      Free Block Num: 348102623
 Available Block Num: 346938079
          I Node Num: 0
     Free I Node Num: 0
Available I Node Num: 0
      File System ID:<PHONE_NUMBER>4729673982
          Mount Flag: 4096
 Max Filename Length: 255
DiskSize of [/media/Daten/redump/dumps/pc_rt_dic-latest]
        Total:<PHONE_NUMBER>5488 bytes
         Used:<PHONE_NUMBER>1680 bytes
        ---------------------------
        Space:<PHONE_NUMBER>808 bytes
         => There is enough disk space for dumping
[INFO] c2 offset is set 295. Changed to /s 2.
This drive (DVDR   PX-760A   1.07 08/18/07  15:10     ) supports [OpCode: 0xd8, SubCode: 0]
This drive (DVDR   PX-760A   1.07 08/18/07  15:10     ) supports [OpCode: 0xd8, SubCode: 1]
This drive (DVDR   PX-760A   1.07 08/18/07  15:10     ) supports [OpCode: 0xd8, SubCode: 2]
This drive (DVDR   PX-760A   1.07 08/18/07  15:10     ) supports [OpCode: 0xd8, SubCode: 8]
Checking SubQ adr (Track)  6/ 6
Creating (Track AA).bin & .sub (LBA)    67403/   67403
Searching last non-zero byte (size)      0/234192
        There is not non-zero byte in the (Track AA)
Creating (Track 0).scm & .sub, (Track 1)(-LBA).scm Segmentation fault435/  -10000

Disc title: ran trainer CD-ROM
Disc ringcode
Mastering Code: BOD[tab]SST 99901
Log file
DIC 20231201: (https://github.com/saramibreak/DiscImageCreator/releases/tag/20231201)pc_rt_dic-latest.zip
DIC 20211101T132455: pc_rt_dic.zip
redumper 297 pc_rt.zip

Try this test build, please.
https://github.com/saramibreak/DiscImageCreator/issues/247#issuecomment-1837312726

It works now!


Hi!!! your book is a great resource, but just two questions...

In the authService the  { cache: true } expedient is ok for performance but if I logout and then I log in with a new user the link on the nav bar remains with the name of the previous logged user. Refreshing the page solves the issue.
In the mainCtrl (code below) the vm.user obj is only available inside the promise but outside is undefined. Is there a way to make it available to the other functions of the controller?
	// get user information on page load
		Auth.getUser()
			.then(function(data) {
				vm.user = data.data;
                console.log("inside: ", vm.user); // obj...
			});
        console.log("outside: ", vm.user);      // undefined
	});
```
Bye for now, ciao

Binding it to vm directly binds it to the controller outside of the scope of the promise as long as you have vm = this; in the beginning of your controller. Is this not the behavior you are seeing?
Try console.logging just console.log(vm.user);

I have vm = thisat the very beginning but my problem was that being a promise the data was available after a certain amount of time and the other binds were flickering (interpolation problem) till that time. I solved by using the resolve property of the route, so data is already there when the view is open.
Ciao e grazie!!


docs: Update roadmap and maintainers

Please provide the issue number

Issue number: #290
Summary
Update roadmap and maintainers documentation
Changes
Update roadmap links and add additional wording
Add Henrique to maintainers
Checklist
Please leave checklist items unchecked if they do not apply to your change.

[x] Meets tenets criteria
[ ] I have performed a self-review of this change
[ ] Changes have been tested
[ ] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Codecov Report
Patch coverage has no change and project coverage change: -0.12 :warning:

Comparison is base (dba5e90) 69.09% compared to head (c44a6a0) 68.97%.

:exclamation: Current head c44a6a0 differs from pull request most recent head 4594992. Consider uploading reports for the commit 4594992 to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #291      +/-   ##
===========================================
- Coverage    69.09%   68.97%   -0.12%
===========================================
  Files           79       79
  Lines         3433     3433
===========================================
- Hits          2372     2368       -4
- Misses        1061     1065       +4

Flag
Coverage Δ

unittests
68.97% <ø> (-0.12%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Bootstrap4 broke login box

Apparently we should be using the .input-group-text class for these addons now...


fix(#406): ensure hideExpression to return boolean value.

What kind of change does this PR introduce? Bug fix

This change is

Codecov Report

Merging #410 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #410   +/-   ##
=======================================
  Coverage   92.47%   92.47%
=======================================
  Files          15       15
  Lines         757      757
  Branches      197      197
=======================================
  Hits          700      700
  Misses         57       57

Impacted Files
Coverage Δ

src/core/components/formly.field.ts
86.02% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add additional info to FW_LND_USETER

Additional information is from the landing docs: https://docs.px4.io/en/flying/fixed_wing_landing.html#FW_LND_USETER

Checks now pass. Can you please merge this?


usageMetadata not present on generateContentStream response

Description of the bug:
When using generateContentStream, the provided response promise contains generated text, but not usageMetadata
Actual vs expected behavior:
Response promise must contains usageMetadata
Any other information you'd like to share?
It worked when using generateContent (without streaming)

I fixed it locally, currently creating a clean merge request 😊


OTP list empty on Android O

General information

App version: 0.2.5
App source: F-Droid
Android Version: Android O 8.0

Expected result
OTP list remains empty after restoring the app from a TitaniumBackup or restoring a previous backup using the built-in backup feature. When restoring a JSON backup, app states that import has been successfull. Tried to clear cache as well but that didn't help.

@alphazo  Could you upload a logcat? This could be the same error as #16

I'm gonna set up an Android O virtual phone tomorrow and check it out myself.

More progress (Nexus5X).

TitaniumBackup Restore (App+Data) :  Empty list
TitaniumBackup Restore (App+Data) + andOTP JSON restore :  Empty list
All the above then data erase + andOTP JSON restore : list is back ;)
andOTP uninstalled then re-installed + TitaniumBakup restore (data only): Empty list
andOTP uninstalled then re-installed + andOTP JSON restore : list is back ;)

There is a crypto related exception in the logcat: logcat_and_device_info.zip
PS: andOTP is not the only app I had issue with. Waze for expample kept FC until I fully erased app data.

Yes, this is to be expected. See the "Backups" section of the README on GitHub.
Titanium Backup only saves the encrypted data files, but to decrypt them a key is needed which is stored in the Android KeyStore. This key can not be backed up, so you can only use the internal backup function and not Titanium.
I think I read somewhere that Waze also uses the KeyStore, so it's probably the same problem there.
Sent from my Google Nexus 5X using FastHub

Good to hear there is an explanation. At least I had a recent in-application backup handy ;)

After looking at your logcat I'm 99% sure that is exactly whats happening.
I will close this report, just open a new one if there is something else strange happening on Android O.


Fix Detox build on android

Fixes detox issue when building the app on android: wix/Detox#2712

Thank you.

Thank you for your work!

@alpha0010 , is it possible to release a new version? So that I add back this lib rather than a custom branch?

Was waiting on the iOS counterpart of #16, but it is not blocking.  Released.