[WIP] Fetch more / Infinite Scroll

Adds a fetchMore method able to fetch new data and concatenate it into the store, performing, that way, an infinite scroll behavior!
TODO:

[x] Update CHANGELOG.md with your change

[x] Make sure all of the significant new logic is covered by tests

[x] Rebase your changes on master so that they can be merged easily

[x] Make sure all tests and linter rules pass

[x] change concatPaths: Array<string> to paginationParameters: Array<string>, that way suppressing for special paths those parameters from the store ids. (ex: instead of ROOT_QUERY.allPosts({cursor: 'x', type: 'y'}), if paginationParameters: {'ROOT_QUERY.allPosts': ['cursor']} is set, it will only be ROOT_QUERY.allPosts({type: 'y'})

[x] Implement correct resolution of paths

[x] Squash!

[x] paginationParameters => quietArguments

[x] Backwards concat possible

[x] Add directive for pagination !

[x] Add a per-directive merge option

[x] Add a directive selection in the fetch more to avoid fetching more of everything

[x] fetch more can override query-level opts

[x] embed into the directive common merging use cases: append/prepend/sort

[x] Make sure is correctly wired (fetchMore() to the public API, paginationParameters everytime there is some store access & `fetchMore everytime we're doing a query)

[x] Do a proper system to handle directives (right now it's clearly hacky) => REFACTOR!

[x] So do MORE TESTS and/or integrate with existing tests to take paginationParameters in account.

[x] Directive removal before sending the query to the server! OR PR on the server to support the directive there (by adding it to the schema! Maybe somewhere in graphql-tools)

[ ] Add it to the docs!

Basic usage example:
let latest_name = null;
const subscription = client.watchQuery({
  query: gql`
    all_people(latest_name: $latest_name, type: $type) @apolloFetchMore {
       name
    }
  `,
  quietArguments: ['latest_name'],
  variables: {
    type: 'Jedi',
    latest_name: null,
  },
}).subscribe({
  next(result) {
    console.log(result);
    // First value => {all_people: [{name: 'Luke SkyWalker'}]}
    // Second value => {all_people: [{name: 'Luke SkyWalker'}, {name: 'Obi-Wan Kenobi'}]}
    const new_latest_name = result.all_people[result.all_people.length -1];
    if(new_latest_name !== latest_name) {
      latest_name = new_latest_name;
      subscription.refetchMore({latest_name});
    }
  }
});

Advanced usage example:
let latest_name = null;
const subscription = client.watchQuery({
  query: gql`
    messages(cursor: $chatCur) @apolloFetchMore(name: "messages") {
      content
      replies @apolloFetchMore(name: "replies") {
         content
       }
    }
  `,
  quietArguments: ['cursor'],
  variables: {
    chatCur: null,
  },
  mergeResults: {
    messages: (oldArr, newArr) => [].concat(newArr, oldArr),
  }
}).subscribe({
  next(result) {
    console.log(result);
    setTimeout(() => {
      subscription.refetchMore({targetedFetchMoreDirectives: ['replies']});
    }, 60000);
    setTimeout(() => {
      subscription.refetchMore({targetedFetchMoreDirectives: ['messages']});
    }, 10000);
  }
});

Advanced usage example with directives only!:
let latest_name = null;
const subscription = client.watchQuery({
  query: gql`
    messages(cursor: $chatCur) @apolloFetchMore(name: "messages", quiet: "cursor", prepend: true) {
      content
      replies @apolloFetchMore(name: "replies") {
         content
       }
    }
  `,
  variables: {
    chatCur: null,
  },
}).subscribe({
  next(result) {
    console.log(result);
    setTimeout(() => {
      subscription.refetchMore({targetedFetchMoreDirectives: ['replies']});
    }, 60000);
    setTimeout(() => {
      subscription.refetchMore({targetedFetchMoreDirectives: ['messages']});
    }, 10000);
  }
});

Followup to #335

Can you rebase on master, as well?

yep, let me fix a test first

I already rebased minutes ago ...

And ... all done!

OK @rricard are you OK if I just work on this and maybe merge it?

Just really excited to deliver this feature to our app team and see if they can use it in Galaxy.

No problem! I started that work so I could use the feature so that's cool if you take it from here. If you don't understand something I did, ping me here or on slack.

Well I've got about 6 hours today to try to finish this and #336, let's see if I can get it done! Days without meetings don't come by too often :]

So I think I'm going to remove a few things, in particular the sorting options in the directive. I think I'd rather add less stuff for now, and add more options later if it turns out the minimal approach is not convenient.

@stubailo do you have an ETA for this? I'd rather not hack together a solution for something I need to ship if this is close!

I'd guess merge by Tuesday. I was planning on doing it Friday but didn't get it finished.

Ok, so I bumped apollo's max Gzipped file to 36kB.

FYI, rebased on master.

okay pulling the rebased version

@stubailo not a fan of your directive validation simplification. The goal of that was to be able to let the user integrate custom directives later... If we use this hardcoded validation (that I implemented at first as well) this will prevent easily inserting new custom and easily validable directives later.

OK I have one concern right now: how does polling/refetch work with this pagination model?

refetch: I think it's OK if refetch just fetches the original query, and ends up throwing away the paginated data completely. For the use cases I can imagine, refetch ends up basically "restarting" the pagination from the beginning.
pollInterval: I feel like the whole point of pagination is to avoid loading all of the data at once, so it would be odd to use polling with it. The one use case I can think of is polling for new data in the list - let's say you have a comment thread and you want to display new comments as they come in. But I feel that this might be a pretty uncommon use case so maybe we can just disable the combination of fetchMore and polling.

@rricard honestly I don't think it's a good idea to write a general validation system if we aren't going to use it right now. Who knows what kind of validation we will need in the future? Maybe we won't need any general validation, in which case this solution is good, or maybe we will need very complex validation with dependencies between arguments, in which case we can't predict what we will need.

pollinterval will work like a refetch like it does right now. I don't know if we can customize that in order to do paginated polling

@rricard I feel like it would be weird if someone set up a pollInterval, then scrolled down/loaded more data, and then the data was thrown away because the polling interval was hit. I'd be in favor of throwing an error if polling and fetchMore are used in one query, what do you think?

for the validation system: I will soon have validation needs but fair enough, I'll do an another PR when the need will be imminent. Basically here is my thought process: if graphql-js allows to add custom directive validation, we should be able to do that (or let that happen) as well on the client. So if you don't want anything to do with with validating directives, maybe just let unknown directives pass through (and let the server validate them)

pollInterval+pagination won't play well together I agree. I don't think they should. When you take control with a fetchMore, you now become responsible for loading stuff (and merge it) in the order you need it.

Personally I think it would be fine to let through unknown directives. This, combined with custom network interfaces, could be an easy way to implement @defer, @stream, etc.
Do you think directive validation via static analysis (ESLint etc) is sufficient? Or maybe it can be something that is done only in a development build? I feel like it can get pretty complicated and it seems odd to do all of that work and load all of the logic at runtime.

pollInterval+pagination won't play well together I agree. I don't think they should. When you take control with a fetchMore, you now become responsible for loading stuff (and merge it) in the order you need it.

Cool, let's make it throw an error somehow.

Let me know if you think this is reasonable, but my goal is to merge something that is as minimal and flexible as possible, then add additional options and built-in stuff once people have a chance to try it out. This is why I removed some of the things you had already implemented like special sorting options, prepend, etc, since I think they are covered by the mergeResults function.

@stubailo I think we do agree on both points:

directives: for now just let them through. I indeed wanted to explore @defer @stream and @live Having eslint validation would be great indeed to solve that. That would put as well validation directly in the IDE.
agree with the error, triggering a refetchMore if pollInterval is defined should trigger a warning / invariant violation

I agree with the more minimalist @apolloFetchMore directive as well. i went a bit crazy there

In that vein, right now quiet can be specified in WatchQueryOptions or in the query document. Do you think it would be enough if they were only specified in the directive? That seems better to me since it's closer to the field itself. I'm curious how you would prefer to do it in your app.

I would use quiet at query level and not in the directive personally, all of my pagination fields are the same throughout the schema. If I could even put that at client-level that would be even better to me. I added that on the directive to handle custom situations of pagination.

Ok, so do you want me to do:

error/warning on refetchMore on pollInterval
let through unknown directives

or are you already on it ?

@rricard that's a good point, that it's easier to share stuff if it is in JS-land vs. in query land. In some sense making the directive as minimal as possible is probably the way to go since that's the "weirdest" thing.
When you're talking about client-level, I guess you're not worried about the idea that something like latest_name or cursor or whatever could be used in a non-pagination context? I guess it would only apply when calling fetchMore so maybe it doesn't matter.
Hmm... now that I realize that quiet fields are only ignored when calling fetchMore, it seems like client-global options might be a good idea. That would certainly make stuff like Relay pagination simpler.

or are you already on it ?

I think I'm going to go to sleep at this point, it's pretty late here. I think the last things are:

Pass through unknown directives
Remove @apolloFetchMore before sending query to the server
Error/warning on poll and fetchMore
Potentially remove quiet argument on the directive
Add a few more tests, specifically it would be nice to see one with a Relay connection and one with a refetch after pagination
If you think it's a good idea, add a paginationArguments option to ApolloClient constructor (personally I think quiet is a bit too generic for this? but maybe pagination is too limited? not sure)

I'm probably going to come back and do some more work on this tomorrow morning.

I think I'm going to go to sleep at this point, it's pretty late here.

Yep, that's what I thought 😉 ! Thank you for helping me on this. Sleep well 🌙 !

Hmm... now that I realize that quiet fields are only ignored when calling fetchMore, it seems like client-global options might be a good idea.

Nope, theay are ALWAYS ignored, otherwise the first query without fetchMore won't do the thing we want. So they will be ALWAYS ignored. Which is still in my opinion a good thing for relay pagination fields for instance (or in my own schema: cursor & limit)

Remove @apolloFetchMore before sending query to the server

Don't really know how to do that 😕 . Never mind, I'll look for it...

If there is something you don't know how to do I can do it tomorrow.

@stubailo: I'll let you naming and api decisions. Sleep on it, find the solution tomorrow!

@stubailo:
0001-Attempt-at-stripping-away-apolloFetchMore-directive-.patch.txt
This patch is as far as I managed to go to strip directives before hitting the network interface. It has to be done after query init but before sending. I didn't managed to get the right moment to do that it seems since my tests with @apolloFetchMore fail miserably.

This is a bit hacky anyway, i'll let you manage that.

Ok here is the state of it now:

[x] Pass through unknown directives
[ ] - attempted - Remove @apolloFetchMore before sending query to the server
[x] Error/warning on poll and fetchMore
[ ] - decision needed - Potentially remove quiet argument on the directive
[ ] Add a few more tests, specifically it would be nice to see one with a Relay connection and one with a refetch after pagination
[ ] Add quietArguments to ApolloClient constructor
[ ] - decision needed - Rename quietArguments to paginationArguments ?

@stubailo: Ok, I tried a lot of stuff. I can't get the tests going correctly and I have some other stuff to take care of. Here is my latest patch on removing before sending to server:
0001-Remove-directives-before-sending-to-network.patch.txt

Maybe just add it to the graphql-tools, and document that for people not using them, it's just, after all:
directive @apolloFetchMore on FIELD

I'll figure out how to remove it - it's critical that people don't have to use our server with this feature.

Ok, @stubailo, it's done! Had to just go slower and structure things more correctly. Now the annotation is never sent to the server but is still usable from within the client (especially when writing the store. I managed to get that by transforming the query as immutably as I could.

Now we just need to figure out what we finally want:

Do we keep quiet on the directive ? (I would say yes because it can give a per-field control if you are doing something really complex)
Do we rename quietArguments and how if yes ? (I would say something like storeIgnoredArguments but not paginationArguments => too specific)

Now the annotation is never sent to the server but is still usable from within the client (especially when writing the store.

Thanks for that - I think your solution is great, basically what I was trying to do as well.

Do we keep quiet on the directive ? (I would say yes because it can give a per-field control if you are doing something really complex)

Another way we could get per-field control is if we made the quietArguments option in JavaScript also take a dictionary of names, which would be more consistent with how mergeResults works now. That way, you can pass around these arguments as JavaScript variables rather than adding them to the query every time.

Do we rename quietArguments and how if yes ?

My main concern here is if someone new is reading the code, and sees "quietArguments", I think they would get pretty confused. I guess at that point you could go read the docs, but it seems like something even like "paginationArguments" or maybe even "ignoredArguments" or similar actually gives you an idea of what it's for.

Ok, I need to leave work so I may let you do that. I agree with what you said 👍

Todos for me:

[ ] Remove quiet on the directive
[ ] Don't put mergeResults functions in the store, since then it won't be serializable
[ ] Make quietArguments able to be a dictionary, like mergeResults
[ ] Rename quietArguments to something more descriptive

Hey, so to be honest, I'm having a really really hard time reasoning about the possible implications of all of these changes, especially because there are a lot of things together. I think this PR kinda became too big for its own good.
I think this is mostly my fault, because I didn't put in effort at the beginning to encourage splitting this into smaller chunks of work -- I'll make sure it doesn't happen again in the future.
I'm going to try a different approach for this feature, which is to try to split this up into the smallest PRs possible, each with their own tests etc.
For example:

Passing through custom directives
Stripping apollo client-only directives
Getting access to apollo client-only directive information inside write/read to store functions
fetchMore with no options, and only append
fetchMore with custom behaviors, and only one per query
fetchMore with multiple apolloFetchMore directives per query

For each of those, it will be a lot easier for me to reason about whether we have good test coverage, if there are weird edge cases, etc.
Sorry for anyone who was relying on this feature getting merged this week - I'd rather take a step back now than merge something that I don't fully understand the implications of.

Here's the first PR, to not throw on unknown directives: https://github.com/apollostack/apollo-client/pull/372

@stubailo: we'll wait. But let me help you though, I'll try to break down that today.

@stubailo: I think that's a pretty great decision in the long run. Even in order to get this merged, I think that's a good idea since it will make the review easier therefore faster.

@stubailo: made a PR for stripping apollo directives


[SPARK-25700][SQL] Creates ReadSupport in only Append Mode in Data Source V2 write path

What changes were proposed in this pull request?
Alternative for https://github.com/apache/spark/pull/22686: In other save modes, we don't need to make a readsupport and read schema.
How was this patch tested?
Unit test and manual tests.

Test build #97196 has started for PR 22688 at commit a445e16.

cc @cloud-fan and @rdblue, this is more conservative but I would prefer to revert it at https://github.com/apache/spark/pull/22686 rather then exposing append mode in 2.4. I don't think it's a great idea read code paths are executed in write path.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3849/
Test PASSed.

Test build #97196 has finished for PR 22688 at commit a445e16.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Do we have users complain about it? In the new write API design, a data source must provide a schema.
I don't think it's practical that people need a write-only data source which can accept data of any schema.

The point is not write only datasource, @cloud-fan. For instance, spark.read.range(1).format("source").write("non-existent-path"). There's no way to read the schema. There's no complaints so far because this problem appears in the RC. I myself faced this problem and surprised read code path is executed in write path.

Other datasources such as Parquet, ORC and JDBC won't be adoptable to the current design since we can't read the schema from the information given the code I provided above.

Another concern is, it doesn't sound to me straightforward that readsupport is created and executed in write path.
So, at least, we should just read the schema when it's needed (when save is append mode). The problem still exists here if we go ahead in this way. If the target path does not exist in append mode, again, there is no way to read the schema.
If we disallow to create the target path (or target table) and throws an exception, then it might make sense but I think this is a breaking change in save mode.
Another option we should think is to add an option to control it at least or add an interface to the write side.
I hope we can at least take this out of 2.4 and bring it to 3.0 after more discussions.

ah good point. I think the original design of append operator assumes the table already exists, so a schema should be provided. If we treat file path as a table, then append should fail for your case because path does not exist, and we should use CTAS. cc @rdblue for confirmation.
That said, the change here LGTM. We should only get the relation for append mode.
Furthermore, I think in the future we can't simply proxy old SaveMode write APIs to new write APIs, as the behavior can be different. e.g. currently we can write data to a non-existing path with append mode for file sources, but the append operator can not.
I'm not sure this should block 2.4. Data source v2 API is unstable, so breaking changes are allowed, and we won't treat data source v2 bugs as blockers. We should merge this PR to 2.4, but it's not strong enough to fail an RC.

+1 to deal with this as non blocker. I understand data source v2 is under heavy development and unstable but strongly think we should backport .. it breaks a basic operation ..

Test build #97207 has started for PR 22688 at commit 9377bc3.

Test build #97207 has finished for PR 22688 at commit 9377bc3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SchemaReadAttemptException(m: String) extends RuntimeException(m)

Merged build finished. Test FAILed.

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

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3864/
Test PASSed.

Test build #97224 has started for PR 22688 at commit 9377bc3.

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

Merged build finished. Test FAILed.

retest this please

Test build #97229 has started for PR 22688 at commit 9377bc3.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3867/
Test PASSed.

Test build #97229 has finished for PR 22688 at commit 9377bc3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class SchemaReadAttemptException(m: String) extends RuntimeException(m)

Merged build finished. Test FAILed.

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

Seems the same test failed?

Hm, yea, this was passed in my local so I expected this was flaky but seems I should fix.

I have no idea why it passes in my local. I fixed the test.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3870/
Test PASSed.

Test build #97234 has started for PR 22688 at commit ded852c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3872/
Test PASSed.

Test build #97238 has started for PR 22688 at commit 2a42253.

Test build #97238 has finished for PR 22688 at commit 2a42253.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test build #97234 has finished for PR 22688 at commit ded852c.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

retest this please.

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3873/
Test PASSed.

Test build #97239 has started for PR 22688 at commit 2a42253.

Test build #97239 has finished for PR 22688 at commit 2a42253.

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

Merged build finished. Test FAILed.

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

retest this please.

LGTM

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3876/
Test PASSed.

Test build #97246 has started for PR 22688 at commit 2a42253.

Test build #97246 has finished for PR 22688 at commit 2a42253.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Thank you, @HyukjinKwon and @cloud-fan and @viirya .
Merged to master.

Thanks all!


Filters on scanned document not getting exported.

Steps:

scan a new document
apply BW or any other filter like invert (notice the preview applies the filter)
hit share icon, and save.
the output image does not contain the filters applied.

The enhancements like Enhance/whitepaper/color when saved through share icon are applied correctly to the output image.
I only need to save the output with filters applied, which does not work.
Thanks for this app..

@ashjas good catch indeed i forgot to apply filters to exported image ! only applied to pdf.
Will fix ASAP!


Revert "USBDEV RNDIS: Fix occasional disconnections due to race condition"

Summary

Reverts apache/incubator-nuttx#3163
Because spresense:rndis does not work with Linux host

@acassis
I'd like to revert the #3163

Hi @masayuki2009 could you please explain what issue is it causing to you? @PetteriAimonen we need your support to handle it.

Hi @masayuki2009 could you please explain what issue is it causing to you? @PetteriAimonen we need your support to handle it.

Ubuntu 18.04 host does not recognize Spresense RNDIS device.

@masayuki2009 thanks for finding the regression. But first, let's give @PetteriAimonen some time to investigate the root cause before reverting the patch. Second how about we just revert the patch which make the regression since some change looks good(e.g. the pure style fix).

@xiaoxiang781216
The style fix patch (i.e. the 3rd commit in the PR#3163) relates to the previous commits in the PR.
So we can not revert the style fix commit only.
I think he should not have added a separate commit but should fix up the original commits for maintenance.

I'm okay with reverting this in meanwhile, I'll investigate & hopefully masayuki2009 can test updated patch, and then I can squash it to one commit.

I'm okay with reverting this in meanwhile, I'll investigate & hopefully masayuki2009 can test updated patch, and then I can squash it to one commit.

@PetteriAimonen found the root cause. https://github.com/apache/incubator-nuttx/pull/3163#issuecomment-808042690
I will wait for the final fix.

Fix available in #3185.

#3185 works.
Let me close this PR.


FSLeyes plugin: Display description when moving cursor above button

The description listed under section "Tools description" here: https://github.com/neuropoly/axondeepseg/pull/182#issue-259792012 should ideally appear when user moves cursor above button

I'll try to get this done today

Changes made with commit 7b6c4df


Fix install instructions(?)

node ./src - I am not too familiar with how node operates but executing a directory seems strange? and aslo does not work.
Then the closed issue where you referenced the discord puppet turned this up:
npm run start -- -r [-c config.yaml] [-f discord-registration.yaml]
This actually works, and generates the registration config.
(square brackets being optional and default values so just delete them in case you don't want to specify anything new.)
Maybe update the readme?.
Not sure tho. As I said, I do not really know node so the first option might eventually work.

Ah, looking at docker-run.sh it should point at ./src/index.js. My mistake, locally I only run this as a Docker container.


[AppBar] Fix z-index issue on Firefox

[x] I have followed (at least) the PR section of the contributing guide.

Removed  transform: 'translateZ(0)' from AppBar styles.
Closes #20963

@pedrooa It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


0.8.13 release notes on 5/12/2017

0.8.13 release notes

@jinglouMSFT,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Make terrain painting not change neighbors centers bits

This changes two things:

The terrain painting algorithm will now never change a neighbor's tile center bit, or the bits that are not touching a painted tile. So here painting the dark green tile can only modify the bits with the green check marks (sorry for my art skills):

The terrain painting algorithm only changes the tiles you are painting on and should not erase tiles if not transition tile was found. On this video example, the dark mud terrain is not part of any terrain.

https://user-images.githubusercontent.com/6093119/195822211-8702100f-4660-4012-868c-1aacb7ba499d.mp4
Fixes https://github.com/godotengine/godot/issues/67143
Partially solves https://github.com/godotengine/godot-proposals/issues/5575

Code looks good to me and groud is the boss of Tilemap anyway, so let's merge and see how it goes :)


Need the definition of a structured name and definition of a new datatype for the combination of xsd:string and rdf:langString

Currently we represent the names of people using various strings, and similarly of organizations. But, we don't have a specific datatype allowing us to represent names as either a UTF-8 encoded name that includes language-specific characters, or as a transliterated name at the highest level. We also don't have the ability to structure names, such that the name of a person would include their family name and full legal name, for example. We also need to eliminate cultural bias from the way we represent names of people in particular, which is fraught with issues that might be construed as insensitive at best, and possibly racist at worst.

Some of the changes we made in this issue are challenging for tools that do not support RDF 1.1.  I'm reopening this to simplify the use of the Text datatype in order to account for those issues.


Corrects typo in theme-product-form

Comment was not closed properly
closes #80

Signed the CLA - not sure how to re-check...

Thanks!


How are you calling the beacon code to the nodejs

Can you post your node calling code of beacon using the socket.io

@Webrusterkk  https://github.com/viithiisys/ble-node-ubuntu-screenlock

@gauravsaini03  any way to do this using windows also?


Implement Direct Package Fetch

Expose a simple package manipulation API.

Updated the code. Please take a look.


Color Picker, Save Palette

Description of the new feature / enhancement
Possiblity to save the created palette and give it a name.
Scenario when this would be used?
Reusable palette makes a better workflow when often work with colors.
Supporting information
No response

Seems like #13056 plus the naming function.

dup'ing against #13056


Cleaning up/adding documentation

Going through and adding missing docstrings, supplementing them where needed.

This all looks great, thank you.  Go ahead and merge when ready.


[ENHANCEMENT] make the whole panel group clickable for toggle/expand

This is a proposal for (imho) better usability of panel groups.
Currently to toggle/expand a panel group, you have to click on the (little) chevron button at the left:

This PR makes the whole panel group clickable instead:

Let me know if you agree or not with this change. Also this is my first attempt at doing some React so don't hesitate to point anything wrong/dirty in the code.
Checklist

[x] Pull request has a descriptive title and context useful to a reviewer.
[x] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, IGNORE.
[x] All commits have DCO signoffs.

UI Changes

[x] Changes that impact the UI include screenshots and/or screencasts of the relevant changes.
[x] Code follows the UI guidelines.
[x] Visual tests are stable and unlikely to be flaky. See Storybook and e2e docs for more details. Common issues include:

Is the data inconsistent? You need to mock API requests.
Does the time change? You need to use consistent time values or mock time utilities.
Does it have loading states? You need to wait for loading to complete.

@AntoineThebaud I love this idea! (And I think others do too)
If you don't mind, I'll pull down your PR and push up some additions

@AntoineThebaud Shall we remove [Draft] and put this up for review by others?

that's good idea ! I don't know if there is a better solution than tracking the cursor. I will rely on @cndonovan to know if it's fine or not :)

Yeah good solution! This solution moves the click handler from the chevron button to the row itself, which makes the row clickable instead of only the chevron button clickable.

Thanks for your help on this one @cndonovan @eunicorn!


Change version to 5.4.4-SNAPSHOT.

Codecov Report

Merging #233 into 5.4 will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                5.4     #233   +/-   ##
=========================================
  Coverage     71.49%   71.49%
- Complexity      962      963    +1
=========================================
  Files           341      341
  Lines         14238    14238
  Branches       2289     2289
=========================================
  Hits          10179    10179
- Misses         2864     2866    +2
+ Partials       1195     1193    -2

Impacted Files
Coverage Δ
Complexity Δ

.../main/java/com/alipay/sofa/rpc/common/Version.java
100% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../main/java/com/alipay/sofa/rpc/tracer/Tracers.java
39.74% <0%> (-2.57%)
0% <0%> (ø)

...pay/sofa/rpc/transport/ClientTransportFactory.java
72.3% <0%> (-1.54%)
0% <0%> (ø)

...com/alipay/sofa/rpc/context/RpcRuntimeContext.java
89.02% <0%> (-1.22%)
0% <0%> (ø)

...ay/sofa/rpc/client/AllConnectConnectionHolder.java
62.84% <0%> (-0.28%)
0% <0%> (ø)

...va/com/alipay/sofa/rpc/server/bolt/BoltServer.java
73.33% <0%> (+1.11%)
24% <0%> (ø)
:arrow_down:

.../sofa/rpc/bootstrap/DefaultClientProxyInvoker.java
88.7% <0%> (+1.61%)
0% <0%> (ø)
:arrow_down:

...ent/aft/impl/ServiceHorizontalMeasureStrategy.java
86.66% <0%> (+2.22%)
27% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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


Implement auto-update logic.

 I want the anchor positioning to auto-update when elements move after initial load.


Fix Get Started page route

Resolves #40 issue.
In order to next.js documentation, sections (folders) should be in a low case.
So, getStarted folder has to be renamed to get-started.
As an experienced SEO, I can tell that the best practice is to never use upper case in any URI.
Also, it is better to replace spaces with hyphens. Underscores are also acceptable, but they are less readable.
If we stick to these practices, routes will be consistent and predictable.
@natebass

Merged changes to use opensac.org/get-started. I updated some anchor tags to use this new link.
Thanks @nicklisin.


Upgrade deploys for sepolia

Upgrade deploys for sepolia
fix test owners
update base addr
fix tests and contract addrs
update chainconfigs, deploy zora sepolia

#157  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @iainnash and the rest of your teammates on  Graphite


移动端不支持Blob的pdf下载，怎么办？

移动端不支持Blob的pdf下载，怎么办？

Hi there, can you provide a sample of your code and if you have any, a sample of your error messages? so we can investigate what's happening.
I am sure this works on Chrome for android though

Feel free to open this issue again, if you still have questions.
Also if possible please use English, I had to google translate that haha


PLANNER-2300 hello-world-school-timetabling

We are standardizing around 3 getting started guides building the same use case 3 different ways, with the 3 end results being these 3 quickstarts (the other quickstarts dont have a dedicated getting started guide):

hello-world-school-timetabling
quarkus-school-timetabling
spring-boot-school-timetabling

Yes, and the JPA/Jackson stuff removed, making it simpler


Add documentation about using environment variables in config files

As a response to an issue in the opentelemetry/collector repository, I am adding this piece of documentation into the collector/configuration section. This documentation will expose to the users about the capability of the configuration file handling environment variables.

I signed it

I signed it

I signed it

It appears that this has to be merged by someone with write access. let me know if I need to make any more changes. Thanks!


windows上运行demo_track.py,没有任何检测结果

如图所示，我运行demo_track.py去运行palace.mp4视频，结果没有任何输出，打印了output全是nan，请问这是因为什么？

print(img)

I had faced the same issue, is there any help ? I'm using python=3.10.6 and I could print all my img ( including by cv2 way )


Search for Assets within buildings

Is there any progress on this? It would be nice to be able to search for network jacks or computers for our IT department.


Select number of rows to be displayed in a DataFrame

I asked about this on julia-users but I haven't received a response.
To put it simply, is there an equivalent to pandas.set_option('display.max_rows', 500) in order to control the number of displayed rows in a DataFrame? Currently, we have a summary that shows the first and last rows and that's okay, but sometimes you want to see more rows, particularly when the DataFrame is not very large.
I tried to use showall but this doesn't provide a good control on the number of rows to be displayed and also uses the text/plain representation instead of the more user-friendly HTML representation.

head/tail?

Unfortunately, head and tail still provide a summary:
julia> x = DataFrame(x=1:500, y=1:500);
julia> head(x, 50)
50x2 DataFrames.DataFrame
| Row | x  | y  |
|-----|----|----|
| 1   | 1  | 1  |
| 2   | 2  | 2  |
| 3   | 3  | 3  |
| 4   | 4  | 4  |
| 5   | 5  | 5  |
| 6   | 6  | 6  |
| 7   | 7  | 7  |
| 8   | 8  | 8  |
⋮
| 42  | 42 | 42 |
| 43  | 43 | 43 |
| 44  | 44 | 44 |
| 45  | 45 | 45 |
| 46  | 46 | 46 |
| 47  | 47 | 47 |
| 48  | 48 | 48 |
| 49  | 49 | 49 |
| 50  | 50 | 50 |

@simonster Is there some update with respect to this issue / feature request ?

You can do showall(head(x, 150)).
I'm closing this. If you have a more specific feature request, please reopen or start a new issue.
You could also write an enhancement and submit a PR. I'm not sure a global setting is the way to go, though.

@tshort Thank you for your response. As I said, showall removes the nice HTML representation. If you don't favor a global setting, maybe an additional option in showall to let the user keep the HTML representation? Looking at large DataFrames without HTML is fairly painful.

Changing HTML display requires a change to writemime.
According to #30, you can already affect the lines of HTML output with ENV["LINES"]. I haven't tried it.

Actually, ENV["LINES"] is actually useful. It does work in a jupyter notebook due to IJulia, though:

When Julia displays a large data structure such as a matrix, by default it truncates the display to a given number of lines and columns. In IJulia, this truncation is to 30 lines and 80 columns by default. You can change this default by the LINES and COLUMNS environment variables, respectively, which can also be changed within IJulia via ENV (e.g. ENV["LINES"] = 60). (Like in the REPL, you can also display non-truncated data structures via print(x).)

I'm not sure if that works in the REPL. At least, I haven't been able to make it work there.

HTML display and REPL display are handled differently.


Fix the ::Fixnum deprecation warning on Ruby 2.4+

Fixnum has been replaced by Integer (which used to be a parent class), triggering a very noisy warning.
It is actually safe to add the to_human_size method to Integer even on older Ruby version, so this change does that. To get confidence in this I needed to add some tests, so I needed to set up testing for collins-shell in the first place, which in turn required some Gem fixes.

Thanks again! I'm going to push a PR that updates the yard dependencies soon. I'll merge this and #578 at the same time, and bump the patch version.

@matthiasr Looks like there's a conflict between this and #578. Could you rebase this on current master, or grab https://github.com/defect/collins/commit/0acc22b2aa1e0d3a7cf513c0ab04891843684663 which i think resolves it cleanly?

resolved! I think a general bundle update is also in order but I can submit that separately once this is merged (or you do it?)

(I also enabled "Allow edits from maintainers" so you should be able to push into my branch)


Auto update verification_code

Is it possible to automatically (without user intervention) update verification_code when calling methods?
Because now I have to manually update this code from time to time.

Can you define "from time to time"?
Under normal usage, once you have established a session with a successful user login, you should never be asked again for a verification code for this user. Resuming that user session on the next runs does not require verification code anymore

I use the following code when a certain event occurs, i.e. I create a telegram channel:
...

await client.ConnectAsync();
await client.LoginUserIfNeeded(new CodeSettings { flags = CodeSettings.Flags.allow_missed_call });
var result = await client.Channels_CreateChannel(notification.Name, notification.Description);

...

Perhaps I should call LoginUserIfNeeded once when starting the program?


make tests fail if deprecated calls are made

Happy to say, master doesn't call any deprecated APIs (while testing anyway).
But this might be needed soon...  there are some pull requests that do.

I'm getting
      ReferenceError: fail is not defined
        at [object Object].<anonymous> (/Users/jacek/prog/oss/vim-mode/spec/spec-helper.coffee:13:5)

Is it just my version of jasmine being somehow outdated? If so, how do I update the version of jasmine that is used by apm test?

Wow!  And you ran apm install again?  I'll look...

It looks like fail() was added to Jasmine 2.1: https://github.com/jasmine/jasmine/commit/b1344d5c73c5e01a07e1ea435be3ed980f6db9de

Yes, but my quick search just now seems to show that apm testing still uses jasmine 1.3 (https://github.com/atom/atom/pull/6099 and https://github.com/atom/atom/pull/5393). Did you do anything to upgrade that? Or am I missing something?

Agreed!  No, I haven't done anything that I'm aware of, and the continuous build passed.  Do your version numbers match?
$ apm --version
apm  1.0.1
npm  2.5.1
node 0.10.35
python 2.7.9
git 2.2.1
$ atom --version
1.0.0

By setting breakpoints, I'm certain that I'm using the vendor/jasmine.js file from Atom's app.asar.  And, at line 2325 there's this:
jasmine.Spec.prototype.fail = function (e) {
  var expectationResult = new jasmine.ExpectationResult({
    passed: false,
    message: e ? jasmine.util.formatException(e) : 'Exception',
    trace: { stack: e.stack }
  });
  this.results_.addResult(expectationResult);
};

So I'm as baffled as anyone, both why it fails and why it works.

I now found that this.fail works while simple fail doesn't, on my machine. I see the same code you see.
The failing fail will still fail the test because of that ReferenceError, and the logs will still show the right deprecation call, so that's not a problem.
Also, when I merged #738 into my own private version, apm test would fail every test after the first one that used a deprecated call.
So I ended up with this patch against #738:
--- a/spec/spec-helper.coffee
+++ b/spec/spec-helper.coffee
@@ -10,7 +10,8 @@ beforeEach ->
 afterEach ->
   if Grim.getDeprecationsLength() > 0
     Grim.logDeprecations()
+    Grim.clearDeprecations()
-    fail 'Deprecated APIs were called'
+    this.fail 'Deprecated APIs were called'

 getEditorElement = (callback) ->

Well at least all that makes sense.  Updated, thanks!

Also updated packages.json  to specify grim version "^1.2.1" instead of "1.4.1"

Sorry for weighing in so late on this. I don't think tests should fail because of deprecations, because the whole idea of deprecations is that we want to remove some functionality, but we want to give packages some time to upgrade before we break them.
In general, to me, a CI build should only be red on the master branch if the authors have made a mistake. That way, a red build can always be treated to mean "fix this before pushing any other code changes". If we make the build go red for lower-priority problems like use of deprecated APIs, then red builds carry less weight.

I get that.  It would be trivial to change it to print warnings into the Travis logs.  That would make the problem visible before actually using the feature.  Care to have that change?
(A better technique might be to print the warnings from the call sites, rather than collecting and printing them at the end of the test, but I'd have to learn how that code worked first...  Tell me if you'd prefer that.)

That's a good point: we only surface the deprecations when running the specs in Atom, not at the command line. I think that's something we should fix in Atom core. Could you open an issue about this? If you're interested in fixing it, I think we'd need to do the same thing that we do in Atom's graphical spec reporter, when we run the tests in the terminal.

OOH, I just realized that there is already code for doing that, but it only happens on our internal CI system, Janky. We could just change that if process.env.JANKY_SHA1 to say if process.env.JANKY_SHA1 or process.env.TRAVIS or whatever environment variables there are on travis.

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!


[WIP] Sensu Enterprise & Enterprise Dashboard support

this is very much a WIP. feedback welcome. i'm just about to dive in to the types/providers for config. i think i can probably borrow quite a bit of code.
i've also made some presumably debatable decisions which might need to be modified slightly, especially around service management for sensu-server and sensu-api.
i'm smoke testing on centos 6.6, but all the existing (and new) unit tests pass, including debian ones...

This is great - thanks for your work!  I'd been wondering how easy it would be to support enterprise with this, but not being an enterprise customer I hadn't looked into it at all.  I made some comments in the code with thoughts I had as I read over it and would love to see some more testing to go down all of the code paths/options with the changes.

Thanks for your effort on this!


Overflows out of the screen as the date input is opened jus below the input

Because the datepicker is placed directly below the input field, the datepicker gets clipped when the input is inside an overflow scroll content.

can you please share the sandbox link of the above scenario

https://codesandbox.io/s/vue3-example-forked-e8ck3n?file=/src/components/Editor.vue

The date picker overflows out of the container even if there is a space to fit in the calendar in the opposite direction.
Something like this is expected. Check out the append-to-body attribute here:  https://mengxiong10.github.io/vue2-datepicker/index.html

any news on the issue? me too with the same error

Is there any fix for this?
Could it be considered to add a "appendToBody" prop, which will add the popup in the body and place it fixed?


sklearn RandomForest pipeline components

We have sklearn pipeline operations such as changing columns to lowercase, extracting columns, sorting columns, string cleaner , NA filler, etc.
Hummingbird errors out on first one that lower case of column names (self._cols_to_lower(X)).  I am assuming we need to implement converters for these ourselves.   Is there some example for these simple cases?
Unable to find converter for model type <class 'pipeline_components.ColumnNameLowerizer'>.
It usually means the pipeline being converted contains a
transformer or a predictor with no corresponding converter implemented.
Please fill an issue at https://github.com/microsoft/hummingbird.

Hi @scivm !  I don't see ColumnNameLowerizer as an SKL operator.  Is this a function that you wrote yourself and added to your SKL pipeline manually?
Can you please share some of your code that you used to generate the model?  That will help us troubleshoot.

Thanks.  It is a simple custom function added to the skl pipeline that changes columns to lowercase.
            model = = RandomForestClassifier()
            pipeline = Pipeline(
                [
                    ('column_lowerizer', pc.ColumnNameLowerizer()),
                    ('final_classifier', model)
                ]
            )

class ColumnNameLowerizer:
    """ Normalize all columnames to lower case
    """
    def transform(self, X):
        return self._cols_to_lower(X)

    def fit(self, X, y=None):
        return self._cols_to_lower(X)

    def fit_transform(self, X, y=None):
        return self._cols_to_lower(X)

    def _cols_to_lower(self, X):
        X.columns = [col.lower() for col in X.columns]
        return X

Thanks for posting this!  So far, we have focused only on strict onnx or sklearn pipelines.
This example highlights an important limitation in our setup.  I'll change this to a feature request for us to add extensibility framework.
For now, the only way to make your code work is to either change your code to not need this additional pipeline step, or to implement a converter manually (which would involve also adding the steps to register the converter).


Mat-menu voice over focus

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
13
Description
I have previously reported a partially fixed bug related to "mat-menu-item don't restrain focus". This was fixed in v.14. But it's still a small issue.
Before: When using voice-over, mat-menu did not always set the focus to the first menu item and it was possible to navigate out of the menu and on the elements behind the menu
Present: The focus is set to the first menu item and contained inside the menu when navigating to the bottom. However, when navigating back to the first item, it's possible to continue "up" and out of the menu to the elements behind. voice-over
Reproduction
Steps to reproduce:

Open mat-menu with voice-over on
2.Navigate to last item, and back to the first(mat-menu-item[0]). The next "swipe" to the left will take you out of the menu and to elements behind the menu, and the menu is still open

Expected Behavior
The focus should not leave the menu before the user close the menu
Actual Behavior
The focus goes out of the menu and on elements behind the menu
Environment

Angular:
CDK/Material:
Browser(s):
Operating System (e.g. Windows, macOS, Ubuntu):

confirming that I can reproduce on the Basic Menu example.
macOS 12.4 (21F79) | Voice over | Chrome Version 102.0.5005.115 (Official Build) (x86_64)

I believe this is working as expected

The focus should not leave the menu before the user close the menu

I don't believe this is actually an expected behavior for menus, only for dialogs. If you try the W3C's own menu example, you can use VoiceOver navigation to move out of the menu:
https://www.w3.org/WAI/ARIA/apg/example-index/menu-button/menu-button-links
@GlenStautland is there some specific ARIA or WCAG requirement that you're basing this report on?


TypeScript support

Great library, looking to use it in some of our existing applications.
However, we're all TypeScript so was wondering if you'd be interested in adding a types file, or migrating the app in its entirety over to typescript?  More than happy to contribute a PR if you have a preference.

Hey, thanks @turneand!
I think the preference right now would be adding a types file rather than a complete migration. If you'd be willing to submit a PR for that, it would be much appreciated. 🙏

Greetings,
If you change your mind about a complete migration feel free to contact us as well 😄. If you are interested we can "Raid" your repository, there would be one big PR from our Organization, for a large specific task/problem domain; in this case TS conversion.
We would need a maintainer as a point of contact, we prefer using Discord https://discord.gg/xkdkAJZsBR
Let me know if you are interested.
You can read more about what we are doing here: https://github.com/OpenSourceRaidGuild/tutorial-quest
This is also an example of how we work and the workflow: HospitalRun/hospitalrun-frontend#2516
cc: @nobrayner @mpeyper @Aprillion

Thanks @JacobMGEvans, appreciate the offer! We'll keep that in mind if we decide to migrate in the future 👍


Shuffle things around in preparation for Jest runner.

Description
This PR moves the TestRunner interface to the detector and updates the return type of the DetectRunner to the interface instead of a pointer to the Rspec struct. This will hopefully allow me to add the Jest runner (which will also implement the TestRunner interface more easily.
I'm wondering if there's a more ergonomic way of doing this? Also wondering if there's a neater way to handle the aforementioned Rspec struct since I'll need a Jest one that's exactly the same.
Any pointers appreciated!

Superseded by #166


define sources for files previously held locally

[ ] CRD water supply area
[ ] Metro Vancouver water district
[ ] Migratory Bird Sanctuaries
[ ] National Wildlife Areas
[ ] Important Fisheries Watersheds (Great Bear Rainforest LUO
[ ] Class2 Coast Grizzly Bear Habitat
[ ] No Special Restriction

Note that sources.json probably requires a layer key for file based sources.


ImprovementRoutine load support workload group

Proposed changes
Routine load support workload group

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run compile

run compile

run buildall


{Core} aaz: fix issue in load_aaz_command_table for azdev and CI

Related command

Description

azdev or CI script will pass None value as args. It caused the fail of load_aaz_command_table.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Core


Update entrypoint.sh - fix invalid count

Update entrypoint.sh - fix invalid count
Calculate count of outdated before reformatting
Here is some testing I did locally:
Before reformatting:
protobuf-kotlin 3.23.2 => 3.23.3
launchdarkly-java-server-sdk 6.1.0 => 6.2.0
bcprov-jdk18on 1.73 => 1.74

After reformatting:
protobuf-kotlin 3.23.2 => 3.23.3\nlaunchdarkly-java-server-sdk 6.1.0 => 6.2.0\nbcprov-jdk18on 1.73 => 1.74
Updated message:
**You have 3 dependencies with newer available releases:**\nprotobuf-kotlin 3.23.2 => 3.23.3\nlaunchdarkly-java-server-sdk 6.1.0 => 6.2.0\nbcprov-jdk18on 1.73 => 1.74

@raulpadilladelgado Please have a look and let me know if you would like to accept this PR 😄
We just adopted this action and we like it!

@sishbi Thank you very much for fixing it! 😀


add support for multiple education

background
Some people have some degree of educations that can add value to themselves in the process of job seeking. Some, if not all, are significantly important so they are needed to put in the showcase to attract employers.
current situation
In the resume data (JSON), the data type is array, so it's possible to put multiple education information in here. However, both in template and in generator script only take the first one from the array.
what to do
Change mechanism from printing only one education information to multiple (based on input specified by user)
the problem It will solve
It will allow person to print multiple education information in the education section.

Expired; This should be redesign from scratch


[Blog] ML Commons Admin UI

Describe the blog post your would like to write
The ML-Commons admin UI is an intuitive and powerful interface for monitoring the responsing status of your machine learning models across various ML nodes. We are going to write this blog to discuss features and technical challenges.
What is the title of the blog post?
ML Commons Admin UI
Who are the authors?
wonglam, ruanyl, zaniu, ylwu, yych
What is the proposed posting date?
23th, March

@wanglam: Because we haven't seen a first draft yet, and we're adding additional and impactful functionality in 2.7, are you comfortable pushing the date of publication till closer to 2.7?
Additionally, as the writer assigned to help, is there anything I can do to help craft that first draft?

Hi @Naarcha-AWS sorry for late submit the first draft version. I've write one draft version, this content is still under team reviewing. We will submit to you the first draft version in few days. We can appropriately postpone the publishing time of the blog, and we want to publish it ASAP.

@wanglam  - Checking in on the draft and publish date for this blog since it was scheduled to go today. Can you please provided a status update here or via Asana.

@pajuric Sure. We've send the draft version and  author information to @Naarcha-AWS. We can postpone the posting date a little bit.

@wanglam - Confirming the new target date to have this live is 3/30?


feat: In the Klondike Tutorial, add features and document as Step 5

Problem to solve
In the Klondike Tutorial and accompanying code, cards are either dragged and dropped or they move to a position instantaneously. I propose to change the latter behavior in the case of misplaced cards or invalidly moved cards, so that the cards move smoothly back to where they started. The feature could also be used deliberately to peek at face-up cards in a Tableau Pile that are partly covered by other face-up cards.
Proposal
I propose to add code to the Card class near the end of the drag-and-drop sequence, where returnCard() is invoked. It will use a MoveToEffect and an EffectController. The accompanying piece of Tutorial Text would introduce the reader to these Flame ideas. It would also add a method to the Card class, to establish a style of movement to be used in other card moves.
The code and text could be added to Step 4 of the Tutorial or to the as yet unwritten Step 5.
More information
I am interested in working on a PR for this.

After completing the required code, I decided to push on...
I added more animations, a Klondike Draw 1 option, restartability of the app, tapping to auto-move a card to its Foundation Pile, detection of a win, celebration of a win, three options to restart if it looks as though a game cannot be won and a new Chapter 5 of tutorial text to complete the Klondike Tutorial and replace the "To be continued..." section.
The new code and documentation are submitted as PR 2842. Please review.


refactor(es6): Upgrade AbstractPlugin to es6

What kind of change does this PR introduce?
Refactor
Did you add tests for your changes?
Existing Tests are passing
If relevant, link to documentation update:
N/A
Summary
update AbstractPlugin to ES6
Does this PR introduce a breaking change?
No

Thank you :-D


🔥 Implement Chazelle's MST algorithm (challenge)

Write an implementation of the near-linear algorithm proposed by Chazelle:
https://www.cs.princeton.edu/~chazelle/pubs/mst.pdf

https://www2.seas.gwu.edu/~simhaweb/champalg/mst/mst.html


Remove processing_events resourcestate from database schema

The processing_events state has been deprecated in #3020, but the database type resourcestate still contains the processing_events element in order to be able to see the processing_events deployment action for passed deployments. This issue should remove the processing_events item from the resourcestate enum in the database schema.

done here: https://github.com/inmanta/inmanta-core/blob/17484701e1bf85722a59881444d4669907052749/src/inmanta/db/versions/v202209130.py


The dropdown arrow in the theme option is not aligned correctly

Current behaviour
When we change the theme from light to dark, the dropdown arrow is not aligned correctly and it looks messy.
Expected behaviour
The arrow should be visible clearly
Screenshot

Hey, Can i work on this issue?
Here's what i've found. There's issue with Padding and Positioning and I Have Found the Solution.
I believe I have a solution to this issue that I'd like to work on. Would it be possible to assign the issue to me so that I can start working on it?
Can you please assign it to me?
Here's what i've come up with

Sure work on it, If possible give some more padding on x-axis. @simplysabir

Sure, On it.

@Rajdip019 can you pls guide me to find the code. i did the changes using developer mode.
now i'm not able to find the code at this repo :
https://github.com/Clueless-Community/seamless-ui

Hey @Rajdip019 , I'm not able to find the dropdown component/part in the codebase. I'm Using website-dev branch.
could you pls help me out?

Can i work it on this issue

Hey Bro, I have the solution for this. You can try on other issues as there are more available.

Yes, I'm on it. But I'm not able to find the dropdown component/part in the codebase. I'm Using website-dev branch.
could you pls help me out?

@RavindraP04 can you help him with this?

@simplysabir This dropdown is by default available by Nextra themes, Checkout this https://nextra.site/docs/docs-theme/theme-configuration#dark-mode-and-themes

Okay lemme see

Hey @RavindraP04 , Went through this and codebase again thoroghly. still haven't found it. were you able to?

@simplysabir I am also trying to figure out how to solve it,
found this website which is also made using Nextra https://swr.vercel.app/docs/getting-started
In this website, there is custom dropdown for languages and beside that there is option for theme, I am looking in their codebase to know how they have done it, you can also check it.

@RavindraP04 any updates? i wasn't able to find that

@RavindraP04 any updates? i wasn't able to find that

I stopped looking for it due to exams, but will let you know if I find anything

Hey, I was still looking for it but couldn't figured it out. secondly, I have used nextra several times for documentation but not a single time this type of problem has occur. so I'm also wondering why did this occur?
lemme know if you've found anything.


move seq test into individual save callbacks to differentiate handling of blanks

The todo-mvc example has a serious deviation from the official spec which says existing todos, if edited to be blank, should be deleted. The app instead treats it as an NOP, leaving the todo unchanged.
This is not a bug, but the re-frame todo-mvc is offered as an exemplar (and the fix is trivial -- pass the value through to the two on-save handlers and adjusting them so they can implement their varying behaviors) so it might be worth conforming to the spec.

I'm going to take your word for it and merge.  Hope you are right.  Many Thanks.


Document the new basic ECIES encryptor

We have introduced a more standardized implementation of ECIES encryptor. We also need to document it.

I prepared an ECIES documentation here:
https://github.com/lime-company/powerauth-crypto/wiki/End-To-End-Encryption
@hvge Is there still something missing?

In Encryption, step 3 (or in Decryption, step 2), the optional "info" parameter is actually not optional (it's optional, but only from that KDF function's perspective). Our scheme requires here to use KEY_EPH_PUB as input to info parameter. Our current implementation is using KEY_EPH_PUB in form of exact key bytes as received with the encrypted payload (if you look at it from server's perspective). This should be also noted in the documentation. Just for your info, I'm keeping a short note about the protocol also in our C++ code documentation.
In Encryption, step 4, you're using "sharedInfo" parameter, but this is typically called as "sharedInfo2"  in research papers (or S2, SH2, param2, etc...). This is a minor issue, but may confuse readers already familiar with ECIES. I think we should keep this naming, even if our implementation has S1 as not configurable. Now it looks like that you're providing S1 but it's actually S2

I see - I fixed the issue from comments, now the docs should be OK.


Userstory - 5

As a Student
I want to track the payment history
So that I can make all the pending payments before the deadline.

close #5


Wrong link in README.MD

It should be: http://ebean-orm.github.io/docs/query/background/typesafe

done, thanks.


scrollbar thickness is ignored

Steps to reproduce

Set a thickness on scrollbar to something other than the default
Hover the scrollbar
Scrollbar will use thickness from Scrollbar theme when hovered instead of thickness manually set on scrollbar

Expected results
Scrollbar should not ignore manually set thickness on hover
Actual results
Scrollbar ignores manual thickness on hover
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/scrollbar.dart#L333
  MaterialStateProperty<double> get _thickness {
    return MaterialStateProperty.resolveWith((Set<MaterialState> states) {
      if (states.contains(MaterialState.hovered) && _trackVisibility.resolve(states)) {
        return _scrollbarTheme.thickness?.resolve(states)
          ?? _kScrollbarThicknessWithTrack;
      }
      // The default scrollbar thickness is smaller on mobile.
      return widget.thickness
        ?? _scrollbarTheme.thickness?.resolve(states)
        ?? (_kScrollbarThickness / (_useAndroidScrollbar ? 2 : 1));
    });
  }

should be changed to
  MaterialStateProperty<double> get _thickness {
    if(widget.thickness != null) {
       return widget.thickness;
    }
    return MaterialStateProperty.resolveWith((Set<MaterialState> states) {
      if (states.contains(MaterialState.hovered) && _trackVisibility.resolve(states)) {
        return _scrollbarTheme.thickness?.resolve(states)
          ?? _kScrollbarThicknessWithTrack;
      }
      // The default scrollbar thickness is smaller on mobile.
      return _scrollbarTheme.thickness?.resolve(states)
        ?? (_kScrollbarThickness / (_useAndroidScrollbar ? 2 : 1));
    });
  }

Code sample
Code sample
Scrollbar(thickness: 50, ...)

Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
 Flutter (Channel stable, 3.19.0, on macOS 14.3.1 23D60 darwin-arm64, locale en-US)

Thanks for the report @jezell
I verified using official example and run on all platforms (mobile, web, desktop) using latest stable and master versions and observed that the explicitly passed thickness value (50) does seem to take effect, as shown below:

If this isn't correct interpretation of the issue, can you elaborate on actual vs expected behavior upon passing the value ?

@darshankawar the bug is that it doesn't take effect on hover so it resizes when you hover. This repros in dartpad on hover, looks like maybe you have to have thumbVisibility: true for it to surface.

import 'package:flutter/material.dart';

/// Flutter code sample for [RawScrollbar].

void main() => runApp(const RawScrollbarExampleApp());

class RawScrollbarExampleApp extends StatelessWidget {
  const RawScrollbarExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('RawScrollbar Sample')),
        body: const Center(
          child: RawScrollbarExample(),
        ),
      ),
    );
  }
}

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

  @override
  State<RawScrollbarExample> createState() => _RawScrollbarExampleState();
}

class _RawScrollbarExampleState extends State<RawScrollbarExample> {
  final ScrollController _firstController = ScrollController();

  @override
  Widget build(BuildContext context) {
    return LayoutBuilder(
        builder: (BuildContext context, BoxConstraints constraints) {
      return Row(
        children: <Widget>[
          SizedBox(
              width: constraints.maxWidth / 2,
              // When using the PrimaryScrollController and a Scrollbar
              // together, only one ScrollPosition can be attached to the
              // PrimaryScrollController at a time. Providing a
              // unique scroll controller to this scroll view prevents it
              // from attaching to the PrimaryScrollController.
              child: Scrollbar(
                thumbVisibility: true,
                controller: _firstController,
                child: ListView.builder(
                    controller: _firstController,
                    itemCount: 100,
                    itemBuilder: (BuildContext context, int index) {
                      return Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: Text('Scrollable 1 : Index $index'),
                      );
                    }),
              )),
          SizedBox(
              width: constraints.maxWidth / 2,
              // This vertical scroll view has primary set to true, so it is
              // using the PrimaryScrollController. On mobile platforms, the
              // PrimaryScrollController automatically attaches to vertical
              // ScrollViews, unlike on Desktop platforms, where the primary
              // parameter is required.
              child: ScrollbarTheme(
                data: ScrollbarThemeData(thickness: MaterialStatePropertyAll(10)),
                child: Scrollbar(
                thickness: 50,
                  trackVisibility: true,
                thumbVisibility: true,
                child: ListView.builder(
                    primary: true,
                    itemCount: 100,
                    itemBuilder: (BuildContext context, int index) {
                      return Container(
                          height: 50,
                          color: index.isEven
                              ? Colors.amberAccent
                              : Colors.blueAccent,
                          child: Padding(
                            padding: const EdgeInsets.all(8.0),
                            child: Text('Scrollable 2 : Index $index'),
                          ));
                    }),
              ))),
        ],
      );
    });
  }
}

Thanks for the update @jezell
I already had thumbVisibility set to true. Upon running on web and hovering on scrollbar, I get below:
https://github.com/flutter/flutter/assets/67046386/b76b05db-0616-4c40-bf9f-4a39958c0627

@darshankawar not sure what you are doing different because if I paste the code I posted above into dartpad this is what happens.
https://github.com/flutter/flutter/assets/22264/3faf897c-ce0c-4752-b03f-9172b9e3c3c4
The code also clearly says this is what will happen.

Thanks for the update. I was now able to replicate it on both versions. It also observed on desktop (macos) along with on web.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.19.0, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.19.0 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bae5e49bc2 (2 days ago), 2024-02-13 17:46:18 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

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

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.20.0-11.0.pre.80, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.20.0-11.0.pre.80 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision efee280cfa (3 hours ago), 2024-02-21 21:44:25 -0500
    • Engine revision 7eeb697687
    • Dart version 3.4.0 (build 3.4.0-163.0.dev)
    • DevTools version 2.33.0-dev.6
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

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

! Doctor found issues in 1 category.


Using a pretrained horizontal FL classification model on the Python interface + Local datasets for FLClassifier?

Is it possible to load a pretrained horizontal FL .model file to an FLClassifier object on the Python interface and then use the predict() method to make new predictions, even if the pretrained model was generated via command line interface?
Alternatively, is there a way to use both the standalone build and the Python interface in order to train a horizontal FL model in which the clients supply their own local datasets? From my understanding of fedtree.py and scikit_fedtree.cpp, it appears that FLClassifier can only simulate FL by partitioning a single dataset, rather than importing separate datasets from the local parties. (Is this correct?)

I am trying to train a horizontal FL classification FedTree model using local datasets supplied by each of the individual parties. I can run the CLI Distributed Horizontal FedTree example (as well as classifier_example.py) just fine, but it's not clear to me how I can make new predictions after loading the .model files with the Python API. When I use the predict() method right after creating an FLClassifier object and loading a model via load_model(), my program immediately terminates (unless I have trained a new model with the fit() method, which would defeat the purpose of what I am trying to do).

Any help would be greatly appreciated!

@abrahamcanafe ,
I have fixed this issue. Now you should be able to use the Python interface to load the model trained with CLI and conduct prediction. Also, we will improve the python interface so that it supports importing separate datasets in the distributed setting in the future. Thanks!

@abrahamcanafe ,
I have fixed this issue. Now you should be able to use the Python interface to load the model trained with CLI and conduct prediction. Also, we will improve the python interface so that it supports importing separate datasets in the distributed setting in the future. Thanks!

Thanks for quick response! I was indeed able to use the Python interface to load a model from CLI.


eq operator on string field is not working

@anidotnet
Do I  have to create index on string fields for searching purpose ??? eq operator is not working even after creating index on the field.
    try
    {
        Nitrite db = Nitrite.builder().filePath("D:\\demo.db").openOrCreate();

       Document doc = new Document();

        doc.put("user.name","u31").put("user.password","aaa31").put("age",31);

        db.getCollection("users").insert(doc);

        doc = new Document();

        doc.put("user.name","u32").put("user.password","aaa32").put("age",32);

        db.getCollection("users").insert(doc);

        doc = new Document();

        doc.put("user.name","u33").put("user.password","aaa33").put("age",33);

        db.getCollection("users").insert(doc);

        doc = new Document();

        doc.put("user.name","u34").put("user.password","aaa34").put("age",34);

        db.getCollection("users").insert(doc);

        db.getCollection("users").createIndex("user.name", indexOptions(IndexType.NonUnique));

        db.getCollection("users").createIndex("user.password", indexOptions(IndexType.NonUnique));

        db.commit();

     System.out.println(db.getCollection("users").find(eq("user.name","u31")).toList());

    }
    catch (Exception ex)
    {
        ex.printStackTrace();
    }

Got the issue.. if field contains "." then it does not work. any work around of this ??? We have to use "." in the field name it self.

No way around till now. May be I can put some options to customize the field separator to the next major release 4.x.

Added the functionality in 4.x branch. But unfortunately could not accommodate in 3.x branch.

When 4.x will be released ??? Or do i have to manually merge the changes ???

I don't have any release date planned for 4.x. But I'll see if I can merge this changes to 3.3.0.

@anidotnet  can you please help to merge this feature in 3.3.0 ??? it's very crucial for us to use . dot notation.... I can do it if you guide me.

You can check the commit log attached to this issue and make changes in your fork as per your convenience.


Add microbit list

Add micro:bit list

[Insert URL to the list here]
https://github.com/carlosperate/awesome-microbit
[Explain what this list is about and why it should be included here]
Microbit is a chip on little board that can be programmed in many ways. It has sensors and can be connected to more. Its aim is to teach kids programming.
I have not made the awesome list, but found it.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

I don't think you need to write MicroPython at the beginning of everything in the MicroPython Libraries section.

Duplicate of #1127, which is by the person who made that list.


Don't rebind other-window to ace-window

The window-select module has (global-set-key [remap other-window] #'ace-window).
I see ace-window as useful for navigating in frames with many window.
other-window is ideal for quickly moving between ~2-4 windows on the same
frame (I have it bound to key-chord fk).
If my understanding of these different use-cases is correct, it seems better to
give ace-window its own binding.

For 2 windows ace-window has the same behavior as other-window. For more than 2 windows other-window doesn't seem as the best option, due to its cyclic ordering. If you instead map ace-window to SPC-w-w you reach every window with 4 keystrokes.
You might also use evil-window-mru for switching to the last used buffer in another window or evil-avy-goto-char-2 with a prefix argument to jump to the exact location.
I guess with this whole set of fine options hlissner found other-window to be kinda obsolete.

For 2 windows ace-window has the same behavior as other-window.

I thought this was the case, but that's not what I saw. I now realize it was because of a quirk in EXWM. If I have 2 Emacs windows open in the same workspace as an X window (e.g. Firefox), then ace-window sees 3 windows, but only gives me the option to switch between the 2 Emacs windows.
I'll close, since it's easy enough for EXWM users to just add their own ace-window config:
(use-package! ace-window
  :config
  (map! "C-M-SPC" #'ace-window)
  (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)))


ssh not working, connection refused

Hello,
Just wanted to activate ssh in order to install ps4 custom component and it does not work. Generated authorized_keys with puttygen and placed it in the root but no luck.
This was working perfectly on resinos based hassio.
Something changed ? different port ? different type of encription for the key ? Must be missing something :)
Thanks in advance

btw: HassOS 1.9


Utilize BodySet as a trait object instead of param

This commit prevents BodySet from polluting as a type parameter into all the core types required for physics stepping. Thanks to this, problems involved in dealing with these types in Specs usage are alleviated. However, this commit also removes the associated type of Body and always assumes dynamic dispatch on the Body type. This is an evolution of #226 that loosens future restrictions mentioned in that thread.

Thank you for this PR! Since this is a significant change, I won't have time to review this in depth before November.
After a quick look, my main concern is the performance impact since this adds virtual function calls. We should add some benchmarks (in a separate PR that would be merged before this one) to check that.

👍 no problem. I do want to point out that assuming dyn Body for BodySet is not necessary for this PR, but heavily simplifies it, since all the places that would've previously been polluted with BodySet parameters would've then also been polluted with Body<N> parameters, and the trickiness of ?Sized.

I did not notice any performance regression with this change (by comparing the step times on our examples, before and after this change).
I took the liberty of pushing a couple of minor changes (fixing the DefaultMechanicalWorld alias and running cargo fmt).
Waiting for the CI to succeed in order to merge this.

All green. Thanks @distransient!

@distransient Thanks a lot for this change, this works great and made my integration with specs much easier!

I've been caught up with school last two days, but glad my PR could help! ^^


Upgrade to ls-api 0.2.0-SNAPSHOT

We had to change the signatures of the service methods to return a CompletableFuture because at first we misunderstood how synchronization should be handled in the protocol. See https://github.com/TypeFox/ls-api/issues/5 for more details.
We bumped the version so you don't get broken immediately, but you should upgrade if you can. We will publish the SNAPSHOT tomorrow morning (Europe).

Please wait with merge, as the 0.2.0 SNAPSHOTS are not yet published to sonatype snapshots. Will add a comment once they are.

OK the changes don't look too bad, I should be able to just return CompletableFuture.completedFuture(...) everywhere, right?

Cool! The snapshot is now deployed.

I have upgraded but there are still fundamental problems with reading large messages: https://github.com/TypeFox/ls-api/issues/6


Calling hipFree on a pointer allocated with hipMallocManaged returns hipErrorInvalidDevicePointer

Any pointer allocated with hipMallocManaged can not be freed with hipFree (on the AMD GPU backend). Basic code to reproduce:
#include <cstdlib>
#include <iostream>

#include <hip/hip_runtime.h>

int main(int argc, char *argv[])
{
    float* ptr;
    hipError_t err;
    if ((err = hipMallocManaged(&ptr, sizeof(float))) != hipSuccess) {
        std::cerr << "Allocation failed: " << hipGetErrorName(err) << std::endl;
        std::exit(1);
    }

    if ((err = hipFree(ptr)) != hipSuccess) {
        std::cerr << "Freeing failed: " << hipGetErrorName(err) << std::endl;
        std::exit(1);
    }

    return 0;
}

Always prints Freeing failed: hipErrorInvalidDevicePointer.

Thanks for reporting this. I will fix it. #1036 added basic support for hipMallocManaged using host malloc memory.

Closing the bug as we have made the fix for the same.


WSL tab not overwritten by tabTitle

Environment
Windows build number: Microsoft Windows [Version 10.0.18363.476]
Windows Terminal version (if applicable): 0.7.3382.0
Any other software?
Ubuntu 16.04.6 LTS
Steps to reproduce
Open a new WSL tab
Expected behavior
Tab title is overwritten by the string specified in setting
"tabTitle" : "foo"
Actual behavior
Tab title is not overwritten, still showing the long string of the directory.
I have seen the 'tabTitle' string works in cmd and powershell, however I only use Windows Terminal with WSL. When I open a new tab for WSL, I can see the process that initially the tab name was 'foo', after a few milliseconds the tab title was overwritten again by the long directory string. Anyway to to make the tabTitle work for WSL?

Just figured out I can use the option
"suppressApplicationTitle" : true
very nice. Thanks.


_Underscored meta in custom field is not working

Hello,
when i'm using this code, new post upload successfully.
widget.custom_fields.append({         'key': 'price',         'value': 2 })
but when i put underscore in key value like this:
widget.custom_fields.append({         'key': '_price',         'value': 2 })
it's not working?? can one sort out this issue.
Thanks

This is a security measure in WordPress' XML-RPC API, custom fields that start with an underscore are considered private and not exposed through the API by default. What is creating this _price custom field? If it is code you wrote then you can use the register_meta function args to expose it to the API, or you can use the is_protected_meta filter to mark this field as not protected.

This is a security measure in WordPress' XML-RPC API, custom fields that start with an underscore are considered private and not exposed through the API by default. What is creating this _price custom field? If it is code you wrote then you can use the register_meta function args to expose it to the API, or you can use the is_protected_meta filter to mark this field as not protected.

thnks @maxcutler i'hv already use register_meta function to register the meta_key, when i checked it show "TRUE", according to WordPress codex, it's register.
but my code is not working.

http://python-wordpress-xmlrpc.readthedocs.io/en/latest/ref/wordpress.html#WordPressOption
i'hv gone through this code,  date (datetime) is not work properly.
my code is this:
from datetime import datetime
now = datetime.now()
post = WordPressPost()
post.date = datetime(now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond)
post publish time shows wrong time. can you please sort out this issue also.


Error:(32,31) java: package com.masterkenth.discord does not exist

Getting an error on the discord side of the intellij files:
import com.masterkenth.discord.Embed; import com.masterkenth.discord.Author; import com.masterkenth.discord.Field; import com.masterkenth.discord.Image; import com.masterkenth.discord.Webhook;
Error:(32,31) java: package com.masterkenth.discord does not exist
what can i do to fix this

Hey @Jester1620 is this still an issue or can I close this?

Closed because invalid / no response. Feel free to reopen if you still have any issues :)


Tips to upload large models/datasets

We've talked several times about having a section in the docs with some tips for users wanting to upload a large amount of data. I tried to sum-up everything with two distinct aspects:

technical limitations (max size per file, max file per commit, max file per folder, max file per repo)
practical tips (start small, use hf_transfer, expect failures)

I also reorganized a bit the Upload guide in general. It's becoming a quite long page but I still think it makes sense to have everything in one place.

cc @Pierrci @coyotte508 can you check the info is accurate. I took it from https://github.com/huggingface/huggingface_hub/issues/995#issuecomment-1218396702 but prefer to double-check it's not outdated (already 1y old :smile:)
cc @lhoestq might be interested for datasets users as well

Thanks for the review and valuable feedback @stevhliu @lhoestq! I'll update to PR to make the short list more explicit about what is a hard limit and what is a recommendation. And also move it up in the section :)

I have addressed all the comments:

merged the PR suggestions
suggest to contact us via Discord or<EMAIL_ADDRESS>(I expect repos with TBs of data to be 99% datasets)
compiled technical recommendation in a table as suggested by @stevhliu:

@stevhliu Could you have a second look to the docs and check it looks good? Thanks in advance!

Thanks for the review @Pierrci! Completely understand your point here about not to commit to much on the hard limits. I have applied your recommendations. Could you have a final look and we are good to merge? :)

Thanks @Wauplin! I did a Grammarly pass and pushed additional changes (the VSCode extension is really nice for that!), everything LGTM on my end!

Perfect! Thanks for the final pass, I'm finally merging this PR :smile:

@julien-c about https://discuss.huggingface.co/t/is-there-a-size-limit-for-dataset-hosting/14861/13?u=severo, we had the information in a previous version of this PR (see the table above: https://github.com/huggingface/huggingface_hub/pull/1565#issuecomment-1645548504).
Should we add it again?

i think we didn't want to do a table with "recommended limits" and "hard limits", so maybe just add a sentence like:

in all cases no single LFS file will be able to be >50GB. I.e. 50GB is the hard limit for single file size.

OK: https://github.com/huggingface/huggingface_hub/pull/1624


Layered Graph can't display Loops

I was trying to display an NFA-ε which required the edge of a grandchild to go back into it's grandparent node.
Using SugiyamaAlgorithm the resulting graph isn't correct, as visible on the attached image.

Node q2 should have an edge to node q1, instead node q1 has a strange edge to itself.

Can you share what would be the correct UI ? Sugiyama graph does not allow loops.

I wanted to create something similar to this graph:

Unfortunately not possible with the current implementation.

Duplicate of #79


PKCS  Unit Tests

Added the last 0.4% of PKCS #11 test coverage.
Description
Added an array that can be memcmp'd to see if it's a valid key. Removed impossible code path.
Checklist:

[x ] I have tested my changes. No regression in existing tests.
[ x] My code is Linted.

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

/bot run checks


Counters on Windows

similar to '/proc/'
Win32 Performance Counters: https://docs.microsoft.com/en-us/windows/desktop/perfctrs/performance-counters-portal

we will not implement a Windows specific solution as no benchmarking will run on this platform


Update diversity.md

Responsibilities for diversity workgroup

@ansharora28 i'll be spending a little time today moving the docs away from mdbook to mkdocs, updating the theme, setting up github pages, and what not so I merged your PR. I hope that's okay.