Move where the toolkit looks for the software design webapp files

They can differ between assignments and thus should each have their own copy

Coverage remained the same at 63.549% when pulling a38c18dbf2f92b870a9b572ab560a605af6b5b72 on move-sd-file-location into 594d85e383f5c40d259f665173f15088a95218fd on master.


Field customizer onRenderCell event intermittently returns fieldValue undefined when uploading new document

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
Windows
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version 92.0.878.0
SPFx version 1.12.1
Node.js version 14.16.1

Describe the bug / error
The onRenderCell event intermittently return event.fieldValue = undefined when uploading new document.
Scenario:

I upload a new document to a document library with a text field in the view that has a field customizer.
The onRenderCell event.fieldValue then sometimes is an empty string like it should and sometimes undefined.
If the event.fieldValue is undefined it sometimes stays undefined until I reload the page and sometimes onRenderCell is called again immediately and then event.fieldValue is an empty string like it should.

When event.fieldValue is undefined, event.listItem contains fewer fields than when it is an empty string. In my simple test it contained 42 fields when undefined and 57 when empty string. The field with field customizer is not one of the 42 so that explains why event.fieldValue is undefined until onRenderCell returns an event.listItem containing all 57 fields.
This issue may or may not be related to #7001, at least it is very similar in that the number of fields change intermittently for event.listItem when uploading a new document.
Steps to reproduce

Create a new field customizer using the yeoman generator
Create a new document library
Create a new text column named FieldCustomizer in the library and make it not required
Configure launch.json so that you have a debug configuration that loads the page with the document library and also loads the field customizer in the FieldCustomizer field
Start debugging so that the page with the library opens in the browser
Set a breakpoint in the onRenderCell method
Upload a document without setting any values and take note of the event.fieldValue in onRenderCell
Repeat step 7 and pretty soon event.fieldValue should be undefined

Expected behavior
I expect event.fieldValue to always contain the fields correct value. I also expect event.listItem to always contain the correct fields.

Sorry for the really long turnaround here.
But it finally should be fixed!


Update gcloud-java dependency and package names

gcloud-java renamed it's group id and changed it's packaging from com.google.gcloud to com.google.cloud in the latest release.  This PR updates bookshelf to pick up those changes.

lgtm

Travis passes now (earlier it didn't pass because of import order checkstyle errors).


Update dismissAllDialogs options in docs

As mentioned by @guillenotfound in #474 , dismissAllDialogs is an option to be set in open() and not in createBrowser, update docs accordingly

MR: https://github.com/angrykoala/wendigo/pull/476


Update test execution steps

#13 Update test execution steps

@vaibsaraswat the gif is very small and does not show prominently the things you are trying to implement. Can we do this with a gif where we can also blur others?


Change file permissions from 755 to 644

Signed-off-by: Taewan Kim<EMAIL_ADDRESS>Description
This PR changes file permissions from 755 to 644 since the files (such as go, md and etc) should not have execute permission.
Type of change

[x] Bug fix

How Has This Been Tested?
Run the build script
$ ./build.sh

Test Configuration:

Firmware version: Ubuntu 18.04
Hardware: x86-64
Edge Orchestration Release: Baobab

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@suresh-lc @Karthikeyan-Samsung PTAL.

While i was trying to check on this found this info :Permissions of 644 mean that the owner of the file has read and write access, while the group members and other users on the system only have read access. For executable files, the equivalent settings would be 700 and 755 which correspond to 600 and 644 except with execution permission."
Understand that in this PR is removing execute permission.  Any motive behind it.
Will further check if we need for the change.

If the intention is to remove the execute permission to users for files, instead of changing for individual files how about changing for the directory alone. home directory drwx------ (700). If we do that, we don't need to protect files individually. This won't break anything other than the ability of other people to read the file.

@suresh-lc Thank you for the review!
This PR is not intended to remove the file permissions from other users.
I thought all the files should have correct permissions including the owner because of the vulnerability issue.


NOTICK - ensure open-api diff doesn't consider doc changes

Change the open-api diff test to ignore name, description and title fields as they don't change the API spec.

Closing this PR and will review general approach as part of CORE-6826


Fix: Move tests into appropriate namespace

This PR

[x] moves tests into the appropriate namespace

It's a remnant from an older version, before I put this on GitHub. Thanks for fixing it! ✨

Thank you, @brendt!


Request for Documentation

First of all, thank you for this project and all the work, this is extremely valuable.
I understand this project is still WIP, but in order for it to be easier to use for external Data Scientists I think it would require a few additional informations:
Infrastructure Prerequisites:

In what GCP context are we supposed to use this project? I believe we are supposed to use it in a GCP folder with 3 existing Projects (one for CI/CD, one for test and one for prod) but I would love having a confirmation of this

Deployment process:

Numerous processes are detailed in Readmes (how to setup the CI/CD, how to deploy a pipeline...) but there is little information about the steps to go from end to end: create projects, configure x,y, run terraform, follow CI/CD readme etc...
Information on the infrastructure deployment itself is quite scarce

Could someone help me on this?

Hi @Guillaume6606! Thanks for the feedback. I am working on a PR (#32)  to refactor the infra deployment, and improve the documentation for this. It's still WIP but feel free to try it out, I'd love to hear any feedback you have. You can access the branch directly here:
https://github.com/browningjp-datatonic/vertex-pipelines-end-to-end-samples/tree/terraform_refactor


Add postera support for single-target docking wf.

Description
Provide a brief description of the PR's purpose here.
Fixes #258
Branches off #246

Adds ability to push and pull from postera on either end of docking pipeline.
Adds filtering of up-loadable custom data to postera to a set of pre defined tags.

Todos
Notable points that this PR has either accomplished or will accomplish.

[ ]  Now is one of the best times to fully validate SD tags and postera columns so lets try and get that sorted before we push this too much further.

Codecov Report

Merging #310 (09e59de) into main (02a7df8) will decrease coverage by 0.91%.
The diff coverage is 0.00%.

Dropping from milestone until we sort out our SD tag and naming plan more consistently.

#348 will have to go in first.

@jchodera would you be able to have another look here? Pulling from and pushing to a molecule set seems to be working as expected.
I have added in a YAML config manifold_data_dags.yaml that  defines our tag spec. From that the tags of the form
 <output>_<tool>_<unit?>_<organism>_<target>

are made programatically, where <unit?> is only included if the output has a unit.
for example the final tags look like:
- Docking_Score_POSIT_sars2_Mpro
- ML_Score_GAT_pIC50_sars2_Mac1
- MD_Pose_mers_Mpro
- MD_Interactions_mers_Mpro
- ...

Importantly these can be easily changed with a quick change to the YAML file.
I have built the tags adhering to the SD tag document with the exception of moving the units to after the tool rather than at the end per our discussion at last CCC meeting IIRC.
Let me know what you think! Importantly any tweaks should be easy due to YAML.


Question: How do you manage to build your libraries for all platforms?

@soywiz
Not sure if this is the best place to ask, but maybe others are interested too.
As far as I have seen, you are the only person actually creating libraries for all platform's that Kotlin multiplatform supports. I am just curious, what is your setup to build and publish your libraries... This isn't as hard as before now that kotlin 1.3.30 can "In addition to that, Windows and macOS users can cross-compile their Kotlin/Native programs to Linux x86-64, arm32, as well as Android and Raspberry PI devices."
But still, you need to at least switch between windows and mac to build and publish.  How are you managing this (in a timely manner)? What I am most curious about is if you have an automated way to do this... or are you just using virtual desktops or multiple computers?

Y just use mac:
https://soywiz.com/building-win-linux-kotlin-native-on-mac/
https://forum.soywiz.com/topic/7/updated-soywiz-kotlin-native-win-docker-image
https://github.com/korlibs/klock/blob/master/gradlew_win


Azure SWA's in West Europe are down - AGAIN

This a repeat-incident of:  #1097
Symptoms are:

static content is served.
functions are returning a 503.
deployments are failing.
Azure status shows no warning for SWA's

This is the second incident in less than 2 weeks and the 4th (if i remember right) in the last 6 months.
Please advise if this (paid) service is still to be used or is marked as "abandoned" by Microsoft and we should abstain from using it.
EDIT: back for me to, after ~30 minutes.

Yes! All our customers nextjs sites are down again...

Seems like at least West Europe was affected again, we had similar issue this morning but now it seems to work again.

@valstu  - going joke is that the status page is actually a static one. :D

Its becoming a joke really. Was it only EU-WEST? And why aren't there SWA support in more regions in Europe?

It has been down for a while now and Status page still showing green!

Same here. Deployments fail and "Service is unavailable" in the browser. Frustrating.

Now it is unavailable again...

Same here - it started some 30 minutes ago, functions are down.
Twice in a day... hopefully this provides enough business impact for someone at Microsoft to do something.

Down again currently...

Down again...

This appears to have happened at least 3x this week... its a really big inconvenience.

No that someone still cares - but its down again.

And down again...

Getting "Function host is not running." as well :/

This is down again :(

And down again.

same

Same for us - this week we had countless incidents.

FYI raised this with Microsoft via our Microsoft reseller, info below:
_I hope you're well today. Please see Microsoft's response below.
I took some time to analyse the data of your Static Web App named xxxxxxx before providing an update.
From May 3rd until 6th, there were several occurrences in our platform which had an impact in App Services running in West Europe. These events were considered outages and needed the Product Group intervention.
Please read below a summary of Product Group investigation regarding the incidents:
"Summary of Impact: You were identified as a customer using App Service in West Europe who may have received intermittent HTTP 500-level response codes, experienced timeouts or high latency when accessing App Service (Web, Mobile, and API Apps), App Service (Linux), or Function deployments hosted in this region.
Preliminary Root Cause: Our investigation indicates that backend internal services used for creating containers experienced high CPU usage, which resulted in operational thresholds being met. This led to the Internal Server errors, timeouts and latency mentioned above for a number of App Service customers in the West Europe region.
Mitigation: To mitigate this issue we performed a configuration change to the service, which was then automatically restarted on a bigger node, allowing it to handle the workload. Having observed our telemetry for some time, we can confirm that error rates have decreased and the service is functioning as expected.
Next Steps: We will continue investigating to better understand the cause of this issue and prevent further occurrences. Stay informed about Azure service issues by creating custom service health alerts:xxxx for how-to documentation."
I am available for any further questions regarding this. Please let me know.
Kind regards,
xxx xxx
Microsoft Azure Technical Engineer
Services Support Team_

It appears that we have been having this issue again today. Anyone else?

Identified a period of instability lasting approximately 4 hours on the last Friday (08/04/2023)

This issue appears to have shown its ugly head again this morning... :(


[WIP] DataChannels: Open channels

The ICE agent now notifies DTLS to start its handshake.
DTLS now notifies SCTP to init.
SCTP now notifies DataChannels to open channels.
This makes Pions 2 pions open data channels 🎉.
Sadly the communication of data is still failing with: Failed to push SCTP packet: Failed handling chunk: Failure handling SACK: TSN 450629568 unable to be popped from inflight queue.
This makes the PR still a WIP. However, any feedback or suggestion to what may be causing the above error would be much appreciated.
TODO:

[ ] Make sending data work
[ ] Remove the workaround from data-channels-create
[ ] Make the pions-to-pions example cross-platform.

Relates to #159

Pull Request Test Coverage Report for Build 873

37 of 229 (16.16%)  changed or added relevant lines in 14 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-1.3%) to 47.277%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/sctp/chunk_init.go
0
3
0.0%

internal/sctp/param_state_cookie.go
0
3
0.0%

internal/network/network.go
0
3
0.0%

internal/sctp/param_header.go
0
3
0.0%

internal/sctp/chunk.go
0
3
0.0%

internal/sctp/chunk_cookie_ack.go
0
3
0.0%

internal/sctp/chunk_init_ack.go
0
3
0.0%

rtcpeerconnection.go
0
8
0.0%

internal/network/manager.go
18
28
64.29%

internal/sctp/packet.go
0
17
0.0%

Files with Coverage Reduction
New Missed Lines
%

internal/dtls/dtls.go
2
16.98%

Totals

Change from base Build 864:
-1.3%

Covered Lines:
2743

Relevant Lines:
5802

💛  - Coveralls

Closing since decided to split.


URL Request timeout error for the webfrontend example running Azure Kubernetes Service

I followed the example and got to the end without error,
but got a timeout error with the external IP address like below,
http://<IP_ADDRESS>/
Any idea?
https://i.stack.imgur.com/gP8AQ.jpg
https://i.stack.imgur.com/em473.jpg

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

ID: 27400039-49fa-5c04-b273-fd663eb82bc0
Version Independent ID: 6f51e57e-dcfc-3fcf-c2b1-ec0f39ab93c4
Content: Develop on Azure Kubernetes Service (AKS) with Helm - Azure Kubernetes Service
Content Source: articles/aks/quickstart-helm.md
Service: container-service
GitHub Login: @zr-msft
Microsoft Alias: zarhoads

@PingPongSet Thanks for posting your query.
Timeout error, means the application is not getting served.
From the screenshots shared, containers in ImagePullBackOff State and in the second image containers are not ready.
For the ImagePullBackOff State one reason could be issue with ACR authentication, it could be an Expired token.
For containers not ready in which case two reasons, either a readiness probe is failing or application is misconfigured.
For ACR auth, request you to check for SP credentials (if valid), how the pod is authenticating to the ACR (AKS ACR attach or image pull secrets), secrets might be invalid. If everything is good with this, then you should look for readiness probe conditions.
Hope this information helps with troubleshooting your issue.

@ VikasPullagura-MSFT
Thank you for your comments.
I followed the instructions on the article, but it failed.
I wonder if this happens to someone else.
Canyone provide code that can fix this? I am new to AKS/K8s.

@PingPongSet As this issue need investigation to check the reason why it is failing, I would request you to open a support case so that support engineer can check on this.
If you don't have the ability to open a technical support case on your subscription, let me know so that I can help on this.

@ VikasPullagura-MSFT I don't have permission to create support ticket.
Could it be an issue with the commands?

@PingPongSet
If you don't have the ability to open a technical support ticket, you can email me with Subject as "ATTN: Vikas" at<EMAIL_ADDRESS>and provide me with your SubscriptionID and link to this thread. I can then enable your subscription for one time free support.
Also, once you get the issue fixed, request you to reply back here on the thread with the resolution steps for the benefit of the community.

@ VikasPullagura-MSFT
I have deleted all related resources a few days back. I am not sure when I will repeat it.

@ VikasPullagura-MSFT
I noticed you have handled this ticket before and assigned to someone else. But the issue mentioned on the ticket has not been resolved, this is more important.
https://github.com/MicrosoftDocs/azure-docs/issues/72620

@PingPongSet The issue you linked in previous comment is assigned to the document author as it is a document enhancement (request to include the examples in the doc)  who will be publishing the document. Document author will update on the issue accordingly.
As you don't have the resources in your subscription to troubleshoot the issue now. I would recommend to open support case when you are ready or send email as per my previous comment.
I will now close the issue, you can tag me in the comment if you are ready to reopen the issue or you can open a new issue.


Lora Hooks Don't Seem to be Affecting Output

First of all, amazing work!! Very excited for working Lora hooks. Just wondering if anyone else's Lora Hooks are affecting output. Using LCM workflows and no output masks, hoping to affect the entire output. Am I doing something wrong?

I will have an official tutorial for lora hooks soon, but until then, I made a brief explanation of how it works in a comment this other issue here: https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved/issues/371#issuecomment-2103661513

If you want to affect the whole output and no masking, then simply leave the mask_opt field empty on the Set Props on Conds node, and it will act as if a mask covering the entirety of the latent was provided.


Submission

What is your username and discriminator?
drdd#0271
Why did you join Discord Linux?
I got invited from another Server and as I am interested in Linux i decided to join.
Where did you hear about Discord Linux?
Nowhere else.
What is the passphrase that was assigned to you by the bot?
fence-crib-carry-spacing

From Syretia :
Looks good.  I've given you a temporary role so that you can enter the passphrase in the welcome channel.

Thank You.


QuestionnaireItems without text are not rendered

Some standardized surveys, i.e. the GCS scale found here http://build.fhir.org/questionnaire-example-gcs.json.html have only answer choices and no question text. These surveys are not being rendered, because question text is currently not allowed to be empty.

This issue has been resolved.


[Map] DM-LoTrapTest

The main attraction of this file is LoTrap Gun mutator, that mimics Portal Gun from Valve's famous game. The map is just a testing playground. I recommend reindexing this archive.

URL: https://unrealarchive.org/maps/unreal-tournament-3/deathmatch/L/dm-lotraptest_d8af2788.html
Hash: d8af27885d010e841427ed83ef2ee2470b59c650
Current name: DM-LoTrapTest

Reassigning this to the Tests and Demos section.


"Score" property missing from result object

Am I blind or results object is missing "score" property? Also description of available result properties is out-of-date for README.md (e.g. different names).

sorry for the confusion -- i'm in the process of updating the docs and pushed some changes too soon, but in the meantime, see: #98, #99


[don't merge] qt55.qtbase: fix patch sha with fetchpatch instead of fetchurl

Motivation for this change
this patch seemed to change sha, so change to fetchpatch which should have a more stable patch.
Please don't merge yet.
Things done

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

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

What is the reason for not merging this?


Detect pagination Author

Added pagination author

Looks good, many thanks!
Will merge it in. Maybe you can try to add tests for this, like the recent ones for Authors?


Cookie

I am keep getting [ERROR] Cannot get cookie. Try again later.
Can someone please help me with this.

Hi @Cybersecghost, the script cannot fetch cookies any more due to the server restriction. A new method needs to be implemented. Until then, the script is no longer working.  :(

Hi @Cybersecghost, the latest commit should fix the cookie issue. From now on, some new dependencies are required, please check readme file for more details. Please give it a try.

Thank you very much, I will give it a try.
From: K̶e̶v̶i̶n̶ @.>
Sent: Wednesday, January 12, 2022 5:09 PM
To: KevCui/soap2day-dl @.>
Cc: Cybersecghost @.>; Mention @.>
Subject: Re: [KevCui/soap2day-dl] Cookie (Issue #13)
Hi @Cybersecghost https://github.com/Cybersecghost , the latest commit should fix the cookie issue. From now on, some new dependencies are required, please check readme file for more details. Please give it a try.
—
Reply to this email directly, view it on GitHub https://github.com/KevCui/soap2day-dl/issues/13#issuecomment-1011141685 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPD3QJ3QP2ZAC4KAWPW4HTUVWKQZANCNFSM5LYL65GA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AIPD3QMAFTFQSO4VXLAYQVTUVWKQZA5CNFSM5LYL65GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHRCMYNI.gif Message ID: @.*** @.***> >

Hi,
I have try to follow your instructions but nothing is working.
Can you please maybe give me a step by step guide. I am still a noob with linux.
Thank you much appreciate it.
From: K̶e̶v̶i̶n̶ @.>
Sent: Wednesday, January 12, 2022 5:09 PM
To: KevCui/soap2day-dl @.>
Cc: Cybersecghost @.>; Mention @.>
Subject: Re: [KevCui/soap2day-dl] Cookie (Issue #13)
Hi @Cybersecghost https://github.com/Cybersecghost , the latest commit should fix the cookie issue. From now on, some new dependencies are required, please check readme file for more details. Please give it a try.
—
Reply to this email directly, view it on GitHub https://github.com/KevCui/soap2day-dl/issues/13#issuecomment-1011141685 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPD3QJ3QP2ZAC4KAWPW4HTUVWKQZANCNFSM5LYL65GA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AIPD3QMAFTFQSO4VXLAYQVTUVWKQZA5CNFSM5LYL65GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHRCMYNI.gif Message ID: @.*** @.***> >

Hi @Cybersecghost, no worry. Could you share more details about which error you occur? I can then take a look.

@Cybersecghost step by step, sure:

Check dependencies if they are all installed on your machine https://github.com/KevCui/soap2day-dl#dependency
Install puppeteer https://github.com/KevCui/soap2day-dl#installation
Run script ./soap2day-dl.sh -n 'game of'

It should work like a charm. Let me know if something blocks you.

So I try it again and this is the error I get.
/soap2day-dl.sh: line 185: /opt/soap2day-dl//.source.html: Permission denied
So if I run it with sudo then I get cannot fetch cookie.
I also see there is not a source.list file.
Can you please help me
From: K̶e̶v̶i̶n̶ @.>
Sent: Thursday, January 13, 2022 8:33 PM
To: KevCui/soap2day-dl @.>
Cc: Cybersecghost @.>; Mention @.>
Subject: Re: [KevCui/soap2day-dl] Cookie (Issue #13)
@Cybersecghost https://github.com/Cybersecghost  step by step, sure:

Check dependencies if they are all installed on your machine https://github.com/KevCui/soap2day-dl#dependency
Install puppeteer https://github.com/KevCui/soap2day-dl#installation
Run script ./soap2day-dl.sh -n 'game of'

It should work like a charm. Let me know if something blocks you.
—
Reply to this email directly, view it on GitHub https://github.com/KevCui/soap2day-dl/issues/13#issuecomment-1012401354 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPD3QIJ66JLOG7JYK5OBFDUV4LFRANCNFSM5LYL65GA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AIPD3QIUSWQXVPKXG2OHPWTUV4LFRA5CNFSM5LYL65GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHRMAJSQ.gif Message ID: @.*** @.***> >

Hi @Cybersecghost, a normal user is enough to run the script, you don't need to use root or sudo, i's also not recommended.
I saw your put script under /opt/. I'd suggest to clone the repo to /home/{your_user_name}/, so that your user has to permission to create .source.html file.

Hi, will try that and let you know.
Thank you for the support
From: K̶e̶v̶i̶n̶ @.>
Sent: Friday, January 14, 2022 1:03 PM
To: KevCui/soap2day-dl @.>
Cc: Cybersecghost @.>; Mention @.>
Subject: Re: [KevCui/soap2day-dl] Cookie (Issue #13)
Hi @Cybersecghost https://github.com/Cybersecghost , a normal user is enough to run the script, you don't need to use root or sudo, i's also not recommended.
I saw your put script under /opt/. I'd suggest to clone the repo to /home/{your_user_name}/, so that your user has to permission to create .source.html file.
—
Reply to this email directly, view it on GitHub https://github.com/KevCui/soap2day-dl/issues/13#issuecomment-1013021117 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPD3QJLTHYMBQAEWYWRLG3UV77HLANCNFSM5LYL65GA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AIPD3QNEJJMNATLWTBUQONDUV77HLA5CNFSM5LYL65GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHRQXTPI.gif Message ID: @.*** @.***> >

Ok, seems media name is empty, weird. Would you mind to run script with the flag -d? It will print all debug logs. Paste some logs here and I'll take another look.

Hey Kevin, I tried using the script, I downloaded all the code and dependencies, but I still get this:
./soap2day-dl.sh: line 34: : command not found
/usr/bin/chrome
[INFO] Fetching cookie...
[ERROR] Cannot get cookie. Try again later.
Please help.

Hi @Papa-Gandhi, it looks like you don't have Chromium or Chrome on your machine, please install one. After that, the script should work.

I do have it, on the raspberry pi

@Papa-Gandhi Ok, run which chrome in your terminal, see the path? If not, try to put chrome binary in /usr/bin, should work.

it worked, after some coding
line 114 should be
echo "/usr/bin/chromium-browser"
instead of
echo "/usr/bin/chrome"

Hi,
I am getting this error now.
tee: /home/ubuntu/soap2day-dl/search.list: Permission denied
From: Papa-Gandhi @.>
Sent: Monday, January 24, 2022 4:50 PM
To: KevCui/soap2day-dl @.>
Cc: Cybersecghost @.>; Mention @.>
Subject: Re: [KevCui/soap2day-dl] Cookie (Issue #13)
it worked, after some coding
line 114 should be
echo "/usr/bin/chromium-browser"
instead of
echo "/usr/bin/chrome"
—
Reply to this email directly, view it on GitHub https://github.com/KevCui/soap2day-dl/issues/13#issuecomment-1020179253 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPD3QJC4EJONPSPXFD5VB3UXVRJJANCNFSM5LYL65GA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AIPD3QJHMZJES6IIWBKMDWLUXVRJJA5CNFSM5LYL65GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHTHLGNI.gif Message ID: @.*** @.***> >

Mine is also working now finally.
I went and change the whole directory permission to chmod a+rwx
From: Papa-Gandhi @.>
Sent: Monday, January 24, 2022 4:50 PM
To: KevCui/soap2day-dl @.>
Cc: Cybersecghost @.>; Mention @.>
Subject: Re: [KevCui/soap2day-dl] Cookie (Issue #13)
it worked, after some coding
line 114 should be
echo "/usr/bin/chromium-browser"
instead of
echo "/usr/bin/chrome"
—
Reply to this email directly, view it on GitHub https://github.com/KevCui/soap2day-dl/issues/13#issuecomment-1020179253 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIPD3QJC4EJONPSPXFD5VB3UXVRJJANCNFSM5LYL65GA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675  or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AIPD3QJHMZJES6IIWBKMDWLUXVRJJA5CNFSM5LYL65GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHTHLGNI.gif Message ID: @.*** @.***> >

Hi @Papa-Gandhi, Hi @Cybersecghost, thank you for sharing your solutions! Good to know it works for both of you :)


Unknown encoding: idna - Using the "requests" library with Nuitka.

I am attempting to use the "requests" library with Nuitka.
test.py
import requests

r = requests.get('http://google.com')

print r.text

I compiled a portable version of it using: >nuitka --portable test.py.
I can browse to test.dist and execute test.exe perfectly on my machine.
However when I transfer it to a new VM, I encountered a couple of errors:

ImportError: No module named _socket - I fixed this by adding "_sockets.pyd"

LookupError: unknown encoding: idna - I am currently stuck and cannot figure out how to fix this issue, I have tried adding idna.pyd (I compiled idna.py using Nuitka then added to test.dist but to no avail).

Actually Nuitka detects all available encodings, and forces inclusion of them, with code like this (check Standalone.py:
encoding_names = [         filename[:-3]         for _path, filename in         listDir(os.path.dirname(sys.modules["encodings"].__file__))         if filename.endswith(".py")         if "__init__" not in filename ]
Can you check what this does for you?

it seems that the difference is that the standalone compiled file still finds through some mechanism the original install, and can load it from there. With "PYTHONHOME=." from the outside, this is no longer the case.
This is kind of surprising, because there is code in Nuitka in "prepareStandaloneEnvironment" which updates it. I imagine it is being too late, due to how "python.lib" may already initialize the DLL, unlike on other platforms. But when I added a trace, I also didn't see it, so maybe it is not or no more done.
Repairing that is likely to reveal issues then.

I just made a stable release with fixes that ought to cover this. Using Py_SetPath with Python3, and PySys_SetPath after the fact with Python2, this was ruled out, and it was ultimately discovered that idna is using shared libraries which need other shared libraries, but the scan was not recursive. Now it is, and this should be gone.
I am assuming the libraries used there are pretty wide spread normally, or easily another extension could have a direct dependency on it, so this was rare, but consistently happening ever since standalone mode was devised. Should now be much better.


fix: support mac python2

What changes were proposed in this pull request?
support mac python2 for local build
How was this patch tested?
local build with python2 success.

Hi @zyclove,
The build on MacOS Intel Based Chip is working, However on Apple M1 and M2 chip is not working completely because of NodeJS dependencies.
For python you just need to use python 2.7
You can install it using brew install<EMAIL_ADDRESS>then typing export PYTHON=/usr/local/bin/python2.7
Best regards,
Clemlab Team


Please expose the key length on pbkdf2-hash-password

Some password hashing implementations require a specific key length. It would be great to have that parameter as another keyword argument on pbkdf2-hash-password. Currently I have to directly call pbkdf2-derive-key, which is not exported.

There is an exported derive-key method that you can use instead of calling pbkdf2-derive-key directly.


Improve documentation for cgltf_load_buffers()

@zeux I actually wonder if the "slash free" variant of the API should even be supported, since clients who do not supply the full absolute path to the glTF file will be burned when reading from a glTF file outside the current working directory.
e.g . "myViewerApp ~/models/foo.gltf" would look for "bar.bin" in the current working directory rather than in the same folder as the glTF (assuming the buffer uri were "bar.bin") .

I'm wondering if we should additionally rename base_path to something like gltf_path to make this more clear.


Instance synonyms

Instance synonyms are needed (the first version of this would also mean that plurals can be declared as synonyms). Unsure on syntax yet (there may be an official one), but maybe something along the lines of the city 'Cardiff' is also known as 'the capital of Wales'.

Settled on using is expressed by as is the officially documented way of handling synonyms for concepts (though this will be easy to change).


FEAT Backend of widget fs api with rust unit test

This PR provides the architectural design of backend widget api. It contains rust implementation and rust unit tests of widget apis for file system access. Since this is a demo, we only focus on a preliminary set of fs api in this PR.
What this PR is not about
This PR doesn't provide any js wrapper for the widget apis. Due to the discussion in #12 on the choice between functional or class React component, I think it's better to separate the backend widget api and the frontend widget api wrapper into two PRs. Both PR will be architectural ones that define how data flows in Deskulpt, instead of incremental ones that extend existing functionalities. And our choice between functional or class component in the frontend won't influence the backend widget apis implementation in the backend.
Widget API
Widget apis are tauri commands exposed to widgets. For better code organization, widget apis of similar functionality are grouped into a tauri plugin. A tauri plugin allows us to group tauri commands under a common namespace plugin:<plugin-name>|<command-name>. It's also the only way we can register tauri commands at different locations. Without tauri plugin, we must register all commands in a single invoke_handler when calling tauri::Builder, which is nearly impossible to maintain.
In this PR, I create two sets of widget apis: dummy and fs as a demo.
plugin:
   // The naming of `widget_api.xxx` is merely for readability. `widget_api` is not an actual namespace.
   name: "widget_api.dummy"
   commands:
      shout_text(widget_id: String, text: String) -> String
      get_dummy_info(widget_id: String) -> String

plugin:
    name: "widget_api.fs"
    commands:
      // read files in the storage of a widget
      read_file(app_handle: AppHandle, widget_id: String, path: String) -> Result<String, String>
      write_file(app_handle: AppHandle, widget_id: String, path: String, content: String) -> Result<(), String>
      append_file(app_handle: AppHandle, widget_id: String, path: String, content: String) -> Result<(), String>
      remove_file(app_handle: AppHandle, widget_id: String, path: String) -> Result<(), String>

As an example, to invoke read_file in Javascript, we can do this
invoke("plugin:widdget_api.fs|read_file", {widget_id: "ok-poem-display", path: "poem.txt"})

This will read the content in the file $APPDATA/widgets/ok-poem-display/storage/poem.txt.
Unit Test of Widget API
Unit tests of widget api is based on Rust's native unit test functionality. The test is restricted to backend api functionality, and doesn't test the interaction between frontend and backend (I think Selenium could do the job, but that deserves another PR). It simulates the tauri app using the mock_app function provided by tauri::test module. To use this function, we need to enable the test feature of tauri.
Unit tests for fs api in specific uses the tempfile crate to tests in a temporary directory, which will be automatically created on test starts and deleted on test ends.

@Charlie-XIAO For modularity, I think this PR should only be responsible for designing the backend arch of widget api and related unit tests. I will work on the frontend wrapper of the backend widget api in a separate PR. I have rewritten the description of the PR, could you please check it out?

Thanks for the update. I will take a look later today.

@Charlie-XIAO I am reopening this PR for review because I have implemented a working set file system widget api with access validation. Below is a list of changes

More FS Widget apis:

read / write / append / delete file,
is_file / is_dir / exists,
create / remove dir

File system access with validation to ensure that the widget only has access to contents within widget directory
Use of anyhow::Context for better error message. To use this, we need non-tauri-command functions to return Result<T, anyhow::Error>, and tauri commands to return Result<T, tauri::InvokeError>. The conversion from anyhow::Errortotauri::InvokeErroris done usingtauri::InvokeError::from_anyhow`. An example is given below // non-tauri-command function. Used as util functions by tauri commands
 fn bar(flag: bool) -> AnyhowResult<String, AnyhowError> {
     if flag {
         Ok("OK".to_string())
     } else {
         Err(AnyhowError::msg("Not OK"))
     }
 }

 // tauri command
 #[command]
 pub fn foo<R: Runtime>(
     app_handle: AppHandle<R>,
     widget_id: String,
     flag: bool,
 ) -> Result<String, InvokeError> {
     bar(flag)
         .context("Failed to call bar in foo")
         .map_err(InvokeError::from_anyhow)
 }

@Charlie-XIAO Please check the updates.

Merging @Xinyu-Li-123, congrats


add spatial blogpost

Adds a post about the spatial extension, largely adapted from the extension readme.
Thoughts:

Tried having some fun with the title but not sure if it is too much or to unclear?
I could elaborate more on why we chose to go our own way and not base everything on e.g. Googles S2 or PostGIS's LWGEOM, but I'm not sure if that's too technical or relevant here.
Not sure how much I should assume readers are familiar with geospatial SQL in general and concepts like coordinate projections or spatial joins. But I think I have somewhat of a balance with some explanations hidden in collapsible segments, what y'all think?

Note that I haven't uploaded binaries so that they are downloadable from the CLI yet, will tackle that tomorrow, and maybe add a link/example once that's done.

The blog post looks great! Perhaps it also makes sense to have some documentation ready for people that want to try the extension after reading the blog post?


Add placeholder RID to GradientTexture1D

Fixes #81166
My previous PR made assigning RID deferred, so the material used invalid value. This PR ensures that the RID does not change during the lifetime of the texture (same as in GradientTexture2D).
I also made Gradient changed connect to deferred update, for consistency (it doesn't have obvious detrimental effects).

Thanks!


fix: row grouping algorithm

fixes https://github.com/glideapps/glide-data-grid/issues/823#issuecomment-2178674929 4th point

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

2 of 4 (50.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.008%) to 89.652%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/core/src/data-editor/row-grouping.ts
2
4
50.0%

Files with Coverage Reduction
New Missed Lines
%

packages/core/src/data-editor/row-grouping.ts
1
89.07%

Totals

Change from base Build<PHONE_NUMBER>8:
-0.008%

Covered Lines:
17783

Relevant Lines:
19480

💛  - Coveralls


Is This Still Maintained?

@franzejr take a look at the activity to determine if it is appropriately maintained to your liking.  Here is the commit log: https://github.com/zipmark/rspec_api_documentation/commits/master
If you have a specific question please open an issue.


nano: remove darwin patch

Motivation for this change
The patch does not apply anymore, but also doesn't look like it's needed anymore. /cc @copumpkin
# if ! (((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3))        \
         && !defined __UCLIBC__)                                            \
        || (defined __APPLE__ && defined __MACH__)                          \
        || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
                fbp[1] = '%';
                fbp[2] = 'n';
                fbp[3] = '\0';
# else

Things done
Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers.

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

[x] NixOS
[x] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Yup, as folks update their bundled gnulib, that patch will stop being necessary 😄

Alright, just wanted to make sure I didn't misinterpret
the boolean logic 😅


Proxy exits with wrong code after SIGTERM

Bug Description
Graceful termination seems impossible in v2. Whether I set --max-sigterm-delay or not doesn't matter, process always has exit code 137, even when there are no active connections.
Example code (or command)
- name: cloudsql-proxy
  image: {{ $root.Values.sqlProxy.image }}
  command:
    - '/kubexit/kubexit'
    - '/cloud-sql-proxy'
    - '--address=<IP_ADDRESS>'
    - '--max-sigterm-delay=10s'
    - '--structured-logs'
    - '--prometheus'
    {{- range $k, $v := $root.Values.sqlProxy.connections }}
    - '{{ $v.dsn }}?port={{ $v.port }}'
    {{- end }}
  lifecycle:
    preStop:
      exec:
        command: ['sleep', '10']

Stacktrace

How to reproduce

?
?

Environment

OS type and version: GKE 1.24.4-gke.800
Cloud SQL Proxy version (./cloud-sql-proxy --version): 2.0.0-preview.2

Thanks for the issue @cdaguerre.
Looking at these exit codes again, I see that SIGTERM is conventional 143 and SIGKILL is 137.
I think what this means is that we should be returning exit code 143 instead of 137 here: https://github.com/GoogleCloudPlatform/cloud-sql-proxy/blob/main/cmd/errors.go#L29.
Cf. https://komodor.com/learn/sigterm-signal-15-exit-code-143-linux-graceful-termination/
Is that your expectation?

Hey @enocom
Actually in v1, even when the proxy received a SIGTERM, the exit code would be 0 if there were no more active connections.
The use case is for running the proxy as a sidecar in kubernetes Jobs that run to completion.
You need to have a way to kill the cloudsql-proxy sidecar container when the main container finished.
Any exit code other then 0 from one of the containers causes the job to be considered failed.
Basically, ideal behaviour to gracefully terminate on SIGTERM taking the --max-sigterm-delay into account.

Exit 0 as soon as there is no active connection anymore
After sigterm delay,

exit 137 (SIGKILL) if there is an active connection
exit 0 if there is no active connection (probably already exited before delay...)

Thanks for the clarification.
There are two issues here:

The v2 proxy uses the wrong exit code for SIGTERM. We'll fix that here.
There's no way to cleanly shutdown the proxy without some wrapper script. That's tracked here: https://github.com/GoogleCloudPlatform/cloud-sql-proxy/issues/828.

Since we've made this worse in v2 with the new non-0 exit code, I'll prioritize adding a /quitquitquit endpoint to solve this.

Hey @enocom Just to dig up this issue again, it seems that we're hitting the same behaviour that @cdaguerre mentions here despite having no open connections  (exit code: 143)
We use cloud-sql-proxy on Kubernetes Jobs, wrapped around timeout so that it gracefully shuts down the container after completion.  Because of this, and the 143 exit code, kubernetes sees the job as failed and puts it into an Error state.
terminated - Error (exit code: 143)
- name: cloud-sql-proxy
  image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.0.0-buster
  imagePullPolicy: Always
  command: ["/bin/sh", "-c"]
  args:
  - timeout --preserve-status -s SIGTERM 60s /cloud-sql-proxy \
  --max-sigterm-delay=60s --structured-logs --health-check \
  --http-address=<IP_ADDRESS> --port=5432 --private-ip \
  {INSTANCE_CONNECTION}

Prior to v2, this behaved gracefully as expected.
Happy to open as a new issue if you'd prefer.

We recently added support for a /quitquitquit endpoint to support exactly this use case. See here for details: https://github.com/GoogleCloudPlatform/cloud-sql-proxy#localhost-admin-server.


Any news ?

Any news on this project ?

Unfortunately, looks like abandonware..

Yeah, I have stopped working on this project for the time being. I might come back to it when I have time. Anyone is free to continue it though
If I were to continue I might rewrite it to make different design choices lol


[QSP-8] On Potential Hash Collisions

What does this PR introduce?
There is an warning added in the LSP2 docs to potential hash collisions when firstWord and thirdWord are the same in the following structure:
<bytes6(keccak256(firstWord))>:< bytes4(keccak256(secondWord)) >:<bytes2(0)>:< bytes20(keccak256(thirdWord)) >

Please ping @CallumGrindle when this is ready to be merged


Do not drop + recreate column when renaming an enum

Bug description
When renaming an enum in the Prisma Schema, Migrate attempts to drop the existing enum and create a new one, changing the column's type. This guarantees data loss, which I want to avoid
How to reproduce

Write this schema to a schema.prisma file:

generator client {
  provider        = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

enum Role {
  Admin
  Viewer
}

model User {
  id String @id
  role Role
}

Run yarn prisma migrate dev to create an initial migration
Rename the Role enum to UserRole. (enum UserRole { ... })
Run yarn prisma migrate dev again.

This is what the generated migration looks like:
/*
  Warnings:

  - Changed the type of `role` on the `User` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.

*/
-- CreateEnum
CREATE TYPE "UserRole" AS ENUM ('admin', 'viewer');

-- AlterTable
ALTER TABLE "User" DROP COLUMN "role",
ADD COLUMN     "role" "UserRole" NOT NULL;

-- DropEnum
DROP TYPE "Role";

Expected behavior
I expect the migration to look like this instead:
ALTER TYPE "Role" RENAME TO "UserRole";

Prisma information
Shared above
Environment & setup

OS: macOS (Irrelevant)
Database: Postgres
Node.js version: v14.17.0

Prisma Version
prisma               : 2.27.0
@prisma/client       : 2.27.0
Current platform     : darwin
Query Engine         : query-engine cdba6ec525e0213cce26f8e4bb23cf556d1479bb (at node_modules/@prisma/engines/query-engine-darwin)
Migration Engine     : migration-engine-cli cdba6ec525e0213cce26f8e4bb23cf556d1479bb (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine : introspection-core cdba6ec525e0213cce26f8e4bb23cf556d1479bb (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary        : prisma-fmt cdba6ec525e0213cce26f8e4bb23cf556d1479bb (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash : cdba6ec525e0213cce26f8e4bb23cf556d1479bb
Studio               : 0.410.0

Closing as duplicate of https://github.com/prisma/prisma/issues/8381

@pantharshit00 These are different issues, but only subtly.
Jason's issue is for the case when you rename an enum field inside a model, and mine is when you rename the enum itself.

Ahh, even the model used was the same so I thought they were the same. Reopening..

What is the status on this issue?  Has it been resolved?  I am in the middle of enum renaming migrations and would like to know if this is possible to do without data loss yet.

@NikitaRubocki It's possible if you make your schema changes, then do prisma migrate dev --create-only, and modify the migration file manually.

Ended up creating an empty migration via: npx prisma migrate dev --create-only
Then modified it to be an alter statement like:
ALTER TYPE "old_enum_name" RENAME TO "new_enum_name";

I wasn't sure if I would also have to rename the references in tables to the new name or run it in a transaction or how that potential nightmare would work, but it seems postgres handled that (some research may have yielded v10+ handles this iirc).


Pluggable rulesets in security monkey

We need a way to better extend and manage security monkey, especially for more "opinionated" rules that don't necessarily belong in the core (or maybe all rules should move outside of core?)
Initial idea:

Add pluggable rules to each service module (s3, iam, elb, etc)

Rules to be defined using JSON and json-path type queries

Add pre/post module hooks

e.g. filter out non attached "risky" IAM policies

Future:

move all rules into this format?

+1!!

There are a few ways to go about this.
To disable current rules (like the opinionated ones):

Currently, there is an "Auditor Settings" tab in securitymonkey where you can disable a given rule for a given account.  This currently prevents those issues from showing up in the issues search page, though they still appear in the Item details.  This isn't exactly what you're requesting, but it is in the same space.

We could also assign an ID to each rule, and in the config file we could provide a set of disabled rules.  We could also extend the Web UI to enable/disable a rule globally.  This would be similar to the Auditor Settings, but taken a little further.

I'd love to hear which rules you feel are overly opinionated.  Let's put a few in the gitter.im chat.  Maybe we'll remove a few entirely.

To add new rules that you don't wish to commit back:

We could do something similar to what iSecPartners has done with Scout2, https://isecpartners.github.io/Scout2/ See the section at the bottom on "How to create a new rule".

They have you update json, add a python method, and update the report HTML.

We could probably streamline our implementation so that there would be no need to update JSON or muck around in HTML.  You would just create a method with a name starting with check_* and place it in a file in the new pluggable folder.  security_monkey/pluggable/s3.py

We'd update the .gitignore to ignore everything in pluggable.
The regular s3.py would attempt to import from security_monkey/pluggable/s3.py if it exists, and if so, do a dir() on the module and execute any methods beginning with check_*.
So @echiu64, let me know what you think of some of these ideas.  Which ones would add value for you?

Oh i didn't mean to say the current ruleset was opinionated. I wanted to add in some rules that I feel may be overly opinionated or others may find opinionated?
@monkeysecurity I like all these ideas... I haven't looked at the code too deeply, honestly looking for the path of least resistance, so any pointers you have would be great and I can hopefully start working on it. The one thing I'd suggest is to target say 80% of the rules could be done using just json-path expressions which will make it easier for those that don't want to code any python?

@monkeysecurity After marinating for a bit, here are my thoughts.
Have pluggable/[monitor] directories, such as pluggable/s3 and then for each .py file in that directory (or recursive, depth 1), we would run methods starting with check_
This allows me to pull in other rules in rather than merge into a single file.
e.g.
pluggable/s3/logging.py and pluggable/s3/lifecycle.py
For existing rules in "core", maybe we then run all methods that start with post_ in the pluggable directory as well?
e.g. If I wanted to remove any audit issues on IAM for managed policies that have 0 attach count, I could write a post_remove_unattached_policies method and place it in pluggable/policy/unattached.py

Linking to #231 and #297 so I can close those as duplicates.

+1 on this.

I started playing with this idea a little bit.
https://github.com/monkeysecurity/cloudaudit/blob/support_config_rules/cloudaudit/aws/iam/iam_user.py
It's an extremely early work in progress, but the idea is to have rules that will work with AWS Config Rules, or security_monkey, or any other app (I'd love to work with Scout2 as well.)
Each issue has an _id so we can change the text of the issue without losing justifications, or disable the check from within the security_monkey UI, even after it has been imported into python.  Each  check will have a default_score, which implies the app using the library is capable to provide the ability to override this score.
Each check should define which fields it is using, and these fields should work with the cloudaux library.  So if you wanted to script up a check to pull all IAM Users, but only check for access keys, you could build a set of needed fields and only pull those.  (No need to pull user policies if you're only checking access keys.)

Custom auditors was implemented in #410.  I will continue work to break out audit issues into a separate library.


fix high severity vulnerability from async

Please upgrade dependencies to packages without known vulnerabilities.
This issues has been submitted to MSRC as vulnerability VULN-065752.
$ npm audit
# npm audit report

async  <2.6.4
Severity: high
Prototype Pollution in async - https://github.com/advisories/GHSA-fwr7-v2mv-hh25
No fix available
node_modules/async
node_modules/winston/node_modules/async
  tfx-cli  *
  Depends on vulnerable versions of async
  Depends on vulnerable versions of prompt
  node_modules/tfx-cli
  winston  0.4.0 - 3.0.0-rc6
  Depends on vulnerable versions of async
  node_modules/winston
    prompt  >=0.1.8
    Depends on vulnerable versions of winston
    node_modules/prompt

4 high severity vulnerabilities

Some issues need review, and may require choosing
a different dependency.
$ npm list tfx-cli
<EMAIL_ADDRESS>/home/LOM0227/code/EMF.Keptn.Extension
└──<EMAIL_ADDRESS>

Hi @lmmarsano
Thanks for heads up! We have provided PR to fix this: https://github.com/microsoft/tfs-cli/pull/410

The related PR has been merged, let me close this issue.
If you have any concerns, let us know and we reopen it.
Thanks!


add .github/CODEOWNERS

Adding a CODEOWNSERS file would help GitHub propose more accurate reviewers when you open a pull request.
Currently a draft, to check if it is something we can implement.
To make it work, engineers require write permissions on the repository.

On hold for a couple reasons:

team reorg is happening Real Soon Now (next sprint?)
creation/auditing of existing rhd/rhdh groups needs to happen to clean things up, make them consistent, and document maintenance steps

Once the above is sorted we can switch this PR to use groups of SMEs instead of individual SMEs.


Refactor the ESP32 example application

Problem
The ESP32 example application should be using FreeRTOS tasks(like the EFR32, nRF5 examples) instead of a while loop with a sleep. Because of this it currently needs to poll the buttons to use them.
Proposed Solution
Switch to the AppTask model the other examples use and update the buttons to be interrupt based, if possible.

SW BRB: Is this still needed? @sagar-apple

SW BRB: Is this still needed? @sagar-apple

This is a "nice to have" as the current example isn't really pretty and may not be the best example application of a CHIP accessory on an ESP32. Specifically when it comes to power consumption and such.

This is a "nice to have" as the current example isn't really pretty and may not be the best example application of a CHIP accessory on an ESP32. Specifically when it comes to power consumption and such.

@sagar-apple please confirm this issue is still relevant? if so, I'll start working on it

Yes the esp32 app is still not using freeRTOS tasks. This would be a nice to have.

@woody-apple I will take a look


Update sharepoint-connector-actions-triggers.md remove references to …

…SP 2013
Removing SP 2013 references to avoid confusion on the supported state of SP 2013
Category

[x] Content fix
[ ] New article
[ ] Example checked item (delete this line)

DELETE THIS LINE BEFORE SUBMITTING | For the above list, an empty checkbox is [ ] as in [SPACE]. A checked checkbox is [x] with no space between the brackets. Use the PREVIEW tab at the top right to preview the rendering before submitting your issue.

Related issues

fixes #issuenumber
partially #issuenumber
mentioned in #issuenumber

DELETE THIS LINE BEFORE SUBMITTING | If this fixes (aka: closes) or references an issue, please reference it here. This helps maintaining the issue list as it will (1) link the PR to the issue & (2) automatically close the issue when this PR is merged in.

What's in this Pull Request?

DELETE THIS LINE BEFORE SUBMITTING | Please describe the changes in this PR. Sample description or details around bugs which are being fixed.

Submission guidelines

!!IMPORTANT!! - All submissions must complete the baseline sections included in this template. Ignoring or deleting this template may result in closing the issue with the label type:incomplete-submission.
Follow our guidance on How To Create Good Pull Requests.
Target the main branch of this repo.
When changing a page, ensure you update the ms.date front matter wih the current date in the format MM/DD/YYYY.
Review all build checks and address the automated errors, warnings, and suggestions.
NOTE: The live site is based on the live branch. Site owners periodically refresh live branch from the main branch so merged PRs won't immediately appear on the live site. Please be patient to see your changes appear on the live site.

DELETE THIS SECTION BEFORE SUBMITTING

Thank you for the submission, but we don't want to remove this due to it's all still relevant. Just because a product isn't supported, there could be many customers still using it and we don't want to purge the documentation of what is still accurate & true.
BTW, in the future please follow the instructions in the PR template by completing the template provided.


Big "THANK YOU" to developers

This is not really an issue.
I just want to take the time to say "THANK YOU" (yes, in capital letters) to lit-element and lit-html's developers. A special mention goes to @justinfagnani
Every time I trace the code for debugging, I discover something awesome lit-html or lot-element does. My applications are immensely fast. And the level of support they all provide is incredible. You can see it in these very issues.
This is free/open source software at its best.
The internet world would be a much sadder place without these technologies.
"THANK YOU".

I've always wanted to thank the team like that but I thought it was not appropriate to post  here. But now that someone did I hop in the train and add my "THANK YOU" too 🤩👍
Polymer has really made my life easier. The web is always evolving but Polymer is what really helped me to kickstart many of my projects.
Thanks to everyone

Closing this issue as unable to reproduce 🤪
j/k thank you so much for the encouragement, we really, really appreciate it! We're very glad that our choices have ended up working out so well for developers, and we love our community!

Making other developers successful is what we live for. You're welcome and thank you and our entire community!


python310Packages.pysam: 0.18.0 -> 0.19.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.pysam is: "A python module for reading, manipulating and writing genome data sets"
meta.homepage for python310Packages.pysam is: "https://pysam.readthedocs.io/"
meta.changelog for python310Packages.pysam is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.19.0 with grep in /nix/store/0z0b4jh8g3aryy4nfmdnayjadyhvy7r6-python3.10-pysam-0.19.0

found 0.19.0 in filename of file in /nix/store/0z0b4jh8g3aryy4nfmdnayjadyhvy7r6-python3.10-pysam-0.19.0

Rebuild report (if merged into master) (click to expand)

16 total rebuild path(s)

9 package rebuild(s)

9 x86_64-linux rebuild(s)
7 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
deeptools
python310Packages.HTSeq
python310Packages.cnvkit
python310Packages.pysam
python39Packages.HTSeq
python39Packages.cnvkit
python39Packages.pysam
tebreak
truvari

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0z0b4jh8g3aryy4nfmdnayjadyhvy7r6-python3.10-pysam-0.19.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.pysam https://github.com/r-ryantm/nixpkgs/archive/5d3e7dbd758d2eba60c093766815985a1a4d8a6a.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0z0b4jh8g3aryy4nfmdnayjadyhvy7r6-python3.10-pysam-0.19.0
ls -la /nix/store/0z0b4jh8g3aryy4nfmdnayjadyhvy7r6-python3.10-pysam-0.19.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

python310Packages.cnvkit
python39Packages.cnvkit

7 packages built:

deeptools
python310Packages.HTSeq
python310Packages.pysam
python39Packages.HTSeq
python39Packages.pysam
tebreak
truvari

Maintainer pings
cc @unode for testing.

Hi everyone, I don't currently have the bandwidth to troubleshoot cnvkit failures, so feel free to step in if you do.

Merged into staging by 96f687b96c87d181d93296cff09c8a302443a7fe.


Short stack should update itself

It currently doesn't check for updates...

That would be a nice feature. Maybe we should work on this once 1.0 ships. yes?

I'll knock this out. Should be pretty easy. Basically if the working copy is clean, it can do a pull. If it is dirty, that means you are probably working on it. If a dirty working copy is found it will warn the user and not update the project.


add tooltips for alarms grid

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The code follows the code style and conventions of this project.
[ ] The change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.

Description of the change

add tooltips for alarms grid

Motivation for the change

fix #574

@maple10001,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Could we generate type files for operation methods from json schema in openapi spec?

Perhaps with something like this:
https://www.npmjs.com/package/json-schema-to-typescript

Maybe also interesting (will look into this later):
https://github.com/mstssk/sw2dts


Enrich Makefile

Codecov Report

Merging #6 (4450047) into master (9009be3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #6   +/-   ##
=======================================
  Coverage   86.52%   86.52%
=======================================
  Files          19       19
  Lines        1788     1788
=======================================
  Hits         1547     1547
  Misses        181      181
  Partials       60       60

Impacted Files
Coverage Δ

interceptor/metrics/prom/options.go
97.84% <ø> (ø)

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 9009be3...4450047. Read the comment docs.


[cloud_infra_center] Set named allowed query range as cluster subnet range

Fixed: https://github.com/IBM/z_ansible_collections_samples/issues/73

@shhull FYI.


[BUG]Build Failure in Microsoft.Azure.Management.Subscription.FullDesktop.Tests

Describe the bug
Missing or incomplete Type
Exception or Stack Trace
SubscriptionCreationTests.ScenarioTests.cs(67,32): error CS0246: The type or namespace name 'SubscriptionCreationParameters' could not be found (are you missing a using directive or an assembly referen
ce?) [C:\Git\azure-sdk-for-net\sdk\subscription\Microsoft.Azure.Management.Subscription\tests\FullDesktop\Microsoft.Azure.Management.Subscription.FullDesktop.Tests.csproj]
SubscriptionCreationTests.ScenarioTests.cs(74,49): error CS1061: 'SubscriptionClient' does not contain a definition for 'SubscriptionFactory' and no accessible extension method 'SubscriptionFactory' ac
cepting a first argument of type 'SubscriptionClient' could be found (are you missing a using directive or an assembly reference?) [C:\Git\azure-sdk-for-net\sdk\subscription\Microsoft.Azure.Management.
Subscription\tests\FullDesktop\Microsoft.Azure.Management.Subscription.FullDesktop.Tests.csproj]

To Reproduce
Remove <ExcludeFromBuild>true</ExcludeFromBuild> and
<ExcludeFromTest>true</ExcludeFromTest> from Microsoft.Azure.Management.Subscription.FullDesktop.Tests
Attempt build using msbuild build.proj /t:Runtests /p:Scope=subscription- v:m
Expected behavior
Build Fails.

Build was failing before repo restructure.


 If the triggering attack is a critical hit, the radius is instead equal to your proficiency bonus."
I can safely say, that this doesn't work. It is until they are dead currently :)

Won't look into this one unless I have a save and a screenshot with the condition tooltip displaying.

Tooltip:

Send you a pm with the save file

fixed in dev.


Is it possible to animate a Chips background like the EventFilterView?

I want to make a chip animate its background like the EventFilterView of this project does. How can I achieve this?

Chips backgrounds are tied to MaterialShapeDrawable to power shape theming and as such, you can't really customise their drawing. This is why we implemented our own widget here.


Updating to 1.35.2+ breaks local supabase start for ARM-based Mac

Bug report
Describe the bug
After v1.35.2 was introduced, my Mac M1 struggles to start the supabase_pg_meta_* image.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

On a Mac M1 (or possibly any ARM-based Mac), set up a new Supabase CLI with version 1.35.2 (also happens with latest 1.35.3)
Run supabase start
Notice the following error logs in the supabase_pg_meta_* image:

(node:19) ExperimentalWarning: Importing JSON modules is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
node:internal/modules/cjs/loader:1249
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/src/app/node_modules/libpg-query/build/Release/queryparser.node)
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1249:18)
    at Module.load (node:internal/modules/cjs/loader:1043:32)
    at Function.Module._load (node:internal/modules/cjs/loader:878:12)
    at Module.require (node:internal/modules/cjs/loader:1067:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/usr/src/app/node_modules/libpg-query/index.js:1:17)
    at Module._compile (node:internal/modules/cjs/loader:1165:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
    at Module.load (node:internal/modules/cjs/loader:1043:32)
    at Function.Module._load (node:internal/modules/cjs/loader:878:12) {
  code: 'ERR_DLOPEN_FAILED'
}

Expected behavior
I expected to be able to start Supabase locally. After downgrading to v1.35.1, I am able to get the expected behavior which leads me to believe there is a regression in 1.35.2 when pgmeta was updated in this PR
Screenshots
If applicable, add screenshots to help explain your problem.
System information

OS: macOS Ventura 13.1 M1
Browser (if applies) N/A
Version of supabase-js: v2.4.1
Version of Node.js: v19.5.0

Additional context
Add any other context about the problem here.

Thanks for reporting. I've reverted pgmeta to v0.60.3 which is known to work.


Create DOCKER_USER variable for developer to build and push docker image for test

What this PR dose?
Create DOCKER_USER variable for developer to build and push docker image for test
Why we need it?
Before this PR, if we want to build and push a docker image for test, we may do with the following steps:
Approach 1

Change Makefile and modify surenpai/devops-controller:$(VERSION)-$(COMMIT) to johnniang/devops-controller:$(VERSION)-$(COMMIT)
Execute command: make docker-build-push-controller

Approach 2

Execute make docker-build-push-controller
Execute docker tag surenpi/devops-controller:dev-v3.2.0-alpha.1-7244edd johnniang/devops-controller:dev-v3.2.0-alpha.1-7244edd
Execute docker push johnniang/devops-controller:dev-v3.2.0-alpha.1-7244edd

But now, we just need to execute DOCKER_USER=johnniang make docker-build-push-controller to archive task above.
/kind feature

Due to https://github.com/LinuxSuRen/open-source-best-practice/issues/33, I'm going to close this PR and let this chance leave to new contributors.
/close


CTD on startup

Oni2 version: d5cd5028
Windows 10 build: 18363
Extensions: none (I think, see below for more details)
I don't know what the previous version I was running is, but if I am correct in assuming the CHANGES_CURRENT.md diffs your previous version and the new one downloaded, this should help I hope!
CHANGES_CURRENT.md
The issue is as it sounds, when I run the executable it hangs for a variable amount of time (between 0.5 and 6 seconds) and then crashes. It seems that my inputs do not affect this period, and no particular file is in view when the crash occurs.
What I've tried:

Reinstalled from executable
Removed %LOCALAPPDATA%\Oni2 (I think this cleared out my loaded extensions, but it is possible I missed something)

It also seems that the stable build does still work as expected, so I'll use that version in the meantime. Thank you for you hard work! I'll be looking forward to a solution for this issues, and if you have any questions let me know!

Thanks for logging the issue and all the details @sandersac - much appreciated! Sorry you hit this!
I can reproduce as well - looking into this. I suspect it's a regression from one of the OCaml upgrades:

https://github.com/onivim/oni2/pull/3531
https://github.com/onivim/oni2/pull/3536

Working on bisecting so I can pull out the offending commit -

No problem, things like this happen! I'm honestly just thrilled you were able to reproduce it so quickly - I was a bit concerned that it was an oddity with my PC instead of a problem with Oni2. Thanks again for your hard work, best of luck!

Looks like it is related to the OCaml 4.12 upgrade (or at least, after reverting, I know longer reproduced...). Needs more investigation to understand the root cause, but in the meantime I'll revert that commit and kick off a new nightly - 🤞 no more crashes!

The nightly is out w/ OCaml 4.12 reverted - but looking into the crash some more with WinDbg:
(5590.49b4): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
Oni2_editor!tree_sitter_c+0x2e2ac4:
00000000`00d84b74 8b10            mov     edx,dword ptr [rax] ds:00000000`00000000=????????
0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************
...

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress:<PHONE_NUMBER>d84b74 (Oni2_editor!tree_sitter_c+0x00000000002e2ac4)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]:<PHONE_NUMBER>000000
   Parameter[1]:<PHONE_NUMBER>000000
Attempt to read from address<PHONE_NUMBER>000000

FAULTING_THREAD:  000049b4

PROCESS_NAME:  Oni2_editor.exe

READ_ADDRESS:<PHONE_NUMBER>000000

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:<PHONE_NUMBER>000000

EXCEPTION_PARAMETER2:<PHONE_NUMBER>000000

STACK_TEXT:
00000000`05ece8f0 00000000`00d65615 : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`1526f928 : Oni2_editor!tree_sitter_c+0x2e2ac4
00000000`05ece940 00000000`00d6a867 : 00000000`00000000 00000000`05ecea39 00000000`00000000 00000000`00152100 : Oni2_editor!tree_sitter_c+0x2c3565
00000000`05ece970 00000000`00d86541 : 00000000`00000000 ffffffff`fffffffe 00000000`1b4d7eb0 00000000`05ecea01 : Oni2_editor!tree_sitter_c+0x2c87b7
00000000`05ece9e0 00000000`00000000 : ffffffff`fffffffe 00000000`1b4d7eb0 00000000`05ecea01 4073d000`00000000 : Oni2_editor!tree_sitter_c+0x2e4491

STACK_COMMAND:  ~0s ; .cxr ; kb

SYMBOL_NAME:  Oni2_editor!tree_sitter_c+2e2ac4

MODULE_NAME: Oni2_editor

IMAGE_NAME:  Oni2_editor.exe

FAILURE_BUCKET_ID:  NULL_POINTER_READ_c0000005_Oni2_editor.exe!tree_sitter_c

...
---------

It seems the crash is originating in our tree-sitter code... which is surprising for a few reasons:

It hasn't been touched a while
It shouldn't be running by default

Looks like the tree-sitter aspect was a red-herring, but some more details here: https://github.com/ocaml/ocaml/issues/10422

Should be fixed now with https://github.com/onivim/oni2/pull/3594 ! Thanks again for reporting, let me know if you see any other issues in the latest builds


Add Binary Search Tree

Adds binary search tree under a new 'Trees' folder.
Includes insert, remove, Inorder traversal, Preorder traversal, Postorder traversal. Both iterative and recursive.
Has the time and space complexities where ever applicable

@faheel The requested changes have been made.

I just realised that traversal of a data structure isn't a part of. It's just an algorithm that is applied to a data structure to access it's elements.
I therefore think that all the traversal algorithms should be implemented separately in the Tree/BinarySearchTree/Traversal folder, and the rest of the code for BST should be added to the DataStructures/Trees/BinarySearchTree folder.
Do comment and let me know your view on this.

I had thought about it before my PR, but I decided against it.

It would lead to a very confusing arrangement for any beginner who is looking to understand the working from this code.
In-order, pre-order and post-order traversals are almost always associated with Binary search trees.

Any views on my comments?

@varunjm I've troubled you enough :smile:. It's time to merge!

Thanks a lot for your contribution and patience! :smiley:

@faheel I dont mind it at all. Great working with you.

This will also hekp me. I am open to criticism. Please let me know of any possible improvments i can implement
Sent from my Sprint Samsung Galaxy S7.
-------- Original message --------From: Varun Jayathirtha<EMAIL_ADDRESS>Date: 6/27/17  7:01 AM  (GMT-06:00) To: faheel/Algos<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [faheel/Algos] Add Binary Search Tree (#38)
@faheel I dont mind it at all. Great working with you.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/faheel/Algos","title":"faheel/Algos","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/faheel/Algos"}},"updates":{"snippets":[{"icon":"PERSON","message":"@varunjm in #38: @faheel I dont mind it at all. Great working with you. "}],"action":{"name":"View Pull Request","url":"https://github.com/faheel/Algos/pull/38#issuecomment-311337399"}}}


Refactor test cases

Overview of changes:

DRY up benchmarks by extracting out the shared code between the two button iteration benchmarks for each case
Generate the source style objects/stylesheets before the timed loops. This yields a more accurate benchmarking of the CSS-in-JS libraries as now only the actual conversion from these source styles to CSS is timed.
Optimized benchmarks by eliminating redundant object literal instantiation for glamor and cxs where there's no need for an actual "stylesheet" object. Before, this would make glamor and cxs and glamor perform worse than they would in a real-world use case, where styles would be colocated in each component instead of in some separate "stylesheet" object.

Hey @rtsao, thanks for your contribution again. I don't like the way you're DRYing up the app, I did this on purpose because I wanted every case to be editable by itself without interdependencies.

I will check out the stuff you did with CXS and glamor though, makes sense to not generate a stylesheet object for that.

I've reverted the second commit, so there's no longer any code sharing between the two button class/style overload benchmarks.

Let me know if there's any further changes you'd like 😄

Hey @rtsao, thanks this was just regarding a personal taste for benchmark tests, that you can go into one test and see instantly what's happening. There's also a blog post that goes along with this (not yet published though). I will check out your other changes first thing tomorrow. Thanks a lot for contributing.

No worries, thanks for making the repo 👍

I've just squashed the commits and cleaned up some diff noise so the changes should be more clear.

LGTM 👍

Thanks! I suppose it's probably worth re-running the benchmarks for the README as the timings will now be more accurate.

Was about to do that 😄. I saw you also have your own CSS-in-JS lib, care to contribute that one as well?


feat: do not allow whitespace before commits

makes commit messages like  feat: do foo to bar invalid.

@scarf005 this has now been deployed (apologies for the delay!)
https://github.com/Ezard/semantic-prs/releases/tag/v0.3.0


Incorrect behavior of sortBy

Compiler version
If you're not sure what version you're using, run print scalaVersion from sbt
(if you're running scalac manually, use scalac -version instead).
3.5.1
Minimized code

package tlr2

import scala.collection.mutable

case class Timestamp(sec: Int = 0, nanosec: Int = 0)

object Timestamp:

  def compare(t1: Timestamp, t2: Timestamp): Int =
    val result =
      if t1.sec < t2.sec then
        -1
      else if t1.sec > t2.sec then
        1
      else if t1.nanosec < t2.nanosec then
        -1
      else if t1.nanosec > t2.nanosec then
        1
      else
        0
    println(s"Compare: $t1 $result $t2")
    result

  given Ordering[Timestamp] with
    def compare(t1: Timestamp, t2: Timestamp): Int =
      Timestamp.compare(t1, t2)

trait Event:
  def dispatched: Option[Timestamp]

case class Clock(
  clock: Timestamp
) extends Event:
  def dispatched: Option[Timestamp] = Some(clock)

trait MexecStatistics extends Event

case class Stats(
    timestamp: Timestamp
) extends MexecStatistics:
  def dispatched: Option[Timestamp] = Some(timestamp)

object test2:

  def main(args: Array[String]): Unit =

    val zero = Timestamp()

    val rollingWindow: mutable.Buffer[Event] = mutable.Buffer.empty
    rollingWindow.append(Clock(Timestamp(6,200000000)))
    rollingWindow.append(Clock(Timestamp(14,300000000)))
    rollingWindow.append(Stats(Timestamp(7,100000000)))

    println(s"Buffer before sorting")
    rollingWindow.foreach:
      e =>
        println(s"-b: ${e.dispatched} - $e")

    val t1 = rollingWindow.map(e => e.dispatched.getOrElse(zero) -> e)
    val t2 = t1.sortBy(_._1)(using Timestamp.given_Ordering_Timestamp)
    val r = t2.map(_._2)
    println(s"Result of sorting pairs by 1st element: ${r.size}")
    r.foreach:
      e =>
        println(s"-p: ${e.dispatched} - $e")

    rollingWindow.sortBy(_.dispatched.getOrElse(zero))(using Timestamp.given_Ordering_Timestamp)
    println(s"Result of sorting buffer by accessor: ${rollingWindow.size}")
    rollingWindow.foreach:
      e =>
        println(s"-a: ${e.dispatched} - $e")

Output
-b: Some(Timestamp(6,200000000)) - Clock(Timestamp(6,200000000))
-b: Some(Timestamp(14,300000000)) - Clock(Timestamp(14,300000000))
-b: Some(Timestamp(7,100000000)) - Stats(Timestamp(7,100000000))
Compare: Timestamp(14,300000000) 1 Timestamp(6,200000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) 1 Timestamp(6,200000000)
Result of sorting pairs by 1st element: 3
-p: Some(Timestamp(6,200000000)) - Clock(Timestamp(6,200000000))
-p: Some(Timestamp(7,100000000)) - Stats(Timestamp(7,100000000))
-p: Some(Timestamp(14,300000000)) - Clock(Timestamp(14,300000000))
Compare: Timestamp(14,300000000) 1 Timestamp(6,200000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) 1 Timestamp(6,200000000)
Result of sorting buffer by accessor: 3
-a: Some(Timestamp(6,200000000)) - Clock(Timestamp(6,200000000))
-a: Some(Timestamp(14,300000000)) - Clock(Timestamp(14,300000000))
-a: Some(Timestamp(7,100000000)) - Stats(Timestamp(7,100000000))

Expectation
The order of elements in 'Result of sorting buffer by accessor: 3' should be the same as that of 'Result of sorting pairs by 1st element: 3'; i.e.:
-b: Some(Timestamp(6,200000000)) - Clock(Timestamp(6,200000000))
-b: Some(Timestamp(14,300000000)) - Clock(Timestamp(14,300000000))
-b: Some(Timestamp(7,100000000)) - Stats(Timestamp(7,100000000))
Compare: Timestamp(14,300000000) 1 Timestamp(6,200000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) 1 Timestamp(6,200000000)
Result of sorting pairs by 1st element: 3
-p: Some(Timestamp(6,200000000)) - Clock(Timestamp(6,200000000))
-p: Some(Timestamp(7,100000000)) - Stats(Timestamp(7,100000000))
-p: Some(Timestamp(14,300000000)) - Clock(Timestamp(14,300000000))
Compare: Timestamp(14,300000000) 1 Timestamp(6,200000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) -1 Timestamp(14,300000000)
Compare: Timestamp(7,100000000) 1 Timestamp(6,200000000)
Result of sorting buffer by accessor: 3
-a: Some(Timestamp(6,200000000)) - Clock(Timestamp(6,200000000))
-a: Some(Timestamp(7,100000000)) - Stats(Timestamp(7,100000000))
-a: Some(Timestamp(14,300000000)) - Clock(Timestamp(14,300000000))

The sortBy method on mutable buffers inherits its sortBy method from collection.SeqOps which returns a new collection with the result sorted according to the available ordering. It does not update the collection it is called upon even though its name suggests that it does. It should in hindsight have been called sortedBy to make this fact more explicit. Perhaps an in-place mutating analogue sortByInPlace could be added for mutable collections to help the user choose the correct variant.
If you change the last section of your example as shown below you will see the expected results:
val r2 = rollingWindow.sortBy(_.dispatched.getOrElse(zero))(using Timestamp.given_Ordering_Timestamp)
    println(s"Result of sorting buffer by accessor: ${r2.size}")
    r2.foreach:
      e =>
        println(s"-a: ${e.dispatched} - $e")

Thanks for the clarification; the confusion stems in part from the collection.SeqOps document.
Look at appended, paddTo, prepended, reverse, and updated where the doc explicitly states that it returns a "copy" or a "new sequence".
A few methods should also use similar language: diff, distinct, intersect, sortBy, and sorted.
If anything, I suggest improving the consistency of the API documentation to make it explicitly clear when the result is a new collection; this could help avoid adding something like sortByInPlace unless otherwise warranted.


Hash-based Etags?

Etags are the recommended mechanism for handling 304 responses. They can be generated by webservers, but they're often not as optimal as they could be.
Since an Etags should change if-and-only-if the response has changed, could we build something into the framework to generated Etags based on a hash of the content? If we did this, could we avoid the use of last-modified headers?
In SS4 this could be done as a middleware that

Generated the etag header
Returned a 304 response instead of the full body when appropriate (noting that it the response would still have to be generated, but at least network comms can be reduced)

A last-modified header could also be generated (and an if-modified-since request header handled) if we were to keep track of the last time the etag changed. However, from what I can see, last-modified is deprecated in favour of etag and so this might be redundant.
This middleware should use a pre-existing Etag if there is already one on the incoming HTTPResponse.

I think an ETag computed from the body of the response is the safest and most reasonable response we can make. It'd also make our ETags compatible with the staticpublishqueue module
It also provides protection against caching across user requests or requests where the CSFR token has changed (as the ETag will change if the CSFR token or personal information embeded in the page changes) - it will also protect against caching forms with error responses or pre-filled data.

It would also protect against rapidly changing content like draft versions that a CMS user might be editing within the default max-age limit for a request

Do we need to build the ETag on the full body?
From the Etag Wikipedia article it sounds like you can use whatever you want as long as the hash is unique at the other end:

The method by which ETags are generated has never been specified in the HTTP specification.
Common methods of ETag generation include using a collision-resistant hash function of the resource's content, a hash of the last modification timestamp, or even just a revision number.

I'm thinking it could open some simplified implementation option if we just did it on the revision ID.

What is a revision ID? If it's the literal DB revision ID of the page, then that says nothing about CSFR tokens. What if there are no CSFR tokens? Sure, what if we show a gallery of images objects, do we use the revision ID of the page, of a gallery object, of come other relation? Different objects could share revision IDs as they are ints and not UUIDs. The list goes on.
I'm not sure there's any more reliable way to generate an ETag for a response than the hash of its content. That is surely the truest way to know if the content changed between revisions

Getting a reliably accurate revision ID is a Hard Problem, similar in scope to a 100% complete upgrader tool. ;-)

I think this is medium priority at best, since the network load of a typical dynamic (usually text/html) HTTP response is negligible compared to the overhead of creating it in the first place - and we'd still need to do that in order to generate the ETag. It only starts to matter in high traffic situations, which you could argue have custom caching setups (e.g. staticpublisher plus Nginx plus CDN) anyway. If you're trying to create dynamic responses in high traffic situations, you're already losing, regardless of network traffic savings.

I think the main value of this would be to help people avoid introducing bugs by badly generating last-modified headers, making the platform more set & forget. I'll see if I can describe the issue more fully after to chatting to others.
But medium priority is still probably true, and certainly not critical enough to warrant a 3.x backport.

OK so Etag generation as described in this has been implemented for 3.7 in https://github.com/silverstripe/silverstripe-framework/pull/8086.
Once that gets ported to 4.x then the most important part of this card will be done; the only remaining piece will be 304 generation, which isn't as important as passing nice etags up the chain.

I think generating good etags is important for letting a CDN do it's job well regardless of how intensive it is on the server / how much time is saved when the origin is actually hit.

Yeah I missed that you'd actually done this in 8086 ;-)
Sending 304 responses when an If-None-Match header is received is less important, but still nice.

Also, 304 responses are useful because they allow the browser to render the page must faster; CSS and other static assets can all be cached and rendered immediately rather than parsing the HTML and fetching the assets again from the server, so there is an improvement in speed for users who get a 304 response even if the TTFB is the same.

FYI: This will be fully solved once 8086 is forward-ported to v4

#8086 is now forward ported to v4, so I'm going to close this.


undefined symbol: grpc_google_iam_credentials_create

Hi, when import the *_pb2.py which generated by run_codegen.sh, I got following ImportError:
Traceback (most recent call last):
  File "q_db_op.py", line 2, in <module>
    import db_op_pb2
  File "/data/server/grpc/db_op_pb2.py", line 331, in <module>
    from grpc.early_adopter import implementations
  File "/usr/local/lib/python2.7/dist-packages/grpc/early_adopter/implementations.py", line 34, in <module>
    from grpc._adapter import fore as _fore
  File "/usr/local/lib/python2.7/dist-packages/grpc/_adapter/fore.py", line 38, in <module>
    from grpc._adapter import _intermediary_low as _low
  File "/usr/local/lib/python2.7/dist-packages/grpc/_adapter/_intermediary_low.py", line 57, in <module>
    from grpc._adapter import _low
  File "/usr/local/lib/python2.7/dist-packages/grpc/_adapter/_low.py", line 31, in <module>
    from grpc._adapter import _c
ImportError: /usr/local/lib/python2.7/dist-packages/grpc/_adapter/_c.so: undefined symbol: grpc_google_iam_credentials_create

and the platform is ubuntu 14.04.
Any feedback will be appreciated.

Do you have an old system install of libgrpc?

I don't know whether I have an outdated system install of libgrpc, but I install grpc many times with different methods, and the issue still exists.
I want to know how to remove grpc compeletly?
thanks...

Removal might depend on how you installed libgrpc in the first place. What problems are you having with uninstallation? Do you have "libgrpc" files under /usr/local/lib, and if so, is uninstalling gRPC more than just a matter of removing those files?

A good place to start to handle all possible installs on the command-line is
$ locate libgrpc

(you might need to sudo updatedb before that)
Determine the prefixes from there, e.g. you might see:
$ locate libgrpc
...
/usr/local/lib/libgrpc.so
...

The local prefix would mean you probably installed from source (or other manual non-packager means) at some point. Those will need to be removed manually. This includes headers under the prefix, e.g.:
/usr/local/include/grpc

If you already know POSIX root folder hierarchy and how package managers tend to work with them, feel free to ignore the following:
If the prefix looks like
/lib/...
/usr/lib/...
/usr/include/...

as opposed to
/usr/local/lib/...

(note the local)
Then that's likely a system install. You'll want to use your package manager to uninstall it.

Thanks for everyone's replay.
Finally I use docker img to replace manually install.

Glad to hear that you're moving forward - feel free to contact us again if you encounter other obstacles.


chore: Automate releases.

This adds release automation from GitHub, so I can make a vX.Y.Z tag and the release notes populate automatically and a release goes to PyPI.
We previously were not using PyPI for releases (preferring downloading a ZIP from GitHub instead), but moving to PyPI means I can use Renovate on the AIP repos, which is valuable because it allows me to "self-approve" version bumps that come from the bot.

As always with these kinds of PRs, there is about to be some thrashing. :-)

@jgeewax This now is ready and actually works.


Specify Maven classifiers / types as part of PURLs / metadata

Maven has the concept of a classifier that "distinguishes artifacts that were built from the same POM but differ in content". An example is the struts2-assembly dependency which has "lib", "min-lib" etc. variants that also are ZIPs instead of JARs (see Maven's "type").
As contents between such artifact variants differ, e.g. different vulnerabilities may apply. Also, when trying to use the PURL to construct the exact download location of the artifact for further inspection, that is not possible in this case without knowing about the classifier and type.
PURL already specifies how to map Maven classifier and type to its qualifiers, so it would be nice to have them there. Additionally, maybe a package's metadata object in GitHub's dependency submission API could be used to also list these properties.

I had always intended to do this, but I couldn't figure out where to get this information out of the Gradle API. Hoping that @bigdaz has a better idea where to find this information

I couldn't figure out where to get this information out of the Gradle API.

That's indeed something I've been banging my head for, too. In ORT, we currently have some not-so-nice code that searches all resolved artifacts for the id of a ResolvedComponentResult, which seems rather inefficient. It would be nice to learn if there's a better way...

Oh, interesting! You should consider presenting ORT to the Open Source Security Foundation in one of the WG meetings.
https://openssf.org/getinvolved/
https://slack.openssf.org

You should consider presenting ORT to the Open Source Security Foundation

I was actually assuming OSSF to already be aware of ORT as both are Linux Foundation projects in more or less the same domain 😉 But I'll reach out on Slack, thanks!

In ORT, we currently have some not-so-nice code that searches all resolved artifacts for the id of a ResolvedComponentResult, which seems rather inefficient. It would be nice to learn if there's a better way...

To add to that, the challenge is that also when determining the classifier / type of a (Maven) artifact, you don't want to download the (binary) artifact itself, but just its metadata, for performance reasons. I'm not sure if that's even possible with Gradle right now, or if the resolution process in this case always triggers the download of the artifact.

I couldn't figure out where to get this information out of the Gradle API.

For reference, @ov7a just mentioned over here that not API is planned for this, and that Maven classifiers should be parsed from the file name...

@bigdaz, since you assigned this to yourself, is there any time frame for adding support for this?

@sschuberth No, I don't have any plans to tackle this soon.