Draft: Jakarta EE 9

This PR is a work-in-progress with the target to migrate CXF to Jakarta EE 9.
Any help is appreciated, as I am a Jakarta REST Committer and JAX-RS Expert Group member, but still CXF beginner... ;-)
Status: Package renames mostly done, now trying to get it build again... Some dependencies still broken.

Hi @mkarg , open question: in a lot of projects we use shade plugin to relocate and keep both javax and jakarta artifacts (since javax are and will be mainstream for some years it makes sense to keep it the default until the spec breaks something IMHO). Wouldn't it enable cxf jakarta usage without all that work just setting up shade config in the parent?

Hi @mkarg , open question: in a lot of projects we use shade plugin to relocate and keep both javax and jakarta artifacts (since javax are and will be mainstream for some years it makes sense to keep it the default until the spec breaks something IMHO). Wouldn't it enable cxf jakarta usage without all that work just setting up shade config in the parent?

I wonder how that relocation shall actually work like? Can you outline the idea?

@mkarg parent pom would define the shade rules for jakarta (https://github.com/apache/openwebbeans/blob/master/pom.xml#L353) and children would automatically create an artifact with jakarta classifier. Only trick with this is that you exclude all transitive deps to not import back a javax dependency (https://github.com/apache/openwebbeans/blob/master/src/site/apt/jakarta.apt) but this is trivially solved adding one or multiple jakarta bom doing it properly (guess we only need jaxrs and jaxws minimal poms).

Thanks for working on it, @mkarg , we have an umbrella ticket for Jakarta EE 9.0 migration (https://issues.apache.org/jira/browse/CXF-8371). There is a number of open questions with CXF dependencies (see please https://github.com/spring-projects/spring-framework/issues/25354 for example), the shading + relocation would probably cover most of the cases (we may need to look for any Class.forName usages + service loaders if any).

@mkarg parent pom would define the shade rules for jakarta ...

I wonder what you like to gain with that and for how long? Jakarta EE 9.1 published in 2021 will already contain new functionality that MUST NOT be available from the javax namespace according to Oracle's brand licencing restrictions (which not only apply to the EF as a provider but also certainly to the AF as a consumer) which originally caused all this package renaming nonsense. But your shading solution would allow to write code in the javax namespace calling that new functionality hence leading to the caller being unaware whether he is in the Java EE world or in the Jakarta EE world, which is exactly what Oracle and the EF forbid! So once CXF supports this new functionality it MUST rewrite the imports -- or otherwise, never support this new functionality! Btw, that new functionality is the sole reason why I spend time into CXF currently! So why not doing it right from the start? With Jakarta EE 9 we explicitly agreed in the Jakarta WG to only do this sole change to allow all vendors to find their time for this exhausting work to not be forced to mix it later with the work needed for additional features. So if you defer the code changes to 9.1 you will simply have more work in less time. Hence I really doubt this decision. It would be much better to simply open a feature branch for Jakarta EE 9 and start this tedious work already. This PR can be seen as an attempt for that. Everything else is out of scope of this PR.

Thanks for working on it, @mkarg , we have an umbrella ticket for Jakarta EE 9.0 migration ...

Just to make clear, I hope I will not be the only one working on this. This PR is just an exchange point for all the people interesting in contributing to this tedious and complex work, so in fact I hope that a CXF committer chimes in and turns this PR into an official CXF development branch into which we all push lots of commits to work towardss this target together.

Think the most important is not jakarta but users.
So question is: what needs the most dev and maintenance, jakarta or javax - indeed i assume than forking itself is bad and too costly.
My opinion is that javax will stay way more used that jakarta for years as of today.
New features can be done creating fake org.apache.cxf.spec.jakarta api used for javax flavor - since compat is still a prerequisite - and shaded properly to jakarta when needed. We did it at openwebbeans for cdi 1.1 -> cdi 2 move and it was cheap and efficient.
My 2 cts is that it will cost less than moving to jakarta which is a blocker for most users today (dont forget cxf is not alone in a stack and moving a full stack is rarely a success for users and libs as shown by all EE servers).
Hope it makes sense.

Think the most important is not jakarta but users.

I think you misunderstood the target of this PR: It is solely to provide Jakarta EE 9+ compatible CXF. Anything else is certainly welcome and worth a discussion, but definitively not what this PR covers. And definitively not what I can and will put efforts into, as my sole target here is to help CXF with Jakarta EE 9+ compliance. I am no a typical CXF contributor, I am just a Jakarta EE ambassador at CXF.
Also note that the Jakarta WG (including Oracle, IBM, Red Hat, and Tomitribe) decided that Jakarta EE 9.1 released in 2021 will put minimal Java level to 11, and that these companies actively plan Jakarta EE 9.1+ compatible implementations (i.e. including new jakarta.*-only APIs) compatible implementations within rather near future (Jersey will switch to Jakarta EE 9.1 within the next few months actually; the namechange is already done months ago. Hence GlassFish, hence Payara, will be jakarta-namespaced rather soon, hence their customers will do the switch eagerly and at the Jakarta EE marketing committee we working very hard to convince tool vendors and application authors to do it right now to be prepared for that very moment). The javax namespace is definitively dead, i.e.  MUST NOT get extended in any way. This means, if your customers stick with javax, they soley will get bug fixes, but never new features (at least on an API level). I doubt that many customers understood that so far. They MUST rewrite their applications to javax to use any new API-level features, so that's why I really plea for branching CXF into a javax sustained branch and a jakarta branch. Everything else will not cover the actually existing needs for new features of CXF customers.
In fact I do not see much space for any other decision. Either you want to become Jakarta compliant one day, or you do not.

@mkarg which is all compatible with what I explained+proposed. Main difference is I priviledge users whereas you priviledge your personal goal. In both case you end up with a jakarta impl.
Once again we see that jakarta adoption is not for today - as java 8 stayed for years before some app use java 11 and libs are still stucked to java 8.
Due to lib integrations with javax and app usage jakarta will not be mainstream for tomorrow so better to keep master on what is used and in prod IMHO...in particular when we still can cover all you asked for as explained.

.... Main difference is I priviledge users whereas you priviledge your personal goal.

I actually do not have any personal goal for CXF. Certainly the CXF team decides the way to go. This PR is just a proposal, which you may gracefully drop if it is not what the CXF team wants.

Once again we see that jakarta adoption is not for today - as java 8 stayed for years before some app use java 11 and libs are still stucked to java 8.

Off-topic, but as you mentioned it: IMHO the main reason for not adopting Java 9+ is that most open source projects did not adopt either Java 9 nor multi-release JARs, so the community simply waits for that still, not vice versa. Users will adopt Java 9+ asap once all their dependencies adopt it. It is the Jakarta EE WG's intention to remove this deadlock situation by enforcing Java 11 in EE 9.1. We will see how reluctant people are once their application servers officially support Java 11 due to that synthetic pressure.

@mkarg I strongly disagree and your statements are just wrong as of today, one proof is some EE 9.1 server will still run on java 8 but point is more that the jakarta bing bang was not followed my most libs except strict EE stack and spring (which is a small part of libs - just search on github to have a light overview and keep in mind it misses all enterprise integrations) so factually you can't expect jakarta to be mainstream in the coming 5 years. What you can expect is jakarta to start to be adopted a bit in the 3 years and javax maintenance to decrease after that delay so, my opinion once again, is that for 3 years the shade relocation + cxf package for new api - it will stay small compared to the rest - is saner and then it will need to be revised depending if jakarta was actually adopted or not.

@mkarg I strongly disagree and your statements are just wrong as of today, ...

Good luck.

@rmannibucau Which "most libs" do you refer to? The big bang was solely targeting EE, and all EE libs did it AFAIK.

Libs like commons, play servlet support, deltaspike, log4j2 just to cite very few just for servlet (but same applies for each spec, microprofile has the same issue for ex). In other words 3rd parties didnt follow. Grep github to check it, just active projects within the year. Most servers solved it by relocation to say they support jakarta but they keep javax as mainstream.
Not saying Im happy with it but it is normal/expected and must be taken into account since it is directly users not companie$$.

You are mixing things here. The Jakarta EE WG decided the big bang certainly only for EE, not for third parties; the intention was to get past this mixing situation ASAP, and the big vendors agreed to that plan, as it is the smaller pain. Now you pick third parties to proof "nobody" did -- after just few week! This is ridiculous, as we all are just in the migration phase. First, certainly third party libs are free to adopt or not adopt the new namespace as they like. Second, the Jakarta namespace is here since few weeks only, and certainly it needs months until third parties adopted it. But in the end, the javax namespace definitively is dead and there is no value in keeping it for long. Jersey for example eargerly switched the master branch (3.x), but everybody can run javax-namespaced legacy applications on a still maintained sustained branch (2.x) -- just what I proposed and what is totally fine for users. Nobody is ever allowed to extend javax in any way, so eventually every lib, and every direct implementation, like CXF, must either adopt the namespace, or deal with more and more tweaks. For example, in EE 10 there will be backwards-incompatible changes in JAX-RS, so the stack of tweaks will pile higher and higher. Anyways, I still do not see where my statements where wrong and even more, I do not understand what this discussion is all about. I already told you, CXF can do as they please, I have no strong feelings about CXF at all, so why keep insulting me?

@mkarg no no, I'm not mixing anything. EE decides the big bang -> 3rd parties must big bang too to let app still be funcitonal/work, nothing ambiguous or hard there. Makes month it had been decided and it is available with pre releases and nobody followed except spring. Just a fact. The Java 8 -> 11 move was the same (due to jigsaw) and see what happent, nobody followed for years. I'm just stating that we must keep user in mind first and guarantee them a good support level since apache is not about a company but people. Once time will allow to switch cause javax will be stable enough and less used than jakarta switch would be hurtless and enabled IMHO. Indeed a javax branch is an option but as explained before it is costly in maintenance without any single gain. Finally I never insulted you, just stated that your statements were wrong, factually, check by yourself. I understand you are involved in this big bang and want to push it - which is good - but it is brutal for everybody and at apache we think to users first so things are seen a big differently IMHO.

I still don't get your point. WHICH statement was wrong?

@mkarg just said that you were wrong saying java 8-11 point was unrelated. Guess you understood it from a EE point of view whereas my point was from a general breaking change point of view (as an example we have feedback on and we can learn from, can be the issue). So guess current status is likely to throw a mail on dev@cxf and decide if shading or fork (branch) is the best choice. Technically I know shading is way less costly to have done it a few times, always with success, but fork works as well, just requires x2 work in terms of maintenance very quickly and makes contributions harder for end users. Indeed, just my 2cts once again.

Agreed. Feel free to start that discussion on the mailing list. As I said, I am not part of CXF, just wanted to help getting Jakarta EE adopted. Good luck.

Hi folks,
I hope you had a nice christmas. Looking at our (especially enterprise) users I agree that it will take another 3-5 years to adopt Jakarta EE (if they do it, unfortunately some are just frustrated and therefore re-architecting to use a different stack). Personally I think we should support the efforts of the Jakarta EE WG to shape the future of Enterprise Java and thus I'd like to see us moving forward. However maintaining an additional branch in CXF for it (with the limited number of commiters we have) is something I wouldn't prioritize at the moment (haven't seen a single user asking for it), but I would definitely revisit this discussion in mid-2021.
Best,
Dennis

Has this draft been revisited as mentioned in the last comment from @deki ?

@bogedal please check out this mailing list discussion [1] regarding JakartaEE support in CXF, thank you.
[1]<EMAIL_ADDRESS>

@bogedal please check out this mailing list discussion [1] regarding JakartaEE support in CXF, thank you.
[1]<EMAIL_ADDRESS>
I read though about 20 mails and was unable to make out the current status. I didn't find any announcements either. I just saw the agreement to use Java 11 as baseline for cxf 3.5.x which did not happen.
Sadly Google will only bring users to this page and the 3.5.x changelog.
So, is there anything we (users) can already use?

@bogedal please check out this mailing list discussion [1] regarding JakartaEE support in CXF, thank you.
[1]<EMAIL_ADDRESS>
I read though about 20 mails and was unable to make out the current status. I didn't find any announcements either. I just saw the agreement to use Java 11 as baseline for cxf 3.5.x which did not happen. Sadly Google will only bring users to this page and the 3.5.x changelog.
So, is there anything we (users) can already use?

@bmarwell the 4.0.0 / main is targeting Jakarta, we are not yet publishing snapshots (too many dependent projects) but we are close to have them avaible. Please refer to [2] for work in progress.
[1] https://github.com/apache/cxf/tree/main
[2] https://issues.apache.org/jira/browse/CXF-8371


Implement Slices (JEP 5)

This PR adds support for JEP 5.  As part of this PR I've added the following commits:

Implementation of JEP 5 (including updated compliance tests)
Adding the original JEP to the proposals/
Updated the specification.rst with the slice semantics.

There were two things I changed from the original JEP:

I simplified the grammar for slices using the optional sequence rule:  slice-expression  = [number] ":" [number] [ ":" [number] ]
There was a bug in the compliance tests for the original pull request, which I commented on here.  Slices have the semantics of a half open interval such that given a start and stop value we extract the subarray [start, stop).  This means that we extract everything up to, but not including, the stop value.  So for an expression such as [10:0:-1], we should be extracting [10, 0), which is everything up to, but not including, the 0th element (and in reverse order due to the -1 step).  This is also consistent with what python does:

>>> r = range(10)
>>> r[10:0:-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> r[10:5:-1]
[9, 8, 7, 6]
>>> r[5:10:1]
[5, 6, 7, 8, 9]

cc @kyleknap @danielgtaylor
cc'ing other JMESPath library authors, as this may require changes to account for item (2) above: @mtdowling @trevorrowe

LGTM :ship:-it.


Fix a bug in layouts with props that use type variables

Problem
If the project has a layout with props using type variables, there's an error in the generated code that throws:
Props type needs 1 argument, but I see 0 instead: in .elm-land/src/Layouts.elm

Apparently, the implementation in the code generator for layouts that use props with type variables is incomplete. This PR tries to fill the missing gaps.
Solution
This commit updates the array of layout paths sent to the code generator, including a boolean variable indicating if the layout uses Props with type variables. In such case, the code generator creates valid code for that layout, avoiding the current error.
Notes
Issue mentioned and discussed in Discord

Circling back, is there anything i can do to help move this along? really looking to try out Layouts

hey Ryan, I'm sorry, I haven't had much free time lately to wrap up this PR. I'll try to give it a big push during this weekend.
I'm having a problem making the cli to generate the code of the example. It will only add the default app that displays Hello, Elm Land!. So any hints to debug the problem greatly appreciated!

hey Ryan, I'm sorry, I haven't had much free time lately to wrap up this PR.

No worries at all (or need to apologize)! You've already contributed more than I could have asked for ❤

@mc706 , if you'd like to add a minimal example in the examples folder that captures the feature that isn't working as expected, that would be great.
You don't have to get it running locally, even a separate PR that just adds the broken example would be more than enough to get this merged with the next release!
Thank you both for your contributions so far– I truly appreciate it 💖

Hey @ryannhg! Finally got some time to add a very simple example (number 17, feel free to change the ordering).
I think we may have a bug with nested layouts. While I was working on the example, at some point I couldn't compile example 08 (nested layouts). Can you give it a try using the codegen-worker this PR generates?
Thanks!

@Ferdev thank you!
As a heads up, I just enabled GitHub Actions for this PR, so you will be able to see if any tests are failing before/after your changes:

Hopefully, this will let you validate if there are any regressions as you go! 🪄

I think I've fixed the regression. The test that was failing is no passing in my machine. Although other tests pass/fail randomly in my system, so I'm not 100% sure if the whole test suite passes.


[Enum Request] TAB256 VAT Statement Line - Amount Type

In Slovenian localization we need to extend the "Amount Type" filed in table 256 "VAT Statement Line".
Please convert this option to extendable enum.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

@AlexanderYakunin How come this field is still an option instead of enum in 16.2?

We implement enum requests in next major version only. Therefore please expect it in 2020 Wave 2.

I was too excited I guess that this was closed just before the official release of 16 and would be included already :)
Thanks


Investigate supporting more advanced prediction modes

SLL vs LL
Like in Antlr:
http://www.antlr.org/api/Java/org/antlr/v4/runtime/atn/PredictionMode.html
Basically taking the parser rule stack context into account when making decisions at the cost of performance.

May be related to #623

this is superseded by #1743


/api/1.x/cdns/{{ID}} gives incorrect response for non-existant IDs

requesting e.g. /api/1.3/cdns/999999999999999999 will respond with 200 OK and the response body:
{
	"response": []
}

The proper response to a request for the details of an object that doesn't exist is 404 NOT FOUND with an appropriate error message in the response body

Most other api endpoints are like this as well. They are like this because there isn't much of a distinction between query and path parameters. I used to think
curl -Lvsk -b $mc https://localhost/api/1.2/cdns/42`
{"alerts":[{"text":"not found","level":"error"}]}

curl -Lvsk -b $mc https://localhost/api/1.2/cdns?id=42
{"response":[]}

should have been correct, but now I think both should return a 404 on the premise that the id is unique. This would imply that other unique parameters should also return a 404.

This is possibly going to be fixed by #3098.

only applies to 1.x. closing.

only applies to 1.x. closing.


Adds flax import to summary.py

It was causing our builds to fail
What does this PR do?

Fixes # (issue)
Checklist

[ ] This PR fixes a minor issue (e.g.: typo or small bug) or improves the docs (you can dismiss the other
checks if that's the case).
[ ] This change is discussed in a Github issue/
discussion (please add a
link).
[ ] The documentation and docstrings adhere to the
documentation guidelines.
[ ] This change includes necessary high-coverage tests.
(No quality testing = no merge!)

Codecov Report

Merging #2138 (93fe3ab) into main (779b9f7) will increase coverage by 0.47%.
The diff coverage is 93.37%.

@@            Coverage Diff             @@
##             main    #2138      +/-   ##
==========================================
+ Coverage   75.23%   75.71%   +0.47%
==========================================
  Files          60       61       +1
  Lines        5129     5270     +141
==========================================
+ Hits         3859     3990     +131
- Misses       1270     1280      +10

Impacted Files
Coverage Δ

flax/linen/summary.py
92.85% <92.85%> (ø)

flax/linen/__init__.py
100.00% <100.00%> (ø)

flax/linen/module.py
94.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Add Open API code actions

Purpose

Implemented the code actions for open API plugin

Remarks

TODO: Add tests for Ballerina to open API code actions

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #21601 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #21601   +/-   ##
=======================================
  Coverage   14.72%   14.72%
=======================================
  Files          51       51
  Lines        1399     1399
  Branches      214      214
=======================================
  Hits          206      206
  Misses       1177     1177
  Partials       16       16

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 cb30215...24c9866. Read the comment docs.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Can't install auto-shutdown-extension due to yarn error

After running the command
./install_tarball.sh

I receive the following error
Processing ./sagemaker_studio_autoshutdown-0.1.1.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: boto3>=1.10.44 in /opt/conda/lib/python3.7/site-packages (from sagemaker-studio-autoshutdown==0.1.0) (1.18.6)
Requirement already satisfied: botocore<1.22.0,>=1.21.6 in /opt/conda/lib/python3.7/site-packages (from boto3>=1.10.44->sagemaker-studio-autoshutdown==0.1.0) (1.21.6)
Requirement already satisfied: s3transfer<0.6.0,>=0.5.0 in /opt/conda/lib/python3.7/site-packages (from boto3>=1.10.44->sagemaker-studio-autoshutdown==0.1.0) (0.5.0)
Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in /opt/conda/lib/python3.7/site-packages (from boto3>=1.10.44->sagemaker-studio-autoshutdown==0.1.0) (0.9.5)
Requirement already satisfied: urllib3<1.27,>=1.25.4 in /opt/conda/lib/python3.7/site-packages (from botocore<1.22.0,>=1.21.6->boto3>=1.10.44->sagemaker-studio-autoshutdown==0.1.0) (1.25.9)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /opt/conda/lib/python3.7/site-packages (from botocore<1.22.0,>=1.21.6->boto3>=1.10.44->sagemaker-studio-autoshutdown==0.1.0) (2.8.0)
Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.7/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.22.0,>=1.21.6->boto3>=1.10.44->sagemaker-studio-autoshutdown==0.1.0) (1.14.0)
DEPRECATION: Source distribution is being reinstalled despite an installed package having the same name and version as the installed package. pip 21.1 will remove support for this functionality. A possible replacement is use --force-reinstall. You can find discussion regarding this at https://github.com/pypa/pip/issues/8711.
Building wheels for collected packages: sagemaker-studio-autoshutdown
  Building wheel for sagemaker-studio-autoshutdown (PEP 517) ... done
  Created wheel for sagemaker-studio-autoshutdown: filename=sagemaker_studio_autoshutdown-0.1.0-py3-none-any.whl size=20563 sha256=e89937ac8336de78c9b87f44a7ccfb08ce1c3269464a08f8478ec9d852721779
  Stored in directory: /home/sagemaker-user/.cache/pip/wheels/b3/38/f9/54312a8fe95552bbe8658323cd9b8dfaaf1254f5d09a161d59
Successfully built sagemaker-studio-autoshutdown
Installing collected packages: sagemaker-studio-autoshutdown
  Attempting uninstall: sagemaker-studio-autoshutdown
    Found existing installation: sagemaker-studio-autoshutdown 0.1.0
    Uninstalling sagemaker-studio-autoshutdown-0.1.0:
      Successfully uninstalled sagemaker-studio-autoshutdown-0.1.0
Successfully installed sagemaker-studio-autoshutdown-0.1.0
yarn config v1.15.2
success Set "cache-folder" to "/tmp/yarncache".
Done in 0.04s.
[LabBuildApp] Searching ['/home/sagemaker-user/.auto-shutdown', '/home/sagemaker-user/.jupyter', '/opt/conda/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[LabBuildApp] Looking for jupyter_config in /etc/jupyter
[LabBuildApp] Looking for jupyter_config in /usr/local/etc/jupyter
[LabBuildApp] Looking for jupyter_config in /opt/conda/etc/jupyter
[LabBuildApp] Looking for jupyter_config in /home/sagemaker-user/.jupyter
[LabBuildApp] Looking for jupyter_config in /home/sagemaker-user/.auto-shutdown
[LabBuildApp] Looking for JupyterLab_config in /etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /usr/local/etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /opt/conda/etc/jupyter
[LabBuildApp] Looking for JupyterLab_config in /home/sagemaker-user/.jupyter
[LabBuildApp] Looking for JupyterLab_config in /home/sagemaker-user/.auto-shutdown
[LabBuildApp] JupyterLab 1.2.20
[LabBuildApp] Building in /opt/conda/share/jupyter/lab
[LabBuildApp] Yarn configuration loaded.
[LabBuildApp] Node v12.16.1

[LabBuildApp] Building jupyterlab assets (build:prod)
[LabBuildApp] > node /opt/conda/lib/python3.7/site-packages/jupyterlab/staging/yarn.js install --non-interactive
|[LabBuildApp] yarn install v1.15.2
[1/5] Validating package.json...
[2/5] Resolving packages...
error Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
warning @amzn/sagemaker-ui ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning @amzn/sagemaker-ui > aws-sdk ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning @amzn/sagemaker-ui > react-jsonschema-form ><EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
warning @amzn/sagemaker-ui > react-jsonschema-form > @babel/runtime-corejs2 ><EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
warning @amzn/sagemaker-ui > vega-lite ><EMAIL_ADDRESS>This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed.
warning @amzn/sagemaker-ui > compassql > vega-lite ><EMAIL_ADDRESS>This is a stub types definition. fast-json-stable-stringify provides its own type definitions, so you do not need this installed.
warning @amzn/sagemaker-ui > compassql > datalib ><EMAIL_ADDRESS>Use topojson-client, topojson-server or topojson-simplify directly.
warning @amzn/sagemaker-ui > compassql > datalib ><EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
warning @amzn/sagemaker-ui > compassql > datalib > request ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning @amzn/sagemaker-ui > compassql > datalib > request ><EMAIL_ADDRESS>this library is no longer supported
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: Couldn't find package "<EMAIL_ADDRESS>required by "@amzn/sagemaker-ui@file:../extensions/amzn-sagemaker-ui-3.10.1.tgz" on the "npm" registry.
    at /opt/conda/share/jupyter/lab/staging/yarn.js:37186:17
    at Generator.throw (<anonymous>)
    at step (/opt/conda/share/jupyter/lab/staging/yarn.js:310:30)
    at /opt/conda/share/jupyter/lab/staging/yarn.js:323:13
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

[LabBuildApp] npm dependencies failed to install
[LabBuildApp] Traceback (most recent call last):

[LabBuildApp]   File "/opt/conda/lib/python3.7/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
    yield

[LabBuildApp]   File "/opt/conda/lib/python3.7/site-packages/jupyterlab/labapp.py", line 98, in start
    command=command, app_options=app_options)

[LabBuildApp]   File "/opt/conda/lib/python3.7/site-packages/jupyterlab/commands.py", line 459, in build
    command=command, clean_staging=clean_staging)

[LabBuildApp]   File "/opt/conda/lib/python3.7/site-packages/jupyterlab/commands.py", line 660, in build
    raise RuntimeError(msg)

[LabBuildApp] RuntimeError: npm dependencies failed to install

An error occured.
RuntimeError: npm dependencies failed to install

Thank you for submitting this ticket. Wondering, are you using any private/custom NPM repository from studio? If yes, would it be possible to turn it off while you are running the install script? Unfortunately, due to a yarn issue, if a private repository is set up, it does not pick the packages up available locally, therefore the installation will be unsuccessful.

@dh-nickbilozerov let us know if you are still running into this issue. We'll close the case and reopen based on your response.


Turn off preferences sync doesn't seem to be working

Issue Type: Bug

Be signed into preferences sync
Use "Preferences Sync is On" menu option from the accounts menu
Select "Preferences Sync: Turn Off" from the quick pick and confirm with the "Turn Off" button

Opening the accounts menu again, I still see "Preferences Sync is On", and the last part of the sync log is
[2020-05-26 10:05:49.666] [userDataSync] [info] Sync done. Took 71ms
[2020-05-26 10:07:26.877] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:10:49.670] [userDataSync] [info] Auto Sync: Triggered by Interval
[2020-05-26 10:11:16.720] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:13:40.321] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:27:37.793] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:27:59.410] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:28:02.424] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:28:08.422] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:28:45.708] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:29:13.972] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:29:28.949] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:29:40.761] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:30:16.206] [userDataSync] [info] Auto Sync: Triggered by Activity
[2020-05-26 10:30:47.869] [userDataSync] [info] Auto Sync: Triggered by Activity

VS Code version: Code - Insiders 1.46.0-insider (8687508aa689b1f16d5f6ff317eb25bcf4544586, 2020-05-26T07:10:48.616Z)
OS version: Darwin x64 18.7.0

@RMacfarlane which account are you using? and are you trying to turn off everywhere?

I'm not sure which type of account I was using.
I'm no longer able to repro this today, so will close this


Error: spawnSync bin\kibana.bat ENOENT

my enviroment：

nodejs：v8.9.0
kibana：v6.1.2

When I run sao<EMAIL_ADDRESS>，error occur，Why？

hi @w33ble , I just saw the same issue.  Previously I generate the plugin using template-kibana-plugin against kibana 6.2, and basically it was working well.
Since a bundled plugin generator is included in >=6.3, So I tried to generate a new plugin using the bundled plugin generator against kibana 6.x, then I saw this issue.  The plugin was generated in directory ../kibana-extra/example_v_2. The steps are as below,

git clone https://github.com/elastic/kibana.git kibana;
cd kibana
git checkout 6.x
nvm install "$(cat .node-version)"
yarn kbn bootstrap
yarn elasticsearch
Note: Everything is fine so far.
node scripts/generate_plugin example_v2
Then the plugin is created in directory "../kibana-extra/example_v_2". So the first question/issue is why I set the plugin name as "example_v2", but the plugin-generate created "example_v_2"?
cd ../kibana-extra/example_v_2
yarn kbn bootstrap;
yarn start
Then I saw the following error:

yarn run v1.5.1
warning package.json: No license field
$ plugin-helpers start
child_process.js:624
    throw err;
    ^

Error: spawnSync bin/kibana ENOENT
    at _errnoException (util.js:1022:11)
    at spawnSync (child_process.js:579:20)
    at execFileSync (child_process.js:616:13)
    at module.exports (/home/opc/benjamin/js/kibana_plugins/kibana/packages/kbn-plugin-helpers/tasks/start/start_action.js:19:3)
    at run (/home/opc/benjamin/js/kibana_plugins/kibana/packages/kbn-plugin-helpers/lib/run.js:9:10)
    at /home/opc/benjamin/js/kibana_plugins/kibana/packages/kbn-plugin-helpers/cli.js:25:7
    at Command.actionWrapper (/home/opc/benjamin/js/kibana_plugins/kibana/packages/kbn-plugin-helpers/cli.js:12:8)
    at Command.listener (/home/opc/benjamin/js/kibana_plugins/kibana/packages/kbn-plugin-helpers/node_modules/commander/index.js:315:8)
    at emitTwo (events.js:126:13)
    at Command.emit (events.js:214:7)
error An unexpected error occurred: "Command failed.
Exit code: 1
Command: sh
Arguments: -c plugin-helpers start
Directory: /home/opc/benjamin/js/kibana_plugins/kibana-extra/guard_v_2
Output:
".
info If you think this is a bug, please open a bug report with the information provided in "/home/opc/benjamin/js/kibana_plugins/kibana-extra/guard_v_2/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command

This repo and the new template in 6.3+ are different beasts. The later is a basically a fork of the former. You can find it here: https://github.com/elastic/kibana/tree/master/packages/kbn-plugin-generator
Sounds like there are some issues with that fork. @ahrtr you should open an issue in the Kibana repo with this information, it's not something that can be fixed here.

I still think the original issue here was a version mis-match, and there's been no response from the author, so I'm closing this issue. Can re-open with more input.

@w33ble , thanks for the feedback, I just raised a new issue as below,
https://github.com/elastic/kibana/issues/17190

https://github.com/elastic/kibana/issues/16784


Add a status block to all CRDs created by AbstractOperator

This initial PR creates an empty status block in all CRDs
created by the AbstractOperator, regardless of json schema.
Additionally, it adds a simple routine to optionallyupdate the
status block to contain a 'state' string and 'lastTransitionTime'
but is API compatible with earlier versions of AstractOperator.
In the future, more general support for definable status blocks
can be added.

Description

Related Issue

Types of changes

[ ] Updated docs / Refactor code / Added a tests case / Automation (non-breaking change)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

@jkremser ptal
This fixes the issue in community-operators, which is now requiring the presence of a status block along with a status block write on PRs for operators (this will be referenced from the spark operator shortly).
It's a simple hard-coded addition of an empty status block, and a routine to update a simple status of
"state:  string, lastTransitionTime: string" with a fixed date format.


Added the option to open images loaded from remote URL in the second window(s)

Pull Request Description
This PR adds the option to open images from remote URLs in the second windows panes.
Changes Proposed

[ ] Added mouse listener events to identify target of editor context menu
[ ] Added listener to editor context menu that adds "Second Window" options to the context menu if the target was an image.
[ ] Refactored some code to reduce duplication.

Screenshots

@valentine195 / @sigrunixia, let me know if this change makes sense

@valentine195 ping for review. :)


Filesize precision is not used on bytes/s

https://github.com/Textualize/rich/blob/6d30ad0f30028210124c149811cbbe2b183711f9/rich/filesize.py#L30
On my end this is personally very annoying. If anything, I would want it to have no decimal places at all, but as it stands now the decimal places can go extremely long, e.g.<PHONE_NUMBER>069428 bytes/s.

The only way I can see that would occur is if a float was passed to _to_str, but it is typed as an int.
Can you give me a minimal reproducible example that demonstrates the problem.

The only way I can see that would occur is if a float was passed to _to_str, but it is typed as an int.
Can you give me a minimal reproducible example that demonstrates the problem.

While it is true that file sizes cannot be float values, you are assuming that this filesize.decimal function would be used exclusively for filesize values which in my case I use it for Speed values. I also believe rich itself uses it for the Speed progress bar but I may be wrong. Also, the function does currently work just fine with float values therefore in my opinion if the function supports float, it should be typed as such.
import time
from rich import filesize

downloads = 16

download_sizes = []
download_speed_window = 5
last_speed_refresh = time.time()

# ... assume logic with download_size variables and computations with time.time() against last_speed_refresh
# ... and adding then summing values in the download_sizes array to calculate a download speed.
download_speed = 512.2

print(f"Downloading at {filesize.decimal(download_speed)}/s")

Downloading at 512.2 bytes/s

You can see here it does in fact accept float input and works exactly as intended, unless you change the download_speed value to something with a more precise float value like download_speed =<PHONE_NUMBER>89780945467 it will then print Downloading at<PHONE_NUMBER>89781 bytes/s while all other units would cap at a precision of 2 decimal points.

if the function supports float, it should be typed as such.

That's not the purpose of typing. Typing says how the method was intended to be used, not how it could be used.
If you would like different behaviour, feel free to copy the code to your own project and modify it there.

Hi, while I can agree that typing can be used in that way, I did want to just bring it up as it bugs my JetBrains IDE just because I give it a float input, and the function also already assumes float input can be given considering it already does float precision cutoff on kilobytes onwards. Therefore technically it is already intended to be used on float input as well. Therefore, I do not currently agree with closing this issue.


nixos/manual: fix build

Motivation for this change
NixOS manual and man pages don't build at the moment.
/cc @srhb @LnL7
Things done

[x] nix-build nixos/release-combined.nix -A nixos.manpages.x86_64-linux
[x] nix-build nixos/release-combined.nix -A nixos.manual.x86_64-linux

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I ran into this issue as well.

Oops, sorry. I'll let gcofborg eval here first.

Needs a backport to 19.03 as well. I'll do that.

Backport to 19.03 in 697213d88b8659029116dbad9c793d192d7ed6b8

Whoops, did I break that?

@LnL7 Well, I clearly thought I was able to review / parse XML in my head, so... ;)


Change the stable channel

Added command to change the stable channel in order to upgrade to a specific release by skipping the upgrade path

There is only one channel in OKD - stable-4, lets not confuse people that we maintain more.
You can set different channels and get different results - because of release-controller's implementation specifics post-stable part is treated as a regexp. However I'd rather not change it because its a subject of change

Ok Thanks!


Container slices with strings

Modifies Placeable such that it will accept slices that use strings for their start and stop positions.
Example:
plate[0:4] == plate['A1':'E1']
plate[0:8] == plate['A1':'A2']
plate.rows[2][0:4] == plate.rows['3']['A':'E']
plate.cols[2][1:6] == plate.cols['C']['2':'7']

Coverage increased (+0.007%) to 95.478% when pulling 34279be750d4913ade5adca8149e6a1646c95f01 on container-slices-with-strings into 91e25ae9e85fd50e36f4b6c05361334cdd43a24d on master.

Coverage increased (+0.06%) to 95.533% when pulling d9a8a03dc9559945905c8f9ac4d5a0ce3346a201 on container-slices-with-strings into 91e25ae9e85fd50e36f4b6c05361334cdd43a24d on master.


test: Allow specifying runtime temp directory

Signed-off-by: Wish<EMAIL_ADDRESS>What problem does this PR solve?
Issue Number: ref #6148
Problem Summary:
What is changed and how it works?
Introduce env variable TIFLASH_TEMP_DIR. When it is set, tests will be running in that directory. This allows us to run tests in tmpfs in CI.
CI PR to utilize this env variable: https://github.com/PingCAP-QE/ci/pull/1474
Check List
Tests

[ ] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-unit-test

/run-unit-test

/run-unit-test

/run-unit-test

/run-integration-test

/merge

/run-unit-test


add CLI with report

Need to add a CLI so the parser can run on the command line like NodeJS and V8.
Should use an red line + arrow + to mark errors. Can use the start and end values of the diagnostics for that. The diagnostics are already developed for this purpose.

Any progress on this or should I self-assign?

@aladdin-add Thanks! My TODO list is very long now :)

See #118

Reporters is there. So closing this.


Add note on skipping caller levels to readme

Note, this doesn't omit frames in stack traces, see https://github.com/uber-go/zap/issues/727

looks like this repo is dead. feel free to reopen + merge if not.


(node:17671) UnhandledPromiseRejectionWarning: Error: Page crashed!

I have this error:
Output Directory: videos Using youtube-dl version 2020.03.08 Using ffmpeg version n4.2.2 Copyright (c) 2000-2019 the FFmpeg developers Launching headless Chrome to perform the OpenID Connect dance... Navigating to STS login page... We are logged in. Sorry, i mean "you". (node:17384) UnhandledPromiseRejectionWarning: TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded     at /home/livrea/Scrivania/destreamer-dev/node_modules/puppeteer/lib/LifecycleWatcher.js:142:21   -- ASYNC --     at Frame.<anonymous> (/home/livrea/Scrivania/destreamer-dev/node_modules/puppeteer/lib/helper.js:111:15)     at Page.goto (/home/livrea/Scrivania/destreamer-dev/node_modules/puppeteer/lib/Page.js:674:49)     at Page.<anonymous> (/home/livrea/Scrivania/destreamer-dev/node_modules/puppeteer/lib/helper.js:112:23)     at rentVideoForLater (/home/livrea/Scrivania/destreamer-dev/destreamer.js:72:20) (node:17384) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:17384) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

#18

Closing as this should already be fixed.


Hide line numbers in $WORKSPACE errors

Closes #83.
Before:
error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied
   --> $DIR/bad_endpoint6.rs:22:8
    |
22  |     Ok(HttpResponseOkObject(Ret { "Oxide".to_string(), 0x1de }))
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`
    |
   ::: $WORKSPACE/dropshot/src/handler.rs:846:21
    |
846 |     T: JsonSchema + Serialize + Send + Sync + 'static,
    |                     --------- required by this bound in `dropshot::handler::HttpResponseOkObject`

After:
error[E0277]: the trait bound `Ret: serde::ser::Serialize` is not satisfied
   --> $DIR/bad_endpoint6.rs:22:8
    |
22  |     Ok(HttpResponseOkObject(Ret { "Oxide".to_string(), 0x1de }))
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `Ret`
    |
   ::: $WORKSPACE/dropshot/src/handler.rs
    |
    |     T: JsonSchema + Serialize + Send + Sync + 'static,
    |                     --------- required by this bound in `dropshot::handler::HttpResponseOkObject`

I think compiletest-rs does this by subbing all line numbers with :LL:COL (https://github.com/rust-lang/rust/blob/18f3be7704a4ec7976fcd1272c728974243d29bd/src/test/ui/consts/offset_ub.stderr). I am not a fan of that since I find it breaks the immersion and makes it harder for a human reader to visually perceive the file as a user-facing compiler diagnostic that's worth critically evaluating and improving, as opposed to a test.

Thanks! This is great!


Initialize() is internal and should not be called externally

Initialize() is internal and should not be called externally so shouldn't be public

Codecov Report

Merging #131 into mirror will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           mirror    #131   +/-   ##
======================================
  Coverage    6.48%   6.48%
======================================
  Files          29      29
  Lines        6257    6257
  Branches      867     867
======================================
  Hits          406     406
  Misses       5838    5838
  Partials       13      13

Impacted Files
Coverage Δ

Mirror/Runtime/NetworkServer.cs
0% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Are you sure?
What if someone only uses NetworkServer/NetworkClient without NetworkManager?

In that case they should not be calling NetworkServer.Initialize either.   the Initialize method should be private,  it is only called by the NetworkServer inside InternalListen.

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


Docker-nize

I tried using docker for local development.
We should re-build docker image to reflect file change so it is painful to use docker for daily development :cry:
But this image will help us to debug something happen on Heroku environment because the image is very similar.

Close at this time
I'll open new PR if I found the way to use docker for daily development


Tower of hanoi added

Have you read the Contributing Guidelines on Pull Requests?
(Yes)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(#332 )

All changes done sir @iamrajiv


How to get reports

Hi
I'm totally new to EBICS, and I'm trying to follow your instructions step by step. I believe I'm done with the bank part/signing etc
How do I now get a report of all transactions/transfers in my bank account?
I don't want to initiate any payments, just read-only.
Thanks
(I couldn't find any instructions for the different commands you've implemented)
thanks for this great library!

To get a report or account statement you use the STA command. Looks like I forgot to document it. Here's a code snippet:
using System;
using System.IO;
using NetEbics.Config;
using NetEbics.Parameters;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.OpenSsl;
using Serilog;
using Serilog.Sinks.SystemConsole.Themes;

namespace NetEbics.Examples.STA
{
    class STA
    {
        private static AsymmetricCipherKeyPair LoadKey(string fname)
        {
            using (var sr = new StringReader(File.ReadAllText(fname).Trim()))
            {
                var pr = new PemReader(sr);
                var o = pr.ReadObject();
                return (AsymmetricCipherKeyPair) o;
            }
        }

        private static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                .WriteTo.Console(theme: ConsoleTheme.None)
                .MinimumLevel.Debug()
                .CreateLogger();

            var authCert = KeyUtils.CreateX509Certificate2(LoadKey("keys/auth.key"));
            var cryptCert = KeyUtils.CreateX509Certificate2(LoadKey("keys/crypt.key"));

            EbicsLogging.MethodLoggingEnabled = true;
            EbicsLogging.LoggerFactory.AddSerilog();

            var c = EbicsClient.Factory().Create(new EbicsConfig
            {
                Address = "https://ebics-url-of-your-bank.com",
                Insecure = true,
                TLS = true,
                User = new UserParams
                {
                    HostId = "The host ID of your bank",
                    PartnerId = "Your partner ID",
                    UserId = "Your user ID",
                    AuthKeys = new AuthKeyPair
                    {
                        Version = AuthVersion.X002,
                        TimeStamp = DateTime.Now,
                        Certificate = authCert
                    },
                    CryptKeys = new CryptKeyPair
                    {
                        Version = CryptVersion.E002,
                        TimeStamp = DateTime.Now,
                        Certificate = cryptCert
                    },
                }
            });

            // this is needed only once
            var resp = c.HPB(new HpbParams());
            c.Config.Bank = resp.Bank;

            // account statement params
            var staParams = new StaParams
            {
                StartDate = DateTime.Parse("2016-01-01"),
                EndDate = DateTime.Parse("2018-05-09")
            };

            var resp2 = c.STA(staParams);
            Console.WriteLine(resp2.ToString());
        }
    }
}```

EbicsLogging.LoggerFactory.AddSerilog(); does not exist in your library - so may I assume, there may be a newer version of it?
Would be great if you could upload it :)
I am also new to EBICS, and I am looking forward to use your great library to download bank account data...

Please take a look at https://github.com/hohlerde/NetEbics#logs
You need to reference the mentioned Nuget packages to use serilog.

Closing this as it seems problems are solved. If not, feel free to re-open.


h.create(0) freezes

Try this code
`from harvesters.core import Harvester, ImageAcquirer
h = Harvester()
h.add_file(r"C:\Users\SGL\Desktop\MATRIX VISION\mvIMPACT Acquire\bin\x64\mvGenTLProducer.cti")
h.update()
print(len(h.device_info_list))
print(h.device_info_list[0])
print(h.create(0))
`
And get this output
C:\Users\SGL\PycharmProjects\pythonProject.venv\Scripts\python.exe C:\Users\SGL\PycharmProjects\pythonProject\ff.py
1
{'access_status': 1, 'display_name': 'Specim FX10e(70:f8:e7:b0:09:d0)', 'id_': 'FX10e(70:f8:e7:b0:09:d0)', 'model': 'FX10e', 'parent': <genicam.gentl.Interface; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::TLInterface > *' at 0x0000020C922E8D20> >, 'serial_number': '077000057871', 'thisown': True, 'tl_type': 'GEV', 'user_defined_name': ' ', 'vendor': 'Specim', 'version': 'Version 1.3'}
I'm trying different combination of versions Matrix Vision and Python.
And program freezes. Why Imagerequirer don't creating? Thanks for all recommendation.

We also started to observe a similar behavior. Along with corrupted buffers as in #452
@kazunarikudo it seems that something might be broken in either latest mvGenTLproducer or genicam

Hi @pers972
Which version of Python, Harvesters, GenICam package and mvGenTLProducer.cti do you use?
As well which kind of Windows are you using?
Maybe you can also enable additional log information in Harvester (here is a Python code snipped to do so..):
import logging
import warnings
warnings.simplefilter('always')

FORMAT = '%(name)s - %(levelname)s %(asctime)s: %(message)s'
logging.basicConfig(level=logging.DEBUG, format=FORMAT)

h = Harvester(logger=logging.getLogger("harvesters"))

Just to be said: I'm sorry but I wasn't able to reproduce the issue with mvGenTLProducer version 3.2, Harvesters 1.4.3 and genicam 1.4.0.

@sunavlis I will add some logging, indeed.
We see this camera freeze mostly when we restart the streaming. The first connection usually works okay (but not always).
The issue is not reproducible in 100% of the cases, which makes it difficult to debug.  We are using mvGenTLProducer version 2.50.1, harvesters==1.4.3, genicam==1.4.0
To circumvent the corrupted buffers issue, we set a high number of buffers (it seems to increase the probability to hang the camera)
P. S.
If you are using the version 3.x of mvGenTLProducer without buying it, it does not really stream the video...

Hi @pers972
Which version of Python, Harvesters, GenICam package and mvGenTLProducer.cti do you use?
As well which kind of Windows are you using?
Maybe you can also enable additional log information in Harvester (here is a Python code snipped to do so..):
import logging
import warnings
warnings.simplefilter('always')

FORMAT = '%(name)s - %(levelname)s %(asctime)s: %(message)s'
logging.basicConfig(level=logging.DEBUG, format=FORMAT)

h = Harvester(logger=logging.getLogger("harvesters"))

Just to be said: I'm sorry but I wasn't able to reproduce the issue with mvGenTLProducer version 3.2, Harvesters 1.4.3 and genicam 1.4.0.

This is my logs....
harvesters - INFO 2024-06-20 10:36:46,597: created: <harvesters.core.Harvester object at 0x000001F617753080>
harvesters - INFO 2024-06-20 10:36:46,597: added: C:\Program Files\MATRIX VISION\mvIMPACT Acquire\bin\x64\mvGenTLProducer.cti to <harvesters.core.Harvester object at 0x000001F617753080>
harvesters - DEBUG 2024-06-20 10:36:46,597: discarded device information: <harvesters.core.Harvester object at 0x000001F617753080>
harvesters - DEBUG 2024-06-20 10:36:46,623: initialized file: C:\Program Files\MATRIX VISION\mvIMPACT Acquire\bin\x64\mvGenTLProducer.cti
harvesters - DEBUG 2024-06-20 10:36:46,715: fetched url: Local:MATRIXVISION_GenTL_System_10_1_0.xml;100000000;a76f
harvesters - DEBUG 2024-06-20 10:36:46,718: created: C:\Users\SGL\AppData\Local\Temp\20240620103646_lxyz0mrj\MATRIXVISION_GenTL_System_10_1_0.xml
harvesters - DEBUG 2024-06-20 10:36:46,734: deleted: C:\Users\SGL\AppData\Local\Temp\20240620103646_lxyz0mrj\MATRIXVISION_GenTL_System_10_1_0.xml
harvesters - DEBUG 2024-06-20 10:36:46,734: opened: {AF542A5A-E6D3-4f3d-9908-4A89AE21105A} :: <genicam.gentl.GenTLProducer; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::GenTLProducer > *' at 0x000001F637EB9F00> >
harvesters - DEBUG 2024-06-20 10:36:46,739: opened: c8:7f:54:64:5c:0b_{43132965-6A7F-472E-9977-5637212F176E} :: {AF542A5A-E6D3-4f3d-9908-4A89AE21105A} :: <genicam.gentl.GenTLProducer; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::GenTLProducer > *' at 0x000001F637EFD060> >
harvesters - DEBUG 2024-06-20 10:36:46,739: fetched url: Local:MATRIXVISION_GenTL_Interface_15_0_0.xml;100000000;127e8
harvesters - DEBUG 2024-06-20 10:36:46,740: created: C:\Users\SGL\AppData\Local\Temp\20240620103646_dat4rq83\MATRIXVISION_GenTL_Interface_15_0_0.xml
harvesters - DEBUG 2024-06-20 10:36:46,759: deleted: C:\Users\SGL\AppData\Local\Temp\20240620103646_dat4rq83\MATRIXVISION_GenTL_Interface_15_0_0.xml
harvesters - DEBUG 2024-06-20 10:36:48,862: opened: d8:80:83:d0:53:45_{F4EE21D9-52FE-4328-96B5-0C8559E03D04} :: {AF542A5A-E6D3-4f3d-9908-4A89AE21105A} :: <genicam.gentl.GenTLProducer; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::GenTLProducer > *' at 0x000001F637EFD180> >
harvesters - DEBUG 2024-06-20 10:36:48,862: fetched url: Local:MATRIXVISION_GenTL_Interface_15_0_0.xml;100000000;127e8
harvesters - DEBUG 2024-06-20 10:36:48,863: created: C:\Users\SGL\AppData\Local\Temp\20240620103648_1brvi3v5\MATRIXVISION_GenTL_Interface_15_0_0.xml
harvesters - DEBUG 2024-06-20 10:36:48,879: deleted: C:\Users\SGL\AppData\Local\Temp\20240620103648_1brvi3v5\MATRIXVISION_GenTL_Interface_15_0_0.xml
{'access_status': 1, 'display_name': 'Specim FX10e(70:f8:e7:b0:09:d0)', 'id_': 'FX10e(70:f8:e7:b0:09:d0)', 'model': 'FX10e', 'parent': <genicam.gentl.Interface; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::TLInterface > *' at 0x000001F637EFD0F0> >, 'serial_number': '077000057871', 'tl_type': 'GEV', 'user_defined_name': ' ', 'vendor': 'Specim', 'version': 'Version 1.3'}
harvesters - INFO 2024-06-20 10:36:49,880: updated: <harvesters.core.Harvester object at 0x000001F617753080>
harvesters - DEBUG 2024-06-20 10:36:49,916: fetched url: Local:MATRIXVISION_GenTL_Device_8_0_0.xml;100000000;7f57
harvesters - DEBUG 2024-06-20 10:36:49,918: created: C:\Users\SGL\AppData\Local\Temp\20240620103649_raqbobvn\MATRIXVISION_GenTL_Device_8_0_0.xml
harvesters - DEBUG 2024-06-20 10:36:49,944: deleted: C:\Users\SGL\AppData\Local\Temp\20240620103649_raqbobvn\MATRIXVISION_GenTL_Device_8_0_0.xml
harvesters - DEBUG 2024-06-20 10:36:49,945: opened: FX10e(70:f8:e7:b0:09:d0) :: c8:7f:54:64:5c:0b_{43132965-6A7F-472E-9977-5637212F176E} :: {AF542A5A-E6D3-4f3d-9908-4A89AE21105A} :: <genicam.gentl.GenTLProducer; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::GenTLProducer > *' at 0x000001F637EFD2A0> >
harvesters - DEBUG 2024-06-20 10:36:49,948: fetched url: Local:FX10e.zip;400000;bbd1
harvesters - DEBUG 2024-06-20 10:36:50,516: created: C:\Users\SGL\AppData\Local\Temp\20240620103650_d97eop_k\FX10e.zip
harvesters - DEBUG 2024-06-20 10:36:50,671: deleted: C:\Users\SGL\AppData\Local\Temp\20240620103650_d97eop_k\FX10e.zip

Hi @pers972
Which version of Python, Harvesters, GenICam package and mvGenTLProducer.cti do you use?
As well which kind of Windows are you using?
Maybe you can also enable additional log information in Harvester (here is a Python code snipped to do so..):
import logging
import warnings
warnings.simplefilter('always')

FORMAT = '%(name)s - %(levelname)s %(asctime)s: %(message)s'
logging.basicConfig(level=logging.DEBUG, format=FORMAT)

h = Harvester(logger=logging.getLogger("harvesters"))

Just to be said: I'm sorry but I wasn't able to reproduce the issue with mvGenTLProducer version 3.2, Harvesters 1.4.3 and genicam 1.4.0.

I'm using windows 11, what about versions python i'm trying different 3.7,3.8,3.9,3.11;   Versions of MAtrix Vision 2.50.0, 2.50.1, 2.46.2, 2.3.4, harvesters 1.3.6 or last version. At my other PC working 1.3.6 harvesters and MATRIX VISION 2.3.4 with python 3.7, but when i'm installed on other PC this combination not worked


random_state

Dear Aurélien,
Hi, my name is Jinsu.
I'm really enjoying your book!!
I don't understand what is the "random_state=42" and "random generator seed"
in page 51,
"First there is a random_state parameter that allows you to set the random generator seed
as explained previously, and second you can pass it multiple datasets with an identical number
of rows, and it will split them on the same indices(this is very useful, for example, if you have a
separate DataFrame for labels)
Could you explain more about it in detail??
And, I want to know how SGDclassifier works.
the book just described the advantage of the classifier.
Thank you
Jinsu Kim

@magicmutal a random_state is used to generate a random number based on a seed. This means that every time you re-execute your workflow is going to generate the same random number. This used to make your workflow reproducible and obtain the same results.

As @cuent said (thanks Xavier!), setting the random_state is useful to ensure that your program will always have the same output.  For example, when you don't set the random state, and you train the model multiple times, you get different results every time:
>>> SGDClassifier().fit(X, y).score(X_test, y_test)
0.81999999999999995
>>> SGDClassifier().fit(X, y).score(X_test, y_test)
0.85999999999999999
>>> SGDClassifier().fit(X, y).score(X_test, y_test)
0.77000000000000002

But when you set the random state, you always get the same result:
>>> SGDClassifier(random_state=42).fit(X, y).score(X_test, y_test)
0.82999999999999996
>>> SGDClassifier(random_state=42).fit(X, y).score(X_test, y_test)
0.82999999999999996
>>> SGDClassifier(random_state=42).fit(X, y).score(X_test, y_test)
0.82999999999999996
>>> SGDClassifier(random_state=42).fit(X, y).score(X_test, y_test)
0.82999999999999996

Of course, if you change the random state, you get a different result:
>>> SGDClassifier(random_state=123).fit(X, y).score(X_test, y_test)
0.87
>>> SGDClassifier(random_state=123).fit(X, y).score(X_test, y_test)
0.87
>>> SGDClassifier(random_state=123).fit(X, y).score(X_test, y_test)
0.87
>>> SGDClassifier(random_state=123).fit(X, y).score(X_test, y_test)
0.87

Don't worry if you don't know how the SGDClassifier works yet, the point of the second and third chapters is to grasp fundamental concepts.  The details of how Stochastic Gradient Descent works is explained in chapter 4.
Hope this helps!


Go Live [June 23]

Push to live

Docs Build status updates of commit eedc097:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/create-apps-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/toolkit/visual-studio-overview.md
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Rename

If this repository is going to go semi-public then it should probably have a more user-focused name.  expr corresponds to an internal detail.  It's useful for us but doesn't mean anything to a user.
Any thoughts?

cc @scharlottej13 we have to update blog posts if we rename the repository

We tend to forget things like this, so I'd rather make others aware of the possibility early on

I'm certainly open to a change while the project is still young. Did you have certain ideas in mind?
I can imagine something like "dask/data-primer".

I can imagine something like "dask/data-primer".

I'm not sure I understand this.  Can you elaborate?

I'm not sure I understand this. Can you elaborate?

If it sounds confusing then it's probably not a good choice :)
The "primer" part is just suggesting that the optimization functionality is analogous to the primer of a combustion engine ("a small pump for pumping fuel to prime an internal combustion engine, especially an aircraft"). So the idea is just that the project is intended to "prime" a data workflow for optimal dask execution.

Did you have certain ideas in mind?

My default expectation was dask-dataframe

I don't like this name because it makes this project specific to dataframes (it is today, but maybe it won't be in the future).  I like it though because it's simple.
Probably that choice would push us to think about splitting up this repo into parts in some expr-array future, which has its own challenges.

I don't like this name because it makes this project specific to dataframes (it is today, but maybe it won't be in the future). I like it though because it's simple.

I also worry that it would be a bit confusing for the name to be the same as the existing dask.dataframe module. It would become more difficult to distinguish the two projects in a conversation. I know dask.dataframe will likely become synonymous with dask-expr in the future, but it will take time for that to happen.

maybe that's really the conversation to be having then.

Sounds good. These two issues seem tightly entangled. I agree that the answer here depends a lot on https://github.com/dask-contrib/dask-expr/issues/374. It also depends a lot on the possible plan for array support (is there an issue for that).


setSpeed not working

Hello,
I'm facing an issue with the setSpeed method. The property speed of the character is updated but the speed does not change. Maybe the method is not designed to be called on the fly ? For the context, I'm trying to speed up my character when pressing the shift key.
Thank you !

I can confirm that this is a bug. The method was designed for exactly your use case.
Thank you for telling! I will let you know as soon as it is fixed.

Fixed with 2.2.0


Remove Trustyai installation in downstream

Jira Issue: https://issues.redhat.com/browse/RHOAIENG-3391
Test Catalogssource: quay.io/vhire/opendatahub-operator-catalog:v2.7.0

quay.io/vhire/opendatahub-operator-catalog:v2.7.0

LGTM.
@VaishnaviHire I'm assuming removing the component, but keeping the alerting rules won't be an issue?

it is set to disabled, so the alerts wont be added into SRE prometheus regardless what value users set in DSC


[Changes] New GSgnnBaseEvaluator and GSgnnClassificationEvaluator

Issue #757 , if available:
Description of changes:
This PR is the 1st one of a sequence PRs that create new Evaluator classes to replace the current GSgnnInstanceEvaluator, GSgnnAccEvaluator, GSgnnRegressionEvaluator, and GSgnnLPEvaluator.
This PR create the base GSgnnBaseEvaluator to replace the current GSgnnInstanceEvaluator and GSgnnLPEvaluator, and  theGSgnnClassificationEvaluator, which extends from the base and replace the current GSgnnAccEvaluator. This PR also replace all occurrence of GSgnnAccEvaluator in core code, examples, documents, and tests.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Can you create a dev branch for the sequence PRs ?

Can you create a dev branch for the sequence PRs ?

Yes. Already did.


Resuming sessions example

Many other clients include the ability to export the current session for storage and to resume a stored session.
I've looked into how this is implemented on the Swift client, and it seems we'd need to store the list of accounts and the chainID (as those are only returned on the first connection), plus the peerID of the wallet and our dApp (we might also have to store our key, although the Swift client doesn't seem to do it).
Then, we should initiate the WebSocket connection (and propagate all the data from the session into the client), and we should be ready to go. I'm planning to try building an implementation of this, but I've never written any C# so I'd really appreciate some help 😁

Created a task for this at #9 for serialization/deserialization functionality

This task has been completed a while ago, closing issue now with following example:
// Create WalletConnectSession object or equivalent
var session = new WalletConnectSession(....);
// Connect session normally
await client.Connect();

// Grab the session data as a SavedSession object
var sessionData = client.SaveSession();
// Convert object to json
var json = JsonConvert.SerializeObject(sessionData);

// ... Write to disk, maybe store encrypted or something ...

// Convert the json back to a SavedSession object
var storedSessionData = JsonConvert.DeserializeObject<SavedSession>(json);

// Resume the session by creating a new instance passing in the SavedSession object
var resumedSession = new WalletConnect(storedSessionData);
// And connect the session
await resumedSession.Connect();


Enhance @Column annotation to allow for specifying custom SQL type, as well as length/precision.

Enhance @Column annotation to allow for specifying custom SQL types, as well as well as length/precision.
For this enhancement we will be taking what is in the JPA standard that is relevant to Schema generation.
https://docs.oracle.com/javaee/7/api/javax/persistence/Column.html

columnDefinition
length
nullable
precision
scale

Closing out this ticket.    We have decided to NOT implement this feature.
While it is definitely tempting to add, the database SQL script(s) itself should be the definitive source of truth.
Also adding the ability to specify a custom SQL type via annotation would also make the generated schema database dependent (i.e. if one specified VARCHAR2(30) that would work great for Oracle but not for other database types).
In short, specifying the type at the annotation level in Code is not the right place to do it.
If we did want to have such a feature (to specify via code) the right place to do it would be in the SchemaSQLGenerationDataModel class.
When we create the model, an array containing <Table, Column, Custom-Type> could be passed in.


0020: DID Reference Changes

The DID spec is evolving, and the DID deference example used in RFC 20 isn't going to be accurate. Current example:
did:sov:123456789abcdefghi1234;spec/exampleprotocol/1.0/exampletype
Likely new syntax:
did:sov:123456789abcdefghi1234;service=spec/exampleprotocol/1.0/exampletype
When should we make this change? What considerations are needed for the transition?

+1 this ABNF change has been merged into the DID spec here: https://github.com/w3c-ccg/did-spec/pull/189

+1 to making the change
I say that we rev all Indy protocol versions 1.1 if they were at 1.0 as they move into Aries, and say that acceptance of them in Aries requires the new format at the same time they get the 1.1 version.

I'd like us to make sure we follow semver conventions around versioning these message families, what would be the rational for bumping to 1.1 if the message type representation was also changing?

Good point @tplooker; maybe that resets everything to 0.9 with new message family identifier until accepted by the Aries community, then to 1.0?

Yes I would like to be minor version (sub 1.0) until the community agrees as that allows minor version bumps to be breaking changes and stops us from eating through major versions until the protocols are stable

We can proposed the current indy based message protocols as 0.1 or anything sub 1.0 and then iterate with new minor versions until we agree, then we can bump to 1.0

@tplooker FWIW the semver compliance goal you articulated is also formally written up here: https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0003-protocols/semver.md. So we should be following what we already said. Thanks for holding us to it. :-)

I assume this change will propagate to all message type definitions.

what timing should we effect for this? Should we do a blanket update of RFCs with the minor update? Should we wait?

I suggest that we update all of the version numbers asap, as one PR.

Closing this in favor of switching Types away from DIDs


Provide documentation for switching from Document store/Mongo to CRL

A customer asked for documentation on switching and we should be prepared to provide it.

We have closed this issue because it is more than 3 years
old. If this issue is still relevant, please add a comment and re-open
the issue. Thank you for your contribution to CockroachDB docs!


Initiatives allow 1000 policies but you can only apply 500 of them?

Is this a mistake?

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

ID: 36f49a06-90b1-cbe1-3853-2c38277b79f8
Version Independent ID: 02ff6f6c-3ef6-b48f-060d-b290419e0aba
Content: Azure subscription limits and quotas - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/azure-subscription-service-limits.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@memildin
Thanks for your feedback! We will investigate and update as appropriate.

@timwarner-msft - do you happen to know the answer for this issue?

@timwarner-msft - do you happen to know the answer for this issue?

Investigating with Azure Policy engineering team today. Thanks, Tom. -Tim

Ok @memildin, I have a response for you. The Azure Policy limits in the table you shared pertain only to custom policies, not built-ins. This explains why you can have up to 1,000 policy definitions within a single initiative assignment even though you can have a maximum of 500 custom policy definitions per scope.
You can open an Azure support ticket to raise those limits if they don't work for you, however. Thanks, Tim

#please-close


Move TDS Ecto types to ecto_sql under name Tds.Ecto.Varchar and Tds.Ecto.UUID

@jose should we close this in favor to #202

@mjaric your call!


Autosub vtt file contains duplicated subtilte in each frame

Hey guys every autosub i download has duplicate string in multiple frame!
youtube-dl -v --sub-lang en --write-auto-sub --skip-download https://www.youtube.com/watch?v=v5cngxo4mIg
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--sub-lang', 'en', '--write-auto-sub', '--skip-download', 'https://www.youtube.com/watch?v=v5cngxo4mIg']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.06.21
[debug] Python version 3.7.3 (CPython) - Linux-5.1.14-arch1-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] v5cngxo4mIg: Downloading webpage
[youtube] v5cngxo4mIg: Downloading video info webpage
[youtube] v5cngxo4mIg: Looking for automatic captions
[debug] Default format spec: bestvideo+bestaudio/best
[info] Writing video subtitles to: PyTorch Prerequisites - Syllabus for Neural Network Programming Course-v5cngxo4mIg.en.vtt

resulting subtitle:
WEBVTT
Kind: captions
Language: en

00:00:00.469 --> 00:00:03.169 align:start position:0%

welcome<00:00:01.469><c> to</c><00:00:01.620><c> the</c><00:00:01.740><c> series</c><00:00:02.159><c> on</c><00:00:02.460><c> neural</c><00:00:02.909><c> network</c>

00:00:03.169 --> 00:00:03.179 align:start position:0%
welcome to the series on neural network

00:00:03.179 --> 00:00:05.510 align:start position:0%
welcome to the series on neural network
programming<00:00:03.689><c> with</c><00:00:04.110><c> PI</c><00:00:04.440><c> torch</c><00:00:04.740><c> in</c><00:00:05.040><c> this</c><00:00:05.250><c> video</c>

00:00:05.510 --> 00:00:05.520 align:start position:0%
programming with PI torch in this video

00:00:05.520 --> 00:00:07.369 align:start position:0%
programming with PI torch in this video
we<00:00:05.970><c> will</c><00:00:06.089><c> look</c><00:00:06.270><c> at</c><00:00:06.359><c> the</c><00:00:06.480><c> prerequisites</c><00:00:07.319><c> needed</c>

00:00:07.369 --> 00:00:07.379 align:start position:0%
we will look at the prerequisites needed

00:00:07.379 --> 00:00:09.680 align:start position:0%
we will look at the prerequisites needed
to<00:00:07.859><c> be</c><00:00:07.980><c> best</c><00:00:08.340><c> prepared</c><00:00:08.429><c> for</c><00:00:08.910><c> the</c><00:00:09.000><c> series</c><00:00:09.360><c> we'll</c>

00:00:09.680 --> 00:00:09.690 align:start position:0%
to be best prepared for the series we'll

00:00:09.690 --> 00:00:11.330 align:start position:0%
to be best prepared for the series we'll
get<00:00:09.809><c> an</c><00:00:09.900><c> overview</c><00:00:10.380><c> of</c><00:00:10.559><c> the</c><00:00:10.679><c> series</c><00:00:11.010><c> and</c><00:00:11.219><c> a</c>

00:00:11.330 --> 00:00:11.340 align:start position:0%
get an overview of the series and a

00:00:11.340 --> 00:00:12.980 align:start position:0%
get an overview of the series and a
sneak<00:00:11.610><c> peek</c><00:00:11.849><c> at</c><00:00:11.969><c> a</c><00:00:12.000><c> project</c><00:00:12.450><c> we'll</c><00:00:12.599><c> be</c><00:00:12.690><c> working</c>

00:00:12.980 --> 00:00:12.990 align:start position:0%
sneak peek at a project we'll be working

00:00:12.990 --> 00:00:14.900 align:start position:0%
sneak peek at a project we'll be working
on<00:00:13.080><c> this</c><00:00:13.440><c> will</c><00:00:13.620><c> give</c><00:00:13.650><c> us</c><00:00:13.830><c> a</c><00:00:13.950><c> good</c><00:00:14.219><c> idea</c><00:00:14.280><c> about</c>

00:00:14.900 --> 00:00:14.910 align:start position:0%
on this will give us a good idea about

00:00:14.910 --> 00:00:16.700 align:start position:0%
on this will give us a good idea about
what<00:00:15.150><c> we'll</c><00:00:15.299><c> be</c><00:00:15.420><c> learning</c><00:00:15.599><c> and</c><00:00:15.990><c> what</c><00:00:16.260><c> skills</c>

00:00:16.700 --> 00:00:16.710 align:start position:0%
what we'll be learning and what skills

notice duplicated sentence in multiple frame!

https://github.com/ytdl-org/youtube-dl/issues/16032


Class cleanup

Removes some redundancy and excess optionality from [..., final] functionality.
This is a subset of #13.

Rebased onto master at de9979b (instead of d9d85f6) and merged.

The one material difference that might be of any concern is in 0da84bb where the \includegraphics command is changed from:
\begin{minipage}[c]{.25in}
  \includegraphics[width=.25in]{sp-logo}
\end{minipage}%

To:
\begin{minipage}[c]{.25in}
  \includegraphics[width=\textwidth]{sp-logo}
\end{minipage}%

But the result is more compact and doesn't repeat the custom measurement from the minipage environment.


CLI extension failed when using diagnostic settings storage account

I'm using the AKS cluster diagnostic settings storage account. So I'm just running command
az aks kollect
I'm getting following error
Getting credentials for cluster
Merged "-admin" as current context in /tmp/tmpaMLFnX
Starts collecting diag info for cluster
str() takes at most 1 argument (2 given)
Traceback (most recent call last):
File "/home/anders/lib/azure-cli/local/lib/python2.7/site-packages/knack/cli.py", line 206, in invoke
cmd_result = self.invocation.execute(args)
File "/home/anders/lib/azure-cli/local/lib/python2.7/site-packages/azure/cli/core/commands/init.py", line 328, in execute
raise ex
TypeError: str() takes at most 1 argument (2 given)

This looks to be some az cli related bug, like:
https://github.com/Azure/azure-cli/issues/10606
Please try installing the latest az cli and check if it works.

Please upgrade the latest az cli version

💡 Reason: This was due to az cli known issue as mentioned above, periscope has nothing much to fix for this. Please add if this stands correct and I can re-open it. Thanks heaps.


Added documentation on how to contribute to medusa

I've documented how to contribute to Medusa and linked to the contribution page from the main README.md
Only question is if it belong in the docs folder, or it should be in the root and called CONTRIBUTION.md . I dont know if that is a standard.
This solves #2

I guess its documented here :
https://docs.github.com/en/free-pro-team@latest/github/building-a-strong-community/setting-guidelines-for-repository-contributors
It can be in the docs folder, so we should be fine


[FEATURE] ZStandard Compression for KNN enabled indices

Is your feature request related to a problem?
Recently I attended OpenSearch conference that happened at Seattle (link) and attended a session on Enhancing compression using Z Standard compression. After conference I spoke with one of the presenters (Sarthak) to evaluate if we can use the ZStandard compression for our indices and learnt that KNN enabled indices is not supported currently.
Our data is in the order of 10s of Terrabytes and continue to grow over time. Creating this issue to enable Zstandard compression for KNN enabled indices.
What solution would you like?
We would want Zstandard plugin enabled for KNN enabled indices
What alternatives have you considered?
Nothing that I'm aware of.
Do you have any additional context?
OpenSearch Conference Session link - https://opensearch.org/events/opensearchcon/sessions/enhancing-opensearch-performance-through-zstandard-compression.html

@naveenaitha Interesting idea. Thanks for brining up.
We would like to see community interest on having this feature part of k-NN to help prioritize. So if you are on this page and interested in this feature, please +1


In DeleteFilesForm the file path column should be clickable and open the folder with the file that was clicked on

Double Clicking should be the preferred action over a single click, since the single click should be reserved for selecting one or multiple logs to remove them from the list.

Should be solved now with the intended way, if not you can reopen this issue.


(I#608) epoch to date grel function

Fixes #608
Changes proposed in this pull request:

Added epochToDate function and epochToDateTest class, similar code to @SustechcsKing 's contribution in issue #3928
Changed hard-coded "America/Chicago" timezone to "UTC" universal time zone
fixed conditional statements to check arguments correctly by replacing "==" with ".equals()"

Thanks! I am not reviewing yet because the tests fail. Feel free to ping me when they do or you need help to get there.

@keerthybreddy , you may have to

run the formatter tool to make sure your code is correct: mvn formatter:format
run the server tests locally to ensure your changes integrate well with the application
verify what is failing on the checks too to be sure you are not missing anything

Thanks! I am not reviewing yet because the tests fail. Feel free to ping me when they do or you need help to get there.

Thanks for getting back to me!
I have just made another commit but it still seems to fail one test. In order to make my code pass all the tests, do I need to write a Cypress test or a JUnit test, or both? @SustechcsKing had written a test class that I used to test my code changes, but it doesn't seem to be sufficient to pass all of the GitHub tests for me.

@keerthybreddy , you may have to

run the formatter tool to make sure your code is correct: mvn formatter:format
run the server tests locally to ensure your changes integrate well with the application
verify what is failing on the checks too to be sure you are not missing anything

Got it, Thank you for the feedback! I am currently working on running the server tests locally.

Hi @wetneb , I think I was able to pass the all of the tests, please let me know if you are able to review my my pull request. Thank you!

Hi @keerthybreddy The integration is still failing. There is a decrease in coverage because the unit test did not cover/test the return statement on lines 43, 51, 58, 63 in EpochToDate. java

Hi @keerthybreddy The integration is still failing. There is a decrease in coverage because the unit test did not cover/test the return statement on lines 43, 51, 58, 63 in EpochToDate. java

Thank you for clarifying that! I was confused as to why I was failing that test case.

@wetneb , I believe that I was able to write and run tests that cover the lines that @WaltonG  mentioned in the previous comment successfully. Please let me know if you are able to review my code. Thank you!

Is the name of this function already agreed on? I think "epoch" rarely refers to a date format, but rather the date it is counted from.  People usually refer to those dates as "POSIX" or "UNIX" in my experience, so I would rather expect the function to be named "posixToDate" or "unixToDate", but it is not a hill I will die on of course!

Wikipedia lists the names as:

Unix time
Epoch time (although later in the article this is described as incorrect)
Posix time
seconds since the Epoch
UNIX Epoch time

Although strictly Unix time is always in seconds since the Unix epoch
Unix and Posix also aren't date formats so I'm not so keen on posixToDate or unixToDate for the same reason as @wetneb  doesn't like epochToDate.
This might be better discussed on the original issue #608 rather than on the PR?

Hello! I was able to push the changes that @ostephens recommended to me and I changed the name of the function to TimeSinceUnixEpochToDate() , please let me know if anyone can review my code. @wetneb, tagging you here for visibility :) Thank you!

Great! One last thing: the function must be registered so that it can be used in GREL expressions (in ControlFunctionRegistry).

Got it! Just registered the function properly and pushed the change again. Please let me know if you have any further feedback @wetneb