Add support for aws-cn partition

I'm working on support for deploying to aws-cn, the wip-pr is here: https://github.com/mbsoftworks/cdk-pipelines-github/pull/1
It works for my use case (though there might be more required changes for other use cases) but I need some help to remove the hard-coded aws-cn and .amazonaws.com.cn changes (https://github.com/mbsoftworks/cdk-pipelines-github/pull/1/commits/d2ed0187a543b75d5a70408e7a71139eb44c10e9). Any suggestion on what needs to be done to fix those?

@mbergkvist -- the ask is to remove the hardcoded aws partition to instead be possibly aws-cn based on some information right? I am open to it... we can either have it be a well-known environment variable if you want to modify the partition, or we can somehow get the info from the stack environment. I'm happy to start with env variable because that sounds easier, at the expense of some user experience, but at least it's possible :).
This module isn't really maintained for new feature requests. I am happy to review any community contributions on this, but do not have time to do so on my own.

@kaizencc

I am happy to review any community contributions on this, but do not have time to do so on my own.

I'm happy to work on this, but I'd need some guidance. I'm not too familiar with the inner workings of the CDK framework.

we can either have it be a well-known environment variable if you want to modify the partition, or we can somehow get the info from the stack environment

An environment variable could work, but as you say, it comes with a cost for the user experience. The alternative is to get the infomration from the StackDeployment parameter, but unfortunately it doesn't carry the partition (in the long-term, should there be a PR in aws-cdk-lib pipelines?), but perhaps we can draw some conclusion based on the region? E.g. if the region begins with cn- then we set the partition to aws-cn.
The second part in my PR, the replacement of .amazonaws.com with .amazonaws.com.cn, is an hack I'm not particular proud of and I think it should be changed upstream so correct URL's are created from the start for the assets. Nevertheless, we can start with adding the change behind the same region logic as above?
I think the changes in src/oidc-provider.ts is legit, should I create a separate PR for those?

@kaizencc I created a separate PR (#868) for replacing the hard coded aws partition in GitHubActionRole with AWS:Partition. I think that can be merged without the other changes necessary for aws-cn support.

@kaizencc I went with the well-known environment variable to do the required changes in the pipeline, #895. A proper solution would probably be to make sure the partition is known in the pipeline, and also that the partition is known when the template is created, but as a temporary work-around, this has worked quite well for us.


chore(registry): Small Cleanup

Description
Small PR cleaning up the test utilities in op-alloy-registry

📚 $\text{Stack Overview}$
Pulls submitted in this stack:

#307 👈
main

This comment was automatically generated by st.


Is there plan for supporting Virtualenv?

Virtualenv and virtualenvwrapper support would be great indeed.

Yeah, that would be really cool.

:+1:

:+1:

:+1:


retain exsiting user role, option for group override

Hi,
this fixes the issue with existing users' roles mentioned in #34
I also added an option to override existing roles with LDAP Groups (which is enabled by default as it's been the behaviour so far).

Oh, and after understanding it, I quite liked the cache-solution :wink:

Thanks @EmTeedee!


Join us! link change

Currently, the "Join us!" button in the footer has this link: https://discord.gg/3sbwZdh. Can you change it to this link: https://discord.gg/q93Wrgn

Finished!


Fix #384 - Show clustered markers in exact same location

This pull request implements a solution for a situation where more than one marker have the exact same location (lat and lng), an issue reported in #384.
The activity ClusteringSameLocationActivity shows 5 markers in the exact same location and use this new implementation. Basically, if the user does zoom in till the maximum zoom value and touch the cluster with the markers in the same location, markers are distributed in new locations based in the default implementation of ClusterItemsDistributor interface. A new distributor can be implemented and used calling ClusterManager.setClusterItemsDistributor.
There is a potential backward compatibility break as ClusterItem interface requires now a copy method to copy the cluster item with a new location to be used to distribute the markers. It is important to keep BC compatibility I could make changes to this feature or function.
This implementation requires to implement OnClusterClickListener and OnCameraMoveListener, this means if the library consumer needs to implement those listeners, it is a requirement to call to ClusterManager.handleClickListener or ClusterManager.OnCameraMove to keep the feature working well. This could be improved also if it is required.

I signed it!

I signed it!

Added the second email as an alternative email in both Github and Gmail.

Would love to have this merged. And for iOS too, ideally, because if on Android only the topmost marker is shown, in iOS google map utils markers blink =)

Closing and re-opening to try and kick-start the CLA bot...

@googlebot

This needs cla from the initial commits from<EMAIL_ADDRESS>

@menismu Is<EMAIL_ADDRESS>your email? If so you'll need to configure this email with GitHub for Google's bot to recognize the CLA on file:
https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/adding-an-email-address-to-your-github-account

Hi @menismu . Did you have the chance to check the latest message regarding the CLA?

Sorry we aren't able to merge this. If you can recreate the PR from an account that you're able to sign the CLA with, feel free to propose a new PR.


Implement support for Macie member accounts

Description
Fixes #322 by implementing support for "nuking" Macie accounts that were created by Invitation only. (Macie member accounts created via AWS Organizations do not have sufficient permissions to disassociate themselves from the Org).
Programmatic testing with Macie is pretty awkward. I found that you can continuously accept an invite from another account to become a member account, then disassociate yourself (nuke), then re-use the same standing invitation to re-associate yourself as a member account. I'm currently using this workaround to leave a "standing" invite from our phxdevops account in us-east-1 for sanity.
We could expand our test coverage out to other regions, but that would just require maintaining a map of regions to standing invitation IDs.
Furthermore, Macie member accounts don't expose anything useful to us in terms of filtering resources by their creation time, so the usual semantics of excludeAfter won't work here. As a result, I just include all found member Macie accounts as nuke-able.

TODOs
Read the Gruntwork contribution guidelines.

[x] Update the docs.
[x] Run the relevant tests successfully, including pre-commit checks.
[x] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[x] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Added / Removed / Updated [X].
Migration Guide
Implement support for inspecting and nuking Macie member accounts that were created via Invitation only. (Macie member accounts created via AWS Organizations are not able to disassociate themselves).

Thanks for reviews @yorinasub17 and @rhoboat - looks like we're actually running cloud-nuke against phxdevops, so the Macie test is now passing.
Current failure is a single known flaky test, so I think this is ready for another look.

Looks like the current test failure is TestListElasticacheClustersWithConfigFile which is marked as Flaky.

Thanks for review! I'll merge this PR now and open a follow-up to make the improvement you suggested.


[BUG] - Nonfunctioning after launch.

What happened?
I cant pinpoint what causes it, but immediately after launching the overlay after having loaded into Mezeporta, I can no longer use the shortcuts to bring up the menu, restart, or close the overlay. The elements that do load are static, even when loading into a quest. I have tried reinstalling the overlay and force closing it and reloading it. I can occasionally retain function momentarily but usually after a little bit after restarting it seems to freeze/stop responding.
I mainly just want to retain the functionality of the database that is convienient.
What version of the program are you using?
Latest version
What version of the game are you using?
High-Grade Edition

Can you add the ability to view all reward items for ongoing missions?

What happened?
I cant pinpoint what causes it, but immediately after launching the overlay after having loaded into Mezeporta, I can no longer use the shortcuts to bring up the menu, restart, or close the overlay. The elements that do load are static, even when loading into a quest. I have tried reinstalling the overlay and force closing it and reloading it. I can occasionally retain function momentarily but usually after a little bit after restarting it seems to freeze/stop responding.
I mainly just want to retain the functionality of the database that is convienient.
What version of the program are you using?
Latest version
What version of the game are you using?
High-Grade Edition

Does the issue still occur in version 0.21.0?

The specific issue in question so far doesn't seem to persist with the newest update. However I have noticed decreased performance on my computer with the config open, and even the overlay crashing while I had the config open, if I was for instance looking at armor skills while scrolling through armors with my controller or alt tab to make notes in a document of mine on my second monitor.


Fix tests for Training Status Changes

Removed work-arounds from test scenarios related to Training Status updates.
Improved logged information about Training Status.

:tada: This PR is included in version 0.367.11 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Return fewer and more specific errors / API Changes

Description, Motivation and Context

What was changed:
Errors simplified and better segregated for more obvious handling. Unified polling and completion APIs

Motivation & Context:
Simpler usage from lang side.

Closes issue:
How has this been tested?

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

@Sushisource @vitarb @mfateev after thinking about it some more I think this unified poll API doesn't make sense given the current service API.
How would polling for both activity and workflow tasks work? We can only return a single value and we shouldn't buffer activity tasks since they're considered started as soon as poll returns.
I also think we should change the API to be async (probably using callbacks), otherwise the lang SDK will redundantly need to spawn multiple threads for each poll type and possible for completions as well as we don't want to block the lang thread on communication to the server.

I think we still need more work on the error definitions, it's unclear what action should be taken for each error on the lang side.

@Sushisource @vitarb @mfateev after thinking about it some more I think this unified poll API doesn't make sense given the current service API.
How would polling for both activity and workflow tasks work? We can only return a single value and we shouldn't buffer activity tasks since they're considered started as soon as poll returns.
I also think we should change the API to be async (probably using callbacks), otherwise the lang SDK will redundantly need to spawn multiple threads for each poll type and possible for completions as well as we don't want to block the lang thread on communication to the server.

Yeah I agree I think. We've gone in circles a bit on this one, and the main reason it felt nice on this side to keep them unified was to avoid duplicating task_token in a bunch of different messages. That I'm less concerned about now than the whole "it turns out it doesn't make any sense to try to poll for both at the same time" thing, which makes the unified API pretty pointless. It also allows us to again return more specific error types from each API and avoid some matching/unwrapping.
Changing it to be async is... a bigger question. Callbacks aren't terribly idiomatic in this case IMO. I'd prefer to just actually have an async api at that point. Alternatively, each lang's glue layer can kinda wrap Core however it feels is appropriate, which I think makes good sense here. The question is what should the default be, async seems reasonable to me and fixes some slightly ugly things we need to do right now internally. Glue layers can pretty trivially turn that into non-async blocking, or even a callback based API.


[rfe_id:588] ContainerDisk Starting from custom image location with disk at /custom-disk/downloaded [test_id:1466]should boot normally

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug
/label build-officer

/kind enhancement

What happened:
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/3544/pull-kubevirt-e2e-kind-k8s-1.17.0-ipv6/1274612562545086464
What you expected to happen:
test should pass.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/triage build-officer

Another job with the same issue - https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/3502/pull-kubevirt-e2e-kind-k8s-1.17.0-ipv6/1275865685297205248

about the run in the title
dupe for sure of #3575
i see all the syndromes

kvm is missing
virt-handler crashed due to panic (see virt-handler 1_* previous)

we can close it i think, since #3713 was merged.

/close

we can close it i think, since #3713 was merged.

Yes, the corresponding logs for this show that virt-handler crashed on this test.


Model not available anymore ? Google drive Error 404

The model is not available anymore, gdown link from the install script throws a 404 error.
Is this done on purpose ?

Same issue. Looks like it doesn't work anymore

@inagoy Looks like the model might be still online if you log in to this page
https://huggingface.co/inagoy/drumsep/resolve/main/modelo_final.th
(Google cache:
https://webcache.googleusercontent.com/search?q=cache:mRRhbeZck5QJ:https://huggingface.co/inagoy/drumsep/tree/main&cd=2&hl=pl&ct=clnk&gl=pl_)
Please reupload the modelo_final.th file here and, if you had more time, please repair the Colab as well.

Also interested in trying this model, hoping for a reupload. :)

Hi, as a hdemucs drummer user, I'm totally interested by your project too !! So please, reload your model it should be very cool indeed, thx

Someone else than us, uploaded it it in few parts in an issue of some other repo.
https://github.com/facebookresearch/demucs/issues/422#issuecomment-1537473242
Later you got the full link pasted by someone.
I found it in Google like two weeks ago.

Great 👍 thanks

Someone else than us, uploaded it it in few parts in an issue of Demucs repo. facebookresearch/demucs#422 (comment) Later you got the full link pasted by someone.
I found it in Google like a week or more ago.
I tried to contact the Inagoy via email, to ask for reupload in this repo, but haven't received the reply, so I thought it might be better to share it at this point.
Fixed Colab https://colab.research.google.com/drive/1wws3Qm3I1HfMr-3gAyW6lYzUHXG_kuyz?usp=sharing (reworked, very simple for now, because some code didn't want to work, and got deleted, edit. GPU enabled now, overlaps/shifts tweaking added for better results)
You can also use drumsep in UVR 5 GUI. Go to UVR settings and open application directory. Find the folder "models" and go to "demucs models" then "v3_v4" Copy and paste both the .th model file and .yaml file, and it's good to go.
https://cdn.discordapp.com/attachments/708579735583588366/1124699600717094932/drumsep.yaml

I'm trying to add this to UVR and seem to have it halfway. It shows the drumsep as the demuc model, but the stems are the default ones as shown and not the proper drums. I have the items in the proper place. What am I doing wrong?

It's probably because the GUI wasn't written with these specific
instruments in mind, hence it labels them wrong.
Can't tell if editing any file under:
ultimatevocalremovergui/models/Demucs_Models/model_data/
would do the trick, but that's possibly the place to look for some config
editing, if you don't see a pattern in other yaml files in v3_v4 folder of
what can be wrong, and what the file yaml file I posted is missing in its
content to label the stems correctly. That's more an issue for
https://github.com/Anjok07/ultimatevocalremovergui/tree/master repo
sob., 14 paź 2023 o 23:24 godzfire @.***> napisał(a):

Someone else than us, uploaded it it in few parts in an issue of Demucs
repo. facebookresearch/demucs#422 (comment)
https://github.com/facebookresearch/demucs/issues/422#issuecomment-1537473242
Later you got the full link pasted by someone.
I found it in Google like a week or more ago.
I tried to contact the Inagoy via email, to ask for reupload in this repo,
but haven't received the reply, so I thought it might be better to share it
at this point.
Fixed Colab
https://colab.research.google.com/drive/1wws3Qm3I1HfMr-3gAyW6lYzUHXG_kuyz?usp=sharing
(reworked, very simple for now, because some code didn't want to work, and
got deleted, edit. GPU enabled now, overlaps/shifts tweaking added for
better results)
You can also use drumsep in UVR 5 GUI. Go to UVR settings and open
application directory. Find the folder "models" and go to "demucs models"
then "v3_v4" Copy and paste both the .th model file and .yaml file, and
it's good to go.
https://cdn.discordapp.com/attachments/708579735583588366/1124699600717094932/drumsep.yaml
I'm trying to add this to UVR and seem to have it halfway. It shows the
drumsep as the demuc model, but the stems are the default ones as shown and
not the proper drums. I have the items in the proper place. What am I doing
wrong?
[image: image]
https://user-images.githubusercontent.com/2067820/275289370-1ba98359-f6e0-4b1e-9e4e-f33d5d007024.png [image:
image]
https://user-images.githubusercontent.com/2067820/275289380-092856eb-465a-43de-847b-ef7f1c7d7463.png
—
Reply to this email directly, view it on GitHub
https://github.com/inagoy/drumsep/issues/3#issuecomment-1763184956, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIJ3EHDEO42CBNDVS74O4VDX7L7KBAVCNFSM6AAAAAAWRJ3QRGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRTGE4DIOJVGY
.
You are receiving this because you commented.Message ID:
@.***>

It's probably because the GUI wasn't written with these specific instruments in mind, hence it labels them wrong. Can't tell if editing any file under: ultimatevocalremovergui/models/Demucs_Models/model_data/ would do the trick, but that's possibly the place to look for some config editing, if you don't see a pattern in other yaml files in v3_v4 folder of what can be wrong, and what the file yaml file I posted is missing in its content to label the stems correctly. That's more an issue for https://github.com/Anjok07/ultimatevocalremovergui/tree/master repo sob., 14 paź 2023 o 23:24 godzfire @.***>

I used your file. Does it work & show properly for you?

The separation itself used to work following that instruction.
Haven't you tried separating yet?
niedz., 15 paź 2023, 04:07 użytkownik Jarredou @.***>
napisał:

@godzfire https://github.com/godzfire You can also use DrumSep model
with Demucs command line, you only need Python installed and then to run
the command provided here: facebookresearch/demucs#422 (comment)
https://github.com/facebookresearch/demucs/issues/422#issuecomment-1501932895
—
Reply to this email directly, view it on GitHub
https://github.com/inagoy/drumsep/issues/3#issuecomment-1763236702, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIJ3EHG5FZLW7OUIHJRN3T3X7NAO7AVCNFSM6AAAAAAWRJ3QRGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRTGIZTMNZQGI
.
You are receiving this because you commented.Message ID:
@.***>

@godzfire You can also use DrumSep model with Demucs command line, you only need Python installed and then to run the command provided here: facebookresearch/demucs#422 (comment)

@jarredou Unfortunately I don't know how to use command line and do GUI.

It's probably because the GUI wasn't written with these specific instruments in mind, hence it labels them wrong. Can't tell if editing any file under: ultimatevocalremovergui/models/Demucs_Models/model_data/ would do the trick, but that's possibly the place to look for some config editing, if you don't see a pattern in other yaml files in v3_v4 folder of what can be wrong, and what the file yaml file I posted is missing in its content to label the stems correctly. That's more an issue for https://github.com/Anjok07/ultimatevocalremovergui/tree/master repo sob., 14 paź 2023 o 23:24 godzfire @.***> napisał(a):
@deton24 I compared the yaml files with other ones and there's no instrument information inside them, so it's not that.  I know it's housed somewhere linked to what demuc model is selected because I auto downloaded htdemucs_6s and that one worked just fine.

@deton24 From what I can tell, yes, the drumsep does at least seem to run okay from the tests I've done.
For the record, the label issue appears to be UVR specific: https://github.com/Anjok07/ultimatevocalremovergui/issues/915#issuecomment-1771187699

If anyone wants a full copy of the modelo_final.tn file, someone uploaded it here:
https://drive.google.com/file/d/1mbhHbP47fWXC4gnqAJVCezgxmh-h5uVr/view

https://docs.google.com/document/d/17fjNvJzj8ZGSer7c7OFe_CNfUKbAxEh_OBv94ZdRG5c/edit#heading=h.2u19k7ty9b00
Works with UVR. Colab attached.
Better SDR than the original Drumsep. Expanded dataset and better model architecture.
Still, I'd recommend using only on (e.g. separated) drums


ImageNet result

I noticed your imagenet result is 62.2% (top1), can you share your training log for me or more detail training setting?

@gngdb do you have training logs to share?

@jaxony Thanks, Do you know how to replicate the paper result about 1x with group 3  in Pytroch.

@gngdb Did you use the linear learning rate decay as indicated in the paper? PyTorch does not have an implementation of that learning rate decay.
BTW, you also need to train for 256 epochs to match the 3e5 iterations in the paper.

@bowenc0221
for param_group in optimizer.param_groups:
new_lr = args.lr - (float(minibatch_index)*args.lr)/3e5
param_group['lr'] = new_lr

Yes, it is a linear learning rate decay; the comment in this function is just wrong: https://github.com/gngdb/ShuffleNet/blob/master/imagenet/train.py#L297-L301

Hi!
I am having trouble using imagenet weights from this repository. They don't work properly with default preprocessing from pytorch imagenet example, the validation accuracy is around 20%. By trial and error, I found out what it gets better if I reverse channel order and map pixel values into [-1,1] instead of normalization. Apparently, it is caused by the sequential-imagenet-loader which uses OpenCV instead of PIL and maps the pixel values like this:
https://github.com/BayesWatch/sequential-imagenet-dataloader/blob/8b624b345858289a0829e00e4a863b6f1a093818/imagenet_seq/data.py#L197
However, even after I account for these problems I get only 58.8% instead of 62.2% as reported in the readme. Am I still missing something?

That's odd. Sorry, I don't have much time to look into it at the moment. What code are you using to test the accuracy? Could be something small, like the network being in train rather than eval mode?

@vadim-v-lebedev

batchsize 1024.
How many epoch did you train？if you use linear decay learning rate，at the last 3e5 iterations can get better result.
3."use slightly less aggressive scale augmentation for data preprocessing" as paper said which is useful for small network，such as change default crop_area_fraction 0.08-1.0 to 0.5-1.0

@gngdb
No, the mode is set correctly. I was using the preprocessing from pytorch imagenet example to test the accuracy
https://github.com/pytorch/examples/blob/master/imagenet/main.py#L160

Sorry, don't know what could have gone wrong in that case. I'll get back to you if I find a moment to check.

Maybe the interpolation method is different or cropping behaves differently in some cases, the difference is not too big. Some clarification on the preprocessing method should be added to the readme though, right now it only mentions pytorch imagenet example.

I've trained imagenet for 3 times using this implement, following is my experiment settings and final result:

I want to know how long your first setting cost? I trained with 4 gpu 1080ti but I took 3 epochs for about 15 hours.


Fix Travis-CI configuration

Use the xvfb-run command to run the bundle exec rake script directly, rather than trying to start the Xvfb server on an explicit $DISPLAY, which was failing under Travis-CI.
Update to use a recent Ubuntu 18.04 distribution (bionic).
Fix other warnings from Travis-CI (such as missing os: linux and also sudo: attribute being deprecated now.)
Tested on my fork (this Travis-CI build also includes PR #310)

I guess I forgot to mention explicitly... But after this is merged, you need to go to Travis-CI, log in with your GitHub and enable it for this project. Should be really easy to do, and considering a Travis-CI config was previously present, I imagine you know how this works already... Let me know if you need any help with that though!

@filbranden this is super helpful, thanks!
Thanks for taking the time to do this, really.
If you feel like contributing to this project, your help would be welcome 😃
Cheers,
Antoine


AIP-121: require GET and LIST

AIP-121 states:

A resource must support at minimum Get: clients must be able to validate the state of resources after performing a mutation such as Create, Update, or Delete.

A resource must also support List, except for singleton resources where more than one resource is not possible.

I took a brief look at this one, and it's a bit tricky with the  current architecture. Some notes:

the current method of binding the method to the resource is to retrieve the output type from the RPC itself. I wanted to bind this linter check to the message, but you can't easily look up the RPCs attached to it.
I was thinking of just traversing the file, but that's also difficult because the file doesn't necessarily contain the RPCs that depend on it (it's common to have message declarations separate from service definitions).

some more notes:

we could look at the service, and RPCs defined in the same package.
there are files that contain resources that are defined in the same proto file that are used by different services.
Service -> defined all RPCs, can use those to figure that.

look for Get / List for those.
collect all RPCs

look at all return types? beyond standard method.

what is the value of a resource with only custom methods?
cloud build trigger could just have :trigger but must be gettable.

more feedback: start with get, add list later (prevent false positives, especially while singletons are allowed).

@toumorokoshi did you want to include this in CS-2312 since we skipped it in CS-2306?

The major issue with linting for LIST is Singleton resources. Until we have a way to determine which are singletons and which are not, we can't enforce it.
Maybe a good use case for google.api.resource?

A heuristic for identifying a singleton is if the resource pattern(s) end in a static segment (not an ID segment) e.g. instances/{instance}/settings where /settings being a static segment indicates it is a singleton.
I think this is pretty reliable.

you're right, that could work. I guess there's no harm in adding a linter rule that checks for List except for resources with that heuristic.
Also we may want to consider putting this one in Cloud: I think all resources benefit, but the absolute need for List seems like a cloud-specific need.

@toumorokoshi I'm not sure how we make this rule only for cloud without also making a Cloud Specific AIP. Since the Rule will be mapped to the AIP number 121, that influences the name construction, and thus the rule documentation routing, configuration, etc.
If we want this guidance to only apply to Cloud, then I think we need to break out into its own AIP, also modifying the existing AIP-121 guidance to only require Get.
Can you explain why list is only important to Cloud? Thanks

Can you explain why list is only important to Cloud? Thanks

I guess it's not just important to Cloud - from a usability standpoint any resource should be Listable or Gettable. We've already established that a Listable resource that is not Gettable forces the user to use filter to retrieve even a single resource, which is undesirable.
I'm fine with adding it as a rule.

Cool sounds good. We can come back to this if we get negative reports. Thanks!


Filter widget should highlight targeted widgets on hover

With filters widget targeting a set of values for a specific field, some widget can't be affected by the filter. If the widget comes from a dataset that does not have a column by the same name as the filter, or if it is set in the immune_to_filter setting.
Highlighting which widgets are affected would bring some clarity.

https://github.com/airbnb/caravel/pull/1439


geocode stack adjustments for a gzipped-json burst db

This PR has a few changes that came up while testing out the COMPASS wrapper workflow https://github.com/opera-adt/sweets
The main changes are to allow a format of the burst db that's a simple JSON file instead of a sqlite database. Since it takes <1sec to load 1M rows into memory, there's little noticeable difference in the s1_geocode_stack runtime. The nice part is the DB is only ~15 MB when it's a gzipped JSON file.
Something that should be sorted out before this is merged is the burst_db repo, where this was implemented https://github.com/opera-adt/burst_db/compare/main...scottstanie:burst_db:test-json-gz
But really we can store the v1 version of the DB somewhere easy to download because it's so small.

Also allows us to point to either a list of pre-unzipped .SAFE directories, as well as .zip files.

Also, if it's helpful to separate discussion between adding the ability to run on .SAFE files and using a .json.gz format, I can close this PR and break them out.

Breaking those discussions in two separate PRs would be extremely helpful (more work on you though, :( )

Closing in favor of separate incoming PRs


textslider() is broken

Hello,
My dad is trying to run the robot arm example here and runs into this error:
ulia> include("/home/jeff/Desktop/robotarm.jl")
ERROR: LoadError: MethodError: Cannot `convert` an object of type FreeTypeAbstraction.FTFont to an object of type Ptr{FreeType.LibFreeType.FT_FaceRec_}
Closest candidates are:
  convert(::Type{Ptr{T}}, ::Union{Int64, UInt64}) where T at pointer.jl:26
  convert(::Type{Ptr{T}}, ::Ptr{T}) where T at pointer.jl:29
  convert(::Type{Ptr{T}}, ::Ptr) where T at pointer.jl:30
  ...
Stacktrace:
 [1] setindex!(::Array{Ptr{FreeType.LibFreeType.FT_FaceRec_},1}, ::FreeTypeAbstraction.FTFont, ::Int64) at ./array.jl:826
 [2] copyto! at ./multidimensional.jl:962 [inlined]
 [3] Array{Ptr{FreeType.LibFreeType.FT_FaceRec_},1}(::Array{FreeTypeAbstraction.FTFont,1}) at ./array.jl:541
 [4] convert(::Type{Array{Ptr{FreeType.LibFreeType.FT_FaceRec_},1}}, ::Array{FreeTypeAbstraction.FTFont,1}) at ./array.jl:533
 [5] get!(::AbstractPlotting.var"#236#237"{AbstractPlotting.Key{:font},String}, ::Dict{String,Array{Ptr{FreeType.LibFreeType.FT_FaceRec_},1}}, ::String) at ./dict.jl:452
 [6] convert_attribute(::String, ::AbstractPlotting.Key{:font}) at /home/jeff/.julia/packages/AbstractPlotting/B5nOF/src/conversions.jl:540
 [7] get_attribute at /home/jeff/.julia/packages/AbstractPlotting/B5nOF/src/conversions.jl:4 [inlined]
 [8] boundingbox(::Text{...}, ::String) at /home/jeff/.julia/packages/AbstractPlotting/B5nOF/src/layouting/boundingbox.jl:87
 [9] boundingbox(::Text{...}) at /home/jeff/.julia/packages/AbstractPlotting/B5nOF/src/layouting/boundingbox.jl:97
 [10] textslider(::StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}, ::String, ::Scene; start::Float32, textalign::Tuple{Symbol,Symbol}, textpos::Tuple{Int64,Int64}, textcolor::Symbol, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /home/jeff/.julia/packages/AbstractPlotting/B5nOF/src/interaction/gui.jl:295
 [11] top-level scope at /home/jeff/Desktop/robotarm.jl:82
 [12] include(::String) at ./client.jl:439
 [13] top-level scope at REPL[1]:1
in expression starting at /home/jeff/Desktop/robotarm.jl:81

I am unable to replicate this on my system, but I have narrowed it down to the issue that textslider itself is not working on his system (the example on that page throws the same error). Any ideas as to why this is not working?

This  must be some version missmatch...Make sure you have the newest version of FreeTypeAbstraction and AbstractPlotting installed (AbstractPlotting at least 0.9.27)!

Thanks for the suggestion- I ended up testing a generic 3D surface plot and that also did not work. So, I wiped Julia from his system as well as the cache in .julia and reinstalled everything and it's all working now.


Cant able to Coustomize labels like HEX ,RGB?

like we cant able to customize the labels that we are used like Hex , RGB, like if i want it above the input or below or Customize its styling like putting it bold etc

@Support-Biztecno additional style options are on the roadmap

@Support-Biztecno starting with v2.3.1 you can customize the input label by targeting the class "rbgcp-input-label"
for example add to your style sheet
.rbgcp-input-label {
font-weight: 800;
color: pink
}


Ultimate vm

Plugin compilation error fix.

I've submitted a PR removing the previously denied "plugin-inside-a-plugin" code from this plugin https://github.com/rtaylor4444/UltimateVolcanicMine/pull/31


Add APP_NAME variable to more easily customize script output

Great script, in fact I have the need to use it for multiple processes on the same system so I'd like to easily customize the output a bit. Thought others might find this useful too.
Thanks for the awesome tool!

Merged. Thanks for the contribution.

My pleasure, I actually have some more tweaks for my uses. Not sure if you prefer discussion first or just open the pull request... for now I'll submit a request but no worries if you don't think it's needed in the main branch.

go for it.


feat: update startparam

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


Rashuai/onnx test reduce mem

Why it can reduce memory usage?

Why it can reduce memory usage?

Every test case loads two vectors - one for input data, the other for output.
Mem cost is much bigger if we allow test cases to coexist in a vector than create-test-destory on each.

Every test case loads two vectors - one for input data, the other for output.

If you mean the input/output tensors, they should be freed inside each run call.

Every test case loads two vectors - one for input data, the other for output.

If you mean the input/output tensors, they should be freed inside each run call.

No - I mean data owned by each OnnxTestCase.

Every test case loads two vectors - one for input data, the other for output.

If you mean the input/output tensors, they should be freed inside each run call.

No - I mean data owned by each OnnxTestCase.

Previously we load all test cases, do test on each of them, and release all at once when test done.
Turns out x86 onnx_test_runner cannot hold such a long test case array in mem - bad_allocation exception break test every time.
So now we switch to a more economic approach - test each case rightly after creation and release it immediately when done, only after that another test case will be created ...

Then it should be relative small. Each of the object should only have a few KBs, and we only have 300-400 test models(except the ONNX node tests).
If  ONNX node tests is a concern, I'm considering moving these tests into python.

Then it should be relative small. Each of the object should only have a few KBs, and we only have 300-400 test models(except the ONNX node tests).
If ONNX node tests is a concern, I'm considering moving these tests into python.

Appreciate that thanks!
Observation proves that the impact of this change is not insignificant - more test cases would be re-enabled for sure. Otherwise they keeps failing - to double confirm, you could try local run of each of those failed models by a 32 bit onnx_test_runner.exe.
e.g. onnx_test_runner -n  /path_to_your_models.
You will see bad_allocation.

Thanks. Let me try it first.

One suggestion: for the type mismatch errors, likely most of them are ONNX bugs. So, if we can get them fixed before ONNX 1.5 is released, that would be better.

@snn did you get a chance to try as per your comment above?


Person query can be slow and is not preaggregated

    SELECT
        p.id,
        LOWER(IFNULL(IFNULL(IFNULL(p.name, p.mtgo_username), p.mtggoldfish_username), p.tappedout_username)) AS name,
        p.mtgo_username,
        p.tappedout_username,
        p.mtggoldfish_username,
        p.discord_id,
        p.elo,
        num_decks,
        wins,
        losses,
        draws,
        perfect_runs,
        tournament_wins,
        tournament_top8s,
        win_percent,
        num_competitions
    FROM
        person AS p
    LEFT JOIN
        (
            SELECT
                d.person_id,
                COUNT(d.id) AS num_decks,
                SUM(wins) AS wins,
                SUM(losses) AS losses,
                SUM(draws) AS draws,
                SUM(CASE WHEN wins >= 5 AND losses = 0 AND d.source_id IN (SELECT id FROM source WHERE name = 'League') THEN 1 ELSE 0 END) AS perfect_runs,
                SUM(CASE WHEN d.finish = 1 THEN 1 ELSE 0 END) AS tournament_wins,
                SUM(CASE WHEN d.finish <= 8 THEN 1 ELSE 0 END) AS tournament_top8s,
                IFNULL(ROUND((SUM(wins) / NULLIF(SUM(wins + losses), 0)) * 100, 1), '') AS win_percent,
                SUM(DISTINCT CASE WHEN d.competition_id IS NOT NULL THEN 1 ELSE 0 END) AS num_competitions
            FROM
                deck AS d
            LEFT JOIN
                deck_cache AS dc ON d.id = dc.deck_id

    LEFT JOIN
        (
            SELECT
                `start`.id,
                `start`.code,
                `start`.start_date AS start_date,
                `end`.start_date AS end_date
            FROM
                season AS `start`
            LEFT JOIN
                season AS `end` ON `end`.id = `start`.id + 1
        ) AS season ON season.start_date <= d.created_date AND (season.end_date IS NULL OR season.end_date > d.created_date)

            WHERE
                season.id = 2
            GROUP BY
                d.person_id
        ) AS stats ON p.id = stats.person_id
    WHERE
        p.id = 0 OR p.mtgo_username = 'yandrak13' OR p.discord_id = 0
    GROUP BY
        p.id
    ORDER BY
        `num_decks` DESC, name

This mostly takes about 30ms but does show up in slow query reports. Not sure if optimization will help here or if it's a consequence of locking issues/other db activity. Opening a ticket for now to observe.

An option here is to denormalize the stats to a person_cache or similar as we do with deck_cache. It would be another thing to update when a match is changed (we already update deck_cache).
Alternatively this could be fully preaggregated as _person and lag reality like archetype stats and cards stats and other things currently do (and may forever?)
It feels weird to be optimizing something that takes 20-30ms on local but it shows up fairly often with 10s as the query perf threshold:

I might drop the threshold to 5s or less and see if it becomes much more frequent.

Checking for queries over 1s this is one of the four frequent offenders so looks like it does need to be either optimized or preaggregated.

EXPLAIN +------+--------------+------------+--------+----------------------------------+---------+---------+---------------+-------+----------------------------------------------+
| id   | select_type  | table      | type   | possible_keys                    | key     | key_len | ref           | rows  | Extra                                        |
+------+--------------+------------+--------+----------------------------------+---------+---------+---------------+-------+----------------------------------------------+
|    1 | PRIMARY      | p          | index  | PRIMARY,mtgo_username,discord_id | PRIMARY | 4       | NULL          |  2645 | Using where; Using temporary; Using filesort |
|    1 | PRIMARY      | <derived2> | ref    | key0                             | key0    | 5       | decksite.p.id |    10 |                                              |
|    2 | DERIVED      | start      | const  | PRIMARY                          | PRIMARY | 4       | const         |     1 |                                              |
|    2 | DERIVED      | end        | const  | PRIMARY                          | PRIMARY | 4       | const         |     1 |                                              |
|    2 | DERIVED      | d          | ALL    | NULL                             | NULL    | NULL    | NULL          | 24687 | Using where; Using filesort                  |
|    2 | DERIVED      | dc         | eq_ref | deck_id                          | deck_id | 4       | decksite.d.id |     1 |                                              |
|    3 | MATERIALIZED | source     | const  | name                             | name    | 203     | const         |     1 | Using index                                  |
+------+--------------+------------+--------+----------------------------------+---------+---------+---------------+-------+----------------------------------------------+

discord_id should be a long.

I'm changing discord_id to be a BIGINT in 45.sql.
I'll keep this open because I doubt that's sufficient to clear this up but maybe.

load_person tries to be friendly by letting you pass a discord_id, an mtgo_username or a person_id. Because mtgo_usernames can be numbers this is ambiguous. And it's ambiguous at source in the url. There can in fact even be conflicts and one is coming up for mtgo_username=4423.
mysql> SELECT mtgo_username FROM person WHERE LENGTH(CAST(mtgo_username AS SIGNED)) = LENGTH(mtgo_username);
+---------------+
| mtgo_username |
+---------------+
| 3844          |
| 4423          |
| 4643893       |
| 49547681      |
| r             |
+---------------+
5 rows in set, 2312 warnings (0.00 sec)

https://pennydreadfulmagic.com/seasons/all/people/3844/
https://pennydreadfulmagic.com/seasons/all/people/4423/
In such a case the code currently loads the person with that id. So when we reach our 3844th user (not far away - we're on 2779) the "vanity" urls above will stop working, and the pdm bot command for these people's pages too.
We should probably make load_person insist on knowing what kind of identifier you have passed in to make the query more efficient.

The fundamental issue for cleaning up the WHERE clause is that /people/4423/ is inherently ambiguous and we need to look into the db to know (a) do we have a person with id=4423 and (b) do we have a person with mtgo_username='4423'. I wonder if we should just introduce a convention for fully-numeric mtgo usernames so that their vanity url is not /people/4423/ but instead /people/_4423/ or similar. The bot can cope with this with a little extra logic and it's the only place apart from human typing that generates a vanity url anyway. Underscore won't work because that's an allowed character in an mtgo username.
Safe, non-alphanumeric characters that are not reserved or have a special meaning in a URL but do not require encoding: $-_.+!*'(),,

I guess in the initial case I'm going to screw the four people with numeric usernames by just having their vanity URL cease to function:
| 3844          |
| 4423          |
| 4643893       |
| 49547681      |

adding in an alternate vanity URL can wait.

This same issue also exists with archetypes but Lord I hope there's never an archetype name that's just an integer.

Alternatively make the normal by-id URL into /people/id/nnnn and leave the vanity URLs as /people/username?

Unless we ever have a player with the mtgo username 'id', I guess?

Even then the trailing part would make it unambiguous. That does seem better.

@silasary another issue here is the API thinks it can load via discord_id OR mtgo_username.
It's not possible to be totally unambiguous here. How do you feel about changing the API to have more than two endpoints for each of the currently existing three person-endpoints depending on whether you want to send a Discord snowflake or a Magic Online username?
See https://discordapp.com/developers/docs/reference to understand the next part if you're not already familiar with snowflakes.
Right now the lowest snowflake we have is<PHONE_NUMBER>6057088 (Dec 2015 as it happens) and the highest username is 49547681 but anything up to<PHONE_NUMBER>9999999999 (max 20 chars) is a legal MTGO username. Possibly we could bit shift the provided number to lop off the rightmost 21 binary digits and then consider the value a discord_id iff the remaining number is >= 0 and <= number of ms since Jan 1 2015 ("Discord epoch"). This would make the range of conflicting numbers an ever-growing set starting at 2097152 (1ms past Jan 1 2015, 7 digits) and ending at<PHONE_NUMBER>2000000 (approximately the end of 2019, 17 digits). We could make some assumptions about how soon after Discord epoch the first ever id was and reduce this range considerably. For example treating Feb 1 as the first practical date increases the lower end to<PHONE_NUMBER>800000 meaning only some 16 and 17 digit mtgo usernames would conflict.

I have glorious-kluge'd this with the new load_person_by_discord_id_or_mtgo_username in 98e8402e which should make all WHERE clauses now use a single index to find what they are looking for.
def load_person_by_discord_id_or_mtgo_username(person: str) -> Person:
    # It would probably be better if this method did not exist but for now it's required by the API.
    # The problem is that Magic Online usernames can be integers so we cannot be completely unambiguous here.
    # We can make a really good guess, though.
    # See https://discordapp.com/developers/docs/reference#snowflakes
    # Unix timestamp (ms) for 2015-01-01T00:00:00.0000    =<PHONE_NUMBER>000
    # Unix timestamp (ms) for 2015-01-01T00:00:00.0001    =<PHONE_NUMBER>001
    # Unix timestamp (ms) for 2015-02-01T00:00:00.0000    =<PHONE_NUMBER>000
    # Unix timestamp (ms) for 2100-01-01T00:00:00.0000    =<PHONE_NUMBER>000
    # Discord timestamp (ms) for 2015-01-01T00:00:00.0000 =                   0
    # Discord timestamp (ms) for 2015-01-01T00:00:00.0001 =                   1
    # Discord timestamp (ms) for 2015-02-01T00:00:00.0000 =<PHONE_NUMBER>
    # Min Discord snowflake for 2015-01-01T00:00:00.0000  =                   0 (<PHONE_NUMBER>0000000000000 in binary)
    # Min Discord snowflake for 2015-01-01T00:00:00.0001  =             4194304 (<PHONE_NUMBER>0000000000000 in binary)
    # Min Discord snowflake for 2015-02-01T00:00:00.0000  =<PHONE_NUMBER>3600000 (<PHONE_NUMBER>10010100100100000000000000000000000000000000 in binary)
    # Min Discord snowflake for 2100-01-01T00:00:00.0000  =<PHONE_NUMBER>708800000<PHONE_NUMBER>10001001111110010010100000000000000000000000000000000 in binary)
    # Discord snowflakes created between 2015-01-01T00:00:00.001Z and 2100-01-01T00:00:00.000Z will therefore fall in the range 2097152-5625346837708800000 if created before the year 2100.
    # We use 2015-02-01T00:00:00.000Z<PHONE_NUMBER>3600000) as the start of the range instead because it greatly reduces the range and we have seen no evidence of Discord snowflakes from before December 28th 2015.
    # This function will fail or (very unlikely) return incorrect results if we ever have a player with a Magic Online username that falls numerically between MIN_DISCORD_ID and MAX_DISCORD_ID.
    MIN_DISCORD_ID =<PHONE_NUMBER>3600000
    MAX_DISCORD_ID =<PHONE_NUMBER>708800000
    if person.isdigit() and int(person) >= MIN_DISCORD_ID and int(person) <= MAX_DISCORD_ID:
        return load_person_by_discord_id(person)
    return load_person_by_mtgo_username(person)

We can change the API code if we prefer not to do this madness :D

This query shows up as having taken >100s six times in June so far out of maybe 215 such reports. Looking at only >100s only shows us what happens when things were going catastrophically wrong, though. We’ll need to drop the threshold to report on whether this is one of our slower queries under normal operation still.

Dropped slow_query on prod to 10s. Let’s see.

There were no cases of this query being slow from Jun 23-Aug 1 (not sure when I put the threshold back up, however).
However it's a consistent offender at >100s (!) in late August, in September and in October so far. Not sure what to make of that.

The query below takes 0.00s on local but nearly 1s on prod. I wonder what that means.
SELECT
        p.id,
        LOWER(IFNULL(IFNULL(IFNULL(p.name, p.mtgo_username), p.mtggoldfish_username), p.tappedout_username)) AS name,
        p.mtgo_username,
        p.tappedout_username,
        p.mtggoldfish_username,
        p.discord_id,
        p.elo,
        num_decks,
        wins,
        losses,
        draws,
        perfect_runs,
        tournament_wins,
        tournament_top8s,
        win_percent,
        num_competitions
    FROM
        person AS p
    LEFT JOIN
        (
            SELECT
                d.person_id,
                COUNT(d.id) AS num_decks,
                SUM(wins) AS wins,
                SUM(losses) AS losses,
                SUM(draws) AS draws,
                SUM(CASE WHEN wins >= 5 AND losses = 0 AND d.source_id IN (SELECT id FROM source WHERE name = 'League') THEN 1 ELSE 0 END) AS perfect_runs,
                SUM(CASE WHEN d.finish = 1 THEN 1 ELSE 0 END) AS tournament_wins,
                SUM(CASE WHEN d.finish <= 8 THEN 1 ELSE 0 END) AS tournament_top8s,
                IFNULL(ROUND((SUM(wins) / NULLIF(SUM(wins + losses), 0)) * 100, 1), '') AS win_percent,
                SUM(DISTINCT CASE WHEN d.competition_id IS NOT NULL THEN 1 ELSE 0 END) AS num_competitions
            FROM
                deck AS d
            LEFT JOIN
                deck_cache AS dc ON d.id = dc.deck_id

    LEFT JOIN
        (
            SELECT
                `start`.id,
                `start`.code,
                `start`.start_date AS start_date,
                `end`.start_date AS end_date
            FROM
                season AS `start`
            LEFT JOIN
                season AS `end` ON `end`.id = `start`.id + 1
        ) AS season ON season.start_date <= d.created_date AND (season.end_date IS NULL OR season.end_date > d.created_date)

            WHERE
                TRUE
            GROUP BY
                d.person_id
        ) AS stats ON p.id = stats.person_id
    WHERE
        p.mtgo_username = 'draconeous'
    GROUP BY
        p.id
    ORDER BY
        `num_decks` DESC, name

EXPLAIN local:
+------+-----------------+------------+--------+---------------+---------------+---------+---------------+------+-------------+
| id   | select_type     | table      | type   | possible_keys | key           | key_len | ref           | rows | Extra       |
+------+-----------------+------------+--------+---------------+---------------+---------+---------------+------+-------------+
|    1 | PRIMARY         | p          | const  | mtgo_username | mtgo_username | 203     | const         | 1    |             |
|    1 | PRIMARY         | <derived2> | ref    | key0          | key0          | 5       | const         | 0    |             |
|    2 | LATERAL DERIVED | d          | ref    | person_id     | person_id     | 4       | const         | 7    |             |
|    2 | LATERAL DERIVED | dc         | eq_ref | deck_id       | deck_id       | 4       | decksite.d.id | 1    |             |
|    2 | LATERAL DERIVED | start      | ALL    | NULL          | NULL          | NULL    | NULL          | 12   | Using where |
|    2 | LATERAL DERIVED | end        | eq_ref | PRIMARY       | PRIMARY       | 4       | func          | 1    | Using where |
|    3 | MATERIALIZED    | source     | const  | name          | name          | 203     | const         | 1    | Using index |
+------+-----------------+------------+--------+---------------+---------------+---------+---------------+------+-------------+
7 rows in set (0.01 sec)

EXPLAIN prod:
+------+--------------+------------+--------+---------------+---------------+---------+---------------+-------+----------------+
| id   | select_type  | table      | type   | possible_keys | key           | key_len | ref           | rows  | Extra          |
+------+--------------+------------+--------+---------------+---------------+---------+---------------+-------+----------------+
|    1 | PRIMARY      | p          | const  | mtgo_username | mtgo_username | 203     | const         |     1 |                |
|    1 | PRIMARY      | <derived2> | ref    | key0          | key0          | 5       | const         |    10 |                |
|    2 | DERIVED      | d          | ALL    | NULL          | NULL          | NULL    | NULL          | 45713 | Using filesort |
|    2 | DERIVED      | dc         | eq_ref | deck_id       | deck_id       | 4       | decksite.d.id |     1 |                |
|    2 | DERIVED      | start      | ALL    | NULL          | NULL          | NULL    | NULL          |    12 | Using where    |
|    2 | DERIVED      | end        | eq_ref | PRIMARY       | PRIMARY       | 4       | func          |     1 | Using where    |
|    3 | MATERIALIZED | source     | const  | name          | name          | 203     | const         |     1 | Using index    |
+------+--------------+------------+--------+---------------+---------------+---------+---------------+-------+----------------+
7 rows in set (0.01 sec)

Versions differ slightly. 10.4.6-MariaDB on local, 10.2.16-MariaDB on prod.

CREATE TABLE is exactly identical for deck on prod and local.
I ran ANALYZE TABLE deck and ANALYZE TABLE person and now local behaves as badly as prod and has the same EXPLAIN output. WTF!

Funnily enough if I use a WHERE clause of p.id = 2525 instead of p.mtgo_username = 'draconeous' then I get the same EXPLAIN on local as on prod.

This leads to the absurd situation where replacing the WHERE clause p.id = 2525 with p.mtgo_username = (SELECT mtgo_username FROM person WHERE id = 2525) makes things massively faster. But only on local, prod remains stubbornly slow with any version.

Converting the subquery to a JOIN makes things faster at the expense of not returning an "empty" row when the person has no decks (for that season).
Omitting the season join when selecting everything (WHERE TRUE) gives a 1s => 0.3s speedup on prod.

Measuring this is really difficult. I'm getting variability from 0.45s -> 5s for the same query run a few seconds later. On local I get very repeatable results but everything is fast there!

OK I think the only thing I can do is optimize the p.id = ? query on local and then ship that to prod and hope it helps.
 This means we need to make another very inexpensive query to make sure we have the people without decks as well as those with.
Removing the season join gives a 3x speedup when selecting everything.
Denormalizing season_id onto deck_cache doesn't seem to help compared to the season join which surprises me.

So I'm going to elide the season join when season_id is None, and do the subquery removal. Looking at git log I can see the subquery was introduced solely to make people without decks show up in the resultset. We can do that faster with a little more code/a super cheap query.

d01c30d3.


Apply new macOS install script changes to Linux install script

Description
Apply new macOS install script UX changes to Linux install script
Reference
https://github.com/galaxypi/galaxy/issues/18
Tasks

[x] Apply changes
[x] Test

Reopening issue... cc @vsund

@vsund here's the link to the macOS install.. Let me know if you need anything further.. Thank you sir. 👍 https://github.com/galaxypi/galaxy/issues/18#issuecomment-416773150


Support Dropbox APIv2

Dropbox has deprecated their APIv1 and we need to ensure everything works with the new one.
See https://blogs.dropbox.com/developers/2016/06/api-v1-deprecated/

We're currently dropbox-sdk, and from the looks of it, there is no plan for it to be updated to support v2. See https://github.com/dropbox/dropbox-sdk-ruby/issues/41

The v1 APIs are now retired; see: https://www.dropbox.com/developers/reference/migration-guide h/t @mjgiarlo


⚠ PrivateHD has degraded performance

In 318b512, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2904 ms

Resolved: PrivateHD performance has improved in 96af54b.


Add metamask support to cosmoskit

Add metamask support to cosmoskit using using this code

This is great. Let me know if you need any help!

#216

I tried rebasing & testing the changes from #216. I could connect my metamask wallet in console, but could not create a deployment. I raised an issue in cosmoskit with the problem I faced: https://github.com/cosmology-tech/cosmos-kit/issues/470. Does it work on your side @schnetzlerjoe ?

MetaMask fully working with Akash Console:
Here's a video showing how to create a deployment: Open Lease/Use Akash with MetaMask
Here's a video showing how to view your leases and notifications directly in the extension: View Leases/Notifications in Extension

#334


Fix failure to load inifile causing Puppet agent to fail.

If the inifile gem isn't installed on the node we get the following error from Puppet agent:

Error: Could not autoload puppet/provider/x509_cert/openssl: cannot load such file -- inifile
Error: Could not autoload puppet/type/x509_cert: Could not autoload puppet/provider/x509_cert/openssl: cannot load such file -- inifile
Error: Failed to apply catalog: Could not autoload puppet/type/x509_cert: Could not autoload puppet/provider/x509_cert/openssl: cannot load such file -- inifile

This happens so early in the process that we can't use Puppet to install the required gem.
This patch changes the code so that the inifile gem isn't loaded until it is actually needed. This has two benefits:

If the code that requires the inifile gem isn't actually used in this deployment, we don't need to install it.
If we need the inifile gem, we can install it through Puppet with the puppet_gem provider.

(Note that installing the inifile gem through Puppet won't fix the failure on the first Puppet run, but subsequent runs (after the Gem is installed) will work.)

Hello,
Without this gem, we can't really use this module.
This isn't a puppet module "requirements", so we can't put that in the requirements file.
What it the good way ? adding an ensure_package for inifile using the puppet_gem provider ?
Regards
Olivier

@olivierHa: For my usecase I did not really need the the inifile gem, but after I made this patch I made a simple test and verified that I could install it using the puppet_gem provider, and that I was then able to apply a resource requiring it on the next Puppet run.
I didn't test using ensure_packages(), but I guess something like ensure_packages('inifile', { provider => 'puppet_gem' }) should work. It isn't really a perfect solution, but at least I think it is better than it was.
Note that the puppet_gem package provider is a Puppet 4 feature. If you are using an older version of Puppet, you will probably need to install it using a different provider.

Hi,
Using puppet 3.8.6 and ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] on Centos 6.7.
On client :
I installed inifile gem : gem install inifile
Then got this error :
 Error: Could not run Puppet configuration client: /usr/lib/ruby/gems/1.8/gems/inifile-3.0.0/lib/inifile.rb:558: undefined (?...) sequence: /\A"(.*)(?<!\\)"\z/
Error: Could not run: can't convert Puppet::Util::Log into Integer
The solution is to uninstall inifile (version >= 3) and install inifile version 2.0.2 and it will work.
gem uninstall inifile
gem install inifile -v 2.0.2
Hope it will help.
Regards,
Mikael


Use https link in realname + avoid abreviating bot nick

Changes proposed

Use https link in bots real name field (its supported and it preferred these days)
Avoid bot nick abbreviation.

Benefits include identification of bot via nick at a glance. It is also important because e.g.labeling/unlabeling (and other) events are not decoupled from the webhook and can and will spew out an impressive amount of spam on channel.
A workaround is to silence these bot events (selectively) via script which we share on our channel topic for our (less savvy) users to benefit from. However if any nicks (present of future) come into channel with not/Not on name its harder to create a matching pattern due also to the random and this can lead to false matches, non abbreviation makes this more unlikely and easier to handle.

:+1: for HTTPS, :-1: for the nick format change. You may as well ignore the Notifico IP.

The random nickname was intentional as people were just mass registering the names and getting the bots kicked off to guest names. and the shortening of the name was so it could fit on more networks iirc.

IIRC the random string part of the nick was so that bots were not kicked because nick existed... So if a nick exists now it picks a random string to add onto nick and thus joins just fine. was added in https://github.com/notifico/notifico/commit/440b525e397a544a5f551d432af415f79f0900df
That randomness string suffix has not been touched, just the nick isnt abrevviated, maybe I miss something?
imo showing the full nick+random-string would be ideal no matter what network and shouldn't affect anything.
maybe the author can give his feedback/clarify.

removed the bot nick changes, the only reason I made this PR. :-1:

It would be nicer if you could define nickname so whoever is on whateer Network can choose what that would be, but I see that has been closed #17

You can, if you host your own instance. You share these bots with others on the public instance, allowing people to fight over the nickname isn't worthwhile.

If the default would be what it is now and it was also configurable per project (which then is project responsibility to know what the network limitations are) how would this be a fight over the nick?
As is now obviously you cant do that, or maybe I dont understand this at all then!

If the default would be what it is now and it was also configurable per project (which then is project responsibility to know what the network limitations are) how would this be a fight over the nick?

Naming bots on a per project basis is very inefficient, currently one bot serves as many channels as it is allowed to do (network limit). Every nick would mean a new connection to a server, so e.g. 1 Bot handling 125 channels vs 125 Bots handling 1 channel each. I personally don't see any benefit for a configurable name, why does it matter? Especially since you cannot get rid of the random suffix, people where registering all possible botnames before.

Ah yes...


[19.03] backport wasmtime

Motivation for this change
This is a backport of 2 of @matthewbauer's wasm commits, stripped to the bare minimum so that they only just init the package.
I added myself as a "co-author" as I modified the commit slightly (removed the changes to lib/systems/default.nix for example), but credit is all his.
Things done

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

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

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

@grahamcofborg build wasmtime

Can you make it x86_64-linux only for now?

@matthewbauer how did you produce the Cargo.lock patch?

I think it just came from a successful cargo build run.


fix(docs): update links for Edit this page button

Links are corrected for the below pages under Qwik city

HTML Attributes
Validator

Overview

What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Thanks @harishkrishnan24
you can lint packages with fmt npm script 👍

Thanks @harishkrishnan24
you can lint packages with fmt npm script 👍

@gioboa sure will do from next time. As it was just small changes I directly changed it in GitHub and hence this happened. But looks like somebody merged with this lint failure 🙂


Fix local-up-cluster.sh+test-cmd.sh to have APIServer client

hack/test-cmd.sh and hack/local-up-cluster.sh panic due when no auth credentials are supplied to connect to the API server:
W0119 12:36:25.235155   17155 kubelet.go:124] No API client: stat /home/eric/go/src/github.com/EricMountain-1A/kubernetes/hack/.test-cmd-auth: no such file or directory
...
I0119 12:36:25.235712   17155 util.go:51] Recovered from panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)

Also, local-up-cluster fails to deploy pods since no client is available in this case.
Both these scripts are intended to use APIServer's localhost port 8080 access which requires no auth checks.
This patch:

Avoids nil deref in listwatch and provides an error message instead when no client is available.
--auth_path is no longer mandatory to create a client.Config.
--auth_path is no longer passed in test-cmd.sh nor local-up-cluster.sh. (It pointed at a non-existing file, hack/.test-cmd-auth.)

I think that this was resolved by https://github.com/GoogleCloudPlatform/kubernetes/commit/98bdd3f7c4adf22a1c20d290ce5fd30a11880f91  See the change in kubelet.go

@EricMountain-1A  can you verify that commit resolves the nil pointer problem you were hitting?

@deads2k, unfortunately https://github.com/GoogleCloudPlatform/kubernetes/commit/98bdd3f7c4adf22a1c20d290ce5fd30a11880f91 doesn't fix this issue: hack/.test-cmd-auth needs to be generated with appropriate user/pass/certs/... and there is currently nothing that does that for local-up-cluster.sh and test-cmd.sh.
I started having a look at how to generate the necessary data, e.g. using the salt make-cert*.sh scripts, but it seems a little more involved so I started off simply making the local case work with no-auth as described in the current docs.  I'll go on having a look at how to generate the certs, and if I do figure it out I'll submit a separate PR.  Maybe it's just a case of using the salt scripts with minor adjustments.

Old and obsolete.


Add raw nostale client

Currently there is only INostaleClient that works both with raw packets and managed deserilized packets.
There are use cases where deserialized packets are not important for us and the parsing errors, overhead is not worth it.

This could lead to splitting Core library in two and getting rid of packet dependency? Is that desired?
INostaleClient
  ReceivePacket(string)
  SendPacket(string)
  SendCommand(ICommand)

ManagedNostaleClient(INostaleClient) : INostaleClient
  SendPacket(IPacket)
  ReceivePacket(IPacket)


chore(packages): upgrade @types/react

Fixes #132

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement cfg portable_atomic_critical_section

It is really hard to keep track if critical-section should be enabled with a complex project of many different dependencies with feature flags, which all require critical-section to be added.
As such, the critical-section feature should get an alias called portable_atomic_critical_section cfg, just like how unsafe-assume-single-core feature has the alias portable_atomic_unsafe_assume_single_core cfg, to maintain feature parity.

Unfortunately, unlike Cargo features, it is not possible to enable optional dependencies using cfg.
Currently, to use a critical-section implementation, we must depend on critical-section crate; the logic for sharing a critical-section implementation in the dependency graph is not considered a stable API and is incompatible depending on which Cargo features of critical-section crate are enabled.

@taiki-e I think I've found a solution to that issue, by using
[target.'cfg(portable_atomic_critical_section)'.dependencies]

It's possible to have the dependency load upon setting a cfg flag. The seem to mostly be passing also (except for some fetch request fails, and some strange error about "${cmd}" "$@")

I've verified that this actually works (at least on newer versions of rust), is there any plan to implement this? Otherwise I'll close this pull request.

If my memory of the current Cargo limitations is correct, I think that it is better to have the critical-section crate side expose an API that can be used appropriately regardless of which Cargo features of critical-section crate are enabled.
I don't think it would be technically difficult to add it to critical-section, but unfortunately critical-section v1 supports 64-bit state even on 32-bit targets, so I don't think the critical-section maintainer would want to do that on critical-section v1 for performance reasons.


WIP: enable debug on jenkinsfile

not happening anymore so closing

hitting the same issue, so reopening to check if I can hit it with this PR

Looks unnecessary now


Better JUnit report failure message

This fixes the currently ambiguous/misleading test case failure message for relative constraints.

Codecov Report

Merging #160 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master     #160   +/-   ##
=======================================
  Coverage   68.25%   68.25%
=======================================
  Files          44       44
  Lines        4000     4000
  Branches      697      697
=======================================
  Hits         2730     2730
  Misses       1014     1014
  Partials      256      256

Impacted Files
Coverage Δ

...ns/performance/constraints/RelativeConstraint.java
51.01% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


CI / CD for demo installation

Please add an Continous Integration and a Continious Deployment to a demo server so there is an automaticly updated Demo with the latest stable version.
Please include at least one shop solution (OXID, Shopware, Magento, Prestashop, ...) to test the FULL application and not only the displaying of stuff.
Depends on #158

This issue confuses as with a checkout part. @jkrug how do you imagine which shop we should use for the example?
IMO there should be some minimal requirements:

Avoid to write module for it.
Avoid maintain the source code. We do not want to follow releases often and the try to adapt what was changed. etc

These are 2 my biggest concerns. IMO sphere.io might be a good choice as of light and quick example?
@jkrug what do you think?


Dune locked capital query wrong eth value

If there is an ongoing challenge the locked capital query https://dune.com/queries/1943563/3206487 will show wrong ETH amount  as we are fetching all claimerStakes and summing them. We should group the claims by claimer and challenger and take the last value.

The correct query for this should be:
WITH claimerStake as (
SELECT max(CAST(claimerStake as DOUBLE)) as stake, claimId
     FROM
      beamer_bridge_v1_arbitrum.RequestManager_evt_ClaimMade
    where
      requestId not in (
        SELECT
          requestId
        FROM
          beamer_bridge_v1_arbitrum.RequestManager_evt_DepositWithdrawn
      )
      AND (
        CASE
          WHEN '{{agent}}' != 'all' THEN claimer = lower('{{agent}}')
          ELSE claimer != ''
        END
      )
      GROUP BY claimId
)

SELECT SUM(stake) / 1e18 from claimerStake

The reason I didn't update the query is that we are losing the decimal precision when working with DOUBLE and this is especially visible when converting<PHONE_NUMBER>00000001 to double and we end up with:<PHONE_NUMBER>00000000
At this time I'm not sure how to deal with this, because dividing by 1e18 we end up with: 0.3165 and this basically misses 1 wei, which is not ideal.

Since we don't need precision down to the last decimal in the "Agent locked capital" query i decided to proceed with fixing the query itself.
After getting some clarification from the Dune team we can plan the next steps for tackling the precision issue.
Here is the new query:
https://dune.com/queries/2177680/3567253?agent_e15077=all
As an extra, i included DAI in it.

look good.


Order detail view sidebar is useless

Bug Report
Problematic Behavior
This sidebar has no navigation link. So it looks a bit odd.
Expected behavior/code
Maybe show the home sidebar even in the order details view.
Additional context/Screenshots

I'll add a go back link maybe 🤔
In any case, I'll use the home sidebar here. Indeed, we are displaying the product name to precise the context of the main content then if we display the home sidebar we would lose this context that is weird from my point of view.


feature: Generate error codes from source

⚠🚨 Currently based on #182, that needs to be merged before this one.
Fixes #162.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (8e2960b) to head (8063d23).

Additional details and impacted files
@@            Coverage Diff             @@
##              main      #183    +/-   ##
==========================================
  Coverage   100.00%   100.00%
==========================================
  Files           14        14
  Lines         1046       822   -224
  Branches       132       132
==========================================
- Hits          1046       822   -224

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

The packaging metadata check is bumping into this issue: https://github.com/actions/setup-python/issues/886
The other checks were luckier and reused cached Python 3.12.3.

Packaging metadata is failing due to upstream breakage in twine: https://github.com/pypa/twine/issues/977


[Bug Report] Embedding a steps component in a steps component renders incorrectly.

Element UI version
2.12.0
OS/Browsers version
Chrome 77 on Windows 7 64bit
Vue version
2.6.10
Reproduction Link
https://jsfiddle.net/udg0rha9/1/
Steps to reproduce
I'm trying to display a complex data by using steps components. Basically I want to put a steps component inside each step of the steps component. Please check out the demo in the jsfiddle link above.
What is Expected?
All parts of the steps component should show correctly.
What is actually happening?
It seems that the outer layer steps component's styles disturb the inner steps. The step lines disappear in the normal style. And some odd elements appear in the simple style.

Have any developer noticed it?

Any update on this?

A workaround would be using el-steps along with dynamic el-tabs.


:memo: remove beta from the installation process

Adding beta installs an old version of the cli
Also if you could add the hacktoberfest tag that would be appreciated 😄

Thank you for the PR 🙏
Unfortunately, I didn't see your PR in time for the hacktoberfest. I hope you were still able to complete the challenge in time!

No I didn't but it's alright I guess 😄


Support TUF repos that do not use consistent snapshots

Related to #98.
We currently enforce consistent snapshots in two ways, by:

validating that root metadata has consistent snapshots enabled (in src/Metadata/RootMetadata.php), and
throwing exceptions when consistent snapshots is not enabled (in src/Client/Updater.php)

I've started on a fix in my fork over on gitlab.

This was done in #278.

In ergonlogic/php-tuf@fc2608a7, I added a change ("Make delegations optional.") that wasn't strictly related to this issue. I'll open a new issue to address that.


No filesize for attachment

Currently generated xml:
<attachment title="Body" source="ddc48e64e3c39179c1ff400b1c5005f828b1e0d6-attachment.json" type="application/json"/>

In report all filesizes shown as 0:
<i>{{attachment.size | filesize}}</i>

I see correct file sizes of attachments in current version (1.2.1), so probably this issue can be closed safely.


refactored rooms impl

Easy impl for rooms.get and rooms.release

Closing the PR, do let me know if PR helps or if we are on the common ground in terms of understanding the spec.


A* algorithm

Is your feature request related to a problem? Please describe.
To add A* algorithm implementation in python , java and c++
Additional context
Assign me this issue so I can start working on it @Kumar-laxmi

Assigned!
@ayan-joshi : C, Python and Java
The code in C++ is already there


Project Picker Fails to Open Project on a Second Time

General Summary
Having spawned a project manager, I am able to open project only once. Any subsequent attempts fill hang up for a while and fail.
Steps to Reproduce
I am running
sbt project-manager/run

First I've opened IDE. It successfully opened proejct and connected to both sockets.
Project Picker Communication:
{"jsonrpc":"2.0","id":0,"method":"project/listRecent","params":{"numberOfProjects":1}} | 86 | 23:52:19.743
{"jsonrpc":"2.0","id":0,"result":{"projects":[{"name":"Project","id":"df7c491c-df3c-4392-b5b7-d9814d53b975","lastOpened":"2020-05-31T20:00:26.102Z"}]}} | 151 | 23:52:20.041
{"jsonrpc":"2.0","id":1,"method":"project/open","params":{"projectId":"df7c491c-df3c-4392-b5b7-d9814d53b975"}} | 110 | 23:52:20.044
{"jsonrpc":"2.0","id":1,"result":{"languageServerJsonAddress":{"host":"<IP_ADDRESS>","port":51310},"languageServerBinaryAddress":{"host":"<IP_ADDRESS>","port":50723}}} | 161 | 23:52:21.712

And language server JSON communication:
{"jsonrpc":"2.0","id":0,"result":{"contentRoots":["7a26896b-2f6f-45af-9c85-eda757b50c5e"]}} | 91 | 23:52:21.783 |
{"jsonrpc":"2.0","id":1,"method":"text/openFile","params":{"path":{"rootId":"7a26896b-2f6f-45af-9c85-eda757b50c5e","segments":["src","Main.enso"]}}} | 148 | 23:52:21.811 |
{"jsonrpc":"2.0","id":1,"result":{"writeCapability":{"method":"text/canEdit","registerOptions":{"path":{"rootId":"7a26896b-2f6f-45af-9c85-eda757b50c5e","segments":["src","Main.enso"]}}},"content":"main = \n IO.println \"Hello, World!\"","currentVersion":"f087d430610d0be2ad99c56e750a32fd78e84d4eece9dbca9f4ed8e5"}} | 317 | 23:52:21.944 |
{"jsonrpc":"2.0","id":2,"method":"executionContext/create","params":{}} | 71 | 23:52:22.054 |
{"jsonrpc":"2.0","id":3,"method":"text/applyEdit","params":{"edit":{"edits":[{"range":{"end":{"character":30,"line":1},"start":{"character":0,"line":0}},"text":"main = \n IO.println \"Hello, World!\"\n\n\n#### METADATA ####\n[[{\"index\":{\"value\":0},\"size\":{\"value\":4}},\"7ec616ea-763d-45f7-bcab-964df18a7bcb\"],[{\"index\":{\"value\":5},\"size\":{\"value\":1}},\"408a53b3-faba-47a6-b7b1-30e5d2e0fa5f\"],[{\"index\":{\"value\":12},\"size\":{\"value\":2}},\"aa4d3d7d-f290-4a80-9323-29a58171f76e\"],[{\"index\":{\"value\":14},\"size\":{\"value\":1}},\"85044544-1bb6-4876-b3e4-eb480b79986c\"],[{\"index\":{\"value\":15},\"size\":{\"value\":7}},\"5d07b402-508b-4e01-b6e5-a1afdf7baeae\"],[{\"index\":{\"value\":12},\"size\":{\"value\":10}},\"26db7a80-0bd8-4893-96dc-1b5cd4fe652d\"],[{\"index\":{\"value\":23},\"size\":{\"value\":15}},\"9b8203a7-899e-46bc-ab6e-3841c1f86f80\"],[{\"index\":{\"value\":12},\"size\":{\"value\":26}},\"30fc1a20-976a-40be-9771-c19c918c6c4b\"],[{\"index\":{\"value\":7},\"size\":{\"value\":31}},\"55cd96af-1768-4376-8259-e70c47799c45\"],[{\"index\":{\"value\":0},\"size\":{\"value\":38}},\"90a42980-b8fb-475c-a594-59f6c2fa751c\"]]\n{\"ide\":{\"node\":{}}}"}],"newVersion":"4738c79d1cc8a509ee553f2d69acf26a17820dc9f308c1a3c14736b0","oldVersion":"f087d430610d0be2ad99c56e750a32fd78e84d4eece9dbca9f4ed8e5","path":{"rootId":"7a26896b-2f6f-45af-9c85-eda757b50c5e","segments":["src","Main.enso"]}}}} | 1423 | 23:52:22.054 |
{"jsonrpc":"2.0","id":2,"result":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","canModify":{"method":"executionContext/canModify","registerOptions":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525"}},"receivesUpdates":{"method":"executionContext/receivesUpdates","registerOptions":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525"}}}} | 344 | 23:52:22.091 |
{"jsonrpc":"2.0","id":4,"method":"executionContext/push","params":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","stackItem":{"methodPointer":{"definedOnType":"Main","file":{"rootId":"7a26896b-2f6f-45af-9c85-eda757b50c5e","segments":["src","Main.enso"]},"name":"main"},"positionalArgumentsExpressions":[],"thisArgumentExpression":null,"type":"ExplicitCall"}}} | 364 | 23:52:22.095 |
{"jsonrpc":"2.0","id":3,"result":null} | 38 | 23:52:22.241 |
{"jsonrpc":"2.0","id":4,"result":null} | 38 | 23:52:23.223 |
{"jsonrpc":"2.0","method":"executionContext/expressionValuesComputed","params":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","updates":[{"id":"5d07b402-508b-4e01-b6e5-a1afdf7baeae","type":null,"shortValue":"UnresolvedSymbol<println>","methodCall":null}]}} | 261 | 23:52:23.226 |
{"jsonrpc":"2.0","method":"executionContext/expressionValuesComputed","params":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","updates":[{"id":"aa4d3d7d-f290-4a80-9323-29a58171f76e","type":"IO","shortValue":"IO","methodCall":null}]}} | 238 | 23:52:23.227 |
{"jsonrpc":"2.0","method":"executionContext/expressionValuesComputed","params":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","updates":[{"id":"9b8203a7-899e-46bc-ab6e-3841c1f86f80","type":"Text","shortValue":"Hello, World!","methodCall":null}]}} | 251 | 23:52:23.227 |
{"jsonrpc":"2.0","method":"executionContext/expressionValuesComputed","params":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","updates":[{"id":"30fc1a20-976a-40be-9771-c19c918c6c4b","type":"Unit","shortValue":"Unit","methodCall":null}]}} | 242 | 23:52:23.227 |
{"jsonrpc":"2.0","method":"executionContext/expressionValuesComputed","params":{"contextId":"b70d0056-5703-4b37-bb52-a05e7c626525","updates":[{"id":"55cd96af-1768-4376-8259-e70c47799c45","type":"Unit","shortValue":"Unit","methodCall":null}]}} | 242 | 23:52:23.227 |
{"jsonrpc":"2.0","id":5,"method":"file/exists","params":{"path":{"rootId":"7a26896b-2f6f-45af-9c85-eda757b50c5e","segments":["visualization"]}}} | 144 | 23:52:23.546 |
{"jsonrpc":"2.0","id":5,"result":{"exists":false}} | 50 | 23:52:23.7

Then I've reloaded IDE.
The project picker failed to open project. See the communication:
{"jsonrpc":"2.0","id":0,"method":"project/listRecent","params":{"numberOfProjects":1}} | 86 | 23:59:24.330
{"jsonrpc":"2.0","id":0,"result":{"projects":[{"name":"Project","id":"df7c491c-df3c-4392-b5b7-d9814d53b975","lastOpened":"2020-05-31T21:52:20.06Z"}]}} | 150 | 23:59:24.350
{"jsonrpc":"2.0","id":1,"method":"project/open","params":{"projectId":"df7c491c-df3c-4392-b5b7-d9814d53b975"}} | 110 | 23:59:24.363
{"jsonrpc":"2.0","id":1,"error":{"code":1,"message":"Service error"}} | 69 | 00:00:04.389

Engine output:
[info] running (fork) org.enso.projectmanager.boot.ProjectManager
[info] 23:51:30.474 INFO  [main           ] o.e.p.boot.ProjectManager$           Starting Project Manager...
[info] 23:51:30.915 INFO  [pool-1-thread-1] akka.event.slf4j.Slf4jLogger         Slf4jLogger started
[info] 23:51:31.940 INFO  [zio-default-async-1-897074030] o.e.p.boot.ProjectManager$           Started server at <IP_ADDRESS>:30535, press enter to kill server
[info] 23:52:19.673 INFO  [pool-1-thread-5] o.e.p.protocol.ClientController      Client connected to Project Manager [a8a471a6-3229-400c-a9fc-64964f057bb2]
[info] 23:52:20.049 DEBUG [pool-1-thread-3] o.e.p.i.log.Slf4jLogging             Opening project df7c491c-df3c-4392-b5b7-d9814d53b975
[info] 23:52:20.130 INFO  [pool-1-thread-4] o.e.p.i.l.LanguageServerBootLoader   Booting a language server [LanguageServerDescriptor(language-server-df7c491c-df3c-4392-b5b7-d9814d53b975,7a26896b-2f6f-45af-9c85-eda757b50c5e,C:\Users\mwu\enso\projects\Project,NetworkConfig(<IP_ADDRESS>,49152,65535))]
[info] 23:52:20.132 INFO  [pool-1-thread-11] o.e.p.i.l.LanguageServerBootLoader   Found sockets for the language server [json:<IP_ADDRESS>:51310, binary:<IP_ADDRESS>:50723]
[info] 23:52:20.134 INFO  [pool-1-thread-9] o.e.l.boot.LanguageServerComponent   Starting Language Server...
[info] 23:52:20.141 INFO  [pool-1-thread-14] akka.event.slf4j.Slf4jLogger         Slf4jLogger started
[info] 23:52:20.526 INFO  [pool-1-thread-2] o.e.l.runtime.RuntimeConnector       Engine connection established.
[info] 23:52:21.704 INFO  [pool-1-thread-9] o.e.l.boot.LanguageServerComponent   Started server at json:<IP_ADDRESS>:51310, binary:<IP_ADDRESS>:50723
[info] 23:52:21.704 INFO  [pool-1-thread-7] o.e.p.i.l.LanguageServerBootLoader   Language server booted [LanguageServerConfig(<IP_ADDRESS>,51310,50723,7a26896b-2f6f-45af-9c85-eda757b50c5e,C:\Users\mwu\enso\projects\Project,language-server-df7c491c-df3c-4392-b5b7-d9814d53b975,Dispatcher[akka.actor.default-dispatcher])].
[info] 23:52:21.763 INFO  [pool-1-thread-9] o.e.l.p.j.JsonConnectionController   RPC session initialized for client: 7e82b825-ce9b-4e4f-b8d4-3b3f1f2f5160
[info] 23:52:21.804 INFO  [pool-1-thread-11] o.e.l.p.b.BinaryConnectionController Data session initialized for client: 7e82b825-ce9b-4e4f-b8d4-3b3f1f2f5160 [<IP_ADDRESS>:65429]
[info] 23:52:21.822 INFO  [pool-1-thread-15] o.e.l.text.CollaborativeBuffer       Buffer opened for Path(7a26896b-2f6f-45af-9c85-eda757b50c5e,Vector(src, Main.enso)) [client:7e82b825-ce9b-4e4f-b8d4-3b3f1f2f5160]
[info] 23:59:22.750 INFO  [pool-1-thread-9] o.e.p.protocol.ClientController      Client disconnected from the Project Manager [a8a471a6-3229-400c-a9fc-64964f057bb2]
[info] 23:59:22.750 INFO  [pool-1-thread-10] o.e.l.p.b.BinaryConnectionController Connection closed [<IP_ADDRESS>:65429]
[info] 23:59:24.314 INFO  [pool-1-thread-12] o.e.p.protocol.ClientController      Client connected to Project Manager [6df50487-5f2b-4231-a35a-712fe4531f22]
[info] 23:59:24.364 DEBUG [pool-1-thread-5] o.e.p.i.log.Slf4jLogging             Opening project df7c491c-df3c-4392-b5b7-d9814d53b975
[info] 23:59:24.371 WARN  [pool-1-thread-8] o.e.p.i.l.LanguageServerController   Received unknown message: StartServer(6df50487-5f2b-4231-a35a-712fe4531f22,Project(df7c491c-df3c-4392-b5b7-d9814d53b975,Project,UserProject,2020-05-05T12:35:23.606Z,Some(2020-05-31T21:59:24.366Z),Some(C:\Users\mwu\enso\projects\Project)))
[info] 23:59:28.735 ERROR [pool-1-thread-1] o.e.p.i.l.HeartbeatSession           An error occurred during connecting to websocket Socket(<IP_ADDRESS>,51310) WARNING arguments left: 1
[info] 23:59:28.736 WARN  [pool-1-thread-1] o.e.p.i.l.HeartbeatSession           Received unknown message: Failure(java.lang.RuntimeException: Connection failed.)
[info] 23:59:28.736 INFO  [pool-1-thread-1] o.e.p.i.l.LanguageServerSupervisor   Server is unresponsive [LanguageServerConfig(<IP_ADDRESS>,51310,50723,7a26896b-2f6f-45af-9c85-eda757b50c5e,C:\Users\mwu\enso\projects\Project,language-server-df7c491c-df3c-4392-b5b7-d9814d53b975,Dispatcher[akka.actor.default-dispatcher])]. Restarting it...
[info] 23:59:28.736 INFO  [pool-1-thread-1] o.e.p.i.l.LanguageServerSupervisor   Restarting first time the server
[info] [WARN] [05/31/2020 23:59:28.737] [pool-1-thread-13] [akka.actor.ActorSystemImpl(language-server-df7c491c-df3c-4392-b5b7-d9814d53b975)] Issued terminate(10 seconds) while termination is in progress already (with deadline: time left: 4.017 s
[info] [WARN] [05/31/2020 23:59:28.739] [pool-1-thread-8] [akka.actor.ActorSystemImpl(language-server-df7c491c-df3c-4392-b5b7-d9814d53b975)] Issued terminate(10 seconds) while termination is in progress already (with deadline: time left: 4.019 s
[info] 23:59:38.754 ERROR [pool-1-thread-14] o.e.p.i.l.HeartbeatSession           Socket closure timed out
[info] 00:00:04.385 ERROR [pool-1-thread-5] o.e.p.r.ProjectOpenHandler           Request ProjectOpen with Number(1) timed out
[info] 00:00:04.391 INFO  [pool-1-thread-14] akka.actor.LocalActorRef             Message [scala.util.Left] from Actor[akka://project-manager/user/jsonrpc-connection-controller-6df50487-5f2b-4231-a35a-712fe4531f22/request-handler-ProjectOpen-1971e788-9534-4873-a5ab-b488ff05d3a9#-740591522] to Actor[akka://project-manager/user/jsonrpc-connection-controller-6df50487-5f2b-4231-a35a-712fe4531f22/request-handler-ProjectOpen-1971e788-9534-4873-a5ab-b488ff05d3a9#-740591522] was not delivered. [1] dead letters encountered. If this is not an expected behavior then Actor[akka://project-manager/user/jsonrpc-connection-controller-6df50487-5f2b-4231-a35a-712fe4531f22/request-handler-ProjectOpen-1971e788-9534-4873-a5ab-b488ff05d3a9#-740591522] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

Expected Result
The project should open for a second time just like it did at the first time.
Actual Result
The project open request hangs for about 40 seconds, then report "Service error".
Enso Version
45801c6eb10aee0dc2298f610d36a15fecbbc981

Also please note that any timeout-based approach will not be valid solution nor workaround for this.

when user refreshes the tab in the browser, in should reload momentarily, so the timeout would need to be extremely low for this to work;
when browser is minimized, IDE stops and won't respond -- however the conncetion needs to be maintained, so the timeout cannot be low.

My suggestion would be that upon connection attempt any previously connected clients should be just forcibly disconnected.


css fix and rebase

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 6 committers have signed the CLA.:white_check_mark: boonbaluri:white_check_mark: shalini-peeka:white_check_mark: agnelpraveen:white_check_mark: aniruddha-k:x: Aluri:x: venkat-99Aluri seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Print map with selected overlapping layer

If the map has overlapping layers , is there any way to print map with selected layer as the printLayer ?

Hi there,
Not yet. I will add this possibility to the next version.

Hi,
Thank you for the nice plugin. I did connect it to a Drupal site using Leaflet, and it prints data generated by Drupal (points, polygons etc.) it prints the last layer that I enable through Leaflet layer control, but nothing else. Base layer (which is tile layer), or any other previously enabled transparent layers (that are overlays) are not printed. Base layer is printed only if no other overlays are enabled. Does, for this to work, I need to do something, or you should add support for it? Thank you for answering.

Hi,
Looks like there is some wrong configuration of the map or plugin itself. Please create a jsbin to show the problem and I will try to help.
Regards
Igor

Hi,
The website is setup here: website example . On the frontpage there is a map. I'm afraid if I make jsbin that it won't show us the right results. Can you learn something directly from the website? I know that in Leaflet implementation in Drupal there is distinction between base layers and overlay layers. But anyhow your plugin prints only the last one one enables. Drupal generated content like points, shapes etc. are always printed. I see that in your examples you add tile layer to your plugin when initiating script, and I cannot do that in my case. I just enabled your plugin through custom Drupal module by getting Leaflet map object on the page and attaching your plugin to it.
(function($) {   var myMap = {};   // Get leaflet map object for later usage   $(document).bind('leaflet.map', function(e, map, lMap){     myMap = lMap;   });
and than latter I add this:
L.browserPrint().addTo(myMap);
Thank you for your help.

Hi,
I see ... I think I know where the problem is. Will try to fix it soon.
2017-12-14 14:57 GMT+02:00 mgurjanov<EMAIL_ADDRESS>
Hi,
The website is setup here: website example http://<IP_ADDRESS>:9292/ .
On the frontpage there is a map. I'm afraid if I make jsbin that it won't
show us the right results. Can you learn something directly from the
website? I know that in Leaflet implementation in Drupal there is
distinction between base layers and overlay layers. But anyhow your plugin
prints only the last one one enables. Drupal generated content like points,
shapes etc. are always printed. I see that in your examples you add tile
layer to your plugin when initiating script, and I cannot do that in my
case. I just enabled your plugin through custom Drupal module by getting
Leaflet map object on the page and attaching your plugin to it.
(function($) { var myMap = {}; // Get leaflet map object for later usage
$(document).bind('leaflet.map', function(e, map, lMap){ myMap = lMap; });
and than latter I add this:
L.browserPrint().addTo(myMap);
Thank you for your help.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Igor-Vladyka/leaflet.browser.print/issues/14#issuecomment-351703753,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFJl_lEJoRiC2cPwZ4_yV8DW1JbE0z7Pks5tARtQgaJpZM4Q7x9r
.

--
Regards,
Igor Vladyka

Hi,
Glad you found out what it was. Will be waiting for your update. Thanks again.

Hi Igor,
Did you maybe have time to work on this matter? May I be of some assistance? Thank you.

Hi,
I'm still finding a way to get the active layer from leaflet map itself.
So, no solution for now.
2017-12-27 17:17 GMT+08:00 mgurjanov<EMAIL_ADDRESS>
Hi Igor,
Did you maybe have time to work on this matter? May I be of some
assistance? Thank you.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Igor-Vladyka/leaflet.browser.print/issues/14#issuecomment-354081972,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFJl_qYa0WMUxB13wqDqMeBTSK_JK8Okks5tEgs3gaJpZM4Q7x9r
.

--
Regards,
Igor Vladyka

Seems like a can't reproduce your issue anymore. Please check it one more time on your side and if the problem still exists, please reopen this issue.


[WIP] Custom provisioning - Secret for BTP Manager

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest

/test all

/hold

/retest


A11y_AzureDataStudio_Filter_Color Contrast: Color Contrast ratio for "1 Selected" text is less than 4.5:1

“Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags:
#A11yMAS; #A11yTCS; #SH-AzureDataStudio-June2021; #SQL Azure Data Studio; #Win10; #DesktopApp; #WCAG1.4.3; #AINotInScope; #Color Contrast
Environment Details:
Azure Data Studio Version: 1.30.0 (user setup)
OS Version: 21H1
Steps to Reproduce:

Launch Azure Data Studio
Connect to any SQL server and write a query
Tab till results grid and press F3 so that the filters pop-up will open
Verify color contrast ratio for "1 selected" text

Actual:
Color Contrast ratio for "1 Selected" text is less than 4.5:1
Expected:
The Color contrast ratio for text content should be >= 4.5:1
User Impact:
Low vision users will not be able to view the text content if the color contrast ratio is less than 4.5:1

@alanrenmsft

#A11yMAS;#A11yTCS;#SH-AzureDataStudio-June2021;#SQL Azure Data Studio;#Win10; #DesktopApp;#WCAG1.4.3;#AINotInScope;#Color Contrast;#A11ySev2

@alanrenmsft
When we check now after following repro steps we are getting below screen

Could you pls provide repro steps to verify this bug

@VijayaBharathyA you have to first move the keyboard to a cell in the table before pressing F3.

#Closed;
Issue is fIxed


Python extension marks "Variable X is not accessed" as an error instead of lower severity level.

The following code throws the error Variable "a" is not accessed. This should not be error severity but rather something lower than warning.

def my_function():
    a: str = "blah"

Thanks for the bug report, but unfortunately, we need some more information from you in order to triage this issue appropriately. Please follow instructions here to create a new bug with all the critical details we need for diagnosis.
We need to know the language server used, and logs from Output > Python.


File renamed with capitalization not returning correct event

Using the example code I tried renaming a file from foo.mp3 to Foo.mp3 and got this:
change
E:\ggmusic\foo.mp3
undefined
add
E:\ggmusic\Foo.mp3
undefined

Renaming the file completely did work correctly though:
rename
E:\ggmusic\Run Free.mp3
E:\ggmusic\foo.mp3

just realized this was a copy of #5 my bad