feat: add c# guide for lists

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[ x] None of my changes are plagiarized from another source without proper attribution.
[ x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congrats @travisterrell  on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Please add data editor

hey man, this would be great if we can edit the dataframe... thx

You've convinced me... this was planned but I'll bring it forward a bit. Next release is all around custom components and events but the next one will have editable dataframes.

Waiting for this also!

Hello, I really love this framework (it's really useful to quickly make beautiful and responsive data apps) and that would be great to have a data editor component in it!

+1 for a data editor

@ramedina86 Any rough idea when this will available?


Document changes to forge create and cast send

See https://github.com/foundry-rs/foundry/pull/2172

Did this actually change anything on the CLI? I was a bit under the impression that they essentially just duplicated the same options/flags


Fix #17375: Add secret key field for webhooks config in alert creation form

fixes #17375
I worked on adding missing fields for alert destinations:

Connection timeout for all destination types.
secretKey for webhook destination type.

Type of change:

[ ] Bug fix
[ ] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

@Siddhanttimeline any updates here?

@Siddhanttimeline any updates here?

Working on it, I will connect with Mohit once today. @aniketkatkar97


Warning: Prop dangerouslySetInnerHTML did not match.

Hey!
This code,
   <ReactTooltip
      effect="solid"
      place="bottom"
      delayShow={200}
      arrowColor="transparent"
      backgroundColor="#1d2c3e"
      id="newApp"
   >

Upload

   </ReactTooltip>

Seems to be giving me this:

I've tried to use
 tags instead of
 and so on, but I can't seem to get rid of it.
I do indeed have custom CSS on it, and it looks like this:
.__react_component_tooltip {
  border-radius: 5px !important;
  border: 1px solid #273552 !important;
  background: #404f6d !important;
  padding: 10px 15px !important;
  color: #b7c4dc !important;
  z-index: 100 !important;
}

Same for me. It works, but I got this warning even if any option is passed.

"Glad" to see that I'm not the only one!
I've googled around, but I couldn't find any posts on it. Seems like theres a lot of open issues in this repo as well.

This solution helped me. https://stackoverflow.com/questions/64079321/react-tooltip-and-next-js-ssr-issue

This solution helped me. https://stackoverflow.com/questions/64079321/react-tooltip-and-next-js-ssr-issue

Thanks. It works for me. I use useEffect, bur I'll try the react-tidy package too.

I can't seem to solve it, would you mind sharing your code here so I can try it out? @lipgartdmitriy

I was having same problems with Next.js. I just imported component dynamically, with SSR disabled and it works.
`
import dynamic from "next/dynamic";
const ReactTooltip = dynamic(() => import("react-tooltip"), {
ssr: false,
});
`

Actually, @LeonSkrilec 's answer is correct, but what if the project won't based on next.js?
The good and native pure solution can be this SO link

same issue.

@LeonSkrilec thanks you saved me 😃!!

In case you are using any server-side rendering (like Next.js) - you will need to make sure your component is mounted first before showing the react-tooltip. I fixed this by using the following:
You should wrap your JSX in the following component:
import React, { useEffect, useState } from 'react';
const NoSsr = ({ children }): JSX.Element => {
const [isMounted, setMount] = useState(false);
useEffect(() => {
setMount(true);
}, []);
return <>{isMounted ? children : null}</>;
};
export default NoSsr;
Like this:

This worked for me.


Error when I shuttdonw windows .NET-BroadcastEventWindow.1cdd22f.0

ℹ Computer information

PowerToys version: 0.25
Windows build number: [run "20H2"]

📝 Provide detailed reproduction steps (if any)

I shutdown Windows 10
Show an error
I uninstall Power Toys and the error disappear

📷 Screenshots

This seems to be different

I think the issues happens when I activated run by administrator always. Then I uncheck this option but Windows 10 notify me PowerToys is running by administrstor, it happens sometimes. And the error message appear when I shutdown PC and disappear very quickly.

@raimonrai
is this still happening with 0.27.1?

No, all correct.


feat: include account ID in permissions

Describe the changes you have made in this PR
Adds accountId to the DbPermission fields to link permissions to accounts. (Doesn't include a migration, we handle the permissions without an accountId separately everywhere).
Link this PR to an issue [optional]
Fixes #1953
Type of change
(Remove other not matching type)

feat: New feature (non-breaking change which adds functionality)

Screenshots of the changes [optional]

How has this been tested?
Tested manually at various websites.
Checklist

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[x] New and existing tests pass locally with my changes
[x] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

Just did a final round of testing and noticed one thing that I think we should fix. Steps to reproduce:
I have 2 accounts (account A, account B)

Account A: Go to a site and give permissions to read public key
Go to the websites, select the website from step 1 and click on edit. You will see the permissions correctly:

On the websites page, switch to account B
Edit the permissions with account B

The edit dialogue now still shows the permissions from account A. (reloading fixes the problem)
@im-adithya Can we somehow fix that?
That being said, I think we really need to move the permissions somewhere else in another iteration, they don't fit into this "edit allowance" window very well. Also the allowance is now extension wide, while the permissions are not. (which I think is quite hard to understand)

Tested again today, left some feedback and merged master.
Let's see if we can somehow fix the bug when switching accounts and get this merged! 🚀

I tested a bit. The bug is in AllowanceMenu line 77 !permissions && fetchPermissions(); - the !permissions condition needs to be removed and permissions from the deps. But better double check the re-rendering performance.
https://github.com/getAlby/lightning-browser-extension/pull/2002/files#diff-1b329da99ce24a934532ca1ee401d135a5d5917619b62db9711da859ce47f987R77


Subscriptions management: create 'pop-up' component

[x] main subscription options menu (update payment, update tier, cancel)
[x] update payment method menu
[x] add payment method
[x] update tiers menu (frequency, amount, tier)
[x] cancel subscription
[x] activate subscription

This component will replace the subscriptions card when we are interacting with it and will do a variety of things, as pictured above.

UPDATE: all feature-building is done. Left to do

[ ]
[ ]
[ ]

Update: 'click outside menu to close' removed (edge cases with react-select menu portaling interacting with refs to detect clicks) and close icon added.


Improve experience of installing "latest" .NET for users

Can our installer do things like:

Download a newer .NET installer if there is one?
Trigger a Windows update check?
Advise users to run Windows update?

To help ensure users are getting a "latest" .NET, instead of whatever was just bundled with the installer?
Ideas based on conversation in: https://github.com/microsoft/AzureStorageExplorer/issues/7539

https://learn.microsoft.com/en-us/windows/win32/api/wuapi/nf-wuapi-iautomaticupdates-detectnow

Storage Explorer now calls the Windows Update Agent IAutomaticUpdates::DetectNow API after installing .NET for users.


exFilterColumn and exFilterExternallyTriggered working together

Hello Daniel,
Project requires to have individual column filters within the grid firing thru single search button.
I use 'exFilterExternallyTriggered' works gr8 !
Now, the project needs certain asp.net control filters on top of the grid, for filtering records.
My code reads as
$(".yadcf_ExtFilter").click(function (e) {
e.preventDefault();
yadcf.exFilterExternallyTriggered(oTable);
});
This works perfectly.. it calls the webservice without reloading the webpage. Awesome !
But how do I implement exFilterColumn along with this.
I need onClick of 'Apply Filter' button it should take values of external filter controls and column filters
Please help.
I would highly recommend more details / clarity in documentation process.
Thank You.

Please explain how does exFilterColumn fit into your page? I mean, you are using the exFilterExternallyTriggered , a screenshot of your page might help, a jsbin is even better

The filters under red marking are all asp.net filters

I need to attached them to the search button. So, customer can filter on column filters and external filters using one single button.

Issue is updated.

The only thing that I can suggest for your to do is to manually construct and trigger the exFilterColumn function upon user click on your search button, the exFilterColumn can trigger the filtering as if it was coming from the column filter that are used in your table. so upon clicking on the search button grab the values that were used in in your external filters and feed them into the exFilterColumn function.
As to your issue title , there is no problem at all to use the exFilterColumn along with the externally_triggered: true mode, you can try calling yadcf.exFilterColumn(oTable, [[3, 'a_value']]) in the showcase (from dev tools console and see that it works.


How to change server profile

I deployed IML use docker stack,and I add server use manage mode,however the lustre-ldiskfs-zfs is  in  conflict with my server node's lustre-ldiskfs-dkms-2.12.2-1.el7.noarch ,I don't want to install lustre-ldiskfs-zfs,but i dont know how to change server profile. In docker i can't find chroma-config command

Hi @ldd91,
Do you already have Lustre installed on your storage servers?
If so, why not use the existing monitored mode profile instead of creating a new one?

To be clear, monitored mode will work with existing Lustre installs (without any management capacity): https://whamcloud.github.io/Online-Help/docs/Detect_and_monitor_existing_LFS_7_0.html

Yes I have Lustre installed on my storage servers,but  i want to implement failover of the cluster using Corosync and Pacemaker in manage mode

How can  i remove lustre-ldiskfs-zf when using manage mode


Unauthorized project usage

Our team has noticed recently that some projects from one of the devs are cloned without permission by this person. Later we also found that he maintains a project called "lutris wine" which has nothing to do with the lutris project itself, and we told it to its dev. Now I also noticed that he might cloned this project as well, and replaced author in all the places to himself. You may consider researching this question further

Well, looks legit, the license allows copying and modification of the code. I mean in case of my project, not sure about Lutris and Lutris-Wine relations.


Selection of objective "rank:ndcg" results in lower NDCG than "rank:pairwise"

Thanks for adding ranking task support in xgboost! But I have a few questions:

Docs says "Use LambdaMART to perform pairwise ranking where the pairwise loss is minimized", I want to know particular function of "pairwise loss".
I can not understand "Use LambdaMART to perform pairwise ranking". According to 《From RankNet to LambdaRank to LambdaMART: An Overview》, LambdaMART is a Listwise method, which optimizes NDCG.

Hi @Edmondguo . I can just point to some historic discussion and my understanding of how xgboost works, so it would still be good to get some official confirmation for that, e.g. from @hcho3 .
I believe rank:pairwise is a pairwise method that tries to minimize the number of pairwise errors.
rank:ndcg is a method following LambdaMART and when you dig in the code - it will confirm that rank:ndcg is an extension of rank:pairwise with additional weights added to the loss of each pair.
however in a few experiments it looks as if rank:ndcg performs worse than rank:pairwise, and it might be due to the implementation. see e.g. https://github.com/dmlc/xgboost/issues/2092#issuecomment-286819394
Some time ago we verified rank:ndcg to perform a bit worse when evaluated on ndcg than rank:pairwise in our case.

rank:ndcg is an extension of rank:pairwise with additional weights added to the loss of each pair.

Exactly. In "From RankNet to LambdaRank to LambdaMART", LambdaMART optimizes NDCG by optimizing the pairwise loss (with lambda's) that is weighted with change in NDCG.

Hi @Edmondguo . I can just point to some historic discussion and my understanding of how xgboost works, so it would still be good to get some official confirmation for that, e.g. from @hcho3 .
I believe rank:pairwise is a pairwise method that tries to minimize the number of pairwise errors.
rank:ndcg is a method following LambdaMART and when you dig in the code - it will confirm that rank:ndcg is an extension of rank:pairwise with additional weights added to the loss of each pair.
however in a few experiments it looks as if rank:ndcg performs worse than rank:pairwise, and it might be due to the implementation. see e.g. #2092 (comment)
Some time ago we verified rank:ndcg to perform a bit worse when evaluated on ndcg than rank:pairwise in our case.

Thank you very much! In my experiment I also found that rank:ndcg perform worse than rank:pairwise.

rank:ndcg is an extension of rank:pairwise with additional weights added to the loss of each pair.

Exactly. In "From RankNet to LambdaRank to LambdaMART", LambdaMART optimizes NDCG by optimizing the pairwise loss (with lambda's) that is weighted with change in NDCG.

Thank you! So is it means in rank:pairwise, xgboost use lambda's which is derived by "Cross Entropy Loss" in RankNet as the loss funtion?

@Edmondguo Yes

@Edmondguo @kretes Would you be interested in posting an example where you get better NDCG metric by choosing rank:pairwise instead of rank:ndcg? I'd like to see if this is a bug or a chance.

@Edmondguo @kretes Would you be interested in posting an example where you get better NDCG metric by choosing rank:pairwise instead of rank:ndcg? I'd like to see if this is a bug or a chance.

The project I am dealing with is using rank model in quantitative stock selection.It seems hard to provide because the data is too big.In this case "rank:pairwise" performs much better than "rank:ndcg" under the same booster parameters.the NDCG are 0.5138 for "rank:ndcg", 0.5586 for "rank:pairwise".

@Edmondguo Does your data have multiple relevance judgment levels (1, 2, 3, 4, ...) ?

@Edmondguo Does your data have multiple relevance judgment levels (1, 2, 3, 4, ...) ?

Yes，before I train the model,I have change y into (1,2,3,...30)

It would be nice if there is a toy example we can use to show rank:pairwise outperforming rank:ndcg. Without an example, it is hard to find out why rank:ndcg is not working well.

Hello.
I believe I found an example where this is reproducible. rank-pairwise gives ndcg 1 while rank:ndcg cannot.
See this gist: https://gist.github.com/kretes/1228e571aeba2a57f617352af633cd40.
I hope this will help nailing the issue

i  met this problem too,  i could't find  the  reason to explain it, "objective = rank:pairwise" better than "objective = rank:ndcg"

@Edmondguo just want to follow up this issue. I met the same problem. Did you figure out the reason?

Some explanation is given in https://github.com/dmlc/xgboost/issues/6352 .  For future work, see https://github.com/dmlc/xgboost/issues/6450 .


Maya: Update frame range of instances when clicking on "Reset frame range"

Changelog Description
Update "start frame", "end frame", "handle start" and "handle end" extra attributes of animation instances when using the "Reset frame range" of OP in Maya.

Interesting!
What is the use case for this?
Normally the frame range of the instances would be validated and repaired if they were out of sync from the asset.

I agree with @tokejepsen - this doesn't seem to be the correct intended behavior.
Also, be aware that the logic will not work for all instances. There will be instances who do not have frame range attributes. There will also be instances that are time-dependent but don't expose their time settings on the instance (e.g. renderlayers).

Hello,
This is was a feature requested to add fluidity to the artist work. If a supervisor tell artist there is a change of duration of a shot :
[101-150] > [101-180]
They will use the rest frame range  to get the last frame range from production tracking. This will get change for the frame in / out / handle of the scene itself but not on the exported entities (animation, camera , etc )
If publish as is, the sanity check is going to complain that things are not right.
Since we are already doing something (reset frame range) regarding the time we could ensure that all the entities that are dependent of time in the scene  are changed to the correct known value.
Otherwise, reset frame range should not be there and all should be repaired/ fix from the sanity check.

If publish as is, the sanity check is going to complain that things are not right.

This validator Validate Frame Range, should fail if the instance frame range is out of sync with the asset.
Does this not happen for your pipeline?

It does happen ! but we could make it faster to publish scene by changing also the instance to what we know to be the correct value when we use the "reset frame range" in the openpype menu.
That's for sure a "comfort" request, that lead to less complaints of artist and more adhesion of pipeline

Hello,
Yes the artist tend to click reset frame range when they are told that the frame range have change (which happens quite often in commercials).
And for sure we don't optimise cache time for exemple, we aim for stability (when the character is not visible there may be shadow, etc etc ) so we export always the full range with a little more even for motion blur raison

@BigRoy what you think of this?
This feature is behind a setting, so studios need to opt in now. I would also suggest to maybe widen the scope of this to no just animation instances, this could come as a family filter setting. We would need to be more explicit in the code though about which instances are updated and and maybe how since not all instances are made the same.
Lastly I think we should refactor the code for collecting the instances to lib so the collector and reset frame range share the same logic.

@BigRoy what you think of this?
This feature is behind a setting, so studios need to opt in now.

Looks great to me. We would have it disabled but I can see it being useful for some.
We might want to add a instances=True argument to the reset_frame_range function because the function is used in other areas of the code to, e.g. on resetting render settings / creating a first render instance (if resetting on create is enabled in project settings, which I believe is the default behavior). As such, that would now ALSO reset the instances in the scene - making it very confusing. Then the calls that don't want to reset instances to begin with use instances=False.

I would also suggest to maybe widen the scope of this to no just animation instances, this could come as a family filter setting.  > We would need to be more explicit in the code though about which instances are updated and and maybe how since not all instances are made the same.

It currently actually not only applies to animation family instances, but to any instance that has the relevant frame based attributes, so it'd also do it for pointcaches, yeti cache frame ranges, etc.
The logic wouldn't work for resetting frame ranges of renderlayer instances, because those attributes aren't on the renderlayer instance but set in the scene with potential renderlayer overrides, etc.

Lastly I think we should refactor the code for collecting the instances to lib so the collector and reset frame range share the same logic.

That would make sense. It's good to note however that #4388 will already do that since there you'd get the instances from the Create Context instead. So I'm wondering whether it's worth it now. This also means that this feature will need refactoring in that PR to continue to work.

@friquette could you implement this?

add keyword instances=True to reset_frame_range and make sure it does not run on creating render settings.
widen the scope of to other instances that have frame ranges, but not render family.

widen the scope of to other instances that have frame ranges, but not render family.

As far as I know it already works for ANY instance that has the frame attributes - it doesn't seem to check anything related to animation instances or alike.

As far as I know it already works for ANY instance that has the frame attributes - it doesn't seem to check anything related to animation instances or alike.

Yup, you are right.

@friquette is this ready to test?

@friquette is this ready to test?

Yes it is

Just noticed that there's actually logic implemented that is VERY CLOSE to this PR here but that's only triggered on task changed. We could technically merge/clean up that functionality and also use it in reset frame range.
Also, according to the reset frame range logic implemented here I think that might be setting the wrong frame ranges for some things if handles needed to be included? It's not setting start and end handles for example.
Anyway, might be good to merge/cleanup since the logic is pretty much a duplicate.

Just noticed that there's actually logic implemented that is VERY CLOSE to this PR here but that's only triggered on task changed. We could technically merge/clean up that functionality and also use it in reset frame range.

Good spot! Yeah, lets merge the logic/code.

@friquette could you have a look at @BigRoy feedback here, then we can merge this PR?

@friquette could you have a look at @BigRoy feedback here, then we can merge this PR?

I don't really understand what I need to do here. Can you explain please ?

@friquette I still get this error when opening the settings.

It's fixed. I didn't see that I removed the 'type' key from a maya setting...

@BigRoy you happy with this PR?

@tokejepsen Could you review again? There've been quite some commits with changing code.

Considering this is now behind a settings with and opt-in for a studio and that it's re-using existing code with some cleanup, I'm happy to merge it, provided someone can confirm the functionality itself is as intended.

Can anyone confirm that this works to be merged?

Can anyone confirm that this works to be merged?

I was actually ready to merge it, but tons of commits came after the last approval, so we need to try it again.

@BigRoy what do you think of the code?

New PR cleaner here: #5201


AndroidToolbar action text colour cannot be set programatically

I realize this is not an API that exists in Android, but that doesn't mean we can't do it :grinning:
https://snow.dog/blog/how-to-dynamicaly-change-android-toolbar-icons-color/
final PorterDuffColorFilter colorFilter
            = new PorterDuffColorFilter(toolbarIconsColor, PorterDuff.Mode.MULTIPLY);

    for(int i = 0; i < toolbarView.getChildCount(); i++) {
        final View v = toolbarView.getChildAt(i);

        //Step 1 : Changing the color of back button (or open drawer button).
        if(v instanceof ImageButton) {
            //Action Bar back button
            ((ImageButton)v).getDrawable().setColorFilter(colorFilter);
        }

        if(v instanceof ActionMenuView) {
            for(int j = 0; j < ((ActionMenuView)v).getChildCount(); j++) {

                //Step 2: Changing the color of any ActionMenuViews - icons that
                //are not back button, nor text, nor overflow menu icon.
                final View innerView = ((ActionMenuView)v).getChildAt(j);

                if(innerView instanceof ActionMenuItemView) {
                    int drawablesCount = ((ActionMenuItemView)innerView).getCompoundDrawables().length;
                    for(int k = 0; k < drawablesCount; k++) {
                        if(((ActionMenuItemView)innerView).getCompoundDrawables()[k] != null) {
                            final int finalK = k;

                            //Important to set the color filter in seperate thread,
                            //by adding it to the message queue
                            //Won't work otherwise.
                            innerView.post(new Runnable() {
                                @Override
                                public void run() {
                                    ((ActionMenuItemView) innerView).getCompoundDrawables()[finalK].setColorFilter(colorFilter);
                                }
                            });
                        }
                    }
                }
            }
        }

This should be re-opened, as it is broken in the new Support V7 library.

@afathman Did you mean to comment on the other issue?

Hi there! This issue is being closed because it has been inactive for a while.
If you'd like you can create an issue on Product Pains.
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix. We rely on the community to provide
bug fixes as the core team is focused on performance. Thanks!


Cannot deserialize 'format' field

Format values defined by the spec (date, date-time...) cannot be deserialized into the com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat type because this enum doesn't provide any means to create instances of it from those values. This type only accepts values such DATE, DATE_TIME etc. However the enum provides a toString that prints the correct values.  Very confusing error message ensues:
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException:
Can not construct instance of com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat
from String value 'date': value not one of declared Enum instance names:
[date-time, date, time, utc-millisec, regex, color, style, phone, uri, email, ip-address, ipv6, host-name]

I don't know if this is an issue with this project, or jackson-databind (which is where the enum is defined).

Which version is this with? (2.6.3 was just released)

Sorry, forgot to mention that. Indeed I'm not up-to-date as I'm using 2.4.4. I'll try it with the new version and come back to you.

I confirm this is still happening with 2.6.3, but with a slightly less confusing error message. Here's a test case:
String serializedSchema = "{\"type\": \"string\", \"format\": \"date\"}";
JsonSchema schema = new ObjectMapper().readValue(serializedSchema, JsonSchema.class);
assertEquals(JsonValueFormat.DATE, schema.asValueSchemaSchema().getFormat());

Result:

com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not construct instance of com.fasterxml.jackson.databind.jsonFormatVisitors.JsonValueFormat from String value 'date': value not one of declared Enum instance names: [HOST_NAME, COLOR, REGEX, URI, TIME, PHONE, STYLE, EMAIL, DATE_TIME, UTC_MILLISEC, IPV6, DATE, IP_ADDRESS]
 at [Source: {"type": "string", "format": "date"}; line: 1, column: 18] (through reference chain: com.fasterxml.jackson.module.jsonSchema.types.StringSchema["format"])
	at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:55)
	at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:907)
	at com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeAltString(EnumDeserializer.java:130)
	at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize(EnumDeserializer.java:84)
	at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:520)
	at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:95)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:258)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:161)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:136)
	at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:122)
	at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:93)
	at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:131)
	at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:42)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2726)
	...

I think this area has actually been changed  on master (for 2.7.0-SNAPSHOT), but I forget which issue or PR it was. Problem with possible fix for earlier versions is that I think they also serialize schema instances using upper-case constants, which while wrong, will actually successfully deserialize. Changing serialization format along is a behavior change that could cause issues for existing usage, which is why fix in patch release would be risky.

Is it not possible to support both uppercase-with-underscore (current behavior) and lowercase-with-hyphens (correct behavior)?

@hgwood sounds doable. PRs welcome.

Would you agree that the best way to go about this is to add a @JsonCreator to the enum? The PR would be against the jackson-databind project.

That might be the best way yes.

The test case passes on jackson-databind/master (2.7.0-SNAPSHOT, 4950f446876b8de05c200cd98019bdf1f527d465) so it seems the issue is already fixed. Thanks for your help.


Missing jupyter.css

I might just be missing an installation step for css. Here's the traceback:

The docs did build without the css so that is a plus.

I've been blindly working on this, I've yet to build/test locally.  I assumed relative paths worked in jinja includes, but it looks like it searches in the template directly regardless.
Side note, what's the color scheme you use in your terminal?  I really like it!

I think it is not finding jupyter.css. I've been playing around on this branch in my repo: https://github.com/willingc/jupyterhub/tree/try-theme
For the terminal, Monokai Soda is my flavor of the month (https://github.com/mbadolato/iTerm2-Color-Schemes#monokai-soda). I like Flatland as well. Though truth be told every month or so I switch it up.

This should be closed by #7


Wrapper endpoints

All changes will be here from the issue I made. Issue: #46

yo can someone make the util fn

Time to merge to master

nice


Joint Methods

Adds some missing joint methods:

Constraint::GetType and Constraint::GetSubType
FixedConstraint
All the lambda methods

It compiles, but I haven't tested everything extensively yet.

Looks good, thanks!

I like changing FixedConstraintSettings to a struct!  It's a lot easier for me to deal with in C.  Do you think the other ShapeSettings/ConstraintSettings structs could receive the same treatment?  I could work on it and send a PR.

I like changing FixedConstraintSettings to a struct! It's a lot easier for me to deal with in C. Do you think the other ShapeSettings/ConstraintSettings structs could receive the same treatment? I could work on it and send a PR.

Problem is I need to add also the base ConstraintSettings in the C struct which I somehow missed with latest commit, lets investigate whats the best way to handle this.


Add content on strings

Added some content on Indexing, Slicing, Concatenation and Repetition.

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


examples/snake2.rb - three suggestions

Hey there Andy,
I tested the snake2.rb variant :D
https://i.imgur.com/Pmdouqa.png
I noticed one tiny glitch or possibility for improvement I think:
when the green snake hits the apple, there is a slight delay
before it grows. I assume there is some internal re-calculation
or something, so perhaps it can not be fixed, but I wanted to
mention it. It's no big deal but a bit distracting.
The second thing: could perhaps a default keybinding be
added, also as example, that when you hit the space key,
the snake does not move? I don't know if that is possible
but it would be nice to "freeze" it if that is possible via the
space key, and then "unfree" it
last but not least, would it be possible to add entry fields,
perhaps in the menu or something, to choose a specific
colour? This also for demo purposes, e. g. say, a blue
snake, and a pink apple or something. E. g. to allow
the user to pick this thing. (I have not tested this in other
snake variants such as glimmer-tk or so, so perhaps you
don't want to add this to all snake variants, but I just
added it here because I tested it right now in glimmer-dsl-libui)

No, yes, no.
Regarding your first inquiry, the delay that happens during growth is normal. That is because the snake does not really move when it eats an apple. It instead grows to cover one extra block, so it seems paused until it moves to the next block after the apple. I even checked an old Nokia Snake Version 1 online to verify that and it behaved exactly the same way.
Regarding your second inquiry, I addressed it by adding pause functionality in glimmer-dsl-libui version 0.4.21 by hitting the spacebar.
Regarding your third inquiry, it is unimportant and if a software engineer would really like to change the color, they can simply do so in the code with one or two word changes. The snake example is after all a learning demo, so we should leave some things to software engineers to do on their own too for learning purposes.
Thank you for your inquiries in any case. Keep them coming!


CDI-700 Mention BeanManager#createInstance in spec and correct it's j…

…avadoc.

Looks good.

+1

LGTM


PeriodFilter Dates Acting Wierdly: Chosen Date is off by Two Days

This is something that I've noticed working on another issue. It seems that the PeriodFilter behaves weirdly when choosing dates.
As I've observed it seems that when we choose the dates the date chosen is not the one that's displayed in the Period filter. Rather it seems to be off by two days. Here's a screen-cast which demonstrates that. Note that I choose Sep 01st to Sep 16th in the period filter; however after choosing it the period filter displays August 30th to September 14th. It seems that both the dates are two days off. 🤔

Good catch! That probably has to do with timezones. Being in CET, I never noticed this one personally but I'll try to look at it since I'm working on the PeriodFilter component.


E2 debug functions are being abused to overflow clients

Malicious players are currently able to make the server network a string of any length they choose to other players, which results in targeted players disconnecting from the overflowed reliable buffer crash.
There is currently no string length limit inside printColorVarArg so malicious players are easily able to overflow people regardless of the message delay. Same for printColorArray.
I can provide code to reproduce the issue with more details in private if requested.

There's technically already a size limit, imposed by net messages themselves, of 64 kb. Sending 64kb by itself wouldn't be enough to overflow the buffer, you'd have to spam it often.
So, I suggest that this can be fixed either by modifying the checkDelay function here https://github.com/wiremod/wire/blob/3b100269caaadb7ba8c8ceeab3ffc1fad60cceee/lua/entities/gmod_wire_expression2/core/debug.lua#L73 to take a "size" parameter (so that we can decrease the number of charges depending on the size of the message for example)
Or, it can be fixed by limiting the size of the message to some size lower than 64kb.
Or both

The delay code appears to be bugged. It never actually adds any charges because it's flooring a number smaller than 1 in the case of running this code in a while (perf()) loop. Additionally the delay code is using CurTime() and this loop is running so fast that apparently its 4 decimal places are useless.
On line 56, I simply added a print statement:
print('chargedToAdd', timePassed, chargesDelay, timePassed / chargesDelay, chargesToAdd)

chargedToAdd    0       0.3     0       0
chargedToAdd    0       0.3     0       0

[wire-master] Trying to send an overflowed net message!
  1. printColorVarArg - entities/gmod_wire_expression2/core/debug.lua:318
   2. unknown - entities/gmod_wire_expression2/core/debug.lua:389
    3. pcall - [C]:-1
     4. unknown - entities/gmod_wire_expression2/core/core.lua:51
      5. pcall - [C]:-1
       6. Execute - addons/wire-master/lua/entities/gmod_wire_expression2/init.lua:139
        7. v - entities/gmod_wire_expression2/core/gametick.lua:42
         8. unknown - lua/includes/modules/hook.lua:84

chargedToAdd    0       0.3     0       0
chargedToAdd    0       0.3     0       0

[wire-master] Trying to send an overflowed net message!
  1. printColorVarArg - entities/gmod_wire_expression2/core/debug.lua:318
   2. unknown - entities/gmod_wire_expression2/core/debug.lua:389
    3. pcall - [C]:-1
     4. unknown - entities/gmod_wire_expression2/core/core.lua:51
      5. pcall - [C]:-1
       6. Execute - addons/wire-master/lua/entities/gmod_wire_expression2/init.lua:139
        7. v - entities/gmod_wire_expression2/core/gametick.lua:42
         8. unknown - lua/includes/modules/hook.lua:84

chargedToAdd    0       0.3     0       0
chargedToAdd    0       0.3     0       0

[wire-master] Trying to send an overflowed net message!
  1. printColorVarArg - entities/gmod_wire_expression2/core/debug.lua:318
   2. unknown - entities/gmod_wire_expression2/core/debug.lua:389
    3. pcall - [C]:-1
     4. unknown - entities/gmod_wire_expression2/core/core.lua:51
      5. pcall - [C]:-1
       6. Execute - addons/wire-master/lua/entities/gmod_wire_expression2/init.lua:139
        7. v - entities/gmod_wire_expression2/core/gametick.lua:42
         8. unknown - lua/includes/modules/hook.lua:84

chargedToAdd    0       0.3     0       0
chargedToAdd    0       0.3     0       0

Dropped Player from server (Player overflowed reliable buffer

Running this in a while (perf()) loop will basically queue them up so quickly that it will instantly overflow the target.
By naively truncating the input string to 8000 characters, it doesn't appear to overflow even when in a perf() loop.
Also, why are wire_expression2_print_max and wire_expression2_print_delay clientside cvars that can be freely changed to whatever the client wants? Not only can I not just potentially reduce the number of charges they have available via serverside, they can set their own charges to any large number, e.g. 100000, and the server will just accept that, no questions asked.

@Divran 64kb is just the message limit. The buffer limit is not much larger and it empties are a pretty slow rate.
@Mista-Tea The debug functions originally only network to the owner of the E2 so those restrictions were configurable by the client. Whoever added the printDriver functions probably didn't anticipate abuse. Is it just people using the E2 owner's vehicle getting abused or is it something else too?

I think to fix, we can limit text to 254 per message and use checkDelay( driver ) instead of checkDelay( self.player ).

@thegrb93 Yes, just anyone that sits in the malicious player's vehicles. This can unfortunately be pretty much automated by positioning the chairs in front of players via E2 and just waiting for them to press E.
I've also apparently found a way to instantly crash the server via print() on both vanilla and modded, regardless of the existing string.Left(text,249) call.

There's not an existing string.Left(text,249) on print()

https://github.com/wiremod/wire/blob/d1402f26bc7f350ba87003b8fa1c728a1848d62b/lua/entities/gmod_wire_expression2/core/debug.lua#L137 ?

Oh my bad. Not sure how I figured that. I added a limit to the length of args and length of each arg.

I do see potential for stack overflow still though.

I just pulled the latest changes and I can still instantly crash a vanilla server with print, if you'd like the code to reproduce it.
I'll test the other methods initially brought up in this issue next though.

Nvm no stack overflow

Yah, I'd like to see what the crash text is. Sounds like a gmod bug.

Issue was addressed over DMs. Thanks for addressing this!


GOAWAY for graceful shutdown

Do we need something similar to HTTP/2 GOAWAY?
The use case I have in mind is a server shedding load and disconnecting a connection and letting a client know.
We don't currently have a connection-level error frame.
Example use case from HTTP/2 spec:

Servers are encouraged to maintain open connections for as long as possible but are permitted to terminate idle connections if necessary. When either endpoint chooses to close the transport-layer TCP connection, the terminating endpoint SHOULD first send a GOAWAY (Section 6.8) frame so that both endpoints can reliably determine whether previously sent frames have been processed and gracefully complete or terminate any necessary remaining tasks.

Yes, I just mentioned that in #25, a server needs an explicit way to reject one individual message.
The client has to know that the server didn't process the message, and know that it's safe to retry it (even with non-idempotent messages).

The GOAWAY frame though is not for an individual message, it is for the entire connection.
This is similar to what is being discussed in https://github.com/ReactiveSocket/reactivesocket/issues/50 where we need a connection-level error frame.
At the individual stream level, we can already use the ERROR frame to reject an individual request.

GOAWAY frame is useful for a few things in HTTP/2:

Stop accepting new streams but finish processing of existing streams.
Send the last received stream ID before the GOAWAY frame was sent. This makes the client gracefully complete the processing of the existing streams but not send or expect to receive any data for the streams that are initiated after the last received stream by the peer.
The peer sending the GOAWAY frame need not send any data for the streams initiated post sending GOAWAY frame. This will save sending the ERROR frame for those streams.

If we are not doing these and just indicating error in the frame and close the connection immediately. I think it will have very limited value as opposed to just closing the connection. Graceful shutdown is an important aspect of GOAWAY frame IMO.

@NiteshKant has a good point. I'm not sure that graceful shutdown is needed with the LEASE semantic in place. Just send a null LEASE that stops new requests, then send COMPLETEs or ERRORs (for subscriptions).

Mentioned in #53 . Repeating here.
We could:

Define ERROR to be allowed on Stream ID 0.
Remove SETUP_ERROR as a separate frame type.
Use ERROR on Stream ID 0 to mean connection level error with connection teardown (?).

Whether seen during SETUP or during operation, ERROR on Stream ID 0 is not necessary to distinguish between. The operation is the same. Inform application, shutdown, etc.

I'm not sure that graceful shutdown is needed with the LEASE semantic in place. Just send a null LEASE that stops new requests, then send COMPLETEs or ERRORs (for subscriptions).

Me @stevegury and @benjchristensen were discussing this offline. Lease 0 isn't exactly the same as the GOAWAY frame as the GOAWAY frame also contain the last received Stream ID which is useful for the peer to not send any more data for the streams that would not be processed in addition to not sending any more requests.

My understanding of GOAWAY is that it's equivalent to a LEASE 0 + a "reject" of all the outstanding requests (in a more compact and efficient way).

@stevegury "all the outstanding requests" has an implicit race condition as described in the HTTP/2 spec:
There is an inherent race condition between an endpoint starting new streams and the remote sending a GOAWAY frame.
To deal with this case, the GOAWAY contains the stream identifier of the last peer-initiated stream that
was or might be processed on the sending endpoint in this connection.
For instance, if the server sends a GOAWAY frame, the identified stream is the highest-numbered stream initiated by the client.

That is why "last accepted stream/request id" with GOAWAY is important.

@NiteshKant you're right, GOAWAY is stricly better.

SETUP_ERROR has been removed and replaced with a single ERROR frame that handles all of this. Error codes updated.

Are we intending to use CONNECTION_ERROR as something analogous to GOAWAY?

We have added a CONNECTION_ERROR to the protocol for optimistic delivery of a connection failure.

Reopening this as per offline and related discussions in #92
The general agreement on this issue was that an ERROR frame on stream 0 and no further leases is equivalent to HTTP/2 GOAWAY frame. However, as it turns out, leases are optional, so a client may not be honoring leases. In such a scenario, an ERROR frame on stream id 0 does not indicate a graceful shutdown and is ambiguous.
I propose we introduce something like GOAWAY.

\cc @stevegury @yschimke @yunong

👍
it simplifies the code for dealing with streamIds exhaustion, and it can also be used for properly close a server (with draining of clients.)

cc @tmontgomery

I agree that GOAWAY might be simpler for handling stream ID exhaustion. But it does raise a few/several points.

What semantics should be assumed for existing streams when GOAWAY is seen? Implicit end of stream?
What about outstanding requests? Error indicated to the application?

We should be able to come up with something simple here, though.

Below is what I believe we need for reactivesocket.

What semantics should be assumed for existing streams when GOAWAY is seen? Implicit end of stream?

All the active streams stay active.

What about outstanding requests? Error indicated to the application?

All outstanding requests are implicitly error/refused via the GOAWAY frame. There is no ambiguity because the GOAWAY frame contains the streamId of the last accepted stream.

BTW for context, I forgot about this and dreamed up a metadataPush carrying a DRAIN message which is essentially the same thing.  So I'm a big +1 for GOAWAY with meaning of stop sending new requests and optionally you have X seconds before the connection will be closed.

From a discussion today:
GOAWAY needs to indicate a temporary condition (retry OK) vs. a permanent one if resumability is supported.

@tmontgomery @benjchristensen anyone of you wants to add this to the spec?

@tmontgomery should this be put in before we call the spec 1.0?
Should this be a new frame type, or just another error code, such as CONNECTION_GOAWAY?

I would be OK with 1.0 using the error codes for CONNECTION_ERROR for now to get the semantics when needed. Would kind of like more implementation experience to see if we need more of a controlled GOAWAY/FIN sequence than the error conditions.

Removing 1.0 milestone then.

I would be OK with 1.0 using the error codes for CONNECTION_ERROR for now to get the semantics when needed.

I agree that we don't need to have a different frame type for 1.0 (probably never) but I think we should at least do one of the following:

Mention that all connection errors require draining i.e. error all streams before closing connection as a response to the error.
Define a new error code for GRACEFUL_SHUTDOWN

@NiteshKant can you suggest some wording here?

@tmontgomery the question is do we update the CONNECTION_ERROR description to mention that all close should be graceful (wait for all active streams to terminate) or we introduce another error code like GRACEFUL_SHUTDOWN and keep the current CONNECTION_ERROR as immediate shutdown. I prefer the latter, WDYT?

I think I prefer the latter, but not sure exactly what that would look like....

@tmontgomery thanks, I will send a PR.

This was merged in #148


Improves UI of Filters

Fixes #74, #62
Description
Will improve the UI of filters.
Other information
Here is a screenshot of improved UI.
When filters are open:

When filters are closed:

Checklist:

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the master branch of the repository.
[x] My commit messages follow best practices.
[x] I added tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

@AmanR28 a fresh design indeed. I will test it. The two things I am concerned about is the User Experience and how the design can be extended to accommodate more filters.

@makkoncept Ohk, Waiting for results.

@AmanR28

The initial content is not vertically centered and it's not looking good. (please refer the screenshots below).

Before

After

The loading message that is shown when the providers are loaded is off place. (please refer the screenshots below)

Before

After

The intuitive action of a user after selecting the options from the drop-down is to press the apply button, without necessarily closing the dropdown. In the current implementation, the Apply button gets hidden behind the All licences dropdown. A little inconvenience, but don't worry about it right now.

Filters Close:

Filters Open:

@AmanR28 works nicely! Thanks for contributing.


New Filter Request: Forward Warp

I'd like to request a new filter, "Forward Warp"
The Forward Warp filter pushes pixels forward as you drag.
Inputs:

Center Point (x,y) - Center region of pixels to push (in pixels)
Radius (in pixels) - Radius pixels to push (in pixels)
Angle (degrees) - Direction of push

If you do not feel this should be provided in standard set of filters, do you have tips on how to implement this via custom shader?

How do you want the pixels to transform via a "Forward Warp"?
For example with parameter:
center: 50,50
radius: 30
angle: π
Where do you expect the pixel at 45,50 go?

The “Forward Warp” tool pushes the pixels of an image forward as you drag. There is an example of this effect in Photoshop's Liquify tool
Input parameters:

Center (x,y) = Center point of region to warp (start drag point)
Radius (in pixels) = Radius of circular region to warp
Direction (angle) = Direction to warp target region (direction of drag)
Strength = Number of pixels to push
Density (min = 0, max = 1) = \When set to 0, all pixels in target region are pushed the same amount of pixels. When set to 1, pixels closest to center are pushed the most. Pixels furthest from center are moved the least

For example, with parameters:

Center = (50,50)
Radius = (30)
Direction = 90 degrees   (assuming 90 degrees is to the right)
Strength = 5
Density = 0

I would expect pixel at 45,50 go to 50,50
Does this description make sense?

@YuAo Hello, do you have any pointers to implement this type of warp? Did I provide enough information about the transform?

Hi, @vjdaemp sorry, too busy these days.
I think this can be done using a grid mesh.
import MetalPetal

struct ForwardWarpParameters {
    var center: SIMD2<Float> = .zero
    var radius: Float = 0
    var direction: Float = 0
    var strength: Float = 0
    var density: Float = 0
}

class ForwardWarpFilter: MTIFilter {
    var parameters: ForwardWarpParameters = ForwardWarpParameters()

    var outputPixelFormat: MTLPixelFormat = .unspecified

    var inputImage: MTIImage?

    var outputImage: MTIImage? {
        guard let inputImage = inputImage else {
            return nil
        }
        let mesh = GridMesh(width: Int(inputImage.dimensions.width), height: Int(inputImage.dimensions.height), cellSize: 4) { position in
            let distanceToCenter = distance(parameters.center, position);
            // Find the target position for the warp.
            if (distanceToCenter < parameters.radius) {
                //direction and strength
                var targetOffset = SIMD2<Float>(cos(parameters.direction), sin(parameters.direction)) * parameters.strength
                //density
                let distanceFactor = distanceToCenter/parameters.radius
                targetOffset = targetOffset * (1 - parameters.density * distanceFactor)
                return (position - targetOffset)
            } else {
                return position
            }
        }
        let geometry = MTIVertices(vertexBuffer: mesh.vertexBuffer,
                                   vertexCount: UInt(mesh.vertexCount),
                                   indexBuffer: mesh.indexBuffer,
                                   indexCount: UInt(mesh.indexCount),
                                   primitiveType: .triangle)
        let renderCommand = MTIRenderCommand(kernel: .passthrough, geometry: geometry, images: [inputImage], parameters: [:])
        return MTIRenderCommand.images(byPerforming: [renderCommand], outputDescriptors: [MTIRenderPassOutputDescriptor(dimensions: inputImage.dimensions, pixelFormat: outputPixelFormat)]).first
    }
}

For GridMesh, see https://gist.github.com/YuAo/a144281d5619d725744cb0d3edaff04a

Thank you @YuAo. I will give this a try and report back.

@vjdaemp or @YuAo do you have an example project demonstrating this filter?


Port to 2.x API

The 2.0 API is faster and simpler. Port the plugin to the new API.

The 2.0 port has been completed.


Coroutines toDeferred extension doesn't respect structured concurrency

Summary
Apollo's client Coroutines Extensions doesn't respect structured concurrency when the parent's job is cancelled.
Version
2.3.1
Description
I'm having a flow like this
buttonClicks.mapLatest { buttonType ->
    val queryButtonTypeQuery = getQueryFromButtonType(buttonType)
    apolloClient.query(queryButtonTypeQuery).toDeferred().await()
}.onEach { response ->
    // Do something with response.
}.collect()

Let's assume I'm clicking buttons quickly, I'd expected OkHttp cancelling requests in the logs since mapLatest cancels the old emission in favor of the new emission. However that never happens.
On the contrary when using toFlow().first() rather than toDeferred() I can see OkHttp cancelling requests in the logs.
I/okhttp.OkHttpClient: <-- HTTP FAILED: java.io.IOException: Canceled
On Kotlin's Slack channel @streetsofboston has suggested to remove toDeferred and introduce an await() function that respects structural concurrency through a suspendCancellableCoroutine
suspend fun <T> ApolloCall<T>.await(): Response<T> =
        suspendCancellableCoroutine { cont ->
            enqueue(
                object : Callback<T>() {
                    override fun onResponse(response: Response<T>) {
                        cont.resume(response)
                    }
                    override fun onFailure(e: ApolloException) {
                        cont.resumeWithException(e)
                    }
                }
            )
        }

Thanks for the detailed feedback!
I'm curious, does that mean it's not possible to achieve structured concurrency using CompletableDeferred? I'm not sure why I used CompletableDeferred at that time.
In all cases, await() would also be more concise so it'd be a double-win 👍 . Do you feel like opening a pull request? I can look somewhere next week else.

I'm curious, does that mean it's not possible to achieve structured concurrency using CompletableDeferred? I'm not sure why I used CompletableDeferred at that time.

I think you can, CompletableDeferred takes an optional parent in the ctor, so probably you can do CompletableDeferred(currentCoroutineContext()[Job]) in order to make that deferred cancellable by the parent.

In all cases, await() would also be more concise so it'd be a double-win +1 . Do you feel like opening a pull request? I can look somewhere next week else.
I think yes, I can do that, you should expect a PR soon by next week.

I think you can, CompletableDeferred takes an optional parent in the ctor, so probably you can do CompletableDeferred(currentCoroutineContext()[Job]) in order to make that deferred cancellable by the parent.

Got it, thanks for the explanation.

I think yes, I can do that, you should expect a PR soon by next week.

Awesome 😃  Thanks!


4.2.7版本报警告

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link

Steps to reproduce
WARNING in<EMAIL_ADDRESS>148:19-29
export 'Canvas' (imported as 'GSVGCanvas') was not found in '@antv/g-svg' (possible exports: default)
4.2.7版本初始化G6后 报警告

Environment
Info

g6
4.2.7

System
macOS

Browser
chrome

可能是 webpack 5 打包的原因，设置 "skipLibCheck": true 可以把这个检查跳过，应该不会影响使用的

好的，谢谢~


Add explicit way of marking CRUDLink_Event as unreliable.

When unreliable CRUDLink_Event is sent over the link we will not wait for it's id to be ACK'ed from the other side - the packet should be removed from unsent_packets list immediately after it is sent over the underlying transport link (udp)

Consider splitting unsent_packets into unsent and unacked ?

This has been solved by new network layer code.


Tag fake hierarchy support

Add a setting to enable / disable support and recognition for this feature (and possibly which will be the main system to use)

this is pure filtering / displaying speed optimalisation

https://groups.google.com/forum/#!msg/pinboard-dev/Tnu2VYliOrQ/X3Ar6yrhFoUJ


Cart not emptying on checkout completion

Hey, just wondering if anyone else has run into this issue I'm having or if anyone can help.
I'm using the embedded checkout and once a checkout is complete the cart doesn't empty unless you do a full page refresh.
I'm using the "useCart" hook to display cart info.
Thanks

Update
I've used the "onComplete" option from the embedded checkout to revalidate the cart which is working. Is this how it's supposed to be used?
Thanks

Hey @mattdjenkinson, where are you setting that onComplete option?

Hey Joe,
I'm setting it when calling the embedded checkout.
` await module.embedCheckout({
      containerId: "checkout",

      url: embedded_checkout_url,

      styles: styles,

      onSignOut: () => logout(),

      onComplete: () => revalidate(),
    });`


Add support for xy control

This PR adds

functionality to support fixtures with the xy color mode. It also adds the colorsource control as it is required to switch between temp, rgb and xy color control (see here).
Also while using demo.py I found that BLEDevice.metadata is deprecated and therefore replaced the call as suggested here

Known Limitations

As colorsource is an additional control, the consumer (casambi-bt-hass) needs to set this property correctly. (https://github.com/lkempf/casambi-bt-hass/pull/84)
In a different PR I saw that methods in Casambi are used as helpers, e.g. for setting temperature to directly change the attribute of a Unit or Group. How would the exact OpCode and binary format be found? Wireshark?

Sorry that this took so long. I'm having a look now. To get the missing information you either have to look at the debug messages generated by the library  (which dumps all decrypted packages) or use frida to get logs from the app. But I'll see what I can do regarding your questions.

Where did you get the 11 bits from that you use for the XY resolution? I've changed your code to get the length from the unit control but I used the 11 bits for the SetColorXY operation. The resolution in UnitState was only needed because I decided against using floats for some reason.

Thanks for the contribution. Looks good to me now (pending a decision on the 11 bit default). Can you easily test my changes? I don't have a fixture available that supports xy or colorsource.

Hi, thank you for putting your time in!

Initially 11 bits was a guess from the provided example in the API response https://api.casambi.com/fixture/17716. So trial and error converted 0.247,0.32 to 1036943
Setting the color seems to be working. Testing it in homeassistant also works, but there still seems to be a bug with HA receiving the wrong color (Im on 1c9d685). But that should be discussed in https://github.com/lkempf/casambi-bt-hass/pull/84

From my side this can be merged :+1:

Sorry for the mess (and the wait). The color conversion should be fixed now. Could you test it again?

I just was able to test it again. Seems to be working just fine now. Thank you for your help!
LGTM


docs: add a note about django-upgrade in the readme

A long overdue note to point to @adamchainz project 😄

Cool, thanks :)


"Cancel"-button when downloading a repository

When initially downloading a repo, you see the loading bar, the percentage, the name and some more information. But there is no way to cancel the download. One may want to do that when they realize that the internet connection sucks at the moment and they want to download it sometime later.

Sorry for the delay :) been busy.

That sounds like the user cannot cancel while the actual download is happening. Can the user cancel while the download is running? (Without force-closing the app)

You tap the repository while the download is happening. Tapping an already-downloaded repository does nothing (long press those for more options).


test (CICD auto attribution project and kaban col): test

This is a test

this is not working, I will perform the test in a separate private project for test


Add function for obtaining a Lets Encrypt certificate

Update readme.md to reflect the new function

I have kept the function without the "wait" parameter as it the api call always returns a certificate if the initial call is successful, but checking the certificate id for updates returns a 404 if there is an error.
If this is not the best method here, please let me know and I will update.

Much thanks :)


In which occasion we should use proxy than old style polymorphic?

I just found this repo on github and didn't get the advantage about it, can you give me some example that 'proxy' is far more convinient that old style polymorphic?

First of all, this is not an issue and should go to "Discussions".
The major convenience, IMO, is that "proxy" is non-intrusive, so we don't need to change the representation of our types to achieve polymorphic behavior. Non-intrusive type erasure can also be achieved via (native) virtual functions, but such an approach sometimes needs more indirection (dereferencing) and is less performant.

It is generally recommended to use the "Proxy" library over virtual functions if your compiler supports C++20. Although virtual functions can be used to implement runtime polymorphism, they can lead to significant work when the architecture changes and can make memory management deficient when there are many small objects. Please refer to the FAQ.


memory issue

Hi,
Thanks a lot for providing the open-source code!
May I ask how much memory to run the example code? such as
$th main.lua -pastalogName 'model_RNN' -nGPU 1 -dataset 'ucf101' -split '1' -fcSize '{0}' -hiddenSize '{512}' -lstm -spatFeatDir '<path/to/feature/>' -tempFeatDir '<path/to/feature/>'
    My desktop has a Nvidia 1070, but it run out of memory when running this code.
    Thanks a lot!

You can decrease the batch size


BUG: CI-Tests sometimes doesn't appear in the CLI's results.

Describe the bug
Sometimes (~1% of the times) CI-Tests is not included in the output from the Scorecard CLI. No exceptions are thrown, the result set simply only contains 17 checks.
Reproduction steps
This one is tough to reproduce. It happens very rarely and not always on the same repositories.
I'm using the CLI to run Scorecards on 200 projects. Usually 1-2 projects (different projects each time) simply don't have results for CI-Tests.
Each run of the CLI takes the form scorecard --repo=owner/repo --format=json. Running Scorecard on the same repositories later successfully gives a result for the check (with and without --checks=CI-Tests).

Have you noticed duplicate Code-Review entries?
Could be related to https://github.com/ossf/scorecard/issues/2686

I have not, but they may have gone unnoticed given how I was parsing the results. I'll try to investigate.

Just inspected a new case and yes, there's two Code-Review blocks.
        {
            "details": null,
            "score": 9,
            "reason": "27 out of last 30 changesets reviewed before merge -- score normalized to 9",
            "name": "Code-Review",
            "documentation": {
                "url": "https://github.com/ossf/scorecard/blob/376f465c111c39c6a5ad7408e8896cd790cb5219/docs/checks.md#code-review",
                "short": "Determines if the project requires code review before pull requests (aka merge requests) are merged."
            }
        },
        {
            "details": null,
            "score": -1,
            "reason": "internal error: internal error: Client.Repositories.ListStatuses: internal error: ListStatuses: GET https://api.github.com/repos/easymock/objenesis/commits/1ad0fe19f872d675d6c29ea9103122813ad7c9f1/statuses: 400  []",
            "name": "Code-Review",
            "documentation": {
                "url": "https://github.com/ossf/scorecard/blob/376f465c111c39c6a5ad7408e8896cd790cb5219/docs/checks.md#code-review",
                "short": "Determines if the project requires code review before pull requests (aka merge requests) are merged."
            }
        },

I've made a small patch here that seems to have helped in my tests.
https://github.com/spencerschrock/scorecard/tree/bug/check-race
Can you build from it and test it in your next script run?
Thanks to the Chainguard Imposter Commit blog I found out this is easy to checkout in the normal ossf/scorecard repo:
git fetch origin 7f43a24e2ccc091435a841780f3b679b449106f5
git checkout FETCH_HEAD

Good catch! Hadn't noticed that. Looking at my logs I can confirm that every single time this happened, it was after sleeping for the quota.

Should be fixed after merging #2756


chore(deps): update common-dev-assets digest to 7dedb41

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
d106e3b -> 7dedb41

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Added functionality to set resource.

Hi,
I've added functionality to set resource to a user-specified string.
This is the first code I've wrote in a long time, please be gentle.
cheers!

Well, actually I probably sanitize the resource.
Will see to that tomorrow.

Will put this in a new branch.
The next time my mom asks me what I do with my time, I'll answer:
"Obviously not learning git, duh!"


Update OnePlus vendor rating

While looking at my support emails OnePlus after upgrade to Android 10 is far most frequented abuser of background killing.
It has at least 10x more support requests than other vendors.
Good news for this web site is that it mostly helps to solve the issue, bad news for users is that they need to manually configure their phones to make apps running on background working.
According my experience I suggest to give five :-1: to OnePlus with Android 10.

We had a very similar experience maybe a year ago.. than this was completely overthrown by Nokia which is now hopefully resolved.. at the moment we have mostly Samsung and Huawei.. especially Samsung which restricts background processes for apps which are not used for 3 days..
But I agree 1+ is a really problematic OEM, especially problematic relative to their market share. The biggest problem is probably they reset the battery optimization settings with firmware updates. So this may also be the issue after Android 10 update (but also may be something new hard to say)..
At least one of our 1+ Android 10 users reported that after 10 upgrade he had to do the settings again.
We have an exact scoring method described at:
https://dontkillmyapp.com/about_score
but we have reserved the right to adjust by +/- 1 and also the fact that they revert the user settings each time really makes it aspire for the -5 category.. so I'm in!

Ok, thanks for explanation. My support requests are almost always related to update of their OS to Android 10 so it is most likely reset of background work settings.

Decision is up to you.

I'm closing this issue voluntarily.


fix typo

Codecov Report

Merging #561 (58717f9) into main (b45416a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #561   +/-   ##
=======================================
  Coverage   96.56%   96.56%
=======================================
  Files          56       56
  Lines        2303     2303
=======================================
  Hits         2224     2224
  Misses         79       79

Impacted Files
Coverage Δ

pfhedge/autogreek.py
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


Introduce a basic Twig standard

Codecov Report

Merging #142 (329d845) into main (502c84a) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##                main      #142   +/-   ##
===========================================
  Coverage     100.00%   100.00%
- Complexity       465       466    +1
===========================================
  Files             36        37    +1
  Lines           1340      1344    +4
===========================================
+ Hits            1340      1344    +4

Files
Coverage Δ

src/Standard/Generic.php
100.00% <100.00%> (ø)

src/Standard/Twig.php
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add order option to SupportsFeatureMixin module

This is a followup (or prequel?) to https://github.com/ManageIQ/manageiq/pull/19186 that would allow the ability to set whether or not a given service is actually orderable.
At the moment there's only ServiceTemplate.validate_order which returns a simple boolean. This allows for more flexibility for subclasses/providers that can hook into it and provide custom messages if/when it's not supported.
Update: This also explicitly includes the SupportsFeatureMixin into the ServiceTemplate class, and adds a default supports :order to it.

@djberg96 can this be ivanchuk/yes?

@djberg96 ^ ping

@simaishi Pretty sure, yes. @agrare Do you have any objection?

Fine with me

Ivanchuk backport details:
$ git log -1
commit ac4757e1ad3235aa09516f2c03464c6c0b9f6edd
Author: Adam Grare<EMAIL_ADDRESS>Date:   Mon Aug 26 15:55:19 2019 -0400

    Merge pull request #19203 from djberg96/supports_feature_order

    Add order option to SupportsFeatureMixin module

    (cherry picked from commit baeb7ba143c811e402f8507c386fc669efabf527)

    https://bugzilla.redhat.com/show_bug.cgi?id=1768520


How do I build multilingual sites

I want to build a user-oriented multilingual site. My idea is to build multiple sites with the same layout and multilingualism.But,how can I do that?

Although I tried to install the document step operation, I made a mistake


Invalid login credentials

Hey, Pyro!
The checker is not working, atleast to me. Yes, I know, that this has been explained in #20 , but even with the explanation and the new checker.py that you've uploaded, it gives me the Invalid login credential result to working accounts (checked manually). Any ideas?

I guess, you have to wait for it, I will try new ways to solve the issue.

that's okay <3

I guess, you have to wait for it, I will try new ways to solve the issue.

Did u solve it?

Nope, I am thinking to close this project because I am unable to solve this issue, hopefully someone else could solve it and make even a better checker tool for crunchyroll.


[Custom client] Implementation of my own client for iOS

I trying to implement my own client for iOS, but without good documentation it's so hard to understand how it's all should works.
I just have some questions:

What angle values are considered normal for alvr_send_views config?
Why am I receiving such a strange picture? The first thing that catches your eye is the strange intersection of planes in the center (partially fixed by reducing the size of half the screen). Well, the second, more critical thing is that the eye cameras are located in very strange places.

My views configs code: (based on alvr-visionpro repo)
let v: Float = 1.1
let v2: Float = 1.1
let leftAngles = atan(simd_float4(v, v, v, v))
let rightAngles = atan(simd_float4(v2, v2, v2, v2))
let leftFov = AlvrFov(left: -leftAngles.x, right: leftAngles.y, up: leftAngles.z, down: -leftAngles.w)
let rightFov = AlvrFov(left: -rightAngles.x, right: rightAngles.y, up: rightAngles.z, down: -rightAngles.w)
let fovs = [leftFov, rightFov]
let ipd = Float(0.063) // Magic value from alvr-visionpro repo
alvr_send_views_config(fovs, ipd)

What am I doing wrong?

For iPhones ?

@ShootingKing-AM Yes

Maybe you can take a look at PhoneVR codebase ? It uses alvr_client_core + cardboard api.
I also wanted to extend PhoneVR support to iPhones. Maybe we can use some platform agnostic library (flutter or something?) to serve VR on phones?

@ShootingKing-AM Yes, I already use codebase of PhoneVR as examples of implementation. But i have some specific problems with cardboard API. (yet)
In common I just want to understand how it's all should work.
About integration to PhoneVR iOS support... We can use Kotlin Multiplatform but I think this is not quick to implement. :c
Maybe we can implement app abstraction in C/C++?

What angle values are considered normal for alvr_send_views config?

alvr_send_views takes in the field of view in radians: for example, in the Android client,
https://github.com/alvr-org/ALVR/blob/073d16e2a5fa02e2970a37982dde5db9709006c5/alvr/client_openxr/src/lib.rs#L122
There are sample field of view values for other headsets online, e.g. Quest 2 - see the Left eye head FOV section. (note that that page has the angles in degrees instead of radians though)
For Cardboard, you get the field of view values via CardboardLensDistortion_getFieldOfView https://developers.google.com/cardboard/reference/c/group/lens-distortion#cardboardlensdistortion_getfieldofview

let ipd = Float(0.063) // Magic value from alvr-visionpro repo

This is the interpupillary distance (distance between eyes); 63mm is used as the default here so I chose it here as well. I believe Cardboard doesn't offer the IPD directly, but outputs them in the head to eyes translation matrix (https://github.com/googlevr/cardboard/blob/c8842698f4a9d63cce865e7d6cb75773a4673496/sdk/lens_distortion.cc#L40, CardboardLensDistortion_getEyeFromHeadMatrix).
I think your current alvr_send_views is reasonable: that corresponds to about a 95 degree FoV (-48deg left, 48deg right).
If I remember correctly, you get the weird picture if you don't send tracking: are you sure you're sending tracking correctly?
Looking at your repo, you're only sending tracking on ALVR_EVENT_FRAME_READY; in alvr-visionos that was only there for testing.
You should be sending tracking continuously:
Android client sends this at 3x the framerate:
https://github.com/alvr-org/ALVR/blob/073d16e2a5fa02e2970a37982dde5db9709006c5/alvr/client_openxr/src/lib.rs#L559
Mock client does the same:
https://github.com/alvr-org/ALVR/blob/073d16e2a5fa02e2970a37982dde5db9709006c5/alvr/client_mock/src/main.rs#L180
visionOS client sends this per frame, I think?
https://github.com/alvr-org/alvr-visionos/blob/9d99df0c0848b816bc43dd5ebc49151367389935/ALVRClient/Renderer.swift#L450

@ShootingKing-AM Yes, I already use codebase of PhoneVR as examples of implementation. But i have some specific problems with cardboard API. (yet) In common I just want to understand how it's all should work.
About integration to PhoneVR iOS support... We can use Kotlin Multiplatform but I think this is not quick to implement. :c Maybe we can implement app abstraction in C/C++?

I forgot to reply to this. Yeah sure. My intent was to reuse as much code as possible from PhoneVR and merge ios (iphones) support into PVR (since there was a request for ios support there too).

@zhuowei Thanks for your answer. Comprehensive information.
And about "weird picture": It's just adjusted frames for foveation encoding, i just disable it (you can do it in newest versions of alvr-server). And in my repo i have foreation-feature branch (but it's still be broken for some reason) to implemet this feature.

@ShootingKing-AM And about integrating to your project... As i see it's needed a lot of work to integrate iOS support.


[BUG] [ws-ignore-alerts] Error while installing python ws-ignore-alerts package

Bug Description
Installation of ws-ignore-alerts fails.
Steps to Reproduce
Steps to reproduce the behavior:

Open CLI
Run "python -m pip install -t "./python" ws-ignore-alerts"

Expected Behavior
ws-ignore-alerts gets installed successfully
Environment Details

OS: Windows 10
Python: 3.11.0
Pip: 22.3.1

Additional Context
Add any other context about the problem here.
out.txt

@uandrei my apologies for the delayed response.
The way the setup file deploys the package, it expects to be deployed into the environment's site-packages, and thus, the installation instructions specify the appropriate command for that - pip install ws-ignore-alerts (or python -m pip install ws-ignore-alerts, for that matter).
Is there any reason you're specifying a different target directory for the dependencies (using the -t flag)?

@tidharm in our setup, the environment's site packages folder is not writable by the identity of the build agent, which is why we install the package in the working folder.

@uandrei understood.
We've never tested it that way, so I'll create a task for us to research this type of deployment.
In the meantime, could you try to test it on a separate environment (where you can modify site-packages) just so we can isolate the root cause?

@tidharm looking into it. Will feedback when I have an answer

@tidharm unfortunately it seems that the behaviour is similar. The test build agent has write access to the global site-packages folder, but it still tries to do a build.
Are there any pre-requisites to be able to install this module. Not sure i mentioned this, however the package used to install OK, even in a temporary folder, so it feels like it's something that changed recently that triggered this issue for us.
New log file for reference: ws-ignore-futurealerts.txt
Thanks for your help.

Hi @uandrei,
It looks like the issue stems from a missing prerequisite on your environment - the Visual C++ libraries (I'm assuming you're running on Windows).
This isn't listed as a prerequisite for this repository because it's typically a prerequisite of Python on Windows. Do you have a way to have that deployed on that machine as well?
Also, looking at the log, this might only be something needed for the installation process of the package, but possibly not for the execution.
Perhaps you could try to directly download the whl package from the Github release of this repo, and see if you can install the whl directly?

Hi @uandrei,
Just following up on this issue.
Is this still relevant?

Hi @tidharm ,
Sorry for the late reply. Getting the Visual C++ libraries on the build agent seems to do the trick. Are you going to document that as a pre-requisite?
Cheers

@uandrei I'm glad we could get to the bottom of the matter. As for the lengthy installation - I'm fairly certain this would be an environment-specific issue, as some of our own developers work and test on top of Windows machines, and we've never encountered such an issue, neither internally nor reported by customers.
Do you have a way to test this on a different environment, specifically one that would match the configuration of the one that would run this in production?


Specify Folder for SPDXDoc

Installation, and configuration for your system went very smoothly.
One enhancement I can think of for your program would be the ability (perhaps through a flag) to denote a folder to place the SPDXDoc into in the branch, whether that folder be pre-existing or if it would need to be created.
That would improve the automation experience further by allowing the user to specify where he needs the documents to go. Great work guys!

I think the script can already place it into an existing folder if you just specify the path as part of the file name. Making it create the folder is easy to add, since I already wrote the function to optionally create paths for the creation of the temporary folder.

I looked into the script and it will already create the directory tree required for the SPDX document. The path just needs to be part of the file name.


Add new dynamic physbones and contacts

*Compatible with both live and open beta SDKs
*Includes Imagitama's Pull Request: Create missing transforms option #49
*Moved transform copier above everything else to fix skinned meshes not moving

Thanks, I'll take a look at it and try to release it later today.

Please also include the custom collision set in the Avatar Descriptor.

it can be one of the more annoying things to copy manually...

@rurre when do you think your next planned release is?

Probably until avatar dynamics goes live.
There are little changes happening now but I'd like to allow more time for people to test stuff.

From: Shiroe_ @.>
Sent: Saturday, March 26, 2022 5:47:38 PM
To: rurre/PumkinsAvatarTools @.>
Cc: rurre @.>; Mention @.>
Subject: Re: [rurre/PumkinsAvatarTools] Add new dynamic physbones and contacts (PR #56)
@rurrehttps://github.com/rurre when do you think your next planned release is?
—
Reply to this email directly, view it on GitHubhttps://github.com/rurre/PumkinsAvatarTools/pull/56#issuecomment-1079719738, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD7RGWKDAHNU5Y2YNROVTKLVB4WRVANCNFSM5Q7DZCTA.
You are receiving this because you were mentioned.Message ID: @.***>


screen-size-#21 successfully

Screen re-sized #21
I propouse this changes for the appearence of the app!
Let's checkout
In mobile devices:

In desktop device

I have changed the name of the file TextArea.js to App.js because is the main file and this contains all of the content of the app.
Please accept this PR because is important to the user experience inshead the app.

Good changes,
But can you make these changes only for mobile view..
For Destop version the older one was nice..

The new changes:

and mobile...

okay, looks cool.


Update LLVM and TensorFlow submodules

./scripts/git/update_tf_llvm_submodules.py --update_build_files=true

Duplicate of https://github.com/google/iree/pull/1133

Seems that at least the tensorflow submodule points to different commits

Yup. I updated later than Scott. So it's picking up more commits from TF.

Let me close this one in favor of #1133.


CDPS-908: Change migration request to use code

Codecov Report
Attention: Patch coverage is 45.45455% with 6 lines in your changes missing coverage. Please review.

Project coverage is 85.75%. Comparing base (aae3496) to head (f26e113).

Files with missing lines
Patch %
Lines

...rofileDetailsPhysicalAttributesMigrationService.kt
45.45%
0 Missing and 6 partials :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #90      +/-   ##
============================================
+ Coverage     85.71%   85.75%   +0.04%
- Complexity      568      570       +2
============================================
  Files            88       88
  Lines          1638     1643       +5
  Branches        142      142
============================================
+ Hits           1404     1409       +5
  Misses          142      142
  Partials         92       92

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Terminal vim invokes GUI in the background when omni-completing python

I can reproduce this on macOS 10.12 Sierra and MacVim 8 Snapshot 112 (downloaded from here) but also MacVim compiled from source and with either against only system python or both system python and python3.
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Oct 21 2016 17:45:24)
MacOS X (unix) version
Included patches: 1-45
Compiled by Mario Grgic
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl             +cursorbind      +fullscreen      +modify_fname    +path_extra      +syntax          +viminfo
+arabic          +cursorshape     -gettext         +mouse           +perl            +tag_binary      +vreplace
+autocmd         +dialog_con_gui  -hangul_input    +mouseshape      +persistent_undo +tag_old_static  +wildignore
+balloon_eval    +diff            +iconv           +mouse_dec       +postscript      -tag_any_white   +wildmenu
+browse          +digraphs        +insert_expand   -mouse_gpm       +printer         -tcl             +windows
++builtin_terms  +dnd             +job             -mouse_jsbterm   +profile         +termguicolors   +writebackup
+byte_offset     -ebcdic          +jumplist        +mouse_netterm   +python          +terminfo        -X11
+channel         +emacs_tags      +keymap          +mouse_sgr       -python3         +termresponse    -xfontset
+cindent         +eval            +lambda          -mouse_sysmouse  +quickfix        +textobjects     +xim
+clientserver    +ex_extra        +langmap         +mouse_urxvt     +reltime         +timers          -xpm
+clipboard       +extra_search    +libcall         +mouse_xterm     +rightleft       +title           -xsmp
+cmdline_compl   +farsi           +linebreak       +multi_byte      +ruby            +toolbar         -xterm_clipboard
+cmdline_hist    +file_in_path    +lispindent      +multi_lang      +scrollbind      +transparency    -xterm_save
+cmdline_info    +find_in_path    +listcmds        -mzscheme        +signs           +user_commands
+comments        +float           +localmap        +netbeans_intg   +smartindent     +vertsplit
+conceal         +folding         -lua             +num64           +startuptime     +virtualedit
+cryptv          -footer          +menu            +odbeditor       +statusline      +visual
+cscope          +fork()          +mksession       +packages        -sun_workshop    +visualextra
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X_UNIX  -F/System/Library/Frameworks -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -L/usr/local/lib -L. -L/usr/local/lib -I/System/Library/Frameworks/lib/python2.7/config -F/System/Library/Frameworks -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm -lncurses  -liconv -framework Cocoa   -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl -framework Python   -framework Ruby

Lets' say I have following code snippet:
#!/usr/bin/env python

import matplotlib.pyplot as plt

plt.

If I edit it in Terminal vim, navigate to the end of plt. enter INSERT mode and hit CTRL+x CTRL+o to omnicomplete the methods on plt.
This seems to invoke GUI version of MacVim in the background. The MacVim dock icon starts bouncing and remains bouncing until you exit the Terminal version of vim.
If you try to launch GUI macvim from Finder you get an error message "The application MacVim is not open anymore".
Note that this only seems to happen with matplotlib python package. I have tried a few others and this does not happen with them.
Note also that if I use vim 8 patch 46 that I compiled from source with system python support (no python3 support), this does not happen, most likely because it is not compiled with GUI support:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Oct 21 2016 15:01:47)
MacOS X (unix) version
Included patches: 1-46
Compiled by Mario Grgic
Huge version without GUI.  Features included (+) or not (-):
+acl             +cscope          -footer          +menu            +num64           +startuptime     +virtualedit
+arabic          +cursorbind      +fork()          +mksession       +packages        +statusline      +visual
+autocmd         +cursorshape     -gettext         +modify_fname    +path_extra      -sun_workshop    +visualextra
-balloon_eval    +dialog_con      -hangul_input    +mouse           +perl            +syntax          +viminfo
-browse          +diff            +iconv           -mouseshape      +persistent_undo +tag_binary      +vreplace
++builtin_terms  +digraphs        +insert_expand   +mouse_dec       +postscript      +tag_old_static  +wildignore
+byte_offset     -dnd             +job             -mouse_gpm       +printer         -tag_any_white   +wildmenu
+channel         -ebcdic          +jumplist        -mouse_jsbterm   +profile         -tcl             +windows
+cindent         +emacs_tags      +keymap          +mouse_netterm   +python          +termguicolors   +writebackup
-clientserver    +eval            +lambda          +mouse_sgr       -python3         +terminfo        -X11
+clipboard       +ex_extra        +langmap         -mouse_sysmouse  +quickfix        +termresponse    -xfontset
+cmdline_compl   +extra_search    +libcall         +mouse_urxvt     +reltime         +textobjects     -xim
+cmdline_hist    +farsi           +linebreak       +mouse_xterm     +rightleft       +timers          -xpm
+cmdline_info    +file_in_path    +lispindent      +multi_byte      +ruby            +title           -xsmp
+comments        +find_in_path    +listcmds        +multi_lang      +scrollbind      -toolbar         -xterm_clipboard
+conceal         +float           +localmap        -mzscheme        +signs           +user_commands   -xterm_save
+cryptv          +folding         -lua             +netbeans_intg   +smartindent     +vertsplit
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX  -F/System/Library/Frameworks -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -L/usr/local/lib -I/System/Library/Frameworks/lib/python2.7/config -F/System/Library/Frameworks -L/usr/local/lib -o vim        -lm -lncurses  -liconv -framework Cocoa   -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl -framework Python   -lruby.2.0.0 -lobjc

However, the completion for matplotlib does not work. You get "Patten not found" error. But it works for other python packages.

can you repro it with this option?
$ /Applications/MacVim.app/Contents/MacOS/Vim -g -u NONE -U NONE --noplugin

I think the root cause might be some python omnicompletion plugin?

First, the problem is with command line version of MacVim not GUI (problem is that command line MacVim invokes GUI in the background). So invoking GUI version of MacVim is pointless.
Second, you must have filetype detection on or else omnifunction is not set for any file type. So, no I cannot reproduce it with the suggested options since there is no omnifunc defined with those options.
Note that omnifunc is set by Vim's default filetype plugin located in
/Applications/MacVim.app/Contents/Resources/vim/runtime/ftplugin/python.vim

So, if I rename my ~/.vim directory I can still reproduce this. It is not a third party plugin that I may have installed or anything like that.

Have you checked the issue in Vim?
https://github.com/macvim-dev/macvim/wiki/Troubleshooting#test-the-original-vim

Yes, as mentioned in the original report, if I compile vim (not macvim) from source and install in /usr/local/bin the problem is not there. But then again this vim is built without GUI support. And as mentioned already python completion does not work for matplotlib. It works for everything else.
Not sure why only matplotlib completion is special and has this weird behavior.

OK, so I spent some time debugging this. It turns out
/Applications/MacVim.app/Contents/Resources/vim/runtime/autoload/pythoncomplete.vim

script invokes python script, which in turn evals the statement
import matplotlib.pyplot as plt

which in turn launches GUI python.
Normally, if you invoke the above import from IPython, it will also load and bounce the Python's rocketship icon on the dock. This is because matplotlib invokes interactive plot backend. But in Terminal MacVim version's case, it bounces the MacVim GUI icon instead.