Error geneator 'require("history").createBrowserHistory`'

Hello,
My problem is  with the generator react of api platform.
The generate fonctionnal but this message apper "JSON.parse: unexpected character at line 1 column 1 of the JSON data".
In debug console of firefox this error appear "Warning: Please use require("history").createBrowserHistory instead of require("history/createBrowserHistory"). Support for the latter will be removed in the next major release."
Someone had a idea for this problem ?

I find the first problem,
update that line " import createBrowserHistory from 'history/createBrowserHistory';"
by "import { createBrowserHistory  } from 'history';"
but this message appear "JSON.parse: unexpected character at line 1 column 1 of the JSON data"

You are getting that error from api response. Check in network tab response from api.

Tank for response, i look this today


fix: color of faults in experiment list view

Signed-off-by: Sahil<EMAIL_ADDRESS>Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[x] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[x] Optional Screen Shoot.

Old Screen:

New Screen:

Can we change Kubelet Service Kill to Kubelet service kill?


Simplify trait hierarchy for SystemParam

Objective

Implementing a custom SystemParam by hand requires implementing three traits -- four if it is read-only.
The trait SystemParamFetch<'w, 's> is a workaround from before we had generic associated types, and is no longer necessary.

Solution

Combine the trait SystemParamFetch with SystemParamState.

I decided to remove the Fetch name and keep the State name, since the former was consistently conflated with the latter.

Replace the trait ReadOnlySystemParamFetch with ReadOnlySystemParam, which simplifies trait bounds in generic code.

Changelog

Removed the trait SystemParamFetch, moving its functionality to SystemParamState.
Replaced the trait ReadOnlySystemParamFetch with ReadOnlySystemParam.

Migration Guide
The trait SystemParamFetch has been removed, and its functionality has been transferred to SystemParamState.
// Before
impl SystemParamState for MyParamState {
    fn init(world: &mut World, system_meta: &mut SystemMeta) -> Self { ... }
}
impl<'w, 's> SystemParamFetch<'w, 's> for MyParamState {
    type Item = MyParam<'w, 's>;
    fn get_param(...) -> Self::Item;
}

// After
impl SystemParamState for MyParamState {
    type Item<'w, 's> = MyParam<'w, 's>; // Generic associated types!
    fn init(world: &mut World, system_meta: &mut SystemMeta) -> Self { ... }
    fn get_param<'w, 's>(...) -> Self::Item<'w, 's>;
}

The trait ReadOnlySystemParamFetch has been replaced with ReadOnlySystemParam.
// Before
unsafe impl ReadOnlySystemParamFetch for MyParamState {}

// After
unsafe impl ReadOnlySystemParam for MyParam {}

Could we go one step further, as we have with WorldQuery and further combine SystemParamState with SystemParam? What used to be FetchState is now just a type State: Send + Sync + 'static on `WorldQuery

You are forced to add the where Self: 'a bound on every lifetime GAT

Nevermind, I misunderstood how required bounds work the first time I tried this. Working on some more improvements.

One last change: I replaced ReadOnlySystemParamState with ReadOnlySystemParam, which feels like a better API to present. It will also reduce churn later.

If you are planning to merge SystemParam and SystemParamState, should I wait till after?

There's still a few things left to figure out for that PR, so it's not a sure thing for it to get merged. I wouldn't wait, so long as you're okay with a little rebasing if needed.

bors r+


[WIP] tls: refactor to synchronize slot removal on workers

At the expense of startup complexity, this removes the bookkeeper
deletion model for slots, and blocks slot destruction until callbacks
have been flushed on workers. This removes an entire class of bugs
in which a user captures something in the lambda which get destroyed
before the TLS operations run on the workers.
Fixes https://github.com/envoyproxy/envoy/issues/12364
Risk Level: High
Testing: TBD
Docs Changes: N/A
Release Notes: N/A

@jmarantz @htuch @ggreenway @stevenzzzz @lambdai this is seriously lacking tests but fixes https://github.com/envoyproxy/envoy/issues/12364 and I think would prevent a bunch of other issues we have had and have done one off fixes for (some of those fixes can likely be reverted).
Anyway, before I invest a huge amount of time I wanted to get some initial feedback here. Let me know what you think about this direction. I tried to add a bunch of comments in the code but lmk if I need to explain more. After the community meeting convo it should be pretty clear what is going on.

Are we creating different, but still hard-to-diagnose issues, by possibly not running the callback at all (if the slot was destroyed)?

The default implementation does run the callback. It's not run in the immediate deletion case on startup. IMO it's fine to not run the callback if the slot has been deleted so I think this one is OK.

What's the perf impact? An additional atomic operation for each callback? If it's on all workers, it will probably be contended (in hardware). A wrapper function around the pass-in function.

Yes some additional atomic increments for each callback. There is no blocking on worker updates, but there could be contention around the atomics. With that said, I think contention on stats would be vastly worse, so I don't view this as a large issue.

What's the worst-case wait time? (But it's only the main thread that waits, right?)

Worst case wait time on destruction is the event loop delay across all workers which could be hundreds of milliseconds. This is certainly the part that is not great and I'm happy to abandon this approach if we don't want this. I think blocking is the only way to fix the underlying problem if we don't take a different path and do something with code analysis like here: https://github.com/mesos/clang-tools-extra/blob/mesos_90/clang-tidy/mesos/ThisCaptureCheck.cpp. The code analysis approach wouldn't be perfect, but it might be good enough.

One other design alternative: could we remove the need to lock a weak_ptr at every callback if, in startGlobalThreading, we go through all the callbacks and delete the ones that refer to a deleted slot? That would make a clear transition from "we're doing crazy stuff to handle startup-only problems" to "normal running state".

Yes this might be possible. Let me think about this more.

@mattklein123 IIRC http route config is published to worker by TLS. Route is probably carrying  amount update, this may be acceptable or may not.
If EDS cluster update  is going through TLS then this approach would impact a lot.

@mattklein123 IIRC http route config is published to worker by TLS. Route is probably carrying amount update, this may be acceptable or may not.
If EDS cluster update is going through TLS then this approach would impact a lot.

I could be wrong. publish by update is not impacted since the slot is not destroyed within

@mattklein123 IIRC http route config is published to worker by TLS. Route is probably carrying amount update, this may be acceptable or may not.

It's likely a problem in the case of SRDS relatively frequently updates its scopes, with ~100workers, and say deleting 10 scopes(routeConfigProviders), this could mean main thread block for up to (100 events in workers) x 10 times.

If EDS cluster update is going through TLS then this approach

It's likely a problem in the case of SRDS relatively frequently updates its scopes, with ~100workers, and say deleting 10 scopes(routeConfigProviders), this could mean main thread block for up to (100 events in workers) x 10 times.

Yes the blocking is the biggest risk with this approach. It's hard to say whether this is a real issue in practice or not. I'm skeptical it is but hard to say.

@ahedberg @lambdai @lizan @jmarantz @stevenzzzz @ggreenway I want to summarize some of the open lines of thought here so we can have a discussion on how to move forward. I don't want to spend more time until we decide how we want to handle this:

This change will prevent many classes of bugs we have had around TLS slot lifetime, but has the large downside of forcing blocking on the main thread while TLS slot updates flush.
It's possible we can get pretty far with a clang-tidy plugin that looks like this one: https://github.com/mesos/clang-tools-extra/blob/mesos_90/clang-tidy/mesos/ThisCaptureCheck.cpp. The main thing that concerns me about the plugin approach is that it's only a partial fix. a) depending on what is captured it might still be broken depending on transitive lifetimes. b) there are potential race conditions (e.g. let's say we capture by weak_ptr and lock(). Depending on the structure of transitive lifetimes, we may lock something but there is still a race with destruction on the main thread.
The bookkeeper was already implemented by @stevenzzzz to fix similar problems (see https://docs.google.com/document/d/1_axmNmbkDO3aQE3jS5-WgSLvXyVxKwapOnrkBZn-DSk/edit#heading=h.ui18fonf1w1) but it doesn't fix all such problems and adds complexity. (basically the bookkeeper code keeps the slot from getting recycled until all callbacks are flushed, but still relies on the caller to not capture anything they are not supposed to be capturing).

I will admit I'm not thrilled w/ the blocking proposed in this PR, but it doesn't feel completely terrible to me, especially as it removes the bookkeeper logic and prevents more potential issues.
If we don't want the blocking and want to try for a more systemic fix beyond a clang-tidy plugin, one option that I have been noodling on is to figure out how to defer delete the entire listener, cluster, etc. when all nested TLS callbacks have flushed. This would be effectively extending the bookkeeper method on a larger scale, to prevent main thread objects from dying until all nested callbacks have flushed. I think with the way we pass around TLS slot factories, this may be less horrible to accomplish than it seems.
So to summarize:

Do nothing, fix one off bugs that show up.
Try for a clang-tidy plugin, fix one off bugs that show up.
Do this PR (or a variant of it).
Figure out how to extend bookkeeper to a larger level.

Thoughts?

@ahedberg @lambdai @lizan @jmarantz @stevenzzzz @ggreenway I want to summarize some of the open lines of thought here so we can have a discussion on how to move forward. I don't want to spend more time until we decide how we want to handle this:

This change will prevent many classes of bugs we have had around TLS slot lifetime, but has the large downside of forcing blocking on the main thread while TLS slot updates flush.
It's possible we can get pretty far with a clang-tidy plugin that looks like this one: https://github.com/mesos/clang-tools-extra/blob/mesos_90/clang-tidy/mesos/ThisCaptureCheck.cpp. The main thing that concerns me about the plugin approach is that it's only a partial fix. a) depending on what is captured it might still be broken depending on transitive lifetimes. b) there are potential race conditions (e.g. let's say we capture by weak_ptr and lock(). Depending on the structure of transitive lifetimes, we may lock something but there is still a race with destruction on the main thread.
The bookkeeper was already implemented by @stevenzzzz to fix similar problems (see https://docs.google.com/document/d/1_axmNmbkDO3aQE3jS5-WgSLvXyVxKwapOnrkBZn-DSk/edit#heading=h.ui18fonf1w1) but it doesn't fix all such problems and adds complexity. (basically the bookkeeper code keeps the slot from getting recycled until all callbacks are flushed, but still relies on the caller to not capture anything they are not supposed to be capturing).

I will admit I'm not thrilled w/ the blocking proposed in this PR, but it doesn't feel completely terrible to me, especially as it removes the bookkeeper logic and prevents more potential issues.
If we don't want the blocking and want to try for a more systemic fix beyond a clang-tidy plugin, one option that I have been noodling on is to figure out how to defer delete the entire listener, cluster, etc. when all nested TLS callbacks have flushed. This would be effectively extending the bookkeeper method on a larger scale, to prevent main thread objects from dying until all nested callbacks have flushed. I think with the way we pass around TLS slot factories, this may be less horrible to accomplish than it seems.
So to summarize:

Do nothing, fix one off bugs that show up.
Try for a clang-tidy plugin, fix one off bugs that show up.
Do this PR (or a variant of it).
Figure out how to extend bookkeeper to a larger level.

Thoughts?

Basically Bookkeeper stops a slotimpl from being tearing down when there are outgoing lambdas in workers(for https://github.com/envoyproxy/envoy/issues/7902). It also doesnt block when the destructor is called on main thread.
This PR extend the life cycle coverage to part of captured objects by checking if the slotimpl destructor is called.
I think we can extend the bookeeper with the update we have in this PR, that will give us a nonblocking, and safer slot impl.
On the other hand, Tls is used to do cross-thread communication, we should probably state clearly in the doc that only stateless data should be captured and passed around, the clang tool will help here as well.

I think we can extend the bookeeper with the update we have in this PR, that will give us a nonblocking, and safer slot impl.

How? Can you expand? I don't see any way of making it safer on its own without without blocking.

If we went the clang-tidy route, would that be sufficient to also remove the BookKeeper code?

If we went the clang-tidy route, would that be sufficient to also remove the BookKeeper code?

No, I don't think so. The bookkeeper code is preventing the slot from getting recycled while callbacks are still in flight. Fundamentally it's the same root issue: we have callbacks in flight that refer to something on the main thread that is in the process of getting destroyed.
This is why I'm still personally voting for the blocking solution: it doesn't thrill me but my intuition is that the blocking won't cause any issues in practice, especially with a combination of timeouts on the wait and the deadlock detection code we already have.

How? Can you expand? I don't see any way of making it safer on its own without without blocking.

I am thinking let's add the "still_alive_guard_" to bookkeeper, and in the wrapped callback capture the weak_ptr, check still_alive_guard_ is still alive before calling the real callback. this is an i'd say huge improvement to the bookkeeper already.
for callbacks which has won the race on "destructing/checking still_alive_guard_", since the slotimpl is not deleted, the deferred deletion trick adds some safety to these winner callbacks. (same as this PR, it wont solve all the problems).

I am thinking let's add the "still_alive_guard_" to bookkeeper, and in the wrapped callback capture the weak_ptr, check still_alive_guard_ is still alive before calling the real callback. this is an i'd say huge improvement to the bookkeeper already.
for callbacks which has won the race on "destructing/checking still_alive_guard_", since the slotimpl is not deleted, the deferred deletion trick adds some safety to these winner callbacks. (same as this PR, it wont solve all the problems).

Yes I agree this can't hurt, and I can add this, but it doesn't actually fix the underlying race condition, but I suppose it's better than nothing.

Status update: I'm going to work on cleaning up the existing thread_local_impl code (I think it can be simplified) and also adding the still alive guard per discussion with @stevenzzzz. This should fix another class of bugs (in particular LDS listener failure during initial startup). After that I will take a look at a clang-tidy plugin. This seems like the least contentious path forward right now.

Thanks!

@ahedberg @lambdai @lizan @jmarantz @stevenzzzz @ggreenway I finally got back to this. See the updated PR title and description for what I did. Let me know what you think of this direction. I think this will be non-controversial. If so, I will add some more tests. Thank you!

Are you going to use the thread synchronizer to make a test?

Assuming there are no objections to this approach I'm going to add a substantial number of new tests to cover this behavior.

@ggreenway @jmarantz @stevenzzzz updated per comments.

@ggreenway @jmarantz @stevenzzzz updated again. I fixed a bunch of broken captures and simplified the API. I will take another pass on broken captures when I work on the clang-tidy plugin.


derivation of shapeless tagging causes compiler to fail

the attached example causes the compiler to fail with message
[info] Compiling 3 Scala sources to /home/tim/tmp/magnolia-json/target/scala-2.12/classes ...
[error]
[error]   bad qualifier received: mkAttributedQualifier(<notype>, <none>)
[error]      while compiling: /home/tim/tmp/magnolia-json/src/main/scala/optrak/scalautils/mjson/CompoundParsers.scala
[error]         during phase: globalPhase=typer, enteringPhase=namer
[error]      library version: version 2.12.4-bin-typelevel-4
[error]     compiler version: version 2.12.4-bin-typelevel-4

In the worst case (my real code) this is all you get:
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn]     * org.postgresql:postgresql:42.1.4 is selected over 9.4.1208.jre7
[warn]         +- com.optrak:scala-sql_2.12:0.1-SNAPSHOT             (depends on 9.4.1208.jre7)
[warn]         +- net.postgis:postgis-jdbc:2.2.1                     (depends on 9.4.1208.jre7)
[warn] Run 'evicted' to see detailed eviction warnings
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.4-bin-typelevel-4. Compiling...
[info]   Compilation completed in 7.941s.
[error] bad qualifier received: mkAttributedQualifier(<notype>, <none>)
[error] bad qualifier received: mkAttributedQualifier(<notype>, <none>)
[error] two errors found
[error] (erp-model/compile:compileIncremental) Compilation failed

No file, no line indicator, nothing. SBT just gives up.
However, in this boiled down case you do get sufficient info to identify the problem line.
Also in the real case the behaviour of what will and won't work is different (the Option version doesn't compile whereas here it does).
magnolia-json.zip

Maybe the issue is here: https://github.com/propensive/magnolia/blob/master/core/shared/src/main/scala/globalutil.scala#L74

Thanks for the report, @TimPigden! I'm still only connected to the Internet with my smartphone, but I will take a look soon. On the face of it, I have no idea what the issue is, but it looks like the sort of thing we might be able to get a handle on, and maybe hack a bit to make it work... but not necessarily easily.

@joroKr21 It looks like a good candidate! I'll try to take a look later today.

Hi Jon, good talking to you today. Here's the latest version which illustrates both the bug and the implicits I'd like to make both
magnolia-json.zip

I've found something else out which may be relevant. A different generic but the pattern is similar
class CompanyHash extends SpecValidated with LazyLogging {
  val hasher = hashBuilder[TestData]
  val hasherOpt = hashBuilder[TestDataOpt]
  "taggehed" should {
    "hash ok" in {

      val h1 = hasher.simplyHash(testData1)
      val h2 = hasher.simplyHash(testData2)
      val h1Again = hasher.simplyHash(testData1)

      // h1 !== h2
      h1 ==== h1Again
    }
  }

compiles whereas
class CompanyHash extends SpecValidated with LazyLogging {
  "taggehed" should {
    "hash ok" in {
  val hasher = hashBuilder[TestData]
  val hasherOpt = hashBuilder[TestDataOpt]

      val h1 = hasher.simplyHash(testData1)
      val h2 = hasher.simplyHash(testData2)
      val h1Again = hasher.simplyHash(testData1)

      // h1 !== h2
      h1 ==== h1Again
    }
  }

causes the compiler to blow up. Those shoulds/in are from specs2 btw.
So I don't know what the specs stuff does in turns of context or whatever, but it looks like the immediate context of the implicit is

Thanks, @TimPigden! I promise I'll take a look as soon as I'm past the next extremely busy week. :)

Wow even old bugs can be fixed. Closing this one as duplicate of #165.
Keeping the newer ticket because it identifies where the problem is.


Match-V5

Hi everybody
I wanted to know if I could use this library to recover the champions of each game from summonner. I have access to match-v5 and I wanted to know if this library is compatible.
Thank you very much.

Yes, this library is matchv5 compatible

Okey perfect, i start to work with this library.
Can I recover the last games of a summoner???


Package Cleanup

I cleaned up several aspects of package.json:

Removed an extra test from the scripts section.
Updated the order of dependencies (this happens automatically when you do npm install <package> --save, so this change makes for cleaner commits on future package additions).
Updated the deprecated SPDX license expression.

+1


Add usage section

There's essentially no information on how to use the plugin (e.g. example invocations to commands).

Furthermore the sanitize repo -h feedback was not so informative on the extra arguments that are required:
  --no-commit
  --target-branch TARGET_BRANCH

Just some notes from my first experience to help guide :)

As much of the work with RepoBee can be done remotely against repos on a template-org, it would be worth mentioning that we should be working within the repo locally (obvious in retrospect, but if you are used to use the template-org, this might be confusing, especially as some commands like setup do not like to be called from within a repo with a matching name)
There needs to be a clear description of where you should be when executing the commands, i.e. have checked out the solutions branch and targeting the master branch. I successfully nuked the solutions branch by getting this wrong the first time :)


Forbid accessing _core directly

Summary
Forbid accessing _core directly. This helps ensuring that all symbols needed for extending Core functionality are available.
Test Plan
CI
Additional Notes
—

LGTM. Let's wait for @srinivas212 and @artemry-nv for this PR.


Incorrect answers using star character to multiply in Numeric Q

Several of the common wrong answers are students using the * character to mean multiplication. I know it's not in the list of ways to enter a right answer, but could we character swap the literal * character for an x character before checking their answers?

Done.


Unable to run any content

I was unable to run hevc content in Firefox but found out it is not possible so I was looking for an alternative and found about jellyflut. First of all thanks, for creating this client. It's what I was looking for.
My issue is when trying to play hevc content jellyflut shows black screen. Clicking play button multiple times does nothing. I enabled transcoding and I can view the content in the browser now but still not in jellyflut. The vlc on my system can play the content just fine.
Edit: Just wanted to add I am using this on Debian. Thanks.
Edit2: I just tried with other files and I am not able to play any content.

I have this issue too but on Windows and not on Linux.
I can't log nor i can't catch any error as VLC don't tell me what's wrong... But it seems that's the certifcate issue that i have too. VLC think the certifcate cannot be trusted so it don't play any content.
Right now i don't know fow to fix this issue, apart from opening an issue, as it's a plugin and not developped by myself.
I'm gonna check what i can do as this issue seems to be affect more peaople than i thought.

Now that I think about it, did you install vlc and libvlc ? Linux should work
sudo apt-get install vlc
sudo apt-get install libvlc-dev

I had vlc installed already. The package manager refused to install jellyflut until libvlc was installed. I don't think there is issue with installation since it was all resolved before starting jellyflut for first time.

Strange as it works for me on Fedora.
Right now i can't find a solution, even dropping latest vlc binary in dart_vlc  project while building do not seems to make it works...
At first I thought it was reverse proxy too high TLS version but even reduce TLS from 1.3 to 1.2 do not work...
I'm gonna let this issue opened hopping someone could help me on this 🙏

So I tried to run app from command line and I see some logs
[00007fb104008350] gnutls tls client error: TLS handshake error: An unexpected TLS packet was received.
[00007fb104008350] main tls client error: TLS session handshake error
[00007fb104008350] main tls client error: connection error: Resource temporarily unavailable
[00007fb104007f80] access stream error: HTTP connection failure
[00007fb164685610] main input error: Your input can't be opened
[00007fb164685610] main input error: VLC is unable to open the MRL 'https://pavilion:8096/Videos/b94982c34f552cdd7f0bfdb897521e0f/stream.m4v?StartTimeTicks=2252376250&Static=true&MediaSourceId=b94982c34f552cdd7f0bfdb897521e0f&DeviceId=debian&VideoBitrate=50000000&AudioBitrate=8000000&Tag=42ad9b12ecc60b03ea0d52948e4806ca&api_key=<removed>'. Check the log for details.

I am not sure if you have seen these logs but thought I had share anyway. One thing I wanted to know was why the stream is using ssl since afaik I have not enabled ssl on my jellyfin server. Why not use stream over http?

I spent some time on this and found out that if we use Uri.http instead of Uri.https the issue is resolved. I had to make the change at these 2 places
streaming_service#119 & 216
I can play both with and without transcoding streams after this change. I will stick with my build until you make decision on how to resolve this issue. Thanks.

Yeah i saw the same thing, i was enforcing https...
I just made a patch on branch feature/selectable_remote_audio_tracks, can you try it and tell me if it's ok ?
Thanks

Yes this fixes my issue!


Initial version of the /divisions API

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/344/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/302/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/369/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/370/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/326/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/328/


About save char into netcdf

What is your issue?
When I want to save char into netcdf, it will produce a new dimension. However I read this netcdf file with xarray, it can't find anything with this dimension.
∫

@ChristmasZCY Please have a look at the documentation about string encoding
https://docs.xarray.dev/en/stable/user-guide/io.html#string-encoding
Good chance that this gives you the needed information.

Thank you very much.
Have done


[FLINK-10968][kubernetes] Implement TaskManager Entrypoint for Kubernetes.

What is the purpose of the change
This PR is part of FLINK-9953(Active Kubernetes integration). Implement TaskManager Entrypoint for Kubernetes. KubernetesTaskExecutorRunner is the executable entry point for running a TaskExecutor in a Kubernetes pod. It will parse the dynamic configuration option in args and use the new configuration to run a task manager.
This PR is based on #9957 #9965 #9973 #9984 .
Brief change log

add KubernetesTaskExecutorRunner

Verifying this change
It is just a entrypoint class. All the functionality is in TaskManagerRunner. Will test it manually.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@zhijiangW Thanks for your review. I agree with that KubernetesTaskExecutorRunner and YarnTaskExecutorRunner have some duplicated codes. I will add a AbstractTaskExecutorRunner to cover the common codes.

@zhijiangW I have addressed all your comments through the last 3 commits. Please take a look.

Thanks for the fix @wangyang0918 !
It is almost good for me now.  I am not quite sure whether it is necessary to supplement a unit test for TaskManagerRunner.runTaskManagerSecurely to verify the passed args are correctly loaded into configuration.  Because the new KubernetesTaskExecutorRunner relies on this method which seems not be covered by tests before.
In addition, if we can decouple this PR with previous KubernetesResourceManager, then it can be merged separately to not be blocked by precious PRs.  The only reference by this PR is KubernetesResourceManager.ENV_RESOURCE_ID.

Another nit suggestion for commit format. It is better to have only one sentence for commit title and can further give more explanations in commit message if want.

@zhijiangW Thanks for your quick response. I have updated the PR and the PR could be merges separately.

Squash the first two commits and update the commit message
Add a test for loading dynamic properties testLoadDynamicalProperties
Rename ENV_RESOURCE_ID  to ENV_FLINK_POD_NAME and move to Constants

Thanks for the fix @wangyang0918 . I left several additional comments before final approval.

In addition, remove the dot at the end of commit title.


Expected Future Lifetime

I apologize if I am extrapolating beyond what your package was intended to do.  I understand that a large portion of survSHAP(t) is providing explanatory variable analysis. Your paper indicates that SurvSHAP(t) can return an individual's unique survival function given their covariates, distinct from the assumptions in a Cox model.  Can your Survival Function be used to calculate an Expected Future Lifetime?
https://en.wikipedia.org/wiki/Survival_analysis#Quantities_derived_from_the_survival_distribution

Unfortunately, this is not the functionality of this package.
SurvSHAP(t) returns the contributions of each covariate to the survival function prediction obtained by using another model. The fact is that summing these attributions gives the value of the survival function, but the prediction itself is from external model.
You can find some machine learning survival analysis here, for example: https://scikit-survival.readthedocs.io/en/stable/index.html.


The limitation of RNN Seq2Seq model for numeral translation

Following up https://github.com/real-ai/realai.org/issues/2, here is an example where RNN Seq2Seq fails to translate a large number from one language to another language:
Decimal reference:
13,729,685

Original English text:
thirteen million seven hundred and twenty-nine thousand six hundred and eighty-five

Incorrect Chinese translation generated by Google Translation, one of the best-known RNN Seq2Seq translation model.
十三万二千七百六十八

Expected Chinese translation:
一千三百七十二万九千六百八十五

Why does Google Translation fail?
More experiments show that many other neural machine translation systems also fail in the same way. If there is any neural machine translation system works properly for the numeral translation task, then it is likely using some engineering workaround:
Firstly extracting the numeral entity, then convert to the target language with an external hand-written algorithm, finally re-insert the converted numeral into the target sentence. See SYSTRAN’s Pure Neural Machine Translation Systems Section 4.3 Named Entities (NE) for one example.
So the question becomes, why neural machine translation models fail on numeral translation task?

A common hypothesis is, this is a underfitting problem. With more training data focus on the numeral task, with larger networks, with longer training time, the problem should be solved. However, more experiments on some toy tasks show that this is not a underfitting problem.
By ignoring exceptions, we consider the English->Chinese numeral translation task as a conversion task between a base-1000 numeral system and a base-10000 numeral system. From this point, we construct even more simplified toy tasks as below:
Could RNN Seq2Seq learn to translate Decimal (base-10) to Hexadecimal (base-16)? What about Binary (base-2) to Decimal? What about Binary to Octal (base-8)? What about Unary (base-1) to Binary? Extremely, what about Binary to Binary, that is, a simple copy-and-paste task?
Surprisingly, these tasks are more challenge to RNN Seq2Seq than what we expected.
Here is an experiment of translating Dec to Hex, it shows that RNN Seq2Seq is never able to learn to do the task precisely:
https://github.com/aicodes/rnn-limit/blob/master/example_output.txt
Quote of example output:
X: 633940, Y_pred: 632697, error: 0.19607533836009716%
X: 682711, Y_pred: 681628, error: 0.15863227632189902%
X: 117545, Y_pred: 117142, error: 0.34284742013696884%
X: 980707, Y_pred: 981091, error: -0.03915542562661427%

Here X is the original decimal in training set, and Y_pred is the decimal conversion of the hexadecimal representation of the predicted value generated by RNN.

Placeholder: RNN and context-free grammar

Cai et al. (2017) implement recursion to provably solve grade-school addition, bubble sort, topological sort, and quicksort. My guess is that a neural architecture like theirs can solve base conversion too. It's not obvious how recursion can be learned in a typical RNN seq2seq model.

Thanks @yanjon ! I totally agree with you. Graves (2016) might also be able to solve this problem, where they support adaptive computation time for RNN.


Proper providers management

Available providers are now part of the configuration.
style, m-style and t-style have all been super-seeded by the variant attribute. Those are deprecated.
Also adds Carto as a provider.

@A---- Sorry for the long delay.
Thank you for the proposed changes. I approve. But there are conflicts. Could you resolve them?


ValidateIndentation: Adding a broken test for functions as an argument

@mikesherov While running my autoformatting plugin, this is the main issue I ran into.
This passes:
    fn("foo", function() {
    a();
});

But should fail and require:
    fn("foo", function() {
        a();
    });

This is also an issue with arrays. This shouldn't be valid:
        var files = [
    'foo',
    'bar',
    'baz'
];

I guessed as to where to put the test, let me know if it should be somewhere else. It's also possible that this is supposed to be covered by some rule other than validateIndentation.

Arrays are separate because people are all over the map with how they get indented. Even the JSCS codebase fails if we enforced array indentation.
In regards to the first failure, it's a tough call because this should pass:
var longName =
                       fn('foo', function() {
  a();
});

I ere on the side of caution while trying to not introduce too much complexity (it's already complex enough!).
Anyway, I'll see if I can fix this soon, but it likely won't make it into 1.12.

Can you elaborate a bit more on why that example should pass?
Also, perhaps it's time to have indenting rules beyond just the simple all or nothing validateIndentation. I'm thinking about arrays specifically here since as you say, everyone is doing them differently.

@TheSavior actually, you're correct about first example.

Good to hear. FWIW, this has almost been a big enough thorn in my side to go back to another sublime formatter plugin. I hope we can figure out the right way to fix it. It seems to be an issue for all blocks split on multiple lines.

Is there a potential stop gap fix that just causes the autoformatting to format these blocks properly, but doesn't necessarily validate them properly?
For example this code
var x = {
  a: 'foo',
b: {
  c: 'bar'
}
}

when autoformatted, is turned into this:
var x = {
  a: 'foo',
  b: {
  c: 'bar'
}
}

It seems like it could theoretically detect the block and indent the entire thing and then revalidate the indentation. Perhaps I'm missing how this is implemented though.

@mikesherov Do you thought about making several options-flags to explicitly show what is available?
E.g. allowArraysWithoutIndent, allowArraysWithSingleIndent, etc.

@TheSavior sorry that this is causing you so many problems. I'll be picking back up on this soon. I've got important work deadlines that are eating up all my FOSS time at the moment.

Just got another one - https://github.com/jscs-dev/node-jscs/issues/1287

@mikesherov @TheSavior hey there, do any of you have time to take tackle this one?

Looked into it. A bit more difficult than I thought, due to lots of edge cases, but I'm actively investigating.

I guess I have the same issue.
With a code like this:
(function() {
	'use strict';

	define(function(require) {
		var a = require('a'),
			b = require('b'),
			c = require('c');

When running JSCS, it gets converted to this one:
(function() {
	'use strict';

	define(function(require) {
		var a = require('a'),
		b = require('b'),
		c = require('c');

But I want to keep the indentation.
This is my config file (I used the Crockford preset):
{
    "preset": "crockford",
    "disallowDanglingUnderscores": null,
    "disallowSpaceBeforeBinaryOperators": null,
    "disallowSpacesInFunctionDeclaration": null,
    "disallowSpacesInsideArrayBrackets": null
}

Am I missing some configuration option?
Thanks and amazing job!


Image Uploader - Prevent Submission of Idea until files uploaded

cc @brooklynDev

I'll do this one later today.

Pull request sent:
https://github.com/Code52/Ideastrike/pull/56


Converting Jupyter notebook to HTML for presentation, using the same style as Azure Data Studio

Dear developers,
I really enjoy using Jupyter notebooks with SQL kernels for my work. I recently wanted to save my notebook to HTML format for presentation to colleagues -- but I could not find a way to save it in the same style that Azure Data Studio uses.
For example, if I switch to Python kernel and type "!jupyter nbconvert my_notebook.ipynb --to html --template classic" to a new notebook cell, I can save my notebook in classic Jupyter style, but not the Azure Data Studio style.
I would prefer the Azure Data Studio style as I just feel it is prettier for SQL. Is there currently any straightforward way to do this? I hope I have not overlooked something obvious!
Many thanks,
Andres

@tammandres Currently we don't have any functionality to export an ADS-style notebook as html. The only way to export the notebook as html would be with that jupyter convert command you're using.

@tammandres Currently we don't have any functionality to export an ADS-style notebook as html. The only way to export the notebook as html would be with that jupyter convert command you're using.

Thanks for getting back to me! Looks like it's not possible before a feature is added. However, I was wondering if the Azure Data Studio style specification is available in some easily usable format? The Jupyter nbconvert allows for custom style if I modify their basic template, and maybe it would not be too hard to modify it according to ADS spec ...

Thanks for getting back to me! Looks like it's not possible before a feature is added. However, I was wondering if the Azure Data Studio style specification is available in some easily usable format? The Jupyter nbconvert allows for custom style if I modify their basic template, and maybe it would not be too hard to modify it according to ADS spec ...


feat: add AI API methods

Codecov Report
Attention: Patch coverage is 1.17647% with 84 lines in your changes are missing coverage. Please review.

Project coverage is 50.85%. Comparing base (5ea1cff) to head (657db34).

Files
Patch %
Lines

crowdin/ai.go
0.00%
59 Missing :warning:

crowdin/model/ai.go
0.00%
25 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #47      +/-   ##
==========================================
- Coverage   52.38%   50.85%   -1.53%
==========================================
  Files          60       62       +2
  Lines        2755     2840      +85
==========================================
+ Hits         1443     1444       +1
- Misses       1244     1328      +84
  Partials       68       68

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


02.01.01 - Habit Event Core

Focus
Habit Events
Partial US
As a doer, I want to denote a habit event when I have done a habit as planned.
Reason
These instances help hold users accountable, and also act as a means of potentially making memories
Story Points
3
Risk Level
Low

Finished as of #93


pipenv (patched pip) corrupts path for editable requirement on Windows

Issue description
I try to install a package into pipenv's virtual environment as editable (either using relative path pipenv install -e . or absolute path pipenv install -e D:\long\windows\path\project). I get the error with a traceback with this exception: pipenv.patched.pip._internal.exceptions.InstallationError: D:longwindowspathproject is not a valid editable requirement. It should either be a path to a local project or a VCS URL.... (Full traceback provided below.)
With some adhoc debugging I found that the path is first resolved if it's relative, and then the absolute path gets corrupted (maybe not only) here (link):
options = shlex.split(options_str)

While running install -e ... commands, this line executes twice:

options_str == '-i https://pypi.org/simple C:\\Users\\user\\AppData\\Local\\pipenv\\pipenv\\Cache',
options == ['-i', 'https://pypi.org/simple', 'C:UsersuserAppDataLocalpipenvpipenvCache']

options_str == '-e D:\\long\\windows\\path\\project'
options == ['-e', 'D:longwindowspathproject']

shlex.split for some reason removes every backslash from a Windows path, I have tested it in IDLE. I have also tried to run pipenv install -e D:/long/windows/path/project, no changes happened.
When I tried to replicate it with just virtualenv and pip, this line in pip was never executed. (theories ahead) I suppose this is because pipenv creates a temporary requirements.txt to supply it to pip, and somehow it goes wrong. Maybe for local files it should use URLs with file scheme instead of plain absolute paths? ( hinted link)
Steps to replicate

be on Windows (10)

have a Python project which already has associated virtual environment managed by pipenv (I created it with python -m pipenv --python=<python-path> at project root)

3.1. from the root directory of the project, run python -m pipenv install -e . (as in docs)
OR
3.2. run python -m pipenv install -e <project-absolute-path>
Expected result
The package is installed into associated virtual environment as editable.
Actual result
The package is not installed, pipenv exits with an error, producing this:
long traceback
d:\long\windows\path\project>python -m pipenv install -e . --dev --verbose
Loading .env environment variables...
Installing -e ....
Resolving -e ....
Installation Succeeded
Pipfile.lock (c606b7) out of date, updating to (916e2e)...
Locking [packages] dependencies...
Locking [dev-packages] dependencies...
Building requirements...
Resolving dependencies...
Traceback (most recent call last):
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\resolver.py", line 675, in <module>
    main()
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\resolver.py", line 661, in main
    _main(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\resolver.py", line 645, in _main
    resolve_packages(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\resolver.py", line 612, in resolve_packages
    results, resolver = resolve(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\resolver.py", line 592, in resolve
    return resolve_deps(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 918, in resolve_deps
    results, hashes, internal_resolver = actually_resolve_deps(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 691, in actually_resolve_deps
    resolver.resolve()
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 443, in resolve
    constraints = self.constraints
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 401, in constraints
    possible_constraints_list = self.possible_constraints
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 388, in possible_constraints
    possible_constraints_list = [
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 389, in <listcomp>
    install_req_from_parsed_requirement(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 485, in install_req_from_parsed_requirement
    req = install_req_from_editable(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 240, in install_req_from_editable
    parts = parse_req_from_editable(editable_req)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 209, in parse_req_from_editable
    name, url, extras_override = parse_editable(editable_req)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 126, in parse_editable
    raise InstallationError(
pipenv.patched.pip._internal.exceptions.InstallationError: D:longwindowspathproject is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).
Locking Failed!
[    ] Locking...
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\__main__.py", line 4, in <module>
    cli()
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\options.py", line 58, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\command.py", line 209, in install
    do_install(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\install.py", line 297, in do_install
    raise e
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\install.py", line 281, in do_install
    do_init(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\install.py", line 648, in do_init
    do_lock(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\lock.py", line 65, in do_lock
    venv_resolve_deps(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 859, in venv_resolve_deps
    c = resolve(cmd, st, project=project)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\resolver.py", line 728, in resolve
    raise RuntimeError("Failed to lock Pipfile.lock!")

PIP_DISABLE_PIP_VERSION_CHECK
PYTHONDONTWRITEBYTECODE
PIPENV_VENV_IN_PROJECT
PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv-specific environment variables:

PIPENV_VENV_IN_PROJECT: 1

Debug-specific environment variables:

PATH: ...;C:\Program Files\Python310\Scripts\;C:\Program Files\Python310\;...;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;...;C:\Users\user\AppData\Roaming\Python\Python310\Scripts;...;

Contents of Pipfile ('D:\long\windows\path\project\Pipfile'):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.10"
python_full_version = "3.10.11"

Contents of Pipfile.lock ('D:\long\windows\path\project\Pipfile.lock'):
{
    "_meta": {
        "hash": {
            "sha256": "..."
        },
        "pipfile-spec": 6,
        "requires": {
            "python_full_version": "3.10.11",
            "python_version": "3.10"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {},
    "develop": {}
}

Please try specifying the name@ prefix syntax before specifying your editable requirement, I think its struggling on identifying the correct name from the project config  for your library.

Is it like this...
d:\long\windows\path\project>python -m pipenv install --dev -e<EMAIL_ADDRESS>--verbose

output
Loading .env environment variables...
Installing -e<EMAIL_ADDRESS>Resolving -e<EMAIL_ADDRESS>Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\__main__.py", line 4, in <module>
    cli()
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\options.py", line 58, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\command.py", line 209, in install
    do_install(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\install.py", line 212, in do_install
    pkg_requirement, _ = expansive_install_req_from_line(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\dependencies.py", line 962, in expansive_install_req_from_line
    return install_req_from_editable(pip_line, line_source), name
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 240, in install_req_from_editable
    parts = parse_req_from_editable(editable_req)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 209, in parse_req_from_editable
    name, url, extras_override = parse_editable(editable_req)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 126, in parse_editable
    raise InstallationError(
pipenv.patched.pip._internal.exceptions.InstallationError<EMAIL_ADDRESS>is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).

I also tried to specify path on command as file-scheme URL, it got resolved to the same D:longwindowspathproject.

Is it like this...
d:\long\windows\path\project>python -m pipenv install --dev -e<EMAIL_ADDRESS>--verbose

output
Loading .env environment variables...
Installing -e<EMAIL_ADDRESS>Resolving -e<EMAIL_ADDRESS>Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\__main__.py", line 4, in
    cli()
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\options.py", line 58, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\command.py", line 209, in install
    do_install(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\install.py", line 212, in do_install
    pkg_requirement, _ = expansive_install_req_from_line(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\dependencies.py", line 962, in expansive_install_req_from_line
    return install_req_from_editable(pip_line, line_source), name
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 240, in install_req_from_editable
    parts = parse_req_from_editable(editable_req)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 209, in parse_req_from_editable
    name, url, extras_override = parse_editable(editable_req)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\patched\pip\_internal\req\constructors.py", line 126, in parse_editable
    raise InstallationError(
pipenv.patched.pip._internal.exceptions.InstallationError<EMAIL_ADDRESS>is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).

Same with an absolute path, but the exception text is pipenv.patched.pip._internal.exceptions.InstallationError: package@D:\long\windows\path\project is not a valid editable requirement

Hmmm, I'll have to think on this more, just wondering though which shell, is it windows power shell?  I want to be able to reproduce the issue.

I used cmd.exe on Windows 10 initially.
I just tried python -m pipenv install -e . in powershell, it got installed on first try. I could not replicate the problem in powershell, though I tried it several times both from cmd.exe (with the error) and powershell (successfully, cleaning Pipfile and lockfile afterwards).
I don't know powershell stuff, printf debugging doesn't work well... That corrupting line is executed twice:

options_str == '-i https://pypi.org/simple C:\\Users\\user\\AppData\\Local\\pipenv\\pipenv\\Cache'
options == ['-i', 'https://pypi.org/simple', 'C:UsersuserAppDataLocalpipenvpipenvCache']

options_str == '-e .'
options == ['-e', '.']

Also, even when I specify the absolute path on the same drive, it comes to this line as relative ..
So the problem with shlex persists, but since the path . is not resolved when running from powershell (for some reason), it does not cause a visible error.
Also, when I specify the absolute path on a different drive, I get this:
command, output
PS D:\long\windows\path\project> python -m pipenv install -e "C:\Users\user\package\"
Loading .env environment variables...
Installing -e C:\Users\user\package\...
Resolving -e C:\Users\user\package\...
Traceback (most recent call last):
  File "C:\Program Files\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\__main__.py", line 4, in <module>
    cli()
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\options.py", line 58, in main
    return super().main(*args, **kwargs, windows_expand_args=False)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\vendor\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\cli\command.py", line 209, in install
    do_install(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\routines\install.py", line 255, in do_install
    added, cat, normalized_name = project.add_package_to_pipfile(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\project.py", line 1211, in add_package_to_pipfile
    name, normalized_name, entry = self.generate_package_pipfile_entry(
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\project.py", line 1155, in generate_package_pipfile_entry
    req_name = determine_package_name(package)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\dependencies.py", line 792, in determine_package_name
    req_name = find_package_name_from_directory(package.link.file_path)
  File "C:\Users\user\AppData\Roaming\Python\Python310\site-packages\pipenv\utils\dependencies.py", line 644, in find_package_name_from_directory
    os.listdir(directory),
FileNotFoundError: [WinError 3] The system cannot find the path specified: '\\Users\\user\\package'

It happens because here in pipenv the original absolute path 'C:\\Users\\user\\package' is supplied to urllib.parse.urlparse, which treats drive letter as URL scheme c, and the following code removes this scheme. I have no idea what's going on there.
I checked the cache dir which path is also corrupted: any recent files are related to my other work with pipenv where I don't use editable dependencies.

example to reproduce:

be on Windows (Windows 10)
clone this repo into pipenv-issue-6068-demo
open cmd.exe
cd pipenv-issue-6068-demo
python -m pipenv install -e . (I run Python 3.10)

this produces the error from the initial comment, with exception: pipenv.patched.pip._internal.exceptions.InstallationError: D:longpathpipenv-issue-6068-demo is not a valid editable requirement. It should either be a path to a local project or a VCS URL ...

@asrelo thanks for providing an example -- I am checking it out, but I do see that the local file install doesn't have a pyproject.toml, or setup.cfg or setup.py so technically I don't think its installable -- are you actually able to pip install that as a local package?

There is pyproject.toml at root of pipenv-issue-6068-demo, I'm not aware what is wrong with that.
Yes, virtualenv + pip install -e . successfully installs the package. This was the session from within this same repo in cmd.exe:
cmd.exe session
d:\long\windows\path\pipenv-issue-6068-demo>python -m virtualenv testenv
created virtual environment CPython3.10.11.final.0-64 in 7748ms
  creator CPython3Windows(dest=D:\long\windows\path\pipenv-issue-6068-demo\testenv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\user\AppData\Local\pypa\virtualenv)
    added seed packages: pip==23.3.2, setuptools==69.0.3, wheel==0.42.0
  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

d:\long\windows\path\pipenv-issue-6068-demo>.\testenv\Scripts\activate

(testenv) d:\long\windows\path\pipenv-issue-6068-demo>pip install -e .
Obtaining file:///D:/long/windows/path/pipenv-issue-6068-demo
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... done
  Preparing editable metadata (pyproject.toml) ... done
Building wheels for collected packages: problem-project
  Building editable for problem-project (pyproject.toml) ... done
  Created wheel for problem-project: filename=problem_project-0.1.0-0.editable-py3-none-any.whl size=1594 sha256=f76979778a63df8472b46c266f35d72fefe6ea130c3bf8329b955e1a92c2a68f
  Stored in directory: C:\Users\user\AppData\Local\Temp\pip-ephem-wheel-cache-q_w0s3yo\wheels\ab\55\bc\7e8acf252f651d596add8fe1a7bd9aa460d7f1424001943dd5
Successfully built problem-project
Installing collected packages: problem-project
Successfully installed problem-project-0.1.0

(testenv) d:\long\windows\path\pipenv-issue-6068-demo>problem_package
Hello World!

git bash, cmd.exe and powershell are all working on mine:
C:\Users\matte\Projects\pipenv-triage\pipenv-issue-6068-demo>pipenv install .
Loading .env environment variables...
Installing ....
Resolving ....
Installation Succeeded
Installing dependencies from Pipfile.lock (95c512)...
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

C:\Users\matte\Projects\pipenv-triage\pipenv-issue-6068-demo>pipenv run problem_package
Loading .env environment variables...
Hello World!

🤔 Only change I made was to allow python 3.11 so I wouldn't have to edit my PATH for the python3.10 version.

Tried to reproduce with another person. The initial error with pipenv install -e . does not happen; shlex.split there receives relative path . and proceeds without errors. I have no clue why that path . gets resolved to absolute path only when pipenv is running from my cmd.exe.
However, pipenv install -e <relative-path> does not work, as in (comment):

If it's a different path, the same exception pipenv.patched.pip._internal.exceptions.InstallationError occurs with corrupted relative path.

Cache path gets corrupted too.
We didn't try to specify a path on a different drive as in the comment, now I humbly assume there would be the same error.

@asrelo I believe that is because the relative path is now the src directory which is missing the pyproject.toml (its in the parent).

I mean, I have the fresh project dir at D:\long\windows\path\project with no pipenv's virtualenv and no pipfiles. I copy the whole project dir to D:\long\project, either renaming project and package or not.
From within original project path, I run python -m pipenv install -e ..\..\..\project (or python -m pipenv install -e D:\long\project, but it comes to shlex.split as relative path still). It fails because pipenv tries to find something at ......project (comment where this particular error is first mentioned).
And absolute paths on different drives don't work as well.
I expect that it should work because pipenv --help output and man page do not mention particular limitations on a local path for the -e option.

Hey all. I hit this same problem today and I see not much has happened with this ticket for a while.
As a potential workaround for people, I found that instead of installing the local package using "pipenv install -e ../project" (which fails as per this issue ticket), you can add the following directly to your Pipfile:
project_name_here = {editable = true, path = "../project"}
Then run "pipenv install"

Can you check out:  https://github.com/pypa/pipenv/pull/6276
$ python -m pipenv install -e .
Loading .env environment variables...
Creating a virtualenv for this project
Pipfile: C:\Users\matte\projects\pipenv-triage\pipenv-issue-6068-demo\Pipfile
Using default python from C:\Users\matte\AppData\Local\Programs\Python\Python313\python.exe3.13.0 to create virtualenv...
[ ===] Creating virtual environment...created virtual environment CPython3.13.0.final.0-64 in 273ms
  creator CPython3Windows(dest=C:\Users\matte\projects\pipenv-triage\pipenv-issue-6068-demo\.venv, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, via=copy, app_data_dir=C:\Users\matte\AppData\Local\pypa\virtualenv)
    added seed packages: pip==24.2
  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

Successfully created virtual environment!
Virtualenv location: C:\Users\matte\projects\pipenv-triage\pipenv-issue-6068-demo\.venv
Creating a Pipfile for this project...
Pipfile.lock not found, creating...
Locking [packages] dependencies...
Locking [dev-packages] dependencies...
Updated Pipfile.lock (494d5b4f482f0ef471f49afe28f00ec1a2ff75da2ce65060d8cabaeb3da2f100)!
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Installing -e ....
Installation Succeeded
Running $ pipenv lock then $ pipenv sync.
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
Success!
Locking [dev-packages] dependencies...
Updated Pipfile.lock (81bc18a60e7083da622ebfd05283c28ee2a3d19afcafe316cb5b884cd82b92f2)!
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Installing dependencies from Pipfile.lock (2b92f2)...
All dependencies are now up-to-date!
Installing dependencies from Pipfile.lock (2b92f2)...

$ cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
problem-project = {file = ".", editable = true}

[dev-packages]

[requires]
python_version = "3.13"

matte@matteius-proart MINGW64 ~/projects/pipenv-triage/pipenv-issue-6068-demo (master)
$ cat Pipfile.lock
{
    "_meta": {
        "hash": {
            "sha256": "81bc18a60e7083da622ebfd05283c28ee2a3d19afcafe316cb5b884cd82b92f2"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.13"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "problem-project": {
            "editable": true,
            "file": "."
        }
    },
    "develop": {}
}
```

I can't seem to replicate the origianal issue at the same versions 🗿


Add selective coverage instrumentation for crates

This tool already has --exclude-from-report, does it make sense to add black/white lists for toggling instrumentation on and off?
Like --enable-coverage-for crate1 --enable-coverage-for crate2 or --disable coverage-for tokio

I guess you can use --dep-coverage (#353).
    --dep-coverage <NAME>
            Show coverage of the specified dependency instead of the crates in the current workspace. (unstable)

Seems not. I want to disable coverage instrumentation for some heavy math libs and tokio, otherwise tests fail because some components time out.  It can be done here, if I read code correctly.  https://github.com/taiki-e/cargo-llvm-cov/blob/8a8fd85cfb60785ff8d1220090903c6ea6040c36/src/main.rs#L177  I can send a pr if it makes sense

I've solved it with this RUSTC_WRAPPER
#!/usr/bin/env python3
import os
import sys

blacklist = ["25519", "tokio"]

def main():
    # The first argument is the path to rustc, followed by its arguments
    args = sys.argv[1:]

    # coverage is necessary only for our project
    crate_name = get_crate_name(args)
    if any(crate in crate_name for crate in blacklist):
        try:
            instrument_coverage_index = args.index("instrument-coverage")
            del args[instrument_coverage_index]
            del args[instrument_coverage_index - 1]
        except ValueError:
            pass

    # Execute rustc with the potentially modified arguments
    os.execvp(args[0], args)

def get_crate_name(args):
    for i, arg in enumerate(args):
        if arg == "--crate-name":
            return args[i + 1]
    return ""

if __name__ == "__main__":
    main()

cargo-llvm-cov can act as a wrapper, but I'm not sure if it's a good idea. Maybe this script can be put to README

Ah, RUSTC_WRAPPER is a nice way to go.
Making the cargo-llvm-cov binary act as a RUSTC_WRAPPER only when a specific environment variable is set, making cargo llvm-cov to set RUSTC_WRAPPER=current_exe, and passing information about dependencies from the cargo llvm-cov through the environment variable, etc., would probably be possible to avoid applying instrument-coverage to all dependencies (i.e., emulate https://github.com/rust-lang/rfcs/pull/3310).


[NEW GAME] animal-match-game

Description
I want to add animal-match-game using HTML CSS javascript
Can you please assign me this task under GSSOC'23 contribution
Screenshots
No response
Additional information
No response

@Kalivarapubindusree , Please make this game in react because it's react based repository.

Ok

If you assign me I will try to do that in react.

Hi @Kalivarapubindusree , I am assigning this task to you. Kindly complete within 10 days. Good luck for your work!


BUG - Bot allows same user to be added multiple times.

Summary
It is possible to successfully add User X twice to a standup configuration.. their answers are duplicated in the report.
Steps To Reproduce
Self explanatory.
Expected behavior
The bot should ignore requests to add the same user if already a member of the report.
Observed Behavior
User is listed multiple times in the /standupviewconfig
Members: userx, userx, usery, usery
Environment (if applicable):
Can be provided if necessary but isn't likely environment specific.

Hi @skyscooby! I'm able to reproduce the bug locally.
Would you be willing to help fix the issue?


(PA-461) remove pre-suite setup of CA certs on Windows

Prior to this commit, the Puppet presuite would install the certs needed to
connect to forge over PMT. This was needed as the Windows MSI did not include
certs. That changed in RE-6111, in which the cert bundle was included in the
MSI, but this pre-suite item remained. This commit removes it, because it is no
longer needed, and in PA-461 was found to be masking a misconfiguration in the
MSI which resulted in a regression in functionality.

Closing and retargeting at stable


Fixes scrolling behaviour in safari.

Where scrolling and moving your mouse at the same time actually also scrolled the page for a bit.
Fixes issue #285.
Changes proposed in this pull request:

Fix scrolling behaviour in safari (for trackpad and/or magic mouse)

I'll remove the test file if you are willing to take this pull request, but it's there at the moment because it's super easy to test.

Hi @tim-vandecasteele, thanks for this! Have you by any chance been able to test the impact of this change with touch and wheel devices? If this fix doesn't affect those devices we'd love to merge this PR.

Hi, sadly I only have access to mac's with either a touchpad or a magic mouse (the fix works with both). But not to a windows environment with a mouse with a scroll wheel, which probably has the biggest risk of giving conflicting behaviour.
This MR includes a very easy test page for the moment to check it on another computer, but I don't have access to that.

I tried this on a Windows machine with a scroll wheel and it seems fine to me! If you can remove the scroll.html file I'll merge this.

Awesome, thank you @ndrsn!
I removed the file.

Thank you! I'll try to publish this in a new release today, or tomorrow at the latest.


Please add .IsNull helper on handle structs to improve the usage syntax over .Value == 0

Instead of one of these:
if (PInvoke.SelectObject(bitmapDC, objectHandle).Value == 0)

if (PInvoke.SelectObject(bitmapDC, objectHandle).Equals(0))

I'd like to do something with the word 'null' in it since it's a handle:
if (PInvoke.SelectObject(bitmapDC, objectHandle).IsNull)

Alternatives that I would not prefer are  == HGDIOBJ.Null or == default.

Similar to #122. Let's use the same pattern for both.

#122 is similar, in that we want an IsNull property exposed there. But that's for a vtbl which clearly is null or non-null.
In this case, what you probably really want to know is whether the handle is invalid. Note some handles are invalid when set to 0, while others are invalid at -1. Some are invalid with either value. So I think the new property should be called IsInvalid.
We're blocked on delivering this till the metadata delivers a way for us to know which values are in fact invalid.

Actually, I'm specifically interested in NULL (0), not in handle validity, because this is how SelectObject signals an error.
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-selectobject#return-value

If an error occurs and the selected object is not a region, the return value is NULL.

@AArnott Given my last comment, would you accept a PR for this?

@AArnott I'm getting isHandle == false in DeclareTypeDefStruct for HGDIOBJ. Does that mean metadata is wrong? Should I make all typedef structs have IsNull or just handle structs?

I would use option 4 from your list. Supporting down-level lang versions is a (low priority) goal and I want to avoid branching for different versions unless there's a really compelling reason, so going with the syntax that's supported by lower versions is preferred. That said, I can't see us supporting anything less than C# 7.1.

Does that mean metadata is wrong?

No. That's probably just a side-effect of our non-support of AlsoUsableForAttribute (#199). If HGDIOBJ has that attribute, we might follow to the next struct and see if it has an RIAAFree attribute on it.
But then, some structs are handles that should never be freed, so I guess using RIAAFree to determine whether a typedef represents a handle isn't the greatest way.

Should I make all typedef structs have IsNull or just handle structs?

Any IntPtr field-based typedef struct is probably a reasonable target, since as "pointers" null is a legit concept. If a typedef ever exists for what ought to be treated as nint we can deal with that later.

Oh, hmm. I found this while searching for == default to make the change to == IntPtr.Zero:
https://github.com/microsoft/CsWin32/blob/e67e9c55652afa1139409790622c1176e730db02/src/Microsoft.Windows.CsWin32/Generator.cs#L1131
Should they stay consistent? Which way should they both be?

default is fine.

In that case, I'm already finished: #258