ThunderX machines cannot reliably git clone due to random gnuTls recv errors

error: RPC failed; curl 56 GnuTLS recv error (-24): Decryption has failed.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

ThunderX nodes to be disabled: https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1809#issuecomment-771658763

Disabled:
https://ci.adoptopenjdk.net/computer/test-docker-centos8-armv8-1
https://ci.adoptopenjdk.net/computer/test-docker-ubuntu1604-armv8-1
https://ci.adoptopenjdk.net/computer/test-docker-ubuntu1804-armv8-1
https://ci.adoptopenjdk.net/computer/test-docker-ubuntu2004-armv8-1
https://ci.adoptopenjdk.net/computer/test-docker-ubuntu2010-armv8-1

Problem references:

https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/404
https://github.com/AdoptOpenJDK/openjdk-build/issues/1804

I'm going to close each of those as both have now been mitigated as the ThunderX machines appear to be the cause of both and are no longer in use. We can continue any investigation towards a resolution here (although it is likely the machines will be decomissioned in the next few months anyway)
My plan, which I hadn't created an issue for, was to try doing an OS upgrade on one of the ThunderX systems - try Ubuntu 18.04 for example, but given that the problems has been seen on both CentOS and Ubuntu systems I'm not convinced that will make a difference if it's hardware related. The only thing may be if we try a TLS implementation build using a differnet compiler version in case we're hitting some sort of compiler bug that only effects these systems.

cat/. Let's see if the problem showls up on there.

Rerunning JDK8/J9 extended system #168 as Grinder#6477
Rerunning JDK8/J9 sanity.system #168](https://ci.adoptopenjdk.net/job/Test_openjdk8_j9_sanity.system_aarch64_linux/168/) in Grinder#6478
Rerunnning JDK16/J9 extended.system as Grinder#6479

Now failing with this - may need git to be rebuilt (or use the system one)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress -- https://github.com/AdoptOpenJDK/openjdk-tests.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: /usr/local/libexec/git-core/git-remote-https: /usr/lib/aarch64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/local/libexec/git-core/git-remote-https)

	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2450)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2051)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:84)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:573)
	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:161)

Upgtrading to Ubuntu 18 has not resolved this - ran multiple tests and two of them failed.
Cloning openjdk-tests gave this:

Receiving objects:  12% (1427/11886)
Receiving objects:  13% (1546/11886)
Receiving objects:  14% (1665/11886)
Receiving objects:  15% (1783/11886)
Receiving objects:  15% (1856/11886), 4.54 MiB | 9.07 MiB/s
Receiving objects:  16% (1902/11886), 13.55 MiB | 13.55 MiB/s
error: RPC failed; curl 56 GnuTLS recv error (-12): A TLS fatal alert has been received.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

and on another run:

Receiving objects:  14% (1665/11886)
Receiving objects:  15% (1783/11886)
error: RPC failed; curl 56 GnuTLS recv error (-24): Decryption has failed.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2450)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2051)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:84)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:573)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:802)
	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:161)
	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:154)
	at hudson.remoting.UserRequest.perform(UserRequest.java:211)
	at hudson.remoting.UserRequest.perform(UserRequest.java:54)
	at hudson.remoting.Request$2.run(Request.java:375)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:73)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
	Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to test-packet-ubuntu1604-armv8-2
		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1800)
		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)
		at hudson.remoting.Channel.call(Channel.java:1001)
		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
		at sun.reflect.GeneratedMethodAccessor669.invoke(Unknown Source)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:498)
		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)
		at com.sun.proxy.$Proxy408.execute(Unknown Source)
		at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1224)
		at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1302)
		at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:125)
		at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)
		at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
		at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
		at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$$Lambda$541/000000000000000000.run(Unknown Source)
		at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
		at java.lang.Thread.run(Thread.java:823)
[Pipeline] }

Wrong TLS version or net split?

Wrong TLS version or net split?

It's happening quite frequently and only on this hardware type. The same job running about 10 times failed twice so unlikely they've negotiatednegotriated the wrong TLS version.

Random musing ... would it react differently if OpenSSL was build without hardware crypto support (e.g. ./config no-asm no-engine no-threads or even debug -d)?

Maybe related: https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/402

Two observations:

It doesn't seem to show up much while those parallel loops are running on their own - I only seem to see issues when there is another job running on the machine at the same time (e.g. a Grinder) but it doesn't always fail when there's another job running
It doesn't seem to fail (or at least hasn't during my testing) when a noasm version of OpenSSL isbeing used, therefore one option would be to update the OpenSSL to use one with no-asm - in addition to the above sets I've also tried with one that only has no-asm and not the other options present.

OK re-enabled the following after replacing libcrypto with a symlink to mine (ubuntu 16.04 excluded as it uses openssl 1.0 and I haven't built a copy of that)

https://ci.adoptopenjdk.net/computer/test-docker-ubuntu1804-armv8-1 (/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1)
https://ci.adoptopenjdk.net/computer/test-docker-ubuntu2004-armv8-1 (/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1)
https://ci.adoptopenjdk.net/computer/test-docker-ubuntu2010-armv8-1 (/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1)
https://ci.adoptopenjdk.net/computer/test-docker-fedora33-armv8-1 (/usr/lib6/libcrypto.so.1.1.1i)

OK That experiment didn't quite go as well as I expected.
First some good news: I'd replaced /usr/lib64/libcrypto.so.10 and /usr/lib64/libssl.so.10 with links to no-asm versions on build-packet-centos75-armv8-1 and while it gives warnings it appears to work
On test-docker-ubuntu2004-armv8-1
On test-docker-ubuntu1804-armv8-1 and test-docker-ubuntu1604-armv8-1 /usr/lib/git-core/git-remote-https is not linked against libcrypto.so directly, only libk6crypto.so.3 and libhcrypto.so.4 which I didn't have replacements for, therefore we got multiple failures on that machine. NOTE: On both systems wget is NOT linked against those two, so it likely works reliably, but not git.

These machiens will be decomissioned in favour of the ampere ones being set up as part of https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/2078


chore: release 0.116.0

:robot: I have created a release *beep* *boop*
0.116.0
google/cloud-core 1.34.0
Features

Extract KMS testing utilities (#2376) (20ced2a)
Move v2 translate client (#2423) (4e9182d)

Bug Fixes

Only throw exception when creating directory really failed in HandleFailureTrait (#2341) (65d3f6d)

google/cloud-dataproc 0.15.1
Bug Fixes

Include operations metadata (#2412) (0b90be0)

google/cloud-firestore 1.10.0
Features

Add additional array operators to generated client query. (#2396) (4a08ba4)
Support any new query field filter operators (#2399) (257289e)

google/cloud-monitoring 0.19.0
Features

Add isInternal flag to uptime check config. (#2405) (ec3c025)
Add DroppedLabels proto message. (#2401) (edd7e7f)

google/cloud-redis 0.11.0
Features

BREAKING Make dataProtectionMode in CloudRedisGapicClient::failoverInstance optional / Update timeouts (9986719)
Update timeouts. (#2383) (46c601d)

google/cloud-storage 1.15.0
Features

update googleapis.com -> storage.googleapis.com (#2426) (3c6266c)

google/cloud-talent 0.7.0
Features

Introduce availability filters and signals. (#2384) (79f1601)

google/cloud-translate 1.6.0
Features

Move v2 translate client (#2423) (4e9182d)

Bug Fixes

Update output string (#2382) (bb40c5c)

google/cloud-web-security-scanner 0.3.0
Features

Add additional Scan error code, update documentation. (#2398) (862fb9c)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/google-cloud-php/releases/tag/v0.116.0


UnicodeDecodeError

When trying to access client devices with client.devices() I got an error message:
Traceback (most recent call last):
  File "/home/arc/PycharmProjects/plasma_rgb/main.py", line 11, in <module>
    for device in client.devices():
  File "/home/arc/PycharmProjects/plasma_rgb/venv/lib/python3.9/site-packages/openrgb/OpenRGB.py", line 60, in devices
    yield self.controller_data(device_id)
  File "/home/arc/PycharmProjects/plasma_rgb/venv/lib/python3.9/site-packages/openrgb/OpenRGB.py", line 48, in controller_data
    return ORGBDevice(msg[1], device_id, owner=self)
  File "/home/arc/PycharmProjects/plasma_rgb/venv/lib/python3.9/site-packages/openrgb/ORGBDevice.py", line 215, in __init__
    self.serial = blob.string()
  File "/home/arc/PycharmProjects/plasma_rgb/venv/lib/python3.9/site-packages/openrgb/binreader.py", line 58, in string
    unpacked = self._unpack(
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 1: ordinal not in range(128)

I'm using OpenRGB version 0.6 and OpenRGB-PyClient version 0.1.1 with Python 3.9.6

So I setup the versions you used, and it doesn't seem to reproduce on my end, at least with my hardware. (Linux, AppImage build of 0.6 and the library installed from pip, Python 3.9.5)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc8 in position 1: ordinal not in range(128)

Couple ideas for why this would happen:

Odd device name? 0xc8 is the code for È apparently, do you have something with that in it? I probably assumed only ascii characters.
My parser is broken. Seems to have held up well so far, but tbh would surprise me. A test case would be useful, so if it not the first I'd love a testcase to include as a unit test. Patching the library to just save the values that ORGBDevice()  gets passed should be enough.
Could be some api changes since when I wrote a lot of the code, but 0.6 was pretty similar iirc. Only expect breaking changes that I need to address in 0.7

I removed .decode('ascii') from binreader.py at line 60, and it works.
            unpacked = self._unpack(
                '{}s'.format(total_len)
-->        )[0]
            if unpacked[-1] == '\x00':
                return unpacked[:-1]
            return unpacked

My devices are:
b'Holtek USB Gaming Mouse\x00' - ORGBDeviceType.MOUSE
b'Holtek USB Gaming Mouse\x00' - ORGBDeviceType.MOUSE
b'Holtek USB Gaming Mouse\x00' - ORGBDeviceType.MOUSE
b'Holtek USB Gaming Mouse\x00' - ORGBDeviceType.MOUSE
b'Holtek USB Gaming Mouse\x00' - ORGBDeviceType.MOUSE
b'Holtek USB Gaming Mouse\x00' - ORGBDeviceType.MOUSE
b'B550 GAMING X V2\x00' - ORGBDeviceType.MOTHERBOARD
b'B550 GAMING X V2\x00' - ORGBDeviceType.MOTHERBOARD
b'AMD Wraith Prism\x00' - ORGBDeviceType.COOLER


database/sql: retry logic is unsafe

What version of Go are you using (go version)?
jack@edi:~$ go version
go version go1.5beta3 linux/amd64

What operating system and processor architecture are you using?
jack@edi:~$ uname -a
Linux edi 3.13.0-61-generic #100-Ubuntu SMP Wed Jul 29 11:21:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

What did you do?
Execute a query with database/sql over an unreliable connection. For example:
update t set n=n+1;

What did you expect to see?
An error message that means the query failed and n is unchanged, or no error meaning the query executed exactly one time and n has been incremented by 1.
What did you see instead?
The query may have actually executed multiple times and thereby n may have been incremented multiple times.
Reproducing the error
It was necessary to build some infrastructure to reproduce this error. I wrote cavein, a TCP tunnel server that purposely breaks connections to aid in reproduction. That, combined with go_database_sql_retry_bug, a test application that executes many updates over the unreliable connections provided by cavein can reliably reproduce queries being executed extra times.
Suggested solution
Automatic retry should be removed from Exec and Query. It is impossible at the library layer to know if it is safe to retry a query.

Automatic retry should be removed from Exec and Query. It is impossible at the library layer to know if it is safe to retry a query.

The driver documentation sayeth the following:
ErrBadConn should be returned by a driver to signal to the sql package
that a driver.Conn is in a bad state (such as the server having earlier
closed the connection) and the sql package should retry on a new
connection.

To prevent duplicate operations, ErrBadConn should NOT be returned
if there's a possibility that the database server might have performed
the operation. Even if the server sends back an error, you shouldn't
return ErrBadConn.

If this test case results in duplicate operations, it's the driver that's at fault, not database/sql's.  Not a bug.

Yes, what @johto said.

Under what conditions could an Exec or Query correctly return ErrBadConn?
Once the query command is written to the socket, the driver has to consider that the query could have been executed. The only way it can safely assert that the query did not execute is if it receives a query failure response from the database server -- but if it receives a query failure message then the connection would still be usable -- so ErrBadConn would not be appropriate.
So it really seems the only situation where ErrBadConn is the correct response is on an error prior to socket write.
I suppose the driver can be blamed, but it feels like retry on Query and Exec is a foot-gun waiting to happen -- for minimal convenience improvement. This is not a theoretical assertion either, both drivers I tested, pq and my own pgx, trigger this undesirable behaviour.

So it really seems the only situation where ErrBadConn is the correct response is on an error prior to socket write.

Right; you need to return it to get a bad connection to be discarded from the pool.  So the order of events for e.g. Exec should be:

See of the connection is already marked bad.  If so, return ErrBadConn
Write the query, its parameters etc. into the socket
If a network error happens before you're completely "done" with the query, return the network error directly back to database/sql, and mark the connection bad
If the query was processed completely return either the result or the error from the database without marking the connection bad

Note that even without this issue, you already have to have the "bad" marker on a connection implemented because of #11264, so implementing it like this should not result in any unreasonable extra work.

I suppose the driver can be blamed, but it feels like retry on Query and Exec is a foot-gun waiting to happen -- for minimal convenience improvement.

Fine, maybe, but how would you discard bad connections from the pool in whatever it is you're suggesting?

This is not a theoretical assertion either, both drivers I tested, pq and my own pgx, trigger this undesirable behaviour.

Last time this came up on pq's issue tracker, I argued that our current behavior is broken, but lost that argument.

Right; you need to return it to get a bad connection to be discarded from the pool.

Okay, I wish it didn't work this way, but I understand the now.

Fine, maybe, but how would you discard bad connections from the pool in whatever it is you're suggesting?

The bad connection would have been caused by a previous query. The connection is marked as bad then. I would suggest checking for connection health on releasing the connection back to the pool instead of on next attempted use. This is what pgx's native connection pool does (when not using database/sql). Though I suppose that would require changing the database/sql driver interface, so that is not possible for Go 1.x.

Last time this came up on pq's issue tracker, I argued that pq's current behavior is broken, but lost that argument.

I've re-examined my test app and pgx, and determined I was incorrect in my assertion that it was vulnerable to this issue. However, pq definitely is. Perhaps this test app could be useful in persuading pq's maintainers.


Monitoring non-.go files

I have been using this and love it. However, it doesn't monitor changes I make in my html templates (*.html) or other non-.go files. Is there a reason for this?

The main reason is that inotifywait only offers an exclude pattern option (not an include pattern option), and I haven't spent the time to figure out a regexp that would correctly support multiple (negated)  extensions.
If there's a regexp that is clear and maintainable, then I'd be happy to use it instead of the current --exclude '[^g][^o]$' parameter.
If not, then I think my preference would be to add an -a flag, which turns on watching of all files regardless of their extension. Do you think that would work?

a flag would be fine...I'm not good enough w/ regex to know what it would be. thx for the quick response!

I've added in a flag, so that specifying -a will result in all files in your GOPATH being watched for changes, regardless of their extension.
$ go-reload -a main.go
I've been trying it out myself over the past few days, and it seems to work fine.


(#12357) Fix cron type default name error on windows

On windows I ran into this error with the cron type:
err: Failed to apply catalog: undefined method 'name' for nil:NilClass

Without this patch, the problem appears to be that the cron type name
parameter defaults to the following block:
defaultto { Etc.getpwuid(Process.uid).name || "root" }

On windows Etc.getpwuid(Process.uid) returns nil.  This patch fixes
the problem by binding the object returned by
Etc.getpwuid(Process.uid) to a variable.  We then check if the
variable responds to the name method, and only send a message to name
if so.  Otherwise, we return "root"
The included spec test will fail if there is a regression in the desired
behavior.  The expected failure looks like:
Failures:

  1) Puppet::Type::Cron should default to user => root if Etc.getpwuid(Process.uid) returns nil (#12357)
     Failure/Error: entry = described_class.new(:name => "test_entry", :ensure => :present)
     NoMethodError:
       undefined method `name' for nil:NilClass
     # ./lib/puppet/type/cron.rb:359:in `default'
     # ./lib/puppet/type.rb:540:in `set_default'
     # ./lib/puppet/type.rb:1834:in `set_parameters'
     # ./lib/puppet/type.rb:1833:in `each'
     # ./lib/puppet/type.rb:1833:in `set_parameters'
     # ./lib/puppet/type.rb:1797:in `initialize'
     # ./spec/unit/type/cron_spec.rb:474:in `new'
     # ./spec/unit/type/cron_spec.rb:474

@jeffmccune Why would a windows agent ever get a catalog with a cron resource in it? I'm missing something :)

@jeffmccune - I completely agree with this: seems like this is a failure somewhere else in the system.

@joshcooper @daniel-pittman
A windows system shouldn't get a catalog with a cron resource.  It won't once I'm done with my changes to pe_mcollective [1] and pe_compliance [2].
This patch isn't actually a blocker for the PE 2.5 release or Puppet 2.7.12 so there's no rush on this.
With that said, the error message is horrible so the patch at least gets you to a much more sane error message of:
err: Coulud not find a suitable provider for cron

in the event a cron resource is declared in the catalog of a windows node.

Closing this PR to re-target against 2.7rc


Markdown

This PR would add functionality to replace emoji in the markdown formatting, eg Hello! :smile: with unicode moji, eg Hello! 😊.
Currently this is of somewhat limited utility, as many emoji in the index have nonstandard names, however, it would make many projects easier to manage.

Thanks for taking a look at this.
Did you intend to remove the html escaping for this API?  You're modifying the string passed in, since gsub!() modifies the given string in place - which is probably not what you want.  If this API is going to bypass escaping, then using gsub() to return a new, modified string is correct.  Otherwise, you can duplicate, escape, and modify a new string for return.
Can you address that issue?  I think the right thing to do here is preserve the safe HTML escaping used in the other APIs unless you have a compelling reason not to.
Once you've got that done, please rebase your commits together to clean this up and ensure all the tests pass.
Thanks for taking the time to extend the library.  I'm looking forward to seeing this feature come together.

Since this hasn't been cleaned up yet, but seems like a useful feature I'm going to close this PR but implement the functionality as a new Emoji.replace_named_moji_with_unicode() API that you can use.

There should be full HTML escaping/safety here
There should be an authoritative emoji name expression regexp we can use to scan strings
Will be released in version 1.0.7


Add argocd-operator v0.0.4 to Community Operators

Signed-off-by: John McKenzie<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[x] Has you operator nested directory structure?
[x] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[x] Are you familiar with our contribution guidelines?
[x] Have you packaged and deployed your Operator for Operator Framework?

[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

It seems the Travis build failed due to a timeout pulling from Github for some reason.

Travis is green after restart

@J0zi Thank you. Is there any way to see the scorecard config being used so that I can replicate this locally? The scorecard is passing when I run it.

I believe that I was able to sort out the issue with the scorecard tests.


Question regarding Shuffling

Hi, thank you very much for releasing this great dataset. I am wondering if the original PILE dataset (with 30 chunks) have already shuffled? Or do we still need to globally shuffle PILE before using it for pertaining? Thank you.

Hi, @LeoXinhaoLee I am also curious about it. Are there any conclusions?


Provide also traditional sessions?

Since we renamed the repo from StorageLessSession to PSR7Session, we may as well introduce support for a "standard" session middleware (with session IDs and server-side session storage):

UUID based (no low crypto ID generation)
file-only support first (like ext/session)
same concepts as ext/session (validity of entries, etc)
clear adapter specification (stuff like GC should be a detail)
API to force session ID regeneration
same session container stuff that we currently have

Possible storage adapter interface (requires further inspecting):
interface SessionStorage
{
    public function save(SessionInterface $session);
    public function load(SessionIdInterface $id) : SessionInterface;
    public function destroy(SessionIdInterface $id);
}

I would still apply the rules around the contents (do not allow object serialization).

:+1:

:+1:

Sounds great. Would I be able to use this (easily) an an MVC context? Some class that knows about the storage and pulls the session data from there or creates a new session if no session cookie is set.

Some class that knows about the storage and pulls the session data from there or creates a new session if no session cookie is set.

Probably not - the problem with this kind of approach is that the session system would need to be aware of the "current" request.
Something like you proposed in #zendframework/zend-session#11 could work:
$sessionContainer = $sessionManager->fromRequest($request);

The only problem with my proposal is how to get the newly created session ID into the response. That would have to be done manually after obtaining the new session container, wouldn't it?

@MidnightDesign I suggest looking at the current middleware for an idea of how this is achieved: the middleware wraps the entire app and can decide when a session needs to be written to disk.

Yeah, I get how this works. And I love Middleware. But I'm thinking about other contexts right now - in my case ZF2. That wouldn't be possible there, would it? Well, maybe with events...
When do you think will you be able to start working on that stuff? I could try implementing a ZF2 module based on your work. Can I help you with anything on this project?

@MidnightDesign if you could try implementing the storage-based sessions, that would be rad.
It shouldn't be too complex

I've never contributed any larger chunks of code to an open source project before (just little bugfixes and stuff), but I'm be happy to give it a shot.

@MidnightDesign this issue is marked for 2.0.0 - you are free to do whatever you want on it :-)
Suggestion: open a PR early, so that it can be discussed carefully.

I'll just open the PR with only the interfaces you mentioned we'll see where it goes from there. Should I open it against master or are you going to create a 2.0 branch?

@MidnightDesign master, thanks! :-)


Remove body from request.toString and response.toString.

The body of a scalaz-stream does not tend to have a very
legible toString.  Ways of making it legible often require
running the body, which should only be done once.
A process of pure Emits of character data can be turned into
a String.  We can do that, for the subset of messages that
are pure emits.  If we don't do that, we're still
leaking the contents of the body, but not in a format that
can be sanitized by a reasonable log filter.
We can't anticipate all the things a user wants to log or not,
but we should at least make it obvious to the user what is
being logged.

:+1: Great idea. Those are pretty silly at times.

The idea came when I figured out I was indirectly logging sensitive data. :)

That is a good point. Are we potentially logging sensitive headers as well (read: login credentials)?

We are, but we're doing so plainly, and hopefully people are reading their logs before shipping.  The encoded body is much more subtle, and therefore less amenable to filtering techniques.
I might argue that logging request.toString and response.toString is an anti-pattern.  (And that Any.toString is a wart inherited from Java, but we can't fix that.)  A tighter toString on these to avoid accidents, and a good logging middleware could be the correct answer here.


CLI/Personal token problems

I am trying netlify-cli deploy with a personal token but that does not work and cli keeps redirecting me for a web login.
netlify -v
netlify-cli/2.11.18 darwin-x64 node-v8.7.0
I tried both:
netlify deploy —auth=
and
export NETLIFY_AUTH_TOKEN=
netlify deploy
The command asks me
This folder isn't linked to a site yet
? What would you like to do? (Use arrow keys)
❯ Link this directory to an existing site

Create & configure a new site

And then still does this:
Logging into your Netlify account...
Opening https://app.netlify.com/authorize?response_type=ticket&ticket=...
FROM Netlify SUPPORT:
Gerald Onyango (Netlify)
May 30, 09:53 PDT
Hi Alexey,
I recommend that you open an issue on the CLI repo at https://github.com/netlify/cli/issues . You'll be able to get assistance there directly from the developers that are working on it. Thanks.

I'm having a similar, if not the same, issue.
I'm trying to authenticate from the cli with the personal auth token by using the "--auth" parameter but it doesn't work.
Seems that there is no documentation regarding this parameter on Netlify's doc and also by using the "--help command" in the cli the "--auth" command is non existent.
What might be the problem?

ok I figure it out.
On the forum I was looking at, they suggested to do netlify deploy --auth=your-token' but actually you need to do ``netlify deploy --auth your-token```.
This should be added in the official doc imho.

Hey @theBliz, seems like you already figured it out. Thanks for the feedback. The auth flag currently only works with netlify deploy command. Otherwise, you'll be able to specify your token using NETLIFY_AUTH_TOKEN env var after the referenced PR is merged.

@raeesbhatti  so at the moment if I want to create a site from cli it won't work? eg netlify sites:create my-site-name --auth my-token?
How would be possible to programmatically create sites from the cli for CI purposes? (eg staging, prod, feature1, feature2...)

It wouldn't work right now. But after the referenced PR is merged, you should be able to specify NETLIFY_AUTH_TOKEN env in your CI and create sites if you so wished.

thanks for the clarification, I was just trying to do so and I can confirm that it doesn't work atm.
What's the current best practice to programmatically deploy multiple environments on Netlify? Anything I can read about it?

You can create those sites from your local env or from app.netlify.com. Please look at our Continuous Deployments docs, they should provide you with the information you need to setup auto deployment of multiple envs.

I've already checked it but couldn't find a way to automatize testing. This is the reason why I'm using an external CI tool.
I might be wrong, but I couldn't find a way to deploy with your CD and also launch tests. Can you confirm or deny?

You can configure Netlify build command to run test before the build, e.g. npm run test && npm run build. This should run the tests on all of your deploys including branch deploys and previews, before building them.

where should I configure it? in the netlify.toml file?

to add to @raeesbhatti 's advice, you can do even headless browser testing with puppeteer, but since the build container is not exposed for external, incoming network connections, so your test must be self-contained.
If you need to do live testing using something like browserstack, that's what deploy previews are for :)  Workflow:

lock deploys (https://www.netlify.com/docs/locked-deploys/)
configure notification webhook that would trigger a test
commit
notification sent to your test infra which has a permalink to that specific deploy (it'll look like https://hash--yoursitename.netlify.com)
you run tests
you then publish deploy after acceptance, maybe via API:  https://open-api.netlify.com/#/default/restoreSiteDeploy
don't forget to re-lock the deploy after!

To answer your next question, @theBliz , yes in the toml file or in our UI (Build & Deploy settings page)

You can specify the build command in netlify.toml or in the web UI.

thanks @fool and @raeesbhatti. I got some homework to do now :D
@fool is there a place where to check for this type of strategies while using netlify?

https://community.netlify.com has quite a few, @theBliz :)  Or ask if
you're trying to develop one - all of us are smarter than any of us!
On Mon, Jul 15, 2019 at 8:53 AM theBliz<EMAIL_ADDRESS>wrote:

thanks @fool https://github.com/fool and @raeesbhatti
https://github.com/raeesbhatti. I got some homework to do now :D
@fool https://github.com/fool is there a place where to check for this
type of strategies while using netlify?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AABX5IBWF4QCI5ANVV3FLJ3P7SMPTA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZ6EGCY#issuecomment-511460107,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABX5IETPFHCKM6ZDZ6XMD3P7SMPTANCNFSM4HRHDKVQ
.

This 'netlify deploy --auth your-token' never worked for me and still not working. The utility opens a browser window for me for authenticating.

Why is this not working for me? I upgraded to 6.9.2 just now and still the utlity directs me to a login web page.

@yoxel did you use this syntax from the cli netlify deploy --auth your-token without the "=" as you originally wrote in your issue description?

Yes, I did that today. And I tried the environment variable again. Nothing works.
-Alexey

On Jul 16, 2019, at 2:20 PM, theBliz<EMAIL_ADDRESS>wrote:
@yoxel https://github.com/yoxel did you use this syntax from the cli netlify deploy --auth your-token without the "=" as you originally wrote in your issue description?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCI6JTB52VGH5KBXS6QDP7Y3RVA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2CGDBY#issuecomment-511992199, or mute the thread https://github.com/notifications/unsubscribe-auth/AAICCI3WYAEC5JXCC7PSJBDP7Y3RVANCNFSM4HRHDKVQ.

I'm attaching here my output from the cli

Do you have something similar or yours is just showing the oauth login?

I don’t get to the Site name menu. After choosing an option in the first menu (Link to an existing site …) I get the OAuth window.

On Jul 16, 2019, at 2:54 PM, theBliz<EMAIL_ADDRESS>wrote:
I'm attaching here my output from the cli
https://user-images.githubusercontent.com/10141807/61332577-7e1ea900-a81c-11e9-9ce5-56171c0fe1a6.png
Do you have something similar or yours is just showing the oauth login?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCI44R2M4XX523RV4VK3P7Y7SDA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2CIWMY#issuecomment-512002867, or mute the thread https://github.com/notifications/unsubscribe-auth/AAICCIZBMJNHRMNEU6T35Q3P7Y7SDANCNFSM4HRHDKVQ.

did you try to select Create & configure a new site instead of Link to an existing site?

Same thing, it opens the OAuth window right away.
This folder isn't linked to a site yet
? What would you like to do? Link this directory to an existing site
Logging into your Netlify account...
Opening https://app.netlify.com/authorize?response_type=ticket&ticket=3c069107a32665091a81b0405d7da923 https://app.netlify.com/authorize?response_type=ticket&ticket=3c069107a32665091a81b0405d7da923

On Jul 16, 2019, at 3:20 PM, theBliz<EMAIL_ADDRESS>wrote:
did you try to select Create & configure a new site instead of Link to an existing site?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCIYG3SMNDDWB543L4K3P7ZCS7A5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2CLFGA#issuecomment-512012952, or mute the thread https://github.com/notifications/unsubscribe-auth/AAICCI3RKJYXVATX2HCR64LP7ZCS7ANCNFSM4HRHDKVQ.

@yoxel can you send a screenshot of the terminal with both options running?

To use the CLI programatically you will probably want to set the process.env.NETLIFY_AUTH_TOKEN
Like so:
export NETLIFY_AUTH_TOKEN=your-token
netlify deploy -p
# or other commands

To use the flag you want this syntax with =
netlify deploy --auth=your-token

Note: no space between auth and token

To deploy a site with a given ID you want to do something like this:
export NETLIFY_AUTH_TOKEN=your-token
netlify deploy -p --site 12342

Or
export API_KEY=xyz123
export NETLIFY_SITE_ID=123-23422
netlify deploy --prod --dir /my-dir --message "wooooo" --auth $API_KEY --site $NETLIFY_SITE_ID

Screenshots:
“Link"
https://www.evernote.com/l/AGNUUjnYyAlHU6nw62PxaS3VSsWMdpVwCIkB/image.png https://www.evernote.com/l/AGNUUjnYyAlHU6nw62PxaS3VSsWMdpVwCIkB/image.png
“Create"
https://www.evernote.com/l/AGOXraEWwZJFerdHV6-dSZ46E-01J8SRz5gB/image.png https://www.evernote.com/l/AGOXraEWwZJFerdHV6-dSZ46E-01J8SRz5gB/image.png
“Space”
https://www.evernote.com/l/AGNwfB7J2BpPDbHagtJt9US53OaNY153DMIB/image.png https://www.evernote.com/l/AGNwfB7J2BpPDbHagtJt9US53OaNY153DMIB/image.png
“-a option”
https://www.evernote.com/l/AGNrCW3gciJLDLw5wLmLwpRrlnRfPn4OuEIB/image.png
Kind regards,
Alexey Panteleev
(415) 839-9949 x700 | @yoxeldotcom

> On Jul 17, 2019, at 11:45 AM, theBliz<EMAIL_ADDRESS>wrote:
>
> @yoxel <https://github.com/yoxel> can you send a screenshot of the terminal with both options running?
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub <https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCIYOYHY5UK35JKSGAXLP75SFBA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2GG6YY#issuecomment-512520035>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAICCI2G3WWPLRDZYJJZYMTP75SFBANCNFSM4HRHDKVQ>.
>

@yoxel Can you please try using NETLIFY_AUTH_TOKEN=ENTER_YOUR_AUTH_TOKEN_HERE netlify deploy. While I look into why auth flag is not working

Yes, I also have that variable set but the deploy still redirects me to the login page.
Kind regards,
Alexey Panteleev
(415) 839-9949 x700 | @yoxeldotcom

> On Jul 18, 2019, at 12:13 PM, Raees<EMAIL_ADDRESS>wrote:
>
> @yoxel <https://github.com/yoxel> Can you please try using NETLIFY_AUTH_TOKEN=ENTER_YOUR_AUTH_TOKEN_HERE netlify deploy. While I look into why auth flag is not working
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub <https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCI3TYVK2GZ3H7EYO743QAC6ELA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JPXKA#issuecomment-512949160>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAICCI3OQYBEJT5XKUQFF53QAC6ELANCNFSM4HRHDKVQ>.
>

It should not, I just tested it locally. Can you please make sure that you're using netlify-cli version 2.11.27. Please do a npm i -g netlify-cli@latest for upgrade.

Mine is  netlify  --version
netlify-cli/2.11.18 darwin-x64 node-v8.7.0
Let me try the suggested npm i …
Kind regards,
Alexey Panteleev
(415) 839-9949 x700 | @yoxeldotcom

> On Jul 18, 2019, at 12:23 PM, Raees<EMAIL_ADDRESS>wrote:
>
> It should not, I just tested it locally. Can you please make sure that you're using netlify-cli version 2.11.27. Please do a npm i -g netlify-cli@latest for upgrade.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub <https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCI2UWA534J5BB4FA733QAC7LFA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JQTHI#issuecomment-512952733>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAICCIZZBUMER2NJOK4PEHDQAC7LFANCNFSM4HRHDKVQ>.
>

Bingo! The latest one is working for me it seems. Thank you.

On Jul 18, 2019, at 12:29 PM, Alexey Panteleev<EMAIL_ADDRESS>wrote:
Mine is  netlify  --version
netlify-cli/2.11.18 darwin-x64 node-v8.7.0
Let me try the suggested npm i …
Kind regards,
Alexey Panteleev
(415) 839-9949 x700 | @yoxeldotcom

> On Jul 18, 2019, at 12:23 PM, Raees<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
>
> It should not, I just tested it locally. Can you please make sure that you're using netlify-cli version 2.11.27. Please do a npm i -g netlify-cli@latest for upgrade.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub <https://github.com/netlify/cli/issues/320?email_source=notifications&email_token=AAICCI2UWA534J5BB4FA733QAC7LFA5CNFSM4HRHDKV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JQTHI#issuecomment-512952733>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAICCIZZBUMER2NJOK4PEHDQAC7LFANCNFSM4HRHDKVQ>.
>


Invalid location error

I am getting - Failed to load resource: the server responded with a status of 400 (Bad Request)
https://maps.googleapis.com/maps/api/timezone/json?location=50.1234,-1.2132×tamp=1493128056&language=en&key=here
where × is %C3%97
For the purpose of this question I changed lat and removed the key.
The Example included works fine on the same server.
Please advise what is wrong.

Your example doesn't even work in the browser. Even when x replaced with %C3%97 and key with a valid key; you get INVALID_REQUEST.
There is no tamp parameter in the Timezone query-string. It should be timestamp. If you're using geolocator properly, this field is auto-set; if you omit it in the options passed to .getTimeZone() method..
Pls read geolocator.getTimeZone() documentation and ensure you're setting options correctly.

Thanks for the quick response.
However, I did not manually specify the coordinates ending with x ( %C3%97) or the parameter 'tamp' . I have been searching online what could be causing that with respect to Google's GeoLocation API or Timezone API. The closest thing I found was that the coordinates needs to have precision no more than 6 yet I am getting precision of 4 digits.
I am only interested in the Timezone Offset for UTC so the code is very basic as shown below:

Doing anything wrong here?

Your url seems to get HTML encoded before passed to Geolocator.
Example URL:
https://maps.googleapis.com/maps/api/timezone/json?location=41.900000,12.400000&timestamp=1493128056

breakdown the parameters:
location = 41.900000,12.400000
& -> qs separator
timestamp =<PHONE_NUMBER>

Somehow your url gets encoded..
This might happen when you put raw URL within HTML.
See this example.

&times part of &timestamp=... is an HTML entity
which produces unicode character ×.

When this is the case & is removed, and now the value of the location parameter changes.
location = 41.900232342,12.48234234234×tamp=1493128056
Notice ×tamp=..

Then this gets URL encoded.
location = 41.900000%2C12.400000%C3%97tamp%3D1493128056.
Notice %C3%97 part which is  ×.

Now I don't get how URL is encoded this way if you're not putting it in your HTML but using Geolocator instead. Geolocator doesn't do that.

For some reason everything works fine if I use geolocator.js and not geolocator.min.js.
I have tried so many arrangements - placing the above script in the , ,  sections but can't get it work with geolocator.min.js. So I will stick to geolocator.js for now until I/anyone figure/s this out.
Thanks for your help and useful library.


Autoformat removes appended 0 making K8S manifests invalid

I generate my manifests using Helm.
Before save:

After save:

This resulting in Kubernetes error:
Pod "mongodb-0" is invalid: [spec.volumes[2].configMap.defaultMode: Invalid value: 550: must be a number between 0 and 0777 (octal), both inclusive, spec.volumes[3].configMap.defaultMode: Invalid value: 755: must be a number between 0 and 0777 (octal)

Note: wrapping those octal numbers in " not an option. I generate manifests using Helm and can't afford to keep an 👁 on everything this plugin autoformat on save

Hi, the v2 version default uses YAML 1.2 schema, which requires octal values to have an 0o prefix. So you should use 0o755.
You can also set yaml directives at the beginning of the doc and that would use yaml 1.1 schema:
%YAML 1.1
---
xxx: 0755

However, that would not work if multiple yaml documents in one file.
The yaml 1.2 and 1.1 schema almost compatible but still some corner cases. Though I could set a global settings default to 1.1 but it seems not that necessary?
How do you think about?

I think that it would be nice to have an option to use different versions of the schema.
Is 1.2 backwards compatible with 1.1?

@longkai Is there any updates on this?
I really need that functionality back and seems like your extension is the only extension currently maintained.
I tried to go over extension code base to find where I can set schema version myself and create a PR but have not found anything 😢

Hi, try upgrade the latest 2.3.0 version. There is a new option better-yaml.documentOptions.version which default to 1.2. You can set to 1.1.
Note this is a global option. Prefer use 0o also each time you get yaml from k8s you actually got a decimal value.


npm package README not updated

Thanks for accepting my change request. The Github repo README is updated but npm package README is not yet updated.
https://www.npmjs.com/package/ruby_parser
Maybe it needs to change the version number in package.json file?

Yes, I need to increment the version number and manually publish it


Promoting collaborators to website WG members?

(Hi, not sure if this is the right place for this issue, if there's a better fit, please let me know.)
Currently, there are four people listed as Website Working Group Members:

Phillip Johnsen (phillipj)
Mikeal Rogers (mikeal)
Rod Vagg (rvagg)
and me.

With Mikeal's departure and Rod's role in the community currently being discussed, this leaves only Phillip (who's currently busy with work and doesn't seem to have much time) and me. The project governance document states:

There is no fixed size of the WG. However, the expected target is between 6 and 12, to ensure adequate coverage of important areas of expertise, balanced with the ability to make decisions efficiently.

There has never been a process for onboarding new members to the WG, at least it hasn't been done since the WG exists. A few members left on their own after being asked if they still want to be on the WG after a longer time of inactivity. (So there was no official "vote", just an informal "Hey, haven't seen you around in a while, are you still interested in the WG?")
So I think it would be nice to add a few collaborators to the WG, but I don't want to decide on the process alone. How do other WGs handle this?

Slightly off-topic, but I would be interested in helping out with the Website WG.

Generally these guidelines are defined in GOVERNANCE.md for a WG - you can take a look the ones for the Evangelism WG to see an example.
Generally this is a loose process, and varies in intensity and execution from WG to WG. For example, the Security WG has a more strict membership process and is currently undergoing some discussions around tightening it even further. On the other hand, if someone were to become active and consistently contribute in the Evangelism WG I have little doubt they'd be added as a member because any contribution is very significant and impactful there.
I have discussed with several peers and friends in the past who have expressed an interest in contributing - I'll point them to this issue. Additionally, it never hurts to share on social - there are often people looking to get started with contributing, and the Website WG is an amazing place for this.

One thing that would help: Have a place to land for new members/those interested in working on a website redesign. Even creating an issue to ask for interest in contributing would be a MASSIVE help - I know that'd be a great piece to share and help drive new contributors. ❤

I'd also be interested in helping out with the website WG.

I'd also be interested too.

Just as a side node, there's no big difference between a collaborator and a WG member in the website WG. The only differences are:

We're compiling a list of GitHub committers from time to time to have them added as collaborators
When a change is debated and no consensus can be reached, the WG members decide together (which was rarely needed so far)

I'd like to advocate for making all committees wg members. I'm not sure the
hierchy is needed
On Sep 5, 2017 2:44 AM, "Frederic Hemberger"<EMAIL_ADDRESS>wrote:

Just as a side node, there's no big difference between a collaborator and
a WG member in the website WG. The only differences are:

We're compiling a list of GitHub committers from time to time to
have them added as collaborators
When a change is debated and no consensus can be reached, the WG
members decide together (which was rarely needed so far)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nodejs/community-committee/issues/121#issuecomment-327085814,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAecVweyUM0MtRo3gPFfL75bfjhugTYsks5sfO3IgaJpZM4PL82Y
.

@MylesBorins I'm totally fine with that as well.
@bnb I don't think we have a lack of people willing to help implementing the design. It's just the design itself (or to take a step back – the general content/ux direction) we've been waiting for. There were comments in the past that "the foundation is working on something" (probably involving the people responsible for the overall Node.js corporate design and/or Leo). But I haven't heard anything back for probably a year now. ¯\(ツ)/¯

Suggesting to join both groups for the website WG, closing.


TEST PR: debug integration tests after go.mod changes

Used for debugging issues encountered in #207
/hold
/test-integration
/test-centos-integration
/test-v1a3-integration
/test-v1a3-centos-integration

/test-integration
/test-centos-integration
/test-v1a3-integration
/test-v1a3-centos-integration

test-v1a3-centos-integration — Failed
test-v1a3-integration — Failed
test-centos-integration — Passed
test-integration — Passed

/lint

/test-integration
/test-centos-integration
/test-v1a3-integration
/test-v1a3-centos-integration

/test-integration
/test-centos-integration
/test-v1a3-integration
/test-v1a3-centos-integration


Create a page to display the rules defined in the JSON form Validator

[ ] Create a page to display the set of rules in the JSON form validator.

[ ]  Any user with the rights to view the uploaded forms should be able to view this page.

Attached is a sketch of what we think the page would look like.  @rowo will advice further on the UI & UX changes required and provide an actual mock up of the page after discussions.

@dubdabasoduba it would be nice to also include some documentation on the APIs to use, and how to use them

Will do


Moving file to other directory after it is done downloading [Solved]

[x] I've verified and I assure that I'm running youtube-dl 2016.10.26
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

- [x] Question
Hi there.
I would like to move a converted video file once youtube-dl has downloaded the bestvideo and bestaudio from my /home/user/Videos/youtube on my SSD to my shared folder in /mnt/sharedfolder/youtube. However I would like to automate it say if i download a whole channel.
Download a video, convert it, and move it to the share. it is quicker to convert the file locally on the ssd instead of over the share.
To do that I would do the following

Run this command:

youtube-dl -f bestvideo+bestaudio -o /home/user/Videos/youtube/%(title)s.%(ext)s https://www.youtube.com/watch?v=eminWvN1O88

Wait for the download and conversion to finish and run:

mv /home/user/Videos/youtube/* /mnt/sharedfolder/youtube/

Is there a way I can tell youtube-dl to just move the file it just downloaded so I don't have to stare at it and wait for it to finish? Is there a way to tell it to move after each video in a channel/playlist is downloaded?
The reason I want it to move the file to the share is, if the video happens to be downloaded before I leave the house, plex sync will automatically send that new file to my phone and I will be able to watch it on the go.
Thank you.

Closed.

How did you solve this issue?

@Stonedestroyer you can use --exec

youtube-dl -f bestvideo+bestaudio   -exec 'mv {} %s' %s(your_folder,youtube_url)


UI Simplifications: Border Panel

Feature Description
See Figma.

[ ] Update the design based on Figma for locked and unlocked status
[ ] Add Eyedropper next to the color input
[ ] Update the opacity icon (it was adjusted a bit since initially adding it)

Alternatives Considered

Additional Context

Verified in QA


icon-genie zopfli can be further improved

Please see on screenshot that icons generated by icon-genie with zopfli compression can be further compressed to 50% without quality sacrifice.
Please try to inbuilt this into icon-genie.

This ticket will be obsolete with the complete rewrite of Icon Genie v2.


[WIP] Electron app changes for new lobby server

Changes the protobuf library to protobuf-es for more-correct proto serialization/deserialization handling and parity with the new backend. Moves the PlayerMove/PlayerPosition logic to the Electron app and uses the new PlayerMove message for transmitting movement updates to the server. Adds and consumes new environment variables for more clearly defining configuration.

Closed for https://github.com/Noita-Together/noita-together/pull/122


feat(commands): use waitForElement; add jest & cypress tests

@kentcdodds I apologize for this one huge commit but I wanted to make
it all real, fast (in a few hours).

change commands to use waitForElement from dom-testing-library
(updated to latest)
update kcd-scripts dependency to latest
add jest tests for basic smoke check on the exports
add cypress tests for functionality check of the commands
add npm scripts that run the tests in both development and CI
environments (somewhat convoluted because cypress hasn't got enough
hooks to spin up the fixture server from JavaScript; I didn't want to
write a Node app so I used serve which needs to be killed after
cypress exits but regardless of its exit code, so I used npm-run-all
and fkill-cli and a combination of npm scripts with
parallel/sequential execution)

Rats. I'll work out what's going on and get this merged and released soon!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Yay! 🎆🔥🎉
Hopefully address #3 soon.

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)


Frontend quirks

This issue will collect quirks of the way the frontend that authors might want to know about. Eventually, the hope is that these items would become part of the long-anticipated "author's guide" documentation for the frontend.

BSSw supports nested lists only to level 2.  Level 3 (and presumably beyond) is rendered the same as level 2
BSSw is picky about HTML comments inline in the body.  The HTML standard says they begin with less-than, exclamation point, and two dashes, and end with two dashes and a greater-than.  And that's exactly what it requires.  With three dashes is is not a comment!
Confusingly, the metadata, also in the form of an HTML comment, but there three dashes seem to work perfectly fine. (I haven't tested two.)

Closing this in favor of using the document https://github.com/betterscientificsoftware/betterscientificsoftware.github.io/blob/master/StyleQuirks.md to collect information about quirks and workarounds.


Sonos throwing DATA STRUCTURE UPGRADE FAIL

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
➜  ~ hassio ha info
{
    "result": "ok",
    "data": {
        "version": "0.64.1",
        "last_version": "0.64.1",
        "image": "homeassistant/qemux86-64-homeassistant",
        "custom": false,
        "boot": true,
        "port": 8123,
        "ssl": true,
        "watchdog": true,
        "wait_boot": 600
    }
}

Python release (python3 --version):
python 3.6.3
Component/platform:
sonos
Description of problem:
Since upgrading to 0.64 sonos.py has started throwing a DATA STRUCTURE UPGRADE FAIL error and saying that it should be reported as a bug.  I am not experiencing any issues with my usage, but wanted to report nonetheless.
Expected:
No errors
Problem-relevant configuration.yaml entries and steps to reproduce:
media_player:
  - platform: sonos
    hosts:
      - <IP_ADDRESS>
      - <IP_ADDRESS>
      - <IP_ADDRESS>
      - <IP_ADDRESS>
      - <IP_ADDRESS>
      - <IP_ADDRESS>

Errors occur on each restart of HA

Traceback (if applicable):
10:52 AM components/media_player/sonos.py (WARNING)
DATA STRUCTURE UPGRADE FAIL. Unable to upgrade music library data structure to music service data structure because an entry is missing for DidlFavorite in DIDL_NAME_TO_QUALIFIED_MS_NAME. This should be reported as a bug.

Additional info:
I see this error six times at every restart.  Once for each Sonos device ont he network.

Thanks for reporting, that's a very good bug report 👍.
The issue is already discussed in #12745 and is hopefully fixed soon with 0.64.2. I leave this issue open for now so maybe others will not have to type in another report :)

@amelchio
I apologize for the duplicate report.  I thought I had searched properly, but guess I missed one.
Thanks for the reply!


Storage account not showing.

I had to create a storage account to restore to as my VM only had a managed disk. I created several storage accounts with different storage types and redundancies. None of these showed in the list of storage accounts to restore to until I created one with the Advanced feature "Secure transfer required" disabled. I did not see a mention of this in the documentation hope this is helpful.

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

ID: 66081bde-1e22-dd9c-8357-a0485b23b0a7
Version Independent ID: eb2a52a5-d290-84fb-c3fe-2a5d8512669a
Content: Azure Backup: Restore virtual machines by using the Azure portal
Content Source: articles/backup/backup-azure-arm-restore-vms.md
Service: backup
GitHub Login: @GeethalakshmiG
Microsoft Alias: geg

@mjelvy Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

This issue is real, and stupendously annoying, as it makes me keep force refreshing my browser every second.
Already tried different accounts, all with the needed RBAC roles, tried with different browsers, nothing.
This keep happening to a lot of other customers.

It also seems, that you can't use a Premium Storage Account. Storage Account would not appear until I created one with Standard tier.

Okay, i could replicate the issue several times, mostly because we have auto-startup and auto-shutdown of several machines, and when the azure agent it isn't reporting the VM Stays in a "Hanging" status, you must redeploy or start/stop the VM, as soon the VM it will have a status, all the storage accounts that meet the requirements for the VM restore, they will appear. It might be a bug.

Kindly raise the bug for us to resolve. This doesn't call out for documentation updates. Pl raise a support case if you can reproduce

@GeethalakshmiG wrote that "This needs no doc update but bug to be raised". @Adam-Smith-MSFT  - please close the issue.

#please-close

Storage account not visible when creating virtual machine.

@montoshdey Thank you for reaching out. As @GeethalakshmiG called out earlier on this thread that its not a documentation update and a suppor ticket needs to be raised, so would request you to please raise a support ticket so that concerned team can further help you.
If you are not able to open the support ticket because of the support plan contrains for your subscription, please reach out to us via sending an email to<EMAIL_ADDRESS>with your Subscription details and a link to this thread so we can verify and direct the request accordingly .


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1405 ms

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


Secrets support for configuration files

Description:
Rework of https://github.com/home-assistant/home-assistant/pull/2262, now based on yaml.py
Option to split secrets from configuration files. Secrets can be stored in (one or both):

secrets.yaml (in same folder as configuration.yaml)
keyring (optional, only if dep installed)**

Related issue (if applicable): fixes #
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):
http:
  api_key: !secret http_key

this secret can be store in secrets.yaml
debug: 0
http_key: mykey

or in keyring
Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

+1  I started working on something extremely similar, but looks like you beat me to the punch. :)

@Khabi I was a bit paranoid with my icloud password. Ideally it should be a app-specific password, but I'll probably have to look into pyicloud to see why that didn't work for me.
If you can help test this branch it would be great. You can add keyring password by executing util/secrets.py

@balloob is it possible to get the hass instance from the loader?
I currently check which keys in the secrets file was not used, but can only do that after home assistant started. Without hass I'm not sure how to bind to this event?

I removed reporting on unused secrets for now.

Nice! I think that this is a great improvement and keeps the change manageable.
🐬 ㊙ 🔒 🔑 🍻 ⚽

We still need some documentation for this.

https://github.com/home-assistant/home-assistant.io/pull/601

I'm not really able to get the keyring to work at first glance.
$ keyring-3.4 set homeassistant http_password
Password for 'http_password' in 'homeassistant': 12345

and
http:
  api_password: !secret http_password

gives me:
16-07-01 12:27:20 ERROR (MainThread) [homeassistant.util.yaml] Secret http_password not defined.

The password is available in the keyring.
$ keyring-3.4 get homeassistant http_password
12345

It seems that the commandline tool works different.
>>> import keyring
>>> keyring.get_keyring()
<EncryptedKeyring at /home/fab/.local/share/python_keyring/crypted_pass.cfg>
>>> keyring.set_password("homeassistant", "http_password", "12345")
Please set a password for your new keyring:
Please confirm the password:
>>> keyring.get_password("homeassistant", "http_password")
'12345'

Now it works... HA start after the password for the keyring is provided.
@kellerza do you have a different experience with the command-line tool?

@fabaff guess you must be using the same user, same venv etc to get the same keyring file. Its a pity the keyring cmdline util cant print out keyring.get_keyring()
Mine works without any issues, just tested with a new secret.
Do you get prompted to enter your keyring password when you start hass?

@fabaff maybe we should add a keyring script? https://github.com/home-assistant/home-assistant/pull/2426/files

And a validate config script please ;-)