No intellisense for cv2 (opencv)

 import cv2

cv2.imread("XXX")

Prompt there is a bug，cannot reach the method of imread()
Replace back to python language server,  everything is ok

https://github.com/opencv/opencv/issues/14590

Similarly to #103: The cv2 appears to be a compiled module. Pylance currently only supports compiled modules if they are accompanied by type stubs, which cv2 does not include.
We currently don't have a scraper that will create type stubs for compiled modules. Therefore, for now, a fix would be for cv2 to ship a type stub to describe their code (that linked issue).

Maybe we can use stubgen to generate .pyi as a workaround.

pip install mypy
stubgen -m cv2 -o {CV2_PACKAGE_FOLDER}

Well, does the Microsoft have the plan to fix it?

I have the same issue as deTrident, but unfortunately reverting back to Jedi did not solve my problem.
I would like to say that for other librairies pylance works like a charm and I like it quite a bit. So hopefully you will be able to get to make it even better.

I'm curious, how did the old language server do it (the ms-python.python package`)? That one handled cv2 perfectly and worked as expected. Did that one have a scraper, which has not yet been added to PyLance?

It did have a scraper which ran on libraries and only libraries, but doing so is iffy for a multitude of reasons, running arbitrary code being one of them. Note that Pylance (being a type checker under the hood) doesn't play extremely nicely with stubs that come out of the scraper, as the scraper almost never gets any types (and often signatures) correct. MPLS was not a type checker and internally had many assumptions which would have never made it a type checker, so adding more inaccuracy to the mix wasn't fatal.
We haven't ruled out a scraper, but there are other paths we can take that we think will produce a better experience than trying to add it back at this stage.

Any updates? I saw it was added 'compiled' tag

This problem seems related with Pylance server. Uninstalling it and switching back to default Jedi can solve it.

This is the repo for pylance, so I assume the goal of this "issue" is to fix cv2 support on Pylance. Disabling/uninstalling pylance is a  short term workaround but not really relevant here.

Does the latest version (2020.11.2) really fixed this? (It said that it's solved in the first bullet here: https://github.com/microsoft/pylance-release/blob/master/CHANGELOG.md#2020112-18-november-2020 )

I tried 2020.11.2 and even 2020.11.3-pre.1 and couldn't get it to work.
I do see the included stub:
.vscode\extensions\ms-python.vscode-pylance-2020.11.3-pre.1\dist\bundled\native-stubs\cv2\cv2.pyi
But I'm not sure how to get pylance to use it. Manually copying the cv2.pyi file into PROJECT_ROOT/typings does work though. Anyone know why Pylance isn't using the bundled stub?

@YoniChechik and @EhsanKia
On 2020.11.2, when I do:
import cv2
cv2.

I get completions for everything in the compiled module (which has a lot), including imread. It is resolving to the file under native-stubs. Note that this is a stub that was created by scraping the native module, so it's not up to the same quality as the ones in typeshed, ie there are a lot of Any.
I'm testing on Windows. This is OS sensitive code, which OS are you on where it's not giving on completions on cv2?

Oh, also note that you will need to have opencv-python installed for this to work. Unlike the other bundled stubs, these native-stubs are partial and require the rest of the library to be present in order to resolve.

I'm on windows 10, on Python 3.7.7 (venv) with the following installed:
opencv-contrib-python==<IP_ADDRESS>
opencv-python==4.1.2+contrib
and this is what I see: https://i.imgur.com/LS41Y0K.png
Completions don't work either.
As mentioned above, moving the stub to stubPath works, the module goes green and completion works.
But it does not work out of the bundled path. Is there any way to debug it? This is all I see in the language server console:
[Info  - 5:42:22 PM] Pylance language server 2020.11.2 (pyright 750a296b) starting
[Info  - 5:42:22 PM] Server root directory: c:\Users\Ehsan\.vscode\extensions\ms-python.vscode-pylance-2020.11.2\dist
[Error - 5:42:22 PM] stubPath c:\Users\Ehsan\Coding\Python\OpenCV\CatalogScanner\typings is not a valid directory.

@EhsanKia have you tried getting completions on a clean project with just a new opencv-python? In my case I tried with opencv-python==<IP_ADDRESS>. As Hugues, mentioned above, I do get completions. I'd also recommend the latest version of Pylance. Please let me know if you still don't receive completions

Closing issue. Please reopen if necessary.

I'm using latest version of pylance (v2021.1.4-pre.1) and (opencv 4.5.1) and remote containers. The autocomplete doesn't work for me.

I found the problem. My opencv was installed through sudo pip (in dockerfile RUN pip install python-opencv) which made things get messy when I have a user other than root:
/home/user/local/lib/python3.6/dist-packages/cv2
It should be:
/home/user/.local/lib/python3.6/site-packages/cv2
So I uninstalled and installed it without sudo by using
sudo pip uninstall opencv-python
pip install opencv-python --user

Things are working now.
I used vscode container script to create user and my guess is that pylance fails to check for /usr/bin/local when you login through a user into a container.(when /home/vscode/.local/ exist)

Pylance uses the environment selected by the Python extension, and then calls that interpreter to get search paths (so we match the intrpreter). If you enable Pylance's trace logging, you should see those paths printed out. Did you see that first directory in the logs at all? I'm surprised pip as root would be installing there, as opposed to say /usr/ or something.

@jakebailey Thank you for the quick reply.
It is very common to have RUN pip install opencv-python As root in a dockerfile.
Packages installed through dpkg/apt:  /usr/lib/python3.6/dist-poackages
Packages through  sudo pip: /usr/local/lib/python3.6/site-packages
Packages through pip —user: $HOME/.local/python3.6/site-packages
How can I enable the pylance tracing?

See https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#filing-an-issue, but I would recommend filing a new issue as this seems unrelated to the original issue. We would certainly support those directories, and the trace logs should show the paths in use.

This only happens with opencv. I have tensorflow in the same folder /usr/local/lib/... pylance can recognise it.
The issue is easily reproducable.
The path is indeed in the interpreter. Something different for opencv package that should not be in ‘/bin/local’

[Info  - 12:02:54 AM] Pylance language server 2021.1.3 (pyright 61c53da4) starting
[Info  - 12:02:54 AM] Server root directory: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist
[Info  - 12:02:54 AM] No configuration file found.
[Info  - 12:02:54 AM] Setting pythonPath for service "vscode": "/usr/bin/python3"
Search paths found for configured python interpreter:
  /usr/lib/python3.6
  /usr/lib/python3.6/lib-dynload
  /home/vscode/.local/lib/python3.6/site-packages
  /usr/local/lib/python3.6/dist-packages
  /usr/lib/python3/dist-packages
[Error - 12:02:54 AM] stubPath /home/vscode/typings is not a valid directory.
[Info  - 12:02:54 AM] Assuming Python version 3.6
[Info  - 12:02:54 AM] Assuming Python platform Linux
[Info  - 12:02:54 AM] Searching for source files
[Info  - 12:02:54 AM] Found 4249 source files
[Info  - 12:02:54 AM] Background analysis(1) root directory: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist
[Info  - 12:02:54 AM] Background analysis(1) started
Background analysis message: setConfigOptions
Background analysis message: setTrackedFiles
Background analysis message: markAllFilesDirty
Background analysis message: setFileOpened
Background analysis message: getSemanticTokens
[BG(1)] parsing: /home/vscode/x.py (15ms)
[BG(1)] parsing: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/stdlib/3/builtins.pyi [fs read 2ms] (128ms)
[BG(1)] binding: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/stdlib/3/builtins.pyi (48ms)
[BG(1)] binding: /home/vscode/x.py (0ms)
[BG(1)] parsing: /usr/local/lib/python3.6/dist-packages/cv2/__init__.py [fs read 0ms] (8ms)
[BG(1)] binding: /usr/local/lib/python3.6/dist-packages/cv2/__init__.py ...
[BG(1)]   parsing: /usr/local/lib/python3.6/dist-packages/cv2/data/__init__.py [fs read 0ms] (0ms)
[BG(1)]   binding: /usr/local/lib/python3.6/dist-packages/cv2/data/__init__.py (0ms)
[BG(1)] binding: /usr/local/lib/python3.6/dist-packages/cv2/__init__.py (3ms)
[BG(1)] parsing: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/stdlib/2and3/_typeshed/__init__.pyi [fs read 1ms] (13ms)
[BG(1)] binding: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/stdlib/2and3/_typeshed/__init__.pyi (2ms)
[BG(1)] parsing: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/third_party/2and3/typing_extensions.pyi [fs read 0ms] (6ms)
[BG(1)] binding: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/third_party/2and3/typing_extensions.pyi (2ms)
[BG(1)] parsing: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/stdlib/3/typing.pyi [fs read 2ms] (38ms)
[BG(1)] binding: /home/vscode/.vscode-server-insiders/extensions/ms-python.vscode-pylance-2021.1.3/dist/typeshed-fallback/stdlib/3/typing.pyi (12ms)
Background analysis message: getSemanticTokens
Background analysis message: analyze
[BG(1)] analyzing: /home/vscode/x.py ...
[BG(1)]   checking: /home/vscode/x.py (2ms)
[BG(1)] analyzing: /home/vscode/x.py (2ms)
Background analysis message: resumeAnalysis

I think the issue is quite relevant. I cannot get the cv2 IntelliSense if the package is installed in /usr/local

The solution is to uninstall and install it under /$HOME/.local

To make the stub file quiclkly:
stubgen -m cv2 -o $(python -c 'import cv2, os; print(os.path.dirname(cv2.__file__))')

here are some work in progress stubs
https://github.com/microsoft/python-type-stubs/pull/72

Make sure to change the name of generated stub file from mypy (e.g. cv2.pyi) to __init__.pyi.

parsa-ra - thank god for your comment

Maybe we can manually use stubgen to generate .pyi as a workaround.

pip install mypy
stubgen -m cv2 -o {CV2_PACKAGE_FOLDER}

Works fine for PyCharm 2022.3.1 and Intellij. Unfortunately there is no other solution than this.
For PyCharm you need couple more steps.

Open the generated file in venv/Lib/site-packages/cv2/__init__.pyi
In the file there is def bootstrap() function.
From the directory C:\Users\uresname\.vscode\extensions\ms-python.vscode-pylance-2023.1.20\dist\bundled\stubs\cv2-stubs\__init__.pyi you will find the __init__.pyi file. Copy the code and paste it in the venv/Lib/site-packages/cv2/__init__.pyi  and delete the def bootstrap() function.

To avoid all these steps. Just copy the file C:\Users\uresname\.vscode\extensions\ms-python.vscode-pylance-2023.1.20\dist\bundled\stubs\cv2-stubs\__init__.pyi into the venv/Lib/site-packages/cv2 and it will work fine.

Even without a stub file that produces detailed signatures with types it seems like pylance should be capable of looking up method and attribute names, which would likely solve most of what people are looking for.  Intellisense is especially nice for a large package like this just to help you find the right names.  Clearly the stub generation is problematic, or this could have happened years ago.

the latest opencv package should be shipping with its own stubs.  Is that not working? please create a new issue then


cue trim bug: "imported and not used" errors

What version of CUE are you using (cue version)?

$ cue version v0.3.0-beta.3.0.20210203172046-09cd07bb63ed linux/amd64

Does this issue reproduce with the latest release?
Yes, this is the latest master
What did you do?
Directory structure:
cue.mod
...
├── module.cue
...
kubernetes/
├── k8s_defs.cue
└── stuff.cue

module.cue
module: ""

Populate cue.mod/gen with:
cue get go k8s.io/api/apps/v1

k8s_defs.cue
package kube

import (
        apps_v1 "k8s.io/api/apps/v1"
)

deployment: [string]: apps_v1.#Deployment

stuff.cue
package kube

if true {
        deployment: "name": {}
}

deployment: [ID=_]: spec: template: spec: {
        containers: []
}

command:
cd kubernetes
cue trim ./...

What did you expect to see?
success
What did you see instead?
imported and not used: "k8s.io/api/apps/v1" as apps_v1:
    ./k8s_defs.cue:4:2

Bonus mystery:
If you change stuff.cue to import "strings", that seems to "fix" this bug:
stuff.cue
package kube

import "strings"

if true {
        deployment: "name": {}
}

deployment: [ID=_]: spec: template: spec: {
        containers: [{name: strings.Join(["a"], "a")}]
}

This bug is not present in cue v0.2.2. Looks like downgrading makes trim work again.

Trim has very recently been completely rewritten, so it is certainly possible this introduced a regression.

Reduced this down to:
exec cue eval ./...
exec cue trim ./a
exec cue trim ./b

-- a/a.cue --
package a

#Deployment2: {
	spec: []
}
-- b/b.cue --
package b

import (
	"example.com/blah/a"
)

deployment: [string]: a.#Deployment2

if true {
	deployment: "name": {}
}

deployment: [string]: spec: []
-- cue.mod/module.cue --
module: "example.com/blah"

Gives:
> exec cue eval ./...
[stdout]
#Deployment2: {
    spec: []
}
// ---
deployment: {
    name: {
        spec: []
    }
}
> exec cue trim ./a
> exec cue trim ./b
[stderr]
imported and not used: "example.com/blah/a":
    ./b/b.cue:4:2

This issue has been migrated to https://github.com/cue-lang/cue/issues/716.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Duplicate logs are coming in appinsights[BUG]

Description/Screenshot
Steps to Reproduce
Duplicate logs are appering in appinsights, after checking we can see that track call is sending old logs also in array of new log.
I am also using isStorageUseDisabled true and maxBatchInterval 0. Looks like appinsights are now flusing old logs.

OS/Browser:
SDK Version [e.g. 22]:
How you initialized the SDK:

Expected behavior
Should send only one log instead of old one in track call.
Additional context
Add any other context about the problem here.

Hello @PraveenVerma17 I am not able to repro the issue. Could you please share a fiddler trace of when the data is sent out. We want to check if the reason for resend was from a response from Breeze that is forcing the SDK to resend the data. Also please add  enableDebug: true to your configuration when you capture this.
Note: Please ensure that you dont include any sensitive data in the trace you will be sharing.

I'm also seeing this, I'll try for a repro but this is only happening to a small set of logs in our application
If it helps, we see this duplication spike at 11/9/2020 7:00AM UTC

@kryalama is there a way to find what the response of our track calls were? I think app insight sdk filters it out on purpose so we dont know if the /track call was successful or not
I think it is probably like you said, the api probably said to resend the data or something

The easiest would be to view the Network tab on the browser developer console (F12), or if this is in a dev/test environment try using the debug plugin extension (https://github.com/microsoft/ApplicationInsights-JS/tree/master/extensions/applicationinsights-debugplugin-js) as it hooks a lot of the internal components and events and makes it a lot easier to visualize what is going on.

Guys,
i have fixed this issue by making small code change.  My appinsight TelemetryService class were not singleton earlier , after making it singleton it resolved the issue.
export class TelemetryService {
    constructor() {
        const instance = this.constructor.instance;
        if (instance) {
            return instance;
        }

        let sessionInstrumentationKey =   sessionStorage.getItem('instrumentationKey');
         if(sessionInstrumentationKey){
           this.instrumentationKey = sessionInstrumentationKey;
         }
        const browserHistory = createBrowserHistory({ basename: '' });
        this.reactPlugin = new ReactPlugin();
        this.appInsights = new ApplicationInsights({
            config: {
                instrumentationKey: this.instrumentationKey,
                maxBatchInterval: 0,
                disableFetchTracking: true,
                disableAjaxTracking: true,
                isStorageUseDisabled: true
            },
            extensions: [this.reactPlugin],
            extensionConfig: {
                [this.reactPlugin.identifier]: { history: browserHistory }
            }
        });
        this.appInsights.loadAppInsights();
        this.constructor.instance = this;
    }

}

export function _logInformation(infoMessage)
{
    try{
        let ai = new TelemetryService();
        ai.appInsights.clearAuthenticatedUserContext();

        let telemetryInitializer = getTelemetryInitializer();
        if(telemetryInitializer !== null){
            ai.appInsights.addTelemetryInitializer(getTelemetryInitializer());
        }

        ai.appInsights.trackTrace({ message: `${JSON.stringify(infoMessage)}`, severityLevel: SeverityLevel.Information }, addCustomData());
        ai.appInsights.flush();
    }catch(err)
    {

    }
}

@MSNev, thanks might try that
The problem for me isn't multiple instances of the appInsights object
I only observed duplicate logs every so often for some users in our application insight logs. Since I can't find a repro of the issue, I'll have to just rely on logs to figure out why this happens
Would the plugin log what the SDK is doing internally so I can root cause this?

The DebugPlugin is strictly designed for dev/test only, it "logs" to an internal array and provides a visualization of the last 500 events in it's own fullscreen UI (when you show the dashboard). It doesn't get logged anywhere else, so in terms of your issue with "every so often", it may not be overly useful -- unless it's some sort of race condition that you can trigger. We do have plans to eventually  allow mocking responses to trigger error cases and extended delays via this plugin, but we haven't implemented that yet.

Are the duplicates linked to any specific browser / version? Or is there anything else that appears to be common for the duplicated events?

not linked to browser, something that seems to appear common is that the duplicates happen around the same timeperiod, across users
This might give an indication that there is a server issue? Maybe they are all retrying around the same time period because of an issue?

I can give you specific timeframes if you want

@thoo1 If you can supply the timeframe and a couple of the Id's we can forward onto the server team to see if there was an issue of some kind. Has it occurred again (or on a regular schedule etc) or was in some short lived event? (i.e. what is meant by "every so often") @kryalama once we get the data can you follow up with the breeze (internal server) team on whether there was an issue for the supplied events.
Looking at the code, if we assume that the SDK sent it twice then there would have had to have been some very specific XHR return codes https://github.com/microsoft/ApplicationInsights-JS/blob/master/channels/applicationinsights-channel-js/src/Sender.ts#L685, so it might be a case that the SDK sent it once, but for some reason the events go retried (sent to a backup server during ingestion or something) -- I'm not sure what the internal logging exists to detect this.

for sure!
What I mean by "every so often" is that, these duplicate logs occur within the same short time period, and there are multiple of these time periods throughout each day. There doesn't seem to be any regular schedule when it occurs
For example, here is a scatter plot of duplicate requests, binned by 5 mins for the last 24 hours

There is one notable outlier where it seems to be >8000 duplicate logs within a 5 min time period (between 11/12/2020, 2:00:00 AM - 11/12/2020, 2:05:00 AM). I'll choose this time period since there seem to be a lot more duplicates here
5 itemIds that were duplicated during this time period:
66c12622-24ef-11eb-bcad-a9126105a78a
6df07175-24ef-11eb-9c9f-154b34e6482a
6e3d31ed-24ef-11eb-bfff-eb5796833fb3
6ef51038-24ef-11eb-94e4-513366d01146
72e2ec43-24ef-11eb-8bbd-0f51dc4586ab
Let me know if you want any more time periods or itemIds, thanks for taking a look!

I'll provide some more itemIds since the previous 5 I gave was using kusto "sample-distinct" which is not a fair, randomly distributed sampling
More itemIds within timeperiod (UTC): 11/12/2020 2:00:00 AM - 11/12/2020 2:05:00AM
1318d269-248b-11eb-b500-7b23722f72f8
26b39711-248b-11eb-b041-63ee4cf0ac94
31e4e2b3-248b-11eb-932e-7f6291401835
37369476-248b-11eb-919d-ff2a4b504b76
30582839-248b-11eb-9a13-a3f5af5d24b8
50ddf681-248b-11eb-8ffa-8108d500fbda
58a16b87-248b-11eb-ae35-2b7ccf05ec56
60f14213-248b-11eb-80f0-d35ce439b65a
6a5e9692-248b-11eb-9207-bb2f686f61f9

@MSNev @kryalama any update on this? Wondering if you could find anything on the ids

@thoo1 got a response from the Breeze internal server team. Apparently there are several regions where the ingestion data volume is too high for the pipeline to handle, primarily East US at this point. The response times in these regions are significantly higher and could lead to timeouts (408s). Customers in these regions are likely to experience data duplication when the client, like the JS sdk retries after a timeout. We are looking for some workarounds to mitigate this. Will keep you updated once we have an answer.

Closing as I think we have answered the outstanding questions, if not please re-open or comment with more additional info and we can re-open etc.

Closing as I think we have answered the outstanding questions, if not please re-open or comment with more additional info and we can re-open etc.

sounds good, as far as the library is concerned I think you're right to close the issue. I just checked for duplicates in last 2 weeks and see a few but not as many as originally
@kryalama was there any progress on the data duplication issue?

sounds good, as far as the library is concerned I think you're right to close the issue. I just checked for duplicates in last 2 weeks and see a few but not as many as originally
@kryalama was there any progress on the data duplication issue?


Update to v1.2.0

Alternative to #33

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I'm ignoring the Windows builds here and I'll re-start once we fix the Python package there.


TypeError: Cannot read property 'call' of undefined

🐞 Bug report
Command (mark with an x)

- [ ] new
- [x] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: ....
I don't know what version it was, but when uglifyjs instead of terser was used it worked
Description
 A clear and concise description of the problem...
The problem I have is that when I use a custom webpack.config in an attempt to prevent certain keywords (classnames in my case) from being mangled it does not work and still mangles the classname. This happens when I start the app with ng serve --prod --aot
I expect the page to show :

Classname is Foo

But in my case it shows :

ClassName is ip

When I build the app with ng build --prod --aot and then start the app I get the error as shown by "Exception or Error".
🔬 Minimal Reproduction

You can reproduce the issue by cloning this repo and use any of these commands :
- ng serve --prod --aot
- ng build --prod --aot

🔥 Exception or Error
Running the result of ng build --prod --aot gives this error :

runtime-es2015.29bb7a5678a9e1bc4d05.js:1 Uncaught TypeError: Cannot read property 'call' of undefined
    at f (runtime-es2015.29bb7a5678a9e1bc4d05.js:1)
    at Object.1 (polyfills-es2015.8f5c586921f6179cdfaf.js:1)
    at f (runtime-es2015.29bb7a5678a9e1bc4d05.js:1)
    at e (runtime-es2015.29bb7a5678a9e1bc4d05.js:1)
    at Array.r [as push] (runtime-es2015.29bb7a5678a9e1bc4d05.js:1)
    at polyfills-es2015.8f5c586921f6179cdfaf.js:1
f @ runtime-es2015.29bb7a5678a9e1bc4d05.js:1
1 @ polyfills-es2015.8f5c586921f6179cdfaf.js:1
f @ runtime-es2015.29bb7a5678a9e1bc4d05.js:1
e @ runtime-es2015.29bb7a5678a9e1bc4d05.js:1
r @ runtime-es2015.29bb7a5678a9e1bc4d05.js:1
(anonymous) @ polyfills-es2015.8f5c586921f6179cdfaf.js:1

🌍 Your Environment

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 8.0.2
Node: 11.12.0
OS: win32 x64
Angular: 8.0.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.2
@angular-devkit/build-angular     0.800.2
@angular-devkit/build-optimizer   0.800.2
@angular-devkit/build-webpack     0.800.2
@angular-devkit/core              8.0.2
@angular-devkit/schematics        8.0.2
@angular/cli                      8.0.2
@ngtools/webpack                  8.0.2
@schematics/angular               8.0.2
@schematics/update                0.800.2
rxjs                              6.4.0
typescript                        3.4.5
webpack                           4.33.0

Anything else relevant?

Don't now if it's browser specific. I'm getting it in Google chrome version 75.0.3770.90 (Official Build) (64-bit)

I created an issue with webpack, but I got asked by @filipesilva to create the issue with angular-cli.

Heya, indeed it's not a webpack issue. It's happens because we mangle class names on our minification step. That is intended behaviour. https://github.com/angular/angular-cli/issues/6454#issuecomment-315431370 explains the problem, and alternative approaches. https://github.com/angular/angular-cli/issues/5883 was also a similar problem.

@filipesilva I added a static property to the class and use that, as is suggested in #6454.
With that adjustment in place
ng serve --prod --aot
shows the value of the static property and works as expected!
However build the app with
ng build --prod --aot
and then run it, does not work as expected. The console still gives me the error :
Uncaught TypeError: Cannot read property 'call' of undefined     at f (runtime-es2015.198ddbbdf5cdf33526c8.js:1)     at Object.1 (polyfills-es2015.6b281348ab3c9101b157.js:1)     at f (runtime-es2015.198ddbbdf5cdf33526c8.js:1)     at t (runtime-es2015.198ddbbdf5cdf33526c8.js:1)     at Array.r [as push] (runtime-es2015.198ddbbdf5cdf33526c8.js:1)     at polyfills-es2015.6b281348ab3c9101b157.js:1 f @ runtime-es2015.198ddbbdf5cdf33526c8.js:1 1 @ polyfills-es2015.6b281348ab3c9101b157.js:1 f @ runtime-es2015.198ddbbdf5cdf33526c8.js:1 t @ runtime-es2015.198ddbbdf5cdf33526c8.js:1 r @ runtime-es2015.198ddbbdf5cdf33526c8.js:1 (anonymous) @ polyfills-es2015.6b281348ab3c9101b157.js:1
I updated all dependencies in my sample repo the latest versions.
ng version now shows :
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 8.0.3
Node: 11.12.0
OS: win32 x64
Angular: 8.0.1
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.3
@angular-devkit/build-angular     0.800.3
@angular-devkit/build-optimizer   0.800.3
@angular-devkit/build-webpack     0.800.3
@angular-devkit/core              8.0.3
@angular-devkit/schematics        8.0.3
@angular/cli                      8.0.3
@ngtools/webpack                  8.0.3
@schematics/angular               8.0.3
@schematics/update                0.800.3
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.34.0

Can you please take a look at this issue again and reopen it if appropriate?
I also have a question about the TerserOptions. The documentation says :
keep_fnames (default: false) - pass true to prevent discarding or mangling of function names. Pass a regular expression to only keep class names matching that regex. Useful for code relying on Function.prototype.name. If the top level minify option keep_classnames is undefined it will be overridden with the value of the top level minify option keep_fnames
Based on this I would expect my classname/functionname not to be mangled. But this conflicts the comment in #6454. Am I making a thinking mistake here?

Terser indeed has that option. But we do not use it or expose it. If you wish to configure Terser with custom options, we suggest using something like https://github.com/manfredsteyer/ngx-build-plus.
I tried to reproduce the Uncaught TypeError: Cannot read property 'call' of undefined error you saw by following these steps:
git clone https://bitbucket.org/JohanBeumer/angular-ivy-aot.git
cd angular-ivy-aot
npm install
ng build --prod --aot

Then to serve I used http-server by installing it globally and running http-server dist/shiney-ivy-app/ and then opening http://<IP_ADDRESS>:8080/index.html in Chrome 74.
I see Classname is Foo and no errors in the console.


Prevent creating log group by the iam role

what

Prevent creating log group by the iam role

why
See: hashicorp/terraform#14750, terraform-aws-modules/terraform-aws-eks#920

This is happening because EKS Cluster gets destroyed after Terraform delete the Cloudwatch Log Group. The AmazonEKSServicePolicy IAM policy (that is assigned to EKS Cluster role by default within this module) has permissions to CreateLogGroup and anything else needed to continue to logging correctly. When the Terraform destroys the Cloudwatch Log Group, the EKS Cluster that is running create it again. Then, when you run Terraform Apply again, the Cloudwatch Log Group doesn't exist in your state anymore (because the Terraform actually destroyed it) and the Terraform doesn't know this resource created outside him. terraform-aws-modules/terraform-aws-eks/issues/920

references

Closes https://github.com/cloudposse/terraform-aws-eks-cluster/issues/67
Original fix https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1594 thanks to @haarchri and thanks to @Nuru for pointing out the fix

/test all

@nitrocode @Gowiem For future reference, as shown in #135, it does not work to have multiple aws_iam_role_policy resources attached to a single role. If we need multiple policies, then we combine policies into one aws_iam_role_policy by using an aws_iam_policy_document data source, or create multiple aws_iam_policy resources and attach them via aws_iam_role_policy_attachment resources. The latter is more flexible and generally better, because it allows other Terraform (or other actors) to attach additional policies that this Terraform will not manage/remove, but there is a limit of 10 attachments per role (can be raised to 20), which we can run into if we are not careful.


new: add support to bump ia32->64 syscalls map too.

Refs: https://github.com/falcosecurity/libs/pull/1196
/hold

build syscalls-bumper Expected — Waiting for status to be reported

Not triggered? :thinking:

/close

@FedeDP: Closed this PR.

In response to this:

/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/reopen

@FedeDP: Reopened this PR.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Deserializing a number that is null throws

When I deserialize json that contains
{"address":"an address","amount":null}
to a target Type like
public class Recipient
    {
        public string Address { get; set; }
        public long Amount { get; set; }
    }

I get an Exception: expected:'Number Token', actual:'null', at offset:107
My expectation would be, that the long gets initialized to its default value of 0;
Afaik, in json or javascript, it is not wrong to have a number be null. It's just a falsy value.
And I think the least surprise would be if this would not throw and just set the number to 0.
Is there maybe any option I can use to achieve this? This is not so easy to fix if you don't have control of the production of the json you are getting.

Deserializer is expecting a number long (number) primitive type but you are giving it a null. You should make Amount nullable as in public long? Amount { get; set; }

@tandasima I can't agree with you here. Sure, I could work around this with making the long a Nullable and then write extra code to query .HasValue. But that is complicated and not efficient. We want extreme perf, here don't we? :-)
Also, I cannot influence what the api is getting as Json. I am getting:

no property 'amount'
amount: null
amount: 0

JSON null means: also undefined, NaN, +/- infinity, it doen't strictly equal C# null.
So, imo, the C# property should basically 'stay' it's default value of 0, because no better value can be assigned.
Also, Newtonsoft's and Microsofts new serializers do it this way.
So I hope I find a way with Utf8Json to have the null resolve to 0. Maybe there is a way to override or customize this behavior, but I can't find that in the documentation...


mattermostdocker_app connecting to wrong database server

If linux box with mattermost docker production install Team edition have search domains in /etc/resolv.conf and some of this domains have 'db.domain' record, then 'mattermostdocker_app' will try to connect to this host 'db.domain' port 5432.
volumes/app/mattermost/logs/mattermost.log (<IP_ADDRESS> is linux box ip):
[2017/03/16 17:02:46 +07] [INFO] Loaded system translations for 'en' from '/mattermost/i18n/en.json'
[2017/03/16 17:02:46 +07] [INFO] Current version is 3.7.0 (3.7.1/Wed Mar 15 21:26:22 UTC 2017/91d430b2a39a03b052cc103f73f44c68cbc96b2d/none)
[2017/03/16 17:02:46 +07] [INFO] Enterprise Enabled: false
[2017/03/16 17:02:46 +07] [INFO] Current working directory is /mattermost/bin
[2017/03/16 17:02:46 +07] [INFO] Loaded config file from /mattermost/config/config.json
[2017/03/16 17:02:46 +07] [INFO] Server is initializing...
[2017/03/16 17:02:46 +07] [INFO] Pinging SQL master database
[2017/03/16 17:02:47 +07] [CRIT] Failed to ping DB err:pq: no pg_hba.conf entry for host "<IP_ADDRESS>", user "mmuser", database "mattermost", SSL off
The only solution for me - remove string with search from /etc/resolv.conf
~/mattermost-docker$ git branch -v
* master              fb26800 Update to Mattermost 3.7.1`

Maybe it is connected. No matter what I do. I get a
db_1   | LOG:  database system was shut down at 2017-03-20 23:07:22 CET
db_1   | LOG:  MultiXact member wraparound protections are now enabled
db_1   | LOG:  database system is ready to accept connections
db_1   | LOG:  autovacuum launcher started
db_1   | LOG:  incomplete startup packet

when starting up the docker containers. The app container and the web container will not connect to the database. The log shows a repeated
[2017/03/20 23:08:54 CET] [INFO] Server is initializing...
[2017/03/20 23:08:54 CET] [INFO] Pinging SQL master database
[2017/03/20 23:09:04 CET] [CRIT] Failed to ping DB err:dial tcp <IP_ADDRESS>:5432: i/o timeout

@aatangulov and @Twilek-de how did you start your containers? Were you using docker-compose?

Yep docker-compose with standard config file and changed ports due to my setup-

Indeed, it seems that you have db resolved differently from your DNS (possibly in resolve.conf). To workaround this, you can change the db container's name into something else and add DB_HOST environment variable to the app container, e.g.
diff --git a/docker-compose.yml b/docker-compose.yml
index 5d1622c..79d01d0 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,7 +2,7 @@ version: "2"

 services:

-  db:
+  db1:
     build: db
     restart: unless-stopped
     volumes:
@@ -36,8 +36,9 @@ services:
       - MM_USERNAME=mmuser
       - MM_PASSWORD=mmuser_password
       - MM_DBNAME=mattermost
+      - DB_HOST=db1
     depends_on:
-      - db
+      - db1

   web:
     build: web

I tested it locally. Let me know if it works for you.

Is this solved ? @aatangulov @Twilek-de

I have switched to a locally installed mattermost.

I have the same problem now. Funny, it shows the same ip as @Twilek-de
mattermost.log says:
{"level":"info","ts":1527723572.5220578,"caller":"sqlstore/supplier.go:198","msg":"Pinging SQL master database"}
{"level":"error","ts":1527723582.5225577,"caller":"sqlstore/supplier.go:210","msg":"Failed to ping DB retrying in 10 seconds err=dial tcp <IP_ADDRESS>:5432: i/o timeout"}

Hi @andlinger did you try the suggested workaround ?
If you want to find the root cause, maybe you should check if there is a reason that your container resolve db DNS record as this IP ? Are you using a specific deployment platform/cloud provider ? What is the result of a DNS resolution for db on your host server ?

Fixed it.
In resolv.conf was a search-domain configured. After removing this entry everything is working as expected.


fix(flask): api that calls itself might raise an error

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


How to mount a directory and enter the container to run python script？

Hi, I want to mount a directory and enter the container to run python script.
Below are the yaml of a pod3:
apiVersion: kubeshare.nthu/v1
kind: SharePod
metadata:
  name: pod3
  annotations:
    "kubeshare/gpu_request": "0.4"
    "kubeshare/gpu_limit": "1.0"
    "kubeshare/gpu_mem": "3145728000"
    "kubeshare/GPUID": "abcde"
spec:
  terminationGracePeriodSeconds: 0
  containers:
  - name: tf
    image: <IP_ADDRESS>:5000/tensorflow/tensorflow:1.15.2-gpu-py3
    volumeMounts:
    - name: workspace
      mountPath: /benchmarks
    # command: ["sh", "-c", "python3 /root/benchmarks/scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py"]
    # command: ["sh", "-c", "curl -s https://lsalab.cs.nthu.edu.tw/~ericyeh/KubeShare/demo/mnist.py | python3 -"]
  nodeName: k8s-gpu
  # restartPolicy: OnFailure
  # restartPolicy: Always
  restartPolicy: Never
  volumes:
    - name: workspace
      hostPath:
        path: "/home/hezhiming/benchmarks/"

I run:
kubectl create -f pod3.yaml
then run:
kubectl get pods
The status of pod3 is Completed.
I run:
kubectl exec -it pod3 --container tf bash
get this error:
error: cannot exec into a container in a completed pod; current phase is Succeeded
How can I keep the status of pod3 running and enter the container to run python script?

sorry, but this issue seems to be unrelated to kubeshare.


docs: refactor README

I would suggest minor modifications to the README.md file:

keep headling level 1 reserved only for the project title, every other section should start from H2, it would be a little more clear to read.

Installation of the cellstate python package can simply be done by going in the package folder and running

end of the sentence is missing?

Python packages Mandatory: numpy, pandas, matplotlib, scipy

I would introduce bullet points for mandatory/recomennded.

the use of bold throughout the instructions is not very consistent...

Thanks, I've updated it


New release

Can you release a new release, since now version 1.0.3 is being installed without the last changes?

I set dev-master version by this time

Done.


Request can receive events about location service auth status change

Each request should be able to receive notifications about CLLocationManager's authorization change events.
So each Request will implements a new handler called .onAuthDidChange() you can implement to receive the new status.
Example:
let request = Location.getLocation(withAccuracy: .City, frequency: .Continuous, timeout: nil, onSuccess: { (loc) in
	// get location
}) { (last, err) in
	// error
}

// Receive notifications about Auth Status Changes
request.onAuthDidChange = { newStatus in
	print("New CLLocationManager's auth status is=\(newStatus)")
}

Implemented


Ability to customize the thread pool and size of request queue.

This is first version for preview, do NOT merge it. I will add unit testing later.

@confluentinc It looks like @jeffhuang26 just signed our Contributor License Agreement. :+1:
Always at your service,
clabot

In HTTP client side will see:
The requested URL can't be reached
The service might be temporarily down or it may have moved permanently to a new web address
connect ECONNREFUSED <IP_ADDRESS>:8090

Milo,
Please review and approve this PR when get time. This PR has been there for a while. I think we cover all testing cases we had discussed.

PR 172 replaced this PR.


Stash for templates?

Hello I'm trying to populate a template with something that the user submits in a POST body:
use Humming-Bird::Core;
use Template6;

my $templates = Template6.new;
$templates.add-path: 'templates';

my $router = Router.new(root => '/');

$router.post(-> $request, $response {
    my $output-value = $request.content.{'input-value'};

    $response.html($templates.process: 'index', :$output-value);
});

$router.get(-> $request, $response {
    $response.html($templates.process: 'index');
});

The template can just be:

Cool template

[% IF output-value %]

Output value is: [% output-value %]

[% END %]

The problem I'm having is that 'output-value' lives on until someone submits another. I expected it to just exist for that one request/response transaction. I see there's a 'stash' in the Middleware class; is this something I can or should use to pass this value to the template and then be 'forgotten' after the transaction?

Yup. Please see this member of the HTTPAction parent class.
TLDR: There is a .stash Hash on each Request and Response that is simply transient storage that only lives during each message, and is discarded alongside the message itself.

I'm wondering if this is a template 6 issue. Or if this is a humming bird thing. In the pointy block that you pass to the handler, is this value unset correctly? I'm on holiday until tomorrow so I'm unable to test this atm.

Thanks for the response (pun absolutely intended). I actually popped in to reply to your first one to say the same: I think this is a Template6 problem and I probably should've just used Mustache as I saw in your examples. I went with Template6 because I had some familiarity with TT but I hit another bug after trying to pass my $response.stash hash to the template.
My time would've been better spent figuring out Mustache!

Just to be super clear, you make the post request, then the get request and the get request has the post value still set in the template?

That is correct. I tested from two different clients and one can see the value from the other. Thought I was losing it.

@swaggboi  I'm going to close this as complete, please re-open it if you think think this was improperly closed. Thanks!


Error attaching event log

System.MissingMethodException: Method not found: 'Serilog.ILogger Serilog.LoggerConfiguration.CreateLogger()'.
at Seq.App.YouTrack.YouTrackIssuePoster.GetJsonEventFile(Event1 evt, String issueNumber)    at Seq.App.YouTrack.YouTrackIssuePoster.On(Event1 event) in C:\projects\seq-app-youtrack\src\YouTrackIssuePoster.cs:line 103

Which version of Seq?

This is/was on v4.0.60

Released v1.1.2 with updated dependencies.


Auto-renew certificates on CA change

Describe the bug:
When CA Issuer's certificate is changed then all Certificates created by it became obsolete and are not renewed.
It's problem in systems that use CA Issuer to generate services certificates for internal communication in K8s where CA issuer's certificate is automatically synchronized for use by service's clients. When the CA Issuers certificate is changed then all services get unavailable until their Certificates are manually recreated.
Expected behaviour:
When CA Issuer's certificate is changed then all Certificates that refer to it should be automatically scheduled for renewal to keep them up to date.
Steps to reproduce the bug:
Steps to reproduce the bug should be clear and easily reproducible to help people
gain an understanding of the problem.
Anything else we need to know?:
Alternatively, this behavior could be made configurable e.g. in an Issuer's spec parameter.
Environment details::

cert-manager version:  0.11

/kind bug

/remove-lifecycle stale
I'm also running into this, it would make sense for this to be done for you

Going to close this in favour of https://github.com/jetstack/cert-manager/issues/2478 which outlines a possible solution to the problem too - please add your thoughts/comments there! 😄


Adding Preseed modifying capabilities to role

This patch adds capabilities to modify preseed.
It also changes some defaults (public and known_good should be false), and by default gives '/dev/null' as a file.
Currently no content is returned when no file is given and preseed exists on the MrP server.

Can you explain why you believe the defaults for pubic and known_good should be false?

In my opinion you should put those flags to true after having made sure that the preseed goes all the way. So either you have the knowledge beforehand, in which case you explicitly force those to true in the playbook, or you are testing, in which case if it succeeds you can go through the interface, or modify the preseed via the role.
But if you object to that I'll happily revert everything back to True by default.

@BaptisteGerondeau in my opinion there is no a better default, but I could argue (as operator)
that you have the knowledge beforehand that you the preseed I am uploading, will work (and if not, the role should provide you a way to replace it, indeed).
My suggestion is for you to keep the defaults as they are now , so we can focus on the
relevant part of the code you are proposing.

Thanks Baptiste!


Send PRs

[ ] https://github.com/redis/redis

https://github.com/redis/redis/issues/13551
https://github.com/redis/redis/pull/13558
https://github.com/redis/redis-benchmarks-specification/issues/275
https://github.com/redis/redis/pull/13672

[x] https://github.com/valkey-io/valkey

https://github.com/orgs/valkey-io/discussions/1286
https://github.com/redis/redis/pull/13558#issuecomment-2469596816
https://github.com/valkey-io/valkey/pull/1293

[ ] https://github.com/apache/kvrocks

i saw you have a plan to submit a PR for kvrocks, that's cool, cc @git-hulk


Get rid of LocalStorage

This has been the root of many problems, yet we have another bug related to it.
If the user somehow changes their reward address (only way is to tinker with config file now), and starts from scratch by deleting every folder, the farmedBlocks panel will still show previously farmed blocks under the previous reward address.

[x] For a quick fix, we should check these farmed blocks against the reward address, and only display the ones that are matching.
[ ] For a longer term fix, we should get rid of the LocalStorage completely imo.

The new dashboard design may not display the farmedBlocks, so this issue may be irrelevant in the future. Track the new dashboard from this issue: https://github.com/subspace/subspace-desktop/issues/238


Update Norwegian language default.po

Fixed some typos and added a few new translations to the Norwegian language support.

Perfect. Thank you!


Problem with forking child process

Issue description
Initially I had a following setup for forking a child process (neighbour '.ts' file) using ts-node:
import {fork} from 'child_process'
...
const workerPath = path.join(__dirname, '..', 'workers', 'calculate')
const process = fork(workerPath)
process.on('message', response => {
  console.log('response', response)
})

process.send({hello: 'world'})

The worker file has ts extension in development and js in production.
The worker file has been returning also a response to the main process (it is a single number).
However, after switching to ts-node-dev, I started to receive another response back from the child process:
{
"compile": "/Users/username/work/project/admin/api/src/workers/calculate.ts",
"compiledPath": "/var/folders/4d/t2sjr3s93j3bvm8c6vjm26sm0000gp/T/.…280e6bb65d555c3a57ce68c5110f7a14a9dbfad584ac45.js
}

and the actual worker file is not executed.
Is anything that I'm doing wrong?
I'm launching my application with the following command:
PORT=4000 ts-node-dev -r tsconfig-paths/register --watch api --project  ./api/tsconfig.json ./api/src

Context
OS version (is it docker or host?), ts-node-dev version
MacOS BigSur 11.6
ts-node-dev: 1.1.8
Did you try to run with ts-node?
Yes, it works correctly with ts-node.
Did you try to run with --files option enabled?
Yes, nothing changed.
Did you try to run with --debug option enabled?
Yes, nothing changed.
Do you have a repro example (git repo) with simple steps to reproduce your problem?

I have a similar problem.
I have used Worker in a TypeScript file and I run my project using:
"start": "tsnd --inspect=<IP_ADDRESS>:9269 --ignore-watch node_modules --respawn --transpile-only -r tsconfig-paths/register src/index.ts",
But I have seen that the worker never runs doing that but in production runs properly:
"start:prod": "cross-env NODE_ENV=production node -r ts-node/register -r tsconfig-paths/register src/index.ts",
The worker start to run properly when I have removed --transpile-only from the start command.
Now it is running properly but I have no idea why is doing that. Someone has any idea?
Thank you very much for your time!
BR
Windows 10 Pro
ts-node: 10.1.0
ts-node-dev: 1.1.8


Table Create options do not match REQL api docs for NodeJS

Use case: Create a table with shards and replicas
Options Passed:

{
    "primaryKey":"blog_id",
    "durability":"hard",
    "shards":2,
    "replicas":2
}

Output:
{ [ReqlDriverError: Unrecognized option shards in tableCreate after:
r.db("test")
Available options are primaryKey , durability , datancenter ]
message: 'Unrecognized option shards in tableCreate after:\nr.db("test")\nAvailable options are primaryKey , durability , datancenter ' }
The same query works fine in Data Explorer.

Thanks for the report, looks like I forgot to update this for 2.0. I'll push a fix in a few minutes.

Wow, this is probably the fastest reply on Git.
Thanks!

Fixed in 2.0.6 -- thanks @suparngp


[PHX-236] Add some readme documentation including specifying the expected metad…

…ata json format, and some mermaid diagrams explaining various request flows.

Codecov Report

Merging #24 (a7d88af) into main (733c0e1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   77.06%   77.06%
=======================================
  Files           5        5
  Lines         375      375
=======================================
  Hits          289      289
  Misses         68       68
  Partials       18       18

Flag
Coverage Δ

unittests
77.06% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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 733c0e1...a7d88af. Read the comment docs.


Update .Net SDK to 5.0

Releasing new Host versions.
V3 Release
V2 Release

PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which has an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] If applicable, the PR references the bug/issue that it fixes in the description.
[ ] New Unit tests were added for the changes made and CI is passing.

cc @CooperLink - as changes might impact your inflight PR!


Allow remote read to not add external labels

What did you do?
Upgrading to Prometheus 2.20.0 our setup that makes use of thanos-remote-read stopped working.
This is because now external labels are included in the request sent to remote read endpoints. It seems like this is a behaviour change over 2.16.0 which we were previously running.
c4eefd1b3aef4d2f557f67ffc7c192ba1a63937d appears to have fixed what may be considered a bug, external labels weren't included in the remote read query.
This is because:
type externalLabelsQuerier struct {
  storage.Querier

Embedding the Querier embedded SelectSorted as well as Select, but externalLabelsQuerier only overrode Select, so the next is called directly when SelectSorted is called on externalLabelsQuerier.
What did you expect to see?
It seems like this behaviour is as intended(?), but we accidentally relied on a behaviour that was possibly a bug.
We would like to add an option to remote_read to skip adding the external labels (e.g. add_external_labels: false, with a default of true). Combined with required_matchers this allows bringing data into a Prometheus that has been aggregated outside of it in a Thanos setup.

I think that is a fair point :+1:
cc @brian-brazil @roidelapluie WDYT?

Yes, I like this.
Should it be a simple on/off flag or something more complex, along the lines of relabel_configs?

What's the use case for this?
It has always been the intended since 2.0 that external labels are included in remote read requests (unless there's a matcher for one of them), it was indeed a bug if that was not happening.
Otherwise you'd pull in data from other Prometheus servers that wrote to the same remote storage system.
If you want data from a different Prometheus (i.e. one that hasn't the same external labels) a user has to explicitly request this in their selectors.

Combined with required_matchers this allows bringing data into a Prometheus that has been aggregated outside of it in a Thanos setup.

This is not the intended use for required_matchers. It's meant for non-storage data along the lines of  https://www.robustperception.io/promql-queries-against-sql-databases-using-a-read-adapter
, which would simply ignore extraneous labels.

along the lines of relabel_configs?

Relabeling works on labels, not selectors.

Relabeling works on labels, not selectors.

External labels are labels.

What's the use case for this?

https://github.com/G-Research/thanos-remote-read/blob/master/docs/ruler.md explains it, essentially bringing some data into a Prometheus setup, that comes from elsewhere in a Thanos setup.
(Once Thanos has offline duplication of Prometheus replica data -- very close! -- it could also be useful to query that data, as pure remote read wouldn't work anymore. Although that would likely need something more akin to relabelling.)

This is not the intended use for required_matchers [...] which would simply ignore extraneous labels

I suppose we could just pass labels to ignore to thanos-remote-read. I probably would have done that to start with if I'd realised this was actually a bug rather than a feature...

essentially bringing some data into a Prometheus setup, that comes from elsewhere in a Thanos setup.

That example isn't quite enough for me to figure out what's going on. What sort of data is it that is being pulled in?
It sounds to me like this this is all working exactly as intended, and its the PromQL query that needs altering if it wants to explicitly pull in data that was "meant for" a different Prometheus.
Also the recording rule there isn't following best practices, as thanos is (presumably) not its sole relevant label name and it's missing an operation.

That example isn't quite enough for me to figure out what's going on. What sort of data is it that is being pulled in?

Sorry, I can't really talk about specifics, but two more concrete use cases are:

Calculating a total of something across sharded Prometheus instances, where we would like the alerts to not have a hard dependency on Thanos, but if we can add some annotations based on querying that data it is very helpful.

Imagine in a thanos-ruler a rule like:
- record: somelabel:things:sum
  expr: sum by (somelabel) (things_total)

Where things_total comes from several Prometheus instances. In particular that ends up with some external labels like ruler_cluster, but not prometheus. If a Prometheus instance doesn't have external labels configured this works fine.

With Geras, our frontend to OpenTSDB, we are slowly migrating data from OpenTSDB, but being able to query still it is very useful (particularly to sanity check new instrumentation). This is kind of close to the database example, but having to explain to people they need to put {source="geras",prometheus="",prometheus_replica=""} in a query is rather confusing as there isn't another Prometheus involved, if we see the required_matcher, then having an option to not require those labels makes sense to me.

(If you consider that remote read is offered as an API to another team, it's a bit of an API violation that this depends on how another team chooses to configure their external labels. Maybe another approach could be to actually put a list in the remote read request of the names of the external labels.)

two more concrete use cases are:

That's enough to work from.

Where things_total comes from several Prometheus instances. In particular that ends up with some external labels like ruler_cluster, but not prometheus.

Okay, so in that case it's the query that needs adjusting. The required matchers is superfluous from a semantics standpoint (it's only an optimisation) this is normal reading global data back from remote storage.

If you consider that remote read is offered as an API to another team, it's a bit of an API violation that this depends on how another team chooses to configure their external labels.

It's not, it's primarily a way to read back the data that you have previously written via remote write. With an opt-in way to read data that other Prometheus servers have written - which is basically what we have here.

We look at this in the bug scrub, and this does seem to be the correct and desired behaviour - if a user wants data that originates from another Prometheus via remote read they must explicitly request this to avoid confusion. To me it also sounds like you may wish to reconsider the layout of your external labels.

We'll workaround this elsewhere.


Fix issue #4036 - DbContext.X.Where(x => x.YRef.ID == 1) throws "The binary operator Equal is not defined for the types Nullable..."

Issue was that the navigation property -> foreign key optimization was too aggressive. Problem with the optimization is that sometimes FK is of different type than PK, and it may cause type inconsistencies.
We incorrectly assumed that it can be performed for required navigations. However one can declare required navigation that has nullable FK, while PK is non-nullable.
Fix is to compare types of PK and FK instead.

@divega

:shipit:


Dev-Lite Test: Calculus Grapher 1.0.0-dev.13

Dev-Lite Test
Mentions: @veillette @amanda-phet @kathy-phet @KatieWoe
Simulation links

github repository for issues
phet top level directory
sim: all_phet.html

Test Matrix

[x] Liam / iPad

Tester = LM
Device =
    (Seemingly has no name. Also has no cart sticker. Black with black case. Lion logo on the case.)
    iPad Model MR7F2LL/A
    iPadOS 16.3
    Safari 16.3 Mobile
Time = 1.5 hour

[x] Emily / Chromebook

Tester = E2
Device = Lenovo 100e Chromebook gen 2 MTK
ChromeOS Version 110.0.5481.112 (32-bit)
Time = 1.5 hr{max 2 hours}

Features included

PhET-iO
Alternative Input
UI Sound
Sonification
Description
Voicing

Focus and Special Instructions
This is intended to be an early/short dev test, since this sim is still being implemented.
The focus of this dev test is responsiveness of the user interface. In each screen, the graph labeled f(x) is interactive.  You can click or click-drag in this graph to modify the curve. We are interested in whether these interactions are sufficiently responsive, especially on performance-challenged platforms.
Please choose test platforms as you see fit, but start with performance-challenged platforms. In the Test Matrix section above, indicate the specific devices that you used for testing, including:

device name (if it has one)
device type (e.g. "Lenovo 100e Chromebook")
browser and version (e.g. "Chrome 109")
OS and version (e.g. "iPadOS 16.3")
anything else we would need to later identify the specific test device that was used

In addition to overall subjective impression of responsiveness, here are some specific things to test:

In the Derivative screen, compare responsiveness with 'Tangent' checkbox checked and unchecked.
In the Integral screen, compare responsiveness  with 'Area Under Curve' checkbox checked and unchecked.
The Lab screen is the worst case, since it shows 3 graphs at a time. How does its responsiveness compare to the other screens?

Issues to Verify
None.

For QA...

General features

What to Test

Click every single button.
If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Try to include browser version numbers
If there is a console available, check for errors and include them in the Problem Description.
Run through the string tests on at least one platform, especially if it is about to go to rc.
Check the Game Up harness on one platform.

PhET-iO features

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.

Accessibility features

What to Test

Specific instructions can be found above.

Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is
a list of features that may be supported in this test:

Alternative Input
Interactive Description
Sound and Sonification
Pan and Zoom
Mobile Description
Voicing

Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.
Test all keyboard navigation inputs (if applicable).
Test all forms of input with a screen reader (if applicable).

Screen Readers
This sim may support screen readers. If you are unfamiliar with screen readers, please ask Katie to introduce you to
screen readers. If you simply need a refresher on screen readers, please consult the
QA Book, which should have all of the information
you need as well as a link to a screen reader tutorial made by Jesse. Otherwise, look over the a11y view before opening
the simulation. Once you've done that, open the simulation and make sure alerts and descriptions work as intended.

Platforms and Screen Readers to Be Tested

Windows 10 + Latest Chrome + Latest JAWS
Windows 10 + Latest Firefox + Latest NVDA
macOS + Safari + VoiceOver
iOS + Safari + VoiceOver (only if specified in testing issue)

Critical Screen Reader Information
We are tracking known screen reader bugs in
here. If you find a
screen reader bug, please check it against this list.

Keyboard Navigation
This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a
screen reader.
Magnification
This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel
controls. Please test magnfication and make sure it is working as intended and well with the use cases of the
simulation. Due to the way screen readers handle user input, magnification is NOT expected to work while using a screen
reader so there is no need to test this case.

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

General Notes
The performance on the derivative, integral, and advanced screens was fine. The lab screen's performance is slightly worse.
The circled line in the below screenshot is a bit "fuzzy". This happens to the curves/lines in this sim a lot on the iPad I was using to test.
Integral Screen Notes
With the area under curve checkbox checked, I've seen some weirdness. If you click buttons A and B, make a tall "high frequency" curve, then press button C, make the curve as vertical as possible, then click button D to move the curve to the top of the screen (or the bottom), then press button C again to mess around with the curve, you start to see some interesting dots:

These dots move around as you move the curve, and they're not completely solid; you can see the background color coming through with some of them.
Lab Screen Notes
Initially, with no configuration, the performance is noticeably worse than the other screens. However, if you click the button that allows you to create a piecewise function, the performance degrades to the point where the curve being drawn is well behind where your finger is on the screen.

Tester = E2
Device = Lenovo 100e Chromebook gen 2 MTK
ChromeOS Version 110.0.5481.112 (32-bit)
Time = 1.5 hr{max 2 hours}

Testing with the chromebook I had the same experience as Liam, except that I did not have the dots on the Integral screen.
On the Lab screen, the performance is significantly worse (mostly with piecewise function) but I would still consider it usable. This chromebook is not touchscreen, and the lag might just be less obtrusive with trackpad input than touch input.

Thank you QA.
Next step is for to evaluate these results, and see if there are any next steps.  @veillette and I will do that when he returns.

@liammulh's report of "interesting dots" is being tracked in https://github.com/phetsims/calculus-grapher/issues/241.
@liammulh's report of lines being "a bit fuzzy" (antialiasing) is being tracked in https://github.com/phetsims/calculus-grapher/issues/242.
@liammulh and @stemilymill's performance feedback/concerns are being tracked in https://github.com/phetsims/calculus-grapher/issues/243.
I believe that covers all of the QA feeback from above comments.

In 2/27/2023 Calculus Grapher design meeting, we decided that we need further performance testing with some PhET-iO-only features enabled (labeledLines, labeldPoints).  I polled @emily-phet and @liammulh, and we decided to continue with this issue for futher testing, since that testing should involve the same devices.  I’ll assign this issue back to @emily-phet and @liammulh, with specific instructions, when it’s ready for further testing.

@stemilymill @liammulh please do another round of performance testing when you have time. 30-60 minutes should be sufficient.
Here are the links for the new dev version:

brand=phet: https://phet-dev.colorado.edu/html/calculus-grapher/1.0.0-dev.21/phet/calculus-grapher_all_phet.html
brand=phet-io: https://phet-dev.colorado.edu/html/calculus-grapher/1.0.0-dev.21/phet-io/

Again we are interested primarily in evaluating responsiveness of the sim when clicking or click-dragging in the graph labeled f(x).   What's different about this test is that we'll be turning on features that are only available via PhET-iO. These features are called "labeled lines" and "labeled points".  Here's a screenshot that shows these features made visible using query parameter ?labeledLinesVisible=true&labeledPointsVisible=true. The labeled lines are the vertical dashed lines with labels A,B,..F.  The labeled points are the point on the f(x) curve labeled A,B,...F.

Please test on the devices that you used previously, or similar devices if they are not available. Please note the device when reporting your results.
Specific things to test:
(1) Compare the brand=phet version with and without query parmaters ?labeledLinesVisible=true&labeledPointsVisible=true.  How is responsiveness affected? Is the sim usable? Is performance OK when the "Tangent" or "Area Under Curve" checkbox is check?  How about on the Lab screen, where 3 graphs are visible?
(2) Repeat (1) with brand=phet-io version, by clicking the Simulation link in the wrapper index.  This runs the standalone PhET-iO version. How does performance compare to brand=phet? Is the sim usable?

No problem @liammulh.  FYI, our goal is to start QA dev testing by Monday, March 20.   So if we can get this performance testing done by end-of-day Tuesday, March 14, that would be great.

Tester = E2
Device = Lenovo 100e Chromebook gen 2 MTK
ChromeOS Version 110.0.5481.181 (32-bit)
Time = 1 hr

Performance seems improved from dev.13.  Even in phet-io standalone and with
?labeledLinesVisible=true&labeledPointsVisible=true , I noticed slightly less lagging in dev.21 while using the freeform tool than I did in the previous round of testing with dev.13.
The only odd thing I did notice was that the labeled points are visible when the plotted curve extends beyond the area of the graph (attempting to add image from another device due to chrome issues)

In https://github.com/phetsims/calculus-grapher/issues/278, we identified (and addressed) a significant amount of redundant work that was being done while the user is manipulating the curve.  The sim is now noticeably snappier and more responsive.  So rather than have @liammulh test what is now an old/irrelevant dev versions, we're going to stop this test here, and close this issue.
@stemilymill @liammulh thanks for your testing efforts.


Add new cask zulip

https://www.zulip.org/index.html
The Zulip desktop app is a native app wrapping the Zulip web application, adding rich desktop notifications to the experience. We highly recommend either using the Zulip desktop app or pinning the Zulip tab in your favorite web browser.

Thank you for the contribution. It was merged directly as 35a1debca3b0c98a650fc2ef4d3cf395328d67ce to keep commit history cleaner. Your contribution is still credited to you.


Source of 0.0.10

Hello, I saw via renovate that the npm package has been upgraded to 0.0.10 but the repo shows 0.0.9 with the latest change from 2022.
https://app.renovatebot.com/package-diff?name=suspend-react&from=0.0.9&to=0.0.10
Is it not being developed in a branch of this repo?

@drcmda noticed also with today's 0.1.0 minor.


Memory Leak

We found a major memory leak in your code

you allocate memory concat() which is hardly ever freed afterwards: very bad
concat is used twice in tableName(), but at least one free() on the allocated memory is missing
there is also a macro CONCAT_TABLE for the function tableName(), that is used multiple times for database queries, the allocated memory (2x) is never freed
the longer your program runs the more mem is allocated and never free, at the end malloc will fail when system is out of memory resulting in a segfault

addressed in commit (9a2752a58643ce871d229bd8049a5d5a4bf6dc96)

end of project


python-language-server: fails to build on macOS

Not entirely sure what's the cause, perhaps something to do with .NET.
[/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Threading.Tasks 4.0.11 depends on Microsoft.NETCore.Targets (>= 1.0.1) but Microsoft.NETCore.Targets 1.0.1 was not found. An approximate best match of Microsoft.NETCore.Targets 1.1.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Xml.XDocument 4.0.11 depends on System.Diagnostics.Tools (>= 4.0.1) but System.Diagnostics.Tools 4.0.1 was not found. An approximate best match of System.Diagnostics.Tools 4.3.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Xml.ReaderWriter 4.0.11 depends on System.IO.FileSystem (>= 4.0.1) but System.IO.FileSystem 4.0.1 was not found. An approximate best match of System.IO.FileSystem 4.3.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Xml.ReaderWriter 4.0.11 depends on System.IO.FileSystem.Primitives (>= 4.0.1) but System.IO.FileSystem.Primitives 4.0.1 was not found. An approximate best match of System.IO.FileSystem.Primitives 4.3.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Linq.Expressions 4.1.0 depends on System.Reflection.Emit.Lightweight (>= 4.0.1) but System.Reflection.Emit.Lightweight 4.0.1 was not found. An approximate best match of System.Reflection.Emit.Lightweight 4.3.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Runtime.InteropServices 4.1.0 depends on System.Runtime.Handles (>= 4.0.1) but System.Runtime.Handles 4.0.1 was not found. An approximate best match of System.Runtime.Handles 4.3.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj : warning NU1603: System.Xml.ReaderWriter 4.0.11 depends on System.Threading.Tasks.Extensions (>= 4.0.0) but System.Threading.Tasks.Extensions 4.0.0 was not found. An approximate best match of System.Threading.Tasks.Extensions 4.3.0 was resolved. [/private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/PLS.sln]
  Restore completed in 1.46 sec for /private/var/folders/s1/sm71lqk553d1_f8drd3tz_5r0000gn/T/nix-build-python-language-server-2020-06-19.drv-0/source/src/Parsing/Test/Microsoft.Python.Parsing.Tests.csproj.

@siraben did you try: https://github.com/NixOS/nixpkgs/pull/89150

@mjlbach I tried it but it fails to build as well

build log
$ nix-shell -p nixpkgs-review --run "nixpkgs-review pr 89150"
these paths will be fetched (0.04 MiB download, 0.15 MiB unpacked):
  /nix/store/q1my4x1jgaq1w1a84kn9m5zy1jj439v3-nixpkgs-review-2.4.0
copying path '/nix/store/q1my4x1jgaq1w1a84kn9m5zy1jj439v3-nixpkgs-review-2.4.0' from 'https://cache.nixos.org'...
$ git -c fetch.prune=false fetch --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/89150/head:refs/nixpkgs-review/1
remote: Enumerating objects: 55, done.
remote: Counting objects: 100% (55/55), done.
remote: Total 108 (delta 55), reused 55 (delta 55), pack-reused 53
Receiving objects: 100% (108/108), 278.81 KiB | 389.00 KiB/s, done.
Resolving deltas: 100% (69/69), completed with 28 local objects.
From https://github.com/NixOS/nixpkgs
 * [new branch]              master               -> refs/nixpkgs-review/0
 * [new ref]                 refs/pull/89150/head -> refs/nixpkgs-review/1
$ git worktree add /Users/siraben/.cache/nixpkgs-review/pr-89150-4/nixpkgs 62e614262ad4b9df3d40693350f516794e95ecda
Preparing worktree (detached HEAD 62e614262ad)
Updating files: 100% (22877/22877), done.
HEAD is now at 62e614262ad fzf: 0.23.0 -> 0.23.1
$ git merge --no-commit 99d252b18277900c11079c88eeef59cb98a83734
Auto-merging pkgs/development/dotnet-modules/python-language-server/default.nix
Automatic merge went well; stopped before committing as requested
$ nix build --no-link --keep-going --option build-use-sandbox relaxed -f /Users/siraben/.cache/nixpkgs-review/pr-89150-4/build.nix
builder for '/nix/store/5jja2bmfa57as43pwmkbswylvbw1zacg-python-language-server-2020-06-19.drv' failed with exit code 134; last 10 log lines:
     at System.String.ToLowerInvariant()
     at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetArch()
     at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment..cctor()
     --- End of inner exception stack trace ---
     at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
     at Microsoft.DotNet.Cli.MulticoreJitProfilePathCalculator.CalculateProfileRootPath()
     at Microsoft.DotNet.Cli.MulticoreJitActivator.StartCliProfileOptimization()
     at Microsoft.DotNet.Cli.MulticoreJitActivator.TryActivateMulticoreJit()
     at Microsoft.DotNet.Cli.Program.Main(String[] args)
  /nix/store/8h5awvnjzp0rgkby7s8fgzqg011mpzh7-stdenv-darwin/setup: line 1316: 24996 Abort trap: 6           dotnet restore --source /nix/store/x5wcdnklrnd4m0mr5bxjla5swb39wdq2-python-language-server-nuget-deps-2020-06-19/lib -r osx-x64
cannot build derivation '/nix/store/fbblfhhmza0ylwmc4p3bxzdzlz4fijng-env.drv': 1 dependencies couldn't be built
[12 built (1 failed), 213 copied (742.4 MiB), 217.3 MiB DL]
error: build of '/nix/store/fbblfhhmza0ylwmc4p3bxzdzlz4fijng-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/89150
1 package failed to build:
python-language-server


Remove .NET 5.0 TFM.

This fails to build. See AppVeyor link for details.

This why it is draft:)
The problem there is that UseWindowsForms required net5.0-windows which brings a lot of additional dlls which .NET linker simply fails to trim :(
I guess the intent is to make end project simple but it hurts libraries by adding unused requirements.
I will check if it is possible to add NuGet packages directly and avoid this property.
It might be non compatible with net6.0 if MS changes anything there, however I don’t see a good reason for them to break anything.

Ok. I was not able to get it to work using just packages. I hope you have better luck.

Yeah, it is more complicated :)
There is an implicitly used target which imports other targets when UseWindowsForms is true, and then adds the relevant directory for the WinForms references.
I am sure it is possible to extract these steps from the targets and make it work.
Quite tedious but doable.

Sorry, was busy :)
I have some progress.
This compiles:
csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>

    <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.NETCore.App" />
    <FrameworkReference Include="Microsoft.WindowsDesktop.App" />
  </ItemGroup>

</Project>

However it doesn't help so much with trimming for unknown reason.

Found a solution.
The problem was with FrameworkReference.
By default it is a transitive reference meaning once you declare:
    <FrameworkReference Include="Microsoft.WindowsDesktop.App" />

Every dependent project must have windows TFM.
It is possible to make it non transitive using:
    <FrameworkReference Include="Microsoft.WindowsDesktop.App" PrivateAssets="all" />

Which perfectly solves the issue.
Docs: https://github.com/NuGet/Home/wiki/[Spec]-FrameworkReference-in-NuGet

I see the build fails on AppVeyor while it doesn’t on my machine. Perhaps this is due to preview 6.0.
I’ll install VS Preview and see what is the issue.

@NN--- I'm interested in your motivation to go contrary to the guidance for Windows specific projects using the -windows TFM? This seems like a lot of effort to work around a new .NET principle. I'm worried that adopting it will just cause more work later as the TFM becomes more embedded.

The issue is that dotnet linker doesn’t work well.
If you have TFM Windows it adds more than 60MB overhead even if you don’t use anything Windows related.
Having it 5.0 without TFM makes it possible to get a much smaller output.
I don’t think the effort is so high and will be ever broken in the future.
It works well for me right now, just small tuning to make it perfect.

I've changed the Appveyor config to use the non-preview version of VS 2019 and am rebuilding your commit.

I see VB doesn’t play well with this change. This why I thought about C# instead of VB.
I’ll see how to workaround.

Found the VB problem.
It just needed explicit Import.

I've changed the Appveyor config to use the non-preview version of VS 2019 and am rebuilding your commit.

The problem was unrelated to 6.0 preview.
There was UseWindowsForms which was needed to be removed.
It should compile now successfully.

@dahall Compiles successfully !
As you can see the change is not big, mostly removing -windows TFM.

Thanks for cleaning up those items. It helps me understand and track the changes. I appreciate all your work on this!

No problems.
It helps reducing my application from 80MB back to 18MB as it was in older framework version without rewriting :)
And saves time for other developers 📦

I am writing a post about this nice technique.
Anyway it is very sad that .NET SDK cannot do the obvious work for you.

I was considering writing a post about it too. Reducing the file size using this method could be very helpful to others. I'd be happy to edit the post once you're done or co-author if you're interested.

I made one in Russian and will translate it to English later.
I’ll put a link here.

Can you publish an update at least as beta ? Then I could push a much smaller package to clients :)

I made one in Russian and will translate it to English later.
I’ll put a link here.

I'm happy to translate and make any edits. What format is this file in (.md, .docx, etc.)?

Can you publish an update at least as beta ? Then I could push a much smaller package to clients :)

I had a few other updates that I've added since the last release that I need to finish testing. I should be able to get a full release out later today.

They use WYSIWYG editor which is little bit annoying :(
Here English translation
https://habr.com/ru/post/549530/


Explainable AI for Sentiment Analysis For English Language

This MSc student research task may or may not end-up with actual code submitted into this repository
Main Goal: Explainable AI for Sentiment Analysis For English Language
Subgoals:

Explore possibilities of explainability of sentiment analysis problem solutions for English language in two different aspects:
1.a) Given a model trained on a corpus, extract the significant features or combinations of features indicative to particular sentiments
1.b) Given a discernment of a sentiment for a text, explain which significant features or combinations of features in the exposed text were involved into making the discernment
The models used for the study may be identified during the study, better have few models to compare
The models in use should be trainable for different domains like, need to use at lease one domain in the scope of work, but trying more than one domain may be a plus
3.a) positive/negative/neutral
3.b) interrogative/declarative/directive/imperative
3.c) like/love/wow/haha/sad/angry (Facebook style)
3.d) certain/uncertain/neutral
The models in use should be to provide multiple sentiment discernments per exposed text like sentiment may new "neutral" or "negative" or "positive" or "positive and negative" (mixed feelings)

For the reference, the following information may be used (or not used):

Collection of resources on past works on Sentiment Mining: https://docs.google.com/document/d/1dG_wz8UJVi0CTy3FzWzSHRcrpYHG33utqoK27epbIQM/edit
MSc thesis on sentiment analysis by Juan Fernando Pinzon ad NSU, year 2019
Collection of posts from Steemit social network

The first round of work would include the following:

Development on the written overview of the subject field, enumerating
1.a) different models (available as open source) of sentiment analysis for English
1.b) different models or approaches of explainable sentiment analysis for English
Trying to apply explainable sentiment analysis using Lime in based on one of the models found above
Continuous learning on explainable AI, involving:
3.a) Book https://www.springer.com/gp/book/9783030289539
3.b) Approaches highlighted in the following presentation:
https://www.youtube.com/watch?v=ZusjVvxEinw
http://aigents.com/papers/2019/AI-state-2019-en.pdf


Add reference to longflex contract

Hello Narve,
I understand the idea behind your proposal but we imagined this in a slightly different way.
In our vision, a market platform already knows which LT contract were accepted in the past for each portfolio and each time period. We then prefer to link automatically on the platform side based on the portfolio and the timestamp. (i.e. if there was an accepted LT offer of portfolio X for period Y, then, when that portfolio X will submit a ST offer for period Y it will be automatically linked)
Is there a reason to prefer asking the user to explicitly put this link in the request? What happens if he forgets?

Hello Narve,
I understand the idea behind your proposal but we imagined this in a slightly different way. In our vision, a market platform already knows which LT contract were accepted in the past for each portfolio and each time period. We then prefer to link automatically on the platform side based on the portfolio and the timestamp. (i.e. if there was an accepted LT offer of portfolio X for period Y, then, when that portfolio X will submit a ST offer for period Y it will be automatically linked)
Is there a reason to prefer asking the user to explicitly put this link in the request? What happens if he forgets?

Hi,
Your vision is a probable solution.
However, in some of our current projects, we do have customers (FSPs) that have made several LongFlex availability contracts with the same Portfolio. In order for us to do settlement, we need to know which contract a specific order is linked to, which is why we use LongFlexContractId on ShortFlex orders.

Building further on @OysteinDE comment: So, in our case, the buyer would need to provide longflexContractId for us to link it.
Furthermore, an FSP is free to provide shortflex orders that are outside any contracts.
I suggest that it is up each FMO whether they:

require longflexContractId in order to link orders to longflex contracts (NODES)
automatically link orders to longflex contracts (N-Side)
a combination (link if single contract)

ok for us :)


Optimize dp etc.

Is this PR adding new feature or fix a BUG?
Add feature & Fix BUG.
Is this pull request related to any issue? If yes, please link the issue.

Ready for merging？

Ready for merging？

Yes, please. :)


Actors interactive section

Create a separated section for scene actors, so they do not get mixed with objects.

For simplicity, order the interactives and prioritize actors and players.


kitar belau

kitar belau created by<EMAIL_ADDRESS>on 2017-01-23 13:17:13

<EMAIL_ADDRESS>replied, Kitar Belau (or probably Kita er Belau?) is a phrase used in a couple of songs. Â Last spring I asked some folks what it meant and they told me "We Palauans". Â Here is a mashup example from two different songs. Â First is Wataru Elbelau and then Frederick Olsudong singing the first line of the song Kitar Belau (or, also spelled Chitar Belau, or Guitar Belau which I know is incorrect, but calls to mind a good punk song): Â "Kitar Belau el Seinengdang ..." = We Palauans who are the youth (?) and then followed by the an extraction from the great Ngardmau song, Arumi no Singoto (aka Kebruka) with the line "Kitar Belau el di mekekerei" [We Palauans are a small place (compared to the rest of the world)] - the context of the Kebruka verse is that at the end of the work day they are at the top of a hill in Ngardmau looking out over Babeldaob.
My question is, what is the proper spelling of this word and is it missing from Tekinged?
http://hellaholler.com/ouchacha/mp3/kitar.mp3

<EMAIL_ADDRESS>replied, Aki tang er Belau becomes ---akitarbelau el seinendang....

<EMAIL_ADDRESS>replied, Thanks.  I thought it might be something like that ...

<EMAIL_ADDRESS>replied, I've been expanding out "words" to be gramatically correct except where doing so significantly changes the pronunciation.  This is such a case, I think.  "Aki tang er" doesn't easily become "kitar", which is how it appears to be pronounced.  I'd propose this as a contraction.

<EMAIL_ADDRESS>replied, The correct spelling of "Aki ta er" is actually "Aki ta er" not "Aki tang
er."  The rule for words ending in 'ng' is that if they are followed by
another word and the 'ng' is not pronounced, then you drop it.  This rule I
like because it brings spelling closer to pronunciation.
Unfortunately, the spelling rules are not always consistent because
sometimes they keep unpronounced letters (e.g. they keep the 'e' in 'me ak'
even though it's pronounced as 'mak').

<EMAIL_ADDRESS>replied, I was thinking it was correct:  aki tang (we are one person) er Belau (of Palau) as opposed to aki ta el Belau (we are one Palau).  Isn't the word "el" supposed to connect numbers and the things they count?  But I'm still learning ...

<EMAIL_ADDRESS>replied, I agree with that.  Those pesky connecting words have baffled me for years.  In Joseph's grammar book (1975 edition is what I have), pages 28-29 lay out the uses of the connecting word "el", which includes separating numbers and what they count.


[release-1.8] Add release notes for multicluster docs and deprecation of .global

This is an automated cherry-pick of #29650

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-k8s-tests_istio_release-1.8
70c3bd49b30ccf8a25eda054cb3d490122d0f59c
link
/test integ-telemetry-k8s-tests_istio_release-1.8

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@GregHanson FYI, when we generate release notes for 1.8.2, we might need special treatment to the notes added by this PR to make sure it shows up in the 1.8 upgrade note.

/retest


pull request for e2e test at 01/30/2017 21:56:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Underlying Issues

[x] findModule.byProps and findModule.byDisplayName aren't written correctly, could cause issues soon

[ ] {WONTFIX} Injecting the library before window.webpackChunkdiscord_app is loaded, as a userscript does, can cause issues the way a userscript works (running inside a sandbox) doesn't permit access of the window.webpackChunkdiscord_app, and bypasses that would generally work do not due to CSP

[ ] Docs aren't currently up to date and frankly aren't the best at the moment

[ ] Theme injection cannot be disabled

[x] Lots of unnecessary logging

completed first and last checklist item with most recent nightly commit.

can easily handle number 4 with discord's __SECRET_EMOTION__.injectGlobal("THEMECSS"); and __SECRET_EMOTION__.flush(); functions, though they can break some parts of certain themes


title_format plot option now includes dimensions

As the title says this allows more customizing the plot title_format as suggested in #425.

The title_format plot option now allows enabling or disabling dimensions in the title. The only way I was able to do so without losing flexibility was to let the title accept a separator variable: "{label} {group}{separator}{dimensions}". Since bokeh doesn't support newline characters I'm tempted to remove this again and simply set different default title_format, for matplotlib I'd have "{label} {group}\n{dimensions}" and for bokeh I'd have "{label} {group} - {dimensions}".

Looks good for merging, the display changes are the deletion of trailing whitespace in the titles when no label is supplied.

Ok. Tests are passing. Merging.


AWS Picchu Edit page, images & license.

This PR adds a new page for the AWS Picchu Edit. It does not yet have proper links to the downloads. I will update it when those are available.

Okay, I fixed the problems I had earlier, and updated with the real links to the files. This is ready for review.

Also: I recommend "Squash and Merge" when this is approved.

Fixed download sizes (those were from an earlier revision of the assets). Thanks for catching that!

"Squash and merge" is "not enabled for this repo" ... hope that's OK


Fix Issue 15419 - "@@@BUG@@@ the size of China"

This is a fix for Phobos Issue #15419: std.conv.parse() does not accept string literals.
I saw someone complaining about this on dlang.org "Learn". This also resolves the bug report embedded in a (pre-PR) unittest, with the somewhat silly label, @@@BUG@@@ the size of China.
For now, I have added a simple wrapper to handle character arrays, specifically; I don't see an easy way to support arbitrary rvalues. The long-term solution to this problem would be scope ref, but who knows when that will be fully implemented...

I just realized this is what auto ref is for. I'll have to do some refactoring in order to avoid adding major template bloat, though.

Why re-invent to!int?

Mostly because I didn't realize to included overloads which forward to parse. (And apparently neither did the person on "Learn".)
They do have meaningfully different semantics, though - parse

does not throw if it could not convert the entire input.

However, I admit that doesn't seem like a useful difference with string literals.
Should I change this to just clean up the unittest so nobody gets confused by it in the future?

Yes please.  Perhaps it would avoid future confusion if the documentation for parse pointed out that to works with rvalues.

@yebblies I improved the docs for parse a bit. Note that I have zero experience with ddoc, though, so you might want to scrutinize that part a little more closely.

I don't have much ddoc experience either but it looks ok.

Auto-merge toggled on


Update link on shopify landing

📝 Changed routes:

/partner/shopify

(view full size)

Commit bee2e2e7c959e3534f3164ee5e417b7a5bea6426 (https://thirdweb-kt79dohnr-thirdweb.vercel.app).