Expose device index to user for AudioRecorder class

MediaPipe Solution (you are using)
AudioRecord
Programming language
Python
Are you willing to contribute it
Yes
Describe the feature and the current behaviour/state
Currently only the default microphone is selected. I wish to specify the device index myself.
Will this change the current API? How?
Yes. It will extend the AudioRecord Class API.
Who will benefit with this feature?
People with multiple microphones or wrong default microphone.
Please specify the use cases for this feature
Assign specific microphone to specific AI.
Any Other info
This line here needs to change: https://github.com/google/mediapipe/blob/5f16f6724685c15d7cdc66c1e4d12f31932dfb45/mediapipe/tasks/python/audio/core/audio_record.py#L77

Hello @hakan-demirli
Thanks for raising this API extension request. We shall forward the request to concerned development team and prioritize it internally.


Priotiy classes

What this PR does / why we need it:
PR introduce option to specify priorityClass for VMI. This allow virt-launcher pod to be scheduled in priority and kubelet also takes this into account(for example out-of-resource eviction) .
Proposal:
Kubevirt can include priorityClasses (included in examples) in installation process and add defaulting of VM/VMI according to evicationStrategy(non/preemptive).
Reasoning behind this is that VMs are still taking as pet and this feature can improve scheduling/running vm on top of kubernetes.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #3089
Special notes for your reviewer:
Release note:
It is now possible to use priorityClass for VMI.

/cc @vladikr

/retest

/retest


Not working on Nexus 5

First of all, thanks a ton for this great project.
For some reason the dialog animation is not working on Nexus 5, running OS 6.01. Any idea?

Hi, @rex12 Sorry for late response. Please, check out proguard config. It may cut some resources.

-keep class dmax.dialog.** {
    *;
}


Performance: Suboptimal repeat element lifecycle

Example (with @bindable)
Example (with <compose>)

Open either of the examples
Open Developer Tools console to see when elements bind/unbind.
Click the checkbox to filter the object with the value '8'.

What happens is that when one toggles the value filter, Aurelia doesn't diff between the unfiltered and filtered elements, but removes all of them from the view and recreates all of them again, each time. In the developer console you can see that upon enabling, each of the Components is unbound and bound again, only this time without the filtered value 8. The same thing happens when you toggle it back. This leads to very bad performance when there are more elements - try changing the number of elements from 10 to 1000 in the for loop of app. With 1000 elements my MBP takes at least 1-2 seconds to mutate the DOM, while all that should've happened is the removal or addition of a single Component - something that should be instantaneous.
The workaround is to never change the underlying array/map references, and in turn not to use value-converters for repeaters (instead - always mutate the original instance that the View binds to). But then ValueConverters, one of the highlight features of Aurelia, loose a lot of their appeal. A task like filtering an array is pretty common in any app, even the simplest one such as the TodoMVC. It would be great if Aurelia tackled this problem systemically, because manually mutating an array for use-cases such as filtration requires a lot of manual hackery (keeping another "reference array" and manually multi-splicing the "filtered array" for each filtration/de-filtration action - huge pain in the butt!).
Sometimes it is also easier for the developer to simply provide a fresh array/map instead of mutating the old one; this is especially true when using immutable programming styles or observables. It would be great if Aurelia could simply figure out which elements got removed and which got added, without the need for the developer to reimplement this for every array.
Personally, this is a deal-breaker for me, since competitor frameworks do not have this issue - React, Cycle.js and any VirtualDom implementation such as snabbdom will always diff the values in order to optimally mutate the DOM - what matters are the individual components, not the iterable structure that holds them together.

@martingust @jdanyow Can we look into doing some more improvements in this area?
@niieani On this note, if you have a long list, you should really be using the ui-virtualization library so that you don't even make the browser render things that aren't' visible. Just install the plugin and switch your repeat to a virtual-repeat.

@EisenbergEffect I am aware of the ui-virtualization plugin. However, if the template rendered by the repeater is really complex (or nests many components), the performance problem will appear even if the list is only 10 items long, simply because of the tear-down and set-up of everything inside the repeat template involved (bindings, unbindings, composition, view-creation, etc, etc.).
Whenever the instance of the observed Array/Map/Set changes, instead of resetting all of the rendered elements, as Aurelia currently does, I believe the solution would be to:

diff the old instance and the new instance, finding which elements were added, which removed and the shift of their positions
commit those changes, by:

unbinding/destroying the removed elements and removing them from the DOM
moving the pre-existent elements around in the DOM to match the new order (if different)
creating/binding new elements, and adding them to the DOM to the correct place

I thought we were already doing this but maybe there's a bug or some
conflict with valued converters.
On Apr 17, 2016 1:26 PM, "Bazyli Brzóska"<EMAIL_ADDRESS>wrote:

@EisenbergEffect https://github.com/EisenbergEffect I am aware of the
ui-virtualization plugin. However, if the template rendered by the repeater
is really complex (or nests many components), the performance problem will
appear even if the list is only 10 items long, simply because of the
tear-down and set-up of everything inside the repeat template involved
(bindings, unbindings, composition, view-creation, etc, etc.).
Whenever the instance of the observed Array/Map/Set changes, instead of
resetting all of the rendered elements, as Aurelia currently does, I
believe the solution would be to:

diff the old instance and the new instance, finding which elements
were added, which removed and the shift of their positions
commit those changes, by:

unbinding/destroying the removed elements and removing them from
the DOM
moving the pre-existent elements around in the DOM to match the
new order (if different)
creating/binding new elements, and adding them to the DOM to the
correct place

—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/aurelia/templating-resources/issues/213#issuecomment-211066283

@EisenbergEffect Well it might be a bug, but it's definitely not a conflict with value converters, because the same problem is present when we manually change the instance of the Array/Map/Set from the ViewModel.
Example (swapping arrays in the ViewModel)

@niieani We are analyzing the iterated view here, if it doesn't require lifecycle the optimizations you suggested are happening here, if the view (i.e the compose element) do require full lifecycle all views will be removed. You can optimise this process by implemating view chaching by simply adding view-cache="*"- attribute on the  compose element.

I tried adding the view-cache="*" attribute in the examples, but not seeing it having the desired effect.

@martingust I've tried adding view-cache="*" to all three examples that I've posted to no effect, confirming what @stsje said.
If it should work, it doesn't, so we have probably discovered a bug. In any case, shouldn't this be an opt-out feature instead of opt-in? Having it opt-in sounds like premature optimization to me - and in many cases will have the opposite, de-optimizing effect. If the developer needed the extra bit of performance and willingly never changes the instance underlying the repeater, he could then choose to opt out of the cache. I'd imagine most users will want such basic caching / item diffing by default, without digging deep into the docs (which, by the way, currently don't mention anything about view-cache or how to use it: it would be great to see a blog article about it at some point!).

@niieani @stsje Sorry for misleading about the view-cache, it won't make Aurelia not destroy/create views that require life cycle, but it should speed it up by caching the DOM elements. However I think this is something we should look into to optimize more.

@martingust Oh, that explains it. I've just done some performance tests with and without view-cache setting and there seems to be no difference in performance, even with 1000 or more elements in the repeater. So the view-caching filter does not help with this use-case at all (if so, the differences are in the millisecond range for 1000s of elements).

Based on @niieani's comments they understand that returning a different array instance from a value converter is expensive because it forces Aurelia to re-render the whole repeat.  Aurelia does not do any expensive DOM diffing computations, nor does it have a copy of the array it can compare the new array instance with to determine what the effective changes were.
Aurelia's approach is to intercept array mutation and make the minimal DOM changes necessary to sync up the DOM. This doesn't work well when a new array instance is returned with each evaluation of a value converter.
I agree the value converter approach @niieani is using is the most convenient existing way for developers to implement the toggle filtering on/off scenario.  That said, I doubt there is anything further we can do to support scenarios where the repeat's array instance is replaced.  I don't think we're going to add DOM diffing, there's other frameworks for that, and it tends to be slower and heavier in a lot more use cases.
Maybe what we need to do is make it more natural for developers to express this particular category of  binding expressions:  dynamically filtered repeats...  What if we supported something like this:
<li repeat.for="item of items where item.foo > 6 || bar">

In other words, extend the repeat expression syntax to allow supplying a predicate that would be used to determine whether an item should be rendered. I think this might solve a whole category of issues people have with repeats. With this kind of syntax we can observe the predicate expression and show/hide items when item.foo changes or when bar changes.  This is difficult to do today, which is why a lot of people are using hacks like this.array = this.array.slice(0) to trigger re-rendering of repeats.
Thoughts?

@jdanyow Dang. That would be so cool. I love the expressiveness of it. What would be the level of effort in implementing something like this?
@niieani Thoughts on this?
@jdanyow @martingust Regardless of the above, I do think we should continue to look for potential optimizations in repeat scenarios.

@niieani's Problem could possibly be fixed by chaining filters like <li repeat.for="item of items | standardFilter | repeatDiffFilter>. So you have a filter that does the diffing.
@jdanyow Your idea is interesting indeed, but I would personally need a clear defined rule for when to use which kind of filter. Two kinds of filters could become messy. It will have to be very clear to the developer when to use which, and what the pros and cons are. Would like to see more work on it before commenting if it's a good or bad idea to have filter #1 and filter #2.

Initially I thought @jdanyow's where X syntax was a good idea, but after thinking more about the actual scenarios, I'm now not so optimistic about it.
Here are my reasons:

this forces people to put more logic into the view
sometimes the filtering is really complex - this could mean lines and lines of less-readable, non-lintable code inside of HTML templates that additionally needs to be parsed by Aurelia with each load
we already have ValueConverters, why introduce another concept to learn + non-spec complexity for the parser?

Finally, filtration is only one of the reasons for why one would like to replace the instance of the underlying Array/Map/Set, rather than mutate it. The other huge one is immutability, which is already big, and it's getting bigger in the JS world every day. Just think of possible future integrations with all those new, cool server<->client frameworks that use GraphQL-like data pushing, including Facebook's Relay, Netflix's Falcor, plus soon-to-come Meteor's new Apollo stack or RethinkDB's new Horizon platform.
They all work with immutable data, which means array instances will change whenever the remote object is pushed to the client. I should also mention Observables, now on their way to become standardized in ES2017, are often used to generate immutable Arrays (e.g. as often used in Cycle.js).
Mutating arrays is fine for small, "garage" projects, but if Aurelia wants to compete on the market for medium or large enterprise deployments, I think it should support immutable data in such cases (i.e. Array instance replacement).
I don't think Aurelia needs to do DOM diffing though - that would be too much - since it already has the cool mutation handler, as @jdanyow points out:

Aurelia's approach is to intercept array mutation and make the minimal DOM changes necessary to sync up the DOM

I'd suggest just taking the "interception" idea one step further. Don't only intercept the mutations of the array, but also intercept changes of the instance, compare both instances' values and only then do the mutation accordingly. I don't think it's that complicated actually, and @CasiOo suggested it could even be solved by an additional ValueConverter (repeatDiffFilter) that does the diffing (excellent idea!).
Even so, I think this could be baked into Aurelia's core, because:

if the instance doesn't change, there is no performance impact for the user (the code only runs when the instance does change)
if it does change, the user should be able to benefit from the increased performance without knowing about and adding any extra code/converters

Will the value-converter continue to be a singleton even if you add the @transient() decorator?

So I've tried implementing a repeatDiff value converter, however I've stumbled onto a bug in Aurelia #214. Once that is resolved, this proof-of-concept DiffValueConverter should work to optimize for changing array instances.
@stsje Didn't know about the @transient() decorator, which Aurelia package is it available in for import?

Import it from aurelia-framework and add it to your class `import {transient} from 'aurelia-framework';
Seems weird that the value-converter changes to the array aren't picked up by Aurelia. Probably because it's the same instance returned. That was not what I expected to happen.

@stsje Indeed, hence #214.
I was just thinking about implications of using such a "caching and diffing" ValueConverter. Would such a @transient ValueConverter instance be recreated in this case we signal the binding? Like this:
repeat.for="element of elements | transientConverter & signal: 'some-signal'"

If yes, then even a DiffValueConverter don't help us solve the issue entirely, because it'll be recreated every time the binding is signaled, resulting in a new array being created and Aurelia removing and re-adding all the elements again, which is what we're trying to avoid.

Another downside to using such an "instance diffing" ValueConverter is that not all optimizations can be made in it. The ValueConverter can only optimize for elements added and removed, but not for elements moving around in the Array. Having this baked into Aurelia could mean that Aurelia could simply shift the DOM elements around in case of element reordering, e.g. when the difference between two arrays is that the new one is sorted.
Imagine having a table/datagrid, filterable and sortable by multiple fields (e.g. Excel's autofilter) - right now when we replace the array with its sorted version, Aurelia has to unbind and remove all the elements from the DOM, create and bind them and them re-add them to the DOM again. If it did array-element diffing, it could just re-position the already existing DOM elements intelligently, giving huge performance benefits for such sortable/filterable data-grids.
If the ui-virtualization plugin suffers from the same problem (is there a way to include it in the gist.run to test?), it could also benefit if such a feature were present in the binding system.

@niieani - good feedback, thank you.  I have some feedback/questions on your comments.  I think generally we're moving in the right direction.  If you have a few minutes could you respond to my comments below?  Much appreciated!

I'd suggest just taking the "interception" idea one step further. Don't only intercept the mutations of the array, but also intercept changes of the instance, compare both instances' values and only then do the mutation accordingly.

This would only work for the this.array = this.array.slice(0) hack people are using to force value converter re-evaluation right?  If it were a truly immutable data model or a fresh set of data from the server, the array instance would be different from the original instance, as would the objects that are the content of the array.  For truly immutable data scenarios we'd need a DOM diff wouldn't we?  If we agree on that then I think the next question would be how would a DOM diff work with custom elements that are stateful?  For example if you had <foo bar.bind="item.obj"></foo> in a repeat template?
Some questions/feedback on your comments related to the where idea:

this forces people to put more logic into the view

Is it really more logic in the view than what the converter approach takes?  Using the gists from the original post as an example, which one of these is better:
<component repeat.for="id of components | without8 : isFiltering.checked"></component>
<component repeat.for="id of components where !isFiltering.checked || id !== 8"></component>

sometimes the filtering is really complex - this could mean lines and lines of less-readable, non-lintable code inside of HTML templates that additionally needs to be parsed by Aurelia with each load

This would be an argument against both the value-converter approach and the where approach right?  If not, can you give an example?

we already have ValueConverters, why introduce another concept to learn + non-spec complexity for the parser?

What do you mean by non-spec?
As for why introduce another concept, in addition to the performance issue you've created here, expressing the filter in the view via the where idea solves an often reported issue where people don't understand why changing a property on an object in array doesn't cause the valueconverter/filter to re-execute. Having the filter expressed via the where allows the binding system to observe the minimal set of props to achieve the right behavior.

@niieani - good feedback, thank you. (..) Much appreciated!

Happy to help! I want this project to succeed as much as you, you're doing great work!

This would only work for the this.array = this.array.slice(0) hack people are using to force value converter re-evaluation right? (...) For truly immutable data scenarios we'd need a DOM diff wouldn't we?

Only if the underlying data actually changes or is pushed again by the server. You can have an immutable list of immutable objects that you're rearranging, mapping to other immutable objects or simply filtering through. In all those cases the underlying elements of the list refer to the same objects in memory and it is only the list's instance that changes. This is the case I was referring to in this issue and I think it solves most use cases for repeaters, however you point out the other case I didn't think about before:

If it were a truly immutable data model or a fresh set of data from the server, the array instance would be different from the original instance, as would the objects that are the content of the array.

That's a very good point @jdanyow.
This will happen specifically if a server resends the same data more than once, effectively swapping the array of objects with a new array of entirely new objects.
However, I still think DOM / VDOM diffing might not be necessary.
Here's a stab at a solution to this particular problem:

have two "modes" that the repeaters could use to match the objects:

default - compare instances of repeater's elements
custom - the user provides a property uniquely identifying the instance of the object inside the array, sort of like a "hashcode" or a unique ID that the Aurelia can use to swap in the bindingContext of the rendered repeat template

In the second case, if the user doesn't provide such unique property, Aurelia could either resolve to today's behavior (reset/recreate all repeater items) or it could deep-diff the elements. There's a library for such purpose and it's only 4.4KB minified. I'd imagine diffing the underlying objects directly performance-wise might be as good as VDOM diffing, if not better.
The code would only be triggered when the instance changes, so for a lot of use cases there would not be any performance implications either way.
Something even more flexible than providing a unique property, could be a comparison function. So the user could write custom logic that the repeater would execute to locate the copy of the object among the previous instance's element.

Is it really more logic in the view than what the converter approach takes?

The examples I provided are really trivial. But how would you convert this filter into the where x syntax? (taken from one of my projects currently in production):
export class FilterSearchValueConverter {
  toView(groups:Array<IGroup>, search:string, decryptedProperty = 'title') {
    if (!groups || groups.length === 0 || !search || search.length < 3) return groups;
    return groups.filter(group => group.decrypted && group.decrypted[decryptedProperty] ? group.decrypted[decryptedProperty].toLocaleLowerCase().search(search.toLocaleLowerCase()) > -1 : false);
  }
}

And what about sorting converters or value converters that are mapping array values? where syntax is only useful for filtration, but does not address a range of other transformations.

What do you mean by non-spec?

As I understand, @EisenbergEffect prefers Aurelia's functionality to be as close to JavaScript and HTML specs as possible and that includes binding language, which is very similar to JavaScript (currently with the exception of | and &). where would have to be another reserved keyword and another concept to learn with Aurelia. Not a big deal for me personally, just wanted to point out that a new concept increases complexity.

expressing the filter in the view via the where idea solves an often reported issue where people don't understand why changing a property on an object in array doesn't cause the valueconverter/filter to re-execute. Having the filter expressed via the where allows the binding system to observe the minimal set of props to achieve the right behavior.

Indeed. However, to address that problem - wouldn't it be easier to just add something akin to the signal binding behavior that recomputes the binding once a value changes? Something like this:
<component repeat.for="element of components | something & recomputeOnChange: element.date"></component>

Hope that helps.

Great conversation here. Keep it coming. Let's see how we can improve this!

Here's an experiment using the DeepDiff library that swaps the arrays using a proxy array to which we apply the results of the diff of the two. The View then binds to that proxy array, making use of the ArrayObserver:
https://gist.run/?id=90555919452fff29a7abe1440a5d5556
The result is that the amount of removed and added elements is relatively minimal (have a look in the console). I believe this is something which could be implemented in Aurelia directly.

@niieani Using that technique, are you seeing the sort of performance you need?
@jdanyow @martingust Definitely we should look into this.

@EisenbergEffect yes, even with 9000 elements in the array the swap is now instantaneous. Have a look yourself: https://gist.run/?id=a986f5c6e3c5202d64b3d49a084981d0

Mutating arrays is fine for small, "garage" projects, but if Aurelia wants to compete on the market for medium or large enterprise deployments, I think it should support immutable data in such cases (i.e. Array instance replacement).

Why not use JSONPatch?
For a large enterprise app written in angular 1.5 this was really needed to avoid creating new object references.
I'm not sure I get the point of having 9000 elements in an array and render them :)?

@stoffeastrom The only point of 9000 elements is a benchmark. No practical application.

@niieani I'm still trying to understand why you would want the server to resend that many items to achieve "immutable". Imho that seems a bit verbose

@stoffeastrom Feel free to read up on the architectures of any of these technologies:

Meteor Apollo stack
RethinkDB Horizon platform
Facebook GraphQL
Facebook Relay
Netflix Falcor

I think it would be best not to pollute the topic with explanations, but focus on the discussion regarding the best implementation of a solution.
But I'll give you a quintessential example (below) and a brief explanation with a use-case: every object that is represented in the database can be pushed by the server to the client according to the specification of the client. Because objects are "reactive" - i.e. we're listening to any changes made to it, the server can push them at any time to the client. Such changes are pushed as new "immutable" objects. Note that I put immutable in the quotation marks - they really are simple JSON objects that you could modify if you wanted to, and the "immutability" is really only a best practice and not a requirement. However, since we're dealing with such data you'll almost always want to persist your changes in the database, thus you'll want to use your framework's APIs to commit those changes anyway. Hence, it's really not very useful to mutate the objects directly -- enter: "immutability".
It turns out "verbosity", as you call it, is really not a problem either. As you can see there's a huge shift to these sort of technologies in the client<->server arena among all the big players, simply because it's easier to reason about data when you don't have to deal with object mutations too often. And the performance impact is negligible, even on low-end devices such as phones (the reason is that old data without references is quickly garbage-collected anyway, and in some cases mutations can even be slower than freshly created objects!).
You can imagine a chat application, like Gitter, where every message is an object in the database. You could easily get to a few hundred elements in an array in the client (messages) that represents the state of the open chat. If somebody edits a chat message, a new object with the same ID would be pushed to the client - that object should then be replaced/updated by its client's representation to reflect the remote changes.
@jdanyow Since in most of the listed server-client frameworks, the way in which new updates are handled is an implementation detail, I believe simple shallow comparison of repeater's elements would be sufficient for at least 90% of use-cases. It solves: filtering, mapping, sorting, adding/removing individual repeater elements; all of which are useful not only for client<->server synchronization frameworks, but also Observables / RX along with similar technologies, and finally solves array ValueConverters.
The only case I can think of, where deep-comparison of array's elements would be required is if the architecture of the "reactive" object contains its own nested arrays with objects. Even then, it's an anti-pattern to store large arrays inside of objects, so I don't think it would be a problem in too many cases. Can anybody think of any other use-case?
To go back to the example, the only time the server would send out lots of new "immutable" objects is the initial load, and that happens once. After that all the changes are incremental (think of the chat again: added message, removed message, edited message, filtering messages - search). So even if we have to unbind/remove the same object when it's edited version is pushed by the server, creating a new Object reference, it would only be an individual change, so the performance impact of re-rendering would be negligible.
Unless someone presents a valid use-case for deep-object comparison I think we could focus on the simpler, basic implementation as a first step (like in my experimental concept) as a solution to the majority of use cases and then go from there if a need for more complex solutions is presented.

@EisenbergEffect @jdanyow So I've had a go at implementing this. Not so complicated after all.
Two pull requests as I needed to add one simple function to aurelia-templating (moving Views across a ViewSlot):

perf(repeat): intelligently reuse items from previous instance #215
feat(ViewSlot): moving Views across the slot #324

Here's a demo:

https://gist.run/?id=af08bd464f72a809d07639b2d9f88a38

@niieani Awesome! Thanks for working on this. I've cc's @jdanyow and @martingust on those PRs. They are the experts in that area, so they can review and work with you to make any changes needed.

@jdanyow For comparing different instance that are actually to be treated as the same, I think we had something we used for selects on that. Maybe we can use the same thing here?

@niieani Maybe I have missed it, but how are duplicated values being handled?

@stsje See these two tests. In case the new instance contains duplicates, the original View is re-used and additional new views are created for the duplicates. When removing duplicates, the same thing happens in the opposite order (we keep the required amount of duplicate views). This is why when iterating and updating the views with the new items I'm setting 'undefined' on the cache of old items is required - otherwise indexOf would always return the index of the first reference to the item.

Good to see you've given it some thought! :+1:
I imagine it's difficult to make sure duplicate values are being moved the right way (for animation)

@stsje Well, if the value is a duplicate there's no way to tell the intention of the change's author - if he meant it as movement or if he meant it as a new value, because that information simply isn't there (arrays  aren't movement vectors <how cool would that be?!>). But the key question is - if you do have duplicates, does it really matter which duplicate you move to which place? After all, the View generated from the duplicate is going to be identical to the original. I can't think of any case in which it would make sense to distinguish them, and in those that it does make sense, the objects themselves would be copies (and therefore different references), perhaps with a different ID inside of them.


Problems with hydration when ssr multiple bundles

Hello. I use ssr and my server renders two bundles (on /first and /second routes, for example). On /first route everything is fine. But I have next warning in client console on /second route:

secondbundle.js Warning: Prop className did not match. Server: "s1dwm4at-0-sc-exAgwC ghNmJf" Client: "s1dwm4at-0-sc-lhVmIH czisHZ"

That problem appears because of same components having different numbers in identifiers hash on client and server:
https://github.com/styled-components/styled-components/blob/f20d26465375aa3a2312ddb5e2d29159fd7a059e/src/models/StyledComponent.js#L26-L27
How it works:
I open /first route, server renders it and assigns increasing identifiers to all components in firstbundle.js.
https://github.com/styled-components/styled-components/blob/f20d26465375aa3a2312ddb5e2d29159fd7a059e/src/models/StyledComponent.js#L40-L47
When I go on /second route, server renders and continues to increase the identifiers of the components, but it does not start from scratch. All because StyledComponent (with identifiers hash inside) is singleton:
https://github.com/styled-components/styled-components/blob/f20d26465375aa3a2312ddb5e2d29159fd7a059e/src/index.js#L59-L66
My temporary solution: reset require cache before each rendering on server.
	...
	delete require.cache[require.resolve('styled-components')];
	render(currentBundleName)();
	...

It works, but it's a bad solution.
What do you think about it? Perhaps it is necessary to somehow get rid of the singleton.

@PsiXdev are you using the babel plugin with the SSR option set to true?

@probablyup oh sure

@PsiXdev make sure that there’s more information for the plugin:

use a variable instead of export default’ing directly
make filenames / paths descriptive
make sure that folders + name are eventually discriptive

If this then still occurs we might have a problem :)

I think I can create an example that shows the problem

It was not fast, but I figured out more deeply and was able to repeat the problem in clean project. You can see it on https://github.com/PsiXdev/sc-multi-bundles-bug
The problem occurs when using const Component = BaseComponent.extend` ... `;
I think that everything else that I wrote in the first message is true.

@PsiXdev yea, .extend does not generate a deterministic styled component id, which is one of the reasons why it's flagged for deprecation. Have you tried styled(BaseComponent) instead already?

@kitten that solved the problem. At least in my example. In application we use more than hundreds extends and I'm not ready to fix them right now. It's strange that there is nothing in the documentation that the .extend is out of date. Or I just did not notice.

@PsiXdev sorry about that! I haven’t updated the website to reflect this when it came up as an issue.

@PsiXdev yep, I’ll go head and close it :) let us know if there’s anything else
And if you’re interested in helping us update the website that’d be :100:


added stub TG bot

added Springboot skeleton project

PR Details

Description

Related Issue

Motivation and Context

How Has This Been Tested

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

JRBT-1: Added release note and updated version project


Merge panic-abort and panic-log crates into mc-sgx-panic

This moves the previously named mc-sgx-panic crate to
mc-sgx-panic-sys.

Current dependencies on/for this PR:

main

PR #14

PR #13

PR #15

PR #22

PR #24

PR #30

PR #31

PR #32


Update index.d.ts files for storage-legacy and storage-web packages

Summary:
This MR related to issue #349. I've updated index.d.ts files using tsc compiler manually. I did not understand how d.ts files should be generated now, so please suggest me to find the best way to automate generating d.ts files to avoid this problem in the future. Thanks.
Test Plan:
After this change, the bug should diapers.
Please see issue #349, I described how to reproduce the bug.

Hey, been a while.
It seems like there's small issue with formatting - would you have a look?

As I said I generated types file using TS-compiler, not manually.

I get you, but still, this could use some formatting. Can you run eslint through that file?


Vs Code unable to determine  multiple github user and not prompting  to enter credential

VSCode Version:1.42.0 (user setup)
OS Version:
Version	10.0.18362 Build 18362

Steps to Reproduce:

Clone one repo with one github user account , vscode pops up with github UI to enter credentials
try to clone other repo with another user account ,vscode does not  pop up with github UI to enter credentials
Now delete key from windows credential manager and try to clone second one. It works .

Does this issue occur when all extensions are disabled?: Yes/No -- YES

VS Code simply invokes Git. Your git installation seems to use a GitHub credential helper, maybe https://github.com/Microsoft/Git-Credential-Manager-for-Windows or GitHub for Windows...? This issue is related to whatever credential helper you have installed, not VS Code. Please file an issue on the respective project.


Update contactlist_savecontactasync_64942310.md

Added reason for possible Exception thrown

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thank you!


Path filtering code in paper "lao2011kb"

Thanks first for opening source code for such a good work.
I want to use the path filtering strategies in paper Random walk inference and learning in a large scale knowledge base, which in  section 2.3 Data-Driven Path Finding and 2.4 Low-Variance Sampling. Could you provide some instructions to find and use the code implementation of above methods? It's a little hard for me a new beginner to figure out the whole project structure :(
Thanks a lot again!

By default it is low variance sampling
RW_mode=LVParticle
But you can certainly set it to other approaches
	public static enum RandomWalkMode { 		Truncate, //Truncation 		Beem, //Beam 		LVWalker, // Sampling (low variance) 		Walker, // Sampling 		Particle, //particle filtering 		LVParticle, //particle filtering (low variance) 		Exact, //none 	}


Add more hint in error message and write a document about how to resolve errors.

Might be a separate/specific issue, but the circular reference errors can be hard to track down (but good that they're caught)


PlayerData.instance.geo => PlayerData.instance.GetInt("geo")

it is better for mod interoperability, if a mod ever changes the geo playerdata
https://github.com/Korzer420/LoreMaster/blob/dba9cb3da1c5fb8667fc2edd772fda5a7d451611/LoreMaster/CustomItem/TicketCost.cs#L13

There more occasions where I missed using the Get Methods. I'll get through each class again and correct it (if possible)


Issue installing ppx_type_conv on opam with 4.03.0+flambda

Is ppx_type_conv supposed to work on 4.03.0+flambda?
Install ppx_type_conv with opam:
opam install ppx_type_conv

Error message:
cat ppx_type_conv-31471-d2c37b.err
File "setup.ml", line 316, characters 20-36:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 316, characters 42-58:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 325, characters 14-30:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 325, characters 38-54:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 328, characters 25-41:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 366, characters 10-26:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 472, characters 13-29:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
File "setup.ml", line 1823, characters 16-33:
Warning 3: deprecated: String.capitalize
Use String.capitalize_ascii instead.
File "setup.ml", line 1829, characters 16-35:
Warning 3: deprecated: String.uncapitalize
Use String.uncapitalize_ascii instead.
File "setup.ml", line 5847, characters 11-28:
Warning 3: deprecated: String.capitalize
Use String.capitalize_ascii instead.
File "setup.ml", line 5848, characters 11-30:
Warning 3: deprecated: String.uncapitalize
Use String.uncapitalize_ascii instead.
W: Cannot find source file matching module 'ppx_type_conv' in library ppx_type_conv
E: Failure("Command ''/Users/user/.opam/4.03.0+flambda/bin/ocamlbuild' src/ppx_type_conv.cma src/ppx_type_conv.cmxa src/ppx_type_conv.a src/ppx_type_conv.cmxs ppx_deriving_exporter/ppx_type_conv_deriving.cma ppx_deriving_exporter/ppx_type_conv_deriving.cmxa ppx_deriving_exporter/ppx_type_conv_deriving.a ppx_deriving_exporter/ppx_type_conv_deriving.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
make: *** [build] Error 1
 user@haruki-2  ~/.opam/4.03.0+flambda/build/ppx_type_conv.113.33.01+4.03  '/Users/user/.opam/4.03.0+flambda/bin/ocamlbuild' src/ppx_type_conv.cma src/ppx_type_conv.cmxa src/ppx_type_conv.a src/ppx_type_conv.cmxs ppx_deriving_exporter/ppx_type_conv_deriving.cma ppx_deriving_exporter/ppx_type_conv_deriving.cmxa ppx_deriving_exporter/ppx_type_conv_deriving.a ppx_deriving_exporter/ppx_type_conv_deriving.cmxs -use-ocamlfind -tag debug
Finished, 0 targets (0 cached) in 00:00:00.

When run manually:
+ /Users/user/.opam/4.03.0+flambda/bin/ocamlfind ocamlc -c -g -annot -bin-annot -no-alias-deps -thread -I src -package ppx_tools.metaquot -package ppx_driver -package ppx_deriving.api -package ppx_core -predicates ppx_driver -w -40 -I ppx_deriving_exporter -I src -o ppx_deriving_exporter/ppx_type_conv_deriving.cmo ppx_deriving_exporter/ppx_type_conv_deriving.ml
findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /Users/user/.opam/4.03.0+flambda/lib/ocaml/compiler-libs, /Users/user/.opam/4.03.0+flambda/lib/ocaml
File "ppx_deriving_exporter/ppx_type_conv_deriving.ml", line 1, characters 62-74:
Error: Signature mismatch:
       ...
       Values do not match:
         val create :
           string ->
           ?core_type:(Parsetree.core_type -> Parsetree.expression) ->
           ?type_ext_str:(options:(string * Parsetree.expression) list ->
                          path:string list ->
                          Parsetree.type_extension -> Parsetree.structure) ->
           ?type_ext_sig:(options:(string * Parsetree.expression) list ->
                          path:string list ->
                          Parsetree.type_extension -> Parsetree.signature) ->
           ?type_decl_str:(options:(string * Parsetree.expression) list ->
                           path:string list ->
                           Parsetree.type_declaration list ->
                           Parsetree.structure) ->
           ?type_decl_sig:(options:(string * Parsetree.expression) list ->
                           path:string list ->
                           Parsetree.type_declaration list ->
                           Parsetree.signature) ->
           ?module_type_decl_str:(options:(string * Parsetree.expression)
                                          list ->
                                  path:string list ->
                                  Parsetree.module_type_declaration ->
                                  Parsetree.structure) ->
           ?module_type_decl_sig:(options:(string * Parsetree.expression)
                                          list ->
                                  path:string list ->
                                  Parsetree.module_type_declaration ->
                                  Parsetree.signature) ->
           unit -> deriver
       is not included in
         val create :
           string ->
           ?core_type:(Parsetree.core_type -> Parsetree.expression) ->
           ?type_ext_str:(Parsetree.structure, Parsetree.type_extension)
                         Ppx_type_conv.Std.Type_conv.Ppx_deriving_exporter.ppx_deriving_generator ->
           ?type_ext_sig:(Parsetree.signature, Parsetree.type_extension)
                         Ppx_type_conv.Std.Type_conv.Ppx_deriving_exporter.ppx_deriving_generator ->
           ?type_decl_str:(Parsetree.structure,
                           Parsetree.type_declaration list)
                          Ppx_type_conv.Std.Type_conv.Ppx_deriving_exporter.ppx_deriving_generator ->
           ?type_decl_sig:(Parsetree.signature,
                           Parsetree.type_declaration list)
                          Ppx_type_conv.Std.Type_conv.Ppx_deriving_exporter.ppx_deriving_generator ->
           unit -> deriver
Command exited with code 2.
Compilation unsuccessful after building 20 targets (19 cached) in 00:00:00.

opam switch
...
4.02.3          I 4.02.3          Official 4.02.3 release
--             -- 4.03.0          Official 4.03.0 release
4.03.0+flambda  C 4.03.0+flambda  Official 4.03.0 release with flambda activated
system          I system          System compiler (4.03.0)

same here. was installing core on osx.
#=== ERROR while installing ppx_type_conv.113.33.01+4.03 ======================#
opam-version 1.2.2
os           darwin
command      make
path         /Users/aganzha/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03
compiler     4.03.0
exit-code    2
env-file     /Users/aganzha/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-24565-d2c37b.env
stdout-file  /Users/aganzha/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-24565-d2c37b.out
stderr-file  /Users/aganzha/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-24565-d2c37b.err
stdout
Error: Signature mismatch:
[...]
unit -> deriver
Command exited with code 2.
+ ocamlfind ocamlopt unix.cmxa -I /Users/aganzha/.opam/4.03.0/lib/ocamlbuild /Users/aganzha/.opam/4.03.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /Users/aganzha/.opam/4.03.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
File "myocamlbuild.ml", line 518, characters 43-62:
Warning 3: deprecated: Ocamlbuild_plugin.String.uncapitalize
Use String.uncapitalize_ascii instead.
File "myocamlbuild.ml", line 531, characters 51-70:
Warning 3: deprecated: Ocamlbuild_plugin.String.uncapitalize
Use String.uncapitalize_ascii instead.
stderr
[...]
Use String.uncapitalize_ascii instead.
File "setup.ml", line 5847, characters 11-28:
Warning 3: deprecated: String.capitalize
Use String.capitalize_ascii instead.
File "setup.ml", line 5848, characters 11-30:
Warning 3: deprecated: String.uncapitalize
Use String.uncapitalize_ascii instead.
W: Cannot find source file matching module 'ppx_type_conv' in library ppx_type_conv
E: Failure("Command ''/Users/aganzha/.opam/4.03.0/bin/ocamlbuild' src/ppx_type_conv.cma src/ppx_type_conv.cmxa src/ppx_type_conv.a src/ppx_type_conv.cmxs ppx_deriving_exporter/ppx_type_conv_deriving.cma ppx_deriving_exporter/ppx_type_conv_deriving.cmxa ppx_deriving_exporter/ppx_type_conv_deriving.a ppx_deriving_exporter/ppx_type_conv_deriving.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
make: *** [build] Error 1
Mac:~ aganzha$ ls /Users/aganzha/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/src/
META				ppx_type_conv.mldylib		std.ml
ignore_unused_warning.ml	ppx_type_conv.mllib		type_conv.ml
ignore_unused_warning.mli	ppx_type_conv.mlpack		type_conv.mli

Error in ubuntu 14.04
ocaml 4.03
=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of ppx_type_conv failed at "make".
#=== ERROR while installing ppx_type_conv.113.33.01+4.03 ======================#
opam-version 1.2.2
os           linux
command      make
path         /home/ubuntu/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03
compiler     4.03.0
exit-code    2
env-file     /home/ubuntu/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-18012-335865.env
stdout-file  /home/ubuntu/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-18012-335865.out
stderr-file  /home/ubuntu/.opam/4.03.0/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-18012-335865.err
stdout
Error: Signature mismatch:
[...]
unit -> deriver
Command exited with code 2.
+ ocamlfind ocamlopt unix.cmxa -I /home/ubuntu/.opam/4.03.0/lib/ocamlbuild /home/ubuntu/.opam/4.03.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/ubuntu/.opam/4.03.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
File "myocamlbuild.ml", line 518, characters 43-62:
Warning 3: deprecated: Ocamlbuild_plugin.String.uncapitalize
Use String.uncapitalize_ascii instead.
File "myocamlbuild.ml", line 531, characters 51-70:
Warning 3: deprecated: Ocamlbuild_plugin.String.uncapitalize
Use String.uncapitalize_ascii instead.
stderr
[...]
Use String.uncapitalize_ascii instead.
File "setup.ml", line 5847, characters 11-28:
Warning 3: deprecated: String.capitalize
Use String.capitalize_ascii instead.
File "setup.ml", line 5848, characters 11-30:
Warning 3: deprecated: String.uncapitalize
Use String.uncapitalize_ascii instead.
W: Cannot find source file matching module 'ppx_type_conv' in library ppx_type_conv
E: Failure("Command ''/home/ubuntu/.opam/4.03.0/bin/ocamlbuild' src/ppx_type_conv.cma src/ppx_type_conv.cmxa src/ppx_type_conv.a src/ppx_type_conv.cmxs ppx_deriving_exporter/ppx_type_conv_deriving.cma ppx_deriving_exporter/ppx_type_conv_deriving.cmxa ppx_deriving_exporter/ppx_type_conv_deriving.a ppx_deriving_exporter/ppx_type_conv_deriving.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
make: *** [build] Error 1

Same for me, on os x:
~ % opam install ppx_type_conv
The following actions will be performed:
  ∗  install ppx_type_conv 113.33.01+4.03

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  🐫
[ppx_type_conv] Archive in cache

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  🐫
[ERROR] The compilation of ppx_type_conv failed at "make".

#=== ERROR while installing ppx_type_conv.113.33.01+4.03 ======================#
# opam-version 1.2.2
# os           darwin
# command      make
# path         /Users/alin/.opam/system/build/ppx_type_conv.113.33.01+4.03
# compiler     system (4.03.0)
# exit-code    2
# env-file     /Users/alin/.opam/system/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-67492-e7966f.env
# stdout-file  /Users/alin/.opam/system/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-67492-e7966f.out
# stderr-file  /Users/alin/.opam/system/build/ppx_type_conv.113.33.01+4.03/ppx_type_conv-67492-e7966f.err
### stdout ###
# Error: Signature mismatch:
# [...]
#            unit -> deriver
# Command exited with code 2.
# + ocamlfind ocamlopt unix.cmxa -I /Users/alin/.opam/system/lib/ocamlbuild /Users/alin/.opam/system/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /Users/alin/.opam/system/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# File "myocamlbuild.ml", line 518, characters 43-62:
# Warning 3: deprecated: Ocamlbuild_plugin.String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "myocamlbuild.ml", line 531, characters 51-70:
# Warning 3: deprecated: Ocamlbuild_plugin.String.uncapitalize
# Use String.uncapitalize_ascii instead.
### stderr ###
# [...]
# Use String.uncapitalize_ascii instead.
# File "setup.ml", line 5847, characters 11-28:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# File "setup.ml", line 5848, characters 11-30:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# W: Cannot find source file matching module 'ppx_type_conv' in library ppx_type_conv
# E: Failure("Command ''/Users/alin/.opam/system/bin/ocamlbuild' src/ppx_type_conv.cma src/ppx_type_conv.cmxa src/ppx_type_conv.a src/ppx_type_conv.cmxs ppx_deriving_exporter/ppx_type_conv_deriving.cma ppx_deriving_exporter/ppx_type_conv_deriving.cmxa ppx_deriving_exporter/ppx_type_conv_deriving.a ppx_deriving_exporter/ppx_type_conv_deriving.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
# make: *** [build] Error 1

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=  🐫
The following actions failed
  ∗  install ppx_type_conv 113.33.01+4.03
No changes have been performed

Same error messages with 4.03.0  Workaround I used is opam switch 4.02.3 in the shell.
I am not sure if this is an issue for ppx_type_conv or for opam. Should the error message indicate that the package is incompatible with 4.03, instead of failing to build?
available: [ ocaml-version = "4.02.3" ]

opam file line 22

I did that "workaround" as well, although not considering an workaround, but more like a acceptable working env, as I need core which can't build because of this issue.

A new backwards incompatible version of ppx_deriving was released last week. The constraints on ppx_type_conv in the opam repository need to have an upper bound added. In the meantime opam install ppx_deriving.3.3 should fix things.

In fact it has already been fixed in the repository, so an opam update should do the trick.

I'm still having an error while trying to install core:
[ERROR] The compilation of ppx_type_conv failed at "make".
http://pastebin.com/nSGQGHg3

I'm still getting an error while trying to install core:
[ERROR] The compilation of ppx_type_conv failed at "make"
http://pastebin.com/RGDgVF6J

The repository only updated the dependencies on the latest ppx_type_conv. Your probably installing the older version of ppx_type_conv and still installing the backwards incompatible ppx_deriving 4.0.

older version of ppx_type_conv

Can i specify the version of ppx_deriving or ppx_type_conv manually and what version should a specify? Thank you.

Yeah, opam install ppx_deriving.3.3 ppx_type_conv should get you the right version of ppx_deriving and the latest version of ppx_type_conv.

opam install ppx_deriving.3.3 ppx_type_conv
worked, thank you


Docker in docker issues

Is there any suggestion or pointers regarding using alternatives to testcontainers?

You are free to use something different, e.g. the automatically started Keycloak container with the Quarkus dev services (which I disabled with https://github.com/dasniko/quarkus-keycloak/blob/3219203e8c8081b288777bc92f59f4d3ab0bcbba/src/main/resources/application.properties#L3).


Update config.php

Just an FYI; your credentials are publicly visible - not sure if you really meant to make a PR.

jkingsman, this is in response to Rmorning96, right?

Yup.


The labels should be changed in the Expose Your App Publicly section

This is a Bug Report

Problem: The labels in the following commands are wrong -
kubectl get pods -l run=kubernetes-bootcamp
kubectl get services -l run=kubernetes-bootcamp

Proposed Solution:
The labels should be changed and the commands on the page should be -
kubectl get pods -l app=kubernetes-bootcamp
kubectl get services -l app=kubernetes-bootcamp
kubectl label pod $POD_NAME version=v1
kubectl get pods -l version=v1

Similarly, on the Step 3 of the tutorial, the command should change to the following -
kubectl delete service -l app=kubernetes-bootcamp

Page to Update:
https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-interactive/

I am using the latest version of minikube on Windows 10 -
PS C:\> minikube version
minikube version: v1.7.3
commit: 436667c819c324e35d7e839f8116b968a2d0a3ff

On a side note, is it possible to update the minikube version inside katacoda?

Possibly also relevant: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/

@blueelvis, can you explain why you'd like that change to happen? I think I can guess, but it'd be good to be sure.

@sftim - Sorry for not being clear in my original post. With the labels which are mentioned in the tutorial, the command to get the pods with label filtering doesn't work. I tried with the latest image. Instead, they are set as below -

The label which is set is not run but instead app.

/remove-lifecycle stale

kubectl get pods -l run=kubernetes-bootcamp works for me when I try it @blueelvis
Why do you feel that the existing labels aren't right?

/remove-lifecycle rotten

/triage needs-information

Hi @blueelvis,
Why do you feel the labels are incorrect, per @sftim 's earlier question?
If we receive no response we will close this issue.

On a side note, is it possible to update the minikube version inside katacoda?

I think this is the nub of it actually. If you use the latest Kubernetes version locally, these steps are not correct.
/kind bug
/triage accepted
/remove-lifecycle rotten
/language en
/priority important-longterm

This has been fixed. The latest/current version of the tutorial uses app=:

Let’s use this label to query our list of Pods. We’ll use the kubectl get pods command with -l as a parameter, followed by the label values:
kubectl get pods -l app=kubernetes-bootcamp
You can do the same to list the existing services:
kubectl get services -l app=kubernetes-bootcamp

Looks like it was fixed in this commit
/close

@sftim I think this issue can be closed, can you confirm?

/close


prim_clock_gating.sv: Consolidate various in-tree example versions

We currently have multiple versions of prim_clock_gating.sv in our tree, two pure verilog ones, and one Xilinx-specific one. Figure out where to place this IP so that it can be shared.

With #457 , the one generic and the Xilinx-specific implementation got moved to shared/rtl. I suggest we use the same one for DV and remove the copy in dv/uvm/tb.


Preview validation fails because of the needs.need.pipeline: null and needs.need.project: null (actual master, not released yet)

Minimal .gitlab-ci.yml illustrating the issue
With the following YML:
my_job:
  script:
    - echo 'test'

my_job2:
  needs:
  	- my_job
  script:
    - echo 'test'

I have the following --preview rendering:
$ node ../test-gitlab-ci-local/gitlab-ci-local/src/index.js --preview
---
stages:
  - .pre
  - build
  - test
  - deploy
  - .post
my_job:
  script:
    - echo 'test'
my_job2:
  needs:
    - job: my_job
      artifacts: true
      optional: false
      pipeline: null
      project: null
  script:
    - echo 'test'

Which does not pass the ci/lint GitLab API route validation because needs.need.pipeline and needs.need.project can only be a string:
$ jq --null-input --arg yaml "$(node ../test-gitlab-ci-local/gitlab-ci-local/src/index.js --preview)" '.content=$yaml' \
| curl "https://gitlab.com/api/v4/projects/${PROJECT_ID}/ci/lint" \
	--header "Authorization: Bearer ${GITLAB_TOKEN}" \
	--header 'Content-Type: application/json' \
	--data @- | jq '.errors'

[
  "jobs:my_job2:needs:need config contains unknown keys: optional, pipeline",
  "jobs:my_job2:needs:need project should be a string",
  "jobs:my_job2:needs:need project can't be blank",
  "jobs:my_job2:needs:need ref should be a string",
  "jobs:my_job2:needs:need ref can't be blank"
]

Expected behavior
The needs.need.pipeline and needs.need.project should not be rendered if they do not have a (string) value.
I can see in the code it's quite a recent new feature: https://github.com/firecow/gitlab-ci-local/blame/master/src/data-expander.ts#L88. I think a simple verification of the existence of the value can be enough to fix this.
Host information
Ubuntu
gitlab-ci-local master (not released for now)

Hello @firecow yes, the stages can be displayed without breaking anything (as far as I know).


Whylogs not adding data profile to mlflow run

Hi, I was trying to run the notebook from https://github.com/whylabs/whylogs-examples/blob/mainline/python/MLFlow%20Integration%20Example.ipynb but after finishing all the mlflow runs, no profile data is saved on them.
I am running python 3.9.7.

Hi @pimonteiro !
We just updated the notebook with the fix.
The issue was a missing .whylogs.yaml configuration file. Now the example is using .whylogs_mlflow.yaml to create the session:
session = get_or_create_session(".whylogs_mlflow.yaml")
Now the updated notebook should be working. Please, let me know if you run into any other issues with it!

I can confirm it works as expected! Thank you for the help :)
On another note, exploring a bit the knowledge you own on whylogs, is there a way to retrieve all the variable names from the profiles?

I'm glad it's working! :)
Yes, you can access the column names for each profile with .columns. In the mlflow example, that would be, for example:
mlflow_profiles[0].columns
If you want the names for the profiles as a whole, you could also merge all of the profiles and then getting the names, again, with .columns:
from functools import reduce

merged = reduce(lambda x, y: x.merge(y), mlflow_profiles)
merged.columns

Thank you so much for your feedback :)


fix(loader): wait for child PID

Description of changes:
Wait for the child PID to be killed once we trap the SIGTERM.
Why is this change necessary:
This is needed for Docker because otherwise when we issue SIGTERM to a container, it does not wait for the child PID and simply kills the process without exiting gracefully.
How was this change tested:
docker stop with the changes added
Observed the following output:
Launched Nucleus successfully.
++ echo Received SIGTERM
++ sigterm_received=1
++ kill -TERM 12
++ wait 12
Received SIGTERM
++ echo Killed child PID
+ kernel_exit_code=143
+ echo 'Nucleus exit at code: 143'
+ case ${kernel_exit_code} in
+ echo 'Nucleus exited 143. Retrying 1 times'
+ j=2
Killed child PID
+ '[' 2 -le 3 ']'
Nucleus exit at code: 143
+ '[' 1 -eq 0 ']'
Nucleus exited 143. Retrying 1 times
+ is_directory_link /greengrass/v2/alts/old
+ '[' -L /greengrass/v2/alts/old ']'
+ exit 143

and observed the following in greengrass.log:
Shutting down Nucleus due to external signal .
Any additional information or context required to review the change:
Checklist:

[ ] Updated the README if applicable
[ ] Updated or added new unit tests
[ ] Updated or added new integration tests
[ ] Updated or added new end-to-end tests
[ ] If your code makes a remote network call, it was tested with a proxy
[ ] You confirm that the change is backwards compatible

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

WARNING: Don't merge this yet - cannot be merged in for v2.3.


Program never stops. Just hangs

Issue
Once running through the program, it hangs at the last item in the list (or presumably the last item). It seems to hang on one of the worker threads and never completes the method ergo, the program never completes.
How to replicate
The following command uses the domains list which is a list of domains gathered. The total amount is about 6k domains.
Command
dyFront file domains -o output

System
Hypervisor: VMware
OS: Ubuntu 18.04
RAM: 8GB
Cores: 2 Physical Cores given to VM

Solution
The threads workers would hang on tasks which hung up on the https_lookup() method in dyFront.frontingEngine.detectCDN.cdn_check. Adding a timeout for the urllib.request.urlopen() helped with any request which took longer than 1 minute. https://github.com/Pascal-0x90/dyFront/commit/7780f44c1484c75ffd29368fce0a65cf22f65204
(yes, some of the websites took at most a minute to load, but still loaded.)


Automated Package Upgrade

:tada: This PR is included in version 28.5.63 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixed poms for correct add-on publication.

Hi @tehapo, that's me again.
Thank you for the new add-on release but, unfortunately, current pom configuration does not allow to use the add-on: root pom file is not published anywhere, hence Maven can not resolve the add-on dependency correctly.
I've rewritten all poms in the project, now it should be published correctly.
Can you please republish the add-on with new pom?
Sorry for inconvenience.

Oh right, I actually had the same issue with another add-on some time ago, but still didn't realize to check this.
Thanks for the fix! I'll review it and publish a new version later this afternoon.

Released as 3.0-beta2.

Now it works, thank you a lot!


Replace instanceof Object with typeof checks

Using instanceof Object is generally problematic, since it's not guaranteed to always do the right thing for all Objects.
(I stumbled upon this while working on another patch, when I noticed that the outlineView was broken with workers disabled.)

/botio test

/botio-linux preview

I couldn't immediately figure out from the given description in which cases this would fail, but some Googling showed me that this happens for objects without prototypes, which we use. From the console:
> const foo = Object.create(null);
undefined
> foo instanceof Object
false
> typeof foo === "object" && foo !== null
true

I'm adding this for future reference.

Thanks!

I couldn't immediately figure out from the given description in which cases this would fail,

My apologies; I should have included more details in the commit message!


1.20.1 Lavaspring cannot be picked up?

I was trying to pick up a Lavaspring block to move it. Using an End Gobber silk touch pickaxe. It took a very long time to break the block (much longer than obsidian I believe), but when it broke I got nothing back. I don't have another lavaspring to hand to see if this is a one-off or reproducible.
In 1.19.2 this did not happen (same mods, final 1.19.2 versions).
MC 1.20.1 Fabric, RT 1.5.1, Gobber2 2.9.3
Heavily modded instance, but I don't believe any of the other mods affect tools/mining/etc; I was using (almost) the same mods in 1.19.2.

I found the issue.  Somehow the lava spring and well spring were not in the mineable/pickaxes.json file so the game knows they can be mined with a pickaxe.

Fixed in next update


url with !! is not detected correctly

url:

https://www.baopals.com/search/imgextra%2Fi1%2F113230311%2FO1CN015pfw7P1EATmYFN0ro_!!113230311%26%2346%3Bjpg

only this part was parsed into a link:

https://www.baopals.com/search/imgextra%2Fi1%2F113230311%2FO1CN015pfw7P1EATmYFN0ro_

https://markdown-it.github.io/linkify-it/#t1=https%3A%2F%2Fgoogle.com%2Fmail%2Fu%2F0%2F%23label%2F!!!Today%2F15c9b8193da01e65

https%3A%2F%2Fwww.baopals.com%2Fsearch%2Fimgextra%2Fi1%2F113230311%2FO1CN015pfw7P1EATmYFN0ro_!!113230311%26%2346%3Bjpg
Can not reproduce (and appropriate test exists, #54)


Hello, where is the adapter modules of the iamge_encoder invoked?

The adapter modules were inserted into the image encoder in the sam_fact_tt_image_encoder.py script, inside the class _Fact_tt_Block().


escaping brackets for path params

Just escaped the brackets for path params in the docs that were not escaped and therefore rendered incorrectly (those path params were just missing).

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"


Tons of warnings with g++ -Wsuggest-override

C++ 11 is now 10 years old. It's time to add the override annotation (possibly as a define to support older compilers).

I'm not going to update the C++ level in the current codebase. (@cugone has requested similar changes.) If I was to go that route, I'd roll out TinyXML-3 that based on C++ 17, with a focus on more modern style and using std::string(), string_view(), etc. But I'm not going to incrementally change the existing one.

I'm not going to update the C++ level in the current codebase. (@cugone has requested similar changes.) If I was to go that route, I'd roll out TinyXML-3 that based on C++ 17, with a focus on more modern style and using std::string(), string_view(), etc. But I'm not going to incrementally change the existing one.

@leethomason "update the C++ level in the current codebase" was not what I suggested. My suggestion is adding
#if __cplusplus >= 201103L
// this is at least C++11
#define TINYXML2_OVERRIDE override
#else
#define TINYXML2_OVERRIDE
#endif

and then using TINYXML2_OVERRIDE where appropriate. This shouldn't affect older compilers and silences the warnings in newer ones.
But: Your code, your rules.


Make panel position configurable

Description
All the panels currently (0.2.1) appear on the left when open. I would like to be able to choose to have them on the right.
Suggested solution
A toggle switch in the settings to make the panels appear other left or right of the code area.
Alternative
No response
Additional context
No response

Thanks for opening this issue. We experimented with configurable panel positions and ran into some technical issues with things re-rendering in unexpected ways. We spent a bit of time debugging but weren't able to figure it out, so unfortunately I don't think we'll support this soon. Hopefully you can make do with a left-pinned panel?

That's ok, thank you for looking into it.
On Wed, Feb 14, 2024, 12:48 Akshay Agrawal @.***> wrote:

Thanks for opening this issue. We experimented with configurable panel
positions and ran into some technical issues with things re-rendering in
unexpected ways. We spent a bit of time debugging but weren't able to
figure it out, so unfortunately I don't think we'll support this soon.
Hopefully you can make do with a left-pinned panel?
—
Reply to this email directly, view it on GitHub
https://github.com/marimo-team/marimo/issues/738#issuecomment-1944314130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMY2NGCNSGZ56CXTKLTTBLYTT2GJAVCNFSM6AAAAABC23P3HGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBUGMYTIMJTGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


TextInputClient updateEditingValue giving back collapsed selection on Android emulator

I'm trying to write a Rich Text Editor, but have problems with the text input connection. I'm using ExtendSelectionByCharacterIntent to expand my selection to an uncollapsed one, but always get back the collapsed from remote. I've managed to create a little sample that should explain the problem...
I'm using the Android emulator on Android Studio.

Execute flutter run on the code sample
Press Shift+RightArrow to expand selection
See console log

Expected results:
[log] Updating remote with current value:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 0, extentOffset: 1, isDirectional: false), composing: TextRange(start: 0, end: 5))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 0, extentOffset: 1, isDirectional: false), composing: TextRange(start: 0, end: 5))
Actual results:
[log] Updating remote with current value:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 0, extentOffset: 1, isDirectional: false), composing: TextRange(start: 0, end: 5))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 0, extentOffset: 1, isDirectional: false), composing: TextRange(start: -1, end: -1))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection.collapsed(offset: 1, affinity: TextAffinity.downstream, isDirectional: false), composing: TextRange(start: -1, end: -1))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection.collapsed(offset: 1, affinity: TextAffinity.downstream, isDirectional: false), composing: TextRange(start: 0, end: 5))

Code sample
import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

class RichEditor extends StatefulWidget {
  const RichEditor({super.key});

  @override
  State<RichEditor> createState() => _RichEditorState();
}

class _RichEditorState extends State<RichEditor> implements TextInputClient {
  late final Map<Type, Action<Intent>> _actions = <Type, Action<Intent>>{
    ExtendSelectionByCharacterIntent:
        CallbackAction<ExtendSelectionByCharacterIntent>(
            onInvoke: _extendSelection),
  };
  final FocusNode _focusNode = FocusNode();
  TextInputConnection? _textInputConnection;

  TextEditingValue _currentEditingValue = const TextEditingValue(
    text: 'Dummy value',
    selection: TextSelection.collapsed(offset: 0),
    composing: TextRange(start: 0, end: 5),
  );

  bool get hasConnection =>
      _textInputConnection != null && _textInputConnection!.attached;

  @override
  void initState() {
    super.initState();
    _focusNode.addListener(_handleFocusChanged);
  }

  @override
  void dispose() {
    _closeConnectionIfNeeded();
    _focusNode.removeListener(_handleFocusChanged);
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Actions(
      actions: _actions,
      child: Focus(
        focusNode: _focusNode,
        autofocus: true,
        child: Container(),
      ),
    );
  }

  void _handleFocusChanged() {
    _openOrCloseConnection();
  }

  void _openOrCloseConnection() {
    if (_focusNode.hasFocus && _focusNode.consumeKeyboardToken()) {
      _openConnectionIfNeeded();
    } else if (!_focusNode.hasFocus) {
      _closeConnectionIfNeeded();
    }
  }

  void _openConnectionIfNeeded() {
    if (!hasConnection) {
      _textInputConnection = TextInput.attach(
        this,
        const TextInputConfiguration(
          inputType: TextInputType.multiline,
          readOnly: false,
          inputAction: TextInputAction.newline,
        ),
      );

      _textInputConnection!.setEditingState(currentTextEditingValue!);
    }

    _textInputConnection!.show();
  }

  void _closeConnectionIfNeeded() {
    if (!hasConnection) {
      return;
    }
    _textInputConnection!.close();
    _textInputConnection = null;
  }

  void _updateRemoteValueIfNeeded() {
    if (!hasConnection) {
      return;
    }

    log('Updating remote with current value:');
    log(currentTextEditingValue.toString());

    _textInputConnection!.setEditingState(currentTextEditingValue!);
  }

  void _extendSelection(ExtendSelectionByCharacterIntent intent) {
    _currentEditingValue = _currentEditingValue.copyWith(
      selection: const TextSelection(baseOffset: 0, extentOffset: 1),
    );
    _updateRemoteValueIfNeeded();
  }

  @override
  TextEditingValue? get currentTextEditingValue => _currentEditingValue;

  @override
  void updateEditingValue(TextEditingValue value) {
    log('Received update from remote:');
    log(value.toString());
  }

  @override
  void connectionClosed() {
    // No op
  }

  @override
  AutofillScope? get currentAutofillScope => throw UnimplementedError();

  @override
  void didChangeInputControl(
      TextInputControl? oldControl, TextInputControl? newControl) {
    // No op
  }

  @override
  void insertTextPlaceholder(Size size) {
    // No op
  }

  @override
  void performAction(TextInputAction action) {
    // No op
  }

  @override
  void performPrivateCommand(String action, Map<String, dynamic> data) {
    // No op
  }

  @override
  void performSelector(String selectorName) {
    // No op
  }

  @override
  void removeTextPlaceholder() {
    // No op
  }

  @override
  void showAutocorrectionPromptRect(int start, int end) {
    // No op
  }

  @override
  void showToolbar() {
    // No op
  }

  @override
  void updateFloatingCursor(RawFloatingCursorPoint point) {
    // No op
  }
}

Logs
D/InputConnectionAdaptor( 7706): The input method toggled cursor monitoring on
[log] Updating remote with current value:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 0, extentOffset: 1, isDirectional: false), composing: TextRange(start: 0, end: 5))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 0, extentOffset: 1, isDirectional: false), composing: TextRange(start: -1, end: -1))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection.collapsed(offset: 1, affinity: TextAffinity.downstream, isDirectional: false), composing: TextRange(start: -1, end: -1))
[log] Received update from remote:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection.collapsed(offset: 1, affinity: TextAffinity.downstream, isDirectional: false), composing: TextRange(start: 0, end: 5))

Flutter Doctor
[√] Flutter (Channel stable, 3.7.0, on Microsoft Windows [Versione 10.0.19044.2486], locale it-IT)
    • Flutter version 3.7.0 on channel stable at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b06b8b2710 (6 days ago), 2023-01-23 16:55:55 -0800
    • Engine revision b24591ed32
    • Dart version 2.19.0
    • DevTools version 2.20.1

[X] Windows Version (Unable to confirm if installed Windows version is 10 or greater)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Alessandro\AppData\Local\Android\sdk
    • Platform android-33, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.21)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.33027.164
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] VS Code (version 1.71.2)
    • VS Code at C:\Users\Alessandro\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.48.0

[√] Connected device (4 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Versione 10.0.19044.2486]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 109.0.5414.120
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 109.0.1518.55

[√] HTTP Host Availability
    • All required HTTP hosts are available

This issue is reproducible on the latest stable and master channels.
The TextSelection.collapsed log appears when pressing Shift or closing the keyboard. The log is printed twice when pressing ShiftRight arrow and then releasing keys.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.7.0, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.0 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b06b8b2710 (3 days ago), 2023-01-23 16:55:55 -0800
    • Engine revision b24591ed32
    • Dart version 2.19.0
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio Dolphin 2021.3.1.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio Dolphin 2021.3.1.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio Electric Eel 2022.1.1.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.7.0-30.0.pre.27, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.0-30.0.pre.27 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1148a2a8ba (51 minutes ago), 2023-01-30 17:39:09 -0800
    • Engine revision daa8eeb7fc
    • Dart version 3.0.0 (build 3.0.0-179.0.dev)
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio Dolphin 2021.3.1.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio Dolphin 2021.3.1.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (3 available)
    • iPhone (mobile) • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop) • macos                                    • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome                                   • web-javascript • Google Chrome 109.0.5414.119
    ! Error: iPhone is busy: Fetching debug symbols for iPhone. Xcode will continue when iPhone is finished. (code -10)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

FYI, it happens also with delta, albeit slightly different.
If overriding updateEditingValueWithDeltas in a DeltaTextInputClient with:
@override
  void updateEditingValueWithDeltas(List<TextEditingDelta> textEditingDeltas) {
    log('Received deltas from remote:');
    for (TextEditingDelta delta in textEditingDeltas) {
      log(delta.toString());
    }
  }

and doing the same operation as above I get this log:
[log] Received extend selection by character intent!
[log] Updating remote with current value:
[log] TextEditingValue(text: ┤Dummy value├, selection: TextSelection(baseOffset: 1, extentOffset: 2, isDirectional: false), composing: TextRange(start: 0, end: 5))
[log] Received deltas from remote:
[log] TextEditingDeltaNonTextUpdate#c9019(oldText: Dummy value, selection: TextSelection.collapsed(offset: 2, affinity: TextAffinity.downstream, isDirectional: false), composing: TextRange(start: 0, end: 5))
[log] TextEditingDeltaNonTextUpdate#d1b37(oldText: Dummy value, selection: TextSelection.collapsed(offset: 2, affinity: TextAffinity.downstream, isDirectional: false), composing: TextRange(start: 0, end: 5))

CC @Renzo-Olivares from text input triage

@aleripe Can you post a full runnable app to reproduce the problem?  I wasn't sure if I was supposed to see something when I ran your code.

@mossmana another example of a text input issue


Added PHPUnit as dev dependency, and support versions 5 and 6.

Thank you for the PR! :+1: This repo currently doesn't have any test instructions, so now that we add PHPUnit, we should probably document this in our README and use this in Travis accordingly: https://github.com/clue/php-redis-react/pull/53. Can you update this PR? :+1:


feat(back-to-top): remove back to top in favor of Drift

Issue
Fixes - https://jira.sdlc.merative.com/browse/MERATIVE-815
Description
Removed

This PR removes the Back to Top button functionality so that we can use the bottom right hand corner for the Drift Chatbot Widget.

Design Specs

Figma Link - N/A

Test URLs

Before (Changes from main): https://main--merative2--hlxsites.hlx.page/
After (Changes from this PR): https://feat-drift-remove-back-to-top--merative2--proeung.hlx.page/

Testing Instruction

Visit this deploy preview (https://feat-drift-remove-back-to-top--merative2--proeung.hlx.page).
Ensure that the "Back to Top" button is no longer visible.
Ensure that the Drift button is visible once, the playbooks configs have been implemented to the test URL above.
https://feat-drift-remove-back-to-top--merative2--proeung.hlx.page/#bot_test-5086233-t9fx4CHq

@keith-kaplan Looks good! I'm going to review this on our Merative.com design call tomorrow and see if folks have any feedback on this. In the meantime, I'll leave this PR open.

@proeung Let's update the use of the logo in the center. We should just use the default chat icon like pure storage.

@proeung Let's update the use of the logo in the center. We should just use the default chat icon like pure storage.

@aavilamer Yep, we can upload a new custom icon for this avatar. I looked through our Icon library within our design system (see link), didn't find a chat bubbles icon that works.
Is there a style or SVG that you have in mind? Here are some options that we can look at.

https://thenounproject.com/icon/chat-bubbles-1113606/
https://thenounproject.com/icon/chat-bubbles-396407/
https://thenounproject.com/icon/chat-bubbles-975775/

Okay thanks – we use phosphor icons for our icons. I added this one in light to the design system - https://www.figma.com/file/TyajZb165gYM43ULg8nQv5/Core-–-Merative-Digital-Design-System?type=design&node-id=1%3A10&mode=design&t=4On2dXKvrNU8DY8J-1
the site: https://phosphoricons.com/, We use light value of the icon you can select in the phosphor icon plugin in figma FYI
[A screenshot of a chat  Description automatically generated]
From: Putra Bonaccorsi @.>
Date: Tuesday, August 8, 2023 at 4:16 PM
To: hlxsites/merative2 @.>
Cc: ANNMARIE AVILA @.>, Mention @.>
Subject: [EXTERNAL] Re: [hlxsites/merative2] feat(back-to-top): remove back to top in favor of Drift (PR #310)
You don't often get email from @.*** Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification
ALERT: This Message Came From External Sender, Please Avoid Clicking Any Links or Opening Attachments If The Sender Is Unknown.
@proeunghttps://github.com/proeung Let's update the use of the logo in the center. We should just use the default chat icon like pure storage.
@aavilamerhttps://github.com/aavilamer Yep, we can upload a new custom icon for this avatar. I looked through our Icon library within our design system (see linkhttps://www.figma.com/file/TyajZb165gYM43ULg8nQv5/Core-–-Merative-Digital-Design-System?type=design&node-id=14%3A1213&mode=design&t=1NpAFR6H0TLI3cXI-1), didn't find a chat bubbles icon that works.
Is there a style or SVG that you have in mind? Here are some options that we can look at.

https://thenounproject.com/icon/chat-bubbles-1113606/
https://thenounproject.com/icon/chat-bubbles-396407/
https://thenounproject.com/icon/chat-bubbles-975775/

—
Reply to this email directly, view it on GitHubhttps://github.com/hlxsites/merative2/pull/310#issuecomment-1670318614, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A32Z3NBJJHKO7S3K4FVB3Z3XUKUCZANCNFSM6AAAAAA3HG7TBU.
You are receiving this because you were mentioned.Message ID: @.***>

@aavilamer Here's the latest preview using the icon that we discussed. https://feat-drift-remove-back-to-top--merative2--proeung.hlx.page/#bot_test-5086233-t9fx4CHq

@keith-kaplan where did the name land? Bot could be MerativeChat, MerativeConnect, MeraTalk, Product Advisor...throwing a few themes out there.

@keith-kaplan where did the name land? Bot could be MerativeChat, MerativeConnect, MeraTalk, Product Advisor...throwing a few themes out there.

@aavilamer Personally, I like MerativeChat, but defer to you and @keith-kaplan on what to name the bot.
Also, @keith-kaplan do we have a date on when we'll be switching on Drift for the merative.com domain name? I think can merge this PR to remove the "Back to Top" button if we're ready to roll this out unless we want to wait until this button is removed on AEM (see - https://jira.sdlc.merative.com/browse/MERATIVE-814) as well.

Still confirming the name, but we're thinking Merative Bot. For the merge. This is not going live until 2nd week of Sept so I think we can do this in a few weeks.


optional-list: Spotify urls to be able to cast to Denon Heos speakers

Hi,
Connecting to Spotify Premium from mobile phone works using these white-listings:
mobile-ap.spotify.com
apresolve.spotify.com
upgrade.scdn.com
market.spotify.com
spclient.wg.spotify.com
To be able to connect/cast to Denon Heos wifi-speakers from within Spotify, this needed to be added as well:
audio-ake.spotify.com.edgesuite.net
I'm thinking more wifi-speaker brands may need the last white listing as well.
Use these at your own discretion.
Excerpts from my pihole log below.
<IP_ADDRESS> is one of the wifi-speakers.
Mar  2 19:43:32 dnsmasq[15004]: query[A] audio-ake.spotify.com.edgesuite.net from <IP_ADDRESS>
Mar  2 19:43:32 dnsmasq[15004]: /etc/pihole/gravity.list audio-ake.spotify.com.edgesuite.net is <IP_ADDRESS>
Mar  2 19:43:32 dnsmasq[15004]: query[AAAA] audio-ake.spotify.com.edgesuite.net from <IP_ADDRESS>
Mar  2 19:43:32 dnsmasq[15004]: /etc/pihole/gravity.list audio-ake.spotify.com.edgesuite.net is ::

//AvG

@adrianvg Which blocklist are you using?

@adrianvg Thanks for reporting

Hi @anudeepND, I was looking through the optional-list.txt and noticed a small typo relating to this.
Currently is audio-ake.spotify.com.edgesuite .ne in the txt file, should be edgesuite .net at the end.

@planet0 oh thanks! I will fix it when I get home


Methods

@cdcooper84  Here is a first draft on Methods section, needs review and has couple of comments to discuss.

@cdcooper84 I added the derivation on the dipole section, if you can take a look that's be great.
We still have the pending question on the Mishchenko paper regarding if S(0) is normalized.


RAPIER.JointType.Revolute enmu is 0 but should be 3

@dimforge/rapier2d 0.8.0-alpha.1
The enum for RAPIER.JointType.Revolute has a value of 0, but the .type() method on a revolute joint returns 3.

it was fixed. #77

Thank you for quick reply. I checked the issues, but forgot to check the solved issues!


CouchDB data folder is getting bigger and bigger

Hi, I just noticed that CouchDB data folder is getting big very quickly.  I use this docker image: https://github.com/klaemo/docker-couchdb (Tag 2.0.0)
The fix I found for the moment is to call manually  'http://couchdbserver/{dbname}/_view_cleanup' on each database.
Before cleanup, the database took 5GB and after cleanup the database take 86M.
It there a way to configure automatically the 'clean_up' task ?

See http://docs.couchdb.org/en/2.0.0/maintenance/compaction.html for details

Thank you for the quick response. Do you have an example somewhere ?
I added this config in local.ini but it does not seem to work:
_default = [{db_fragmentation, "70%"}, {view_fragmentation, "60%"}, {from, "07:00"}, {to, "11:00"}]
Do I have to specify the databases somewhere ?

The automatic compaction does not seem to work. I tried with 5%, it is never triggered:
__default = [{db_fragmentation, "5%"}, {view_fragmentation, "5%"}, {from, "07:00"}, {to, "11:00"}]_
There is an other thing that it is not clear to me. Does '_clean_up' operation included in compaction ?


No install when nuget package dependency has been unlisted.

Paket cannot install a nuget package with a dependency on another nuget package when that other package has been unlisted. This is reproducable with the following minimal paket.dependencies ..
source https://nuget.org/api/v2
nuget ServiceStack.Host.AspNet

C:\...>.paket\paket install
Paket version <IP_ADDRESS>
Resolving packages for group Main:
 - ServiceStack.Host.AspNet 4.0.48
 - ServiceStack.OrmLite.SqlServer 4.0.48
 - ServiceStack.Server 4.0.48
Paket failed with:
        Could not find versions for package WebActivator in any of the sources in ["https://nuget.org/api/v2"].

"The owner has unlisted this package. This could mean that the package is deprecated or shouldn't be used anymore."
SOURCE: https://www.nuget.org/packages/WebActivator
Even with this unlisted dependency nuget.exe itself can be used to install. Both the following nuget installs work ...
C:\..>nuget install ServiceStack.Host.AspNet

C:\...>nuget install WebActivator -Version 1.5.3

Paket also fails on other commands, such as upgrade.

I was able to work around this problem by adding one line to the paket.dependencies file, in order to  pickup the package that I had already installed before it became unlisted ...
source https://nuget.org/api/v2
source packages

nuget ServiceStack.Host.AspNet

I jus talked to @maartenba - seems it's a NuGet v3 issue.

root cause is https://api-v3search-0.nuget.org/autocomplete?id=WebActivator&take=100000&prerelease=true doesn't show versions.
I worked around that, by retrying with v2 if no versions are reported.

@maartenba suggested to use https://api.nuget.org/v3-flatcontainer/WebActivator/index.json instead


Expanded row column span does not update

When I display or hide a column with the hidden attribute, then the column span don't update in the expanded row. Basically the expanded row doesn't follow the simple row's col spans.

That would be awesome if this would be improved!

I'm having the same issue. It seems visibleColumnSize() is being called and calculated properly but the   prop visibleColumnSize remains the same.

We will fix this in this weekend, sorry for inconvenience.

Fixed in newest version, please upgrade all the related packages listed in below notes:
https://react-bootstrap-table.github.io/react-bootstrap-table2/blog/2019/03/10/version-bump.html

after update all packages today the bug is still there. My fault? Or is it back?
thanks for help.

I am still facing same problem. i am using following
"react-bootstrap-table-next": "^3.2.1",
"react-bootstrap-table2-paginator": "^2.1.0",
"react-bootstrap-table2-toolkit": "^2.1.0",

I have also tried following combination but bug still persists
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>


Read config from remote server and replace remote-app-config.yaml

This is not ready yet, more work is required to read the config from url without saving to remote-app-config.yaml
Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

Hi! Remember to DCO sign all of your commits (see the build details for more info), and to set your editor to run prettier on save.
Yeah don't use Rx, it's a huge and complex dependency and we've avoided it for now even though this is not as important in the backend.

Hi! Remember to DCO sign all of your commits (see the build details for more info), and to set your editor to run prettier on save.
Yeah don't use Rx, it's a huge and complex dependency and we've avoided it for now even though this is not as important in the backend.

Sure thing. I will check the build details, I also need to write some tests.


feat: import, export形式でjestが実行できるように変更

babelの使用とそれに伴うパッケージの追加
connections #9 fixes #9

Coverage report
❌ An unexpected error occurred. For more details, check console
Error: The process '/usr/local/bin/npm' failed with exit code 1

Statements coverage not met for global: expected <=10 not covered statements, but got 4

St.:grey_question:
Category
Percentage
Covered / Total

🟢
Statements
80% (-20% 🔻)
4/5

🔴
Branches
50% (-50% 🔻)
1/2

🟢
Functions
100%
3/3

🟢
Lines
80% (-20% 🔻)
4/5

Show new covered files 🐣

St.:grey_question:
File
Statements
Branches
Functions
Lines

🟢
calc.js
80%
50%
100%
80%

Test suite run failed
Failed tests: 0/4. Failed suites: 0/1.
Report generated by 🧪jest coverage report action from 50f4ed4d26d492172ab43c45b7ecda0c714a0570