Notifications

Description
Wouldn't it be great if there was an optional feature to display a notification when the process begins and ends?
Desired Behavior
Notifications
Additional Context
No response

Great suggestion! I'll take a look at this when I'm next looking at the project.
In the meantime, PR's are always welcome 😉

I could have a look at this over the weekend.
(I'm using an alt account because I'm worried of showing interest in these kinds of apps to employers)

I could have a look at this over the weekend.

Happy to accept PR's on this! From playing around with the notification API on iOS in Swift, it seems fairly simple to setup a wrapper and trigger them on device. Hopefully that experience translates well to macOS.

This will be in the next release

Thank you for the prompt update, everyone.
I have downloaded the latest version and granted the necessary permissions, but it is not working as expected. I even tried removing it completely, restarting macOS, and reinstalling it, but the issue persists.

I think I just experienced the same problem you're having. I was able to fix it by removing Auto Clicker from Accessibility settings outlined below, then opening the app and it worked as expected.

@AnonymousAlt0 I got it worked as you directed me, thanks.
Notifications pops up when started and when finished but no notifications is poping up on manual stop.

@AnonymousAlt0 super, thank you for debugging that - it would have been my suggestion too.
@sineld thats by intention at the moment, notifications are only fired at specified automated start/stop points.
@AnonymousAlt0 that does raise an important consideration though, if the user cancels the timer, are notifications cleared?


Can start deployments but not pods

What kind of request is this (question/bug/enhancement/feature request):
Bug?
Steps to reproduce and results:
In a cluster with Canal and pod security policy support enabled …

creating a Deployment works as expected:
kubectl run --namespace=test -it --image=alpine -- bash
but creating just a single Pod hangs forever:
kubectl run --namespace=test -it --rm --restart=Never --image=alpine -- bash

For the standalone Pod I get the following events:
Warning  FailedCreatePodSandBox  Pod  Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "[…]" network for pod "[…]": NetworkPlugin cni failed to set up pod "[…]_test" network: connection is unauthorized
Warning  FailedCreatePodSandBox  Pod  (combined from similar events): Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "[…]" network for pod "[…]": NetworkPlugin cni failed to set up pod "[…]_test" network: connection is unauthorized

Additional info

When I disable “Pod Security Policy Support” in the cluster settings, the problem disappears. Re-enabling it breaks standalone pod creation once again.
This problem only applies to namespaces within projects with a PSP applied, but not kube-system.

Environment information

Rancher: 2.1.4 standalone container (separate machine)
Cluster: single node, bare-metal, started via Rancher UI
Kubernetes: v1.12.3-rancher1-1
OS: Ubuntu 18.04.1 LTS
Docker: CE 18.09.0, default runtime: nvidia
Networking: Canal w/o network isolation
Pod Security Policy Support: enabled
Default Pod Security Policy: restricted

My default PSP
$ kubectl describe podsecuritypolicy/reasonable-psp
Name:  reasonable-psp

Settings:
  Allow Privileged:                       false
  Allow Privilege Escalation:             0xc00094c619
  Default Add Capabilities:               <none>
  Required Drop Capabilities:             <none>
  Allowed Capabilities:                   <none>
  Allowed Volume Types:                   emptyDir,secret,nfs,iscsi,glusterfs,persistentVolumeClaim,cephFS,downwardAPI,configMap,projected
  Allow Host Network:                     false
  Allow Host Ports:                       30000-32767
  Allow Host PID:                         false
  Allow Host IPC:                         false
  Read Only Root Filesystem:              false
  SELinux Context Strategy: RunAsAny
    User:                                 <none>
    Role:                                 <none>
    Type:                                 <none>
    Level:                                <none>
  Run As User Strategy: RunAsAny
    Ranges:                               <none>
  FSGroup Strategy: RunAsAny
    Ranges:                               <none>
  Supplemental Groups Strategy: RunAsAny
    Ranges:                               <none>

This magically fixed itself during one of the last couple of updates.

This magically fixed itself during one of the last couple of updates.


Can't load or-tools 9.6 library on windows, .NET6

Version: v9.6
Language: C#, .NET6
Solver: any solver
OS: Windows 11 21H2
CPU: Intel Core i7-1185G7
Downloaded example repo as zip from the installation page which still points to v9.5 and it worked fine. Updating it to v9.6 or creating a new project and installing or-tools 9.6 via nuget raises the following runtime exception:
Unhandled exception. System.TypeInitializationException: The type initializer for 'Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'SWIGExceptionHelper' threw an exception.
 ---> System.DllNotFoundException: Unable to load DLL 'google-ortools-native' or one of its dependencies: The specified module could not be found. (0x8007007E)

Downgrading or-tools to 9.5 via nuget fixes the problem

Experiencing the same issue with versions 9.6 and 9.7, Windows 11 22H2. I notice that google-ortools-native.dll is not copied to the application directory. When I do this manually, computation runs as expected.
Is work ongoing to fix this issue?

For release, on windows, we are generating nuget package using net462 and net6.0 TFM.
https://github.com/google/or-tools/blob/1d696f9108a0ebfd99feb73b9211e2f5a6b0812b/tools/release/build_delivery_win.cmd#L130-L132
https://github.com/google/or-tools/blob/1d696f9108a0ebfd99feb73b9211e2f5a6b0812b/CMakeLists.txt#L316-L317

I can confirm I am also having this issue with .NET Framework 4.8 on Windows 11 Pro 23H2 and or-tools version 9.7.2996/9.8.3296.  google-ortools-native.dll does not get copied to the output directory on build.

TLDR;
The missing google-ortools-native.dll file issue can be resolved by explicitly setting the target runtime when building the example project. For example on Windows
dotnet build -r win-x64 -c Release
The target runtime can be changed to linux-arm64, linux-x64, osx-arm64, osx-x64, or win-x64 as required.
Diagnosing the problem
The issue of the missing google-ortools-native.dll file in the build output directory when targeting .NET Framework 4.8 is due to using the dotnet build tool (created for .NET Core/.NET5+) to build a project/solution targeting the older .NET Framework versions.
To diagnose this I downloaded the example project from this URL https://developers.google.com/optimization/install/dotnet/pkg_windows
In the csproj file I changed the TargetFramework to net4.8 and used the PackageReference -> Google.OrTools version 9.8.*.
I used the dotnet SDK version 6.0.417. Using the current build instructions (with a more verbose logging setting)
dotnet build /verbosity:detailed -c Release
you can see that the RuntimeIdentifier (RID) that is resolved is win7-x86. This RID is used to try to restore native content from the transient dependency packages Google.OrTools.runtime.*, and there is no content for this particular RID in any of the packages (see https://learn.microsoft.com/en-us/dotnet/core/rid-catalog for more information on RIDs).
To fix this issue one needs to specify the RID explicitly when targeting an older .NET Framework version. For example, on Windows, one can use
dotnet build -r win-x64 -c Release
If one has the target framework of net6, and use the current build instructions
dotnet build -c Release
the build output directory contains a directory called runtimes that contains subdirectories for each runtime. In this case, the correct native library is located and loaded at runtime.

The example repo:
https://github.com/or-tools/dotnet_or-tools ;)

I greatly appreciate the detailed write-up, it is very useful for anyone on .NET 48 that can use the dotnet tool. Unfortunately the dotnet tool does not work with .NET 48 asp.net mvc projects and I am unable to add the runtime identifier to them.  I tried adding the xml tag to the csproj but it had no effect (which makes sense given it is not and can't be an SDK style project).  I implemented a manual build step that copies the file but wanted to post this in case anyone else is in a similar situation.

I encountered a similar problem in AspNetCore (v.8) and OrTools 9.9.3963, and none of the above solutions helped. The problem was resolved by installing the latest Visual C++ Redistributable package from https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170


Italics are not rendered for terminal programs such as Neovim

Environment
Windows build number: 10.0.19608.0
Windows Terminal version (if applicable): 0.10

Any other software? Neovim and WSL2

Steps to reproduce

I have neovim installed on wsl2 and when I have configured neovim to render italics for comments. However, italics are not rendered when I use neovim when I run it in terminal mode in the windows terminal. I know that it's not a neovim problem because if I run it on alacritty for example, the comments are rendered in italics. I'm running neovim under WSL2 but I don't think it has any effect to this.
Expected behavior

Italics should render properly on the terminal.
Actual behavior

Italics are being ignored when rendering and fonts are only rendering in the "regular" style.

One does not need WSL or NeoVIM to reproduce this .  Attributes.ps1 will do, and indicates the currently missing SGR support.

Yep, we should add support for italic and faint and ~ ~ bold ~ ~ (don't ask, it's complicated).

Italics is a very important missing feature, I feel. Alacritty supports it (@edyu mentions this). Even ConEmu supports this (and ConEmu is really old).
Cheers!

Thanks for letting us know. In the future, you can register your support for an issue by using the :+1: button (or the Reactions) button if that button is not available.

I did +1 this feature request, because I have observed this same behavior with the vim syntax highlighting of markdown. Vim comes out of the box configured to display for markdown files italics, bold, and bold/italics which I find very handy when I have large blocks of text written in markdown and I'm doing edits in the terminal. I'm loving using Ubuntu 20.04 in WSL 2 inside of Windows Terminal, but this one feature would be a huge quality of life improvement when you spend hours of your day editing markdown text in the terminal. Thanks for considering this feature, and thanks for the work that developers have already done on Windows Terminal.

since we already fixed/improve the issues, when will the next release include this commit (for either Release and Preview?

since we already fixed/improve the issues, when will the next release include this commit (for either Release and Preview?

The next release will include this commit when the next release comes out.

The next release will include this commit when the next release comes out.

Is it possible to disable italics, in case my font doesn't support any italics?

Not in the terminal, but the application that's requesting the italics may have an option for that. In Neovim I think it's controlled by the color scheme.

my italics is being cut off at the end of each letter

@bryant-the-coder Yep, they sure are, see #9381

Its been 2 years still no fix :(

@k1ng440 Italics support was added nearly two years ago: #8580. What specifically "has no fix"? The "italics get cut off some times" issue? That's tracked over in #9381


Fix tests: local oauth discovery

Fixes the tests failing in the pipeline from https://github.com/beyond-all-reason/teiserver/pull/523

@CollinsSpencer  Nice! Glad it was a quick fix!


Add syntax for MaybeResponse

Yes, the use case is testing. orNotFound could work or I was thinking a total function on ServiceOps that returns a Kleisli[Task, Request, Response] where NotFound is returned in the case of a Pass.

But agreed that this might not be the greatest. Although it does mirror TaskResponseOps


Can the LocalUsersAndGroups CSP page have an example of how to remove all members from a group?

I'm trying to figure out how to remove all users from the "Power Users" group.
With the (deprecated) RestrictedGroups CSP this was possible with...
./Device/Vendor/MSFT/Policy/Config/RestrictedGroups/ConfigureGroupMembership
<groupmembership>
    <accessgroup desc = "S-1-5-32-547"/>
</groupmembership>

With the LocalUsersAndGroups CSP, I am unable to find a way to accomplish this.
The following options do not work.
<GroupConfiguration>
    <accessgroup desc = "S-1-5-32-547">
        <group action = "U" />
        <remove member = "*"/>
    </accessgroup>
</GroupConfiguration>

<GroupConfiguration>
    <accessgroup desc = "S-1-5-32-547">
        <group action = "R" />
        <add member = ""/>
    </accessgroup>
</GroupConfiguration>

<GroupConfiguration>
    <accessgroup desc = "S-1-5-32-547">
        <group action = "R" />
    </accessgroup>
</GroupConfiguration>

Would it be possible to add an example of how to do this in the new CSP?  Many thanks!

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

ID: 8b0c55a7-9aaa-d395-409e-59c2595c8e9e
Version Independent ID: cf8e5a71-a8fc-1d43-6eed-03d3f2490693
Content: LocalUsersAndGroups Policy CSP - Windows Client Management
Content Source: windows/client-management/mdm/policy-csp-localusersandgroups.md
Product: windows-client
Technology: itpro-manage
GitHub Login: @vinaypamnani-msft
Microsoft Alias: vinpa

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!

@officedocspr5 I'm not thrilled with that change.  The nice thing about having this public is that non-MSFT folks have answered my questions in the issues log more than once.


Updating stubs to pandas 1.3.2 version

Closing this PR as pandas-stubs has moved to another repository and will now be managed alongside pandas itself: https://github.com/pandas-dev/pandas-stubs
Version is already beyond 1.3.2


Fix a typo in README

Coverage remained the same at 91.245% when pulling 8bea68c17d109ee6e49143342f2d07f177a7ad39 on tylerlong:master into 586830ada87a5fe644c63b4bcf816948814d64f2 on ringcentral:master.


is this repository still used?

I'd propose to archive it since it doesn't seem to be used by us anymore. //cc @samoht

Good idea


Assume role for lambda

Addresses #320. Using environment variables the Lambda function can be invoked with cross-account credentials and create empty groups in a customer's account.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Integration tests passed. Will merge and perform external validation with customers this week or next.


Add tab stops for *.docx generation

tab-filter should be able to generate tab stops into a *.docx document.
Possible approach:
Comment mentioning the tab stops. If a filter finds it, it will replace the next Paragraph with a RawBlock generating the needed *.docx content for the tab stops. Also closing the Paragraph must be supported. Might not be possible with the given features of pandoc, but worth a try.

Check handling of RawBlock - seems like a direct injection of xml structure elements
https://github.com/jgm/pandoc/blob/master/src/Text/Pandoc/Writers/Docx.hs


Shell scripts to ease use

Not every user who is going to playing the game will know to type in
java -jar <snapshot>.jar

to run the client or the server (at least, that is how I run them in the distributed zip files). I think it would be helpful (and it might make things happen more quickly) if there was a shell script for running the client and the server.

Another useful shell script might be one for automatically check for updates. The script would check the distributions page and, if a distribution is found that is from a later date than the one owned, it could prompt the user if they want to by it.
I imagine the flow would look like this:

Checking for updates...
Update found: version [...]
Would you like to install? (y/n)
Installing updates...

The Java client is not maintained any longer, and most users will only interact with Cardshifter through their web browser. The only people who need to use the Java distribution are those who wish to host their own server. I think they can be trusted to have some amount of technical knowledge.
I know the JavaFX client could simply be double clicked to launch, though terminal for logging. Double clicking does not work for the server. A shell script or some other way to launch the server in a terminal window might be useful.

As for your second suggestion, I think it could potentially be useful, though I'm not sure how much more inclined a server op would be to run a script once in a while than check news/releases pages.
It shouldn't be a shell script in any case, as we have to support Windows. If we choose to implement it, it could maybe be done in Groovy.

I like the idea of automatic updates. As for the java -jar, let's remind ourselves that Minecraft server owners are able to use that. I don't see the need for any kind of script for that.

However, speaking of automatic-updates. What if there has been changes to the mod files locally and there are also new versions in the update? I foresee problems...

Indeed, if a user has installed a 3rd party mod or made their own, they wouldn't want to update before they knew they were compatible with the new version.


decrypt shouldn't require sender

if message was sent for someone, only they should be able to decrypt it without requiring sender.
if it wasn't sent for them, display an error or smth

okay buddy thats not how public key encryption works... u kinda need the other persons public key and you cant know that with just the ciphertext

@xckev do you not store who the message was sent for? if not, whatever u said makes sense


Do a clean when Dockerfiles make the application

Information

Non-story nor issue improvement.

Changes proposed in this PR:

Initiate a clean when building our application in Docker.  This will delete any extraneous files when we copy our application into Docker.
Saves about 100 MB when sending our Docker image to our small Flexion endpoint.

Checklist

[x] All JUnit tests pass (mvn clean verify).
[x] New unit tests written to cover new functionality.
[x] Added and updated JavaDocs for non-test classes and methods.
[x] No local design debt. Do you feel that something is "ugly" after your changes?
[x] Updated documentation (README.md, etc.) depending if the changes require it.

Well this isn't actually that helpful. From what I know of maven clean plugin, it cleans the directory BEFORE the build, not after, so any file pollution produced by the build will still be there. Does this solve another problem?

You are correct that it runs before the build.  This really only applies to the docker build that we run when we do in CircleCI.  In the CircleCI case, we do

Our usual mvn clean verify as specified in circle.yml.
Copy all that created stuff into the container as part of the docker build.
And finally we do the mvn clean install in the docker container.

There could be additional things left over from step 1 that gets copied over in step 2.  That is why in step 3, I added clean.
Hmmm, perhaps if I add mvn clean once we grab the ReST API after the build...

Don't merge this yet.  I still want to tinker with this PR some more.

Don't have time to dedicate to this PR at this time.  I'll reopen it when I have time to tinker with this some more.


Storage layer

Beginning implementation of #194

Conceptual question: How do we want to deal with the fact that there may be multiple sampler stacks inside a single MultiTargetDesign object? Do we want to have each sampler stack be organized inside of a separate dataset group within a single NetCDF file, or separate NetCDF files for each sampler stack (and another file for the MultiTargetDesign object)?
I'm guessing it's easiest to put everything in one file, but we need to figure out how to associate a unique name to each sampler stack (e.g. based on the environment name, like complex-explicit, ligand-explicit).

I've gone the route of putting everything in one file since nobody was around to provide feedback.
The NetCDF file is organized into groups, with variables named /envname/modname/varname, with envname the environment name (complex-explicit, ligand-explicit), modname the module class name (MCMCSampler, ExpandedEnsembleSampler, SAMSSampler), and varname the variable name (logp_accept, logp_ncnc_annihilation, etc.).
I've implemented writing of floats (acceptance probabilities and components) and objects (free energy and log weight dicts), and implemented these in all the samplers.
I'll think about how best to implement the writing of positions, but already this does what you need, so you can probably merge it and get going right away, @pgrinaway.
I've aggressively kept the storage layer code as simple and general as possible, but as always, feedback on how to further simplify things is greatly appreciated.
I haven't added code to read from the NetCDF file, since I imagine you might want to write your own analysis code. If you want me to add reader routines or a way to easily get at the data through NetCDFStorage, just let me know what you would like to see and I can add things ASAP.

Tests should pass now.

This looks great! Thanks! I would have gone with one output file as well--I think it's easier to manage.

Awesome.
Can I implement the remaining pieces in separate PRs? I think you can start
to use this as is right now.
Let me know if you need documentation on how to use it. See the
test_storage.py code for an example. Each sampler has a .storage attribute
so that you can control which samplers you want to write their data.

Can I implement the remaining pieces in separate PRs?

Go for it.

Let me know if you need documentation on how to use it. See the
test_storage.py code for an example. Each sampler has a .storage attribute
so that you can control which samplers you want to write their data.

Thanks!


Domain activation is Failed - [BRIEF DESCRIPTION]

App Id: d2i8chyssopb54
Region: us-east-2
Step: Domain activation
Status: Failed

Note: Do not include information that is sensitive in nature such as your domain name, company etc.

Issue/question
Please help me figure out what is wrong
Error message
Error message: One or more aliases specified for the distribution includes an incorrectly configured DNS record that points to another CloudFront distribution. You must update the DNS record to correct the problem. For more information, see https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-restrictions

Duplicate of #2026


[MLIR] add MLIR patch + signed compare ops + ArgMin and ArgMax

Perhaps I am missing context, why are we patching MLIR ? This can be a headache in the future as MLIR upstream diverges. Why not try to land that patch upstream instead ? If not possible, and you rather have your change, you could add wrappers on nGraph side.
Also, I would break this PR into two. The CPU Argmin/max non-MLIR change doesn't really belong here and can make triaging for errors confusing.

The patch is temporary.  My next step is to upstream the gt, lt, ge, le operators to MLIR.

Marking as fully reviewed.  @nmostafa and @dcaballe disagree with the patching approach.  Making a call to press forward with this approach in spite of their feedback.


CI: support for Ubuntu 16

Add support for Ubuntu 16

Looks like semaphore has some broken PGPness right now - might have to retry that tormorrow maybe

oh, or actually, maybe that is an issue with the clear containers fetch repo?

lgtm
looks like Travis was happy. Just waiting to see if Semaphore survives :-)

yep, seems like semaphore is broken

now everything looks good... merging


update chinese page install-service-catalog-using-helm

Update chinese page install-service-catalog-using-helm. Correct a wrong link which direct to English version page

Thanks.
/lgtm
/approve


Recreate AEH Processor in the event of an error before retrying the processing operation

Recreate AEH Processor in the event of an error before retrying the processing operation
Description
Moved the creation and setup of the Azure Event Hub Processor inside the main loop.
The processor.run only returns a non-recoverable error. Therefore we must re-create new processor and setup the subscription.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #3573
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

See failing tests

Line 280, can I simply log the error and return nil?
or do we need to return that error out of the goroutine and back up the stack?

/ok-to-test

@artursouza for last review


Attribute 'Default Value' should be persisted along with other attributes. Fixes issue #4611

@lvca any chance this can be merged before the 2.1 GA? Considering that 'default values' is one of the new features in 2.1 release, the issue #4611 must be resolved before GA i think.

You're absolutely right. Merged. Thanks.


Auto-offset "hanging" twin axes

Like this:

I think this is cleaner and more obvious than the current dualx and dualy behavior, which looks like this:

Although this might be more suitable for the workflow described in #46 -- permitting arbitrarily "stacked" objects along the sides of each axes.

In fact a really nice addition to the API might be to permit "axis legends", where instead of drawing a legend, we use color-coded, stacked, hanging x and y-axes, with axis labels as the legend label. This would be suitable for comparing data with vastly different ranges.
So many ideas, so little time...

Also note this would be similar to the set_location method used in the matplotlib SecondaryAxis API. See this page.

Now that #50 and #46 are going to be adopted it looks like I will eventually have a suitable framework for implementing this. Marking this as high priority. The two uses are:

Denote alternate units on hanging "parasite" axis.
Plot alternate variables with different units/data ranges on "parasite" axis.

Arbitrarily many twins are now implemented (see #226). The specific "hanging" axis feature is probably not high priority.

For those interested, it is now very easy to generate "hanging" axes in proplot with e.g. ax.altx(loc=('axes', 1.1)) -- although the positions are still not auto-adjusted. See this example from the website.


Equation (2.15) on p. 35

I believe for the equation (2.15) to be consistent with equations (2.12) and (2.14) and to hold for arbitrary pdfs it would have to have the form $$\Pr(x < X \leq x + dx) \approx p(x)dx$$.

fixed


Satisfactory - Add Join/Leave Regex

Changed -log to -stdout -FullStdOutLogOutput for more verbose logging. Log lines are not great but this regex works.
Join line example:
LogNet: Login request: ?ClientIdentity=2100000064316461376562353439343039613466653366373263626464643633316661660001000000012100000003621e6db9e5794ea3a90621c55c151e0100025cbba00a4a1d894dad87c5459564?EntryTicket=ew0KCSJwbCI6ICJBZG1pbmlzdHJhdG9yIiwNCgkiaWR0IjogIjE3MjYwMzEyNDYiDQp9.C41E2B1D7FAFA3B42B30554CA37B83418DB46DD1C6E2478529D63ACA4F293D3DC34B142BF8EB1C440A4B6056CB626C7A0752D9AC99F8BBE441AB8516D2CF650A?EncryptionToken=5339856C83B81BD43BD538BA11740B2833B6BDC3A83FAF7006C6C5DD4BC790B0?Name=winglessraven userId: Epic:1 (ForeignId=[Type=1 Handle=0 RepData=[03621E6DB9E5794EA3A90621C55C151E0100025CBBA00A4A1D894DAD87C5459564]) platform: NULL

Leave line example:
LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: <IP_ADDRESS>:53106, Name: IpConnection_2147473689, Driver: GameNetDriver FGDSIpNetDriver_2147482258, IsServer: YES, PC: BP_PlayerController_C_2147473509, Owner: BP_PlayerController_C_2147473509, UniqueId: Epic:1 (ForeignId=[Type=1 Handle=0 RepData=[03621E6DB9E5794EA3A90621C55C151E0100025CBBA00A4A1D894DAD87C5459564])

Worth noting that the current bug with userid tracking on player leave means that if there is more than one player online when a player leaves then the wrong one will be removed from the online players (I believe it's always the first in the list)


Make expand-macro more flexible

Due to lack of implementation or other types of errors, some macros do not expand correctly in the current situation. The PR attempts to make expand-macro more flexible in error situations by ignoring internal failed macro expansion.

Good idea!
bors merge


Add segment selector and add the support for dynamic routing table

Add segment selector interface and hooked in HelixExternalViewBasedRouting
Add support for dynamic approach for building a routing table
Refactoring routing table builders

Codecov Report

Merging #3379 into master will increase coverage by 0.03%.
The diff coverage is 90.04%.

@@             Coverage Diff              @@
##             master    #3379      +/-   ##
============================================
+ Coverage     70.44%   70.47%   +0.03%
  Complexity        4        4
============================================
  Files           990      992       +2
  Lines         45428    45465      +37
  Branches       6097     6099       +2
============================================
+ Hits          32000    32043      +43
+ Misses        11314    11306       -8
- Partials       2114     2116       +2

Impacted Files
Coverage Δ
Complexity Δ

...lder/PartitionAwareOfflineRoutingTableBuilder.java
69.33% <ø> (ø)
0 <0> (ø)
:arrow_down:

...om/linkedin/pinot/common/config/RoutingConfig.java
45.45% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ing/builder/BalancedRandomRoutingTableBuilder.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...der/PartitionAwareRealtimeRoutingTableBuilder.java
85.18% <100%> (ø)
0 <0> (ø)
:arrow_down:

...roker/routing/selector/DefaultSegmentSelector.java
100% <100%> (ø)
0 <0> (?)

...roker/routing/selector/SegmentSelectorFactory.java
100% <100%> (ø)
0 <0> (?)

...uting/builder/LargeClusterRoutingTableBuilder.java
47.05% <100%> (-18.66%)
0 <0> (ø)

...builder/BasePartitionAwareRoutingTableBuilder.java
71.79% <66.66%> (+0.74%)
0 <0> (ø)
:arrow_down:

...ng/builder/DefaultRealtimeRoutingTableBuilder.java
61.9% <71.42%> (ø)
0 <0> (ø)
:arrow_down:

...ing/builder/DefaultOfflineRoutingTableBuilder.java
47.05% <75%> (ø)
0 <0> (ø)
:arrow_down:

... and 26 more

Continue to review full report at Codecov.

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

#2715


krmllib: Makefile: fix ignore of non-extracted modules

The makefile was wrongfully creating these files via the touch command, which meant to just update the timestamp. Use -c to prevent creation of files with this rule.
Also, for the modules which we do not want to extract, use --extract to leave them out of the dependency analysis, so we do not need to ignore them with the -bundle flag (which would also now fail, given that they do not exist).
I added the FStar.Stubs namespace to the list, as I will introduce that in soon-to-come F* PR.

Thanks Guido! this is a great cleanup


[BUG]delete processdefinition when a task aleady exec by worker lead to NPE

Describe the bug
delete processdefinition when a task aleady exec by worker lead to NPE
To Reproduce
Steps to reproduce the behavior, for example:

a task aleady exec by worker
delete the task processdefinition
get tenant will lead java.lang.NullPointerException

Expected behavior
deal with NPE
Which version of Dolphin Scheduler:
-[dev]

i will fix it


Torch baseline linear layer + updating initialization

This switches out the projection matrix in the torch baseline to use a LinearLayer
moved the initialization to the load_model function for all models and this inits the projection matrix with a normal dist with a forked rng in the case that model weights aren't loaded

The HEAR validator tests are pulling the weights files from the main branch which is causing the errors in those workflows.


False positive of NonAtomicFileOperation for FileUtils.rm_r

From this discussion: https://github.com/rubocop/rubocop/issues/10760#issuecomment-1171707113
Expected behavior
No offenses or no exceptions for FileUtils.rm_r.
Actual behavior
If I have the code:
FileUtils.rm_r gem_name if Dir.exist? gem_name

it causes offenses by NonAtomicFileOperation cop.
If I remove the condition — it causes the exception:
     Failure/Error: FileUtils.rm_r gem_name

     Errno::ENOENT:
       No such file or directory @ apply2files - foo_bar

Even with require 'fileutils'.
Steps to reproduce the problem
The code is above.
RuboCop version
$ [bundle exec] rubocop -V
1.31.2 (using Parser <IP_ADDRESS>, rubocop-ast 1.19.1, running on ruby 3.1.2 x86_64-linux)
  - rubocop-performance 1.14.2
  - rubocop-rspec 2.12.1

@ydah thank you, it's a good change. But… --force option is not only for cases where files (or dirs) don't exist. It'll also delete all protected files, probably something else. It's not an equal I beleive.

@AlexWayfer Yes, I also certainly don't think they are strictly equivalent. The reason for adding this cop is that these can cause problems that are difficult to reproduce, especially when frequent file operations are performed in parallel, as in test runs using parallel_rspec.  However, it might be nice to be able to options for cases allowed where atomic file deletion cannot be safely guaranteed.


Virtualenv

Hello,
Should you not recommend to use a virtualenv in place of installing the pip packages ?
virtualenv -p which python3 venv
source venv/bin/activate
Regards

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

ID: 30a20df2-727c-1afd-2b87-836ea1ea4f7a
Version Independent ID: 157fc262-fb1f-f12d-0890-e90119feb444
Content: Create a bot using Bot Framework SDK for Python - Bot Service
Content Source: articles/python/bot-builder-python-quickstart.md
Service: bot-service
GitHub Login: @emgrol
Microsoft Alias: kamrani

Hi @linceaerian, a virtual environment is recommended but not necessary. I'll add a suggestion to the article.

Added a suggestion to use virtual environments in PR 2096.

Closing now that the changes are live.


Improve exception inception

When a WrongNumberOfArgumentsError is raised, it is like an inception of errors:
>>> from observ import reactive, watch
>>> a = reactive({})
>>> watcher = watch(lambda: a, lambda a, b, c: print(a, b, c), sync=True, deep=True)
>>> a["a"] = "a"
Traceback (most recent call last):
  File "/Users/cg/Development/observ/observ/watcher.py", line 177, in _run_callback
    self.callback(*args)
TypeError: <lambda>() missing 2 required positional arguments: 'b' and 'c'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/cg/Development/observ/observ/watcher.py", line 157, in run_callback
    self._run_callback(new)
  File "/Users/cg/Development/observ/observ/watcher.py", line 183, in _run_callback
    raise WrongNumberOfArgumentsError(str(e)) from e
observ.watcher.WrongNumberOfArgumentsError: <lambda>() missing 2 required positional arguments: 'b' and 'c'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cg/Development/observ/observ/watcher.py", line 177, in _run_callback
    self.callback(*args)
TypeError: <lambda>() missing 1 required positional argument: 'c'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/cg/Development/observ/observ/watcher.py", line 161, in run_callback
    self._run_callback(new, old)
  File "/Users/cg/Development/observ/observ/watcher.py", line 183, in _run_callback
    raise WrongNumberOfArgumentsError(str(e)) from e
observ.watcher.WrongNumberOfArgumentsError: <lambda>() missing 1 required positional argument: 'c'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cg/Development/observ/observ/watcher.py", line 177, in _run_callback
    self.callback(*args)
TypeError: <lambda>() missing 3 required positional arguments: 'a', 'b', and 'c'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/cg/Development/observ/observ/observables.py", line 301, in inner
    attrs["dep"].notify()
  File "/Users/cg/Development/observ/observ/dep.py", line 27, in notify
    sub.update()
  File "/Users/cg/Development/observ/observ/watcher.py", line 120, in update
    self.run()
  File "/Users/cg/Development/observ/observ/watcher.py", line 135, in run
    self.run_callback(self.value, old_value)
  File "/Users/cg/Development/observ/observ/watcher.py", line 164, in run_callback
    self._run_callback()
  File "/Users/cg/Development/observ/observ/watcher.py", line 183, in _run_callback
    raise WrongNumberOfArgumentsError(str(e)) from e
observ.watcher.WrongNumberOfArgumentsError: <lambda>() missing 3 required positional arguments: 'a', 'b', and 'c'

This PR changes that to only raise one WrongNumberOfArgumentsError instead:
>>> from observ import reactive, watch
>>> a = reactive({})
>>> watcher = watch(lambda: a, lambda a, b, c: print(a, b, c), sync=True, deep=True)
>>> a["a"] = "a"
Traceback (most recent call last):
  File "/Users/cg/Development/observ/observ/watcher.py", line 183, in _run_callback
    self.callback(*args)
TypeError: <lambda>() missing 1 required positional argument: 'c'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/cg/Development/observ/observ/observables.py", line 301, in inner
    attrs["dep"].notify()
  File "/Users/cg/Development/observ/observ/dep.py", line 27, in notify
    sub.update()
  File "/Users/cg/Development/observ/observ/watcher.py", line 120, in update
    self.run()
  File "/Users/cg/Development/observ/observ/watcher.py", line 135, in run
    self.run_callback(self.value, old_value)
  File "/Users/cg/Development/observ/observ/watcher.py", line 170, in run_callback
    self._run_callback(new, old)
  File "/Users/cg/Development/observ/observ/watcher.py", line 189, in _run_callback
    raise WrongNumberOfArgumentsError(str(e)) from e
observ.watcher.WrongNumberOfArgumentsError: <lambda>() missing 1 required positional argument: 'c'

Nice! LGTM


IPFS "peers" map is quite .... mono-planetary

Is your feature request related to a problem? Please describe.
Not a problem but rather an amusing constatation for the Interplanetary filesystem to display a planar map of only one planet (though arguably the most important one).
https://github.com/ipfs/ipfs-webui/blob/main/docs/screenshots/ipfs-webui-peers.png
Describe the solution you'd like
While a globe (out-zoomable with possibly satellites, moons and other planets) would be nice, I realize that making it work in practice would require protocols for IP ~geo~ localization that probably aren't mainstream enough yet, if they exist at all.
Though, we're not very far technologically from having IPFS nodes in space
Describe alternatives you've considered
I'll gladly continue to use the current map

Thanks for submitting this issue @michaelb. I love the idea of having this peers representation be future-proofed by supporting the ability to zoom out so we can view different satellites/planets/etc..
We could solve the visual problems with this screen now, but geoip support for interplanetary locations probably won't exist for a while. P3 because of the need for design and interplanetary solution; leaving this open for discussion

@juliaxbow would you mind throwing together some mocks for this? (low priority)

Here's a preliminary vector graphic mock-up created with Figma for lack of better animation tooling.  If this is the direction we want to go in, I'll remedy that! Let me know your initial feedback so I can deliver addt'l mockups.
Style

I assumed we'd like to keep the look of the existing map rather than incorporate satellite view, so that's why it's a vector graphic. It comes across as a bit retro.

Inter-planetaryness

there is a planet on the horizon but it still is relatively mono-planetary, showing just a hint of the universe beyond earth. Of course, we can build more "space" around earth so I would ask that you first determine if you like the design visually

Zoom Out/In

I considered having a sliding bar to zoom but given the nodes are (for now at least ;) ) on earth, I figured users would zoom out more for play/curiosity. So, I'd recommend the scroll/touchpad zoom that users are generally familiar with to keep the interface clean.

Uploading Inter-planetary Peer Map.mov…

I would love to utilize that githubGlobe and allow users to enable/disable transmission paths and rotation/etc. using something like threejs or other rendering library will probably be necessary to go interplanetary


Fix image copy between two remotes when source is not in default project

@stgraber
I'm wondering can we avoid modifying GetImageServer definition to prevent overriding project for source server.
This PR solves situation when we do:

lxc image copy local:some-image remote: --project foo
but not this:
lxc image copy remote:some-image local: --project foo

because still I'm not quite sure how can we get info about source project in pt 2.
Closes #9234

@stgraber What do you think about this? Any thoughts, any advice?

@stgraber,
I've made PR as you requested but also added one additional commit with client change.
As you said: "In the case of lxc image copy remote:some-image local: --project foo, you'd get the project that's the current default for that remote."
but this is overriten by ProjectOverride in https://github.com/lxc/lxd/blob/953215e04eacc45e92c17c0be49abe9b325c3fe4/lxc/config/remote.go#L147 or https://github.com/lxc/lxd/blob/953215e04eacc45e92c17c0be49abe9b325c3fe4/lxc/config/remote.go#L184 also for source server.
If this solution solution isn't ok, I'll revert this specific commit.

So I'd remove the UseProject change and instead in both places where you're currently calling it, do something like:
lxd, ok := source.(InstanceServer)
if ok {
source = lxd.UseProject(projectName)
}

jenkins: test this please


⚠ Bofrost.at has degraded performance

In e95037d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1567 ms

Resolved: Bofrost.at performance has improved in 52e396c after 6 minutes.


LatelnitializationError

It says:"LatelnitializationError: Local 'request' has not been initialized."

https://github.com/flutterchina/dio/issues/1452


Add a "plot count changed" threshold.

I'm using plotman on my plotters and I've enabled the option to sync my plots to a remote machine (my main storage server). Because of this the total plot count on the plotters sometime decrease by 1 (once a plot has been successfully synced). It'd be quite useful to add a config option to specify a threshold when reporting a "plot count changed" warning (e.g. don't emit it if the plot count dropped by only 1 or 2).
What do you think of this?

There was a similar request somewhere (can't find it now). Happy to add this if someone submits a PR with configurable threshold!

Great, I'll take a look at this then. I wanted to make sure that you are fine with the idea before implementing it :)

It looks like some refactoring is needed to make the config accessible from the log handlers, I'll see how to do this later today or this weekend.

50% of all my alerts are of this nature - it basically swamps my phone notifications, so this feature would be very valuable. thanks!

Duplicate of #58


When GlobalJitLevel is on, disable the Grappler memory opt.

This commit disables the Grappler memory optimizer when the XLA JIT is detected on.
The (current) XLA clustering can result in loss of concurrency between kernel compute and memory copies. As such, it usually loses the concurrency needed to hide the latencies of the inserted swap-ins and swap-outs and incurs great performance overhead.
You may find more details about the performance degradation in this document:
https://docs.google.com/document/d/1q1UPN2CRRNBoUXM0zORT-cTG9m7ctQRB2xfUPhaK1Ek/edit?usp=sharing
@sanjoy, please also help to take a look.

One question:
According to GetGlobalJitLevelForGraph(), there are two ways to enable the XLA JIT; one is through the ConfigProto and the other is through the environment variable.
This PR can only check the ConfigProto and cannot check the env var flags as they only exist in the XLA world.
Do you think this is an issue? Any suggestions to address it?

maybe call getenv and parse the env variable?

This PR can only check the ConfigProto and cannot check the env var flags as they only exist in the XLA world.

I think we should just expose GetGlobalJitLevelForGraph to to TensorFlow by moving it to a header/cc outside compiler/xla.
@rmlarsen WDYT?

This PR can only check the ConfigProto and cannot check the env var flags as they only exist in the XLA world.

I think we should just expose GetGlobalJitLevelForGraph to to TensorFlow by moving it to a header/cc outside compiler/xla.
@rmlarsen WDYT?

It is more than that, as the GetGlobalJitLevelForGraph depends on compiler/jit/flags.cc, etc. which do not exist in a Tensorflow build without enabling XLA.
If we want to move the function, we will have to move several xla flag related files with it. Considering that, below are two options we have.

Just check the proto config without checking the env variables. This may make sense as the proto config should be the way for clients to enable XLA. Env variables are more for testing? Let me know if this is not the case though.
Move the xla flags related files into TF.

Personally, I am slightly leaning towards option 1 but please give some guidance. Thanks.

maybe call getenv and parse the env variable?

IMHO, re-implement the parsing logic in TF may be ugly because there will then be two separate places to be maintained for future env variable change.

This may make sense as the proto config should be the way for clients to enable XLA. Env variables are more for testing? Let me know if this is not the case though.

Env vars are less elegant but they're super convenient when trying out XLA ("no need to make code changes, just flip this flag") so I'd like to make this work with env vars if possible.
Another possibility is to do some form of dependency injection via a registry -- allow the XLA JIT to register a callback that lets TF query whether the XLA global jit is enabled.  This will be more code but should be cleaner overall.

Another possibility is to do some form of dependency injection via a registry -- allow the XLA JIT to register a callback that lets TF query whether the XLA global jit is enabled. This will be more code but should be cleaner overall.

Good suggestion. Let's proceed with this route.

I implemented a config proxy in the Tensorflow core per our previous discussion. Please help to take a look when you have a moment. Thanks.

@trentlo can you please resolve conflicts ?

@trentlo can you please resolve conflicts ?

Yes, done.

@sanjoy
Thanks for your time guiding me through this PR. I feel that reviewing this PR ends up being a tedious process.

@rthadur
I noticed that the Ubuntu CC test may be stuck. Will that block the merging?

Will that block the merging?

I'm taking care of the merge.  Sorry for the delay, I'm a bit busier than usual.

I'm taking care of the merge. Sorry for the delay, I'm a bit busier than usual.

Got it. No worries and take time then. Thanks.

@trentlo @goldiegadde I am not sure if this PR catch the r2.0 cherry-pick cycle. It does seem to fix a performance regression running the official ResNet50 model w/ XLA 8-GPU.
I observed significant performance boost (~3900 image/s to ~7500 image/s) comparing 2.0 nightly packages in 2019-09-19 (wo/ this PR) and 2019-09-20 (w/ this PR).
Ping @tfboyd to confirm.

I will cherry-pick this on my own r2.0 branch and report the numbers tomorrow.

@byronyi FYI as below.
Indeed, cherry-pick the commits and measure the performance difference is the most direct way to verify.
A quick way to verify is to use the following flags. It dumps a bunch of logged files into ./graph_dump.
TF_DUMP_GRAPH_PREFIX="./graph_dump" TF_XLA_FLAGS="--tf_xla_clustering_debug=true" python3 ...
Then you can use grep -r GpuToHost ./graph_dump to see whether any copy ops are inserted by Grappler. If you see them, likely they can cause great performance penalty. These ops should disappear when XLA is ON if this PR is there.

I am seeing the same bounce back in the nightly tests.  XLA stated they were not focused on multi-GPU tests as their focus was XLA on by default for single GPU so I stopped bothering them with the results.  The drop to ~3,900 occurred around 03-AUG in my testing.  I see the bounce back to 8,500 with 2.0.0-dev20190922.  This is still not back to the ~9K we saw before the drop.  I doubt this will get cherry-picked into TF 2.0 as XLA is still experimental and RC2 is likely to be the last RC needed before release.

@tfboyd Bisection shows 53bdcf55ce180f609797746992987ce89c3543bb was the commit that causes bad performance in the nightly package, not the issue this PR fixes. So there must be some other changes that causes the performance degradation in r2.0. Do you mind to point to me a snapshot with the expected performance, i.e. before dropping to ~3,900 around 03-AUG?

@byronyi   Here is the info I have that may be of the most use.  It would be nice to get back to the 9K, but it is also possible too many other changes have occurred. I only run on nightly and when nightly works.
Command for the test you would need a copy of imagenet.
# Flags
--batch_size=2048 --data_dir=/data/imagenet --dtype=fp16 --enable_eager --enable_xla --log_steps=10 --model_dir=/workspace/benchmarks/perfzero/workspace/output/2019-08-02-12-50-22-843844/benchmark_xla_8_gpu_fp16 --num_gpus=8 --noreport_accuracy_metrics --skip_eval --train_steps=110

# [PerfZero](https://github.com/tensorflow/benchmarks/tree/master/perfzero) command.  I suggest using perfzero when possible as it helps ensure your
# args are the same and a common docker is used for repeat-ability.  Not perfect but lightweight
# and improving.
python3 /workspace/benchmarks/perfzero/lib/benchmark.py --benchmark_methods=official.benchmark.keras_imagenet_benchmark.Resnet50KerasBenchmarkReal.benchmark_xla_8_gpu_fp16 --data_downloads=gs://tf-perf-imagenet-uswest1/tensorflow/imagenet --python_path=models --git_repos="https://github.com/tensorflow/models.git;master;6b586a910d74a44f57da4d2335c79a20dc2803ab"

GOOD
07/31
8,723.9 to 9,000 images/sec
tensorflow hash:3e0ad8a004
model garden hash: 13e7c85d521d7bb7cba0bf7d743366f7708b9df7
BAD
08/03
We had a break in the builds for a few days and a big change to the default code path I believe.  Many problems
2,764.3 to 2,900 images/sec.
tensorflow hash: 3205135
model garden: 6b586a910d74a44f57da4d2335c79a20dc2803ab
Current
09/26
8,300 to 8,500 images/sec
tensorflow hash: 1ae01a0
model garden: 6f1e3b38d80f131e21f0721196df7cfc5ced2b74
It might be hard to bisect as I think the model garden code changed significantly between the two dates with the following lines and we also moved the code around recently so running the test now vs back in August there is a different directory:
   # TODO(b/138957587): Remove when force_v2_in_keras_compile is on longer
    # a valid arg for this model. Also remove as a valid flag.
    if flags_obj.force_v2_in_keras_compile is not None:
      model.compile(
          loss='sparse_categorical_crossentropy',
          optimizer=optimizer,
          metrics=(['sparse_categorical_accuracy']
                   if flags_obj.report_accuracy_metrics else None),
          run_eagerly=flags_obj.run_eagerly,
          experimental_run_tf_function=flags_obj.force_v2_in_keras_compile)
    else:
      model.compile(
          loss='sparse_categorical_crossentropy',
          optimizer=optimizer,
          metrics=(['sparse_categorical_accuracy']
                   if flags_obj.report_accuracy_metrics else None),
          run_eagerly=flags_obj.run_eagerly)

@sganeshb has taken over testing.  I am not involved in TensorFlow performance going forward.

Thanks Toby @tfboyd! That’s much appreciated.

For the curious: 1d139edd6eab8f26bdde6f31f3e3709fe3cd6ed0 seems to get the performance of r1.15 back to 7600+. However after 1 single day another regression 53bdcf5 degrades the performance to <4,000 again.

@byronyi   Wanted you to know I read your findings and nice work tracking it down.  While not good, your work shows the pain of finding old issues, they often end up layered.  I would not want you to think your work bisecting was not looked at.  It was a rough situation.  The XLA team is/was focused only on single GPU performance so they could make XLA on by default for that scenario.  They seem to be looking more holistically now.
I am not sure there is anything we can do about it at this point other than move forward with TensorFlow 2.1.  FYI TensorFlow 2.0 100% has the XLA regression for multi-GPU.

Thanks Toby! I admit it could be difficult, but I work hard with my colleagues trying to fix these regressions for our internal 2.0 fork.
Personally I have been looking forward to it for too long. Just can't wait there and see our users have to choose between 2.0 w/ new features and old 1.x wo/ perf regressions. We'd really like to have our cake and eat it :)

Btw, I lead in TF SIG-Networking whose goal is really just making TF runs faster on enhanced networking. Perf regressions in single-node case might seem irrelevant, but they do have a negative impact on us.

@byronyi   Not irrelevant at all.  I have said before if you can get say 10K examples/sec on 8xV100s with FP16 + XLA but you need to scale to 32 GPUs (making up a number) to do that with FP32 then why are you focused on mulit-node and wasting money.  Figure out FP16.  There are exceptions for sure.  This is a simple mental example.

I also agree.  It is not cool this exists in 1.x.  It came down the XLA team not wanting to focus on mulit-GPU and we stopped TF 1.x testing maybe too early.  I do not recall the final data but I stopped nightly perf tests on TF 1.x a couple months ago it was just too much for one person and there was a lack of action to resolve issues.  :-(

@anj-s I saw 53bdcf55ce180f609797746992987ce89c3543bb submitted to master again. I assume the performance regression discussed above has been fixed?

@tfboyd The aforementioned regression seems to be bd920a2427fd2c450fda41f4e8991345a7854c9f, identified by bisecting between 08-01 nightly and 08-04 nightly. This commit is also present in both r1.15 and r2.0.
I am testing with model garden version 127b158a4c75626602f92e75582b124d142eb64b.  In the meanwhile, I'd like to ping @rachellim and see if she got any quick fixes for cherry-picking a fix instead of reverting the violating commit.

@anj-s I saw 53bdcf5 submitted to master again. I assume the performance regression discussed above has been fixed?

I checked that the real bug is fixed by cc9938e891ea387939c85238c9316f0c0dbb6e1a. Thanks!

Does https://github.com/tensorflow/tensorflow/commit/96a407a9186082045e368a680cc3e8af15d85d00 fix the performance issue? If so, maybe we can cherrypick it into the release?

@rachellim Assuming it does.  It will not get into TF 2.0 as we are at the end after many weeks.  XLA is an experimental feature and doing a cherry-pick for 1.15 (same story with 2.0) may not seem risky is likely not justified form a risk reward stand point.  All of that negativity said, you can 100% petition the release owner.  I am an XLA fan for additional context.

@rachellim Cherry-Picking 96a407a9186082045e368a680cc3e8af15d85d00 along with 6d8f05acd72df61e5f4e5b4c72837b7caed3e942 does seem to fix the performance regression. Ping @jsimsal; any possibility we get these fixes into 2.0.1?

We'll cherry pick this into r1.15. As for 2.x, I'll let @goldiegadde comment further.

Note that this might not be an XLA specific issue; https://github.com/tensorflow/tensorflow/commit/96a407a9186082045e368a680cc3e8af15d85d00 affects performance & behavior of tf.data datasets with rebatching (i.e. distribution strategies).


Issues/174

@EiffL Could you take a look at the demonstration Notebook for generating postage stamps.

This is meant to be a demonstration, not a library, although I did try to write things out as civilized functions.  We need a better packaging structure in which to put library code.
I'd particularly appreciate guidance about how to clearly explain the purpose and potential utility of the Notebook.

I just had time to read through it (and I already learned a few cool tricks along the way :-) ), it's really cool, I'll give you a real review later today

If you used afwDisplay to do the display you'd get automatic mask support, plus the ability to use ds9/ginga/firefly backends in addition to matplotlib.

@RobertLuptonTheGood That's a good point about the mask planes.  Those are an important thing to understand and for many of the use cases for postage-stamp visualization
I think I'll avoid explicit examples with ds9/ginga/firefly for now because I don't want to include the setup help that might be necessary for the average DESC member to get these going remotely from NERSC JupyterHub.  But writing it in afwDisplay would make that easier later on.

How do I save a PNG from an afwDisplay that has a matplotlib backend?
How do I get an inline display to show a list of plots instead of cycling through the same display matplotlib?  The incrDefaultFrame doesn't seem to work.  With the matplotlib afwDisplay backend, do I need an individual display for each plot?


Update README.md

Coverage remained the same at 54.839% when pulling 3e7891a488a54cea00d26ceb0dbc89418479ba32 on MarcusMann:patch-1 into 6e9a22b7b611d8fb198059024b172663e099ace8 on juusechec:master.


first draft plate layout

This is a first draft. I need help on a couple things:

The y axis is inverted in # Plot total number of cells per well
I set up # Plot total number of cells per well to output graphs per well though I realize you plotted them in the same graph in the original version, which I can fix after getting help with the following:
I can't figure out how to handle subplots. I have # Plot cell number by category per well generating the 12 separate single_quality_df that we want, I just don't know how to distribute those 12 onto the 12 subplots.

this looks great - thanks for opening the draft PR! One quick question is: Are we definitely settling on seaborn to perform these visualization? I know we used R in the original repo, and we should probably avoid it here to reduce complexity...
A very good alternative that can visualize this rather easily is plotnine. Below are some examples:
import plotnine as gg

by_well_gg = (
    gg.ggplot(cell_count_totalcells_df, gg.aes(x="x_loc", y="y_loc")) +
    gg.geom_point(gg.aes(fill="total_cell_count"), size=10) +
    gg.geom_text(gg.aes(label="Site"), color="lightgrey") +
    gg.facet_wrap("~Well") +
    gg.coord_fixed() +
    gg.theme_bw() +
    gg.theme(axis_text=gg.element_blank(),
             axis_title=gg.element_blank(),
             strip_background=gg.element_rect(colour="black", fill="#fdfff4")) +
    gg.scale_fill_cmap(name="magma")
)

by_well_gg.save("insert_something_here.png", dpi=300, verbose=False)
by_well_gg

by_quality_gg = (
    gg.ggplot(cell_count_df, gg.aes(x="x_loc", y="y_loc")) +
    gg.geom_point(gg.aes(fill="cell_count"), size=10) +
    gg.geom_text(gg.aes(label="Site"), color="lightgrey") +
    gg.facet_grid("Cell_Quality~Well") +
    gg.coord_fixed() +
    gg.theme_bw() +
    gg.theme(axis_text=gg.element_blank(),
             axis_title=gg.element_blank(),
             strip_background=gg.element_rect(colour="black", fill="#fdfff4")) +
    gg.scale_fill_cmap(name="magma")
)

by_quality_gg.save("insert_something_else.png", dpi=300, verbose=False)
by_quality_gg

If we want to go with seaborn, I will need to do a bit more digging

I have no experience in working with Plotnine so I defaulted to Seaborn when changing things from R to Python (since it's Beth's favorite and I have some experience with it). We can certainly use Plotnine if it's your preference. Thanks for those examples!

sounds good - I like seaborn too, but I find that it gets pretty clunky for complicated custom plots.
A couple of other initial notes:

we'll prob want to order the cell quality plot (using pd.categorical)
I wonder if proportions would be better to visualize in the cell quality plot? Is wonky proportions really what we're after? (since we already visualize pure cell count in the first figure)

There are a few glitches here that I'd like your help with, but I'm pretty dang proud of where I got it to!
I'm sure some of my Dataframe manipulation is uuuuugly, so feel free to suggest cleaner ways to do things. But, it does work, so don't feel like you need to spend your time on functional but ugly things right now :)
The biggest problems are that I can't seem to change the aspect ratio of a few of the graphs so that they are legible. These include: ratios_per_well, PLLS, CP_saturation, and BC_saturation.
Additionally - the PLLS graph should have a separate scale bar for each row, and the BC_saturation wrap needs to be adjusted (or the row order needs to be adjusted).

FYI, the two reverts are because I accidentally overwrote 7. instead of saving my latest changes as 8.

@gwaygenomics Thanks for the code review!
I've made changes to address what I can and I need your help for the rest. The way I see it, remaining changes fall into two categories:

Changes necessary to make this functional:

Change aspect ratios of: ratios_per_well, PLLS, CP_saturation, and BC_saturation so outputs are legible
PLLS graph should have a separate scale bar for each row
BC_saturation wrap needs to be adjusted. I'd like for it to output a separate wrap for each well that has 4 columns (A, C, G, T) and n rows (where n is number of SBS cycles)

Changes that will make this better but can be implemented later:

The remaining list changes you've commented that will be fixed/improved by a QC yaml file

As your push right now is to get the recipe to a 0.1 version, I'd appreciate it if you could help me with category 1 and then we can add the QC yaml file to the backlog for when you/we have time later? (I'd love to follow along as you make the QC yaml file. And if you have time to do it now that's great by me, I'm just assuming you're pretty busy with other things right now.)

I'd appreciate it if you could help me with category 1 and then we can add the QC yaml file to the backlog for when you/we have time later

Sounds like a good plan 👍 I will do this tomorrow, which will help me to build moment to push towards 0.1. Can you add the QC yaml as a new issue (if it's not already!)
My strategy to accomplish this will be similar to what I did in https://github.com/broadinstitute/pooled-cell-painting-profiling-recipe/pull/23#issuecomment-656336233 does that sound ok? Might be faster than hopping on a call is my thought

Happy to add the QC yaml as an issue.
Category 1 changes should be pretty minor changes (the graphs are all built, they're just not as legible as I'd like them) so yes, leaving suggested changes in comment is great! It will (or should be) easy for me to understand what you've done without you needing to walk me through step by step.

@gwaygenomics Dude, thanks for your help! Latest commit adds in all your suuuuper helpful changes. Thanks! I think this wraps up everything necessary, though I left a comment for you about changing ratio_gg row labels that would be prettier if you can help with that.


Co-authored-by: johanjohnthomas<EMAIL_ADDRESS>

….com>

Wow such pretty

Wow such pretty

thank u!! am a contributer now!! XDDDDDDDDDDD


add get-pr-info action

This could come in handy in scripting scenarios.

TBH it seems that github-status.rb has already bloated beyond its responsibilities so I'm not sure this is a good idea.  If it's not related to status it shouldn't be in this script!  Or else the script should be renamed.

It would be better to use https://hub.github.com/ for generic github manipulation, and extend hub if it's missing features we need.  Downside is that we'd have to learn Go, but the upside is that we'd have to learn Go ;-)

Closed #464 in favour of the first commit here.

LGTM


the image exported was incorrected when the scale param was setted to greater than 19

Describe the bug
Hi, i found that when export an larger image by call the chart.exportImage, the exported image was broken, its size was zero,
this.chart.exportImage({
  full: true,
  scale: 20,
});

this is the link   https://web-platform-dr9pob.stackblitz.io
To Reproduce
Steps to reproduce the behavior:

Go to test page
Click on 'export full img'
See error

Expected behavior
the image was correct
Screenshots

Desktop (please complete the following information):

OS: macos 10.15.7
Browser  chrome
Version 105

Additional context
i also found that if the screen was narrow,  the exported image works fine,  if you open the link in a new window, the image was broken.

Yep, it's about how much browser can handle.
In my trials, I think 2-3X is optimal enough  and it still would struggle for large screens

how about using the exportSvg ?  i found that the svg mode only support the "scale = 3"

For the SVG scale  parameter does not matter, since it is Vector and it does not lose quality when zoomed in


Unresolved import issue

Language server version <IP_ADDRESS>
VSCode version 1.36.1
Python version 3.7.4
OS Win10 latest
Similar to #1364, this randomly started happening yesterday after weeks of no issues.
My project layout is as such:
root
| src/
  | prog.py
  | config.py
  | core/
    | core.py
| tests/
| ... other files

In src/core/core.py I have from src.config import Config.  This used to be fine.  Running my program still works with python -m src.prog.
From yesterday, however, I get the issue unresolved import 'src.config'Python(unresolved-import).  I have no idea why, or why it just started happening.  I use a venv in ./.venv, however the issue still occurs if I use the system Python.  Adding any combinations of __init__.pys makes no difference.
Looking at the Python extension startup, I see these search paths:
[Info  - 7:54:04 AM] GetCurrentSearchPaths c:\Users\xxx\project\element\.venv\Scripts\python.exe
[Info  - 7:54:04 AM] Interpreter search paths:
[Info  - 7:54:04 AM]     c:\users\xxx\appdata\local\programs\python\python37\dlls
[Info  - 7:54:04 AM]     c:\users\xxx\appdata\local\programs\python\python37\lib
[Info  - 7:54:04 AM]     c:\users\xxx\appdata\local\programs\python\python37
[Info  - 7:54:04 AM]     c:\users\xxx\project\element\.venv
[Info  - 7:54:04 AM]     c:\users\xxx\project\element\.venv\lib\site-packages
[Info  - 7:54:04 AM] User search paths:
[Info  - 7:54:04 AM]     c:\users\xxx\project\element\src

And my VSCode root dir is /element.

I see that your user search paths include ./src. Did you configure this somewhere, i.e. via extraPaths or PYTHONPATH? By setting that, you'd need to do import config, not import src.config, since you're saying that src is the import root. As far as I've seen, if people have a src directory, they're intending that to be the import root and wouldn't be adding src. to their imports at all.
Improving this behavior is #1360/#443 (preventing search path carving and allowing the module to be imported by both src.config and config if both work in a search path).

I see that your user search paths include ./src. Did you configure this somewhere, i.e. via extraPaths or PYTHONPATH? By setting that, you'd need to do import config, not import src.config, since you're saying that src is the import root. As far as I've seen, if people have a src directory, they're intending that to be the import root and wouldn't be adding src. to their imports at all.
Improving this behavior is #1360/#443 (preventing search path carving and allowing the module to be imported by both src.config and config if both work in a search path).

I noticed that too.  I have nothing in extraPaths or PYTHONPATH env variable, those were the first I thought of and checked too.

Are you using an editable install for what's in your src directory? The language server automatically reads out the pth files editable installs do and configures things appropriately.

Are you using an editable install for what's in your src directory? The language server automatically reads out the pth files editable installs do and configures things appropriately.

Sorry, how do you mean editable install?  I don't have any pth files however.

pip install -e . or setup.py develop. An easy way to check is to set this in your user config and reload, then copy the initialization message and didChangeConfiguration.
"python.trace.server": "verbose"

Feel free to disable this afterward; it's extremely noisy and will slow down your editor.

Mind you that my opinion is that it's probably not the right thing to be importing anything with the src. prefix. Typically if someone has a src directory, they want that to be the root of their imports; but I don't know your use case.

Mind you that my opinion is that it's probably not the right thing to be importing anything with the src. prefix. Typically if someone has a src directory, they want that to be the root of their imports; but I don't know your use case.

I have a tests/ directory at the root directory too, so I need to be able to import from src for it to run.
Here's the trace:
[Trace - 5:37:13 PM] Sending notification '$/setTraceNotification'.
Params: {
    "value": "verbose"
}

[Trace - 5:37:13 PM] Sending notification 'workspace/didChangeConfiguration'.
Params: {
    "settings": {
        "python": {
            "diagnostics": {
                "sourceMapsEnabled": false
            },
            "autoComplete": {
                "addBrackets": false,
                "extraPaths": [],
                "showAdvancedMembers": true,
                "typeshedPaths": []
            },
            "autoUpdateLanguageServer": true,
            "dataScience": {
                "allowImportFromNotebook": true,
                "askForLargeDataFrames": true,
                "askForKernelRestart": true,
                "enabled": true,
                "exportWithOutputEnabled": false,
                "jupyterLaunchTimeout": 60000,
                "jupyterLaunchRetries": 3,
                "jupyterServerURI": "local",
                "notebookFileRoot": "${workspaceFolder}",
                "searchForJupyter": true,
                "changeDirOnImportExport": true,
                "useDefaultConfigForJupyter": true,
                "jupyterInterruptTimeout": 10000,
                "allowInput": true,
                "showCellInputCode": true,
                "collapseCellInputCodeByDefault": true,
                "maxOutputSize": 400,
                "errorBackgroundColor": "#FFFFFF",
                "sendSelectionToInteractiveWindow": false,
                "showJupyterVariableExplorer": true,
                "variableExplorerExclude": "module;function;builtin_function_or_method",
                "codeRegularExpression": "^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])",
                "markdownRegularExpression": "^(#\\s*%%\\s*\\[markdown\\]|#\\s*\\<markdowncell\\>)",
                "allowLiveShare": true,
                "ignoreVscodeTheme": false,
                "liveShareConnectionTimeout": 1000,
                "decorateCells": true,
                "enableCellCodeLens": true,
                "enableAutoMoveToNextCell": true,
                "autoPreviewNotebooksInInteractivePane": false,
                "allowUnauthorizedRemoteConnection": false
            },
            "disableInstallationCheck": false,
            "envFile": "${workspaceFolder}/.env",
            "formatting": {
                "autopep8Args": [],
                "autopep8Path": "autopep8",
                "provider": "black",
                "blackArgs": [],
                "blackPath": "black",
                "yapfArgs": [],
                "yapfPath": "yapf"
            },
            "globalModuleInstallation": false,
            "jediEnabled": false,
            "jediMemoryLimit": 0,
            "jediPath": "",
            "analysis": {
                "openFilesOnly": true,
                "diagnosticPublishDelay": 1000,
                "errors": [],
                "warnings": [],
                "information": [],
                "disabled": [
                    "inherit-non-class"
                ],
                "typeshedPaths": [],
                "cacheFolderPath": "",
                "memory": {
                    "keepLibraryAst": false,
                    "keepLibraryLocalVariables": false
                },
                "logLevel": "Error",
                "symbolsHierarchyDepthLimit": 10
            },
            "linting": {
                "enabled": true,
                "flake8Args": [],
                "flake8CategorySeverity": {
                    "E": "Error",
                    "F": "Error",
                    "W": "Warning"
                },
                "flake8Enabled": true,
                "flake8Path": "flake8",
                "ignorePatterns": [
                    ".vscode/*.py",
                    "**/site-packages/**/*.py"
                ],
                "lintOnSave": true,
                "maxNumberOfProblems": 100,
                "banditArgs": [],
                "banditEnabled": false,
                "banditPath": "bandit",
                "mypyArgs": [
                    "--ignore-missing-imports",
                    "--follow-imports=silent",
                    "--show-column-numbers"
                ],
                "mypyCategorySeverity": {
                    "error": "Error",
                    "note": "Information"
                },
                "mypyEnabled": true,
                "mypyPath": "mypy",
                "pep8Args": [],
                "pep8CategorySeverity": {
                    "E": "Error",
                    "W": "Warning"
                },
                "pep8Enabled": false,
                "pep8Path": "pep8",
                "prospectorArgs": [],
                "prospectorEnabled": false,
                "prospectorPath": "prospector",
                "pydocstyleArgs": [],
                "pydocstyleEnabled": false,
                "pydocstylePath": "pydocstyle",
                "pylamaArgs": [],
                "pylamaEnabled": false,
                "pylamaPath": "pylama",
                "pylintArgs": [],
                "pylintCategorySeverity": {
                    "convention": "Information",
                    "error": "Error",
                    "fatal": "Error",
                    "refactor": "Hint",
                    "warning": "Warning"
                },
                "pylintEnabled": false,
                "pylintPath": "pylint",
                "pylintUseMinimalCheckers": true
            },
            "pythonPath": ".venv\\Scripts\\python.exe",
            "condaPath": "",
            "pipenvPath": "pipenv",
            "poetryPath": "poetry",
            "sortImports": {
                "args": [],
                "path": ""
            },
            "terminal": {
                "activateEnvironment": true,
                "executeInFileDir": false,
                "launchArgs": []
            },
            "testing": {
                "cwd": null,
                "debugPort": 3000,
                "nosetestArgs": [],
                "nosetestsEnabled": false,
                "nosetestPath": "nosetests",
                "promptToConfigure": true,
                "pytestArgs": [],
                "pytestEnabled": false,
                "pytestPath": "pytest",
                "unittestArgs": [
                    "-v",
                    "-s",
                    ".",
                    "-p",
                    "*test*.py"
                ],
                "unittestEnabled": false,
                "autoTestDiscoverOnSaveEnabled": true
            },
            "venvFolders": [],
            "venvPath": "",
            "workspaceSymbols": {
                "ctagsPath": "ctags",
                "enabled": true,
                "exclusionPatterns": [
                    "**/site-packages/**"
                ],
                "rebuildOnFileSave": true,
                "rebuildOnStart": true,
                "tagFilePath": "${workspaceFolder}/.vscode/tags"
            },
            "trace": {
                "server": "verbose"
            }
        }
    }
}

You'd need to reload, that only shows the config change (the initialization message only happens once at startup).
As for tests/, my impression was that setting PYTHONPATH=./src might work in this case (our debugger ptvsd does this, but their code layout is very tricky). It's also common to not have a src directory at all and have tests in the same directory, etc. But generallly, import src.config is odd. One example I'd consider looking at is: https://github.com/fsfe/reuse-tool
(An example from https://github.com/microsoft/python-language-server/issues/1169#issuecomment-499998928 ; how to deal with subdirectories is a long-running issue.)

You'd need to reload, that only shows the config change (the initialization message only happens once at startup).
As for tests/, my impression was that setting PYTHONPATH=./src might work in this case (our debugger ptvsd does this, but their code layout is very tricky). It's also common to not have a src directory at all and have tests in the same directory, etc. But generallly, import src.config is odd. One example I'd consider looking at is: https://github.com/fsfe/reuse-tool
(An example from #1169 (comment) ; how to deal with subdirectories is a long-running issue.)

Ah, my bad.  Here's the full trace I hope -
[Trace - 5:52:57 PM] Sending request 'initialize - (0)'.
Params: {
    "processId": 1368,
    "rootPath": "c:\\Users\\xxx\\yyy\\zzz",
    "rootUri": "file:///c%3A/Users/xxx/yyy/zzz",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "textOnlyTransactional"
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                }
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "workspaceFolders": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true
                },
                "completionItemKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                }
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "references": {
                "dynamicRegistration": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "symbolKind": {
                    "valueSet": [
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,
                        15,
                        16,
                        17,
                        18,
                        19,
                        20,
                        21,
                        22,
                        23,
                        24,
                        25,
                        26
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                }
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true
            },
            "documentLink": {
                "dynamicRegistration": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            }
        }
    },
    "initializationOptions": {
        "interpreter": {
            "properties": {
                "InterpreterPath": "c:\\Users\\xxx\\yyy\\zzz\\.venv\\Scripts\\python.exe",
                "Version": "3.7.4",
                "DatabasePath": "c:\\Users\\xxx\\.vscode\\extensions\\ms-python.python-2019.6.24221\\languageServer.0.3.39"
            }
        },
        "displayOptions": {
            "preferredFormat": "markdown",
            "trimDocumentationLines": false,
            "maxDocumentationLineLength": 0,
            "trimDocumentationText": false,
            "maxDocumentationTextLength": 0
        },
        "searchPaths": [],
        "typeStubSearchPaths": [
            "c:\\Users\\xxx\\.vscode\\extensions\\ms-python.python-2019.6.24221\\languageServer.0.3.39\\Typeshed"
        ],
        "cacheFolderPath": null,
        "excludeFiles": [
            "**/Lib/**",
            "**/site-packages/**",
            "**/node_modules",
            "**/bower_components",
            "**/.git",
            "**/.svn",
            "**/.hg",
            "**/CVS",
            "**/.DS_Store",
            "**/.git/objects/**",
            "**/.git/subtree-cache/**",
            "**/node_modules/*/**",
            ".vscode/*.py",
            "**/site-packages/**/*.py"
        ],
        "testEnvironment": false,
        "analysisUpdates": true,
        "traceLogging": true,
        "asyncStartup": true
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///c%3A/Users/xxx/yyy/zzz",
            "name": "server"
        }
    ]
}

Hmm, interesting layout, I'll think about it :)

Weirdness intensifies.
The project root is in my home folder.  If I rename the project root - e.g from proj to proj2, it works fine.  if I move the project root to my desktop, it works fine.  It's some random, magical, specific eldritch abomination which means if it's called proj in my home folder, everything breaks.
I would think it's some sort of out of date or cached config ... but I've recreated this folder on clean installs of vscode, and on an entirely different machine, and the same happens.  wtf

I believe I'm actually suffering from this issue - https://github.com/sdispater/poetry/issues/730#issuecomment-446787970.
As you mentioned @jakebailey, looks like the issue is because of an editable install?  I'll do some further debugging and then close this issue.

I've confirmed it's weird behavior caused by poetry.
Sorry, and thanks for your help!


Method to load astropy tables [issue #5]

I attempted to solve the issue above. The function takes a column of SkyCoord entries from an astropy table and generates circles one by one. Currently, they all share a name, which isn't optimal, but I haven't yet found the way to make them all distinct annotations.

@ojustino - I think we are going to want to have a different approach for plotting multiple circles - I think we should make it possible for the user to get back an object to control the properties of the circles (like a CircleCollection). We shouldn't put too much work into this however because I think the WWT developers are working on adding the 'layer' API to the web client, which is an efficient way to deal with many markers.
For now, if you are interested in trying to do the CircleCollection, I'd suggest making a new class called CircleCollection which basically contains references to multiple circles. Then if the user does:
collection = wwt.add_circle_collection(skycoords)

they get a CircleCollection back. Doing:
collection.color = 'red'

would then internally change the color of all the circles. We could also implement __getitem__ on the class so that you could do e.g.:
collection[0].color = 'green'

to modify just one of the circles. Do you have a feel for how to do this, or would you like me to show some example code for how to get started?

I'm trying to start working from this, but it would be nice to see some more example code when you get the chance (with the release going on).


Is it possible to fill PDF textbox field with a check mark, or check a checkbox ?

Hi I'm trying to dynamically fill a textbox with the "✓"  symbol but got the following error:
WinAnsi cannot encode "✓". Fill fuction below where I put fieldnames.value as "\u2713"
const fillInField = (fieldName, text) => {
            const field = findAcroFieldByName(pdfDoc, fieldName)
            if (field) fillAcroTextField(field, text, helveticaFont)
        }

 for (var i = 0; i < fieldNames.length; i++) {
            fillInField(fieldNames[i].name, fieldNames[i].value);
}

I also tried putting a checkbox on the PDF , but what should I put as fieldNames.value to check that checkbox ? Possible ?

@blocks-master Have you tried using StandardFonts.ZapfDingbats instead of StandardFonts.Helvetica?

pdf-lib has a new form filling API that should take care of this for you. See the README and API docs for more details.


Move opinions about encoding from communication to timely.

This PR introduces a trait Bytesable with methods from and into Bytes. It removes from communication any reliance on bincode, not because it is bad just because it is an opinion. It almost removes all dependence on serde, except that it creates several logging types that want to derive Serialize and Deserialize, but it is not otherwise reliant on them.
The trait that was formerly communication::Data is now instead communication::allocator::Exchangeable, and it looks like so:
/// A type that can be sent along an allocated channel.
pub trait Exchangeable : Send+Any+Bytesable+'static { }
impl<T: Send+Any+Bytesable+'static> Exchangeable for T { }

In exchange, timely gets a relatively small opinion, currently in the encoding module, that one can implement Bytesable with some reliance on serde and bincode. The opinions are expressed in a trait
    /// A composite trait for types that may be used with channels.
    pub trait Data : Send+Any+Serialize+for<'a>Deserialize<'a>+'static { }
    impl<T: Send+Any+Serialize+for<'a>Deserialize<'a>+'static> Data for T { }

which informs the timely::ExchangeData trait.

One thing I'd should tidy up are the unit tests in the doccomments. I copy/pasted in something that I knew would work, but it is a departure from what was there before. I don't know that they are bad, just .. different unintentionally.

9d2ac9e moves the opinions all the way to the pacts, which are where we construct the channels. The default pacts use the bincode serialization strategy, but .. in the worst case the pacts are pluggable and can be implemented for other strategies. But probably the next thing to think through is how to have an opinion on the pact without having an opinion on the serialization.

I'll take the communication documentation simplification as a future action item, to keep things moving along.


task: teammate status

Users can see the status of their teammates (offline, online, running test, etc.)

revamping this issue to include team chat through https://getstream.io/chat/


No sound on the windows version of scrcpy

Hello, I am having an issue with the sound.
I am trying to use scrcpy, and the screen part works fine, but there is no sound at all, how can I fix this?
I am on a Windows 10 PC using the USB Debugging mode on my tablet, and my tablet is an Android 9 Samsung tab A.
Thanks in advance!

https://github.com/Genymobile/scrcpy#audio-forwarding


Ignore redundant-decls warning on MinGW

Description

What
Added warning suppression for -Wredundant-decls on MinGW.
Why
When compiling with MinGW and in your test file you include windows.h first and then doctest.h, you'll get this -Wredundant-decls warning. Another solution would be to include windows.h to silence the warning. But I think that wouldn't be preferable. Link to CI build displaying the Problem
GitHub Issues

N/A

Thanks for the fix! Strange that this doesn't happen in the doctest CI builds... Merging it.
Note that since this commit doesn't regenerate the final doctest.h this fix won't be immediately available in the dev branch.


(settings) Multiple "workbench" categories

VSCode Version: 1.10.0-insider<PHONE_NUMBER>1592cf5fe64fd911b1efe41b1ea732
OS Version: Windows 10 Insider - Slow Ring

In settings, there are two different "workbench" categories, one capitalized and one lowercase.

I see it, same for editor.tabCompletion:

@aeschli I register the tab completion property like this: https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/snippets/electron-browser/tabCompletion.ts#L112

It was expected to provide title while registering configurations even though id was being reused because there was no merging of nodes happening in Config registry. Merging was happening in the View (Settings editor) but based on title.
Will fix it either in Config registry or in Settings editor.


Improve REST cookiecutter to fully implement the stream

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/119
Originally created by @aaronsteers on 2021-04-27 19:12:49

Currently the cookiecutter examples leave a lot of code unwritten. As a developer goes through the SDK it is not necessarily obvious if/when they have everything fully working.
Currently developers may need to consult dev_guide.md, reference, and code_sampes.md
While we probably won't completely remove the need for those documents, there's a lot better we can do to make sure 90% of scenarios are handled with SDK cookiecutter code directly.

View 3 previous comments from the original issue on GitLab


Images

@IshaDakota the presentation looks great.
Need to blur the names of the projects / clients in the images.

@IshaDakota handy! btw, a pro tip -- once you upload an image, you don't really need to submit the comment. The file is already uploaded. 😈

To follow up on @liatsade comment: You can keep the devs name, and circuit related project, but indeed blur other project names.

^^ fixed.


Use TypeScript to verify CLI reference output

This PR adds a new CI test that uses the TypeScript compiler to verify that all JS and TS files in cli/tests/references are valid JS/TS. This ensures that invalid JS/TS will be caught even if human review misses some error.
Since I use the TS compiler to verify JS files, I also enabled type checking for them. So we will hopefully catch invalid glue code early now.

I'm still working out the kinks.

Alright, I changed it to only check JS syntax for now. Fixing all the type errors in JS will require some more work, but that can be a follow-up PR.
For now, this PR just checks the types of .d.ts files and the syntax of .js files.

This is great btw, thank you!


  The QueryResult is successNoData.

Hmm. But that would mean the SQLite and PostgreSQL drivers would have different behaviour?

Right. So since SQLite doesn't return titles if there are no rows, it doesn't make sense to create a ResultSet in this case. I will change PostgreSQL plugin to return successNoData as well. And we will have to update the tests in both plugins.

Fixed