fix(chart): allow scaling etcd via replicaCount and Helm upgrade

Description
The etcd chart dynamically sets this value based on whether Helm is installing or upgrading. We shouldn't pin it to "new"
Motivation and Context
See https://github.com/openebs/mayastor/issues/1732 and fixes https://github.com/openebs/mayastor/issues/1659
It's supposed to be possible to scale etcd via the replica count with Helm.
How Has This Been Tested?
Tested via setting both initialClusterState to "existing" and changing replicaCount.
We then see on etcd-1 something like:
etcd 15:04:14.85
etcd 15:04:14.85 Welcome to the Bitnami etcd container
etcd 15:04:14.85 Subscribe to project updates by watching https://github.com/bitnami/containers
etcd 15:04:14.85 Submit issues and feature requests at https://github.com/bitnami/containers/issues
etcd 15:04:14.85
etcd 15:04:14.85 INFO  ==> ** Starting etcd setup **
etcd 15:04:14.86 INFO  ==> Validating settings in ETCD_* env vars..
etcd 15:04:14.86 WARN  ==> You set the environment variable ALLOW_NONE_AUTHENTICATION=yes. For safety reasons, do not use this flag in a production environment.
etcd 15:04:14.87 INFO  ==> Initializing etcd
etcd 15:04:14.87 INFO  ==> Generating etcd config file using env variables
etcd 15:04:14.88 INFO  ==> There is no data from previous deployments
etcd 15:04:14.88 INFO  ==> Adding new member to existing cluster
etcd 15:04:14.98 INFO  ==> Loading env vars of existing cluster
etcd 15:04:14.99 INFO  ==> Obtaining cluster member ID
etcd 15:04:14.99 INFO  ==> Starting etcd in background
etcd 15:04:28.10 INFO  ==> Stored member ID: 2c17af324709f873
etcd 15:04:28.10 INFO  ==> Stopping etcd

Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added unit tests to cover my changes.

@michaelbeaumont seems we should probably add in the release notes users should modify this variable to existing?

ping @datacore-tilangovan

seems we should probably add in the release notes users should modify this variable to existing?

Honestly not 100% on how exactly Helm will merge values in this case... will it be reset back to empty on upgrade if we remove it in the upstream chart? If not then yes, users should set it to existing

I tried upgrading with --reset-then-reuse-values and it works, the value is now "existing" :)
I do face an issue where when deleting etcd-0 pod it goes into crashloop:
etcd 21:29:41.61 INFO  ==> Updating member in existing cluster
{"level":"warn","ts":"2024-09-10T21:29:41.649Z","logger":"etcd-client","caller":"v3@v3.5.6/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc0001d4000/mayastor-etcd-0.mayastor-etcd-headless.mayastor.svc.cluster.local:2379","attempt":0,"error":"rpc error: code = NotFound desc = etcdserver: member not found"}
Error: etcdserver: member not found

But I was able to reproduce even with "new", so I think this is non-related. @datacore-tilangovan any clues here?

bors merge


OIDC https://token.actions.githubusercontent.com/ should be https://token.actions.githubusercontent.com

Here:
https://docs.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-cli%2Clinux#add-federated-credentials
Has:
az rest --method POST --uri 'https://graph.microsoft.com/beta/applications/<APPLICATION-ID>/federatedIdentityCredentials' --body '{"name":"<CREDENTIAL-NAME>","issuer":"https://token.actions.githubusercontent.com/","subject":"repo:organization/repository:environment:Production","description":"Testing","audiences":["api://AzureADTokenExchange"]}'

It should be:
az rest --method POST --uri 'https://graph.microsoft.com/beta/applications/<APPLICATION-ID>/federatedIdentityCredentials' --body '{"name":"<CREDENTIAL-NAME>","issuer":"https://token.actions.githubusercontent.com","subject":"repo:organization/repository:environment:Production","description":"Testing","audiences":["api://AzureADTokenExchange"]}'

https://token.actions.githubusercontent.com without a slash at the end.
If you have a slash, then you get this error:
Error: : AADSTS70021: No matching federated identity record found for presented assertion. Assertion Issuer: 'https://token.actions.githubusercontent.com'. Assertion Subject: 'repo:jongio/ghazoidctest1:ref:refs/heads/main'. Assertion Audience: 'api://AzureADTokenExchange'.

This is in a lot of places: https://github.com/search?q=azure+https%3A%2F%2Ftoken.actions.githubusercontent.com&type=Code

This is updated in action readme and MS docs. @juliakm /@n-usha what about the other places ? Whom should we contact for the updates?

Closing this issue as the official docs are updated.


A Super parameter

https://github.com/csbhr/CDVD-TSP/blob/a9bfcae1c369a0444d5ccb900ff91681a4b82f31/code/option/template.py#L6
What does this superparameter do, I feel that the number of image frames in each category is not exactly equal to this value

This hyper-parameter sets an upper limit on the number of frames used for each video sequence.
If the number of frames in the training sequence is greater than 100, we only take the first 100 frames for training.


Look for RCDS tarball in all repositories each try

During discussion of #324, @vitodb brought up a very good idea for how to handle retries for RCDS tarball discovery on worker nodes when we skip the RCDS check at submission time:
Here:
https://github.com/marcmengel/jobsub_lite/blob/8d7c592bcc686236e68d466f1236fd4a763e96a9/templates/simple/simple.sh#L216
And the corresponding place for --tar-file-name values,
Instead of randomizing our search for the tarballs across all the possible RCDS repositories, and sleeping after each attempt, it is rather inexpensive to just check for the  existence of the directory. Therefore, we should just search for all of the possible locations, and then sleep if none of them work, and try again.
This would look something like, in pseudocode:
fnamelist=({{fname}})
slp=30
max_retries=40
num_retries=0

while [ num_retries -lt max_retries ]; do
  num_tries=$(($num_tries + 1))
  fnamelist=( `shuf -e "${fnamelist[@]}"` )  # shuffle our list

  for candidate_fname in ${fnamelist[@]}; do
    if test -f "${candidate_fname}"; then
        copy_file_in()
        break 2 # break out of both loops
    else
      if [[ $num_tries -eq $max_retries ]]; then
           echo "FAILED"
           break
      fi
    fi
  done

  sleep $slp  # We didn't find anything, so sleep
done

And something similar for the --tar-file-name bit except we're looking for directories, not files.
It's not like the current way is slow, but this should speed it up, and since it's a relatively inexpensive operation to check the mount points for the existence of files or directories, we might as well take advantage of that.

@vitodb also added that perhaps it would be good if the job would fail (exit 1 or something) if the tarball couldn't be found after the max retries, rather than saying "The job might fail".  We should check with experiment stakeholders to see if such a large change in behavior is OK with them.  I think it's a good idea.

Asked users about the latter question (making jobs fail if tarball isn't found).  So far, no objections, though we are giving users until 4/14/23 to object.

I have this mocked out.  RCDS is currently experiencing a degradation, so I can't fully test this yet.

Finished all tests, and all pass.
Tests:
Check for RCDS uploads at submit time and in job (default)

submit -f file:  PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G nova --onsite -f /pnfs/nova/scratch/users/sbhat/a  file://dash-f.sh a
<EMAIL_ADDRESS>

submit -f file1 -f file 2 - PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G nova --onsite -f /pnfs/nova/scratch/users/sbhat/a -f /pnfs/nova/scratch/users/sbhat/b file://dash-f.sh a b
<EMAIL_ADDRESS>- FAILED because file "b" didn't exist.  Retry
<EMAIL_ADDRESS>

submit -f dropbox://file1 -f file2 - PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G nova -f /pnfs/nova/scratch/users/sbhat/a -f dropbox:///home/sbhat/FileUploadTests/testfile2 --onsite file:///home/sbhat/FileUploadTests/dash-f-dropbox.sh a testfile2
<EMAIL_ADDRESS>

submit --tar-file-name tardir://dir1 --tar-file-name dropbox://file2 - PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G fermilab  --tar-file-name tardir:///home/sbhat/TestJobs/TestDir --tar-file-name  dropbox:///home/sbhat/FileUploadTests/testfiles.tar --onsite file:///home/sbhat/FileUploadTests/tar-file-name.sh 2
<EMAIL_ADDRESS>
Same tests with --skip-check, so we're almost guaranteeing retries in the job

submit -f file:  PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G nova --onsite -f /pnfs/nova/scratch/users/sbhat/a  --skip-check rcds file://dash-f.sh a

<EMAIL_ADDRESS>

submit -f file1 -f file 2 - PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G nova --onsite -f /pnfs/nova/scratch/users/sbhat/a -f /pnfs/nova/scratch/users/sbhat/b --skip-check rcds file://dash-f.sh a b

<EMAIL_ADDRESS>

submit -f dropbox://file1 -f file2 -

~sbhat/jobsub_lite/bin/jobsub_submit -G nova -f /pnfs/nova/scratch/users/sbhat/a -f dropbox:///home/sbhat/FileUploadTests/testfile2 --onsite --skip-check rcds file:///home/sbhat/FileUploadTests/dash-f-dropbox.sh a testfile2

<EMAIL_ADDRESS>
Note:  here we got lucky and found the file in the job on the first try.

submit --tar-file-name tardir://dir1 --tar-file-name dropbox://file2 - PASS

~sbhat/jobsub_lite/bin/jobsub_submit -G fermilab  --tar-file-name tardir:///home/sbhat/TestJobs/TestDir --tar-file-name  dropbox:///home/sbhat/FileUploadTests/testfiles.tar --onsite --skip-check rcds file:///home/sbhat/FileUploadTests/tar-file-name.sh 2

<EMAIL_ADDRESS>
Note:  This was a more standard test, where we saw the following in the job logs:
Looking for directory /cvmfs/fifeuser2.opensciencegrid.org/sw/fermilab/af174e40e64922f9b4d52d8d288b56c60f12c6d641525859863e16d653f3a18f on RCDS.  Try 1 of 40
Looking for directory /cvmfs/fifeuser4.opensciencegrid.org/sw/fermilab/af174e40e64922f9b4d52d8d288b56c60f12c6d641525859863e16d653f3a18f on RCDS.  Try 1 of 40

As anticipated, we randomize and then check all possible RCDS locations each try, since it's a very inexpensive operation.
This is ready for a PR.


[WIP][SPARK-33212][BUILD] Provide hadoop-aws-shaded jar in hadoop-cloud module

What changes were proposed in this pull request?

This creates a hadoop-aws-shaded jar within hadoop-cloud module, which shades Guava and relocate them to the org.apache.hadoop.shaded namespace used by the Hadoop side.
A large portion of the change involves moving hadoop-aws, hadoop-azure and hadoop-openstack under the new hadoop-2.7 profile. This is to make sure they are not included when the default hadoop-3.2 profile is active, since otherwise we'd have both hadoop-aws and hadoop-aws-shaded after build.
Why are the changes needed?

Due to HADOOP-15387, hadoop-aws module currently doesn't work with shaded Hadoop clients, namely hadoop-client-api and hadoop-client-runtime, because the former references some private API from hadoop-common which uses Guava and is shaded in hadoop-client-api. Consequently, when talking to S3 Spark users may encounter the following error:
: java.lang.NoSuchMethodError: 'void org.apache.hadoop.util.SemaphoredDelegatingExecutor.<init>(com.google.common.util.concurrent.ListeningExecutorService, int, boolean)'
	at org.apache.hadoop.fs.s3a.S3AFileSystem.create(S3AFileSystem.java:772)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1118)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1098)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:987)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:975)
	at org.apache.spark.deploy.SparkHadoopUtil$.createFile(SparkHadoopUtil.scala:510)

This PR mitigate the issue by shading hadoop-aws within Spark itself, and replace the existing hadoop-aws jar with hadoop-aws-shaded jar. This, however, shall be treated as a temporary fix and should eventually be replaced by the shaded jar from Hadoop side, once HADOOP-15387 is resolved.
Also note that, with this PR, hadoop-aws-shaded jar becomes a hard dependency, and shall be included even if hadoop-provided is specified by Spark users.
Does this PR introduce any user-facing change?

Yes, the newly introduced hadoop-aws-shaded jar becomes a hard dependency, and shall be included even if hadoop-provided is specified by Spark users.
How was this patch tested?

I manually checked the bytecode of the generated hadoop-aws-shaded jar and verified that all the Guava references are now relocated .

For users of hadoop S3A using a custom version with custom code  (such as  me), they can change hadoop build info and deploy to their own maven repo and change spark dependencies to their own maven repo.
In this way can solve problem of user who will use their own jar, right?  But it seems like a lot of work.

@AngersZhuuuu yes that should work. On the other hand, if you are building Spark with hadoop-provided option on, you can also build your own shaded hadoop-aws jar and put it in the classpath.

@AngersZhuuuu yes that should work. On the other hand, if you are building Spark with hadoop-provided option on, you can also build your own shaded hadoop-aws jar and put it in the classpath.

Thanks for your suggestion.  Is there any new developments in Hive 2.3 support for Hadoop-3.3.0? I saw this pr https://github.com/apache/hive/pull/1356  but I am not sure it will make hive run well with hadoop-3.3.0

@AngersZhuuuu you mean for Spark to work with Hive and Hadoop 3.3.0, right? the major issue is around resolving potential Guava conflicts between these components. Hadoop 3.2.1+/3.3.0+ has moved to Guava 27 while Hive/Spark are still on Guava 14. One of the motivations to move to the shaded client in Spark is to isolate the Guava dependencies on the Hadoop side. Similarly, @viirya is working on the above PR to shade Guava from Hive side.

@AngersZhuuuu you mean for Spark to work with Hive and Hadoop 3.3.0, right? the major issue is around resolving potential Guava conflicts between these components. Hadoop 3.2.1+/3.3.0+ has moved to Guava 27 while Hive/Spark are still on Guava 14. One of the motivations to move to the shaded client in Spark is to isolate the Guava dependencies on the Hadoop side. Similarly, @viirya is working on the above PR to shade Guava from Hive side.

Not only spark, we need hive can support running with hadoop-3.3.0 too. Seems doesn't look finished yet.
https://issues.apache.org/jira/browse/HIVE-21569
https://issues.apache.org/jira/browse/HIVE-22916

Ah ok. That part, as far as I know, is stuck because Hive has dependency on a old version of Spark which blocks it from upgrading Guava. Hopefully that should be unblocked after HADOOP-17288 is shipped in the upcoming release (whether that be 3.3.1 or 3.4.0). I'm not sure whether the change will go to Hive 2.3 branch though.

All right, there is still a lot of work to be done to integrate these engine with hadoop.

I am perfectly happy to have the -shaded stuff in hadoop-common, as that stops the ASF getting upset about the spark project publishing o.a.hadoop artifacts (see : org.apache.hive artifacts). Other people would be happy too. Get that in to hadoop branches 3.2 and 3.3 and you can pick it up there.
we would also want a hadoop-cloud-storage-shaded which pulled in the relevant artifacts from the other modules
Now, one troublespot will be hadoop-common dependencies, especially the fs implementation stuff. I've been trying with all recent work to put them in .impl packages so that they can be isolated for java 9 modules; there's inevitably stuff in org.apache.hadoop.fs; the committers need hadoop-mapreduce-client. Suggestions?
Anyway, I'd rather a move to java 9 modules over shading, which is a workaround designed to hide CVEs in larger JARs. We just have to make do with that now, but it doesn't mean we need to stay with it.
so: serious question. What would it take to make hadoop-* modular? As well as the module-info files, we'd need to understand what is public and what isn't...and how to deal with

mixed public/private packages
stuff we thought was private but turns out gets needed by apps
stuff needed by extension points

thoughts?

@steveloughran thanks for your comments. What is your opinion on this PR though? this allows us to move forward in parallel while waiting for a proper fix from Hadoop side (which I can also help with). It seems that Spark doesn't officially publish any jars from hadoop-cloud module though.
Personally I feel the Java 9 modules feature is promising but on the other hand it seems like a radical change, given a lot of emphasis have been around shading in Hadoop. Further, I haven't seen wide adoption of this yet within the "eco-system" and not sure if it will impose chain effects on downstream apps depending on Hadoop.

so: serious question. What would it take to make hadoop-* modular?

I think this, together with moving to modules, should be properly discussed in a Hadoop JIRA or dev list. I still have lots of homework to do regarding the modules approach, but IMO we'd have to take a close look at downstream projects (at least those within close proximity of Hadoop), and figuring out the current state. From my experience Spark is relatively loosely decoupled with Hadoop but projects such as Hive may prove to be quite different.
Within Hadoop, we should examine what is public, what is "project-private" and what is "module-private", and tighten the APIs so that even different modules within Hadoop can play more nicely with each other.

Hi, All. It turns out that master branch's normal distribution is also affected.
$ bin/spark-shell --conf spark.hadoop.fs.s3a.access.key=$AWS_ACCESS_KEY_ID --conf spark.hadoop.fs.s3a.secret.key=$AWS_SECRET_ACCESS_KEY -c spark.eventLog.enabled=true -c spark.eventLog.dir=s3a://dongjoon/ --packages org.apache.hadoop:hadoop-aws:3.2.0,org.apache.hadoop:hadoop-common:3.2.0
...
java.lang.NoSuchMethodError: 'org.apache.hadoop.conf.Configuration org.apache.hadoop.security.ProviderUtils.excludeIncompatibleCredentialProviders(org.apache.hadoop.conf.Configuration, java.lang.Class)'
  at org.apache.hadoop.fs.s3a.S3AUtils.getAWSAccessKeys(S3AUtils.java:740)
  at org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider.<init>(SimpleAWSCredentialsProvider.java:58)
  at org.apache.hadoop.fs.s3a.S3AUtils.createAWSCredentialProviderSet(S3AUtils.java:600)
  at org.apache.hadoop.fs.s3a.S3AFileSystem.initialize(S3AFileSystem.java:257)
  at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2669)
  at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
  at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
  at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
  at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
  at org.apache.spark.util.Utils$.getHadoopFileSystem(Utils.scala:1853)
  at org.apache.spark.deploy.history.EventLogFileWriter.<init>(EventLogFileWriters.scala:60)
  at org.apache.spark.deploy.history.SingleEventLogFileWriter.<init>(EventLogFileWriters.scala:213)
  at org.apache.spark.deploy.history.EventLogFileWriter$.apply(EventLogFileWriters.scala:181)
  at org.apache.spark.scheduler.EventLoggingListener.<init>(EventLoggingListener.scala:64)
  at org.apache.spark.SparkContext.<init>(SparkContext.scala:588)

Up to 3.0.1, the following was enough.
$ bin/spark-shell --conf spark.hadoop.fs.s3a.access.key=$AWS_ACCESS_KEY_ID --conf spark.hadoop.fs.s3a.secret.key=$AWS_SECRET_ACCESS_KEY -c spark.eventLog.enabled=true -c spark.eventLog.dir=s3a://dongjoon/spark-events/ --packages org.apache.hadoop:hadoop-aws:3.2.0

Thanks @dongjoon-hyun . This is bad news and it means we'd have to abandon the approach in this PR. The only solution seems have to be on the Hadoop side. I've opened a Hadoop PR and tested it successfully with the code snippet you pasted above. @steveloughran could you take a look there? thanks.

Ya. I'll proceed https://github.com/apache/spark/pull/30508 first since Apache Spark 3.1 branch cut is this Friday.
We can revisit this with later during QA period.

Sure @dongjoon-hyun . This sounds good to me.


How to hide cmd windows?

When I run command, the main cmd opened and close fastly.
How to hide it?
dynamic cmd = new Cmd();
var output = cmd.ipconfig();
MessageBox.Show(output);

// late reply (oops).
The window briefly opening is a side effect of the way the cmd is written; it is designed to execute commands using cmd.exe (or another shell), not directly.
Substantial changes would have to be made to bring this functionality to cmd & I believe it's out of the scope too.
This strays from the simplicity this library offers, however the following snippet has the functionality desired.
// Launches ipconfig, captures the output, & reports its line count.
const string processName = "ipconfig.exe";

var process = new Process
{
	StartInfo = new ProcessStartInfo
	{
		FileName = processName,
		RedirectStandardOutput = true,
		RedirectStandardError = true
	}

};
process.Start();

const int timeOut = 5000;
if (!process.WaitForExit(timeOut))
{
	Console.WriteLine($"{processName} did not finish within the allotted time: {timeOut}ms.");
	return;
}
string output = process.StandardOutput.ReadToEnd();
int outputLines = output.Split(Environment.NewLine).Length;
Console.WriteLine($"{processName} had {outputLines} lines of output.");

you can modify  "ProcessRunner.cs"


Code blocks have bad wrapping

When lines are too long, the message will not wrap except on newlines.
This is because messages inherit white-space: pre from the discord stylesheet.
This can be changed to be somewhat more functional by changing the rule to white-space: pre-wrap

The addition will end up being
.message-group .comment .markup pre {
    white-space: pre-wrap;
}

@OmgDani


Restrict Context Access by Project

Hey! that's my context!

Inside an org with many teams, some will want to restrict contexts to only be used on their projects.
This rule would check and ensure:

IF they are using a context provided  (function argument)
AND NOT in our list of project IDs (user side) -- I think user would just { not list_of_projects[meta.project_id]} on the hard_fail stanza?
THEN FAIL

Completed with new context helpers


Infisical

Do you want to add or update the vendor? Adjust the title accordingly!
How to use? Fill the yaml file below!

name: Use the vendors name
base_pricing: Use the vendors cheapest available price suitable for teams/companies. A plan limited to less than 10 users may not be suited for companies.
sso_pricing: Use the vendors cheapest price that includes SSO.
scim_pricing: Use the vendors cheapest price that includes SCIM.
pricing_scheme: How is the pricing? Is it per user per month? Per month?
pricing_sources: Add a link or a note to where you got the pricing from. One per line.
notes: If you need to clarify pricing, please add a note.
free_sso_providers: Do they support free SSO providers like Google, Apple, Github etc.? One per line.
updated_at: yyyy-mm-dd of the day you filed this.
vendor_url: Use the vendors public website

---
base_pricing: 0
currency: USD
free_sso_providers:
name: Infisical
notes: You can add SSO to a plan for $15 per u/m.
pricing_scheme: per user/month
pricing_sources:
  - https://infisical.com/pricing
  - Quote
scim_pricing: ???
sso_pricing: 15
updated_at: 2024-05-18
vendor_url: https://infisical.com/

Infisical seems to do a great job, no reason to put them on the negative wall. The free plan is not what a normal business would choose. We would like to compare the SSO pricing tier with the base pricing tier that a business would use. In this case there is only one paid plan which includes SSO.
So that's great actually. I added them instead to the good site. Thanks for your contribution!


feat: add yml for postgres setup

Added ci setup for Postgres

Related Issue: #553
Related PR for feature: #699

I have created a new action file for Postgres. Does our CI-CD have an author linked to your email @TimoGlastra , I kept it<EMAIL_ADDRESS>for now

@TimoGlastra I have also added action for setting up a Postgres wallet plugin as well

Codecov Report

Merging #703 (5a0bb17) into main (549647d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #703   +/-   ##
=======================================
  Coverage   86.17%   86.17%
=======================================
  Files         343      343
  Lines        7445     7445
  Branches     1153     1153
=======================================
  Hits         6416     6416
  Misses       1028     1028
  Partials        1        1

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 549647d...5a0bb17. Read the comment docs.


Button support

Added button support. This was done by modifying the serial output of the Arduino and updating the parsing code in the app to handle the new format.  The new serial now looks like this:
s495|s169|s1022|b0

where s means slider value and b means button value.
For keyboard emulation, I'm using https://github.com/micmonay/keybd_event. It provides pretty much every keyboard key imaginable and supports modifiers.
Todo:

[ ] Add config support

[ ] Support single keycodes

[ ] Support modifiers

[ ] Support both Windows and Linux (I won't be able to test the Linux implementation so might need someone to help me)

Extra stuff:

[ ] Currently, the key event is only sent when the button is pressed. Maybe add an option to send it again when releasing the key? Maybe different key codes when going from off > on and on > off?

Hey there @Miodec, thank you for your interest in contributing to deej.
As per the project's contribution guidelines, I'm currently not accepting PR submissions for deej's main fork. That being said, I encourage you to continue working on these changes to your heart's content in your own fork of the project.

Alright, good luck with the project


fix(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/kms-all-inclusive/ibm (source)
module
patch
4.13.0 -> 4.13.1

terraform-ibm-modules/observability-agents/ibm (source)
module
patch
1.25.1 -> 1.25.2

Release Notes

terraform-ibm-modules/terraform-ibm-kms-all-inclusive (terraform-ibm-modules/kms-all-inclusive/ibm)
v4.13.1
Compare Source
Bug Fixes

deps: update terraform-module (#493) (bc7aee6)

terraform-ibm-modules/terraform-ibm-observability-agents (terraform-ibm-modules/observability-agents/ibm)
v1.25.2
Compare Source
Bug Fixes

remove checkov_skips for logdna agent (#341) (800c1ad)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

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

GitHub release
v1.7.1

Your semantic-release bot :package::rocket:


feat(position-utils): add middleware for :top-layer support

PR Checklist
Please check if your PR fulfills the following requirements:

Tests for the changes have been added: N
Docs have been added / updated: Y
Does this PR introduce a breaking change? N
I have linked any related GitHub issues to be closed when this PR is merged? N

Describe the new behavior?
Adds support for positioning elements that are in the :top-layer if they are within a containing block. The middleware can be applied if the topLayer configuration is set to true.
This PR also includes updated support for logical offset, while deprecating the specific x and y offset support.

Closing because this is now supported natively in @floating-ui/core as of version 1.6.5 and a custom middleware is no longer required.


release the original training data

Thank you for your excellent work. However, I have encountered difficulties in replicating this work, primarily due to the lack of original training data. Could you please release the original training data or provide a script to generate the training data?

Thank you for your attention to our work!
As mentioned in the paper, our method has almost no dataset restrictions:

For pixel-backdoor and style-backdoor, you can use any open-source text-image datasets (we recommend using the Laion or COCO dataset).
For object-backdoor, you need to filter the dataset to mainly include object A and object B (which is also straightforward to implement). Additionally, we have uploaded the dog-cat dataset for your convenience.


refactor!: rename Manager → Collection

Breaking change: rename collection file names:

CabinManager.fileName: cabin_manager → cabins
SchoolYearManager.fileName: school_year_manager → school_years

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 50 (12.0%)  changed or added relevant lines in 5 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 35.326%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/src/model/school_year_collection.dart
0
1
0.0%

lib/src/model/cabin_collection.dart
0
3
0.0%

lib/src/model/date/day_handler.dart
0
14
0.0%

lib/src/model/cabin/cabin.dart
4
30
13.33%

Files with Coverage Reduction
New Missed Lines
%

lib/src/model/date/day_handler.dart
1
0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
396

Relevant Lines:
1121

💛  - Coveralls


feat(RingTheory/Kaehler): The exact sequence B ⊗[A] Ω[A⁄R] → Ω[B⁄R] → Ω[B⁄A] → 0.

Do we have enough technology to use CategoryTheory.ShortComplex.ShortExact or something like that? I mean, literally saying the sequence is exact.

In general, we cannot use category theory here because of heterogeneous universes. Eventually, it may be useful to state exactness (by saying that a certain cokernel cofork is colimit) when all the modules are in the same universe, but I do not feel it has to be done in this PR.
Exactness could also be formulated also using the basic API in Mathlib.Algebra.Exact which allow different universes.

Can you add a short docstring as I wrote above? Anyway thanks a lot!
bors d+

Sorry it took so long to fix. I've incorporated some suggestions above and a few more and maybe @riccardobrasca can give it a final look before I send it to bors?

Sorry it took so long to fix. I've incorporated some suggestions above and a few more and maybe @riccardobrasca can give it a final look before I send it to bors?

I am boarding on a long flight, I can have a look tomorrow.


Only store the active text input client in desktop shells

Due to a misunderstanding of the text input channel when the desktop shells were originally written, they keep a mapping of all clients that have been opened. Since old clients are never re-used, we should instead only be keeping the latest.

Adding to September milestone, since this is a straightforward cleanup that we should do soon to avoid issues with keeping ever-growing numbers of text clients for no reason.


Train Ocropus model for more generations

The Ocropus model I'm using for OCR never actually bottomed out:

it may keep improving with more training. There were relatively few errors it was learning from by the end. To improve it, it will need more training data.
This should be easy to generate using the existing model. Correcting transcriptions is far easier than generating them from scratch.

It's unlikely I'm ever going to do this. The biggest OCR wins now are coming from user corrections.


Use of Fahrenheit causes incorrect temperature readings

Describe The Bug:

Setting the device to Fahrenheit causes the plug in to assume it's in Celsius and convert. For example, my temperature in the living room is 70F, which is showing as 159F (it's assuming 70C).
To Reproduce:

Set device to Fahrenheit.
Expected behavior:

Expected temperature in Fahrenheit, not in Celsius (or F/C to F which seems to be happening).
Logs:
[7/13/2021, 5:08:59 AM] [homebridge-samsung-air-conditioner-smart-things] This plugin generated a warning from the characteristic 'Cooling Threshold Temperature': characteristic was supplied illegal value: number 70 exceeded maximum of 30. See https://git.io/JtMGR for more info.

Plugin Config:
{
    "name": "homebridge-samsung-air-conditioner-smart-things",
    "token": "[REMOVED]",
    "platform": "HomebridgeSamsungACSmartThings"
}

Screenshots:

Smart Things
Home App
Environment:

Plugin Version:homebridge-samsung-air-conditioner-smart-things v1.0.3
Homebridge Version: 1.3.4
Node.js Version:  14.17.2
NPM Version:  6.14.13
Operating System:  Ubuntu 20.04.2 Server

Hello, Thanks for pointing this issue out. Unfortunately we can't look into this until Sunday because we are not at home and we can't set our devices to F remotely, at least I couldn't find a way and it's difficult to test a potential fix.

Oddly enough I can't find a way to set my devices to C in the app at all. I'll keep poking around and add any more information I come across until you get some time. Thanks!

Hi, @PSedd!
Could you, please, try version 1.0.4 and set the "temperatureUnit" parameter in the config to "F"?
Do let us know how it went and if you encounter any other issues.

When the config option temperatureUnit is set to F the temperature threshold is set between 60 F(~16 C) and 86 F(~30 C). Could you please confirm that this are the threshold values for your device?

Hi all,
On the surface it looks like it's working, but there's still a few small issues. It reports the right temperature in HomeKit/HomeBridge, but when you get more info, it's still having some issues which I've attached in the screenshots below.
Here's the message about the temp thresholds:
[7/15/2021, 4:20:32 PM] [homebridge-samsung-air-conditioner-smart-things] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 21.11111111111111 exceeded minimum of 60. See https://git.io/JtMGR for more info.
I wonder if that message is because I switched the SmartThings app (in web) to C. I'll revert back to F and see if it disappears (it seemed to take a day or so last time, so I'll let it bake for a bit)
Here's the detailed info in Home, which is showing the conversion issues still:

Here's the icon of all the AC's together, showing that they're cooling to 140 F:

Hello @PSedd, I pushed another small fix, I'm expecting at least the cooling to value to show the correct value and not 140. As I said I can't test this properly because my device is set to C. Please let us know what other issues you encounter, I'm pretty sure you'll still have some warnings.

Hi,
The display is correct now, and I'm not getting any messages about the cooling value (which I'll just ignore anyway). The issue now is that when I set the temp and mode (Cooling & 75 F), it sets the temp to the lowest possible temp (61F ). One of the three AC's (Master Bedroom) shows as off after I adjust it in SmartThings, but the other two do not.
I've attached some screenshots here to try and help. Is there a way to get a more verbose log to try and help further?

A super nitpicky thing (not sure it's possible to fix) is that the lighting options resets when adjusting via HomeKit. I usually have it off, but doing anything via HK/HB turns it on. Based of the limited features I'll assume it's not possible, but wanted to mention it to try and help development if possible.

Could you please show me any warnings you get when you try to set the temperature?

Hi, no error messages or warnings in the HB console. In fact, outside of the "adding cached accessory" there's no entries in the logs at all.
Noticed that temp is also supporting two degree temp differences (73+75, not 74). Not a big deal at all, thought it might help with some troubleshooting (assuming its not just doing a C conversion).

If you go to Your account  -> My devices -> specific air conditioner -> List events, can you maybe see any values the target temperature has been set with, is it 61?

There aren't any events listed in the last 5 hours, even when I change it via the SmartThings App.

Additionally, I found this when starting the plugin this time:
[7/16/2021, 9:44:01 PM] ====================
[7/16/2021, 9:44:01 PM] ERROR LOADING PLUGIN homebridge-smartthings-ac:
[7/16/2021, 9:44:01 PM] Error: Cannot find module 'hap-nodejs/dist/lib/definitions'
Require stack:

/usr/lib/node_modules/homebridge-smartthings-ac/dist/platformAccessory.js
/usr/lib/node_modules/homebridge-smartthings-ac/dist/platform.js
/usr/lib/node_modules/homebridge-smartthings-ac/dist/index.js
/usr/lib/node_modules/homebridge/lib/plugin.js
/usr/lib/node_modules/homebridge/lib/pluginManager.js
/usr/lib/node_modules/homebridge/lib/server.js
/usr/lib/node_modules/homebridge/lib/cli.js
/usr/lib/node_modules/homebridge/bin/homebridge
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:92:18)
at Object. (/usr/lib/node_modules/homebridge-smartthings-ac/src/platformAccessory.ts:2:1)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:14)
at Module.require (internal/modules/cjs/loader.js:974:19)
[7/16/2021, 9:44:01 PM] ====================

I tried another small fix, I've also added a log when the target temperature is set. Please update to the latest version and give it a go when you get a chance.

Working great! There's still a gap in the degrees (75 ->73) but that's not something that bothers me, more of just an FYI in case it comes up again.
Can confirm that I see [7/17/2021, 8:49:43 PM] [homebridge-samsung-air-conditioner-smart-things] Set target temperature to: 24 when changing temperatures. Thanks so much!

The gap probably comes from the way I made the transformation from Fahrenheit to Celsius and viceversa. Basically you get F from Smartthings, the plugin turns it to C, then Homeapp turns it back to F (F->C->F). The same happens on setting the temperature, it's F in Homeapp it turns it to C and in the plugin we transform it back to F and send it to Smartthings (F->C->F). I'll look into what formula IOS(Homeapp) uses, probably if I'd use the exact same it wouldn't be a gap.

The gap is only between 73-75, meaning you can't set the temperature to 74? No other gaps?

Thanks for all your help, couldn't have braught it to this point without your help.

I can set the temperature to: 61,63,64,66,68,70,72,73,75,77,79,81,82,84,86 in the Home app. After a bit of a spot check, it looks like its rounding (up or down) from a whole C. For example: 16C=60.8 rounding up to 61, 17C=62.6 rounding up to 63, 18C = 64.4 rounding down to 64 and so on.
Hope that helps, but it works fine as is, can't really notice 71 vs 72 and why F is stupid :)

Is it a problem with homekit? If you use the temperature wheel in homekit, can you pick one of the ones you mentioned 62, 71? If you still have version 1.0.7 of the plugin could you please let me know what values does it log, if you get a chance. I'm trying to understand if the problem comes from the formula I used. Thanks again!

If I think about it a bit more, It's impossible to solve, the range of C temperatures goes from 16 to 30 which is 14 values, the range of the F temperature goes from 61 to 86, which is 25 values. Mapping 25 values to 14 will only work if you have some gaps.

Unless values with decimals are accepted, If you still have the plugin with version 1.0.7 could you please let me know what values are logged when you set any of the values mentioned above or the ones that are missing? If all the values logged are integers there's nothing I can do, otherwise please give me as many values as you can.

This are the functions I'm using. I'm wondering if I should remove the rounding, but I'm not sure if HomeKit/IOS does the round up as well, that is why It would be helpful to get the logged temperature values
  private toCelsius(fTemperature) {
    return Math.round((5/9) * (fTemperature - 32));
  }

  private toFahrenheit(cTemperature){
    return Math.round((cTemperature * 1.8) + 32);
  }


Rooms Export

As a user I would like to export the list data so that I can create my own spreadsheet to use or provide to another person

Leave with Diedre to determine if this is important.


yii\db\Migration\renameColumn method need to expand for MySQL 5.7

What steps will reproduce the problem?
on migration script
$this->renameColumn('user', 'modified_by', 'updated_by');
What is the expected result?
user table modifed_by column is renamed to updated_by
What do you get instead?
Exception 'yii\db\Exception' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
The SQL being executed was: ALTER TABLE user CHANGE modified_by updated_by'
Error: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Additional info
public void renameColumn ( $table, $name, $newName )
https://dev.mysql.com/doc/refman/5.7/en/alter-table.html
The syntax for rename column in MySQL 5.7
Alter TABLE user CHANGE COLUMN modified_by updated_by INT(11);
So it is desired that we can have the column definition in the renameColumn

Q
A

Yii version
<IP_ADDRESS>

PHP version
7.1

Operating system
Ubuntu

I am using MariaDB 10.1, and got the same problem.
I traced the problem to the method renameColumn() in db/mysql/QueryBuilder.php.
In my system, the command SHOW CREATE TABLE returns the field names enclosed in double quotes, not backticks.
Thus, I changed the line
if (preg_match_all('/^\s*`(.*?)`\s+(.*?),?$/m', $sql, $matches)) {

to
if (preg_match_all('/^\s*"(.*?)"\s+(.*?),?$/m', $sql, $matches)) {

and my migration worked fine.
I guess the kind of quote used depends on the DB version and/or configuration, so it might be necessary to find out the type of quote used before the regexp.

Same issue here with MySQL 8.0.40-0ubuntu<IP_ADDRESS>


[PROPOSAL] Assistance

Hi, I just noticed that you started this project.
We started our own opensearch provider recently although api coverage is still small at the moment: https://github.com/Ferlab-Ste-Justine/terraform-provider-opensearch
I'm not sure how far you are on the implementation roadmap, but let us know if we can contribute with anything we have done so far.

Hi, thanks for the interest! Please see the discussion here: https://github.com/phillbaker/terraform-provider-elasticsearch/issues/299
The current plan is to merge the existing opensearch/opendistro resources from that provider into this repo as it has decent coverage.
I do like how you've broken out the attributes for ISM policy, instead of using just a json text blob: https://github.com/Ferlab-Ste-Justine/terraform-provider-opensearch/blob/main/provider/resource_opensearch_ism_policy.go
Perhaps we can take a look at integrating that work into this provider!

I'm glad to hear it. I was afraid there would be a lot of opacity around the progress of this project and that we'd have to support our own provider separately for a while longer before ultimately switching.
While not a universally popular opinion I'm sure, I'm personally relieved to hear that this provider will be focused on opensearch given that increasingly, opensearch and elasticsearch will diverge (it is actually the main reason why I decided to start our own repo instead of contributing back to your repo as I was unsure of the long term prospect of supporting both in the same provider). It will keep things simpler I think.
I'll be happy to assist in any way you require with the integration of what we've done with the ism policy once you are ready.
Two points that I'll mention:

I initially tried your provider before starting our own, I had an opensearch version error with our on prem opensearch 2.2.1 (https://github.com/Ferlab-Ste-Justine/kvm-opensearch-server)
I'm wondering what that sdk situation will be. There is an official opensearch one, but it is incomplete (ex: https://github.com/opensearch-project/opensearch-go/issues/94), otherwise I would probably have used that one my end. I guess there will be some focus on adding missing functionality to it?

Sorry for the slow reply.

I had an opensearch version error with our on prem opensearch 2.2.1

Hi, yes, that's likely due to this line: https://github.com/phillbaker/terraform-provider-elasticsearch/blob/1ff79e7de71161651f5fe64d73366aab778ea663/es/provider.go#L478. We don't have testing support yet for OpenSearch 2.x and it does have breaking api features, so the provider hasn't incorporated support for it.

I'm wondering what the sdk situation will be

This is a great question. As you alluded to, there's not a great solution currently. For now, my thinking is that the sdk is an implementation detail which should not impact the external API of the provider. To that end, as things improve, we can consider replacing the current olivere/elastic client with something that's maintained and specific to opensearch.
What do you think?

Hi, yes, that's likely due to this line: https://github.com/phillbaker/terraform-provider-elasticsearch/blob/1ff79e7de71161651f5fe64d73366aab778ea663/es/provider.go#L478. We don't have testing support yet for OpenSearch 2.x and it does have breaking api features, so the provider hasn't incorporated support for it.

So far, I validated manually on a local terraformed libvirt/kvm setup for opensearch 2.2.1 (it has worked well enough for my solo development efforts, but I'll be the first to admit that it doesn't scale the way automated integration/functional tests do when many developers with varying amounts of meticulousness get involved).
I don't think the libvirt/kvm setup, while practically like production in our case, would be great for a testing pipeline, but we could have a more lightweight dockerized setup integrated directly into github actions.
If you point me to a shared working space, I could look into integrating that after I'm back from vacation if you like.

This is a great question. As you alluded to, there's not a great solution currently. For now, my thinking is that the sdk is an implementation detail which should not impact the external API of the provider. To that end, as things improve, we can consider replacing the current olivere/elastic client with something that's maintained and specific to opensearch.
What do you think?

Makes sense.
I started on our end implementing missing pieces of the opensearch sdk in our provider for what we needed. I'll see what adapting them to the official sdk and getting them merged will entail when I'm back.
I guess as soon as the missing api surface is implemented, we can more seriously consider swapping.


Mark Constant Fields as final

Description
Cleanup Only - Mark Constant Fields as final
Related Issues
None
Check List

N/A - New functionality includes testing.
N/A - New functionality has been documented.
N/A - New functionality has javadoc added.
N/A - New functionality has a user manual doc added.
N/A - API changes companion pull request created.
[x] Commits are signed per the DCO using --signoff.
N/A - Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@currantw thanks for splitting the cleanup process
can you also add a central (RFC) github issue with steps for all the cleanup phases (sub-issues) so we can have a better picture of the expected changes ?

@currantw thanks for splitting the cleanup process can you also add a central (RFC) github issue with steps for all the cleanup phases (sub-issues) so we can have a better picture of the expected changes ?

Good idea @YANG-DB. I have raised https://github.com/opensearch-project/sql/issues/3194.


COINSTATSAPP,as being

Checkout this app for tracking coin prices and your portfolio.
https://play.google.com/store/apps/details?id=com.coinstats.crypto.portfolio

Nice


Adds Ruby 3.1 and 3.2, Rails 7.0 to the CI matrix

To get this green several changes were made:

Using the built-in bundler-cache to avoid bundler versioning problems.
Adding a Rails 7.0 gemfile and the corresponding Appraisals entry
Replace use of deprecated File.exists? with File.exist?

Also upgraded the checkout action version.

@Zogoo Anything else required to get this merged?  Thanks.

@Zogoo Anything else required to get this merged? Thanks.

I was waiting for other members to look at it. Since it’s not changing any gem feature, all git hub actions are green. Let’s merge it.


Extend formBuilderPlugin fields: not persist data

Link to reproduction

Payload Version
3.0.0-beta.86
Node Version
v20
Next.js Version
15.0.0-canary.121
Describe the Bug
If I add a custom field in the plugin configuration, it displays correctly in the admin UI but the data is not persisted.
If I add the "slug" property the data is persisted but there is a typescript error because is missing in the interface FieldConfig.
Reproduction Steps

Declare the custom field

import { fields, formBuilderPlugin } from "@payloadcms/plugin-form-builder";
import { Block } from "payload";

export const formBuilderPluginConfig = formBuilderPlugin({
    redirectRelationships: ["pages"],
    fields: {
        hidden: {
            // slug: "hidden", // <- With this prop works
            labels: {
                singular: 'Hidden',
                plural: 'Hidden'
            },
            fields: [
                ...(fields.text as Block).fields
                // Other fields
            ]
        }
    },
})

Open the Admin UI to add the custom field
Save
Data is not persisted

Adapters and Plugins
"@payloadcms/db-mongodb": "beta",     "@payloadcms/email-nodemailer": "beta",     "@payloadcms/next": "beta",     "@payloadcms/plugin-cloud-storage": "beta",     "@payloadcms/plugin-form-builder": "beta",     "@payloadcms/plugin-nested-docs": "beta",     "@payloadcms/plugin-seo": "beta",     "@payloadcms/richtext-lexical": "beta",     "@payloadcms/storage-s3": "beta",     "@payloadcms/ui": "beta",

@matteo-naif did you find a work around for this? running into this same issue currently. Also trying to add a custom "hidden" field to the formBuilder plugin.

Hi @siobahnschuck, I paste my working example with minimal setup
import { formBuilderPlugin } from "@payloadcms/plugin-form-builder";
import { fields } from "@payloadcms/plugin-form-builder";
import { FieldConfig } from "@payloadcms/plugin-form-builder/types";
import { Block } from "payload";

export const textFields = (fields.text as Block).fields

export const InputHidden: FieldConfig = {
    // @ts-ignore
    slug: "hidden",
    labels: {
        singular: 'Hidden',
        plural: 'Hidden'
    },
    fields: [
        ...textFields
        // Other fields
    ]
};

export const formBuilderPluginConfig = formBuilderPlugin({
    redirectRelationships: ["pages"],
    fields: {
        hidden: InputHidden
    }
})

The result is the following:

@matteo-naif thank you so much! This works well 🌟


Is there any plan to support golang,Objective-C or other languages?

Hi @liuzexin, as the dataset requires human annotation and existing SATD datasets in other languages to retrieve relevant data, we might consider focusing on languages with available resources, such as Python and R for this project.

It's a little pity.
It's a good paper, thank you very much.


React can't find the root component node for data-reactid value - it probably means you've loaded two copies of React on the page

I'm getting this error when I add  into my component. Any ideas why?

I am getting the same too. No idea what's going on. Can you please help?

Alright found and fixed. Wanted to mention here, @opensourcegeek make sure you require('react-dom'), op missed to mention it in the docs.
Here is a reference in the example: https://github.com/wwayne/react-tooltip/blob/master/example/src/index.js
Hope it helps!

Did you mean import {render} from 'react-dom'?
This is required by React since 0.14


[SPARK-18892][SQL] Alias percentile_approx approx_percentile

What changes were proposed in this pull request?
percentile_approx is the name used in Hive, and approx_percentile is the name used in Presto. approx_percentile is actually more consistent with our approx_count_distinct. Given the cost to alias SQL functions is low (one-liner), it'd be better to just alias them so it is easier to use.
How was this patch tested?
Technically I could add an end-to-end test to verify this one-line change, but it seemed too trivial to me.

Test build #70223 has started for PR 16300 at commit 01dded0.

Test build #70223 has finished for PR 16300 at commit 01dded0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/70223/
Test FAILed.

Merged build finished. Test FAILed.

cc @cloud-fan

Test build #3502 has started for PR 16300 at commit 01dded0.

Test build #3502 has finished for PR 16300 at commit 01dded0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Could we also update another two more lines?
      > SELECT _FUNC_(10.0, array(0.5, 0.4, 0.1), 100);
       [10.0,10.0,10.0]
      > SELECT _FUNC_(10.0, 0.5, 100);
       10.0

hm weird that we hard coded the name.

updated.

LGTM

Test build #70237 has started for PR 16300 at commit 01c6741.

Merging in master/branch-2.1.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/70237/
Test FAILed.


feat: bio/one-pager updates

feat: updated bio
feat: simplified/removed flat-rate from one-pager
feat: added partners to one-pager
style: YAML normalize

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


Merging Develop into Master 4.10.2019 - Rate the docs widget, Expert Insights images, Expert Insights callouts

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Request to Add "Machine Unlearning Comparator" to the Repository

Hello! I hope you're doing well.
I recently developed a new machine unlearning visualization tool called Machine Unlearning Comparator. Although I don’t have a published paper yet, I would be grateful if you could consider adding my project to your awesome list. The tool is open source and can be found here:
Machine-Unlearning-Comparator
Thank you for your time and consideration, and please let me know if you have any questions or need further information.
Best regards,
Jaeung Lee

Big thanks, Jaeung. Much appreciated. This is a great work. We will add to the repos soon.


Remove data logic from subs.js.

This series of commits removes most of the data-specific logic from subs.js, so that it's now mostly just orchestrating UI stuff, which is a big enough job for it.  There are a few tiny exceptions where I could probably have extracted 2 or 3 lines to stream_data.js, but I didn't bother with them.  I believe now the only data-centric heavy lifting done by subs.js is firing off and handling various Ajax calls.  I don't want stream_data.js to be in the business of doing Ajax (at least not without thinking about it some more), but I do think we want to consider pulling that logic out of subs.js somehow.

Automated message from Dropbox CLA bot
@showell, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, thanks @showell!


Creating a latest webpage generated after Travis runs

This webpage provides a stable link for other sites to link to gcloud-java's landing page.  It also updates the "Quickstart with Maven" section of the landing page to reflect the latest release number.

/cc @dhermes Thoughts?

I see no real issues, though don't know much about what is going on.

LGTM


TapBranch and TapLeaf classes

Added alongside the Taproot class shall be two classes to represent a MAST tree: TapBranch and TapLeaf. Both of these shall inherit from a TapNode base class. The TapLeaf class shall be Writable with a script and leaf version. The TapBranch class must contain two TapNode children. The constructor will take a left and right node.
The Taproot class will be updated to take a TapNode as mast in addition to an internal key. If mast is null, then the existing key-path-only tweak will be used. The class will provide a leaves getter to access underlying leafs in the left-to-right order. A new controlBlockFor(int n) method will obtain the control block data for a given leaf.

Completed in 2-taproot branch.


Decouple Locations display on the Geo-Widget module from the Households.

Describe the feature request.

The current Geo-Widget module supports the display of locations linked to households on a map.
While this is one of the use cases of the  Geo-Widget module we would like to add the ability to show all locations with valid coordinates and GeoJSONs on the map.
This display should not require the availability of the household or any other resource for the location to be shown on the map

Acceptance criteria

[x] Valid locations should be able to be shown on a map using the Geo-Widget module whether they are tied to a household or not.

Implementation plan (For Engineers)
@FikriMilano  and @aurangzaibumer will update it.
Related to https://github.com/opensrp/fhircore/issues/2936

Will you be able to interact with the points on the map? If so, how do you lookup (or know) what those Locations are linked to, or what links to those Locations?

@pld yeah, we can interact w those locations, let's say onClick or even onLongPress.
Each will require an API so we can provide a callback from quest module, then invoke that inside the point's onClick listener e.g. opening a Family/Patient profile.
The Geo-Widget module also requires a model that's going to represent a Location, and has the data we need when we use that model in the callback.
Let me know if that makes sense.

I envision the new module be purely a Geo-Widget feature, that works fine even for a completely different project than ours.
I'll make an engineering decision based on that, so let me know if we're aligned about it.
@pld @dubdabasoduba

On interacting with the locations, can you refer to the geowidget code or the integration points between the quest and geowidget code to describe how you are planning to implement this? What's unclear to me is, if we search through the db to get all the Locations, then for each Location we're also going need to search through the db to get the entities that connect to this Location, I want to make sure we are able to do this efficiently.
On the architecture, as much as possible let's keep it as a distinct feature/code module, but if we tightly couple it to fhir-core in place that's ok, as long as we keep note of that, we want to keep the LOE minimal on completing this.

@pld

Can you clarify on what you mean by "geowidget code" and "the integration points between the quest and geowidget code"?
Instead of getting all Locations and it's connected entities when we first initialize the Geo-Widget feature (as I've seen it in the code). Why don't we just get all the Locations only? then only get the connected entity if the user tap a Location within the map.
okay, for your 2nd paragraph.

For future enhancement, we might want to limit the Locations, by only getting the Locations within let's say 30km from the device current coordinate, then get more Locations if the the user scroll/move the map past the initial 30km area.

Correct me if I've got the structure incorrect, it has been a while, but last time I looked there is code in geowidget/, that's what I'm calling the "geowidget code", and there's code in quest/ that launches into the geowidget and code in the geowidget that links back to quest, I'm calling that the "integration points"
That sounds entirely fine as long as the query get the connected entity is fast. A future thing (let's keep it out of scope for now), is that we may want to vary the map icons based on what is being linked to, e.g. show the icon for household location as different from a health clinic location -- I'll check w/the project teams to confirm we can keep this out of scope

@pld We can do the location fetching in 2 ways

Load the map based on the user's location then fetch locations in the DB and filter them based on the distance from the user's location. This means we have to add some processing before displaying the locations. This might not be very performant depending on how long it takes to get the user's GPS coordinates
Give the user an option to select an area they are visiting. Then filter the locations to display based on the selected location.

What happens on OpenSRP 1.0

OpenSRP one fetches all the Locations available on the device.
The service points have different Icons and can have different color coding depending on the status of the resources tied to the Location

Correct me if I've got the structure incorrect, it has been a while, but last time I looked there is code in geowidget/, that's what I'm calling the "geowidget code", and there's code in quest/ that launches into the geowidget and code in the geowidget that links back to quest, I'm calling that the "integration points"

@pld Oh I see what you mean, yeah that's true, it's a live data events, similar to callback, and it exists in the geowidget side.
When there's an interaction, the code save that event into the live data events, the saved event contains what type of event the code is going to do and the location related data. Then on quest side, we observe that event, if there's a new event saved, we run the function on what that event will do (open a questionnaire / profile).
But the type of events are defined in the geowidget side with the context of quest, meaning, tightly coupled w quest.
For example:
One such event is OpenProfile, that is going to be invoked by tapping one of the location points on the map. Instead of that, I'll change it to, let's say, onClickLocationPoint. Then we will define what this event does in quest, that is, opening a profile.

Unit test WIP


[21.05] vgmstream: init at r1050-3448-g77cc431b

Motivation for this change
Backport vgmstream to 21.05
(cherry picked from commit 19ff8bd9435336715fc5f046119106fd404861c5)
Things done

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

ping on this?


fix: entries in ssr.external

Fixes #9275
Description
Fixes a regression introduced by:

https://github.com/vitejs/vite/pull/9146

Only package names are valid in ssr.noExternal, as #9146 corrected, but ssr.external allows defining package names and also individual entries.

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Read the Pull Request Guidelines and follow the Commit Convention.
[ ] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

vite-ecosystem-ci run: https://github.com/vitejs/vite-ecosystem-ci/actions/runs/2714857134
All green, nuxt is failing because they deleted the vite-3 branch after merging:

https://github.com/nuxt/framework/pull/5398
We just moved back to main in vite-ecosystem-ci after this run

I think we can merge and release this one in the next patch to correct the regression


WIP feature: add easy interface api for simple task (and hf integration)

@csukuangfj  this is just for comments -- might not even work/syntax or location of files might be completely wrong..
the idea is that we provide "easy" interface that would enable people to create the decoder or decode simple file just calling a few lines of code (similarly as kaldi binary tools usually just parse command line and call a single library function).
What do you think?
I propose this because having such a high level API would simplify the huggingface interface a lot -- look at
https://github.com/huggingface/api-inference-community/blob/main/docker_images/speechbrain/app/pipelines/automatic_speech_recognition.py
(only a few calls of library function) and reduce code duplication perhaps.

Thanks.
sherpa consists of two parts: The C++ extension part and the Python part.
Feature extraction, NN computation, and decoding are implemented in C++; everything else is implemented in Python.
python3 setup.py install only installs the C++ part and some common Python utilities. All other Python code is located
in sherpa/bin/some_folder.  Each model has its own folder inside sherpa/bin. The intention is that whenever a new model is added, we only need to add a folder sherpa/bin/name_of_the_new_model.
To provide some commandline utilities for a model, I would recommend placing such utilities into a specific folder inside sherpa/bin/xxx.
If you want to use such utilities in huggingface, you can just copy the needed files after running pip install k2-sherpa.

Seems like github didn't publish my response/comment:
Jan Yenda Trmal<EMAIL_ADDRESS>Thu, Jul 14, 10:34 AM (2 days ago)
to k2-fsa/sherpa, k2-fsa/sherpa, Author
I understand what you are saying. I'm just wondering if you wanna make one more step forward and enable people to use the decoder directly in their apps in a simple(r) way instead of having to call a python script.
To give you an idea -- the huggingface integration is essentially a standalone app server running in the docker container. It will get constructed via  the huggingface repo name (something like k2-fsa/rnn-transformer-t) and then receive pytorch tensor to decode.
I think it would be easier if I just add a few calls in the server python script instead of having to configure and run the decoding via a separate script (for which I would have to save the audio to disk again and read from the disk again).
@danpovey @csukuangfj  let me know. I think insisting on the python script doing the work and assuming all is on disk is just cumbersone. And sorry for the delay -- I didn't notice github throw the mail away

It's fine to say no -- I will add the functions into the hugging face integration instead. I just wanna know how to proceed so that we all are happy :)

From the latest master of sherpa, how about

pip install k2-sherpa
Copying https://github.com/k2-fsa/sherpa/blob/master/sherpa/bin/conformer_rnnt/offline_asr.py
and https://github.com/k2-fsa/sherpa/blob/master/sherpa/bin/conformer_rnnt/decode.py
to your folder app/pipelines
Inside the constructor https://github.com/huggingface/api-inference-community/blob/4e809f89298e4cfa3389533c71f8e710d5266fd1/docker_images/speechbrain/app/pipelines/automatic_speech_recognition.py#L10 , do

from offline_asr import OfflineAsr
self.offline_asr = OfflineAsr( ... )

In the function https://github.com/huggingface/api-inference-community/blob/4e809f89298e4cfa3389533c71f8e710d5266fd1/docker_images/speechbrain/app/pipelines/automatic_speech_recognition.py#L29 , do

# Convert the input numpy array to a pytorch tensor

# and then do
# return {"text" : self.offline_asr([converted_tensor])[0]}

I think that is all you need to integerate sherpa to huggingface.

sure, that's what I essentially plan. Thanks!
y.
On Sat, Jul 16, 2022 at 12:22 AM Fangjun Kuang @.***>
wrote:

From the latest master of sherpa, how about

pip install k2-sherpa
Copying
https://github.com/k2-fsa/sherpa/blob/master/sherpa/bin/conformer_rnnt/offline_asr.py
and
https://github.com/k2-fsa/sherpa/blob/master/sherpa/bin/conformer_rnnt/decode.py
to your folder app/pipelines
Inside the constructor
https://github.com/huggingface/api-inference-community/blob/4e809f89298e4cfa3389533c71f8e710d5266fd1/docker_images/speechbrain/app/pipelines/automatic_speech_recognition.py#L10
, do

from offline_asr import OfflineAsrself.offline_asr = OfflineAsr( ... )

In the function
https://github.com/huggingface/api-inference-community/blob/4e809f89298e4cfa3389533c71f8e710d5266fd1/docker_images/speechbrain/app/pipelines/automatic_speech_recognition.py#L29
, do

Convert the input numpy array to a pytorch tensor
and then do# return {"text" : self.offline_asr([converted_tensor])[0]}
I think that is all you need to integerate sherpa to huggingface.
—
Reply to this email directly, view it on GitHub
https://github.com/k2-fsa/sherpa/pull/60#issuecomment-1186085754, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUKYX7UCBTYRSJ6526TIWDVUI2H5ANCNFSM53I2OEWQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

FYI: Addressed in https://github.com/huggingface/api-inference-community/pull/74

I understand what you are saying. I'm just wondering if you wanna make one
more step forward and enable people to use the decoder directly in their
apps in a simple(r) way instead of having to call a python script.
To give you an idea -- the huggingface integration is essentially a
standalone app server running in the docker container. It will get
constructed via  the huggingface repo name (something like
k2-fsa/rnn-transformer-t) and then receive pytorch tensor to decode.
I think it would be easier if I just add a few calls in the server python
script instead of having to configure and run the decoding via a separate
script (for which I would have to save the audio to disk again and read
from the disk again).
y.
On Thu, Jul 14, 2022 at 2:36 AM Fangjun Kuang @.***>
wrote:

Thanks.
sherpa consists of two parts: The C++ extension part and the Python part.
Feature extraction, NN computation, and decoding are implemented in C++;
everything else is implemented in Python.
python3 setup.py install only installs the C++ part and some common
Python utilities. All other Python code is located
in sherpa/bin/some_folder. Each model has its own folder inside sherpa/bin.
The intention is that whenever a new model is added, we only need to add a
folder sherpa/bin/name_of_the_new_model.
To provide some commandline utilities for a model, I would recommend
placing such utilities into a specific folder inside sherpa/bin/xxx.
If you want to use such utilities in huggingface, you can just copy the
needed files after running pip install k2-sherpa.
—
Reply to this email directly, view it on GitHub
https://github.com/k2-fsa/sherpa/pull/60#issuecomment-1184053482, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUKYX3HP4SSYPFNHR3QAV3VT6YQBANCNFSM53I2OEWQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I think it would be easier if I just add a few calls in the server python
script instead of having to configure and run the decoding via a separate
script (for which I would have to save the audio to disk again and read
from the disk again).

Yes, I agree.

(something like
k2-fsa/rnn-transformer-t) and then receive pytorch tensor to decode.

I think the current code should be easily adapted to support that. You don't need to save it to disk and reload it.
https://github.com/k2-fsa/sherpa/blob/c47b8d9787a23dc39ee14fb03386bb409bb445ca/sherpa/bin/pruned_transducer_statelessX/offline_asr.py#L277
You can send a tensor for recognition.

Hi, this was for the hugging face integration, which has been pretty much
done this way.
Sorry I didn't close this
y.
On Tue, Oct 11, 2022 at 5:12 AM Fangjun Kuang @.***>
wrote:

I think it would be easier if I just add a few calls in the server python
script instead of having to configure and run the decoding via a separate
script (for which I would have to save the audio to disk again and read
from the disk again).
Yes, I agree.
(something like
k2-fsa/rnn-transformer-t) and then receive pytorch tensor to decode.
I think the current code should be easily adapted to support that. You
don't need to save it to disk and reload it.
https://github.com/k2-fsa/sherpa/blob/c47b8d9787a23dc39ee14fb03386bb409bb445ca/sherpa/bin/pruned_transducer_statelessX/offline_asr.py#L277
You can send a tensor for recognition.
—
Reply to this email directly, view it on GitHub
https://github.com/k2-fsa/sherpa/pull/60#issuecomment-1274370646, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUKYXZVAAV5ORJ6Q7M2BX3WCUVOLANCNFSM53I2OEWQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Applications Inventory: Bulk Delete

Implementation using single application delete which will be replaced once backend has multiple applications delete available.

@gildub Bulk delete support merged in the hub.  call DELETE /applications with []int body.  This is an array of application IDs.
https://github.com/konveyor/tackle2-hub/pull/117

@jortel, following up from discussion, I think it would be much better to have cascading delete enforced at DBMS to avoid having business rules trying to implement at UI level.

@ibolton336, do you mean bulk delete the assessments as well ?
We discussed that with @jortel, the assessments are handled separately by pathfinder. So in the meantime we have to find and delete each assessment related to every application we delete.
That said, I believe the backend to take care of if instead of tracking this down from the UI.

@jortel Are we expected to bulk delete assessments from the UI as we do for single application delete?

@ibolton336, this PR covers the deletion of associated assessments of the deleted applications.
Pathfinder will eventually take care of it. So we're good to go.

@ibolton336, @jortel , This PR, now takes care of deleting the assessments associated with the deleted applications, the same way we're handling single application deletion. Once the backend handles the cascading deletion we can then remove this business rule from the UI. That way we don't disrupt the feature.

@ibolton336, I added getApplicationAssessment which was missing for proper assessments deletion in cascade. And I also added for single delete in the applications-table-analyze as it was missing there too.

Ah I see. So even if we are deleting an application in the analysis screen, we are wiping the associated assessments. :+1:


Randomly getting BlockingIOError

I see this error from time to time in our log, wondering if it's normal behaviour?
ERROR:slack_bolt.App:on_error invoked (session id: xxxxxx, error: BlockingIOError, message: [Errno 11] Resource temporarily unavailable)
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/connection.py", line 284, in run_until_completion
    ] = _receive_messages(
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 228, in _receive_messages
    return _fetch_messages(
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 251, in _fetch_messages
    remaining_bytes = receive()
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 226, in receive
    raise e
  File "/usr/local/lib/python3.9/site-packages/slack_sdk/socket_mode/builtin/internals.py", line 217, in receive
    received_bytes = sock.recv(size)
  File "/usr/local/lib/python3.9/ssl.py", line 1226, in recv
    return self.read(buflen)
  File "/usr/local/lib/python3.9/ssl.py", line 1101, in read
    return self._sslobj.read(len)
BlockingIOError: [Errno 11] Resource temporarily unavailable
INFO:slack_bolt.App:The connection has been closed (session id: xxxxxx)
INFO:slack_bolt.App:Stopped receiving messages from a connection (session id: xxxxxx)
INFO:slack_bolt.App:The session seems to be already closed. Going to reconnect... (session id: xxxxxx)
INFO:slack_bolt.App:Connecting to a new endpoint...
INFO:slack_bolt.App:The connection has been closed (session id: xxxxxx)
INFO:slack_bolt.App:A new session has been established (session id: xxxxxx)
INFO:slack_bolt.App:Connected to a new endpoint...
INFO:slack_bolt.App:Starting to receive messages from a new connection (session id: xxxxxx)

Reproducible in:
$ pip freeze | grep slack
slack-bolt==1.6.0
slack-sdk==3.5.1
$ python --version
Python 3.9.4

The Slack SDK version
$ pip freeze | grep slack
slack-bolt==1.6.0
slack-sdk==3.5.1
Python runtime version
$ python --version
Python 3.9.4
OS info
python:3.9-alpine3.12 Docker image
Steps to reproduce:
Running in socketmode, listening for events
Expected result:
Not disconnecting/reconnecting
Actual result:
Everything works, just that from time to time I see the above error and the client reconnects.

Hi @daverstam, thanks for sharing this. I'm unsure what the cause of this is yet but this may be specific to your hosts / Docker containers. I've never heard of this issue.
That being said, the built-in Socket Mode library may have some room for improvement in terms of proper management of sockets. The SocketModeClient supports other widely used open-source library for WebSocket connection management: https://slack.dev/python-slack-sdk/socket-mode/index.html websocket_client should be an alternative option for you.
If you have a chance, trying the websocket_client implementatio out may eliminate the issue. If it works well for you, letting us know that would be greatly appreciated.

@seratch Thanks for the swift reply!
I must admit since you have not heard of this issue before it sounds like it's my environment that is causing the issue. I'm running the client on a rancher (k8s) cluster and it could be some miss-configuration there that is causing the error.
I will give websocket_client a try during the day/night and let u know if I encounter similar issues

@seratch I have been running with websocket_client now and it looks a bit better in the logs I would say, with the builtin socket module I would get a lot more disconnects/reconnects.
I get this every fifth hour, I guess it's normal behavior and is coming from slack re-negotiating the connection?:
INFO:slack_bolt.App:Connecting to a new endpoint...
ERROR:websocket:error from callback <function SocketModeClient.connect.<locals>.on_close at 0x7f40e5ce2dc0>: on_close() takes 1 positional argument but 3 were given
INFO:slack_bolt.App:A new session has been established
INFO:slack_bolt.App:Stopped receiving messages from a connection
INFO:slack_bolt.App:Connected to a new endpoint...
INFO:slack_bolt.App:Starting to receive messages from a new connection

If you don't see anything that is strange behavior and should be more investigated I think this case can be closed. If you want to further investigate I will gladly assist in any way I can.


Use add_compile_options in cmake which works with both C & C++ builds.

Some strings had to be removed because it treats a single string with multiple options as a single compiler option which confuses the compiler.

This one may be dependent upon #1135.

Now #1139.


Windows: make.ps1 fix DCO check

Signed-off-by: John Howard<EMAIL_ADDRESS>Fixes the DCO checkout as per https://github.com/docker/docker/pull/29229#issuecomment-265627433. .pngs for example show as - for lines added/deleted rather than numbers.
@vieux

@friism

+1, thanks John!


Link to Crypto Suite Spec is broken

So when I click on Ed25519Signature2020 Crypto Suite in the readme, I get a 404 page.

@HelgeKrueger Thanks for pointing it out. I've opened a PR to fix it.

Closing, addressed by https://github.com/digitalbazaar/ed25519-signature-2020/pull/29


feature: fullfill network scope field

Signed-off-by: mathspanda<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Fullfill scope value returned in pouch network list/inpsect.
Ⅱ. Does this pull request fix one issue?

issue #2501
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Added.
Ⅳ. Describe how to verify it
root@lin-dev-vm2:~# pouch network list
NETWORK ID   NAME     DRIVER   SCOPE
058fce03b8   none     null     local
1bae6b8af5   bridge   bridge   local
d8684bf988   host     host     local
root@lin-dev-vm2:~# pouch network inspect 1bae6b8af5
[
    {
        "Driver": "bridge",
        "IPAM": {
            "Config": [
                {
                    "Gateway": "<IP_ADDRESS>",
                    "IPRange": "<IP_ADDRESS>/24",
                    "Subnet": "<IP_ADDRESS>/24"
                }
            ],
            "Driver": "default"
        },
        "Id": "1bae6b8af52ebd87b4f8a4a7b8b08ec6a096b0acef564f2bf27560ba4baa82da",
        "Name": "bridge",
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "<IP_ADDRESS>",
            "com.docker.network.bridge.name": "p0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Scope": "local"
    }
]

Ⅴ. Special notes for reviews
None

UT failed, you can rebase master, and rebuild ci

LGTM


Missing Component - Export data for RELEASE PIPELINES.

WHY CAN I NOT EXPORT RELEASE PIPELINE DATA?
I am able to export other pipeline data into Power BI but I can not export the Release Pipeline data.

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

ID: 4a6cba3b-8bab-8302-ef46-f849d7d28493
Version Independent ID: 700d7f5c-f93f-bbe7-2aea-b953543354fc
Content: Visualize release pipelines progress and test summary - Azure Pipelines
Content Source: docs/pipelines/release/visualize-release-test-progress.md
Product: devops
Technology: devops-cicd-release
GitHub Login: @ramiMSFT
Microsoft Alias: rabououn

@GTI-MerPetti Did you try the pipelines power BI API? If not, I suggest you give it a try. You can automate your deployment and integrate Power BI in your workflow. Link


Multiple WithHTTPRequestHeaders

Hello! I'm attempting to add two different custom HTTP headers to a Twirp request in two different locations in my codebase, and I'm realizing that the server only sees the outermost context layer with the custom header, the last call to WithHTTPRequestHeaders.
Would you be open to a PR that would either update the existing WithHTTPRequestHeaders to merge new headers with existing custom headers (if present)? Or if you feel that would be too much of a breaking change, would you be open to a PR that adds a new separate AddHTTPRequestHeaders method with that behavior?
https://github.com/twitchtv/twirp/blob/206451d552e13701fa1111430aa81235029cb329/context.go#L69
I would expect that I would mimic the existing SetHTTPResponseHeader and AddHTTPResponseHeader, I would like that same behavior we have available for the Response on the Request side as well.

We would be open to a PR @RobertBolender. We want to keep the existing behavior as well. So maybe a AddHTTPRequestHeadersWithMerged method?


ubiquity_motor: 0.3.1-0 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository ubiquity_motor to 0.3.1-0:

upstream repository: https://github.com/UbiquityRobotics/ubiquity_motor.git
release repository: https://github.com/UbiquityRobotics-release/ubiquity_motor-release.git
distro file: indigo/distribution.yaml
bloom version: 0.5.20
previous version for package: 0.3.0-0

ubiquity_motor
* fixed install rules for Cmake
* added license to test code
* Contributors: Rohan Agrawal

@rohbotics , please update the version in your sources.

Opened a new PR #9668.
Bloom says a tag is ok for that field:
Copy-paste from my terminal:
VCS Type must be one of git, svn, hg, or bzr.
VCS type: git
VCS url: https://github.com/UbiquityRobotics/ubiquity_motor.git
VCS version must be a branch, tag, or commit, e.g. master or 0.1.0

We have to enforce the branch name and not a tag name due to a bug in Jenkins: https://issues.jenkins-ci.org/browse/JENKINS-23299 It looks like the ticket is resolved now, but we haven't tested it yet to see if it's fixed. But it's also better practice to point to your development branch since that's information that's not already in the release repo.

@rohbotics Please close obsolete PRs in the future.


Use launcher.bat instead of a go binary for windows

The launcher binary written in go was frequently marked as a trojan or virus. A simple bat file should seen as more innocuous. See https://github.com/electron/spectron/issues/93 for the problem as well as this bat file.
Proof that the bat file will be marked as safe: https://www.virustotal.com/en/file/1d86bd7934a6628d34458708ae435d4decefb671d51e262ad1f8d7f66ae89542/analysis/1495475045/
Proof that launcher.exe is marked as malicious: https://www.virustotal.com/en/file/dee7112c53b6bd2509ec23c5c6b4f17c65210684789510fa4caf6d3ff4c66949/analysis/

The AppVeyor failures are both odd. The 32 bit build died in npm install, and the 64 bit build died from
  1) multiple windows launches the application:
      AssertionError: expected 'Bottom' to equal 'Top'
      + expected - actual
      -Bottom
      +Top

      at title() - node_modules\webdriverio\build\lib\commands\getTitle.js:31:28
      at execute(<Function>, "getBounds", , "require") - lib\api.js:295:19
Command exited with code 1

which isn't a failure I've seen before. Is that a known flaky test?

Is that a known flaky test?

Not that I've seen before, could be focus related.


gsuite.yaml

A working google yaml file!

Can you contact me via email<EMAIL_ADDRESS>?
I've tested the PR and have several questions.

google yaml не работает. Причина думаю из за домена который или ошибка в фишлете

@Aleksandr3313 The correct file name is gsuite.yaml - could you retest in a gsuite account login? it should work.

gsuite.yaml файла не нашел в phishlets нашел только google.yaml

А так интересуют phishlets на google.com, mail.ru, yandex.ru  и тд

phishlets google.yaml не работает

@Aleksandr3313 I was trying to explain that the template I suggested here was only tested against G-Suite, not regular gmail.

gsuite.yaml работает проверил все хорошо

only works til it asks for password :(

@athena2001 I encountered a very similar symptom when I had setup the DNS wrong, please follow the tutorial here  and update when it all works :)

Это хорошо но хотелось бы и простую почту gmail открывать через evilginx

Это хорошо но хотелось бы и простую почту gmail открывать через evilginx, а так же vk, yandex, telegram, mail, открывать через evilginx и тд... а phishlets к ним так и нет. А ведь это крупные платформы в интернете

This PR is not related to those sites.
@tomelic
Thanks for the phishlet and excellent write up. In my testing, the injected JavaScript doesn't do anything. Is there a concrete reason for it or is it copied over from other google templates? I know the signin/v1 login page has similar code, but not sure if it is required for signin/v2. Also I found the password search field may capture a captcha token (instead of the password) if captcha is present.

@TomAbel Not a real reason, mostly there for backup since I tested with it - but I believe will work without it as well so you can just remove it before approval.
As for the search field, have not encountered in my testing so can't tell!
@kgretzky could you approve pull request?

Кто ни будь phishlets, сделал чтоб попробовать gmail, vk, mail, telegram, на evelginx?

Hey guys, this template seems to work, why isn't it a being approved????? It's insane!!!

so does this only work with domain google mails?

Also, I found that the search field for password may capture a captcha token (in place of the password) if captcha is present.

You'll get a captcha if you use evilginx2 with any free public proxy (like http://free-proxy.cz). Using a proxy is a good idea as Google's 2FA shows the sign-in location.
Anybody running into the same issue, use ,\["([^"]*)",.*?\]\]\] as password search field.
Here's the captcha variant of /accountlookup, notice ,["CAPTCHATOKEN", conflicts with ,["password123",
["myemail@gmail.com","BOTGUARD-TOKEN",[],["CAPTCHATOKEN","CAPTCHA-ANSWER"],"COUNTRY",null,null,2,false,true,[null,null,[2,1,null,1,"https://google",null,[],4,[],"GlifWebSignIn",null,[]],1,[null,null,[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[],null,null,null,[],[]],null,null,null,true,null,null,null,null,null,null,null,null,[]],"myemail@gmail.com",null,null,null,true,true,[]]
/_/signin/challenge ends like so ,["password123",null,true]]]

Doesn't appear to work any longer.

@vysecurity have you tried against g-suite? (Rather than plain gmail)
Also, did you follow the steps shown here? https://cilynx.com/how-to/evilginx2-vs-2fa-phishing/424/

Yep Gsuite, followed all steps. Even only whitelisted my own IP ranges to prevent any bot from reading it.

This was used by my team multiple times and captured full username pass & session cookies
Umm
Any errors on evilginx load?
How did you handle the ns config?

Actually, for NS config I used a special technique. I'll try the standard config you're using.
I'll give it another shot, I wonder what the issue might be.

@kgretzky approve the pull request? :)

does this still works? i tried the google.yaml file but it doesnt work for me

does this still works? i tried the google.yaml file but it doesnt work for me

The base phishlet I have 100% works for gsuite accounts. There's a guide on my profile on how to upgrade the base phishlet so it'll work for google accounts as well.

I had similar issues stuck on the first sign in page that's the old phishlets.... attually I got the latest .yaml off the author y'all can reach out to him on icq @mrgretzky to get issues fixed if needed.


Add Boba BNB Mainnet docs

:clipboard: Add associated issues, tickets, docs URL here.
Overview
Describe what your Pull Request is about in a few sentences.
Add BNB docs
Changes
Describe your changes and implementation choices. More details make PRs easier to review.

Add deployment files
Add BOBA core contract addresses

Testing
Describe how to test your new feature/bug fix and if possible, a step by step guide on how to demo this.

Codecov Report

:exclamation: No coverage uploaded for pull request base (docs-in-monrepo@8ebff59). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@                Coverage Diff                 @@
##             docs-in-monrepo     #382   +/-   ##
==================================================
  Coverage                   ?   80.97%
==================================================
  Files                      ?       54
  Lines                      ?     1677
  Branches                   ?      272
==================================================
  Hits                       ?     1358
  Misses                     ?      319
  Partials                   ?        0

Flag
Coverage Δ

contracts
79.27% <0.00%> (?)

core-utils
86.80% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Current Behavior
Upon clicking "Netflix" on the "Select a streaming service to sync from:", an error message pops up having the message "Failed to load history"

Steps to Reproduce

Open the "Universal Trakt Scrobbler" extension
Click on "Netflix" from the list of streaming service
Wait for 1-2 secs for the pop error

Additional Information
Note: I've double checked and the browser is logged in into my Netflix account.
I've traced the error through the developer tool and this was what it showed...

[UTS] Failed to load history. Error: {"request":{"url":"https://www.netflix.com/api/shakti/mre/viewingactivity?languages=en-US&authURL=1727873878025.YUtFHxmxLQnDfSnfKLUhlGL8muc\\x3D&pg=0","method":"GET","cancelKey":"default","withHeaders":{},"signal":{}},"status":-1,"isCanceled":false}

I tried the URL (of course url un-encoded string), and it seems the authURL or key is not valid as Netflix is showing a word "BLOCKED" if the URL is browsed.

Ubuntu (Desktop) 22.04.5 LTS:
Firefox - 130.0.1 (via Snap)
Country/Region: US/Philippines

I solved it by deleting and re-adding the modified extension saved locally.

Thanks.. that did fix it.  It's the only thing I haven't tried is deleting/removing the extension hahaha


212 use rustls instead of openssl to improve interop

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 71.09%. Comparing base (1871864) to head (98d75fd).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #214   +/-   ##
=======================================
  Coverage   71.09%   71.09%
=======================================
  Files          66       66
  Lines        2910     2910
=======================================
  Hits         2069     2069
  Misses        841      841

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Implementing handling of the OrgNotFound exception

Critical Changes
Changes
Implementing better handling of the OrgNotFound exception thrown when specifying an org that does not exist in the keychain. When a user specifies an org that does not exist in the keychain, they'll now see a simple sentence instead of a full stack trace.
This was implemented for the following commands:

cci org browser
cci org default
cci org info (already implemented in a previous release of CumulusCI)
cci org remove (already implemented in a previous release of CumulusCI)
cci org scratch_delete
cci org shell
cci task run
cci flow run

Note: While cci org info already had this handling, the error message was modified to match the same language as the rest of the commands.
Issues Closed

@jstvz Can you take a look at this when you get a chance? Not sure if there's any other process I should follow - just let me know if I need to do anything else :)
Note: I did not add the improved error handling to the cci org import and cci org connect tasks... I don't know them that well and their functionality is a bit different than the rest.

@robertbwatson Thanks for working on this--it's something that multiple people have mentioned.
@jstvz The problem with centralizing this logic by moving it into the keychain's get_org method is that use of click's exceptions should be isolated to the cci module. i.e. we don't want to be raising click exceptions when CumulusCI is used as a library within a web app rather than as a CLI.
I'd like to take a look at whether there's a way we can centralize this by moving in the other direction; that is, moving the exception handling out to a wrapper around the click entry point. We already have a way of designating exceptions that shouldn't show a traceback (by making them subclass CumulusCIUsageError) but that logic is currently only applied in a few of the click commands.
There are a few related questions about exception handling that have come up recently so I'll try to consider this within that broader context in the next few days.

I meant wrapping the try-except calls that are the same into a helper function in this module. Maybe it's an unnecessary abstraction.

@jstvz got it. that sounds like a good idea if my experiments don't work out re handling exceptions in a wrapper of the click entrypoint.

Hey @robertbwatson -- sorry for the radio silence on this. It got me thinking about some refactoring that I want to do to centralize how the CLI handles exceptions. I'm working on that and hope to have something to review next week. That will probably take the place of a lot of your work here, which I'm sorry about, but I would be happy to have you review what I'm working on to make sure it accomplishes similar goals.

Hey @robertbwatson -- sorry for the radio silence on this. It got me thinking about some refactoring that I want to do to centralize how the CLI handles exceptions. I'm working on that and hope to have something to review next week. That will probably take the place of a lot of your work here, which I'm sorry about, but I would be happy to have you review what I'm working on to make sure it accomplishes similar goals.

No worries @davisagli, thanks for the update!

Closing this since #1395 will solve it a different way (by centralizing our error handling and never showing the stack trace unless requested)


Update French language

Update French language with the latest strings.
Also made a small edit to English.
I don't understand why first line is marked as +/-, there is no modification there.

Thanks! I added one comment on the English change (I think 'dynamic' would be more appropriate than 'active' in that string). Other than that it looks good!


Add env switching

Based on https://github.com/apex/apex/issues/253

@tj what do you think about renaming current -e --env to -v --envvar so we could use -e --env for switching envs?

hmm though call, definitely awkward having two "env" things, hrmm. Maybe --set key=val -s key=val, I've used that in the past