Enrich Git extension's remote source provider API

Re: https://github.com/microsoft/vscode/issues/141295
This pull request expands the remote source provider API from the git-base extension, allowing any extension to provide remote sources with the same richness that is currently available in the Remote Repositories extension. Since we're enriching the API in git-base, I think it also makes sense to rework Remote Repositories to take advantage of this API instead of having its own picker.
The key changes are:

Rework the remote source picker flow to allow RemoteSourceProvider.getSources() to display the provider's own secondary quickpick before returning a list of RemoteSources.

This enables Azure Repos to display its pickers for selecting an organization and project inside the getSources() method before generating a list of repositories.

Allow callers of the getRemoteSources API command to customize the title and placeholder of the quickpick, in addition to the provider label.

This lets Remote Repositories continue using its current title and placeholder.

Allow callers of the getRemoteSources API command to customize the URL label for a given URL.

Consumers can use this function to display more informative labels for URLs pointing to a repository, pull request, branch, tag, file etc., which Remote Repositories already does today.

Allow remote source providers to specify a quickpick placeholder.

This is necessary so that e.g. GitHub Repositories can contribute a remote source provider for GitHub pull requests and have the quickpick placeholder talk about pull requests instead of repositories.

Allow remote sources to specify a detail in addition to the description.

This is necessary so that GitHub Repositories' remote source provider can include the star count / fork information next to the repository name and the repo description in the detail.
I also updated the builtin GitHub extension's usage of the getRemoteSources API command to align it with the experience in the GitHub Repositories extension.

Introduce the concept of a recent remote source provider. Recent sources are displayed in the same list as the remote source providers.

This enables parity with the existing Remote Repositories experience, where there is a list of recently opened items in the top-level picker.
Maybe we should make displaying the recent sources opt-in by the caller of getRemoteSources, so that these do not appear in unexpected locations where getRemoteSources is being used and where the Remote Repositories extension has activated for some reason (e.g. user clicks Open Remote Repositories which activates Remote Repositories, then triggers getRemoteSources through some other extension).

While adopting some of these API changes in the builtin GitHub extension, I also encountered and fixed https://github.com/microsoft/vscode/issues/123986 by always including fork:true in the search query. I fixed this exact issue in Remote Repositories some time back.
Some remaining questions I have:

We don't have the ability to display fork info in the builtin GitHub extension, since it relies on the REST APIs for getting repository info, and that would necessitate an additional API call for each forked repository in order to determine the parent. Let me know if you think it would be good to make that change.

If we add this, the builtin GitHub extension's remote source provider will have full feature parity with the GitHub Repositories remote source provider for repositories. We could enable the builtin GitHub extension in virtual workspaces and remove the GitHub Repositories version.

Currently GitHub Repositories displays an inline item when there are additional SAML-protected results, with a showMore method that when clicked initiates reauthentication. @lszomoru I wanted to get your thoughts on adding this to the API since it is pretty specific. An alternative is that GitHub Repositories could just do an authentication.getSession with forceNewSession: true when we get truncated results due to missing SSO.

These changes look good to me but I would like @joaomoreno to have a quick look as well.

We don't have the ability to display fork info in the builtin GitHub extension, since it relies on the REST APIs for getting repository info, and that would necessitate an additional API call for each forked repository in order to determine the parent.

But those calls would slow down showing the entire list, right? Is that how the  GitHub Repositories does it today?

remove the GitHub Repositories version

❤

with a showMore method that when clicked initiates reauthentication

Is this displayed as an inline action on the quick open item?

Is that how the GitHub Repositories does it today?

GitHub Repositories uses the GraphQL API to search for Repository objects, so it can retrieve the fork parent (if any) with a single network request. This information isn't available without a second call through the REST API. Though it's also true that the GraphQL API might be slower, so even if we switched the GitHub extension over to use the GraphQL API, we might slow down the list generation overall.

Is this displayed as an inline action on the quick open item?

Yeah, the motivation is that users are already looking at the quickpick and wouldn't notice if we displayed a notification in the bottom right about the incomplete results. From talking with @lszomoru I think we want to avoid introducing this into the API unless we hear a real need for it, and GitHub Repositories has an alternative today (which is to immediately ask for auth as soon as we detect missing SAML--it's a degraded experience compared to now because the user has less context on why they're being asked to reauthenticate, but it's also strange that we would put actions inline in the quickpick).


Documented installation process

This PR brings the basic process how to install Taopq. It's different from other projects because is not a header-only and requires PostgreSQL.
I listed only support based on CMake here, but we can expand in the future if requested.
/cc @SquirrelCZE
closes #40

Just my personal note:
I love that you decided to document both approaches to this. By my opinion this is best of everyone and should be much appreciated in longterm.


Optimize quering

Separate permission logic and core logic
...

Can you describe more detail about that? I need the context

We check permissions too much. For example, when we try to read a collection, we first check permissions for the collection, and then check permissions again when accessing the collection metadata.


Filter the ADB logcat messages to the running application/test suite

Currently the (Android) scenario_app has very rudimentary logging, including dumping the full adb logcat to stdout:

Starting adb logcat in the Dart process.
On trap ... EXIT, dumps the logs to stdout.

Ideally, we'd filter and only show messages relevant to the running app (or test suite). Must haves:

[ ] Messages printed from the Java or Dart applications or test suite
[ ] Uncaught exceptions or asserts from the Java or Dart applications or test suite
[ ] Verification that screenshots have been taken and uploaded to Skia gold (if applicable)

This work is somewhat important, because debugging these tests on CI (and even locally) is non-trivial, and we suspect cases where certain tests are not running, or not taking screenshots consistently (at least on CI). Logging would be one part of feeling more certain that the tests are running as expected.
Log filtering historically has been brittle, so it might be good to have some small tests that verify this keeps working.

[!TIP]
The Flutter tool does something like this, so maybe pick @christopherfujino or @jonahwilliams 🧠 .

Note that after https://github.com/flutter/engine/pull/50722, I think it's safe to do this.

The first part of this has been done, but logging still needs to be improved for the above cases.


Allow to go to file relative to the currently active filed

VSCode Version: 1.21.1
OS Version: macOS 10.13.1

Can we have relative path support for [go to file] command?

@chbdetta can you explain what you mean?

The file search box appears when pressing cmd + p key or by clicking the menu Go - Go to File.... Now it only supports file name/ file path matching in the scope of workspace.
Can we have the ability to navigate file relative to currently editing file? e.g. when I am editing file A.js inputing ./B.js will show the file B.js in the same directory with A.js

@mrkev This looks like a variation of the absolute path matches. Maybe this could be added in a similar way to that: https://github.com/Microsoft/vscode/blob/27797381c52aba1d5afb0c5004b22472dc672520/src/vs/workbench/parts/search/browser/openFileHandler.ts#L164

If I have a spare minute this weekend I'll set up vscode for development and delve in. Thanks for the pointer!

I am currently working on this issue and expect to have it solved by the end of the week! Thanks


Reaper handles struct upgrades to quantum jobs

User Story
Currently reaper will crash if a dataset definition that reaper has stored in a quantum job is upgraded. Reaper should be able to parse out of date structs and upgrade them to its current version.
Acceptance Criteria:

[ ] Reaper does not have stored jobs crash when a struct version is upgraded

Amigos:
@carriebrinkley, @ManApart or @NathanielScottStevens, @JarredOlson

@JarredOlson will investigate further


GET /certificate/verify-can-claim-cert

Thanks for noticing this, Sem.
As this route has been deprecated for a while, we should be able to safely sunset this route - NOT have it in the new API.

Reopening it as we're migrating deprecated endpoints as discussed in todays API meeting


fb too it is necessary to rewrite

These guys can safely use tdlib. Some nonsense in the newspaper. They invent another anti-virus that does not work.
I think first they need to start from the site. It is advisable to use the ideas of tdlib or tdlib completely.

To begin with, their team needs to remove the sending of letters to spam. This was the decisive factor after which I stopped watching the features in the social network.

As a result, it will be safer and faster.


Fish_in_the_Sea-Update

Your checklist for this pull request
Update Information:

I uploaded a thumbnail image for the Fish_in_the_Sea game.

Image (If an image is used)

[X] The image is in the /games/img directory.
[X] The name of the image matches the name of your file. Example: sokoban_plus.js -> sokoban_plus.png.

Thanks for PR!

@LucasHT22 im getting this error when I try to run it:
Uncaught TypeError: Failed to execute 'drawImage' on 'OffscreenCanvasRenderingContext2D': The provided value is not of type '(CSSImageValue or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or OffscreenCanvas or SVGImageElement or VideoFrame)'. on line 1372 in column 1162. Open the browser console for more information.

@karamassie If you're refering to the Fish_in_the_Sea game, that error wasn't there when I submitted it, but it is now.  I've found that entirely removing lines 139 - 155 (The setBackground part) fixes it. Let me know if that doesn't fix the error.

curious error, probably the "simple rendering" change caused it, but I'm not sure


http3: fixing an upstream threading issue and bumping http3 upstream code back to alpha

Envoy as a community is not in the habit of moving "GA" code to alpha. It was believed at the time that HTTP/3 upstream code had been deployed successfully in production but based on the severity of the bug fixed here it appears that was not the case.  Changing security status to reflect the current perceived code stability.
Risk Level: low
Testing: e2e test
Docs Changes: inline
Release Notes: inline

/wait on CI (looks like I missed some test mocks)


Fix POETRY_HOME env variable, allow python to be configurable

Checklist:

[ ] Added tests for changed code where applicable.
[ ] Documentation reflects the changes where applicable.
[x] Updated the CHANGELOG.md file with your changes.
[x] My PR is ready to review.

Resolves: #131
Description of the changes being introduced by the pull request:

Codecov Report

Merging #132 (52af413) into master (18fbb9e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #132   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           40        40
  Lines          800       800
=========================================
  Hits           800       800

Impacted Files
Coverage Δ

...}/{{cookiecutter.package_name}}/app/views/error.py
100.00% <ø> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Proper Support for TFTP Server TIDs

The TFTP module always uses TID 69. Per RFC3150 §4, the TID is the UDP port, and should be chosen randomly. We should be able to accomplish this by opening a new UDP socket for each transfer. We'll need to receive data on this socket as well, since the ACKs go to it. Perhaps a select on all outstanding sockets would work (this would also help #39).

@psychomario 8cd1e7580e706a0ecf73c3c943306c8749cd6b48 seems to be your most recent commit to the development branch in regards to this issue. Looks like you've done some testing but just wanted to check with you if that has actually been done. My plan was to open a PR and do some tidying up with everything (whitespace, comments, PEP8, etc.) and then test everything before merging to master but if there was no testing done yet I won't bother.

I tested this reasonably thoroughly when I initially added this. Across 100 concurrent downloads, 98 succeeded successfully, and iirc the other 2 where UDP's fault. I also tested it in practice when working on the nfs branch. Everything seems to be working ok. As ever, I appreciate your contributions.


Support PubSub in Kafka binder

Un-@Ignore KafkaBinderTests.testSendAndReceivePubSub()

This depends on spring-cloud/spring-cloud-stream#268


upgrade 0.91 to 0.93

My current version is 0.91 ,and weed master、volume 、filer、mount  are in use , i wanna upgrade to 0.93 ,  is it the right way to restart everything with the weed  latest version ?
thks

mostly yes. maybe verify the command line options are still the same.

thank you , i will try it


ERROR: Can not provide predictions for the chosen molecule, see the list of possible molecules

Hey guys, Alex asked me to run the mouse tumors through topiary to generated MHC-II predictions, but I'm having some difficulty running topiary w/ these settings. I've tried a bunch of different input styles for I-A (e.g H2-IAb, H-2-IAB, H-2-IAb) all of which return similar errors.
WARNING:root:ERROR: Can not provide predictions for the chosen molecule, see the list of possible molecules

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/topiary", line 6, in <module>
exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/scripts/topiary", line 64, in <module>
main()
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/scripts/topiary", line 46, in main
epitopes = predict_epitopes_from_args(args)
 File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/predict_epitopes.py", line 103, in predict_epitopes_from_args
raise_on_variant_effect_error=not args.skip_variant_errors)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/predict_epitopes.py", line 76, in predict_epitopes
raise_on_variant_effect_error=raise_on_variant_effect_error)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/mutant_epitope_predictor.py", line 309, in epitopes_from_variants
transcript_expression_threshold=transcript_expression_threshold)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/mutant_epitope_predictor.py", line 212, in epitopes_from_mutation_effects
for x in self.mhc_model.predict(peptide_dict):
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/mhctools/mhctools/netmhcii_pan.py", line 104, in predict
raise ValueError("No epitopes from netMHCIIpan")
ValueError: No epitopes from netMHCIIpan

Full trace:
johnfinnigan$ python /Library/Frameworks/Python.framework/Versions/2.7/bin/topiary --vcf ~/Desktop/TEMP/Results/Tumor_B16_F1_0821/VCF/MuTect/Tumor_B16_F1_0821.mutect.targets.pass.vcf --mhc-predictor netmhciipan --mhc-alleles H-2-IAB --ic50-cutoff 500 --mhc-epitope-lengths 15 --output-csv ~/Desktop/Tumor_B16_F1_0821.mutect.targets.pass.vcf.topiary.netMHCIIpan.csv
Topiary commandline arguments:
Namespace(ic50_cutoff=500.0, json_variant_files=[], keep_wildtype_epitopes=False, maf=[], mhc_alleles='H-2-IAB', mhc_alleles_file=None, mhc_epitope_lengths=[15], mhc_predictor='netmhciipan', output_csv='/Users/johnfinnigan/Desktop/Tumor_B16_F1_0821.mutect.targets.pass.vcf.topiary.netMHCIIpan.csv', output_html=None, padding_around_mutation=None, percentile_cutoff=None, reference_name=None, rna_gene_fpkm_file=None, rna_min_gene_expression=0.0, rna_min_transcript_expression=0.0, rna_remap_novel_genes_onto_ensembl=False, rna_transcript_fpkm_file=None, self_filter_directory=None, skip_variant_errors=False, variant=[], vcf=['/Users/johnfinnigan/Desktop/TEMP/Results/Tumor_B16_F1_0821/VCF/MuTect/Tumor_B16_F1_0821.mutect.targets.pass.vcf'])
INFO:root:Building MHC binding prediction type for alleles ['H-2-IAb'] and epitope lengths [15]
INFO:root:Silent mutation filtering removed 6769/10282 entries of EffectCollection
INFO:root:netMHCIIpan -length 15 -f /var/folders/mk/v3ggtgds0c5_j1grfmcylxj00000gn/T/peptidetw7dRp -a IA_b
INFO:root:netMHCIIpan finished with return code 0
INFO:root:Cleaning up /var/folders/mk/v3ggtgds0c5_j1grfmcylxj00000gn/T/netMHCIIpan_outputRlbWZb
INFO:root:Cleaning up /var/folders/mk/v3ggtgds0c5_j1grfmcylxj00000gn/T/peptidetw7dRp
WARNING:root:ERROR: Can not provide predictions for the chosen molecule, see the list of possible molecules

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/topiary", line 6, in <module>
exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/scripts/topiary", line 64, in <module>
main()
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/scripts/topiary", line 46, in main
epitopes = predict_epitopes_from_args(args)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/predict_epitopes.py", line 103, in predict_epitopes_from_args
raise_on_variant_effect_error=not args.skip_variant_errors)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/predict_epitopes.py", line 76, in predict_epitopes
raise_on_variant_effect_error=raise_on_variant_effect_error)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/mutant_epitope_predictor.py", line 309, in epitopes_from_variants
transcript_expression_threshold=transcript_expression_threshold)
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/topiary/topiary/mutant_epitope_predictor.py", line 212, in epitopes_from_mutation_effects
for x in self.mhc_model.predict(peptide_dict):
  File "/Users/johnfinnigan/Desktop/Utilities/Topiary/mhctools/mhctools/netmhcii_pan.py", line 104, in predict
raise ValueError("No epitopes from netMHCIIpan")
ValueError: No epitopes from netMHCIIpan

Class I predictions seem to be working just fine. Any idea what could be causing this? Also, it would be helpful if
WARNING:root:ERROR: Can not provide predictions for the chosen molecule, see the list of possible molecules

produced documentation w/h helps the user find the list of possible alleles/molecules.
Thanks!

@tavinathanson

Can we print the command to see the alleles for a predictor
The format is off for mouse allele names, it's currently " -a IA_b" but should probably be "-a H-2-IAb"

"-a IA_b" but should probably be "-a H-2-IAb"
Ok. I agree re: the latter specification. Thank's for clarifying, Alex!

@JPFinnigan Just to make sure we're on the same page, the issue is that my code normalizes whatever you enter into "IA_b", which netMHCIIpan doesn't accept. I have the fix; should be in soon!

@JPFinnigan The fix is now merged into mhctools version 0.1.7. Does it fix the problem for you?

@tavinathanson Looks like this resolved the issue. Thanks!


An option to remove/add rows?

Thanks for creating this web app. You are amazing. I humbly request a small feature. An option to remove/add rows?

Hello, thanks for the feedback :)
That sounds useful, I'm gonna see what I can do about it.

Implemented in c3109

Thanks. The design is intuitive enough for me.


[SPARK-36705][FOLLOW-UP] Support the case when user's classes need to register for Kryo serialization

What changes were proposed in this pull request?

Make the val lazy wherever isPushBasedShuffleEnabled is invoked when it is a class instance variable, so it can happen after user-defined jars/classes in spark.kryo.classesToRegister are downloaded and available on executor-side, as part of the fix for the exception mentioned below.

Add a flag checkSerializer to control whether we need to check a serializer is supportsRelocationOfSerializedObjects or not within isPushBasedShuffleEnabled as part of the fix for the exception mentioned below. Specifically, we don't check this in registerWithExternalShuffleServer() in BlockManager and createLocalDirsForMergedShuffleBlocks() in DiskBlockManager.scala as the same issue would raise otherwise.

Move instantiateClassFromConf and instantiateClass from SparkEnv into Utils, in order to let isPushBasedShuffleEnabled to leverage them for instantiating serializer instances.

Why are the changes needed?

When user tries to set classes for Kryo Serialization by spark.kryo.classesToRegister, below exception(or similar) would be encountered in isPushBasedShuffleEnabled as indicated below.
Reproduced the issue in our internal branch by launching spark-shell as:
spark-shell --spark-version 3.1.1 --packages ml.dmlc:xgboost4j_2.12:1.3.1 --conf spark.kryo.classesToRegister=ml.dmlc.xgboost4j.scala.Booster

Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1911)
	at org.apache.spark.deploy.SparkHadoopUtil.runAsSparkUser(SparkHadoopUtil.scala:61)
	at org.apache.spark.executor.CoarseGrainedExecutorBackend$.run(CoarseGrainedExecutorBackend.scala:393)
	at org.apache.spark.executor.YarnCoarseGrainedExecutorBackend$.main(YarnCoarseGrainedExecutorBackend.scala:83)
	at org.apache.spark.executor.YarnCoarseGrainedExecutorBackend.main(YarnCoarseGrainedExecutorBackend.scala)
Caused by: org.apache.spark.SparkException: Failed to register classes with Kryo
	at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$5(KryoSerializer.scala:183)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.apache.spark.util.Utils$.withContextClassLoader(Utils.scala:230)
	at org.apache.spark.serializer.KryoSerializer.newKryo(KryoSerializer.scala:171)
	at org.apache.spark.serializer.KryoSerializer$$anon$1.create(KryoSerializer.scala:102)
	at com.esotericsoftware.kryo.pool.KryoPoolQueueImpl.borrow(KryoPoolQueueImpl.java:48)
	at org.apache.spark.serializer.KryoSerializer$PoolWrapper.borrow(KryoSerializer.scala:109)
	at org.apache.spark.serializer.KryoSerializerInstance.borrowKryo(KryoSerializer.scala:346)
	at org.apache.spark.serializer.KryoSerializerInstance.getAutoReset(KryoSerializer.scala:446)
	at org.apache.spark.serializer.KryoSerializer.supportsRelocationOfSerializedObjects$lzycompute(KryoSerializer.scala:253)
	at org.apache.spark.serializer.KryoSerializer.supportsRelocationOfSerializedObjects(KryoSerializer.scala:249)
	at org.apache.spark.util.Utils$.isPushBasedShuffleEnabled(Utils.scala:2584)
	at org.apache.spark.MapOutputTrackerWorker.<init>(MapOutputTracker.scala:1109)
	at org.apache.spark.SparkEnv$.create(SparkEnv.scala:322)
	at org.apache.spark.SparkEnv$.createExecutorEnv(SparkEnv.scala:205)
	at org.apache.spark.executor.CoarseGrainedExecutorBackend$.$anonfun$run$7(CoarseGrainedExecutorBackend.scala:442)
	at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:62)
	at org.apache.spark.deploy.SparkHadoopUtil$$anon$1.run(SparkHadoopUtil.scala:61)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
	... 4 more
Caused by: java.lang.ClassNotFoundException: ml.dmlc.xgboost4j.scala.Booster
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.apache.spark.util.Utils$.classForName(Utils.scala:217)
	at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$6(KryoSerializer.scala:174)
	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
	at org.apache.spark.serializer.KryoSerializer.$anonfun$newKryo$5(KryoSerializer.scala:173)
	... 24 more

Registering user class for kryo serialization is happening after serializer creation in SparkEnv. Serializer creation can happen in isPushBasedShuffleEnabled, which can be called in some places prior to SparkEnv is created. Also, as per analysis by @JoshRosen, this is probably due to Kryo instantiation was failing because added packages hadn't been downloaded to the executor yet (because this code is running during executor startup, not task startup). The proposed change helps fix this issue.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Passed existing tests.
Tested this patch in our internal branch where user reported the issue. Issue is now not reproducible with this patch.

cc @mridulm @Ngone51 @gengliangwang @dongjoon-hyun @venkata91 @zhouyejoe
Please take a look。

Can one of the admins verify this patch?

Thanks for working on this @rmcyang !
Can you change the jira to follow up of SPARK-36705 ?

Also, +CC @srowen

I don't quite get how this is related to push-based shuffle being enabled - that seems pretty different from questions of user classes and serialization? this feels like a hacky solution but I also don't know much about this path

Thanks for reviewing @srowen.
The context is that Utils.isPushBasedShuffleEnabled is invoked within the initialization path of driver and executor (as part of SparkEnv creation) as well as in other places (after SparkEnv.get is available).
As part of isPushBasedShuffleEnabled, we need to check if the serializer supports relocation or not : which requires creation/initialization of the configured Serializer.
With the existing version, this fails as there are multiple creation paths for Serializer.
This PR should help address this issue.

Ok to test

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48286/

Test build #143775 has started for PR 34158 at commit 054e631.

Agree with your analysis @JoshRosen. That was my interpretation as well when I relooked at it again - I have synced with @rmcyang to make sure we address the lack of jars on executor issue - which is the actual cause of the current problem.
(Making serializer initialization consistent is required - but is not the immediate cause).

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48286/

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

Test build #143775 has finished for PR 34158 at commit 054e631.

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

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

Can one of the admins verify this patch?

Test build #143789 has started for PR 34158 at commit ac35545.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48301/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48301/

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

Test build #143789 has finished for PR 34158 at commit ac35545.

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

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

Test build #143793 has started for PR 34158 at commit ca4de24.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48305/

Thanks for thorough review @JoshRosen @mridulm. The original change indeed was not really to address the actual problem after I did more tests on our internal branch. To better fix the issue, I further made the val lazy wherever isPushBasedShuffleEnabled is invoked when it is a class instance variable so it will happen after the jars/classes are available/downloaded. For the case when isPushBasedShuffleEnabled is called during executor startup, the idea is we don't check if serializer if relocatable of not by using a flag checkSerializer.

In BlockManager.registerWithExternalShuffleServer:
When serializer.supportsRelocationOfSerializedObjects returns false then the executor will register with the push-based shuffle version of shuffleManagerMeta even though push-based shuffle won't be used.
Does this result in correct behavior?❓
I'm worried about potentially hard-to-debug issues in the rare scenario where push-based shuffle would be used except for the fact that the user-configured KryoSerializer doesn't support relocation of serialized objects. In our test code we have a org.apache.spark.serializer.RegistratorWithoutAutoReset which can be used to test the corner-case where that might occur.

For push based shuffle, we pass additional metadata as suffix to shuffleManager id when registering with external shuffle manager (ESS).
If present, it initializes ESS to support receiving block pushes. But if the application does not push blocks subsequently (because push based shuffle was disabled due to insufficient mergers/serializer relocation issue/etc), it is just functionality that is enabled but not used.
So strictly speaking, this should not change things.

Just brainstorming here, but as a possible alternative fix: what if the driver evaluated whether push based shuffle could really be enabled, stored the result of that evaluation into a private internal configuration, then passed that configuration to executors (letting us skip the computation on the executors)? I wonder if there's any precedence for doing this elsewhere in the Spark code or whether we'd run into different initialization order issues.

This is definitely a good idea - and we do use spark conf to pass spark.app.attempt.id to executors this way for use in push based shuffle.
We can add something like spark.shuffle.push.internal.enabled - which can be used for this case.
Thoughts ?
+CC @Victsm, @zhouyejoe, @otterc, @venkata91

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48305/

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

Test build #143796 has started for PR 34158 at commit af5c6cb.

Test build #143796 has finished for PR 34158 at commit af5c6cb.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #143793 has finished for PR 34158 at commit ca4de24.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48308/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48308/

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

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

Can one of the admins verify this patch?

Test build #143800 has started for PR 34158 at commit 40efd99.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48312/

Test build #143801 has started for PR 34158 at commit 4f3a712.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48313/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48312/

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

Test build #143800 has finished for PR 34158 at commit 40efd99.

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

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48313/

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

Test build #143801 has finished for PR 34158 at commit 4f3a712.

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

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

Test build #143804 has started for PR 34158 at commit 460b314.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48316/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48316/

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

Test build #143804 has finished for PR 34158 at commit 460b314.

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

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

Test build #143806 has started for PR 34158 at commit 79f132a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48318/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48318/

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

Test build #143806 has finished for PR 34158 at commit 79f132a.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48331/

Test build #143818 has started for PR 34158 at commit 6f936b1.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48331/

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

Test build #143818 has finished for PR 34158 at commit 6f936b1.

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

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

Test build #143826 has started for PR 34158 at commit 4ada043.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48338/

Test build #143827 has started for PR 34158 at commit 585a7ff.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48340/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48338/

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

If the approach described above was easy to implement then I'd prefer it since I think it's easier to reason about: the approach taken in this PR requires me to reason about push-based shuffle internals to argue that it's okay for the executor and driver to have divergent effective configurations in certain places (as discussed upthread).

@rmcyang Can you file a jira and link it to the improvements jira ?
Given the correctness, we can get it addressed as follow up after release (this PR is blocking RC). Does that sound fine @JoshRosen  ?

+CC @Ngone51, @gengliangwang to also take a look. Thx

Test build #143826 has finished for PR 34158 at commit 4ada043.

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48340/

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

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

Test build #143827 has finished for PR 34158 at commit 585a7ff.

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

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

Stepping back a bit, I have a more fundamental conceptual question about the push-based shuffle configurations: could the decision of whether to use push-based shuffle be performed on a per-ShuffleDependency basis rather than a per-app basis?
The spark.serializer configuration controls the default serializer, but under the hood ShuffleDependency instances are sometimes automatically configured with non-default serializers:

Pure SQL / DataFrame / Dataset code uses UnsafeRowSerializer.
The RDD shuffle path will automatically use Kryo when shuffling RDDs containing only primitive types.

Spark's shuffle code contains a serialized sorting mode which can only be used when  serializer. supportsRelocationOfSerializedObjects == true. The decision of whether to use serialized sorting mode is performed on a per-ShuffleDependency (not per-app) basis (by using a different ShuffleHandle).
If we did something similar for push-based shuffle then users could enable PBS and still get some benefit even if they couldn't / didn't want to use Kryo as the default serializer. With that approach we wouldn't need to construct a default serializer instance: during SparkEnv creation time or executor startup time we'd only need to know whether the other prerequisites of PBS were met (configuration enabled, shuffle service enabled, IO encryption disabled, etc). We'd still need to check the serializer properties, but that check would happen on the driver and its result would somehow be encoded in the ShuffleDependency.
Is that possible given the architecture of push-based shuffle?

@rmcyang Thanks for the fix. The latest test failure looks relevant.
@mridulm Sorry for the late reply. I was on vacation.  The fix overall LGTM.

Test build #143834 has started for PR 34158 at commit 82e2e07.

@rmcyang Thanks for the fix. The latest test failure looks relevant. @mridulm Sorry for the late reply. I was on vacation. The fix overall LGTM.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48347/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48347/

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

Test build #143834 has finished for PR 34158 at commit 82e2e07.

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

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

retest this please

Test build #143856 has started for PR 34158 at commit 82e2e07.

Thanks for the reviews @JoshRosen and @gengliangwang !
Will wait for the tests to complete and merge to master/branch-3.2

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48369/

Stepping back a bit, I have a more fundamental conceptual question about the push-based shuffle configurations: could the decision of whether to use push-based shuffle be performed on a per-ShuffleDependency basis rather than a per-app basis?

Agree, we should relook at this. Probably mirror more closely what batch fetch does.
This will require a closer look to make sure we make decisions such that, for a shuffle dependency:
a) We dont push at mapper side if reducers cant read it.
b) Dont wait for push finalization at driver.
c) Enable push shuffle reads only if shuffleDep.serializer supports relocation.
d) Relook at how system is initialized - as currently it is based on a global state.
Current state is a more strict enforcement, which can be relaxed as we evolve the functionality.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48369/

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

Test build #143856 has finished for PR 34158 at commit 82e2e07.

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

The test failures are unrelated to the PR, merging to master/branch-3.2

Thanks all for the reviews! @mridulm @srowen @JoshRosen @gengliangwang

I have filled a JIRA prior finding this PR https://issues.apache.org/jira/browse/SPARK-48043. I'm facing a similar issue with the call on Utils.isPushBasedShuffleEnabled in BlockManager.initialize() during Executor bootstraping.


Add logs to a cloudflare zone

Hi,
I needed to add the logs functionality, so that we can get them from CloudFlare and store them in our premises.
I did this commit, which has a (important) caveat grearding the result.
The cloudflare doc states that they do not, for the logs, send back one JSON, but many lines of JSON, so basically something of the like:
{"ClientIP":"<IP_ADDRESS>","ClientRequestHost":"fqdn.domain.name","ClientRequestMethod":"GET","ClientRequestURI":"/file1.png"}
{"ClientIP":"<IP_ADDRESS>","ClientRequestHost":"fqdn.domain.name","ClientRequestMethod":"GET","ClientRequestURI":"/file1.png"}
{"ClientIP":"<IP_ADDRESS>","ClientRequestHost":"fqdn.domain.name","ClientRequestMethod":"GET","ClientRequestURI":"/other_file.png"}

As you can see, each line is a valid JSON, but the result itself is not. So what I did was adding options so that we can force text/plain instead of application/json, and in those case stop the parsing and split it instead. The JSON parsing is then done by the Logs class, as it should. But if we get an error from CloudFlare, I do not know how I can figure it out. Given that in the connection.rb file, you set (in the initializer)
			# Convert HTTP API responses to our own internal response class:
			super(url, headers: headers, accept: 'application/json', **options) do |response|
				Response.new(response.request.url, response.body, **options)
			end

Because of this, the response.code (which would help) is not accessible. But changing the Response initializer signature is IMO an important change. I'm uncertain on which way would be best to continue, so your input is very welcom.

There is a good discussion here about the right content type to use: https://lesspress.net/blog/newline-delimited-json/

It might make sense to consider using content-type: application/json; boundary=NL

Thanks! Never heard of that, I'll take a look and try to set it up.

Yeah it’s pretty uncommon but I think it might be the right solution.

I've been reworking the code base on top of async-rest. Do you mind reworking this PR onto of the current master branch?

I am unable to test this, but there is now support for the logs endpoint.


Various errors with example notebooks

Hi,
This is in relation to https://github.com/openjournals/joss-reviews/issues/6392
It seems like the example notebooks haven't been tested on another system or environment with a 'clean' installation of the repo.
Each of the notebooks I tried to run threw a variety of errors.
I have raised multiple issues on the specifics, and this issue is a pointer on the need for an update + test on a clean installed system/environment,

Thank you, I appreciate it! I'll start working through the issues. Cheers.

Greetings - thank you for your patience. I have consolidated the example notebooks into this single notebook which should be more generalized and hopefully work out of the box: https://github.com/mrilikecoding/StreamPoseML/blob/main/stream_pose_ml/notebooks/example_usage.ipynb. Please let me know if you have issues running it.
I will close the other notebook related issues and leave this one open pending your review. If all looks good I'll close out this issue. Thanks!

Closing per https://github.com/openjournals/joss-reviews/issues/6392#issuecomment-2252332707


Enhancement - Aditional link settings

SUGGESTION / ENHANCEMENT
Display the additional link settings on "edit page"

@divertogmbh I don't fully understand which fields you want added. Can you provide a more detailed example?

i mean this section - see image


Implement Aggregations

Aggregations

[ ] Support adjacencyMatrixAgg
[x] Support avgAgg
[x] Support bucketSelectorPipelineAgg
[x] Support bucketSortPipelineAgg
[x] Support cardinalityAgg
[ ] Support childrenAgg
[ ] Support dateHistogramAgg
[ ] Support autoDateHistogramAgg
[ ] Support dateRangeAgg
[ ] Support extendedStatsAgg
[ ] Support filterAgg
[ ] Support filtersAgg
[ ] Support geoBoundsAgg
[ ] Support geoDistanceAgg
[ ] Support geoHashGridAgg
[ ] Support geoTileGridAgg
[ ] Support geoCentroidAgg
[ ] Support globalAgg
[ ] Support histogramAgg
[ ] Support ipRangeAgg
[x] Support maxAgg
[ ] Support minAgg
[ ] Support missingAgg
[ ] Support nestedAgg
[ ] Support percentilesAgg
[ ] Support percentileRanksAgg
[ ] Support rangeAgg
[ ] Support reverseNestedAgg
[ ] Support samplerAgg
[ ] Support scriptedMetricAgg
[ ] Support sigTermsAgg
[ ] Support statsAgg
[ ] Support sumAgg
[x] Support termsAgg
[ ] Support topHitsAgg
[ ] Support topMetricsAgg
[ ] Support valueCountAgg
[ ] Support variableWidthHistogramAgg
[ ] Support weightedAvgAgg

Tips

Find comprehensive info about the aggregation you are going to implement here
Define aggregation in zio.elasticsearch.aggregation.Aggregations
Define the public method that represents aggregation in the zio.elasticsearch.ElasticAggregation object, add scaladoc and website documentation for it
Support "withAgg", "withSubAgg" in the zio.elasticsearch.aggregation package, if possible
Provide unit tests in the zio.elasticsearch.ElasticAggregationSpec to confirm behavior
Provide integration tests (it module) in the zio.elasticsearch.HttpExectorSpec to confirm the behavior
😇 Feel free to extend other tests as well
😊 Feel free to address any follow-up issue either for the aggregation you are implementing or implemented one already

Note: You can use #95 as a reference. If you feel that the pull request size is growing out of control, feel free to split it but make sure to link this issue in each of the related PRs.

I'll take avgAgg.

I'll take minAgg

I'll take sumAgg.

I'll take missingAgg

I'll take rangeAgg


Simplify save operation to always use UpdateItem

With inheritance on the way and multi-view models an option, PutItem will continue to have more unexpected edge cases when used with other features.
PutItem doesn't offer any inherent advantage over UpdateItem, particularly since we aren't batching requests.  If the performance loss of not batching is relevant for enough people, I'll look into parallelizing requests manually.
Review for cleanup:

[x] Engine.save
[x] anything related to Engine.config (defaults, EngineViews)
[x] engine tests
[x] client put_item
[x] client tests
[x] docs: Working with Items
[x] docs: Engine contexts
[x] docs: Engine.save

Merged unify-save branch, closing.


Automator: update proxy@master in istio/istio@master

Generated by Automator - 2021-07-16T22:13:00+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
ab787c52805c490639b7690d63fdf8d39af810d6
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


[Enum Request] Table 5773 "Registered Whse. Activity Line" Field 9 "Source Document"

Reference to #6367, #6516, #6519 and #6522
Please also change the field 9 "Source Document" at 5773 "Registered Whse. Activity Line" from Option to Enum in order to make it extensible.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Changed X-XSS-Protection to follow OWASP standards due to deprecation.

Modified the conf/nginx/st2.conf to disable the X-XSS-Protection functionality in order to align with the OWASP standards. As most browser vendors have deprecated or removed this feature due to the fact it can introduce additional security issues.  Please view the following sources:
OWASP:

Mozilla Developer Network Web Docs:

References:
OWASP - https://owasp.org/www-project-secure-headers/#x-xss-protection
MDN - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection

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

Seems reasonable to me although it would also be good to check the "legacy browsers" list and ensure it's indeed very old version with very little or no usage in real world.

Agreed, I believe we could potentially use Can I Use? maintained service to get an idea of browser list.
https://caniuse.com/mdn-http_headers_x-xss-protection

@LiamRiddell Would you please add a changelog entry and replace X-XSS-Protection with Content-Security-Policy?

@cognifloyd Hi Jacob, apologies. You want me to add a new changelog entry in the "CHANGELOG.rst" file in the root directory of the project? Best, Liam.

Correct

Correct

Do you want me to add it under the "in development" change log?

Yes. Then when we cut a release, that section gets renamed to the version number and we add a new in development section.

I'm not sure why CircleCI isn't running this PR. I'm going to choose and reopen to trigger it (hopefully)


Your moon.apk was copied to /sdcard/Download/moon.apk It is ready to be installed. Install moon.apk from /sdcard/Download/ using your file manager from Android

@Polat511 thank you for confirming 🎼 Can you please share a picture of Your moon.apk in action?


Trying to return an already freed value

In  pgsql-fio/readfile.c
pfree(content);
PG_RETURN_BYTEA_P(result);
trying to return result which was already freed

thank you very much for your quick bug find :)


Remove core and identity from dev_requirements

Changes to remove core and identity packages from dev_requirements to link the dependency to GA version.

Can one of the admins verify this patch?

I have files issues to create new latest and minimal version test environments


Merge pull request #1 from citusdata/master

sync

@akoltsv I did not get the purpose of this pull request. It does not show any changes.
Closing it.


feat(NDivider): add new component and preset config

I can take it on myself.
So, I like the implementation of MUI (ref: https://mui.com/material-ui/react-divider/)
I think it will be a Divider.vue with orientation and align (for slot)

Go ahead mate @mnenie 🔥, will assign it to you 💯

Go ahead mate @mnenie 🔥, will assign it to you 💯

@phojie thank you very much for the invitation🤝💯💯

@mnenie, I sent you an invite to join this project. It’s too early, but you’ve made significant contributions, and I really appreciate it! 😃
I also sent you an invite to ZenHub, our project management tool. They’re also sponsoring this project by providing ZenHub for free 🚀
Keep rocking, man! You’ve done an awesome job! 🔥 🔥 🔥

@phojie I appreciate it. 🔥
So, honestly, I rarely use discord 😃 but here: mnenie?

@mnenie sent you an invite on Discord. Our Discord is kind of new too. Sometimes it's better to communicate there instead of relying on GH notifications, for quicker and more efficient communication, it's okay—don't pressure yourself 😄

@mnenie sent you an invite on Discord. Our Discord is kind of new too. Sometimes it's better to communicate there instead of relying on GH notifications, for quicker and more efficient communication, it's okay—don't pressure yourself 😄

@phojie don't see an invitation to discord yet 😃
so, thats my profile


bug(theming): elevation helpers not working when applied directly to components

Description
I want to replace the current elevation of mat-card (that has elevation of 1), since it doesn't match the elevation of mat-expansion-panel (that has elevation of 2).
If i try using the elevation helpers to override the elevation of card like the example below, the elevation is ignored, and the current elevation (1) is used.
@import '~@angular/material/theming';

mat-card {
  @include mat-elevation(2);
}

Updating the elevation helpers to use a !important would probably fix this issue.
Reproduction
Stackblitz
Expected Behavior
It should override the elevation of mat-card.
Actual Behavior
The elevation helper is ignored.
Environment

Angular: 13.2
CDK/Material: 13.2
Browser(s): Chrome
OS: win32 x64

Like a temporary workaround you could use (StackBlitz):
@use '@angular/material' as mat;

mat-card:nth-child(n) {
  @include mat.elevation(20);
}

Usually we keep the specificity pretty low, but it's higher on the card in order to allow class overrides. E.g. you can set the mat-elevation-z2 class directly on mat-card to change the default. If you want to use the mixin, you should bump up the specificity. I'm closing the issue, because things are working as expected.


Implement ε-decay (a decay of exploration ratio)

@mohsen-ghaffari1992 Try this. You can use ConcreteQLearningWithDecay as an example. If there is one good default value for the decay Factor and exploration minimum bound, we can set it in BoundedEpsilonDecay.scala. I chose some arbitrary values.  If we need to do it per problem, then I propose to generalize the Decayed classes to something like this:
case class ConcreteQLearningWithDecay [
  State,
  ObservableState: BoundedEnumerable,
  Action: BoundedEnumerable
] (

  val agent: Agent[State, ObservableState, Action, Double, Randomized],
  val alpha: Double,
  val gamma: Double,
  val epsilon0: Probability,
  val episodes: Int,
  val _decay: Double = some_good_default,
  val _min: Double = some_good_default

) extends QLearning[State, ObservableState, Action, Double, Randomized],
  ConcreteExactRL[State, ObservableState, Action],
  BoundedEpsilonDecay:

  override def toString: String =
    s"Q-Learn(α=$alpha, 𝛾=$gamma, 𝜀=$epsilon0, $episodes episodes)"

  override def decayFactor = this._decay
  override def minExploration = this._min

I did not test.

@wasowski
Thanks!
This looks fine for me. I tested on braking car and result was okay. So, I will merge it and later we can write some tests.


PS7 module import

I am developing some automation against my Pure arrays in PowerShell 7.  It seems that every time I want to execute a command in a PowerShell 7 session I have to import the module to use the cmdlets.  This is not an issue in PowerShell 5 sessions however.

We cannot recreate this behavior. Running PureStoragePowerShellSDK2 on PowerShell 7.2.3. Once the module is imported, several cmdlets run without issue. Are you doing an Import-Module first, or relying on auto-loading?
Could you possibly create a quick video showing the Importing of the module & subsequent cmdlet executions with the requirement to run the Import again after every one cmdlet execution?

To my knowledge, auto-loading is a native PowerShell function and is
limited based on the number of identical modules and/or cmdlets that are
loaded within a single session. It is not defined per module.
I do not know if any functions in .net core that define auto load for a
module, but I will check.
On Mon, Nov 21, 2022 at 3:04 PM Anni B @.***> wrote:

I can create a video to show you what I am experiencing. I am working in
PS 7.3.0
—
Reply to this email directly, view it on GitHub
https://github.com/PureStorage-Connect/PowerShellSDK2/issues/15#issuecomment-1322638840,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPW7UFUYH44TC4JNEQZ3VDWJPPW5ANCNFSM6AAAAAASG3U3II
.
You are receiving this because you commented.Message ID:
@.***>

--
Mike Nelson // Microsoft Solutions Architect - FlashArray //
@.***

The way I understand it is that the module has to be designed in a way so that cmdlets can be used without importing each time.  I can always just import module each time in my function that utilizes your cmdlets but it is just an extra step.  I see in your manifest file (and when I look at the module with 'Get-module -ListAvailable') that there are no cmdlets or functions to export.  I am assuming the module is created with C# and this property is what can be set to make that happen: https://learn.microsoft.com/en-us/dotnet/api/microsoft.powershell.commands.newmodulemanifestcommand.cmdletstoexport?view=powershellsdk-7.2.0


Problem images load in Admin panel adter update Voyager

Laravel Version: 5.4
Voyager Version: 0.11.14
PHP Version: 7.0
Database Driver & Version: MySql 5.5

Description:
Hello!
I update Voyager Version from 10 to 11. It's all work perfect but I have a problem with images in Admin panel.
In official Voyager document, I read added APP_URL=localhost:8000 but it does not help and php artisan storage:link it does not help too.
In HTML i have Empty src="" when in browse.blade.php <img src="@if( strpos($data->{$row->field}, 'http://') === false && strpos($data->{$row->field}, 'https://') === false){{ Voyager::image( $data->{$row->field} ) }}@else{{ $data->{$row->field} }}@endif" style="width:100px">
That my admin screenshot!

Please help me, somebody!

What is the contents of that field within the database (i.e. through phpMyAdmin)?

vebinars/April2017/nbrgycyTRrODu2JF4VrY.png and vebinars/June2017/58j64ERRLmRbX0MpAAc3.png but it is not see all images in admin panel, logo, avatars and e.t.

Function Voyager::image( $data->{$row->field}) return empty in Voyager browse.blade.php

I founded!
Function Voyager::image use config('voyager.storage.disk') but in my  \config\voyager.php was
'storage' => [
        'subfolder' => 'public/', // include trailing slash, like 'my_folder/'
],

after aded  'disk' => 'public', all function done!
'storage' => [
        'subfolder' => 'public/', // include trailing slash, like 'my_folder/'
        'disk' => 'public', // include trailing slash, like 'my_folder/'
],


Disable anonymous Gist functionality

On March 19, GitHub will disable anonymous gist creation. You should probably disable this functionality in Codepan before then to avoid errors.

oh thanks for reminding me of this 😄 will remove that functionality soon


5.9: [CopyPropagation] Only delete if canonicalized.

Description: During CopyPropagation, while canonicalizing the lifetimes of owned values, the CanonicalizeOSSALifetime utility is used on each value of interest.  If the utility can't canonicalize, it returns false.  Previously, the return code was ignored and the pass tried to delete-if-dead the original value.  Here the pass is fixed to take no further action on that value if the utility returns false; in particular, it does not try to delete it.
Risk: Very low.  The fix is just to check a return code and move on to processing the next value if appropriate.
Scope: Narrow.  The change only affects move-only values.
Original PR: https://github.com/apple/swift/pull/68090
Reviewed By: Meghana Gupta ( @meg-gupta )
Testing: Added a test.
Resolves: rdar://114323803

@swift-ci please test


Suggestion: Dynamic pid filtering

Hi @lelegard ,
I want to share this idea about a new functionality. Please, consider it only if you feel it has sense.
The idea comes from tuners and it mimics the functionality of network tuners (SAT>IP or HDHR). I feel it can be implemented inside the current filter plugin or in a new one. And the functionality is based on the remote control of the tsswitch.
An example will easily illustrate it: -P pid-filter --remote <IP_ADDRESS>:4444
The you can use:
echo >/dev/udp/<IP_ADDRESS>/4444 all
echo >/dev/udp/<IP_ADDRESS>/4444 0,1,16,17,20
echo >/dev/udp/<IP_ADDRESS>/4444 0,100,101,102
echo >/dev/udp/<IP_ADDRESS>/4444 none

I feel it's self explanatory.
One use case (you can found others): You are using a large FILE with a full captured MPTS. You want to use something like the zap plugin but dynamically. With this new functionality you can filter the stream on-demand.
What you think?

Hi @lars18th
I have implemented this in a much more generic way. I have added a command named tspcontrol which can send control commands to a running tsp. One of these commands restarts any plugin with new parameters.
 See the user's guide as usual.
Note that I have not tested this on many plugins. So far, plugins have been only tested in one single scenario: start, process packets, close. Now, many such cycles are possible. It is possible that some plugins do not behave correctly if the initial state is not properly reset during a start after a close. I had to fix a couple of things in the plugin tables for instance. If you find an incorrect plugin behaviour after a restart, please report it here.

Hi @lelegard ,
As usual, your implementation exceeds expectations.
Thank you!


Versioning of documentation

On the page http://cloud.spring.io/spring-cloud-config/ all the links for the reference documentation point to the same url : http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html
It seems that this is always the latest snapshot version (the version is not indicated in the html).
Please provide the correct doc for each version.

Old versions of the documentation are always available in the compendium version, e.g. http://projects.spring.io/spring-cloud/docs/1.0.3/spring-cloud.html. Currently they stop at 1.0.3 but I'd rather fix that than archive the same stuff twice.

I updated the links to point to a fragment in the old compendium. I'll leave this open while we get the 1.0.x leading edge sorted out.

Links for Angel projects now point to 1.0.x. Fingers crossed and the docs may even be updated by CI when there is a change.


Rename coupon redeem event to prevent NaN price

Noticed small bug where selecting the price in the Coupon component makes the Total price NaN until it is redeemed.
This is due to listening on the native select event, I just renamed the event to redeem. If you feel a different name suits better, go with that instead, just figured I should let you know.

Nice catch, I haven't thought of it


Updated frontend to use Vuex store for settings and references. Some refactoring

Codecov Report

Merging #180 (07b00af) into master (dde673b) will increase coverage by 0.02%.
The diff coverage is 2.02%.

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


Clicking at the bottom of a note is not changing selection.

This appears to be because the previous hack of using very large numbers to get to the end of a typewriter document is no longer working.
A shame. I'd rather not have to count the document length. Likely doesn't matter at all.

Fixed this with commits 1d5268cd74fc3c09d476d7176f033ded72e5160d and 17b0f55b37e958754be683b8ed3ac85c5e0a405f


1.2.0 version android not work but ios work normal

It is found in the test that the project depends on the version of the react native svg. It needs to reduce the react native svg to 12.1.0 to work normally. It is hoped that the developers can synchronously upgrade the relevant plug-in versions they depend on later！thanks。

Yes there are some issues with react-native-svg 13.x (some are fixed) and code needs to be updated (especially concerning animation with reanimated). I will do it soon


Add app.yaml to generated .dockerignore file

Adds the path of an app.yaml file, if it exists, to the generated .dockerignore file.
fixes https://github.com/GoogleCloudPlatform/runtime-builder-java/issues/62

:+1: I'll add one as part of this PR.


Dockerized SoS workflow conflict with R system variables when $HOME has to be mounted

Okay the story is that my boss just sent me an upsetting message running one of my sos-based docker image. It complains that some R packages are not found -- which my docker image certainly has anyways. Apparently, it was caused by his own ~/.R/Renviron setting in conflict with my docker's setting.
The reason I had to mount $HOME:$HOME is because SoS has to access ~/.sos . But you can imaging having to mount $HOME to docker just for ~/.sos will cause many issues. Is there a way to let it point to elsewhere? The cleanest is perhaps to use some bash env, if you do not want to add an option? eg.
SOS_GLOBAL_DIR=`pwd`/.sos

to set it to ./sos for example. Default to ~/.sos of course. That way, I can build this ENV to my docker file.

I guess another lesson learned here is to avoid sharing $HOME with docker image when possible ...

So the .R directory of his home directory got included in docker and affected R inside?

I cannot reproduce his error, but from the error message it suggests so, and it is the only possible explanation, because this pipeline has been successfully ran by other people who uses mac laptop and mounted $HOME:$HOME.

Can you run your R in docker without ~/.R?

I am looking for ways to do that now, but I guess it is a separate discussion right? Unload my ~/.R might solve the problem and I'm going to have him try that once I find a way to do it in my docker image. Here I'm just raising a discussion of possible benefits to allow resetting ~/.sos. Or the code change involved is messy?

We mount many directories by default to create more or less "native" feeling for docker images. You are running things in docker and does not want ~ but in many cases we use docker to process local files, in which case pwd even ~ will be needed. We could mount only user-specified volumes but not sure if that is the right thing to do.
Not sure how other workflow engines handles this.

Note that the docker image can have its own user and therefore its own HOME that is not shared with the host, which provides more separation. In this regard even our default user is arguable.

How about we make home etc default parameters of volumes so that users can override them with --volumes? Current implementation adds --volumes to sos defaults so home etc are always mounted.

implemented in https://github.com/vatlab/SoS/commit/cb913e85ff3eb8f7b13b6e773141f8dea56f09a8
@gaow I have revamped https://vatlab.github.io/sos-docs/doc/tutorials/SoS_Docker_Guide.html to show details the basic usage and advanced options for docker. I have completed the docker_workdir (new) and volumes section. Can I leave the uid section to you since you have linux and can give examples? Basically, I would like to have cases

default using host uid/gid.
using system default uid/gid, host $HOME would not be affected, It would be good to find a case that the image require the default user to run. (--user None)

These would be the essentials, we can add sections for other parameters later.

The newest update has stopped sharing /home (or /users) by default and makes current working directory the only directory that will always be shared (subject to workdir). The meaning of volumes is therefore clearer as it will be the additional shared directory. I think this will make the behavior more predictable but I am not sure how it will affect your use of sos inside of docker. My understanding is that sos can write to ~/.sos inside of the docker so it is ok not to share $HOME.

Great! Sure i'll complete the documentation adding in what I've learned working with docker images in / wrapping SoS -- upgrade, see if things break, report or document. Sorry I'm still trying to wrap up my current undertaking today ... I'll get back to this and the other issue tomorrow.

Thanks for all the bug reports, which were certainly helpful during the determination of a better docker interface. I have tried to document the parameters in the tutorial, hopefully they make sense and are intuitive for the majority of the cases.

I'll work on this later this afternoon. I want to get to the point that not only the docker_image action inside SoS works, but also people can pull a docker image that has SoS Notebook properly installed, open it, and do interactive analysis with the software packages shipped with that docker. I was not able to do it previously due to SoS Notebook docker issues.

Right now all the work was on docker_image and related options. The latter sounds like our live server and I am not aware of any problem with it.

What @gaow is describing sounds like "Docker in docker", that has been trouble for years.  The workaround to allow this is to mount the host machine's Docker socket in the container.  See https://getintodevops.com/blog/the-simple-way-to-run-docker-in-docker-for-ci or https://www.develves.net/blogs/asd/2016-05-27-alternative-to-docker-in-docker/
Both say to include "-v /var/run/docker.sock:/var/run/docker.sock" in your docker run command.
I don't know how to accomplish the same in Docker for Windows.
Otherwise your "docker_image" action may work fine if SoS is installed locally, but fail if using a SoS docker image.

I think Gao had a different problem. That is to say, his docker image with sos/sos-notebook and all required software fail to run because he had to share his $HOME to the docker image which caused problems with R inside the image. The image should have been started manually, not from sos.
The central problem is therefore if the docker image can be executed without host-mounted HOME. I think there is no such need because the image will have its own ~/.sos, but obviously Gao noticed problems with ~/.sos inside docker.

Thanks @ChrisWakefield yes I was not dealing with docker in docker yet. I currently mostly deal with

docker of SoS to be started manually
using containers inside SoS

In this ticket @BoPeng has prevented potential issues in 2 by not mounting $HOME by default. I had no problem with this, except I'll have to change a couple of my existing workflow scripts to use volumes for action docker_image. For 1 yes I had to mount $HOME, or better, $HOME/.sos explicitly when running docker, because otherwise there is problem.
Sorry for weigh in late but I think these issues are clarified and ironed out.


allow setting gRPC metadata

RE: #1542
To Dos

[x] Unit tests

@murgatroid99 -- could you take a look and let me know if this is the correct way to set metadata? Thanks!

This is an unexpected use of call credentials, but it should work.
Another option would be to add the metadata directly to the per call metadata when making a call, by doing something like this wherever you make grpc calls:
for (prop in metadata) {
  perCallMetadata.add(prop, metadata[prop]);
}
service.callMethod(argument, perCallMetadata, callback);

Changes Unknown when pulling 975f506c85046c94c4372d7ef63cf9118965db3f on stephenplusplus:spp--1542 into ** on GoogleCloudPlatform:master**.

Coverage remained the same at 100.0% when pulling 9cf0c10d4b424d8e5978f674c4b46adcedd4fb9b on stephenplusplus:spp--1542 into bf9929e90336785e519ca446c54f972b6db69417 on GoogleCloudPlatform:master.

Coverage remained the same at 100.0% when pulling 9cf0c10d4b424d8e5978f674c4b46adcedd4fb9b on stephenplusplus:spp--1542 into bf9929e90336785e519ca446c54f972b6db69417 on GoogleCloudPlatform:master.


Integrate Error Handling, Middleware use support, Add more utility methods to the Response Module

This update integrates the following new features

Error Handling & Reporting
Enhanced middleware support
Provision of utility methods on the response object that incudes status, download, setHeader, setHeaders, json and redirect methods
env configuration support

Pull Request Test Coverage Report for Build 15

400 of 400 (100.0%)  changed or added relevant lines in 11 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 100.0%

Totals

Change from base Build 9:
0.2%

Covered Lines:
618

Relevant Lines:
618

💛  - Coveralls

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Formatting headers files

Hi, do we consider using clang-format or something else to format all the cpp/h files?
If it's necessary, maybe I can open a pr for that.

For me personality, that's a good idea. Looking forward to your PR.

closed by https://github.com/jina-ai/annlite/pull/117


Add missing availability to APIs requiring macOS 10.15 / iOS 13.0

tls_protocol_version_t was introduced in macOS 10.15 / iOS 13.0, so we need to annotate it with proper availability.

@swift-server-bot test this please

@swift-server-bot test this please

@swift-server-bot test this please

@swift-server-bot test this please

@swift-server-bot test this please


Built in counter - does it exist?

Is there a built in counter so that:
[KVNProgress showWithStatus:@"Loading"];
[KVNProgress showWithStatus:@"Loading"];
[KVNProgress dismiss];
Since 2 shows were called and 1 dismiss was called, it should keep ProgressBar running until a final dismiss is called to balance the 2 shows.

No there is no built in counter. The idea is that you can first call [KVNProgress showWithStatus:@"Loading"], that will make the HUD appear, then you can call [KVNProgress showWithStatus:@"Update Loading"], the HUD will see its status change in an animation. Finally, [KVNProgress dismiss] will dismiss this HUD.
The philosophy is that the HUD is one object that can be shown and dismissed but there cannot be several at a time.
But an idea of a counter is not a bad at all. If you call twice show it means you are gonna call twice dismiss so the first dismiss should do nothing.
I'll see what I can do :)
Thanks for noticing! :+1:

AFNetworking has a feature for their spinner that appears on the status bar when there is network activity: https://github.com/AFNetworking/AFNetworking/blob/master/UIKit%2BAFNetworking/AFNetworkActivityIndicatorManager.h#L85
The spinner spins until all AFNetworking network requests finish and then it stops spinning.
For backwords compatibility, you should have an opt-in mode autoCounter mode which enables this feature.

Thanks for the tip!

I think a better solution instead of autocounter would be to have dismiss() always dismiss the popup. But create a new method popActivity() or similar that just removes the last one, and replaces with the previous message or popup style.
This is how SVProgressHud handles the counter. This way we can dismiss the progress hud in an event where popActivity is not all called.
Example of this may be a service call has failed, so we cancel all remaining calls and want to dismiss the entire popup.


SimpleSchema.RegEx.Url fails inappropriately

While the url http://localhost.com:3000/my/file.png passes the edit it does not in fact load in the browser (at least not on my system). Also note that Meteor.absoluteUrl('nobikepicture.png'), a perfectly valid reference to an image in public generates http://localhost:3000/nobikepicture.png which fails the existing SimpleSchema.RegEx.Url expression.
The issue appears to be a requirement in the RE to have 1 top level domain. I am NOT an expert in regular expressions but I believe this modification resolves the noted defect by inserting '?' after the TLD match:
^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))?)(?::\d{2,5})?(?:\/[^\s]*)?$
It's at }))? near the end of the pattern.

The proposed RE I posted works on 2 of the 3 javascript RE testers I tried but not in simple schema or the 3rd RE tester.  I'm investigating now.

New to Meteor.
I'd like to extend SimpleSchema.RegEx with the RE above so that it is available in multiple schemas. I've tried putting
SimpleSchema.RegEx.Url2 = /.../;
in a file in lib, collections, client, and server but none seems to work.
Need some clues.

The problem turned out to be load order.  See tack overflow


demo-server: noms sync reports no work needed even to new database

In the case where t5 is a brand new database:
!? noms sync http://demo.noms.io/t3::photos http://demo.noms.io/t5?access_token=xxx::photos/susan

All chunks already exist at destination! Created new dataset http://demo.noms.io/t6?access_token=xxx::photos/susan.

This doesn't happen when syncing from demo-server to ldb or to a localhost server.

@cc: @cmasone-attic

It also doesn't happen when syncing between two different localhost server.
Sounds like a confusion related to the namespacing that is going on in demo server. One part of the code thinks that chunks are shared and one part doesn't?


start homepage

The whole homepage isn't even close to there, but I changed over to materialize css because the style is more inline with your mockups over bootstraps style. and the I couldn't find a really big version of the same photo you used so I used a slightly different one.
There is also no logic right now. only some components that render some dummy data with titles based on your mockups.

Might be good to add a screenshot, so others can see :)
On Thu, Apr 28, 2016 at 10:58 PM, Ahmed Modan<EMAIL_ADDRESS>wrote:

The whole homepage isn't even close to there, but I changed over to
materialize css because the style is more inline with your mockups over
bootstraps style. and the I couldn't find a really big version of the same
photo you used so I used a slightly different one.
There is also no logic right now. only some components that render some
dummy data with titles based on your mockups.
You can view, comment on, or merge this pull request online at:
https://github.com/Fedulab/FeduLab/pull/1
Commit Summary

[style] react materialize
[component] create initial card component
[component] create card grid
[style] materialize
[component] navbar
[refactor] update components for dummy data
[chore] remove react-materialize dependency
[component] hero image
[feat] basic home page
[clean] delete files
[style] react materialize
[component] create initial card component
[component] create card grid
[style] materialize
[component] navbar
[refactor] update components for dummy data
[chore] remove react-materialize dependency
[component] hero image
[feat] basic home page
[clean] delete files
[fix] rebase conflict
Merge branch 'startHomepage' of https://github.com/ahmedmodan/FeduLab
into startHomepage

File Changes

M src/components/App/App.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-0 (19)
A src/components/Card/Card.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-1 (28)
A src/components/Card/Card.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-2 (18)
A src/components/CardGrid/CardGrid.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-3 (18)
D src/components/Feedback/Feedback.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-4 (32)
D src/components/Feedback/Feedback.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-5 (40)
D src/components/Feedback/package.json
https://github.com/Fedulab/FeduLab/pull/1/files#diff-6 (6)
D src/components/Footer/Footer.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-7 (31)
D src/components/Footer/Footer.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-8 (52)
D src/components/Footer/package.json
https://github.com/Fedulab/FeduLab/pull/1/files#diff-9 (6)
D src/components/Header/Header.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-10 (34)
D src/components/Header/Header.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-11 (57)
D src/components/Header/logo-small.png
https://github.com/Fedulab/FeduLab/pull/1/files#diff-12 (0)
D<EMAIL_ADDRESS>https://github.com/Fedulab/FeduLab/pull/1/files#diff-13 (0)
D src/components/Header/package.json
https://github.com/Fedulab/FeduLab/pull/1/files#diff-14 (6)
A src/components/HeroImage/HeroImage.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-15 (26)
A src/components/HeroImage/HeroImage.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-16 (8)
A src/components/NavBar/NavBar.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-17 (45)
A src/components/NavBar/NavBar.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-18 (7)
D src/components/Navigation/Navigation.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-19 (33)
D src/components/Navigation/Navigation.scss
https://github.com/Fedulab/FeduLab/pull/1/files#diff-20 (45)
D src/components/Navigation/package.json
https://github.com/Fedulab/FeduLab/pull/1/files#diff-21 (6)
M src/routes/home/Home.js
https://github.com/Fedulab/FeduLab/pull/1/files#diff-22 (59)
A src/routes/home/lightbulbs.jpg
https://github.com/Fedulab/FeduLab/pull/1/files#diff-23 (0)
M src/views/index.jade
https://github.com/Fedulab/FeduLab/pull/1/files#diff-24 (10)

Patch Links:

https://github.com/Fedulab/FeduLab/pull/1.patch
https://github.com/Fedulab/FeduLab/pull/1.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/Fedulab/FeduLab/pull/1

where should I put the screenshot?

@vidaaudrey i added a screen shot to the pull request comment :)


Template values set to "off" are redered as "false"

When setting a value to "off" in a values template, the rendered manifests contains a value "false".
Example:
headers: {{  .Values | get "env.headers" "off" }}
Is rendered as:
headers: "false"
when running helmfile template. This is the case whether the environment file has env.headers set to "off" or not set at all (takes the default).
I also tried setting the value to "on", and it sets it to "true".

@readverish Hey! You seem to have discovered how YAML works. Was your goal to literally say off, not the bool value, right? Then use "off" or "on". In Go template you can use quote to add double-quotes around the input, so you might find this handy: {{ .Values | get "env.headers" "off" | quote }}.


Adding contact sensors to smartapp

Simple addition to add contact sensors.

Excellent!! :+1:

Docs for reference: http://docs.smartthings.com/en/latest/capabilities-reference.html#contact-sensor

Added a few more capabilities as well.

:+1: beautiful


Updated dockerfile to alpine 3.9

Signed-off-by: Daniel Sutton<EMAIL_ADDRESS>What's the purpose of this PR
Updated dockerfiles to 3.9. Current 3.8 became eol on 1st May 2020. Alpine 3.9 is support till November 2020. The images will require additional work to support a new version of alpine as java 8 images are only upto alpine 3.9.
Which issue(s) this PR fixes:
Fixes #
Brief changelog
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Read the Contributing Guide before making this pull request.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit tests to verify the code.
[ ] Run mvn clean test to make sure this pull request doesn't break anything.

Codecov Report

Merging #3097 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3097      +/-   ##
============================================
- Coverage     51.32%   51.31%   -0.02%
+ Complexity     2235     2234       -1
============================================
  Files           432      432
  Lines         13385    13385
  Branches       1375     1375
============================================
- Hits           6870     6868       -2
- Misses         6041     6042       +1
- Partials        474      475       +1

Impacted Files
Coverage Δ
Complexity Δ

.../apollo/internals/RemoteConfigLongPollService.java
79.51% <0.00%> (-1.21%)
28.00% <0.00%> (-1.00%)

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 38e63c6...7620e21. Read the comment docs.

I will handle this soon.

Any update? @ducksecops


Fix margin in Sponsors section

Hi @junedomingo
Thanks for contributing and going to our event last Saturday :)
Kindly checkout this failed CI check for your code submission,
probably due to stylelint check errors.


PAT permission required

What are the PAT permission required?

Following this instructions using GitHub's classic token, the scope repo is sufficient.


Use Jest test runner

Jest snapshots seems perfectly suited for the kinds of assertions apollo-codegen
does in it's tests. Issue described in more detail in #93.
It also has a more intuitive watch mode / interface that's pleasant to use.
Surprisingly after setting up a basic configuration, everything runs out of the box, yay.

[x] Remove mocha
[x] Switch configuraton to use Jest
[x] Get current failing tests passing
[x] Switch assertions/expectations to snapshots and sanity check to make sure things are correct
[x] Remove chai
[x] Use Jest recommended syntax (instead of mocha/jasmine syntax even though its supported currently)

Hey @martijnwalraven, I made enough changes to get all the current test failures passing so that you have an idea of what this looks like. Let me know what your thoughts are / if you have any questions before I finish this up

That's indeed a lot cleaner! I haven't used Jest, but the ability to diff and update snapshots will make our lives a lot easier. Let me know if you want to discuss further or are blocked on anything, but your plan looks great.

Okay this is done, once the tests pass I'm going to merge it in @martijnwalraven.
One thing to be careful about is that Jest does not officially support using "this" in the test context. While it currently does work in beforeEach/afterEach as expected, it does not work in beforeAll/afterAll and has no guarantees of working in the future.
Instead, Jest recommends using closure scoping.

Running into an issue with travis on the node4 target :/ not sure why that's happening, but will try to figure it out

Thanks you so much! 👍


New version: ChiaNetwork.GUIforChiaBlockchain version 1.6.1

Result: Installation Failed

Manifest
Add/Remove Programs

Name
Chia Blockchain

Version
1.6.1

Publisher
Chia Network

ProductCode

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 3644
Microsoft Reviewers: Open in CodeFlow

@vedantmgoyal2009 This package version doesn't seem to have an unattended install option. The silent install options from a previous version didn't provide an unattended install, and I wasn't able to find any install switches which changed its behavior.


feature: add sqlserver's adaptation to the console paging interface

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
增加sqlserver对控制台接口的适配，主要增加对应类型的分页和计数SQL
Add the adaptation of sqlserver to the console interface, mainly adding corresponding types of paging and counting SQL
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

``


Problem converting empty tuple to array

Hi!
I'm trying to do something like this:
def foo(*args)
   args_array = args.to_a
   puts args_array + [1, 2]
end

If then I call foo(10) it works, but calling just foo gives me
Error in ./bla.cr:6: instantiating 'foo()'

foo
^~~

in ./bla.cr:3: instantiating 'Array(NoReturn)#+(Array(Int32))'

  puts args_array + [1, 2]
                  ^

in crystal/src/array.cr:212: instantiating 'Array(Int32):Class#build(Int32)'

    Array(T | U).build(new_length) do |buffer|
                 ^~~~~

in crystal/src/array.cr:212: instantiating 'Array(Int32):Class#build(Int32)'

    Array(T | U).build(new_length) do |buffer|
                 ^~~~~

in crystal/src/array.cr:213: no overload matches 'Pointer(Int32)#copy_from' with types Pointer(NoReturn), Int32
Overloads are:
 - Pointer(Int32)#copy_from(source : Pointer(T), count : Int)

      buffer.copy_from(self.buffer, length)

I can reproduce this with just Tuple.new.to_a + [1, 2]

I believe this is covered in the Type Restrictions docs, under the "Type Restrictions in Splats" section.

You must specify the type of *args using (I think) def foo(*args : Int32) otherwise Crystal has no way to determine the type of arguments (since there are none) and this clashes with the array concat.

Using
def foo(*args : T)
   args_array = args.to_a
   puts args_array + [1, 2]
end

will allow any real type T to be used. So a Array(T | Int) will be created.
But right now that T can't be instantiated in an union type.
foo(4) and foo(true) are valid. But not foo(4, true) due to splats semantic. (it might be improved, but it is not the issue here)
Also as explained in http://crystal-lang.org/docs/syntax_and_semantics/type_restrictions.html if a type restriction is used, then foo() is no longer valid.
If foo is left without type restriction, foo() is valid w.r.t. splats semantic, but will fail to create an empty array since there is no clear type to use for the T in Array(T)
This is the whole situation. There is not a clear thing that crystal can do to map an empty tuple to an empty Array. Because of the lack of type information. It depends in the usage. If we decide to force any type from the Tuple#to_a for the empty  tuple, then that type will propagate all around.

It works if Array#+ has a different defition: http://play.crystal-lang.org/#/r/63x
The problem is that we are using some pointer methods like copy_from and some types are incompatible. But this should definitely work.
An empty tuple's element type, if you do for example i = 0; Tuple.new[i] is inferred to be NoReturn, because it will always raise. Then, the union of NoReturn and some T is always T, so this should definitely work.
I'll mark this as a bug, we'll try to think of a solution.

Thank you all for the feedback. Meanwhile I will change my code to work in another way.


Account for negative clock skew in flushMetrics

See https://github.com/etsy/statsd/issues/574 for a full exploration and explanation of this PR.

Thanks for the patch @bmhatfield!


back fill functionality lost in conversion of config to csv

we lost the config values for

api_password
servers_url
servers_password,boxcar-spinning-problem-rockslide-scored

We should ensure these exist in config.dist.csv and are working through out the app

fixed in #47


Improve app engine flexible detection

Fixes issue #1698
Replaces checking for simple presence of app engine flexible project file with actual checking for required YAML content ("runtime:")
Adds unit test to test only valid app.yaml files are accepted when detecting app engine flexible

@ivanporty - in case you haven't been pointed here yet:
https://github.com/GoogleCloudPlatform/google-cloud-intellij/blob/master/CONTRIBUTING.md
It will help you set up the google style formatter which should take care of most of the annoying formatting things from now on.

@nkibler are you ok with review now so @ivanporty can merge it in?

Yeah whoops, I thought I approved it this morning but must have missed it. Sorry!


Netcode roadmap

If you have a feature request or issue regarding Ambient's networking (netcode), please post it here.
Now

[ ] https://github.com/AmbientRun/Ambient/pull/660
[ ] https://github.com/AmbientRun/Ambient/issues/628
[ ] https://github.com/AmbientRun/Ambient/issues/627

Next

[ ] https://github.com/AmbientRun/Ambient/issues/665
[ ] https://github.com/AmbientRun/Ambient/issues/664
[ ] https://github.com/AmbientRun/Ambient/issues/662
[ ] https://github.com/AmbientRun/Ambient/issues/663

Later

[ ] https://github.com/AmbientRun/Ambient/issues/670
[ ] https://github.com/AmbientRun/Ambient/issues/667
[ ] https://github.com/AmbientRun/Ambient/issues/666
[ ] https://github.com/AmbientRun/Ambient/issues/668
[ ] https://github.com/AmbientRun/Ambient/issues/669

https://github.com/ThusSpokeNomad/GameNetworkingResources


'Set-CsUser' is no longer recognised as a command

The command doesn't appear to be valid anymore in this module. I've not been able to find a replacement or alternative yet.

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

ID: bb2a9717-6565-8443-8833-f7fdce562781
Version Independent ID: db88c4d6-5864-a481-86cf-465feb452d75
Content: Enable users for Direct Routing - Microsoft Teams
Content Source: Teams/direct-routing-enable-users.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@iborghoff Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Thanks for the reply @scanum. In the end I figured out that the issue was my end; my account had been removed from the enterprise application "Microsoft Intune PowerShell". Adding my account back to this application made the command available again.


Exit 2 on bosh-diff when changes exist and --check is set

This obviates #511
Co-Authored-By: Amber Salome<EMAIL_ADDRESS>

never mind


New feature: Type constant array and slice

Type constant slice was defined in spec for variadic parameters. However, one cannot slice type constant slice.
I decide to extend type constant slice and let it work as a normal slice at compile time. With this new feature, type constant slice spec is not a exceptional data structure in Rat.
Following code will be valid in Rat.
const types1 = []generic{int, bool}
types1 := []generic{int, bool}      // Shorthand declaration.
types2 := [2]generic{int, bool}
types3 := [...]generic{int, bool}   // The same as [2]generic{int, bool}
sliced := types1[1:]                // Slice a type constant slice.
appended := append(types1, float64) // appended == []generic{int, bool, float64}

Type constant array/slice is a kind of generic type. It cannot be returned by any function/method. It cannot be used as struct field or interface function parameter due to no way to instantiate it.
Following code is invalid.
types := []generic{int, bool}

types = int     // Compile-time error. types is type constant which is immutable.
types[0] = rune // Compile-time error. types[n] is immutable.

After reviewing this feature again, I decide to discard this design for following reasons.

Type constant slice doesn't exist any more as there will be no generic interface.
It's pretty hard to implement a compile-time-dynamic-slice. I don't have confidence to implement it right in every case.
Let's make type constant as a constant. It's a little strange to define a slice which cannot be modified but can be sliced. I know string is an example of such strange slice. However, if one wants to modify the string, one can convert string to []byte. But type constant slice cannot be modified in any way.


Unable to set up dependencies of tuya_ble

I have installed a Bluetooth device today (latest BlueZ version and DBus Broker)

After that I installed the Tuya_BLE custom component

At selecting the component an error is returned

And if I go to the logs:

(same errors could be duplicated as I tried several times)

Nevermind, I was using a Home Assistant version 1 year old


Comparing with the latest master branch, the translation of all Chinese parts has been completed.

Q
A

Is bugfix?
yes/no

New feature?
yes/no

Breaks BC?
yes/no

Tests pass?
yes/no

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

Wow, thank you!

@cebe It's my pleasure. 😃

Deployed on https://www.yiiframework.com/doc/guide/2.0/zh-cn