Interface merge of import/local should error when the import is re-exported with export *

TypeScript Version:  (2.0.0-dev.20160705)
Code
// foo.ts
declare module 'A' {
  export interface Foo<S> {
    (): void;
  }
}
declare module '~B' {
  import { Foo as Roo } from 'A';
  interface Foo extends Roo<any> {
  }
}
declare module 'B' {
export * from '~B';
}

// boo.ts
declare module 'B' {
  interface Foo {
     (message: string): any;
  }
}

export const SOME = 1;

// go.ts
import { Foo } from 'B';

let x: Foo;
x(); // <-- only have (message: string): any

Expected behavior:
x(); have overloads of (message: string): any and (): void
Actual behavior:
x(); only have (message: string): any
If I change boo.ts to:
// boo.ts
import { Foo as Soo } from 'A';
declare module 'B' {
  interface Foo extends Soo<any> { // <-- i.e. matching original extends
     (message: string): any;
  }
}

export const SOME = 1;

Then it works correctly.
Also, if I reference ~B instead of B (i.e. without re-export), it works correctly too:
// boo.ts
declare module '~B' {
  interface Foo {
     (message: string): any;
  }
}

export const SOME = 1;

// go.ts
import { Foo } from '~B';

let x: Foo;
x()

cc @blakeembrey to see if it rings any bell on similar issues.

Expanding this to cover one more issue:
// foo.ts
declare module 'A' {
  export interface Foo<S> {
    (): void;
  }

  export class SomeClass<S> {
    foo: Foo<S>;
  }
}
declare module '~B' {
  import { Foo as Roo, SomeClass } from 'A';
  export { SomeClass }
  interface Foo extends Roo<any> {
  }
}
declare module 'B' {
export * from '~B';
}

// boo.ts
import { Foo as Soo } from 'A';

declare module 'B' {
  interface Foo extends Soo<any> { // <-- i.e. matching original extends
    (message: string): any;
  }
}

export const SOME = 1;

// go.ts
import { Foo, SomeClass } from 'B';

let x: Foo;
x(); // <-- has overloads

let y: SomeClass<any>;
y.foo(); // <-- no overloads

This issue is more common than I thought.
It would happen if I wrote a module distributed through npm this way:
// index.ts
export * form './a';
export * from './b';

// a.ts
...

// b.ts
...

Which is a pretty common pattern.

Maybe related: https://github.com/Microsoft/TypeScript/issues/9127

Maybe related: https://github.com/Microsoft/TypeScript/issues/9127

This is basically a duplicate of #8140. You can't augment things that are imported from a module, even types. But the bad error you found is different than #8140. export * from "~B" doesn't report the error, but export { Foo } from "~B" does. The compiler should give the same error for export * that it does for export { Foo }.
I'll give more detail in a subsequent comment. I'll include a modified repro and an explanation of why this fails to do what you want.

You can't augment things that are imported from a module, even types

Not sure if I understand. boo.ts is not importing module B, it just augment module B.

Here's the explanation I promised. I assume that you are trying to augment the Foo declared in ~B based on what you expect to happen. The declare module 'B' block in boo.ts is supposed to do this. Unfortunately, in foo.ts, B re-exports Foo from ~B, so you can't -- once you import something, it will never merge:
declare module 'B' {
  export * from '~B'; // import and re-export `Foo`
}

TypeScript should error here. And it does -- if you explicitly say export { Foo } from '~B'. It incorrectly fails to error with export * from '~B'.
In boo.ts, you could declare module '~B' and augment ~B instead of B instead. This works as long as all your modules are originally declared as ambient module declarations (that is, declare module 'X' blocks in a file consisting only of declare module 'X' blocks).

I forgot to mention earlier that TypeScript skips the re-exported Foo from B that it should have errored on. That's why the base members are missing that you expect to see.
Here's the modified repro that uses properties:
// foo.ts
declare module 'A' {
  export interface Foo {
    foo: number; // diff 1: use property instead of call signature
  }
}
declare module '~B' {
  import { Foo as Roo } from 'A';
  interface Foo extends Roo {
      baz: boolean; // diff 2: add property
  }
}
declare module 'B' {
export * from '~B';
}

// boo.ts
declare module 'B' {
  interface Foo {
     bar: string; // diff 3: use property instead of call sig
  }
}
export const SOME = 1;

// go.ts
import { Foo } from 'B';

let x: Foo = {  // diff 4: initialise to object literal
    foo: 1,  // error: 'foo' does not exist in type 'Foo'
    bar: 'maybe',
    baz: false, // error: 'baz' does not exist in type 'Foo'
};

The simplest fix is a one-liner. In boo.ts, augment '~B' instead. This allows Foo to merge before being exported by B:
// boo.ts
declare module '~B' {
  interface Foo {
    bar: string;
  }
}

I tried your fix to this modified repro but it still says that 'baz' does not exist in type 'Foo':
// boo.ts
import { Foo as Soo } from 'A';
declare module 'B' {
  interface Foo extends Soo {
     bar: string;
  }
}
export const SOME = 1;

The reason that this doesn't work is that the re-export is still skipped so baz is still missing (and typescript still fails to error). But since Foo now explicitly extends Soo, the compiler at least knows that foo is a member of Foo.

Does that means module written like this:
// index.ts
export * form './a';
export * from './b';

// a.ts
...

// b.ts
...

cannot be augmented?

Also, this could cause issue on typings if the re-export can't be merged.

When you say "Interface merge of alias/local should error when the alias is re-exported with export *", do you mean it is the alias Roo in  import { Foo as Roo } from 'A'; causing the issue here?

Which module do you want to augment? index.ts? That's correct. You are not allowed to modify things that are imported from modules. Looking at existing libraries on DefinitelyTyped, it looks like people either use /// <reference ... or else put the whole core of their library into index.d.ts.

No, it is the export * from '~B'. If you rewrite that line as export { Foo } from '~B', you'll see the error "Export declaration conflicts with exported declaration of 'Foo': interface Foo, import Foo".
I think this could indeed be an issue for typings. I'll bring it to the attention of @RyanCavanaugh.

The term "alias" is misleading. Internally, the compiler refers to any imported symbol as an alias, whether it actually uses the as alias syntax or not.

use /// <reference ... or else put the whole core of their library into index.d.ts

Do you mean index.ts? This limitation would definitely surprise many people.

see the error "Export declaration conflicts with exported declaration of 'Foo': interface Foo, import Foo"

In foo.ts, I do not see that error using 7/5 build

a .d.ts is just a TypeScript file that contains only declarations -- but projects like Angular put a lot of declarations in their top-level declaration file, not just re-exports. I think you are right that this limitation will surprise people, however.
What tool fails to produce the error? I see it in VS Code and running tsc from the command line. I am using the code from this morning.

What tool fails to produce the error?

That's strange. I am using VSCode. It doesn't work for both past and today's release. With 7/5 TS nightly.

Is this a technical limitation or there are use case for this limitation?
This will break all augmentation for typings I believe.  cc @blakeembrey

Thanks @unional, sounds like it. I had assumed this was fixed, but I guess I reviewed it incorrectly. For reference, there's a whole chain of issues starting from https://github.com/typings/typings/issues/525#issuecomment-226062689. Also, being unable to augment any export * modules is a huge gotcha. It's fairly common to write TypeScript that exports from multiple files as the main file (E.g. https://github.com/blakeembrey/jaywalk/blob/master/src/types/index.ts or https://github.com/blakeembrey/node-scrappy/blob/master/src/index.ts).

I had assumed this was fixed, but I guess I reviewed it incorrectly

I looked it up and it fixed the export default and augmentation in ADDING interface: https://github.com/Microsoft/TypeScript/issues/8840

But this is about augmenting existing interface.

Also on the js front it is common: https://github.com/lodash/lodash/blob/es/lodash.js
and everything in angular: https://github.com/angular/angular/blob/master/modules/%40angular/http/index.ts
https://github.com/angular/angular/blob/master/modules/%40angular/core/index.ts
...

It's a technical limitation. I don't know yet if it's by design (and if so, if there's an intended workaround) -- I'm waiting on @RyanCavanaugh to get back from vacation since he knows much more than I do about typings.

Unfortunately, after some more discussion with the team, we decided that we can't support this pattern for now. We might revisit this decision in the future, but current DefinitelyTyped code has worked around this limitation so far, which may indicate that it's (1) easy to work around or (2) not that common.

@sandersn Unless I've misunderstood something, isn't this extremely common? Basically any node module that's re-exporting from multiple files follows this pattern (which is most node modules, you can regularly find anything bigger than a single function util exporting multiple files in index.js). I believe even TypeScript would be authored in this format if it were originally written as ES6 modules.
DefinitelyTyped "works around it" because it mutates the global scope. The only other possible work-around in ordinary code would be to augment the original source file. But that means any file in a module is now part of the public API, which is frowned upon doing and quite fragile.

@RyanCavanaugh Thoughts? You've worked with DefinitelyTyped a lot more than I have.

@RyanCavanaugh what's your thought?
I have a private library written in TypeScript that hit this limitation.
And example is to imagine redux is written in TypeScript and redux-thunk and redux-promise needs to augment the Dispatch method.
This bug prevents that from happening.
My workaround is put all source code into index.ts in the "redux" package. Which definitely won't scale as the package evolves.

Pinging @RyanCavanaugh

Any update on this? We should reconsider this, not just for typings, for package written in TypeScript in general.


Why is there no source code?

How trustworthy are these binaries?
Where's the source code that was used for building this?

@ashishb Thanks for asking. If you look at https://github.com/blend/require-conditional-status-checks/branches you'll see release and development branches.
The source code (and build files, etc.) lives in the development branch and the release branch is kept minimal to ensure that using this repo as a GitHub Action is VERY fast.

Thanks @dhermes for the clarification.


Test for calling the api endpoint for create user with bad info

Should refuse reject you. Bad data can be anything from no name to no email to no password/non matching passwords.

Mike & Brian

To fix this you should add a file /server/api/user/user.spec.js that mirrors server/api/project/project.spec.js but will send a post requests with bad create user credentials, for this class just non matching passwords will be fine.

We're not sure how to actually send the POST data and what sort of response we should expect if there's an error.

What is the url for the api call to create a user? I've tried searching through the code and the best options I can come up with seem like it's either /api/user, /api/user/create, /api/createUser, /auth/createUser, etc. I'm getting a 404 build error when trying these.

@agundy any idea on this? Thanks

Oops sorry I started replying to this but never finished... the api call is
a post to '/api/user/'
You can see it here:
https://github.com/rcos/Observatory3/blob/master/server/api/user/index.js#L26
And the implementation of that here:
https://github.com/rcos/Observatory3/blob/master/server/api/user/user.controller.js#L191
which is the controller file in the same directory
On Tue, Oct 27, 2015 at 11:45 AM, Mike Dame<EMAIL_ADDRESS>wrote:

@agundy https://github.com/agundy any idea on this? Thanks
—
Reply to this email directly or view it on GitHub
https://github.com/rcos/Observatory3/issues/211#issuecomment-151546157.

Thanks for the reply. I'm still getting a 404 error when trying to send a post to /api/user though. The exact error during build is:

POST /api/user/ should respond with JSON array:
Error: expected 200 "OK", got 404 "Not Found"

You can see the spec I'm trying to write here: https://github.com/damemi/Observatory3/blob/master/server/api/user/user.spec.js
Any help would be greatly appreciated. Right now what I've written for the test is pretty minimal, I'm just trying to get past this 404

Oops I missed an s should be '/api/users/'
On Tue, Oct 27, 2015 at 12:11 PM, Mike Dame<EMAIL_ADDRESS>wrote:

Thanks for the reply. I'm still getting a 404 error when trying to send a
post to /api/user though. The exact error during build is:

POST /api/user/ should respond with JSON array:
Error: expected 200 "OK", got 404 "Not Found"

You can see the spec I'm trying to write here:
https://github.com/damemi/Observatory3/blob/master/server/api/user/user.spec.js
Any help would be greatly appreciated. Right now what I've written for the
test is pretty minimal, I'm just trying to get past this 404
—
Reply to this email directly or view it on GitHub
https://github.com/rcos/Observatory3/issues/211#issuecomment-151553796.

Yes! Thank you


Add my first file

I have created a new branch , a file and made a commit!

my-first-branch deleted


GPU Acceleration 🤔 ?

This is a feature request 😁 : Jayanta and I have been talking about deploying a real-time pulsar search pipeline at the GMRT. We already have GPU-based dedispersion codes that we can use. While we are going to test out a hybrid system first (that is, dedispersion on the GPU and FFA, using riptide, on the CPU), we were also thinking about porting riptide's FFA kernels to the GPU. It should be possible to write highly parallelized kernels for the GPU and bind them to Python using pybind11, something that riptide is already doing for the CPU kernels. Is this something that's on riptide's roadmap?

It's one of these things that I imagine myself doing "when I get some free time" but that's unlikely to happen soon.  With a handful of CPUs you can already cover the long period regime with good phase resolution; even if you could obtain large speedup, you'd mostly gain the ability to cover shorter periods, where the extra sensitivity over the FFT is not particularly dramatic. Also, searching shorter periods requires searching more tightly spaced DM trials, so there's a double whammy cost increase when searching short periods (I talk about this in the paper, the b^3 term where b is the number of phase bins). Another thing to consider is that the peak finding algorithm consumes a fair amount of time at the moment, so if you made the FFA + matched filtering say 10x faster, you'd have to make peak finding much faster as well for it to matter (and it needs to remain as good as it is now, otherwise the extra sensitivity of the FFA is compromised). Lastly, the processing model where I use non-integer downsampling to maintain a roughly constant phase resolution might not be the way to go on the GPU. So all in all, lots of things to be carefully thought about.
PS: If you're bold enough to try implementing this, please do it by small increments; i.e. start by implementing a working FFA transform kernel on the GPU, then a matched filtering kernel, then think about interfacing it with the existing codebase. No merge pull requests with 500+ lines changed in a single commit please :smile:
If you could demonstrate something with solid potential, then I'd be happy to make deeper changes in the code to accommodate it.

@v-morello I will keep all this in mind. I am planning on making a separate repository for the GPU FFA kernels. If I end up making something that actually works and shows meaningful speed-ups over the CPU implementation, I will let you know. Then we can think of merging my repository into riptide. I will also let you know if we end up getting good results with a heterogeneous setup, that is, with dedispersion on the GPU and FFA on the CPU.
PS: As for the clfd commits, that one's on me 😅, I ended up making a lot of changes. Most of the file removals there are temporary (as in I will re-add the files later on). The final implementation should be ready for your review soon. I will let you know as soon as I am done with it. Do review it as and when you can spare some time 😁 .

I'm going to close this because let's face it, it's not happening, but I'm happy to be proven wrong in the future :smile:


Chrome freezing problem when scrolling

Hey bud, hope all is well. The list has been working great since you addressed those issues a while back. I'm having a little problem now that my team recently brought to my attention and it seems to be with the package itself, as it's happening on your sample site as well.
The problem is, on Chrome only, when scrolling WITHOUT moving your mouse, scrolling completely stops until the mouse is moved again. I've attached a video that attempts to demonstrate this, but you might need to try it yourself to fully understand the problem.
I don't ever recall this being an issue, and my suspicion is that the new Chrome version 100 that came out might be the source of the problem. I feel I would have remember that being an issue in the past and would have brought it to your attention sooner. If you could please look into this, that would be fantastic. Thank you

!

@syllith seems like chrome issue... needs some investigation

Interesting issue...seems like I found the reason.
New FAQs page
If you just use List or Table components - you just need to upgrade the library. All new styles are added automatically. I have also removed style.css file in new versions (check documentation to see all changes)

Great, thank you for the swift response. I'm redoing my project in typescript on React 18. I'm getting errors installing due to peer dependencies. Am I safe to install with --legacy

-peer-deps? Are you considering updating your package to be fully compatible with React 18?

Added react 18 support. Please upgrade

You are incredibly quick, thank you so much. I'm currently reconstructing the list portion of my project, I will let you know if there are any problems. Thank you again!

Everything is working perfectly. Thank you again, you're amazing. Closing the issue now since you've addressed it perfectly. Keep up the good work. This truly is an amazing package you've made!

Oh hey, side note, did you happen to fix a problem when scrolling manually with the mouse on the scroll bar? The scroll bar position used to get unaligned with the mouse when scrolling very quickly, but it looks to be resolved?

Yes, I have this issue on React 18, will investigate this problem. Could you please start new issues in future?)

Of course. I'm sorry. For some reason it seemed to be working yesterday, but now that I've rechecked, the problem still seems to be there. I will start a new issue about it now, just so it's official


Updated Redis repository project to support .NET Core

Also fix P2P version
@kichalla @pranavkm

:shipit:


[Backport 2.x] [Bugfix] [Tiered Caching] Fixes issues when integrating tiered cache with disk cache

Original PR: https://github.com/opensearch-project/OpenSearch/pull/13784
Description
Fixes issues that prevented us from using the tiered spillover cache with EhcacheDiskCache as the disk cache:

TSC was not correctly passing serializers to its disk cache, broken since 2.14
Ehcache plugin was missing slf4j dependency in main, but had it in 2.x branch
Ehcache plugin was missing permissions and wasn't properly using AccessController.doPrivileged to run its code that required those permissions. Broken since 2.13

These issues weren't caught in automated testing since the TSC lives in a module and the disk cache lives in a separate plugin, so we couldn't IT them together and the issues were only found during manual testing. Confirmed that after these fixes are in place, we can use the feature as desired using:
./gradlew run -Dtests.opensearch.opensearch.experimental.feature.pluggable.caching.enabled=true -Dtests.opensearch.indices.requests.cache.store.name=tiered_spillover -Dtests.opensearch.indices.requests.cache.tiered_spillover.onheap.store.name=opensearch_onheap -Dtests.opensearch.indices.requests.cache.tiered_spillover.disk.store.name=ehcache_disk -Dtests.opensearch.indices.requests.cache.tiered_spillover.disk.store.policies.took_time.threshold=0ms -PinstalledPlugins="['cache-ehcache']" -Dtests.opensearch.indices.requests.cache.ehcache_disk.storage.path="/Volumes/workplace/opensearch/OpenSearch/build/testclusters/runTask-0/data/nodes/0/indices/request_cache"
I've bundled these bugfixes together, as we can't really confirm any one of the fixes works until the manual test runs correctly, which requires all of the fixes.
Related Issues
Part of tiered caching
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added
~- [N/A] API changes companion pull request created.~

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[N/A] ~Commit changes are listed out in CHANGELOG.md file (See: Changelog)~
[N/A] ~Public documentation issue/PR created~

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Flaky tests:
https://github.com/opensearch-project/OpenSearch/issues/10558
https://github.com/opensearch-project/OpenSearch/issues/13473

@msfroh @dblock @VachaShah @sohami Would anyone be able to merge this backport PR?

@msfroh @dblock @VachaShah @sohami Would anyone be able to merge this backport PR?

We do need a passing build. When you see a flaky test, force push an update to re-trigger CI. I did click the button in the meantime, but you can self-serve faster ;)

Flaky test: https://github.com/opensearch-project/OpenSearch/issues/13600

@dblock This may be a dumb question, but it seems like sometimes failed flaky tests cause the gradle check to be "UNSTABLE", and other times it's "FAILURE". Do you know what causes the difference?

Flaky test:
https://github.com/opensearch-project/OpenSearch/issues/13307
https://github.com/opensearch-project/OpenSearch/issues/4259

Flaky test:
https://github.com/opensearch-project/OpenSearch/issues/11493
https://github.com/opensearch-project/OpenSearch/issues/13600

@dblock I think I finally have a green build with DCO, would you be able to reapprove and merge?

Previous run flaky tests:
https://github.com/opensearch-project/OpenSearch/issues/10006
https://github.com/opensearch-project/OpenSearch/issues/13473


Project proposal - Timeframe and milestones

Trying complete the Project Proposal (Rough Draft): 2/28
Will update the Timeframe and milestones while working with project.


Support Tuple Deserialization into Arrays & Lists

PR-Codex overview
This PR focuses on enhancing the Read method in the ThirdwebContract class to support decoding results into List<object> and arrays, along with adding two new test cases to verify this functionality.
Detailed summary

Added two test methods: ReadTest_TupleIntoArray and ReadTest_TupleIntoList to verify reading results into lists and arrays.
Enhanced the Read method to handle decoding results into List<object> and arrays.
Implemented JSON serialization and deserialization for output results.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

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

Please upload report for BASE (main@0ccfbca). Learn more about missing BASE report.

Files with missing lines
Patch %
Lines

Thirdweb/Thirdweb.Contracts/ThirdwebContract.cs
86.36%
2 Missing and 1 partial :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #89   +/-   ##
=======================================
  Coverage        ?   78.25%
=======================================
  Files           ?       28
  Lines           ?     4360
  Branches        ?      612
=======================================
  Hits            ?     3412
  Misses          ?      784
  Partials        ?      164

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


[BUG] Style dosen't change in Roblox even after disabling dark mode

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[x] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.1
What problem did you encounter?
The title says it, when I open Roblox with Bloxstrap, The style dosen't change when I enable light mode in Roblox.

Bloxstrap Log
N/A

These settings only affect Bloxstrap's look.


DateRangePicker overflow on small screen

DateRangePicker have 2 merged date picker but on small screen device like mobile phone 1 is enough
and can you help me with this https://github.com/sunarya-thito/shadcn_flutter/issues/91#issuecomment-2424141518

Sorry, I forgot to give an update, pushed several commits a couple of days ago. Let me know if its still occuring.


Add augmented assignment inference for -= operator

Summary
See: https://github.com/astral-sh/ruff/issues/12699

Still getting that same failure after calling self.infer_expression, will return to it later and see what I can figure out.

Oh I think it's because we end up visiting the attribute twice, maybe...? Something like that? Because infer_attribute_load calls self.infer_expression?

Ah yeah -- if you look at the error you're getting, I'll bet before it was no entry found for key and now it's a failure of the assertion on line 1900? That is because we end up calling infer_expression twice for the same expression, which we try to maintain an invariant that we don't do.

One option for how to handle this is to extract that code at the end of self.infer_expression (that stores a type into the expression map and asserts there wasn't one there already) into a method, like fn store_expression_type(...), and then instead of calling self.infer_expression(target) along with self.infer_attribute_load(target), instead you'd just manually store a None (or like I mentioned, Never is probably better but then you should also update it in infer_attribute_expression and infer_name_expression for consistency) for the target node. This means we end up duplicating the knowledge of what type to store for a Store context expression... there's probably a way to refactor away that duplication.


Document how to set up PAM as a web app on mobile devices

I use PAM as a web app on my mobile devices which is very convenient. It would be useful to document how that is done for users that are not aware that PAM can be made to look like a native app. Need to also document how to get "back" from help using the metadata.

I added a sentence to the help in the v1.1.6 release that talked about making it a progressive web app (PWA) with a link. That should be sufficient for most folks.


Remove _importconftest call on pytest>=8

The plugin has some code which accesses some pytest internals to import conftests:
https://github.com/thisch/pytest-sphinx/blob/28f8f4ddf83615da43c138a2360b5246b9fe55b2/src/pytest_sphinx.py#L558-L563
Similar code was present in pytest's builtin doctest plugin, but I've removed it just now: https://github.com/pytest-dev/pytest/pull/11808
The code is no longer necessary on pytest>=8.0.0rc1 (possibly even before, but I'm not sure about that). It'd be great if pytest-sphinx remove it as well, so that it doesn't break if/when pytest breaks these internals.

Thx for the info @bluetech. I've just removed it.

Also encountered this. Thanks for the fix. Anxiously awaiting the next release :D
@knutfrode


Fix denomination issues with implementation

This PR fixes a problem where creditBalances, creditsPerToken, alternativeCreditsPerToken are 1e27 denominated. And while using creditBalances & credits per token with 1e18 denomination will yield correct balances the issues arises when those credit balances are added to contract's global rebasingCredits

yes closing


Make release script validate your version

It is possible to run the version release script without arguments which results in bad push (missing any version) and then fails out.
We just need to make it check and then exit before making unwise choices.

This has already been resolved.


Ctrl-Enter does not move text to console (having the issue on Windows 7 and Arch Linux)

Highlighting text and hitting Ctrl-Enter moves the cursor to the next line without copying the text to the console. Selecting the text and using the command palate to send text to the console works though. I am seeing this issue on both a Windows 7 and Arch Linux install.

Works perfectly, thanks!


⚠ BeyondHD has degraded performance

In a05ce70, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 200
Response time: 3064 ms

Resolved: BeyondHD performance has improved in 9916979 after 8 minutes.


fix: adding javadoc

Issue
https://github.com/gravitee-io/issues/issues/XXXXX
Description
A small description of what you did in that PR.
Additional context

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

6.0.2
GitHub release

Your semantic-release bot :package::rocket:


[SPARK-26871][SQL]File Source V2: avoid creating unnecessary FileIndex in the write path

What changes were proposed in this pull request?
In https://github.com/apache/spark/pull/23383, the file source V2 framework is implemented. In the PR, FileIndex is created as a member of FileTable, so that we can implement partition pruning like https://github.com/apache/spark/commit/0f9fcabb4ac2e8afec14d010e86467372a85d334 in the future(As data source V2 catalog is under development, partition pruning is removed from the PR)
However, after write path of file source V2 is implemented, I find that a simple write will create an unnecessary FileIndex, which is required by FileTable. This is a sort of regression. And we can see there is a warning message when writing to ORC files
WARN InMemoryFileIndex: The directory file:/tmp/foo was not found. Was it deleted very recently?

This PR is to make FileIndex as a lazy value in FileTable, so that we can avoid creating unnecessary FileIndex in the write path.
How was this patch tested?
Existing unit test

@cloud-fan

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/7900/
Test PASSed.

Test build #102299 has started for PR 23774 at commit 6ef6430.

Test build #102299 has finished for PR 23774 at commit 6ef6430.

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/102299/
Test PASSed.

LGTM, merging to master!


Compute Engine with Cloud SQL sample

This PR brings a new sample, which shows how to deploy a server to Google Compute Engine. The server uses a database within Google Cloud SQL.
Additionally, LocalClient was renamed to ClientApp. From now, the Gradle task for running the client allows to configure a hostname and port to establish a connection with the gRPC server.

@armiol PTAL.


PixRacer: battery failsafe tones broken

Running Master 38e5a06 Battery failsafe triggers Rtl but no tones can be heard from the autopilot; all other tones seem to be working
log: https://review.px4.io/plot_app?log=b30fdb6b-7927-4cbf-8329-ecb0fc12e0d1
@santiago3dr was able to reproduce with today's Master 198708b
log: https://logs.px4.io/plot_app?log=47fdca0e-ab26-4b93-8b63-d2a13ed22e5e

looks to be working on beta 1.7.4


  They need a full behavior rework imo

Has nothing to do with this.

Has nothing to do with this.

It does, i'm suggesting they need a rework and saying that they have become more stupid in general, not just around railings

Has nothing to do with this.

It does, i'm suggesting they need a rework and saying that they have become more stupid in general, not just around railings

This is coming from me, a 1-line change to pathfindersystem does not warrant throwing out 2k lines of code.


Update subtitle for Financial reports index page.

This PR updates subtitle of financial reports index page.
It changes the subtitle 'Organisation' to 'My organisation' if organisation belongs to the user.
Screen shot:

Trello:
https://trello.com/c/zIhlSb0R/504-update-subtitle-for-financial-reports

Looks good... DO you have a screenshot when it's not your organization?

Updated the screen shot

Great job @farahTW


[UI] Provider-UI: React Hook useEffect warning during build

Current Behavior
While building the ui-provider, the following warning message is displayed.
Desired Behavior
No warning message.
Screenshots/Logs
./components/Provider.js
80:6  Warning: React Hook useEffect has a missing dependency: 'loadProvidersFromServer'. Either include it or remove the dependency array.  react-h

Environment

Browser: Chrome Safari Firefox
Host OS: Mac Linux Windows
Meshery Server Version: stable-v
Meshery Client Version: stable-v
Platform: Docker Kubernetes

Contributor Guides and Handbook

🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🖥 Contributing to Meshery UI
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@leecalcote can you assign me this issue?

hey, I can solve this issue please assign me this issue .

Thanks!

@iharshyadav Thanks for showing your interest! Just a heads-up, we prioritize issue assignments chronologically to ensure a smooth flow.

@Venki1402 ?

@Venki1402 would you confirm if we are still having this issue?

@sudhanshutech Working on it!!


Error occurred while evaluating statement imdb_year < 2000. ('<' not supported between instances of 'NoneType' and 'int')

Flexget: 3.1.130
API: 1.8.0
Error occurred while evaluating statement imdb_year < 2000. ('<' not supported between instances of 'NoneType' and 'int')

Probably imdb_year is None/Null... You should check if imdb_year is present and different from null
Try
( imdb_year is number ) and ( imdb_year < 2000):


Support set UserGroupHotRecall cache time

支持设置分组热门召回缓存过期时间

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.鲁建强 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


(#1801) Fix surcharge parsing error on purchase

closes #1801

Coverage increased (+0.03%) to 39.572% when pulling b501e69daa2d075458e078c582e9ea3de68d6e6f on surchargefix into d0638c628cea2b40e35345ad03151979e082d3b2 on ethereum-master.


Add unit test coverage requirements for some packages

This PR add a CI check for package tests coverage. When the coverage is less than a previous value, CI will be failure.

I think this should use the merged results. Currently it only uses the integration test result.

I think this should use the merged results. Currently it only uses the integration test result.

Done

2023/01/16 09:02:54 package code.gitea.io/gitea/modules/validation coverage is 79.4%, required 80.1%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/webhook coverage is 13.3%, required 13.7%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/svg coverage is 94.4%, required 96.1%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/doctor coverage is 15.1%, required 20.8%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/cache coverage is 14.5%, required 14.6%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/emoji coverage is 83.3%, required 85.1%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/auth coverage is NaN%, required 60.2%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/graceful coverage is 29.0%, required 29.2%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/indexer coverage is NaN%, required 39.2%
2023/01/16 09:02:54 package code.gitea.io/gitea/services/cron coverage is 56.2%, required 61.4%
2023/01/16 09:02:54 package code.gitea.io/gitea/services/forms coverage is 36.5%, required 36.8%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/proxy coverage is 17.2%, required 21.4%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/process coverage is 38.5%, required 40.2%
2023/01/16 09:02:54 package code.gitea.io/gitea/services/convert coverage is 73.5%, required 74.8%
2023/01/16 09:02:54 package code.gitea.io/gitea/modules/issue coverage is NaN%, required 75.4%
2023/01/16 09:02:54 package code.gitea.io/gitea/routers/api coverage is NaN%, required 60.6%
2023/01/16 09:02:54 package code.gitea.io/gitea/routers/install coverage is 5.7%, required 7.3%

Now see it works. But it looks like our code calculates the coverage different than CodeCov.

Looks like CodeCov combines the results of the subdirectories. Our calculation displays the result for the files in that directory only (?). That would explain the NaN% lines.

I would lower the current requirements to match what we have atm ... and then do increase them by case

When the coverage is less than a previous value, CI will be failure

I forsee some PR friction if we add this. I'd guess more PRs than usual would become abandoned with such strict requirements as not every bug fix is easily testable. We can try, but I guess there should be a mechanism for a owner to override this requirement for individual PRs.

Is it the right way to go?

I think in worst case we can lower the number for a fix ... but we should enforce it ... we want good tested code

I agree to improve test code (when I review, I frequently suggest to add tests ...)
But, is it the right way to go? Filling the Makefile with a lot of percentage numbers?

we could improve the tool that checks it and add a new .min_coverage.conf or something like that witch do contain the threashhold

A clear Makefile could L-G-T-M

Will there be an option to ignore reduced coverage? Like when some stuff is hard/impossible to test for, e.g. admin should still be able to merge.

Yes, I'm always asking where possible, I think it's the best we can do. Strict requirements will not work so good I guess.


issue with wait_for_frames

Hello there,
I ve attached my python code. The thing is i can observer that the camera is working but the error is displayed RuntimeError: Frame didn't arrive within 5000
import open3d as o3d
import pyrealsense2 as rs
import numpy as np
#configure realsense camera
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.accel, rs.format.motion_xyz32f, 100)
config.enable_stream(rs.stream.gyro, rs.format.motion_xyz32f, 200)
#Start Streaming
pipeline.start(config)
#create Open3D visualizer
vis = o3d.visualization.Visualizer()
vis.create_window()
#Create Open3D pcd
pcd = o3d.geometry.PointCloud()
try:
while True:
#Wait for frames
frames = pipeline.wait_for_frames(timeout_ms=10000)
    #Get RGB & Depth frames
    color_frame = frames.get_color_frame()
    depth_frame = frames.get_depth_frame()

    #Get IMU data
    imu_frame = frames.first_or_default(rs.stream.accel)

    #convert Realsense frames to open3d
    color_image = o3d.geometry.Image(np.array(color_frame.get_data()))
    depth_image = o3d.geometry.Image(np.array(depth_frame.get_data()))
    rgbd_image = o3d.geometry.RGBDImage.create_from_color_and_depth(color_image,depth_image)

    #convert IMU data to open3d format
    imu_data = np.asarray(imu_frame.as_motion_frame().get_motion_data())

    #update pcd with rgbd and imu data
    pcd = pcd.create_from_rgbd_image(rgbd_image, o3d.camera.PinholeCameraIntrinsic(o3d.camera.PinholeCameraIntrinsicParameters.PrimeSenseDefault))
    pcd.transform(np.linalg.inv(imu_data))

    #update open3d visualizer
    vis.clear_geometries()
    vis.add_geometry(pcd)
    vis.update_geometry(pcd)
    vis.poll_events()
    vis.update_renderer()

    print("Events polled and renderer updated")

except KeyboardInterrupt:
pass
#stop Streaming
pipeline.stop()
#save pcd to file
o3d.io.write_point_cloud("output.pcd",pcd)

If Depth, Color and IMU are enabled simultaneously then this can cause no frames to be received on one of the streams, often the color stream.  The trigger for the issue is the enabling of the IMU stream.
A workaround for this problem in Python is to create two separate pipelines and put the IMU on its own on one pipeline and depth + color on the other pipeline.  An excellent example of code for doing so is at https://github.com/IntelRealSense/librealsense/issues/5628#issuecomment-575943238

Hi @jrecasens  Whilst depth only and IMU only can work well, combining depth and IMU streams in the same script can result in problems unless depth and IMU are put on two separate pipelines, like in the Python script at https://github.com/IntelRealSense/librealsense/issues/5628#issuecomment-575943238


expose replica io stats

This PR exposes replica stats via exporter:
After FIO completes and atleast a poll cycle elapses this is what is expected. considering num_write_ops for all resources.
Volume/Nexus:

Replicas:

DiskPools:

bors merge


[documentation] Error in Mobile Collapse Button section ?

Hello there !
I think there is a little error in the code example for Mobile Collapse Button in components/navbar section.

NB : Materializecss is awesome :D :+1:

Fixed in d17bd8428c530a5c4be6a90684def9675b144b8b


Fixed bug in return of pitch values in select function in swipe.i

The return value of the select function in swipe.i contained a bug in the pitch values range. This
has been fixed in this commit.

LGTM, thanks.


options has an unknown property 'config'

Operating System: Linux Mint 19.3
Node Version: v12.15.0
NPM Version: 6.14.4
webpack Version: 4.44.1
postcss-loader Version: 4.0.0

Expected Behavior
Set custom config files

Actual Behavior
ValidationError: Invalid options object. PostCSS Loader has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'config'. These properties are valid:
   object { postcssOptions?, execute?, sourceMap? }

Code
const style = {
  'test': /\.scss$/,
  'use': [
    'style-loader',
    {
      'loader': 'css-loader',
      'options': {
        'sourceMap': true,
      },
    },
    {
      'loader': 'postcss-loader',
      'options': {
        'config': path.resolve(PATHS.config, 'postcss.config.js'),
        'sourceMap': true,
      },
    },
    {
      'loader': 'sass-loader',
      'options': {
        'sourceMap': true,
      },
    },
  ],
};

According to the documentation, the code above should work.
How Do We Reproduce?
Try using the "config" option for postcss-loader

Same issue here. Our workflows are completely broken after this update.

Yup had to roll back to v3, this is broken in v4

Please read documentation and changelog before open the new issue:
const style = {
  'test': /\.scss$/,
  'use': [
    'style-loader',
    {
      'loader': 'css-loader',
      'options': {
        'sourceMap': true,
      },
    },
    {
      'loader': 'postcss-loader',
      'options': {
        'postcssOptions': {
          'config': path.resolve(PATHS.config, 'postcss.config.js'),
        },
        'sourceMap': true,
      },
    },
    {
      'loader': 'sass-loader',
      'options': {
        'sourceMap': true,
      },
    },
  ],
};

@evilebottnawi  please tell me who told you I didn't read the documentation?
Anyway, thank you for your help.

@in-in my mistake, sorry, WIP on updating docs

https://github.com/webpack-contrib/postcss-loader/pull/473

@evilebottnawi Next time, if 3 people share the same issue probably there is something better to say instead of "read the documentation" because you're assuming that 3 people are just stupid.
Said that, thanks for the fast update.

@equinusocio

Next time, as OOS developer, can i suggest that if 3 people share the same issue probably there is something better to say instead of "read the documentation" because you're assuming that 3 people are just stupid.

Unfortunately sometimes I get a lot more issues, because many developers don't like read notes, I can provide an infinite number of links to this :smile: Anyway I done mistake here

Please read documentation and changelog before open the new issue:
const style = {
  'test': /\.scss$/,
  'use': [
    'style-loader',
    {
      'loader': 'css-loader',
      'options': {
        'sourceMap': true,
      },
    },
    {
      'loader': 'postcss-loader',
      'options': {
        // All postcss options is now under `postcssOptions`
        'postcssOptions': {
          'config': path.resolve(PATHS.config, 'postcss.config.js'),
        },
        'sourceMap': true,
      },
    },
    {
      'loader': 'sass-loader',
      'options': {
        'sourceMap': true,
      },
    },
  ],
};

Thank's :-)

After updating postcssOptions i got javascript heap memory error


Order by field(id, 2,1,3)

I am trying to get a list of data in order by ids like 2,1,3, so the mysql query should look like:
SELECT * FROM hm_data_stream WHERE id in (2, 1, 3) ORDER BY FIELD(id, 2, 1, 3);
or
SELECT * FROM hm_data_stream WHERE id in (2, 1, 3) ORDER BY FIND_IN_SET(id,'3, 1, 2');
I have no idea about how to organize my querydsl query code:
query.where($.id.in(2,1,3)).orderBy(???)
Does anyone have any idea about this?

Hi, did u have any solutions yet ?

@Shredder121  any helpful idea , pls ?

I'm pretty sure we don't yet have sorting by a predefined set of values. 🤔

Right right right...
@linyongfu2013 no solutions so far...

This would be a very nice to have feature!

As a workaround I created this simple static function which does the ordering.
  /**
   * Reorders {@code itemList} according to the index list provided in {@code indexList}
   * Example:
   * itemList = [ {id: 10, ..}, {id: 12, ...}, {id: 13, ...} ]
   * indexList = [ 12, 13, 10]
   * output: [ {id: 12, ..}, {id: 13, ...}, {id: 10, ...} ]
   * <p>
   * Complexity: O(n), Memory: O(1)
   *
   * @param itemList  given list of items
   * @param indexList given list of indexes
   * @return reordered list of items
   */
  public static <T extends BaseModel> List<T> orderByAccordingToIndex(List<T> itemList,
      List<Long> indexList) {
    HashMap<Long, T> hashMap = new HashMap<>(itemList.size());
    itemList.forEach(item -> hashMap.put(item.getId(), item));

    ArrayList<T> output = new ArrayList<>(itemList.size());
    for (Long indx : indexList) {
      output.add(hashMap.get(indx));
    }

    return output;
  }

And This is my BaseModel:
public class BaseModel {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private long id;

  @Version
  private int version;

  // getter and setter methods
}


Add Electron Wix MSI support

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:

Add Wix support

😲 Someone didn't use npm run commit 😲

Waiting on an answer about Node requirements

See: https://github.com/felixrieseberg/electron-wix-msi/pull/3


feat(oracle): Fetch data from stats API

Uses polkabtc-stats (Postgres DB) to fetch oracle-related data in the dashboard. Removes usages of polkabtc-js (parachain) calls in these cases

Overall looks good to me.
Especially I like this PR as many lines are removed rather than added.


Change Push Branch to main

Given that people are moving from master to main, it would be nice if the next version of this action pushes to main branch instead. Also this aligns with the fact that all new repos in GitHub defaults to main branch; https://github.com/github/renaming#new-repositories-use-main-as-default-branch-name

@johno : I've made a pull request for this change. If there's any modifications or corrections need to be done, please feel free to let me know. 😄

@johno @LekoArts : Isn't this repo not maintained anymore. If so let me know; I'd be very willing to either take over the maintenance or create a new fork. Thanks. 😄

@johno @LekoArts : Just to follow up, in case if there's any changes to be done to the PR please don't hesitate to let me know; I've changed the PR to make the branch name configurable. Hope that helps. 👍🏽


Generic interface

This PR adds a generic interface suitable for 8080 MCU buses like FSMC in STM32.
Additionally, pixel writes are now u16-sized, because pixels can be up to 18-bit wide, so u16 is more natural here. Implementing 16-bit bus on top of old 8-bit raw interface adds additional complications.
Note that this is a breaking change. Please test this PR against an SPI-interfaced LCD, because I do not have one.
Tested on GD32VF103 development board from SeeedStudio. The display on this board uses 16-bit data bus for communication.
See also: https://github.com/yuri91/ili9341-rs/issues/2

I have tested this with the SPI interface on my stm32f429discovery board and I have not seen any issues.

Alright I tested it successfully too!
Thanks again!


Implement PageRank-style algorithm to find best search results

Info on PageRank algorithm: https://en.wikipedia.org/wiki/PageRank
We would need to use CommonCrawl data to see how many other pages link to the page to get data on the quality of the work (works that are linked to from more places are probably higher quality). We would then use this data in generating our search results.
This is a massive amount of work which will require several GitHub issues, this issue is mainly for discussion of the idea.

This is on hold until we have more server resources. It'll be in the Parking Lot until we're ready.

Out of curiosity, do we have a ballpark on how many edges there would be in the graph we'd want to analyze?  There are some extremely efficient PageRank implementations available, including at least two that come out-of-the-box with Spark

We haven't put any thought into this other than what's already here in the issue.

We've determined that PageRank style algorithms are probably not going to be very effective for image search, so I'm closing this.


Regionalization - Burundi: Unit of measurement for MUAC [4h]

Issue
In Burundi MUAC measurements are taken in mm rather than cm. This is true in case of both children and pregnant women
Task

Allow input to be taken in mm (also indicate mm on the interface) and store the value in cm
Show previous measurements in mm

Note: as far as I can see, MUAC is not displayed in raw numbers on the progress report or on the child scorecard.

@anvmn see above - past measurement needs to be calculated in mm


Checking Regle against all Vuelidate issues

I had an idea to check all open and closed Vuelidate issues and see if Regle has those issues fixed. There are 197 Open issues and 725 Closed issues. That is A LOT of issues 😬. I was wondering if @victorgarciaesgi you have done this already or what do you think of this idea in general? Do you think it is worth going through all 922 issues and check if Regle works or if Regle also has the same issue? Maybe we should just check against open issues?

That's a good idea!
I'll do this when I finish doing all the unit tests of Vuelidate. Then I can do the open issues


Use CUDA docker image 11.0.3 tag.

Trying to unblock CI.

Close https://github.com/dmlc/xgboost/pull/8114

@hcho3 I think the segfault in Python test is caused by compiler difference. NCCL is probably compiled by other toolchains and we are statically linking it into XGBoost. I got a gdb backtrace:
Thread 98 "python" received signal SIGBUS, Bus error.
[Switching to Thread 0x7f31adbfe700 (LWP 504172)]
__memset_avx2_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:145
145	../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: No such file or directory.
(gdb) up
#1  0x00007f3308f0cc03 in ncclShmOpen(char*, int, void**, void**, int) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#2  0x00007f3308f03fd1 in ncclProxyService(void*) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#3  0x00007f338d2c86db in start_thread (arg=0x7f31adbfe700) at pthread_create.c:463
463	pthread_create.c: No such file or directory.

#0  0x00007f338d2d291e in __libc_recv (fd=129, buf=0x7ffe1728e1ee, len=6, flags=64) at ../sysdeps/unix/sysv/linux/recv.c:28
28	../sysdeps/unix/sysv/linux/recv.c: No such file or directory.
(gdb) up
#1  0x00007f3308f0a997 in ncclSocketProgress(int, ncclSocket*, void*, int, int*) [clone .constprop.3] () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#2  0x00007f3308f0c858 in ncclSocketRecv(ncclSocket*, void*, int) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#3  0x00007f3308f06a85 in ncclProxyConnect(ncclComm*, int, int, int, ncclProxyConnector*) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#4  0x00007f3308ee55eb in initTransportsRank(ncclComm*, ncclUniqueId*) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#5  0x00007f3308ee691b in ncclCommInitRankSync(ncclComm**, int, ncclUniqueId, int, int) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#6  0x00007f3308ee73ca in ncclCommInitRankDev(ncclComm**, int, ncclUniqueId, int, int) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#7  0x00007f3308ee77e3 in ncclCommInitRank () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#8  0x00007f3308c1f5b2 in dh::NcclAllReducer::DoInit(int) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so
(gdb)
#9  0x00007f3308ed5339 in xgboost::tree::GPUHistMaker::InitDataOnce(xgboost::DMatrix*) () from /home/jiaming/.local/lib/python3.8/site-packages/xgboost/lib/libxgboost.so

It's caused by nccl failing to allocate shared memory.

Will make a better check and open an issue on nccl as followups.  Please review this PR for unblocking the CI.


Multiple routes on the same TCP listener

Description:

What issue is being seen? Describe what should be happening instead of
the bug, for example: Envoy should not crash, the expected value isn't
returned, etc.

when I create a tcproute pointing to my tcp-gateway. I have a message  when I do describe for my tcproute which is telling multiple route to listener. My tcp gateway contain many listeners .
My aim is to use one tcp gateway with only one load balanced ip and multiple ports. Then I use the only tcprout needed for my service.
here is the describe.
apiVersion: gateway.networking.k8s.io/v1alpha2                                                                                │
│ kind: TCPRoute                                                                                │
│ metadata:                                                                                │
│   annotations:                                                                                │
│     meta.helm.sh/release-name: whisper                                                                                │
│     meta.helm.sh/release-namespace: whisper                                                                                │
│   creationTimestamp: "2024-09-03T19:21:06Z"                                                                                │
│   generation: 1                                                                                │
│   labels:                                                                                │
│     app.kubernetes.io/managed-by: Helm                                                                                │
│   name: whisper-tcproute                                                                                │
│   namespace: whisper                                                                                │
│   resourceVersion: "69465268"                                                                                │
│   uid: 193b1b66-cd57-4cb3-aeb4-3c814e0d4a13                                                                                │
│ spec:                                                                                │
│   parentRefs:                                                                                │
│   - group: gateway.networking.k8s.io                                                                                │
│     kind: Gateway                                                                                │
│     name: tcp-gateway                                                                                │
│     namespace: gateway                                                                                │
│   rules:                                                                                │
│   - backendRefs:                                                                                │
│     - group: ""                                                                                │
│       kind: Service                                                                                │
│       name: whisper-common                                                                                │
│       port: 10300                                                                                │
│       weight: 1                                                                                │
│ status:                                                                                │
│   parents:                                                                                │
│   - conditions:                                                                                │
│     - lastTransitionTime: "2024-09-03T19:21:39Z"                                                                                │
│       message: Multiple routes on the same TCP listener                                                                                │
│       observedGeneration: 1                                                                                │
│       reason: UnsupportedValue                                                                                │
│       status: "False"                                                                                │
│       type: Accepted                                                                                │
│     - lastTransitionTime: "2024-09-03T19:21:39Z"                                                                                │
│       message: Resolved all the Object references for the Route                                                                                │
│       observedGeneration: 1                                                                                │
│       reason: ResolvedRefs                                                                                │
│       status: "True"                                                                                │
│       type: ResolvedRefs                                                                                │
│     controllerName: gateway.envoyproxy.io/gatewayclass-controller                                                                                │
│     parentRef:                                                                                │
│       group: gateway.networking.k8s.io                                                                                │
│       kind: Gateway                                                                                │
│       name: tcp-gateway                                                                                │
│       namespace: gateway

my tcproute-gateway:
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"gateway.networking.k8s.io/v1","kind":"Gateway","metadata":{"annotations":{},"name":"tcp-gateway","namespace":"gateway"},"spec":{"addresses":[{"type":"IPAddress","value":"<IP_ADDRESS>"}],"gatewayClassName":"eg","listeners":[{"allowedRoutes":{"kinds":[{"kind":"TCPRoute"}],"namespaces":{"from":"All"}},"name":"piper","port":10200,"protocol":"TCP"},{"allowedRoutes":{"kinds":[{"kind":"TCPRoute"}],"namespaces":{"from":"All"}},"name":"whisper","port":10300,"protocol":"TCP"},{"allowedRoutes":{"kinds":[{"kind":"TCPRoute"}],"namespaces":{"from":"All"}},"name":"rhasspy","port":12101,"protocol":"TCP"},{"allowedRoutes":{"kinds":[{"kind":"TCPRoute"}],"namespaces":{"from":"All"}},"name":"zwavejs","port":3000,"protocol":"TCP"},{"allowedRoutes":{"kinds":[{"kind":"TCPRoute"}],"namespaces":{"from":"All"}},"name":"ocpp","port":9000,"protocol":"TCP"}]}}
  creationTimestamp: "2024-08-29T13:53:51Z"
  generation: 5
  name: tcp-gateway
  namespace: gateway
  resourceVersion: "69465261"
  uid: 6eaccd1d-b033-4144-94c6-be7f0c7b8300
spec:
  addresses:
  - type: IPAddress
    value: <IP_ADDRESS>
  gatewayClassName: eg
  listeners:
  - allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: TCPRoute
      namespaces:
        from: All
    name: piper
    port: 10200
    protocol: TCP
  - allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: TCPRoute
      namespaces:
        from: All
    name: whisper
    port: 10300
    protocol: TCP
  - allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: TCPRoute
      namespaces:
        from: All
    name: rhasspy
    port: 12101
    protocol: TCP
  - allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: TCPRoute
      namespaces:
        from: All
    name: zwavejs
    port: 3000
    protocol: TCP
  - allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: TCPRoute
      namespaces:
        from: All
    name: ocpp
    port: 9000
    protocol: TCP
status:
  addresses:
  - type: IPAddress
    value: <IP_ADDRESS>
  conditions:
  - lastTransitionTime: "2024-09-03T19:21:39Z"
    message: The Gateway has been scheduled by Envoy Gateway
    observedGeneration: 5
    reason: Accepted
    status: "True"
    type: Accepted
  - lastTransitionTime: "2024-09-03T19:21:39Z"
    message: Address assigned to the Gateway, 1/1 envoy Deployment replicas available
    observedGeneration: 5
    reason: Programmed
    status: "True"
    type: Programmed
  listeners:
  - attachedRoutes: 2
    conditions:
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Sending translated listener configuration to the data plane
      observedGeneration: 5
      reason: Programmed
      status: "True"
      type: Programmed
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener has been successfully translated
      observedGeneration: 5
      reason: Accepted
      status: "True"
      type: Accepted
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener references have been resolved
      observedGeneration: 5
      reason: ResolvedRefs
      status: "True"
      type: ResolvedRefs
    name: piper
    supportedKinds:
    - group: gateway.networking.k8s.io
      kind: TCPRoute
  - attachedRoutes: 2
    conditions:
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Sending translated listener configuration to the data plane
      observedGeneration: 5
      reason: Programmed
      status: "True"
      type: Programmed
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener has been successfully translated
      observedGeneration: 5
      reason: Accepted
      status: "True"
      type: Accepted
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener references have been resolved
      observedGeneration: 5
      reason: ResolvedRefs
      status: "True"
      type: ResolvedRefs
    name: whisper
    supportedKinds:
    - group: gateway.networking.k8s.io
      kind: TCPRoute
  - attachedRoutes: 2
    conditions:
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Sending translated listener configuration to the data plane
      observedGeneration: 5
      reason: Programmed
      status: "True"
      type: Programmed
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener has been successfully translated
      observedGeneration: 5
      reason: Accepted
      status: "True"
      type: Accepted
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener references have been resolved
      observedGeneration: 5
      reason: ResolvedRefs
      status: "True"
      type: ResolvedRefs
    name: rhasspy
    supportedKinds:
    - group: gateway.networking.k8s.io
      kind: TCPRoute
  - attachedRoutes: 2
    conditions:
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Sending translated listener configuration to the data plane
      observedGeneration: 5
      reason: Programmed
      status: "True"
      type: Programmed
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener has been successfully translated
      observedGeneration: 5
      reason: Accepted
      status: "True"
      type: Accepted
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener references have been resolved
      observedGeneration: 5
      reason: ResolvedRefs
      status: "True"
      type: ResolvedRefs
    name: zwavejs
    supportedKinds:
    - group: gateway.networking.k8s.io
      kind: TCPRoute
  - attachedRoutes: 2
    conditions:
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Sending translated listener configuration to the data plane
      observedGeneration: 5
      reason: Programmed
      status: "True"
      type: Programmed
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener has been successfully translated
      observedGeneration: 5
      reason: Accepted
      status: "True"
      type: Accepted
    - lastTransitionTime: "2024-09-03T19:21:39Z"
      message: Listener references have been resolved
      observedGeneration: 5
      reason: ResolvedRefs
      status: "True"
      type: ResolvedRefs
    name: ocpp
    supportedKinds:
    - group: gateway.networking.k8s.io
      kind: TCPRoute

Repro steps:

Include sample requests, environment, etc. All data and inputs
required to reproduce the bug.

Note: If there are privacy concerns, sanitize the data prior to
sharing.

Environment:

Include the environment like gateway version, envoy version and so on.

eg      envoy-gateway-system    1               2024-08-18 18:12:28.978948066 +0200 CEST        deployed        gateway-helm-v1.1.0     v1.1.0

Logs:

Include the access logs and the Envoy logs.

my envoy gateway tcp logs:
envoy [2024-09-03 19:20:48.080][1][warning][config] [source/extensions/config_subscription/grpc/delta_subscription_state.cc:269] delta config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: │
│ envoy gateway/tcp-gateway/ocpp: error adding listener '<IP_ADDRESS>:9000': no filter chains specified                                                                                │
│ envoy gateway/tcp-gateway/piper: error adding listener '<IP_ADDRESS>:10200': no filter chains specified                                                                                │
│ envoy gateway/tcp-gateway/whisper: error adding listener '<IP_ADDRESS>:10300': no filter chains specified                                                                                │
│ envoy gateway/tcp-gateway/rhasspy: error adding listener '<IP_ADDRESS>:12101': no filter chains specified                                                                                │
│ envoy                                                                                │
│ envoy [2024-09-03 19:20:48.081][1][warning][config] [source/extensions/config_subscription/grpc/grpc_subscription_impl.cc:138] gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Er │
│ envoy gateway/tcp-gateway/ocpp: error adding listener '<IP_ADDRESS>:9000': no filter chains specified                                                                                │
│ envoy gateway/tcp-gateway/piper: error adding listener '<IP_ADDRESS>:10200': no filter chains specified                                                                                │
│ envoy gateway/tcp-gateway/whisper: error adding listener '<IP_ADDRESS>:10300': no filter chains specified                                                                                │
│ envoy gateway/tcp-gateway/rhasspy: error adding listener '<IP_ADDRESS>:12101': no filter chains specified

I hope you'll have all information to see if it's a bug or a misconfiguration.
Thx.

this error Multiple routes on the same TCP listener  indicates that you have may have multiple TCPRoutes attached to the same gateway or gateway listener, which is not possible to support for TCP.

I don't understand . In this URL WE saw one TCP gateway with multiples tcproutes.
https://gateway.envoyproxy.io/docs/tasks/traffic/tcp-routing/

I don't understand . In this URL WE saw one TCP gateway with multiples tcproutes. https://gateway.envoyproxy.io/docs/tasks/traffic/tcp-routing/

in the above example, each route is linked with a different gateway listener using the sectionName field in the parentRefs field

Ok so what's wrong in my conf ?  iI have to add sectionName in each tcproute ?
Does my tcpgateway is well setup?

 Effectively it was sectionname on each tcproute which was missing.
Everything IS ok now. Thanks you for opening my eyes and my apologies to disturb you.
And great job for this project .

glad you got it to work !


Hyperlinks in the documentation are pointing to different CLI commands

In this documentation https://docs.microsoft.com/en-us/azure/storage/scripts/storage-blobs-container-calculate-size-cli#sample-reference, az storage blob list hyperlink is pointing to az storage account keys command. Can you please correct this? Thank you.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f3fd84ff-dd23-58f0-13de-a4f4c7379d3a
Version Independent ID: 51c6db3d-191f-6f9e-6576-58ee3dcb6977
Content: Azure CLI Script Sample - Calculate blob container size
Content Source: articles/storage/scripts/storage-blobs-container-calculate-size-cli.md
Service: storage
Sub-service: blobs
GitHub Login: @tamram
Microsoft Alias: tamram

#reassign: @stevenmatthew

@GaneshMSFT Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@SumanthMarigowda , do you or content author has any updates on this?

Hi Sumanth, thanks for bringing this to our attention. This has been resolved with PR 197766. Please feel free to reach back out if the issue hasn't been resolved.

#please-close


[WIP] Support command substitution

@juanpaucar Could you take a look, please? It closes #63
TODO:

[ ] Update README
[ ] Update CHANGELOG

I think it won't work for that syntax right now. I think I can add that capability if it is needed.
Please, wait a little time and I'll be working on that. @juanpaucar

@CristhianMotoche I think that it's no necessary to have support for that legacy syntax

I think backtick are not legacy. Accordingly to the Shell Command Language @juanpaucar
However, we can add them when someone makes the request. WDYT?

@juanpaucar Could you take a look, please?


run the tests

Actually the tests are built but are not run (because they need some tuntap magic). Would be great to add a way to run the tests automatically as well.

random thought: rather than requiring tuntap magic, i wonder if something could be constructed that used reads and writes to two files (eg., "netif1.pcap", "netif2.pcap"), and then compared them to a known (manually constructed?) test case? would also provide a natural way to backtrack and investigate any errors.
or, to put it another way, just how flexible and powerful are our functors? :)

that would be great indeed.

How about reading from a pcap file help test the mirage-net-unix functionality though?  This does nothing but read/write from tuntap...

The tests are now run as of #30 .


[New App Request] Microsoft ODBC Driver for SQL Server

Similar in behaviour to the [New App Request] Microsoft OLE DB Driver for SQL Server
This new app request is to replace the Evergreen version - as Evergreen also requires the Microsoft fwlink addresses updating in the JSON each time Microsoft release a new version (not really the point of EverGreen), so with NeverGreen we can scrape the webpage and always have the latest version of each "ring" (v17.x & v18.x)
This reads the Release Notes for Microsoft ODBC Driver for SQL Server on Windows, returns all versions, then refines this list to the latest for each ring before creating language specific URLs for each architecture.
Note: ARM64 msi is not available for earlier v17.x builds
N.B. This also makes use of the ReleaseDate Parameter introduced in the [Enhancement] Microsoft SSMS
This is now probably the most complex NeverGreen script to date 😉:
Script:
# Get-MicrosoftODBCDriverforSQLServer.ps1

$AppName = "Microsoft ODBC Driver for SQL Server"

# Define the URL for the release notes and Installation Instructions
$ReleaseURL = "https://learn.microsoft.com/en-us/sql/connect/odbc/windows/release-notes-odbc-sql-server-windows?view=sql-server-ver16"
$InstallInstructionsUrl = "https://learn.microsoft.com/en-us/sql/connect/odbc/windows/system-requirements-installation-and-driver-files?view=sql-server-ver16#installing-microsoft-odbc-driver-for-sql-server"

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# Fetch the HTML content from the URL
$htmlContent = (Invoke-WebRequest -Uri $ReleaseURL).RawContent

# Define the regex pattern for build versions
$regexBuildVersions = '<h2 id="(?<id>.*?)">(?<buildversion>17\.\d+(\.\d+){0,2}|18\.\d+(\.\d+){0,2})
'

# Find all build versions
$releases = [regex]::Matches($htmlContent, $regexBuildVersions)
# Initialize variables to store the latest releases
$latestRelease18x = $null
$latestRelease17x = $null

# Loop through each match to determine the latest releases
foreach ($match in $releases) {
    $id = $match.Groups["id"].Value
    $buildversion = $match.Groups["buildversion"].Value

    # Update the latest release for each version
    if ($buildversion -match '^18\.') {
        if (-not $latestRelease18x -or [version]$buildversion -gt [version]$latestRelease18x.BuildVersion) {
            $latestRelease18x = [PSCustomObject]@{ Id = $id; BuildVersion = $buildversion }
        }
    } elseif ($buildversion -match '^17\.') {
        if (-not $latestRelease17x -or [version]$buildversion -gt [version]$latestRelease17x.BuildVersion) {
            $latestRelease17x = [PSCustomObject]@{ Id = $id; BuildVersion = $buildversion }
        }
    }
}

# Define the different regex patterns for each release - as text is in different order on webpage for v17 vs v18 releases
$regexDetails18x = '(?<buildversion>18\.\d+(\.\d+){0,2})
\s*
\s*Version number:\s*(?<version>[\d\.]+)
\s*Released:\s*(?<released>.*?)
\s*
\s*\s*<a href="(?<x64url>https:\/\/go\.microsoft\.com\/fwlink\/\?linkid=\d+)" data-linktype="external">Download x64 installer<\/a>
\s*\s*<a href="(?<x86url>https:\/\/go\.microsoft\.com\/fwlink\/\?linkid=\d+)" data-linktype="external">Download x86 installer<\/a>
\s*\s*<a href="(?<arm64url>https:\/\/go\.microsoft\.com\/fwlink\/\?linkid=\d+)" data-linktype="external">Download ARM64 installer<\/a><\/p>'
$regexDetails17x = '(?<buildversion>17\.\d+(\.\d+){0,2})
\s*
\s*\s*<a href="(?<x64url>https:\/\/go\.microsoft\.com\/fwlink\/\?linkid=\d+)" data-linktype="external">Download x64 installer<\/a>
\s*\s*<a href="(?<x86url>https:\/\/go\.microsoft\.com\/fwlink\/\?linkid=\d+)" data-linktype="external">Download x86 installer<\/a><\/p>\s*
\s*Version number:\s*(?<version>[\d\.]+)
\s*Released:\s*(?<released>.*?)
'

# Initialize array to store the latest release details
$latestReleases = @()

# Function to get release details based on the build version
function Get-ReleaseDetails($buildVersionObject, $regexDetails) {
    $id = $buildVersionObject.Id
    $detailsMatch = [regex]::Match($htmlContent, "<h2 id=`"$id`">($regexDetails).*?
If you need to download the installer", [System.Text.RegularExpressions.RegexOptions]::Singleline)

    if ($detailsMatch.Success) {
        return [PSCustomObject]@{
            BuildVersion = [version]$detailsMatch.Groups["buildversion"].Value
            Version = [version]$detailsMatch.Groups["version"].Value
            Released = $detailsMatch.Groups["released"].Value
            x64URL = $detailsMatch.Groups["x64url"].Value
            x86URL = $detailsMatch.Groups["x86url"].Value
            ARM64URL = $detailsMatch.Groups["arm64url"].Value
        }
    }
    return $null
}

# Combine the two latest releases into a single table '$latestReleases'
# Get the details for the latest v17.x release
if ($latestRelease17x) {
    $releaseDetails = Get-ReleaseDetails $latestRelease17x $regexDetails17x
    if ($releaseDetails) {
        $latestReleases += $releaseDetails
    }
}

# Get the details for the latest v18.x release
if ($latestRelease18x) {
    $releaseDetails = Get-ReleaseDetails $latestRelease18x $regexDetails18x
    if ($releaseDetails) {
        $latestReleases += $releaseDetails
    }
}

foreach ($release in $latestReleases) {
    # Define $AppVersions differently, to handle v17 releases not available in ARM64
    if ($release.version.Major -eq '17') {
        $AppVersions = @(
            @{Version = $release.Version; Ring = $($release.Version.Major); ReleaseDate = $release.Released; Type = 'msi'; Architecture = 'x86'; Uri = $release.x86URL}
            @{Version = $release.Version; Ring = $($release.Version.Major); ReleaseDate = $release.Released; Type = 'msi'; Architecture = 'x64'; Uri = $release.x64URL}
        )
    } elseif ($release.version.Major -eq '18') {
        $AppVersions = @(
            @{Version = $release.Version; Ring = $($release.Version.Major); ReleaseDate = $release.Released; Type = 'msi'; Architecture = 'x86'; Uri = $release.x86URL}
            @{Version = $release.Version; Ring = $($release.Version.Major); ReleaseDate = $release.Released; Type = 'msi'; Architecture = 'x64'; Uri = $release.x64URL}
            @{Version = $release.Version; Ring = $($release.Version.Major); ReleaseDate = $release.Released; Type = 'msi'; Architecture = 'ARM64'; Uri = $release.ARM64URL}
        )
    }

    $AppLanguages = @(
        @{Language = 'Chinese (Simplified)'; Pattern = '&clcid=0x804'}
        @{Language = 'Chinese (Traditional)'; Pattern = '&clcid=0x404'}
        @{Language = 'English'; Pattern = '&clcid=0x409'} # N.B this is 'English  (United States)'
        @{Language = 'French'; Pattern = '&clcid=0x40c'}
        @{Language = 'German'; Pattern = '&clcid=0x407'}
        @{Language = 'Italian'; Pattern = '&clcid=0x410'}
        @{Language = 'Japanese'; Pattern = '&clcid=0x411'}
        @{Language = 'Korean'; Pattern = '&clcid=0x412'}
        @{Language = 'Portuguese (Brazil)'; Pattern = '&clcid=0x416'}
        @{Language = 'Russian'; Pattern = '&clcid=0x419'}
        @{Language = 'Spanish'; Pattern = '&clcid=0x40a'}
    )

    foreach ($AppVersion in $AppVersions) {
		Write-Verbose "`nRetrieving Language specific URLs for Version $($release.Version) for $($AppVersion.Architecture) Architecture...`n"
        foreach ($AppLanguage in $AppLanguages) {
            $SearchCount = 1 # This may need increasing as future versions are released
            $Version = $AppVersion.Version
            $Uri = $AppVersion.Uri # default Uri before language specific pattern has been appended
            if ($NULL -ne $Uri) {
                do {
                    if ($Uri) {
                        $Uri = (Resolve-Uri -Uri "$($AppVersion.Uri)$($AppLanguage.Pattern)").Uri
                        Write-Verbose "New $($AppLanguage.Language) URI : $Uri"
                        # Build each link with Platform specific versions
                        New-NevergreenApp -Name $AppName -Version $Version -Ring $AppVersion.Ring -Uri $Uri -Architecture $AppVersion.Architecture -Type $AppVersion.Type -Language $AppLanguage.Language -ReleaseDate $AppVersion.ReleaseDate
                        break
                    }

                    $SearchCount--
                } until ($SearchCount -eq 0)

                if ($SearchCount -eq 0) {
                    Write-Warning "Could not find $($AppLanguage.Language) release for $($AppName) $($Version) ($($AppVersion.Architecture))"
                }
            }
        }
    }
}

$ReleaseNotesUrl = $ReleaseURL
Write-Verbose "$($AppName) release notes are available here: $($ReleaseNotesUrl)"
Write-Verbose "$($AppName) Install instructions are available here:`n         $($InstallInstructionsUrl)"

Thanks! My time has been taken up with other projects as of late but I will be picking this up again soon. I have some ideas to make some functions for these common patterns so that we won't need such lengthy scripts in future!

FYI: I have just updated the script due to an issue discovered when the new version 18.4 was released yesterday - this update means it now works for 2, 3 or 4 part version numbers

Microsoft appear to have updated the web page that this script reads, so this code is no longer working, I'll attempt to have a look at resolving this towards the end of the week


Feat:want to add search bar in shop page

Describe the feature
want to search bar in shop page so that user can search item what they want
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I would like to solve this issue. Please assign me this issue under GSSoC'24 to contribute to this project.

Hello @nishant0708 !
please solve the issues which are assigned to your first and also if we search will we get the desired search option or not? Do highlight some points and features of the search  bar.
best of luck ✨

@himanshu-03  See when we will search it should search both category wise and product wise as well like if I searched for dals it should show be dals and show all the products with all the products with dal category so fo this I will need to update everyone card with category name as well so no worries I will finish my current assigned issues first then you can assign me this

@himanshu-03 See when we will search it should search both category wise and product wise as well like if I searched for dals it should show be dals and show all the products with all the products with dal category so fo this I will need to update everyone card with category name as well so no worries I will finish my current assigned issues first then you can assign me this

Okay just tag me in this issue and I will assign you once you are done with the previous ones.

Hey @himanshu-03  can I start working on this now

Yes you can

Hey @himanshu-03 can I start working on this now


How to prepare the grid.txt file

Thank you for providing such an easy-to-use package.
 Could someone provide your example grid.txt file for me to follow? Thank you so much!

You my look at this example https://github.com/ci-lab-cz/docking-files/blob/main/CDK6-Q00534/grid.txt in our other repository


Install pipeline from commit SHA

Hello, thank you for this awesome tool! Would you have any interest in adding a --commit parameter to install pipelines based on a commit SHA? For example, the Nextstrain pipelines either have infrequent tagged releases, or don't use tags at all. Using the commit SHA would also bring snk closer to Nextflow's system for precise revisioning.
This pull request includes some ideas for implementation and documentation updates. If you're not interested in this feature (or think it's problematic), feel free to close!
Example: nextstrain/ncov pipeline on commit 781da4af
> snk install nextstrain/ncov --commit 781da4af
Successfully installed ncov (781da4af)!

Great idea! Thanks @ktmeaton.
I’ll merge and release asap!

Thanks so much!


Added Table of contents to readme

@ROBERT-MCDOWELL
I'll be merging this as you accepted it before just had to update it again 👍


MMClassification Plan in 2022

To develop a better image classification toolbox for everyone. Welcome any contributions and suggestions.
In this issue, you can either:

Suggest a new feature by leaving a comment. The plan list will be updated in time.
Vote for a feature request with +1 or be against with -1. More votes mean a quicker response.
Tell us that you would like to help implement one of the features in the list or review the PRs. (This is the greatest thing to hear about!)

The following is the planned feature in 2022:
Update Model Zoo
We plan to support more than 40 classic/new algorithms in 2022 and provide more pre-trained models.
Here is the model list, and it will be updated at any time. Propose by leaving a comment :wink:

[x] EfficientNet #649
[x] ConvNeXt #670
[x] Twins PVPVT/SVT #pcpvt #642
[x] HRNet #660
[x] ResNet V1C #692
[x] RepMLP #709
[ ] DenseNet
[x] CSPNet #735
[x] Wide ResNet #715
[ ] BeiT
[ ] RMNet #549
[x] ConvMixer #716
[ ] VAN
[ ] PoolFormer
[ ] GhostNet
...

Support downstream tasks
How to use MMCls's backbones in MMDet or MMSeg? Can we use modules across different OpenMMLab repositories smoothly?
Yes, we do support using modules from other repositories directly in config files. But there are still some restrictions, like model variants, dynamic input images shape, and tutorials.

[ ] Tutorial about how to apply one backbone network on classification, detection, and segmentation.
[x] Support dynamic input images shape on transformer-based networks #706
...

Support more datasets
ImageNet and CIFAR are not enough! MMClassification can be used on more datasets but reinventing the wheel is troubling. What other dataset do you think mmcls can support officially? Comment or contribute your implementation directly!

[x] CUB dataset #703
[ ] Stanford Cars
[ ] Generic custom dataset
...

Provide more tools to help development
Not only a model hub but also a toolbox. We have provided a series of analysis and visualization tools, like pipeline visualization and CAM visualization. What other tools do you need? Just comment!

[x] K-fold cross-validation tools. #560
[ ] Test-Time Augmentation #716
[ ] Multi-task training (One backbone with multi heads) #675
...

Keep in contact with contributors
We're exploring how to communicate with contributors. Mail-list, Skype, Slack, or GitHub projects? Anyone who wants to join the contributor groups is welcome to leave a comment to tell me about your favorite contact method.

Hope to add TrivialAugmentation，https://github.com/automl/trivialaugment

Wave-MLP,https://github.com/huawei-noah/CV-Backbones.git

hope to add reid-related structures

hope to add reid-related structures

What structures? ReID sounds should be in MMTrack

hope to add reid-related structures

What structures? ReID sounds should be in MMTrack

Maybe Metric Learning like triplet loss, and associated with Dataset (output a tuple image and one label)

Is there a plan to add wave-MLP.It has amazing performance

another question,if I want to train on distributed model,should I customize a sampler that inherits from DistributedSampler class or just from torch.utils.data.sampler.Sampler class?

Is there any plan for ArcFace loss?

Hope to add TrivialAugmentation，https://github.com/automl/trivialaugment

Yes， this is in our latest plan.

Is there any plan for ArcFace loss?

Yes, We will add it in the near future.

Thanks for this wonderful repo. Is there any desire to add MaxViT? I think it would be a wonderful backbone other mmlab repos could benefit from, in particular mmdetection.


RuntimeError: mat1 and mat2 must have the same dtype

thanks very much for this great work.
I am tring to understanding the code and use it in my research.
I encounter an error and don't know how to fix it. Any suggestions would be greatly appreciated.
here is the code:
%%
data = {
"X_num": {
"train": X_train,
"val": X_test
},
"Y": {
"train": y_train,
"val": y_test
}
}
%%
dataset = Dataset(
data=data,
task_type=TaskType.REGRESSION,
score='rmse',
y_info=None,
_Y_numpy=None
)
seed = 42
model = {'num_embeddings': None,  # Example embedding configuration
'd_main': 64,
'd_multiplier': 1.0,
'encoder_n_blocks': 2,
'predictor_n_blocks': 2,
'mixer_normalization': False,
'context_dropout': 0.1,
'dropout0': 0.1,
'dropout1': 0.1,
'normalization': 'BatchNorm1d',
'activation': 'ReLU'
}
define Config
config = Config(
seed=seed,
data=dataset,
model=model,
context_size=5,
optimizer={'type': 'Adam', 'lr': 0.001},
batch_size=64,
patience=10,
n_epochs=10,
)
%%
output_path = "./output"
force = True
report = main(config, output_path, force=force)
the error details are as follows:

RuntimeError                              Traceback (most recent call last)
File /Users/hjyu/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/tabr_test.py:4
2 output_path = "./output"
3 force = True
----> 4 report = main(config, output_path, force=force)
File ~/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/bin/tabr.py:508, in main(config, output, force)
503 epoch_losses = []
504 for batch_idx in tqdm(
505     lib.make_random_batches(train_size, C.batch_size, device),
506     desc=f'Epoch {epoch}',
507 ):
--> 508     loss, new_chunk_size = lib.train_step(
509         optimizer,
510         lambda idx: loss_fn(apply_model('train', idx, True), Y_train[idx]),
511         batch_idx,
512         chunk_size or C.batch_size,
513     )
514     epoch_losses.append(loss.detach())
515     if new_chunk_size and new_chunk_size < (chunk_size or C.batch_size):
File ~/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/lib/deep.py:447, in train_step(optimizer, step_fn, batch, chunk_size)
445 optimizer.zero_grad()
446 if batch_size <= chunk_size:
--> 447     loss = step_fn(batch)
448     loss.backward()
449 else:
File ~/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/bin/tabr.py:510, in main..(idx)
503 epoch_losses = []
504 for batch_idx in tqdm(
505     lib.make_random_batches(train_size, C.batch_size, device),
506     desc=f'Epoch {epoch}',
507 ):
508     loss, new_chunk_size = lib.train_step(
509         optimizer,
--> 510         lambda idx: loss_fn(apply_model('train', idx, True), Y_train[idx]),
511         batch_idx,
512         chunk_size or C.batch_size,
513     )
514     epoch_losses.append(loss.detach())
515     if new_chunk_size and new_chunk_size < (chunk_size or C.batch_size):
File ~/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/bin/tabr.py:436, in main..apply_model(part, idx, training)
428     candidate_indices = candidate_indices[~torch.isin(candidate_indices, idx)]
429 candidate_x, candidate_y = get_Xy(
430     'train',
431     # This condition is here for historical reasons, it could be just
432     # the unconditional candidate_indices.
433     None if candidate_indices is train_indices else candidate_indices,
434 )
--> 436 return model(
437     x_=x,
438     y=y if is_train else None,
439     candidate_x_=candidate_x,
440     candidate_y=candidate_y,
441     context_size=C.context_size,
442     is_train=is_train,
443 ).squeeze(-1)
File ~/anaconda3/envs/tabr/lib/python3.9/site-packages/torch/nn/modules/module.py:1194, in Module._call_impl(self, *input, **kwargs)
1190 # If we don't have any hooks, we want to skip the rest of the logic in
1191 # this function, and just call forward.
1192 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1193         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1194     return forward_call(*input, **kwargs)
1195 # Do not call functions when jit is used
1196 full_backward_hooks, non_full_backward_hooks = [], []
File ~/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/bin/tabr.py:243, in Model.forward(self, x_, y, candidate_x_, candidate_y, context_size, is_train)
212 def forward(
213     self,
214     *,
(...)
221 ) -> Tensor:
222     # >>>
223     with torch.set_grad_enabled(
224         torch.is_grad_enabled() and not self.memory_efficient
225     ):
(...)
240         # performed without gradients.
241         # Later, it is recomputed with gradients only for the context objects.
242         candidate_k = (
--> 243             self.encode(candidate_x)[1]
244             if self.candidate_encoding_batch_size is None
245             else torch.cat(
246                 [
247                     self.encode(x)[1]
248                     for x in delu.iter_batches(
249                         candidate_x, self.candidate_encoding_batch_size
250                     )
251                 ]
252             )
253         )
254     x, k = self.encode(x)
255     if is_train:
256         # NOTE: here, we add the training batch back to the candidates after the
257         # function apply_model removed them. The further code relies
258         # on the fact that the first batch_size candidates come from the
259         # training batch.
File ~/Library/Mobile Documents/com~apple~CloudDocs/Code/Transfer_Learning_Tabular/TabR/bin/tabr.py:206, in Model._encode(failed resolving arguments)
203 assert x    # 断言列表x不为空，这可能是为了确保输入数据的正确性
204 x = torch.cat(x, dim=1)
--> 206 x = self.linear(x)
207 for block in self.blocks0:
208     x = x + block(x)
File ~/anaconda3/envs/tabr/lib/python3.9/site-packages/torch/nn/modules/module.py:1194, in Module._call_impl(self, *input, **kwargs)
1190 # If we don't have any hooks, we want to skip the rest of the logic in
1191 # this function, and just call forward.
1192 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1193         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1194     return forward_call(*input, **kwargs)
1195 # Do not call functions when jit is used
1196 full_backward_hooks, non_full_backward_hooks = [], []
File ~/anaconda3/envs/tabr/lib/python3.9/site-packages/torch/nn/modules/linear.py:114, in Linear.forward(self, input)
113 def forward(self, input: Tensor) -> Tensor:
--> 114     return F.linear(input, self.weight, self.bias)
RuntimeError: mat1 and mat2 must have the same dtype

fix it, change X's data type to float32.