Nnunet ensemble

PR Type
[Feature | Fix | Documentation | Other ]
Short Description
This PR introduces major updates to the prediction and evaluation pipelines for nnunet models. Namely a script that can be called to do all of inference, lesion extraction and picai_eval evaluation.

Updates to logging to make everything look nice
Included information on how long each step takes to run

This will be useful when inference datasets get large to know what bottleneck is

Update predict script to return probabilities, annotations and case identifiers.
Updated eval script to predict from probabilities and extract detection maps manually
predict_and_eval script that combines everything

performs inference for arbitrary number of nnunet models
Ensembles the predicted probabilities for different checkpoints and nnunet configs
Extracts lesion detection maps and predicted annotations/segmentations
Computes picai eval metrics from detection maps
Allows optional saving of probabilities, detection maps, annotations/segmentations and evaluation result metrics

Notes
I would like to mention that in the second half of working on this, the code had to become a lot more involved than I would have liked. I think this is a good solution for now as it is robust, generalizable to multiple use cases (ie. different amounts of models, multiclass segmenetation etc.) and just works. However in the future I would love to refactor this somehow, make it shorter and cleaner. I think there will be an opportunity across the entire picai research folder to refactor at some point and delete code. However I didn't want to expand the scope of this PR as refactoring would potentially be much more involved under the hood of the various API's being used and take a lot of time. Additionally, waiting on some of these packages to fix issues or make improvements to their own API's (I create an issue and they normally just ask me to do the PR for them lol)
That being said, if you see some easy simplifications I'd love to know. I'm really in deep on this one, so my head hurts when trying to reimagine it. This was a frustrating PR because I don't love the comprimises I had to make.

Currently everything needs to be loaded into memory simultaneously.

nnunet uses multiprocessing exactly for this reason to avoid having to have the inference dataset in memory
However we need to have it in memory currently in order to do the other steps without having to save and load files intermediately
Potential future improvement that would be great would be to have the whole pipeline done one sample at a time with multiprocessing, and then just add our own arguments/flags to save each individual sample. However this would involve refactoring everything and redoing nnunet's inference code in part

However I'm already kind of overriding nnunet's main inference method to get it to return more information

I'd love to add some convenient file loading functionality in the future

picai eval has some cool stuff in their fileloading that allows filenames to have 'postfixes'. Basically it learns to ignore a string such as '_probs' at the end of the filename when looking for case identifiers
I'd love for there to be an option to specify a nnunet dataset id or the current method of direct folder paths
Right now we need a dataset json as an input, might be worth removing this dependency as the only info we need from the dataset json are the file endings and the labels for the different classes.

I think I'd like to make the config files python instead of yaml. I wasn't sure how to do this before but I'm realizing now I can do it using importlib. Main benefit is that user can have variables in the config function to avoid typing the same path over and over again

Static code check failure was due to a new vulnerability found in pytorch versions under 2.2.0. I tried updating the dependencies but poetry still resolves torch version 2.1.2 despite the pyproject.toml allowing any version above 2.1.1. I'm assuming some other dependency is preventing us from upgrading to a newer torch version so I just ignored the vulnerability for now

As for the smoke tests, it has something to do with the metrics, but I didn't change anything in fl4health, all the changes were restricted to the research folder, so i don't know why the smoke tests are failing. Also I'm not sure if there's a way to see which smoke tests are failing but here is the error I get when I run them myself.

Ok not sure whats going on because the smoketests seem to be running now, i tried running it locally again and got a different error. I've updated my dependencies, did a git pull, so everything should be the same, but when I run python -m tests.smoke_tests.run_smoke_tests i get an error

Ok strange that they all passed now but I'll take it

Also I was able to remove ignoring the mlflow vulnerabilities so I guess that issue was solved

Ok modifying stuff to use disk ended up being a bit more work than I thought. What we have works and is a nice quick and dirty method. We can discuss a big refactor for a future PR. I will look into the comments John made to see if any of them still apply


Document stable vs devel branches/releases/tags

With the effort from @mangelajo and others to enable stable branches, we our versions for branches, releases, and tags are a bit more complex. We should clearly document, at least, that:

release-<version> is the latest from that stable branch
v<version> is the release

We may also want to consider renaming the GitHub releases "devel"/"" instead of "Cutting Edge: Devel"/"Cutting Edge: release-" for clarity and consistency.

We should also document that we're using this release-<version> scheme because it's what K8s/K8s does.

bump

I think this is partly covered (although it takes digging) by:
https://submariner.io/development/release-process/#release-versions
and
https://submariner.io/development/release-process/#stable-branches-and-versions
We could still consider renaming the releases (basically just using versions instead of extra "Cutting edge" text), but that's personal preference maybe and not worth an issue.


Docker registry 2.x much slower than 0.x using s3 backend

Hey all,
After upgrading our registry to 2.x, we are noticing a huge increase in build times, specifically around pushing of the container to the private registry.
The registry was not migrated from 0.x to 2.0, instead we opted for a clean slate with a new s3 bucket.
I noticed the new registry does not support the old STORAGE_REDIRECT, which I believe provided the incredible performance when paired with s3.
Registry Server: Docker version 1.9.1, build a34a1d5
Jenkins Build Server: Docker version 1.9.1, build a34a1d5
Registry Server info:
> docker exec 72b registry -v
registry github.com/docker/distribution v2.2.1
> docker info
Containers: 4
Images: 41
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 49
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-71-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 1
Total Memory: 3.676 GiB
WARNING: No swap limit support

New docker-compose for registry 2.x
registry:
  image: registry:2.2.1
  restart: always
  container_name: registry
  ports:
    - "80:5000"
  environment:
    - REGISTRY_STORAGE=s3
    - REGISTRY_STORAGE_S3_REGION=us-west-2
    - REGISTRY_STORAGE_S3_BUCKET=

Previous docker-compose for registry 0.x
dockerRegistry:
  image: registry:0.9.1
  ports:
    - "80:5000"
  environment:
    - SETTINGS_FLAVOR=s3
    - AWS_BUCKET=${REGISTRY_BUCKET}
    - STORAGE_PATH=${REGISTRY_STORAGE_PATH}
    - STORAGE_REDIRECT=true
    - SEARCH_BACKEND=sqlalchemy
    - SERVICE_5000_CHECK_HTTP /_ping
    - SERVICE_5000_CHECK_INTERVAL 60s

Sorry, just noticed redirect is now enabled by default: https://github.com/docker/distribution/blob/master/docs/configuration.md#redirect

@NoumanSaleem Push can be slower due to the increased content verification done at push time to provide content addressability guarantees. This is a known issue and we already have a number of issues open working on this.
I'm closing this issue since there isn't anything specifically actionable and it is covered by several other existing issues.
Thank you for the report.

Thanks for the explanation


Publish to maven central

We should publish scala-rewrites to maven central and update usage guide.

+1, came here to use rule ExplicitNonNullaryApply, but could not find these rules on maven central https://scalacenter.github.io/scalafix/docs/users/installation.html#run-custom-rules

@dwijnand you might want to update https://github.com/scala/scala/pull/8833 to reflect current reality

Published:

https://github.com/scala/scala-rewrites/releases/tag/v0.1.0
https://travis-ci.com/github/scala/scala-rewrites/jobs/356391418
https://repo1.maven.org/maven2/org/scala-lang/scala-rewrites_2.12/0.1.0/
https://repo1.maven.org/maven2/org/scala-lang/scala-rewrites_2.13/0.1.0/

Feedback/improvements, always welcome.

should https://github.com/scala/scala/releases/tag/v2.13.3 refer to it?

Now it can, absolutely!

feel free, then :-)
we could also tweet from scala_lang about it, if you're comfortable with that


New pipeline JSON format

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

Codecov Report

Merging #147 (d8a80fc) into master (209461c) will decrease coverage by 0.14%.
The diff coverage is 78.94%.

@@            Coverage Diff             @@
##           master     #147      +/-   ##
==========================================
- Coverage   79.02%   78.87%   -0.15%
==========================================
  Files          40       40
  Lines        1368     1401      +33
  Branches      322      328       +6
==========================================
+ Hits         1081     1105      +24
- Misses        215      222       +7
- Partials       72       74       +2

Impacted Files
Coverage Δ

...es/pipeline-editor/src/PipelineController/index.ts
93.95% <50.00%> (-2.05%)
:arrow_down:

...kages/pipeline-editor/src/PipelineEditor/index.tsx
45.23% <50.00%> (-0.22%)
:arrow_down:

...es/pipeline-editor/src/PipelineController/utils.ts
85.71% <82.35%> (-14.29%)
:arrow_down:

...e-editor/src/properties-panels/properties-utils.ts
100.00% <100.00%> (ø)

packages/pipeline-services/src/validation/index.ts
95.45% <100.00%> (-2.22%)
:arrow_down:

packages/pipeline-services/src/validation/utils.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

I've pushed my v4 and migration updates. I still need to update the tests though, I'll do that tomorrow


Adds support for sharing cookie settings across subdomains

I've looked at a lot of libraries for cookie consenting; this one is the only one that is simple, small and looks good.Thanks for creating it!
I created a function for sharing the cookie consent settings across multiple subdomains. This PR accomplishes that by adding a 'share_across_subdomains' config property. It is optional and defaults to false.
This feature depends on extracting the root domain from the current hostname. It won't work for top-level domains that have a dot, such as co.uk. This problem could be solved by using a library for root domain extraction or by explicitly setting the domain name for which the cookie should be saved, instead of using the current hostname.

@orestbida You're right; it's better to keep things simple.
I've removed the 'share_across_subdomains' setting and created a 'cookie_domain' setting. The default value for cookie_domain is the value of window.location.hostname.


JSX indentation

Currently it seems like standard doesn't lint the indentation on JSX files. For example the following file lints without issues:
const React = require('react')

class Test extends React.Component {
  render () {
    return (
              <div>
       Test
          </div>
    )
  }
}

module.exports = Test

This should probably be moved to eslint-config-standard-react.
Taking a look at it's eslintrc.json, I don't see the jsx-indent-props rule enabled, which I think is what you're looking for.

Hmm, it isn't jsx-indent-props, and as far as I can tell there isn't any plugin on that list that would do it. Maybe this should really be a job for the plugin that checks the indentation of normal code...

There's currently a proposal for the rule you want: https://github.com/yannickcr/eslint-plugin-react/issues/342 Maybe you can weigh on that issue?

Thanks!

This is implemented in eslint-plugin-react now. Let's release it in v6.

Awesome news! 🍾

This is released in eslint-config-standard-react 2.0.0.


[Help/Question] How to implement router delegate having a login page and nested navigations page

I'm having issues trying to create a router delegate on an application that has a login and nested navigations.
Flow:
LoginPage() -> Authentication occurs, navigates to home page .-> HomePage()
So imagine my home page real similar to this example: beamer example nested navigation
This is the router navigation I'm currently using on my main:
final routerDelegate = BeamerDelegate(
    locationBuilder: (routeInformation, _) =>
        HomeViewLocation(routeInformation), // or LoginViewLocation() ?
    guards: [
      BeamGuard(
        pathPatterns: ['/login', '/'],
        check: (context, location) =>
            context.read<AppBloc>().state.status ==
            AuthenticationStatus.unauthenticated,
        beamToNamed: (origin, target) => '/main-menu',
      ),
      BeamGuard(
        pathPatterns: ['/', '/main-menu'],
        check: (context, location) =>
            context.read<AppBloc>().state.status ==
            AuthenticationStatus.authenticated,
        beamToNamed: (origin, target) => '/login',
      ),
    ],
  );

HomeViewLocation beam lcoation navigaties to HomeWebLocation() which is the scaffold with the Home main header and it's beamer content locations.

class HomeViewLocation extends BeamLocation<BeamState> {
  HomeViewLocation(RouteInformation routeInformation) : super(routeInformation);

  @override
  List<String> get pathPatterns => ['/*'];

  @override
  List<BeamPage> buildPages(BuildContext context, BeamState state) => [
        const BeamPage(
          key: ValueKey('home'),
          child: WebHomeView(),
        )
      ];
}

The issue is that I can't navigate to the login Page now and I don't how make my app work that support a router delegate with my home page and a login view. I haven't created a BeamLocation for my login page. I tried to do it but I didn't know how to implement to use my Home location or login based on authentication status. Can someone give an example of how to handle this? Thanks.

Hi @Retr0sec7, I recommend checking out this example: bottom_navigation_riverpod
In that example the guard is configured in an inverse manner:
guards: [
  BeamGuard(
    pathPatterns: ['/login'],
    guardNonMatching: true,
    check: (context, state) {
      return container.read(authStateControllerProvider);
    },
    beamToNamed: (origin, target, deepLink) => '/login',
  ),
],

Anything that does not match with the '/login' path pattern will trigger a guard check. It's important that other locations within navigation do not intersect with '/login'. For example, we can't use '/' as a home location in that case. That's why the example I've linked uses '/home' instead.


Updating instructions to use new dockerfile

things has changed after to got this: https://github.com/uber/cadence/pull/2325

Also need to update some internal instruction

https://github.com/uber/cadence/pull/2331/files


Remove unused mnemonic phrase code

Now it's handled by trezor lib

Codecov Report

Merging #53 into master will decrease coverage by 0.67%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
- Coverage   90.42%   89.74%   -0.68%
==========================================
  Files          18       17       -1
  Lines         992      975      -17
==========================================
- Hits          897      875      -22
- Misses         95      100       +5

Impacted Files
Coverage Δ

Sources/Wallet/Mnemonic.swift
70.58% <0%> (-29.42%)
:arrow_down:

Continue to review full report at Codecov.

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


use URL as provided not http

Hi,
is it possible to provide the URL as provided and not try to use http?
Reason:
Even when I use the url https://uam.hitmehard.fun/HIT CloudflareSolverRe tries to request via http.
But the rotating proxy service I use (not rotating on every request but after a few min or on fails) jumps to the next proxy on 503 internally and after a few tries it sends a "504 Gateway Timeout  - unable to find suitable sub-proxy"
And the proxy service doesn't want to change the product and told: just request via https then It won't happen - who uses http on Cloudflare anyway?

Nevermind - the service now announced to fix this on their side.

Good!
Even if I tried, I think I can't solve it my side.
The way that service works cannot deal with cloudflare protected sites.
Cloudflare by default responds by 503 on the first request.

not rotating on every request but after a few min or on fails
"on fails" means that it will always change and can't be solved here.
If you need, I can let you determine if you require https or not.
I use http as challenges cannot be solved in https easily (I don't know why) and requires more tries.

If the fix on service side works, I think a "force https" switch is not needed.
But thnx for the offer ;)

You're welcome :)


Direction of change menu: Update labels

Currently, our direction of change menu under the LoP field looks like this:

I'd like to request a couple of updates*:

Instead of Positive (+) let's say Increase (+)
Instead of Negative (-) let's say Decrease (-)

Here's how it should look.

*While the plus and minus signs are still appropriate from a numeric standpoint, I've learned that the corresponding terminology used in the field is "Increase" and "Decrease".

Validated.


"Return to search" breadcrumb

Issue type
[X] Feature request
[ ] Bug report
[ ] Documentation

Environment

Python version:   3.5.3
Peering Manager version:   0.99-dev

Description
A breadcrumb to return to search results would be helpful for these scenarios:

Perform a search, edit one of the results, click cancel or update, brings you to "Details", you can't get back to the search results without using browser back button.

Perform a search, click "Details".  You can't get back to the search results without using browser back button.

Ran into this when I created Routing Policies. Would be nice if you could jump back to the list after you created or edited one.

Ran into this when I created Routing Policies. Would be nice if you could jump back to the list after you created or edited one.
EDIT: There are probably some more cases where this could be useful some way.

This will be partially fixed when PR #82 will be merged into master.
I'm still trying to figure out how to implement the "Return to search" feature though.

Implementing a search history with the last 10 searches for instance, could be a way to solve this.
We could then display a button/link in the header like "Last search" as a shortcut and have a bit more searches available in a sub-menu of the user menu.
Just an idea, nothing's decided yet. What do you guys think?

Honestly, I don't think there is a need to keep a history. Just a simple return to search should suffice. It is something I wouldn't use but I can see use cases for it. I am happy just using the back button.


Can't download from Scribblehub

I tried to use this program to download a story from Scrubblehub, but I keep getting
[ERROR]Could not connect to webpage. (HTTP error fetching URL)
Any idea what is happening?

Are you using the correct URL? ex: https://www.scribblehub.com/series/204714/salvos/
If it's still not working please start Novel-Grabber.jar inside the bin folder from the terminal / PowerShell and paste the console output:
(Shift-right click somewhere inside the folder -> Open Power Shell here -> java -jar Novel-Grabber.jar)

I used your example and it still didn't work.
and bin folder? SOrry I'm new to all of this.

Wait never mind. It seems my VPN was blocking it somehow. So turning it off (temporarily) seems to do the trick


Update service-fabric-mesh-monitoring-diagnostics.md

The "az mesh servicereplica" command is wrong and incomplete

This can be closed I presume?

@Sravan<EMAIL_ADDRESS>I think the document moved, but we should verify the fix found its way in.
From: Tom Kerkhove<EMAIL_ADDRESS>Sent: Saturday, September 15, 2018 12:41 AM
To: Azure/service-fabric-mesh-preview<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [Azure/service-fabric-mesh-preview] Update service-fabric-mesh-monitoring-diagnostics.md (#204)
This can be closed I presume?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fservice-fabric-mesh-preview%2Fpull%2F204%23issuecomment-421538660&data=02|01|matt.trower%40microsoft.com|45f726de2bb347f6dffd08d61ade8b46|72f988bf86f141af91ab2d7cd011db47|1|0|636725940458070345&sdata=lDMFu6NQvw3Y0h93L1agG0m00m%2F%2F7PP1H53YjSLZ694%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAKzIbzLFt0nqeWRQc92p3MJwRiHkGVvOks5ubK77gaJpZM4VGWHD&data=02|01|matt.trower%40microsoft.com|45f726de2bb347f6dffd08d61ade8b46|72f988bf86f141af91ab2d7cd011db47|1|0|636725940458070345&sdata=byUmucT3W%2FRwwA%2FH%2FXoUAA6Q%2FBkpIp%2Bi9jBXtRtdrfU%3D&reserved=0.

Yes I validated this a while ago and can be closed


[MATLAB] Create the LifetimeManager C++ class

LifetimeManager is a singleton that each arrow.Array subclass will interact with to keep their corresponding C++ data structures alive.
Reporter: Sarah Gilmore / @sgilmore10
Note: This issue was originally created as ARROW-12754. Please see the migration documentation for further details.

Marking this as resolved.
Functionality that is related to what is described in this issue was implemented in mathworks/libmexclass, which is now being used under the hood by the MATLAB Interface.


[stable/parse] Fix template "parse.chart" being not defined

Fixing a small bug not making the template being generated.
What this PR does / why we need it:
It fixes an error when generating the template:

Error: render error in "parse/templates/ingress.yaml": template: parse/templates/ingress.yaml:20:19: executing "parse/templates/ingress.yaml" at <.Values.ingress.dashbard.hosts>: nil pointer evaluating interface {}.hosts

Special notes for your reviewer:
There's no big changes, I just modified a var's name

Closing.
Error not coming from this.


Cannot find type 'UIPanGestureRecognizer' in scope

Hi,
when using XCode 13 and SPM as dependency manager there is error in Swifty360CameraPanGestureRecognizer, saying Cannot find type 'UIPanGestureRecognizer' in scope.
There is no import UIKit in file

Fixed!


"failed to find remote model gpt-4o"

I'm a newbie here, this is my first post. I thank you in advance for any guidance you might be willing to provide.
When I run this command, it works:
echo "List the 5 world capitals that have the largest populations." > capitals.gpt

gptscript capitals.gpt
11:49:38 started  [main]
11:49:38 sent     [main]
11:49:38 ended    [main] [output=1. Tokyo, Japan\n2. Beijing, China\n3. Delhi, India\n4. Jakarta, Indonesia\n5. Manila, Philippines]

OUTPUT:

1. Tokyo, Japan
2. Beijing, China
3. Delhi, India
4. Jakarta, Indonesia
5. Manila, Philippines

However, Tildy gives me a "failed to find remote model gpt-4o" error when I run this command:
sudo npm run dev:electron
And the output from terminal is:
><EMAIL_ADDRESS>dev:electron
> electron .

Starting app server with GPTSCRIPT_BIN="node_modules/@gptscript-ai/gptscript/bin/gptscript"
GPTScript config initialized
Config file updated successfully
> Server is ready at http://localhost:3000
> Dev Electron app started at http://localhost:3000
 ○ Compiling / ...
 ✓ Compiled / in 3.5s (4873 modules)
 GET / 200 in 4465ms
 POST / 200 in 676ms
 POST / 200 in 50ms
 POST / 200 in 1417ms
 POST / 200 in 8ms
 POST / 200 in 7ms
 POST / 200 in 4198ms
 POST / 200 in 597ms
 POST / 200 in 11ms
 POST / 200 in 6ms
 POST / 200 in 8ms
 POST / 200 in 585ms
 POST / 200 in 567ms
 POST / 200 in 12ms
 POST / 200 in 12ms
 POST / 200 in 10ms
 POST / 200 in 5ms

If anyone can provide some guidance, I would be very grateful. Thank you!

Hi @githuney.
The Desktop app is still under rapid development, so there will be issues like this. Here is what you can do to rectify this right now.

If you haven't already, clone https://github.com/gptscript-ai/gptscript.
In the cloned gptscript directory, run make build. This will create a gptscript binary at ./bin/gptscript. You may have to install Go if you haven't do so already.
Back in the desktop directory, export GPTSCRIPT_BIN=/path/to/gptscript/bin/gptscript.
Then run npm run dev:electron

Im going to close this issue. feel free to re-open if this doesnt address it


Empty content Issue posts/topics

List of issues without any content.
(only checked against initial post. Ergo: not looked at anything else. ... Like has, or has no, reply's/tags/etc was skipped.)
Open and Closed ... as I personally would delete them all instead of just closing them ... as I see it as a general spamming problem.
But that's up to the repository holder.
As link-up's can be undone. Enclosed them in a Code block to disable the link-ups.
(copy and preview should work ok too I think)
Add support for JSON	#1986
Add support for Python (Django)	#1978
Add support for Python Console	#1976
Add support for Less	#1971
Add support for Python Console	#1968
Add support for JSON	#1954
Add support for CSS	#1943
Add support for JavaServer Pages	#1940
Add support for CSS	#1931
Add support for GitHub Markdown	#1925
Add support for GitHub Markdown	#1924
Add support for Solidity	#1920
Add support for XML	#1901
Add support for XML	#1884
Add Line Number Based support for JavaScript	#1877
Add support for Elm	#1865
Add support for Elm	#1864
Add support for JavaServer Pages	#1862
Add support for x86 and x86_64 Assembly	#1857
Add Line Number Based support for Python	#1853
Add support for JSON	#1844
Add support for HTML (Jinja Templates)	#1843
Add support for HTML (Ruby - ERB)	#1835
Add support for JavaServer Pages	#1829
Add support for GitHub Markdown	#1826
Add support for JSON	#1816
Add support for SPARQL	#1811
Add support for JSON	#1802
Add support for JSON	#1796
Add support for JSON	#1792
Add support for GitHub Markdown	#1773
Add support for Python Console	#1749
Add support for Solidity	#1747
Add support for GitHub Markdown	#1715
Add support for JSON	#1710
Add support for Python (Django)	#1709
Add support for CSS	#1702
Add support for CSS	#1696
Add support for CSS	#1695
Add support for Python Console	#1681
Add support for CSS	#1678
Add support for Objective-C	#1667
Add support for JavaScript (JSX)	#1658
Add support for Java Properties	#1651
Add support for GitHub Markdown	#1648
Add support for JSON	#1641
Add support for CSS	#1633
Add support for JavaServer Pages	#1618
Add support for Python Console	#1610
Add support for Python (Django)	#1592
Add support for Python Django	#1585
Add Selection Based support for Java	#1578
Add support for JavaScript by SubtleGradient	#1573
Add support for JSON	#1567
Add support for XML	#1558
Add support for Python Console	#1547
Add support for Python Console	#1538
Add support for JSON	#1517
Add support for AutoItv3	#1494
Add support for CoffeeScript (Angular.js)	#1473
Add support for SQL (MySQL)	#1467
Add support for CSS	#1457
Add support for Python Console	#1446
Add support for HTML (Angular)	#1411
Add support for CSS	#1399
Add support for HTML (Ruby - ERB)	#1396
Add support for JavaServer Pages	#1395
Add support for Hack	#1392
Add support for JSON	#1385
Add support for JSON	#1331
Add support for JavaScript with JSX	#1329
Add support for Jade	#1327
Add support for XML	#1320
Add Line Number Based support for Python	#1307
Add support for YAML	#1303
Add support for CSS	#1301
Add support for JavaScript with JSX	#1296
Add support for JavaServer Pages	#1286
Add support for CSS	#1284
Add Selection Based support for HTML	#1278
Add support for C	#1267
Add support for HTML	#1258
Add support for JavaScript with JSX	#1250
Add support for JavaScript (JSX)	#1229
Add support for YAML	#1227
Add support for AutoItv3	#1215
Add support for HTML	#1187
Add support for HTML	#1185
Add support for Io	#1168
Add support for JavaServer Pages	#1165
Add support for JavaServer Pages	#1164
Add support for Freefem	#1154
Add support for HTML	#1153
Add support for SAS	#1152
Add support for HTML	#1148
Add support for HTML	#1146
Add Selection Based support for C++	#1124
Add support for HTML	#1116
Add support for HTML (Angular)	#1114
Add support for HTML	#1098
Add support for HTML	#1097
Add support for HTML	#1096
Add support for HTML	#1091
Add support for HTML (Ruby - ERB)	#1089
Add support for JavaScript with JSX	#1085
Add support for Pascal	#1064
Add Line Number Based support for C	#1047
Add support for GitHub Markdown	#1041
Add support for HTML	#1037
Add support for Python Console	#1033
Add support for XML	#1017
Add support for AWK-Script	#1015
Add support for Mathematica	#1002
Add support for C#	#992
Add support for HTML	#984
Add support for HTML	#970
Add support for HTML	#969
Add support for HTML	#968
Add support for C	#965
Add support for Mathematica	#963
Add support for C#	#958
Add support for HTML	#952
Add support for HTML	#951
Add support for HTML	#942
Add support for Python (Django)	#918
Add support for HTML	#909
Add support for HTML	#903
Add support for Hack (hhvm)	#866
Add support for C	#862
Add support for HTML	#857
Add support for HTML	#854
Add support for Pascal	#825
Add support for C#	#819
Add Line Number Based support for Ruby	#812
Add support for HTML (Angular)	#804
Add support for XML	#798
Add support for Prolog	#775
Add support for HTML	#769
Add support for MATLAB	#732
Add support for Haxe3	#725
Add support for HTML	#723
Add support for Python pdb debugging commands	#715
Add support for HTML	#714
Add support for JavaScript with JSX	#707
Add support for HTML	#702
Add support for HTML	#697
Add support for JavaScript with JSX	#680
Add support for Garry's Mod Lua	#673
Add support for JavaScript ES6	#670
Add support for MagicPython	#661
Add support for C#	#658
Add support for VBScript	#653
Add support for MagicPython	#649
Add support for Robot Framework	#634
Add support for Haxe3	#617
Add support for camlp4	#611
Add support for Gradle Build Script	#604
Add support for HTML	#593
Add support for HTML	#577
Add support for HTML	#566
Add support for MATLAB	#552
Add support for Tcl	#546
Add support for JavaScript ES6	#515
Add support for HTML	#493
Add support for HTML	#492
Add support for script tag in HTML	#474
Add support for Batch File	#470
Add support for C#	#447
Add support for HTML	#444
Add support for HTML	#386
Add support for Java	#342
Add support for Pascal	#340
Add SelectionBased support for C	#325
Add LineNumber Based support for C	#246
Add support for Garry's Mod Lua	#220
Add FileBased support for C	#219
Add support for SCSS	#215
Add support for Swift	#209
Add support for Java	#182
Add support for Swift	#172
Add support for SQL	#165
Add support for LaTeX easy	#154

[TITLES - Unique] (_The # in C# got eaten along the way_)
Add FileBased support for C
Add Line Number Based support for C
Add Line Number Based support for JavaScript
Add Line Number Based support for Python
Add Line Number Based support for Ruby
Add LineNumber Based support for C
Add Selection Based support for C++
Add Selection Based support for HTML
Add Selection Based support for Java
Add SelectionBased support for C
Add support for AWK-Script
Add support for AutoItv3
Add support for Batch File
Add support for C
Add support for CSS
Add support for CoffeeScript (Angular.js)
Add support for Elm
Add support for Freefem
Add support for Garry's Mod Lua
Add support for GitHub Markdown
Add support for Gradle Build Script
Add support for HTML
Add support for HTML (Angular)
Add support for HTML (Jinja Templates)
Add support for HTML (Ruby - ERB)
Add support for Hack
Add support for Hack (hhvm)
Add support for Haxe3
Add support for Io
Add support for JSON
Add support for Jade
Add support for Java
Add support for Java Properties
Add support for JavaScript (JSX)
Add support for JavaScript ES6
Add support for JavaScript by SubtleGradient
Add support for JavaScript with JSX
Add support for JavaServer Pages
Add support for LaTeX
Add support for Less
Add support for MATLAB
Add support for MagicPython
Add support for Mathematica
Add support for Objective-C
Add support for Pascal
Add support for Prolog
Add support for Python (Django)
Add support for Python Console
Add support for Python Django
Add support for Python pdb debugging commands
Add support for Robot Framework
Add support for SAS
Add support for SCSS
Add support for SPARQL
Add support for SQL
Add support for SQL (MySQL)
Add support for Solidity
Add support for Swift
Add support for Tcl
Add support for VBScript
Add support for XML
Add support for YAML
Add support for camlp4
Add support for script tag in HTML
Add support for x86 and x86_64 Assembly

Closing (+unsubscribing).
No useful reactions/feedback. (Projects owner, or Github)
Not wasting time or energy on dead ends.
Spammer wins. (lol, not being surprised in the least here)


Initial support for events

Add initial support for recording events on the SmbShare resource as the operator reconciles things and creates resources to support the share.

I have removed the "patch" verb, made it use core rather than "", and added a test case where there was none before. PTAL.


shows login page if you hit login url, even though already loggedin in other tab

https://example-two-factor-auth.herokuapp.com/account/login/
After successfully logged into the site after entering the token saved in google authenticator app. It will redirect to logged in page( dashboard).
But when you open new tab and try to account login url, it should not ask for login again again as i am already logged in the other tab?

Invalid..

override the dispatcher like below
#redirect to the next page
def redirectToNext(self, **kwargs):
    redirect_to = self.request.POST.get(
        self.redirect_field_name,
        self.request.GET.get(self.redirect_field_name, '')
    )
    if not is_safe_url(url=redirect_to, allowed_hosts=[self.request.get_host()]):
        redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
    return redirect(redirect_to)

def dispatch(self, request, *args, **kwargs):

    #if the user has already verified then proceed to next page
    if self.redirect_authenticated_user and request.user.is_verified():
        return self.redirectToNext(**kwargs)

In my case this gives me:
The view myapp.views.view didn't return an HttpResponse object. It returned None instead.
whereas the default dispatcher do ave HttpResponseRedirect
def dispatch(self, request, *args, **kwargs):
        if self.redirect_authenticated_user and self.request.user.is_authenticated:
            redirect_to = self.get_success_url()
            if redirect_to == self.request.path:
                raise ValueError(
                    "Redirection loop for authenticated user detected. Check that "
                    "your LOGIN_REDIRECT_URL doesn't point to a login page."
                )
            return HttpResponseRedirect(redirect_to)
        return super().dispatch(request, *args, **kwargs)


[bazel] Construct an exec_env for the CW340

Constuct an exec_env for the CW340 board.

Consider renaming fpga_cw310.bzl as fpga_cw.bzl.  It is likely that all chipwhisperer implementations will share a lot of common code and all be present in a single source file.

#22078 adds execution environments for cw340_rom_with_fake_keys and cw340_test_rom. Both use the HyperDebug configuration of the CW340 board since this may be the only one we have in CI.


Build(deps-dev): Bump @types/node from 18.7.16 to 18.7.17 (#4021)

Pull request opened by the merge tool on behalf of #4021

Merged in 8f1e3a49575292a70ca82675e1d57f991f3c5bad


Allow user to pass a buoyancy field to RichardsonNumber

Right now RichardsonNumber cannot be used for models with SeawaterBuoyancy as it assumes model.tracers.b exists.
This PR allows users to pass in a b so that BuoyancyField(model) can be passed in. In particular I'm trying to revive https://github.com/CliMA/LESbrary.jl/blob/master/examples/three_layer_constant_fluxes.jl
Hoping to tag v0.6.2 once this is merged if that's okay.

Hoping to tag v0.6.2 once this is merged if that's okay.

Tag away!

One comment is that I think in the future we want to make the calculation of N2 more general, as per https://github.com/tomchor/Oceanostics.jl/issues/37
Then we could use Oceananigans buoyancy function to get N2 from both BuoyancyTracer and SeawaterBuoyancy models directly, with no need to pass a buoyancy field specificaly.

Ah true, forgot to check issues to still if this was one!

Ah true, forgot to check issues to still if this was one!

All good. That can be done in a later PR. This is already an improvement, so I'm def okay with merging this and deealing with the rest later :)


Model simplify

This PR does two things to simplify model writing  :

There is no need to explicit basic values in functions inside models
There is no need to use 'itself' instead of the name of the variable

Old formalism is still working, I updated all models in the _models files.

Hello @DaluS! Thanks for opening this PR.

In the file pygemmes/_models/_def_functions.py:

Line 15:101: E501 line too long (108 > 100 characters)
Line 35:101: E501 line too long (103 > 100 characters)
Line 41:44: W605 invalid escape sequence '\l'
Line 51:101: E501 line too long (103 > 100 characters)
Line 82:101: E501 line too long (157 > 100 characters)
Line 90:9: E266 too many leading '#' for block comment
Line 103:9: E266 too many leading '#' for block comment
Line 113:9: E266 too many leading '#' for block comment
Line 128:31: E241 multiple spaces after ','
Line 139:101: E501 line too long (109 > 100 characters)
Line 143:101: E501 line too long (120 > 100 characters)
Line 185:101: E501 line too long (118 > 100 characters)
Line 195:101: E501 line too long (114 > 100 characters)
Line 196:101: E501 line too long (102 > 100 characters)
Line 200:101: E501 line too long (104 > 100 characters)
Line 205:101: E501 line too long (102 > 100 characters)
Line 209:101: E501 line too long (107 > 100 characters)
Line 240:101: E501 line too long (148 > 100 characters)
Line 249:101: E501 line too long (128 > 100 characters)
Line 372:101: E501 line too long (134 > 100 characters)
Line 376:101: E501 line too long (147 > 100 characters)
Line 380:101: E501 line too long (102 > 100 characters)
Line 384:101: E501 line too long (130 > 100 characters)

In the file pygemmes/_models/_model_Climate_3Layers.py:

Line 5:101: E501 line too long (115 > 100 characters)
Line 45:101: E501 line too long (103 > 100 characters)

In the file pygemmes/_models/_model_Coping2018.py:

Line 3:101: E501 line too long (140 > 100 characters)
Line 109:101: E501 line too long (103 > 100 characters)
Line 134:101: E501 line too long (112 > 100 characters)
Line 145:101: E501 line too long (125 > 100 characters)
Line 154:101: E501 line too long (162 > 100 characters)
Line 361:101: E501 line too long (120 > 100 characters)

In the file pygemmes/_models/_model_G.py:

Line 7:101: E501 line too long (115 > 100 characters)

In the file pygemmes/_models/_model_GK.py:

Line 3:101: E501 line too long (107 > 100 characters)

In the file pygemmes/_models/_model_G_MinePaul.py:

Line 3:101: E501 line too long (108 > 100 characters)
Line 4:101: E501 line too long (133 > 100 characters)
Line 46:51: E241 multiple spaces after ':'

In the file pygemmes/_models/_model_MinePaul.py:

Line 61:21: E241 multiple spaces after ':'

In the file pygemmes/_models/_model_Reduced_GK.py:

Line 37:101: E501 line too long (122 > 100 characters)

In the file pygemmes/_utilities/_class_checks.py:

Line 1170:4: E114 indentation is not a multiple of four (comment)

Do see the Hitchhiker's guide to code style


{Network} az network lb: Remove useless preview information

Related command

resolve: https://github.com/Azure/azure-cli/issues/29254
resolve: https://github.com/Azure/azure-cli/issues/29103
Description

Testing Guide

History Notes

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

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

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

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Network


Match Submissions

Included:

Match submissions work, however there is an issue with the foreign data wrapper that prevents ids from being included by default
Upgrade TypeORM to a more maintained version

Task linked: CU-2gwe7rv Support Submission for League Play (backend)


Add GetWalletAccountsLocal

@keybase/react-hackers please review the protocol for GetWalletAccountsLocal.

@mlsteele can you review the implementation?


Handle lists of media in the Plex plugin, allow inserting by position

This adds two new features to the Plex plugin:

Allows inserting media into the queue at a specific index position.
Accepts lists of Plex media items to both play_now() and add_to_queue().

I'm reviewing the implementation here and think it makes sense to normalize it to match how ShareLinkPlugin works with the queue. Specifically, the as_next being passed through as-is and only having an effect when in shuffle mode. This will make things a bit simpler as there will be (slightly) less magic happening behind the scenes.

LGTM -- thanks.


sanitize cassette and improve test coverage

add specs for VIOSes, disks, I/O adapters, shared processor pool and advanced attributes.

@miq-bot remove_label unmergeable


[FEATURE] Add z-score for the normalization processor #376

Description
This change implements https://github.com/opensearch-project/neural-search/issues/376

Add z-score for hybrid query normalization processor
Add IT that test normalization end to end

Issues Resolved
Resolving https://github.com/opensearch-project/neural-search/issues/376
Check List

[x ] New functionality includes testing.

[ x] All tests pass

[x ] New functionality has been documented.

[ x] New functionality has javadoc added

[ x] Commits are signed as per the DCO using --signoff

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.

re opening the PR previously at https://github.com/opensearch-project/neural-search/pull/468, but this time against the feature branch instead of main.

Hi @navneet1v @martin-gaievski @heemin32 this is the new PR that opened this time against the feature branch, feel free to continue providing your feedback here as I closed the original PR.
This PR should hopefully address all your comments from the previous PR.

Couple of generic things:

did you test accuracy and performance of your solution? For our implementation we used beir challenge framework with some custom scripts, ideally results should look something like in a blog post where the feature has been announced.
please fix all CI checks, you can simulate them by running gradle check locally.

@martin-gaievski my results look as follows, overall z-score is showing best even among hybrid query results.
It seems to support the results from the blog https://towardsdatascience.com/hybrid-search-2-0-the-pursuit-of-better-search-ce44d6f20c08
I can do more experiments, but do you think that would be sufficient for now for us to include it?
For BM25 as baseline
2023-11-14 15:52:31 - NDCG@5: 0.6347
2023-11-14 15:52:31 - NDCG@10: 0.6563
2023-11-14 15:52:31 - NDCG@100: 0.6810
2023-11-14 15:52:31 -

2023-11-14 15:52:31 - MAP@5: 0.6018
2023-11-14 15:52:31 - MAP@10: 0.6119
2023-11-14 15:52:31 - MAP@100: 0.6179
2023-11-14 15:52:31 -

2023-11-14 15:52:31 - Recall@5: 0.7154
2023-11-14 15:52:31 - Recall@10: 0.7790
2023-11-14 15:52:31 - Recall@100: 0.8842
2023-11-14 15:52:31 -

2023-11-14 15:52:31 - P@5: 0.1560
2023-11-14 15:52:31 - P@10: 0.0853
2023-11-14 15:52:31 - P@100: 0.0100

For Neural search
2023-11-14 15:54:19 - NDCG@5: 0.5747
2023-11-14 15:54:19 - NDCG@10: 0.6073
2023-11-14 15:54:19 - NDCG@100: 0.6381
2023-11-14 15:54:19 -

2023-11-14 15:54:19 - MAP@5: 0.5368
2023-11-14 15:54:19 - MAP@10: 0.5512
2023-11-14 15:54:19 - MAP@100: 0.5585
2023-11-14 15:54:19 -

2023-11-14 15:54:19 - Recall@5: 0.6711
2023-11-14 15:54:19 - Recall@10: 0.7693
2023-11-14 15:54:19 - Recall@100: 0.9067
2023-11-14 15:54:19 -

2023-11-14 15:54:19 - P@5: 0.1480
2023-11-14 15:54:19 - P@10: 0.0867
2023-11-14 15:54:19 - P@100: 0.0103
p50: 33.5
p90: 43.0
p99: 49.52999999999997

For min-max hybrid (weights 0.4, 0.3, 0.3):
2023-11-14 15:57:04 - NDCG@5: 0.6449
2023-11-14 15:57:04 - NDCG@10: 0.6757
2023-11-14 15:57:04 - NDCG@100: 0.7042
2023-11-14 15:57:04 -

2023-11-14 15:57:04 - MAP@5: 0.6113
2023-11-14 15:57:04 - MAP@10: 0.6249
2023-11-14 15:57:04 - MAP@100: 0.6311
2023-11-14 15:57:04 -

2023-11-14 15:57:04 - Recall@5: 0.7257
2023-11-14 15:57:04 - Recall@10: 0.8194
2023-11-14 15:57:04 - Recall@100: 0.9477
2023-11-14 15:57:04 -

2023-11-14 15:57:04 - P@5: 0.1600
2023-11-14 15:57:04 - P@10: 0.0917
2023-11-14 15:57:04 - P@100: 0.0107
p50: 51.0
p90: 69.10000000000002
p99:<PHONE_NUMBER>999999

For Zscore Hybrid (weights 0.4, 0.3, 0.3):
2023-11-14 15:59:06 - NDCG@5: 0.6518
2023-11-14 15:59:06 - NDCG@10: 0.6710
2023-11-14 15:59:06 - NDCG@100: 0.7052
2023-11-14 15:59:06 -

2023-11-14 15:59:06 - MAP@5: 0.6105
2023-11-14 15:59:06 - MAP@10: 0.6204
2023-11-14 15:59:06 - MAP@100: 0.6291
2023-11-14 15:59:06 -

2023-11-14 15:59:06 - Recall@5: 0.7561
2023-11-14 15:59:06 - Recall@10: 0.8100
2023-11-14 15:59:06 - Recall@100: 0.9543
2023-11-14 15:59:06 -

2023-11-14 15:59:06 - P@5: 0.1653
2023-11-14 15:59:06 - P@10: 0.0903
2023-11-14 15:59:06 - P@100: 0.0108
p50: 47.5
p90: 60.60000000000002
p99: 69.00999999999999

Couple of generic things:

did you test accuracy and performance of your solution? For our implementation we used beir challenge framework with some custom scripts, ideally results should look something like in a blog post where the feature has been announced.
please fix all CI checks, you can simulate them by running gradle check locally.

@martin-gaievski my results look as follows, overall z-score is showing best even among hybrid query results. It seems to support the results from the blog https://towardsdatascience.com/hybrid-search-2-0-the-pursuit-of-better-search-ce44d6f20c08 I can do more experiments, but do you think that would be sufficient for now for us to include it?
For BM25 as baseline
2023-11-14 15:52:31 - NDCG@5: 0.6347
2023-11-14 15:52:31 - NDCG@10: 0.6563
2023-11-14 15:52:31 - NDCG@100: 0.6810
2023-11-14 15:52:31 -

2023-11-14 15:52:31 - MAP@5: 0.6018
2023-11-14 15:52:31 - MAP@10: 0.6119
2023-11-14 15:52:31 - MAP@100: 0.6179
2023-11-14 15:52:31 -

2023-11-14 15:52:31 - Recall@5: 0.7154
2023-11-14 15:52:31 - Recall@10: 0.7790
2023-11-14 15:52:31 - Recall@100: 0.8842
2023-11-14 15:52:31 -

2023-11-14 15:52:31 - P@5: 0.1560
2023-11-14 15:52:31 - P@10: 0.0853
2023-11-14 15:52:31 - P@100: 0.0100

For Neural search
2023-11-14 15:54:19 - NDCG@5: 0.5747
2023-11-14 15:54:19 - NDCG@10: 0.6073
2023-11-14 15:54:19 - NDCG@100: 0.6381
2023-11-14 15:54:19 -

2023-11-14 15:54:19 - MAP@5: 0.5368
2023-11-14 15:54:19 - MAP@10: 0.5512
2023-11-14 15:54:19 - MAP@100: 0.5585
2023-11-14 15:54:19 -

2023-11-14 15:54:19 - Recall@5: 0.6711
2023-11-14 15:54:19 - Recall@10: 0.7693
2023-11-14 15:54:19 - Recall@100: 0.9067
2023-11-14 15:54:19 -

2023-11-14 15:54:19 - P@5: 0.1480
2023-11-14 15:54:19 - P@10: 0.0867
2023-11-14 15:54:19 - P@100: 0.0103
p50: 33.5
p90: 43.0
p99: 49.52999999999997

For min-max hybrid (weights 0.4, 0.3, 0.3):
2023-11-14 15:57:04 - NDCG@5: 0.6449
2023-11-14 15:57:04 - NDCG@10: 0.6757
2023-11-14 15:57:04 - NDCG@100: 0.7042
2023-11-14 15:57:04 -

2023-11-14 15:57:04 - MAP@5: 0.6113
2023-11-14 15:57:04 - MAP@10: 0.6249
2023-11-14 15:57:04 - MAP@100: 0.6311
2023-11-14 15:57:04 -

2023-11-14 15:57:04 - Recall@5: 0.7257
2023-11-14 15:57:04 - Recall@10: 0.8194
2023-11-14 15:57:04 - Recall@100: 0.9477
2023-11-14 15:57:04 -

2023-11-14 15:57:04 - P@5: 0.1600
2023-11-14 15:57:04 - P@10: 0.0917
2023-11-14 15:57:04 - P@100: 0.0107
p50: 51.0
p90: 69.10000000000002
p99:<PHONE_NUMBER>999999

For Zscore Hybrid (weights 0.4, 0.3, 0.3):
2023-11-14 15:59:06 - NDCG@5: 0.6518
2023-11-14 15:59:06 - NDCG@10: 0.6710
2023-11-14 15:59:06 - NDCG@100: 0.7052
2023-11-14 15:59:06 -

2023-11-14 15:59:06 - MAP@5: 0.6105
2023-11-14 15:59:06 - MAP@10: 0.6204
2023-11-14 15:59:06 - MAP@100: 0.6291
2023-11-14 15:59:06 -

2023-11-14 15:59:06 - Recall@5: 0.7561
2023-11-14 15:59:06 - Recall@10: 0.8100
2023-11-14 15:59:06 - Recall@100: 0.9543
2023-11-14 15:59:06 -

2023-11-14 15:59:06 - P@5: 0.1653
2023-11-14 15:59:06 - P@10: 0.0903
2023-11-14 15:59:06 - P@100: 0.0108
p50: 47.5
p90: 60.60000000000002
p99: 69.00999999999999

Note: Edited to reformat the results into a table
Method	NDCG@5	NDCG@10	NDCG@100	MAP@5	MAP@10	MAP@100	Recall@5	Recall@10	Recall@100	P@5	P@10	P@100
BM25	0.6347	0.6563	0.7042	0.6018	0.6119	0.6179	0.7154	0.7790	0.8842	0.1560	0.0853	0.0100
Neural	0.5747	0.6073	0.6381	0.5368	0.5512	0.5585	0.6711	0.7693	0.9067	0.1480	0.0867	0.0103
Hybrid (min-max norm)	0.6449	0.6757	0.7042	0.6113	0.6249	0.6311	0.7257	0.8194	0.9477	0.1600	0.0917	0.0107
Hybrid (z-score norm)	0.6518	0.6710	0.7052	0.6105	0.6204	0.6291	0.7561	0.8100	0.9543	0.1653	0.0903	0.0108

@samuel-oci That looks reasonable. Can you please add more info:

exact queries you've used for BM25 and hybrid
dataset(s)
model, was is generic or fine-tuned
maybe scripts that you've used to run the benchmark

Note: Edited to reformat the results into a table
Method	NDCG@5	NDCG@10	NDCG@100	MAP@5	MAP@10	MAP@100	Recall@5	Recall@10	Recall@100	P@5	P@10	P@100
BM25	0.6347	0.6563	0.7042	0.6018	0.6119	0.6179	0.7154	0.7790	0.8842	0.1560	0.0853	0.0100
Neural	0.5747	0.6073	0.6381	0.5368	0.5512	0.5585	0.6711	0.7693	0.9067	0.1480	0.0867	0.0103
Hybrid (min-max norm)	0.6449	0.6757	0.7042	0.6113	0.6249	0.6311	0.7257	0.8194	0.9477	0.1600	0.0917	0.0107
Hybrid (z-score norm)	0.6518	0.6710	0.7052	0.6105	0.6204	0.6291	0.7561	0.8100	0.9543	0.1653	0.0903	0.0108

@samuel-oci That looks reasonable. Can you please add more info:

exact queries you've used for BM25 and hybrid
dataset(s)
model, was is generic or fine-tuned
maybe scripts that you've used to run the benchmark

repasting results:

Method
NDCG@5
NDCG@10
NDCG@100
MAP@5
MAP@10
MAP@100
Recall@5
Recall@10
Recall@100
P@5
P@10
P@100

BM25
0.6347
0.6563
0.7042
0.6018
0.6119
0.6179
0.7154
0.7790
0.8842
0.1560
0.0853
0.0100

Neural
0.5747
0.6073
0.6381
0.5368
0.5512
0.5585
0.6711
0.7693
0.9067
0.1480
0.0867
0.0103

Hybrid (min-max norm)
0.6449
0.6757
0.7042
0.6113
0.6249
0.6311
0.7257
0.8194
0.9477
0.1600
0.0917
0.0107

Hybrid (z-score norm)
0.6518
0.6710
0.7052
0.6105
0.6204
0.6291
0.7561
0.8100
0.9543
0.1653
0.0903
0.0108

Dataset: Scifact
Queries: same as here I made minor modifications just to get the project to run properly but didn't change the queries (will share that as well after some cleanup)
Model: generic pre-trained all-MiniLM-L12-v2
scripts:
PORT=50365
HOST=localhost
URL="$HOST:$PORT"

curl -XPUT -H "Content-Type: application/json" $URL/_ingest/pipeline/nlp-pipeline -d '
{
  "description": "An example neural search pipeline",
  "processors" : [
    {
      "text_embedding": {
        "model_id": "AXA30IsByAqY8FkWHdIF",
        "field_map": {
           "passage_text": "passage_embedding"
        }
      }
    }
  ]
}'

curl -XDELETE $URL/scifact

curl -XPUT -H "Content-Type: application/json" $URL/scifact -d '
{
    "settings": {
        "index.knn": true,
        "default_pipeline": "nlp-pipeline"
    },
    "mappings": {
        "properties": {
            "passage_embedding": {
                "type": "knn_vector",
                "dimension": 384,
                "method": {
                    "name":"hnsw",
                    "engine":"lucene",
                    "space_type": "l2",
                    "parameters":{
                        "m":16,
                        "ef_construction": 512
                    }
                }
            },
            "passage_text": {
                "type": "text"
            },
            "passage_key": {
                "type": "text"
            },
            "passage_title": {
                "type": "text"
            }
        }
    }
}'

curl -XPUT -H "Content-Type: application/json" $URL/_search/pipeline/norm-minmax-pipeline-hybrid -d '
{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "normalization-processor": {
        "normalization": {
          "technique": "min_max"
        },
        "combination": {
          "technique": "arithmetic_mean",
          "parameters": {
            "weights": [
              0.4,
              0.3,
              0.3
            ]
          }
        }
      }
    }
  ]
}'

curl -XPUT -H "Content-Type: application/json" $URL/_search/pipeline/norm-zscore-pipeline-hybrid -d '
{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "normalization-processor": {
        "normalization": {
          "technique": "z_score"
        },
        "combination": {
          "technique": "arithmetic_mean",
          "parameters": {
            "weights": [
              0.4,
              0.3,
              0.3
            ]
          }
        }
      }
    }
  ]
}'

To use later with
PORT=50365
MODEL_ID="AXA30IsByAqY8FkWHdIF"
pipenv run python test_opensearch.py --dataset=scifact --dataset_url="https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/{}.zip" --os_host=localhost --os_port=$PORT --os_index="scifact" --operation=ingest
pipenv run python test_opensearch.py --dataset=scifact --dataset_url="https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/{}.zip" --os_host=localhost --os_port=$PORT --os_index="scifact" --operation=evaluate --method=bm25
pipenv run python test_opensearch.py --dataset=scifact --dataset_url="https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/{}.zip" --os_host=localhost --os_port=$PORT --os_index="scifact" --operation=evaluate --method=neural --pipelines=norm-minmax-pipeline --os_model_id=$MODEL_ID
pipenv run python test_opensearch.py --dataset=scifact --dataset_url="https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/{}.zip" --os_host=localhost --os_port=$PORT --os_index="scifact" --operation=evaluate --method=hybrid --pipelines=norm-minmax-pipeline-hybrid --os_model_id=$MODEL_ID
pipenv run python test_opensearch.py --dataset=scifact --dataset_url="https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/{}.zip" --os_host=localhost --os_port=$PORT --os_index="scifact" --operation=evaluate --method=hybrid --pipelines=norm-zscore-pipeline-hybrid --os_model_id=$MODEL_ID

I noticed a few of the IT tests (which were not changed in this PR) are broken after merge with the upstream feature branch

@samuel-oci thank you for sharing details of the benchmark. It's not exactly what we have used to run benchmarks from our side. Is it possible for you to adjust some things and run one more round? This way we can compare apples to apples your numbers with those we've got before. Here is the list of what needs to be adjusted:

datasets should be one from https://opensearch.org/blog/hybrid-search/, for instance, scidocs or trec-covid.
model sentence tas-b
use following for index settings, there are few things that are different from the setting you've used:

{
    "settings": {
        "index.knn": true,
        "default_pipeline": "nlp-pipeline",
        "number_of_shards": 4
    },
    "mappings": {
        "properties": {
            "passage_embedding": {
                "type": "knn_vector",
                "dimension": 768,
                "method": {
                    "name": "hnsw",
                    "engine": "nmslib",
                    "space_type": "innerproduct",
                    "parameters": {}
                }
            },
            "passage_text": {
                "type": "text"
            },
            "title_key": {
                "type": "text", "analyzer" : "english"
            },
            "text_key": {
                "type": "text", "analyzer" : "english"
            }
        }
    }
}

search pipeline with default weights, like below:

{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "normalization-processor": {
        "normalization": {
          "technique": "min_max"
        },
        "combination": {
          "technique": "arithmetic_mean"
        }
      }
    }
  ]
}'

@samuel-oci thank you for sharing details of the benchmark. It's not exactly what we have used to run benchmarks from our side. Is it possible for you to adjust some things and run one more round? This way we can compare apples to apples your numbers with those we've got before. Here is the list of what needs to be adjusted:

datasets should be one from https://opensearch.org/blog/hybrid-search/, for instance, scidocs or trec-covid.
model sentence tas-b
use following for index settings, there are few things that are different from the setting you've used:

{
    "settings": {
        "index.knn": true,
        "default_pipeline": "nlp-pipeline",
        "number_of_shards": 4
    },
    "mappings": {
        "properties": {
            "passage_embedding": {
                "type": "knn_vector",
                "dimension": 768,
                "method": {
                    "name": "hnsw",
                    "engine": "nmslib",
                    "space_type": "innerproduct",
                    "parameters": {}
                }
            },
            "passage_text": {
                "type": "text"
            },
            "title_key": {
                "type": "text", "analyzer" : "english"
            },
            "text_key": {
                "type": "text", "analyzer" : "english"
            }
        }
    }
}

search pipeline with default weights, like below:

{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "normalization-processor": {
        "normalization": {
          "technique": "min_max"
        },
        "combination": {
          "technique": "arithmetic_mean"
        }
      }
    }
  ]
}'

Sure thing @martin-gaievski , I reproduced the results with the settings you suggested above and used trec-covid for dataset. Moreover, I included L2 normalization this time as well for additional reference with min-max and z-score. Got the following results:

Method
NDCG@5
NDCG@10
NDCG@100
MAP@5
MAP@10
MAP@100
Recall@5
Recall@10
Recall@100
P@5
P@10
P@100

BM25
0.7336
0.6850
0.4734
0.0093
0.0163
0.0798
0.0100
0.0185
0.1120
0.7800
0.7260
0.4916

Neural
0.5179
0.4799
0.3509
0.0060
0.0104
0.0477
0.0072
0.0131
0.0781
0.5760
0.5200
0.3604

Hybrid min-max
0.7497
0.7263
0.4968
0.0099
0.0176
0.0851
0.0104
0.0197
0.1136
0.8000
0.7720
0.5046

Hybrid l2
0.7398
0.7150
0.4919
0.0096
0.0171
0.0830
0.0101
0.0193
0.1134
0.7840
0.7640
0.4992

hybrid z-score
0.6867
0.6467
0.4382
0.0086
0.0150
0.0710
0.0095
0.0173
0.1027
0.7360
0.6800
0.4456

https://opensearch.org/blog/hybrid-search/

@martin-gaievski , while the PR is mostly trivial I think the main issue that I see here is actually the time and effort it takes to setup and reproduce results for overall quite small datasets and workloads that shouldn't require an external environment.
I have some ideas on how to address those efficiently.
Will continue this discussion on the benchmark framework for neural search in this thread:
https://github.com/opensearch-project/neural-search/issues/430
Regarding the benchmark itself, we would also require to change combiner logic to something more z-score friendly. current combination techniques have some limitations because they only support greater than 0 score.
Perhaps lets nail the benchmark methodology and then we can get back to this change?

https://opensearch.org/blog/hybrid-search/

@martin-gaievski , while the PR is mostly trivial I think the main issue that I see here is actually the time and effort it takes to setup and reproduce results for overall quite small datasets and workloads that shouldn't require an external environment. I have some ideas on how to address those efficiently. Will continue this discussion on the benchmark framework for neural search in this thread: #430
Regarding the benchmark itself, we would also require to change combiner logic to something more z-score friendly. current combination techniques have some limitations because they only support greater than 0 score.
here is an example for the same benchmark on scifact dataset, this time I also added the combiner that can take into account negative values for z-score in arithmetic mean (proper z-score combiner should not be arithmetic mean whether with negatives or not but we can use it as an approximation for now). This one is showing advantage to the z-score normalization approach. I can get the rest of the datasets as well, but for now can we have this dataset benchmark (it's part of the BEIR datasets) as a sufficient justification?

@samuel-oci I agree that testing for such change is the main effort timewise, but that is absolute necessity. Main point for it is - we need to have a strong point of why we're adding it. My view is that what we do have now is a baseline, and anything we're adding after that should be compared and added if it works better for some/all cases. As soon as it became part of the codebase it can be used by any customer and it's a maintainer's repressibility to respond on requests such: "is/when this technique is better than technique X?"
Main datapoint we're looking for looking now is: how z-score results are better/worse than min/max and l2 on different datasets. For scifact it was shown before that z-score gives better NDCG, there isn't a new thing. I would love to see results for trec-covid, in the benchmark you've shared before the z-score performed worse than both min-max and l2. Would that adjusted combiner be a tipping point that is a question.
Did you check how combiner for negative scores affect the score from min-max and l2? If those scores remain same we can make such combiner a default one, or you can make it flexible if z-score only shows good results with such combiner.

@samuel-oci I agree that testing for such change is the main effort timewise, but that is absolute necessity. Main point for it is - we need to have a strong point of why we're adding it. My view is that what we do have now is a baseline, and anything we're adding after that should be compared and added if it works better for some/all cases. As soon as it became part of the codebase it can be used by any customer and it's a maintainer's repressibility to respond on requests such: "is/when this technique is better than technique X?"

Hi @martin-gaievski that makes sense to me, if I understand your point here there are two things you are looking for:

which use cases are going to be supported better by z-score normalization
leave sufficient documentation to make it easy for end user to understand

Main datapoint we're looking for looking now is: how z-score results are better/worse than min/max and l2 on different datasets. For scifact it was shown before that z-score gives better NDCG, there isn't a new thing. I would love to see results for trec-covid, in the benchmark you've shared before the z-score performed worse than both min-max and l2. Would that adjusted combiner be a tipping point that is a question.

For how many data sets should we benchmark this? Or is it more fluid limit of as long as it takes to find the answer to the previous two questions?

Did you check how combiner for negative scores affect the score from min-max and l2? If those scores remain same we can make such combiner a default one, or you can make it flexible if z-score only shows good results with such combiner.

I didn't check new combiner code yet on l2, min-max I was hoping to contribute in parts and leave combiner for later.
Currently I don't expect the geometric mean with negative values combiner to have an effect on existing techniques (min-max and l2) but it broke some tests which is why I decided to not do it for now.
If we do want to test with appropriate z-score combiner I will have to create a specific combiner for z-score that can combine two z-scores to a new z-score in the following way:
https://stats.stackexchange.com/questions/348192/combining-z-scores-by-weighted-average-sanity-check-please
I can try it out and add that in the benchmark as well.

@samuel-oci are you planning to continue work on this feature? Checking as there were no activity for last couple of weeks.

@martin-gaievski yes, just added the commits that include the scripts used for testing as well, hopefully those will benefit others too when using BEIR for neural-search testing.
It's been a bit of a challenge to get my hands on hardware that will allow me to run the tests on the larger datasets in BEIR, but I think I should be able to get those numbers soon.

@samuel-oci is this still being worked on?

Hi @samuel-oci is this still being worked on?

No not working at this anymore, feel free to close this.

Next action items: Deep dive needed on search relevance and perform benchmarking results on some more datasets.


Doesn't seem to support UNIX style newlines

Passwords generated using gopass on Linux don't work properly when synced over. pass-winmenu will just put an empty string into the clipboard.
If I edit the password file using pass-winmenu the password correctly shows up, and saving it will allow pass-winmenu to read it properly.
This gets really annoying since I have to generate the password on one computer, push, then pull on my Windows computer and push again to make it readable to all of my pass clients.

All of my passwords were generated in Debian or Ubuntu on Windows using the original pass command. Vim tells me that the newlines in the file are UNIX and I've not encountered this in pass-winmenu.
I saved the output of gpg -d one_of_my_passwords.gpg to a file and opened it in vim with these settings https://stackoverflow.com/a/44543376. I only saw ¶. Could you verify what line endings are in the files this way?

I think it's a slightly different bug. Both CRLF and LF line endings are supported, but it looks like the password isn't extracted properly if the password file does not have any line endings at all.


Improve the highlight to edit frontend UX

The highlight to edit feature can be a little janky. I would like to have the following improvements made to it:

[ ] Ensure the Ask Open Canvas input never shows up if text is highlighted outside of the code/markdown renderer.
[ ] Allow users to trigger it when they select using the keyboard (cmd + shift + arrow, etc.). Right now it is only triggered by selecting with a mouse.
[ ] Disable code string match highlighting. The code editor has a feature where you can select strings and it will highlight all occurrences in the file (like an IDE does). Let's disable this.
[ ] Improve the Ask Open Canvas UI in both the code and markdown renderers. (if possible, use the actions menu which pops up when you select text in the markdown editor. This is currently disabled because the formattingToolbar={false} prop is passed. Ideally we can overwrite the contents to contain an Ask Open Canvas input, and a B + I (bold/italic) button).
[ ] Improve the UX to include a smooth transition when you click Ask Open Canvas and it transitions into an input component.

These should all be done as separate PRs. If you want to take one on, please leave a reply and I will create a new issue for that task and assign it to you.

Hey @bracesproul! 👋
I've submitted PR #187 tackling the first UX improvement from your list - ensuring AskOpenCanvas respects renderer boundaries. The implementation is thorough with strict validation and clean state management.
Moving forward with the remaining tasks.
I'll keep the same pattern of isolated PRs for each task to maintain clean review cycles. Looking forward to your feedback on the current PR!


Change class name and make type alias to preserve name space

This change is made in attempt to preserve the name space of the "abaqusConstants" when the type is show.
Example:
Before the change, users may think that the name space of the constants is SymbolicConstants, (because of the Enum class name) which is wrong.

After the change, the name space of constants appears as abaqusConstants, as the original intention.

What if we want to use the SymbolicConstant class in our scripts?

What if we want to use the SymbolicConstant class in our scripts?

Sorry, I just found you have added the line SymbolicConstant=...

Forgot to add the backport-to-all label again, maybe we should use an automated workflow to add the label automatically.

@Mergifyio backport V2016 V2017 V2018 V2019 V2020 V2021 V2022


Destructured argument default value is not type safe

TypeScript Version:  2.4.1
Code
function test(n: number,
	{
		method = 'z'
	}: {
		method?: 'x' | 'y',
	} = {
		method: 'y'
	})
{
	console.log('test', n, method);
}

test(1);
test(2, {});

Expected behavior:
Compile error: z is not a possible value for method's type.
Actual behavior:
Prints:
test 1 y
test 2 z

This might not be a bug since method is correctly typed inside the body of test. A simple example:
function test({ x = 1 }: { x?: string }) {
    x.toUpperCase(); // Error
}
test({ x: 1 }); // Error

This declares that callers of test must provide a string value for x (or no value), and internal to test, x will be 1 if no value was supplied.

It's not allowed for standard parameters:
function test2(x: string = 1) {  // Error
    x.toUpperCase();
}
test2();

I don't see why it should for the case I pointed.

This is also not allowed:
function test(n: number,
	{
		method = 'z'
	}: {
		method?: 'x' | 'y',
	} = {
		method: 'z'  // <--- error here
	})
{
	console.log('test', n, method);
}

This was intentionally broken in #10577, although the intent there was to correctly handle unannotated declarations like let { x = true } = { x: cond ? false : undefined }. The conflict between the default-initialiser and parent-initialiser is resolved by just returning a union type.
However, in the case that there's a parent type annotation, the annotation should outrank the type of both initialisers. I think that should fairly simple to implement.


Support  screen options

Curved-bottom-bar should support screen options so i can pass options to CurvedBottomBar screen
like this example
     <CurvedBottomBar.Screen         name={SCREEN_KEYS.PROFILE}         position="RIGHT"         component={ProfileScreen}         options={{headerShown: false}}       />

+1
I want do disable header, but not found the way to do it.

I found the way to do that.
on CurvedBottomBar.Navigator i add:
 screenOptions={{           headerShown: false,         }}
and it work.

I found the way to do that.
on CurvedBottomBar.Navigator i add:
 screenOptions={{           headerShown: false,         }}
and it work.

That's good for make header hidden in all screens but I can't hide header for specific screen or add different title for every screen

Also
screenOptions={{           tabBarHideOnKeyboard: true         }}
not working.

@ozdemiremrah Did you find a way to make the bottom navigator disappear for the case where the keyboard is enabled?

@draturi95 I have listen Keyboard events didShow and didHide
here is my code.
`const bottomBarRef = useRef();
useEffect(() => {
const showSubscription = Keyboard.addListener('keyboardDidShow', () => {
setIsKeyboardHidden(false);
//console.log('keyboardDidShow')
bottomBarRef.current.setVisible(false)
});
const hideSubscription = Keyboard.addListener('keyboardDidHide', () => {
setIsKeyboardHidden(true)
//console.log('keyboardDidHide')
bottomBarRef.current.setVisible(true)
});
return () => {
  showSubscription.remove();
  hideSubscription.remove();
};

}, []);
....
<CurvedBottomBar.Navigator
ref={bottomBarRef}
...
/>
`

I found the way to do that. on CurvedBottomBar.Navigator i add:  screenOptions={{ headerShown: false, }} and it work.

This's not the way, the original support hiding individual headers but this one doesn't seem to support it.


Center of donut chart black

Version 0.11.0
In a stand-alone file with nothing else, this chart displays correctly. But when I insert it in a full-on test environment, the center is black, rather than white (or, I guess, transparent). What causes this? There is nothing in any css anywhere I can find that explains this:
            series: [{ meta: 'Active|' + numAllMachines, value: numActive },
                { meta: 'Standby|' + numAllMachines, value: numStandby }]
        }, {
            donut: true,
            donutWidth: '40%',
            showLabel: false,
            width: '95%',
            height: '95%'
        });```

Solution in css:
`.ct-series-a .ct-slice-donut {
fill: transparent;
}
.ct-series-b .ct-slice-donut {
fill: transparent;
}`


Example pulls two versions of vscode-jsonrpc

The example seems to use a wrong version of vscode-languageserver, which leads to two versions of vscode-jsonrpc:
gitpod /workspace/monaco-languageclient/example $ npx npm-why vscode-jsonrpc
npx: installed 4 in 1.856s

  Who required vscode-jsonrpc:

  @monaco-languageclient/example > monaco-languageclient > vscode-base-languageclient > vscode-languageserver-protocol ><EMAIL_ADDRESS>  @monaco-languageclient/example > monaco-languageclient ><EMAIL_ADDRESS>  @monaco-languageclient/example > vscode-languageserver > vscode-languageserver-protocol ><EMAIL_ADDRESS>  @monaco-languageclient/example > vscode-ws-jsonrpc ><EMAIL_ADDRESS>
A consequence of this is that cancellation responses are not detected, but logged as errors:
Error: The request (id: 18, method: 'textDocument/hover') has been cancelled

This problem is also present in Theia. All users of this package should check their dependencies.

vscode-base-languageclient version 4.4.0 depends on vscode-languageserver-protocol version ^3.10.0. This includes version 3.13.0, which depends on vscode-jsonrpc with version ^4.0.0.
There has been a major version update in vscode-languageserver-protocol 👎

So the only way is to pin vscode-languageserver-protocol for vscode-base-languageclient?

Can we update vscode-jsonrpc to 4.0.0?

Clients using Yarn can solve this by adding
  "resolutions": {
    "**/vscode-languageserver-protocol": "3.12.0"
  }

but a better solution would be to update this package to the latest version of vscode.


Fix typo in doc comment

Noticed this on rubydoc.

Closing this PR and opening another one: the commit message is misleading.


Infusion alter reward  not appearing until you are into breaking things down quest.

I completed Infusion Altar but did not get the reward button.  I went on to Breaking things down and some time later went back and it showed unclaimed reward.  Maybe a timing issue,.

hmm will look into how the quests are tied together.

Most TC quests have been removed to restore the mystery of the mod.


EvalSourceMapDevToolPlugin filename option is ignored

Bug report

What is the current behavior?
I am attempting to use webpack.EvalSourceMapDevToolPlugin with the filename option (per the docs) to generate standalone source maps for a build artifact tool, but it appears the filename option is ignored, and all source maps are inlined with the generated bundles.
If the current behavior is a bug, please provide the steps to reproduce.
Create a simple webpack.config.js that uses webpack.EvalSourceMapDevToolPlugin with { filename: '[name].js.map' } as the options object. Run webpack, and examine the output files. Notice there are no *.js.map files generated.
Conversely, the same config using webpack.SourceMapDevToolPlugin does produce standalone .js.map files.

What is the expected behavior?
The filename option is not ignored in webpack.EvalSourceMapDevToolPlugin, and standalone source maps are generated.

Other relevant information:
webpack version: 4.39.0
Node.js version: 10.14.2
Operating System: macOS 10.15.4
Additional tools: N/A
Please let me know if I can provide any additional information. Thanks!

EvalDevToolModulePlugin never have filename option https://github.com/webpack/webpack/blob/master/lib/EvalDevToolModulePlugin.js, we need fix docs


⚠ Mobitopup has degraded performance

In 60328d3, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 13585 ms

Resolved: Mobitopup performance has improved in 708ac43 after 7 minutes.


Using detach() Laravel 5.4

Bug
Problems when using detach() on my models.
Basically I found this bug
The problem is that here -> fico7489/laravel-pivot/src/Traits/FiresPivotEventsTrait.php(39)
Are using this function qualifyColumn() which is not available in Laravel 5.4.
https://laravel.com/api/5.4/Illuminate/Database/Eloquent/Model.html
https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Model.html
Eloquent Query
$model->related_model()->detach();

Stack Trace
Call to undefined method Illuminate\Database\Query\Builder::qualifyColumn();
fico7489/laravel-pivot/src/Traits/FiresPivotEventsTrait.php(39);
Environment

PHP: [7.1.20]
OS: [Debian GNU/Linux 9]
Laravel: [5.4]
Model Caching: [0.2.64]

Additional context
I know this library fico7489/laravel-pivot is not developed by you but you have it on your composer.json "fico7489/laravel-pivot": "*". I would like to keep using this library and I can't upgrade my Laravel version right now.

@Dcuevac93 Thanks for reporting this. I will look into and see if I can replicate the problem in the unit tests.

Hi @Dcuevac93, unfortunately there is nothing I can do to fix this issue. laravel-pivot is no longer actively supported for Laravel 5.4, so the only solution would be for you to upgrade your app's Laravel version. I'm going to have to close this, unfortunately. Sorry.


BUG: cannot use faster_rcnn in ObjectDetector

🐛 Bug
Traceback (most recent call last):
  File "/mnt/data/buduanban_detection/test.py", line 25, in <module>
    trainer.finetune(model, datamodule=datamodule, strategy="freeze")
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/lightning_flash-0.8.0.dev0-py3.9.egg/flash/core/trainer.py", line 161, in finetune
    return super().fit(model, train_dataloader, val_dataloaders, datamodule)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 740, in fit
    self._call_and_handle_interrupt(
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 685, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 777, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1199, in _run
    self._dispatch()
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1279, in _dispatch
    self.training_type_plugin.start_training(self)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 202, in start_training
    self._results = trainer.run_stage()
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1289, in run_stage
    return self._run_train()
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1311, in _run_train
    self._run_sanity_check(self.lightning_module)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1375, in _run_sanity_check
    self._evaluation_loop.run()
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/loops/base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/loops/dataloader/evaluation_loop.py", line 110, in advance
    dl_outputs = self.epoch_loop.run(dataloader, dataloader_idx, dl_max_batches, self.num_dataloaders)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/loops/base.py", line 145, in run
    self.advance(*args, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 122, in advance
    output = self._evaluation_step(batch, batch_idx, dataloader_idx)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/loops/epoch/evaluation_epoch_loop.py", line 217, in _evaluation_step
    output = self.trainer.accelerator.validation_step(step_kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/accelerators/accelerator.py", line 239, in validation_step
    return self.training_type_plugin.validation_step(*step_kwargs.values())
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 219, in validation_step
    return self.model.validation_step(*args, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/lightning_flash-0.8.0.dev0-py3.9.egg/flash/core/adapter.py", line 113, in validation_step
    return self.adapter.validation_step(batch, batch_idx)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/lightning_flash-0.8.0.dev0-py3.9.egg/flash/core/integrations/icevision/adapter.py", line 233, in validation_step
    return self.icevision_adapter.validation_step(batch[DataKeys.INPUT], batch_idx)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/icevision/models/torchvision/lightning/model_adapter.py", line 41, in validation_step
    train_preds = self(xb, yb)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/icevision/models/torchvision/lightning/model_adapter.py", line 26, in forward
    return self.model(*args, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torchvision/models/detection/generalized_rcnn.py", line 96, in forward
    proposals, proposal_losses = self.rpn(images, features, targets)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torchvision/models/detection/rpn.py", line 344, in forward
    anchors = self.anchor_generator(images, features)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torchvision/models/detection/anchor_utils.py", line 125, in forward
    anchors_over_all_feature_maps = self.grid_anchors(grid_sizes, strides)
  File "/data/miniconda3/envs/torch/lib/python3.9/site-packages/torchvision/models/detection/anchor_utils.py", line 86, in grid_anchors
    raise ValueError("Anchors should be Tuple[Tuple[int]] because each feature "
ValueError: Anchors should be Tuple[Tuple[int]] because each feature map could potentially have different sizes and aspect ratios. There needs to be a match between the number of feature maps passed and the number of sizes / aspect ratios specified.

To Reproduce
Change the head and backbone of example in the doc to  head="faster_rcnn", backbone="mobilenet"
Code sample
import flash
from flash.core.data.utils import download_data
from flash.image import ObjectDetectionData, ObjectDetector

# 1. Create the DataModule
# Dataset Credit: https://www.kaggle.com/ultralytics/coco128
# download_data("https://github.com/zhiqwang/yolov5-rt-stack/releases/download/v0.3.0/coco128.zip", "data/")

datamodule = ObjectDetectionData.from_coco(
    train_folder="data/coco128/images/train2017/",
    train_ann_file="data/coco128/annotations/instances_train2017.json",
    val_split=0.1,
    transform_kwargs={"image_size": 512},
    batch_size=4,
)

# 2. Build the task
model = ObjectDetector(head="faster_rcnn",   #  <----  use faster_rcnn
                       backbone="mobilenet",     #  <----  use mobilenet
                       num_classes=datamodule.num_classes,
                       image_size=512)

# 3. Create the trainer and finetune the model
trainer = flash.Trainer(max_epochs=1)
trainer.finetune(model, datamodule=datamodule, strategy="freeze")

# 4. Detect objects in a few images!
datamodule = ObjectDetectionData.from_files(
    predict_files=[
        "data/coco128/images/train2017/000000000625.jpg",
        "data/coco128/images/train2017/000000000626.jpg",
        "data/coco128/images/train2017/000000000629.jpg",
    ],
    transform_kwargs={"image_size": 512},
    batch_size=4,
)
predictions = trainer.predict(model, datamodule=datamodule)
print(predictions)

# 5. Save the model!
trainer.save_checkpoint("object_detection_model.pt")

Expected behavior

Environment

OS (e.g., Linux):
Python version:
PyTorch/Lightning/Flash Version (e.g., 1.10/1.5/0.7):
GPU models and configuration:
Any other relevant information:

Additional context

BTW, all backbones in faster_rcnn has the same bug.

Hey @IncubatorShokuhou Thanks for reporting this! I can reproduce the error, looking in to it 😃

@IncubatorShokuhou Just to give you a bit of an update, the issue only relates to non-fpn backbones. So any backbone with fpn in the name should work. E.g. resnet18_fpn is working fine for me. Working on a fix for the other backbones 😃

Turns out that the non-fpn backbones are not intended to work with the object detection / instance segmentation / keypoint detection models from icevision (see discussion: https://github.com/airctic/icevision/issues/1066). So the fix in #1267 is to no longer show those backbones to the user :smiley:


No brew package for curl-ca-bundle?

Chriss-MacBook-Air:~ cg$ brew install curl-ca-bundle
Error: No available formula for curl-ca-bundle
Chriss-MacBook-Air:~ cg$
http://cl.ly/P5zV

as curl-ca-bundle was removed from homebrew how can i find the cert file


Feature: Package up code

Is your feature request related to a problem? Please describe.
As a developer, it would be useful to have this packaged up so I can run the app locally.
Describe the solution you'd like
This repo designed as an R package that enables the deployment of the app locally through a single function, like runApp('hkdistrictinfo'). Preferably have it on CRAN.
Describe alternatives you've considered
No other alternatives with the exception of the existing state.
Additional context
Add any other context or screenshots about the feature request here.

Blocked: Something seems to be messed up when trying to create this as a package. Need more time to investigate.

Packaged it up as much as possible. Cannot make it a formal package due to the name having an hyphen in it.


Add facepile variant template to peoplepicker component

Add separate membersList variant file
Clean up and update membersList markup
Update img tags used in peoplepicker when a result is selected

Looks like there are some JS issues on the component sample page. Showed it to @philworthington and he's going to work on a fix.

js issue fixed

Looks good! Can we get one more reviewer to take a look?

Looks solid for the most part--there's just one small nit. Feel free to merge when that's been addressed!


feat(Upload): file list add  drag func

General

✏ Mark the necessary items without changing the structure of the PR template.

[x] Pull request template structure not broken

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[x] My code follows the style guidelines of this project
[x] Is the code format correct
[x] Is the git submission information standard?
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

#3179 虽然vben中Upload上传顺序和列表顺序无关，但是如果用户有场景需要按排序上传，这个功能就有必要（不过还要改上传的代码


feat: add dbl click

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


chore: replace ROCKs with rocks

This commit replaces ROCKs with rocks to be in sync with Canonical's standard terminology.
Part of canonical/bundle-kubeflow#916

@misohu now the CI will fail because the rocks are written in an old format, (they still use ubuntu:22.x for version). Since these rocks will fall out of support soon, should we merge this PR in red knowing the changes in this PR should not affect any of the rocks functionality?


Support concurrent access in DefaultCachedMetadata

The code was optimized to have a singleton map as much as possible. But
lacked the necessary protections to move out of that case.
As soon as we move beyond a single mapping, we use a concurrent map
underneath and the map swap is now properly protected.

@bigdaz I do not think I did, I just added @melix. But indeed I was surprised to see the UI indicating that your review was still expected, while you had approved the changes. Sorry for the confusion.

So this version passes CI, including performance tests, and is simpler than what was done before.
Since it matches the comment from @bigdaz on finding a simpler solution, I will merge once master is healthy.


Stops working after upgrading flake8 from 2.5.5 to 2.6.0

linter-flake8 has stopped working after I upgraded flake8 from 2.5.5 to 2.6.0 using pip. I am not sure if this is a bug with linter-flake8 or flake8 though. If it is the latter, please let me know so that I can file a bug report with flake8 instead.

I'm betting the output format changed with this version, breaking the regex. Looking into it.

Hmmm, this actually works perfectly fine for me on the following versions:
2.6.0 (pycodestyle: 2.0.0, pyflakes: 1.2.3, flake8_coding: 1.2.1, flake8-docstrings: 0.2.7, pep257: 0.7.0, mccabe: 0.5.0) CPython 2.7.11 on Windows

Are you able to share the file this isn't working on?

Yup, I should have provided a minimal working example earlier.
Given the following code
def a():
    print('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')

def b:
    print('b')

linter-flake8 gives 3 errors as expected:
Error E501 — line too long (88 > 79 characters) at line 2 col 80
Error E901 — SyntaxError: invalid syntax at line 5 col 7

Now, let's comment out the definition of b. Given the following code
def a():
    print('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')

# def b:
#     print('b')

linter-flake8 gives 0 errors when it should have given a E501 error.

Hmm, still not able to reproduce:

flake8 --version gives 2.6.0 (pycodestyle: 2.0.0, pyflakes: 1.2.3, mccabe: 0.5.0, flake8-docstrings: 0.2.7, pep257: 0.7.0, hacking.core: 0.0.1, ProxyChecker: 0.0.1) CPython 3.5.1+ on Linux.
Without commenting out the definition for b, flake8 foo.py gives:
foo.py:2:80: E501 line too long (88 > 79 characters)
foo.py:5:7: E901 SyntaxError: invalid syntax

Commenting out, flake8 foo.py gives:
foo.py:1:1: D100 Missing docstring in public module
foo.py:1:1: D103 Missing docstring in public function
foo.py:2:80: E501 line too long (88 > 79 characters)

I also did the same test with Python 2.7.11. Running the same code without commenting out the definition for b gives
Error E501 — line too long (88 > 79 characters) at line 2 col 80
Error E901 — SyntaxError: invalid syntax at line 5 col 7

while commenting it out gives
Error E501 — line too long (88 > 79 characters) at line 2 col 80
Warning D100 — Missing docstring in public module at line 1 col 1

It seems the D100 warning should also have appeared when the definition of b is not commented out but intriguingly, it only appears after the definition of b is commented out.

It looks like this has been fixed after the latest update to linter to 1.11.14. Please feel free to close this issue, thanks!


gitleaks don`t see leak

Hi there, i decided to test gitleaks inside of docker container. I made copy of my local repository into container. I get into container create file id_rsa with fake key
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktsghwrg32145gasvbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAgEA3IFRDpNYVTqXauJnaq5kE1FuO3O343z4H51slrnDw18YDUwJ0mNu
GFcLG3UJ7ScY1ikkhgl3IcoeS2ErLjVclsg0hcET/EnJ5YQ1JMbgqEs0y5Zga6JaQ8ott9
Ny7mTAM66GMRcVZCSCjUsNlt8O2KTREelgbcEPcdiRLnq9DtFXQaktLL8hfrItKUwVHCA4
owsrigjworugi9h9u2h42aqQvZjE2mJWcL3rX6l5qRRPEzam9xOMNq6zTTOfeDUCy7VdJiCXNoX

After that commit changes and run the gitleaks:
gitleaks --repo-path=gitstock --report=leaks.json
But output is:
INFO[2019-11-15T12:06:43Z] no leaks found, skipping writing report
INFO[2019-11-15T12:06:43Z] No leaks detected. 139 commits audited in 0 seconds

Is the problem in update of gitleaks or what?

OPENSSH is not included in the default config, you need to specific a regex rule in a custom config. Please see https://github.com/zricethezav/gitleaks/tree/master/examples for example configs


Refactoring/formatting in preparation for alternate menu sorting

Description
Refactoring/formatting in preparation for alternate menu sorting
How Has This Been Tested?
Looking through each menu in the UI
Checklist:

[x] My code follows the code style of this project.

Codecov Report

Merging #357 into trunk will decrease coverage by <.01%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##              trunk     #357      +/-   ##
============================================
- Coverage     58.19%   58.18%   -0.01%
+ Complexity    10210    10209       -1
============================================
  Files          1161     1161
  Lines         74189    74191       +2
  Branches       7322     7319       -3
============================================
- Hits          43174    43170       -4
- Misses        28517    28523       +6
  Partials       2498     2498

Impacted Files
Coverage Δ
Complexity Δ

...eter/protocol/http/config/gui/HttpDefaultsGui.java
80.78% <ø> (ø)
21 <0> (ø)
:arrow_down:

...r/protocol/http/control/gui/HttpTestSampleGui.java
85.71% <ø> (ø)
24 <0> (ø)
:arrow_down:

src/core/org/apache/jmeter/gui/MainFrame.java
1.54% <0%> (ø)
1 <0> (ø)
:arrow_down:

...c/core/org/apache/jmeter/gui/util/MenuFactory.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...mpler/hc/JMeterPoolingClientConnectionManager.java
27.77% <0%> (-3.18%)
10% <0%> (-1%)

Continue to review full report at Codecov.

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