breakfix: multiple Caddy servers - redirect loop

Describe the issue
Hey!
I have two hosts in different countries each with their own caddy server.  I followed the instructions and it worked.
Now I added Host B (b.example.com) to the network. Since I thought I might get to reuse the auth portal of Host a, I only added the authorization policy to Host B leaving out the identity store and authentication portal (full config below).
I am able to browse an endpoint on b.example.com and get redirected to the auth portal, can login, but then the redirect back to the original application fails with a Too many redirects error. The console reveals, that caddy on B - after being redirected from the auth portal - still redirects back to the auth portal causing a loop. The access cookie is however set. If I reopen the original page I can now browse it, so the authentication was indeed successful.
Maybe something is wrong, I can't quite figure it out tho. I would very much appreciate a pointer.
Configuration
Host A:
{
    servers {
        metrics
    }
    order authenticate before respond
    order authorize before basicauth

	security {

		ldap identity store example.com {
			realm example.com
			servers {
				ldap://lldap:3890
			}
			attributes {
				name displayName
                                surename cn
				username uid
				member_of memberOf
				email mail
			}
			username "CN=admin,OU=people,DC=example,DC=com"
			password {env.LDAP_PASSWD}
			search_base_dn "DC=example,DC=com"
			search_filter "(&(uid=%s)(objectClass=person))"
			groups {
				"uid=user,ou=groups,dc=example,dc=com" authp/user
			}
		}

		authentication portal myportal {
			crypto default token lifetime 3600
			crypto key sign-verify {env.JWT_SHARED_KEY}
			enable identity store example.com
			cookie domain example.com
			ui {
				logo url "https://caddyserver.com/resources/images/caddy-circle-lock.svg"
				logo description "Caddy"
				links {
					"My Identity" "/whoami" icon "las la-user"
				}
				#password_recovery_enabled yes
			}
		}

		authorization policy mypolicy {
			# disable auth redirect
			set auth url https://auth.example.com

			crypto key verify {env.JWT_SHARED_KEY}
		        allow roles authp/user
                }
	}
}
(tls) {
    tls {
        dns cloudflare {env.CF_API_KEY}
    }
}

auth.example.com {
	route {
		authenticate with myportal
	}
}

example.com {
  root * /config/html
  authorize with mypolicy
  encode gzip
  file_server browse
  import tls
}

Host B:
{
    servers {
        metrics
    }

    order authenticate before respond
    order authorize before basicauth

    security {

      authorization policy mypolicy {
        # disable auth redirect
        set auth url https://auth.example.com
        crypto key verify {env.JWT_SHARED_KEY}
        allow roles authp/user

      }
    }
}

(tls) {
    tls {
        dns cloudflare {env.CF_API_KEY}
    }
}

:2020 {
  metrics /metrics
}

status.example.com {
  authorize with mypolicy
  reverse_proxy http://statping:8080
  import tls
}
~

Version Information
Provide output of caddy list-modules -versions | grep git below:
apparently it is empty.
Expected behavior
The original application should not redirect back to the auth portal, I suppose

@AlexDaichendt , please login to the portal and share what you see in /whoami.

Absolutely!
{
  "addr": "<IP_ADDRESS>",
  "authenticated": true,
  "email": "alex@---------",
  "exp":<PHONE_NUMBER>,
  "expires_at_utc": "Wed Sep 28 15:51:36 UTC 2022",
  "iat":<PHONE_NUMBER>,
  "iss": "https://auth.example.com/login",
  "issued_at_utc": "Wed Sep 28 14:51:36 UTC 2022",
  "jti": "CUiHmKNr2Yn6XVxMx36QYWLNQDXaanuKu3ThV",
  "name": "Alex D",
  "nbf":<PHONE_NUMBER>,
  "not_before_utc": "Wed Sep 28 14:50:36 UTC 2022",
  "origin": "example.com",
  "roles": [
    "authp/user"
  ],
  "sub": "alex"
}

Since I thought I might get to reuse the auth portal of Host a, I only added the authorization policy to Host B leaving out the identity store and authentication portal (full config below).

@AlexDaichendt , this part looks correct.

The console reveals, that caddy on B - after being redirected from the auth portal - still redirects back to the auth portal causing a loop.

What does the log say on B? Please enabled debug so it tells you the reason for the redirect.
Also, please check that the JWT_SHARED_KEY matches.

The JWT_SHARED_KEY matches.
Debug log (the last 4 messages repeat for about 20 times in total):
{"level":"debug","ts":1664377389.4035413,"logger":"events","msg":"event","name":"tls_get_certificate","id":"b57b4da7-c682-485a-912e-a5f5c4256af2","origin":"tls","data":{"client_hello":{"CipherSuites":[4865,4866,4867],"ServerName":"status.example.com","SupportedCurves":[29,23,24],"SupportedPoints":null,"SignatureSchemes":[1027,2052,1025,1283,2053,1281,2054,1537,513],"SupportedProtos":["h3"],"SupportedVersions":[772],"Conn":{}}}}
{"level":"debug","ts":1664377389.4037406,"logger":"tls.handshake","msg":"choosing certificate","identifier":"status.example.com","num_choices":1}
{"level":"debug","ts":1664377389.4038074,"logger":"tls.handshake","msg":"default certificate selection results","identifier":"status.example.com","subjects":["status.example.com"],"managed":true,"issuer_key":"acme-v02.api.letsencrypt.org-directory","hash":"e95ddd9c946ba2d8e802401a122e4cbab1ded0e7a2ebc6044ff684ca0e022053"}
{"level":"debug","ts":1664377389.4039533,"logger":"tls.handshake","msg":"matched certificate in cache","remote_ip":"REDACTED","remote_port":"38764","subjects":["status.example.com"],"managed":true,"expiration":1672139201,"hash":"e95ddd9c946ba2d8e802401a122e4cbab1ded0e7a2ebc6044ff684ca0e022053"}
{"level":"debug","ts":1664377389.431988,"logger":"security","msg":"token validation error","session_id":"bTZqbeIx6EMRZFk4pUEgRo0b4YsWdtvHHAu5","request_id":"5b9c388e-3f5d-408f-be11-bef3f3955315","error":"no token found"}
{"level":"debug","ts":1664377389.4321094,"logger":"security","msg":"redirecting unauthorized user","session_id":"bTZqbeIx6EMRZFk4pUEgRo0b4YsWdtvHHAu5","request_id":"5b9c388e-3f5d-408f-be11-bef3f3955315","method":"location"}
{"level":"error","ts":1664377389.4322612,"logger":"http.handlers.authentication","msg":"auth provider returned error","provider":"authorizer","error":"user authorization failed: src_ip=REDACTED, src_conn_ip=REDACTED, reason: no token found"}
{"level":"debug","ts":1664377389.432415,"logger":"http.log.error","msg":"not authenticated","request":{"remote_ip":"REDACTED","remote_port":"38764","proto":"HTTP/3.0","method":"GET","host":"status.example.com","uri":"/","headers":{"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"],"Sec-Fetch-Mode":["navigate"],"Sec-Fetch-User":["?1"],"Accept-Language":["en-US,en;q=0.9,de;q=0.8"],"Cookie":[],"Sec-Ch-Ua":["\"Chromium\";v=\"105\", \"Not)A;Brand\";v=\"8\""],"Sec-Ch-Ua-Mobile":["?0"],"Sec-Ch-Ua-Platform":["\"Linux\""],"User-Agent":["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"],"Sec-Fetch-Site":["none"],"Sec-Fetch-Dest":["document"],"Accept-Encoding":["gzip, deflate, br"]},"tls":{"resumed":false,"version":0,"cipher_suite":0,"proto":"","server_name":""}},"duration":0.000485005,"status":401,"err_id":"4qt7bfhen","err_trace":"caddyauth.Authentication.ServeHTTP (caddyauth.go:88)"}
{"level":"debug","ts":1664377394.3181589,"logger":"security","msg":"token validation error","session_id":"bTZqbeIx6EMRZFk4pUEgRo0b4YsWdtvHHAu5","request_id":"80e91424-b096-451b-9fcf-e199789c0f82","error":"keystore: failed to parse token"}
{"level":"debug","ts":1664377394.318194,"logger":"security","msg":"redirecting unauthorized user","session_id":"bTZqbeIx6EMRZFk4pUEgRo0b4YsWdtvHHAu5","request_id":"80e91424-b096-451b-9fcf-e199789c0f82","method":"location"}
{"level":"error","ts":1664377394.3182328,"logger":"http.handlers.authentication","msg":"auth provider returned error","provider":"authorizer","error":"user authorization failed: src_ip=REDACTED, src_conn_ip=REDACTED, reason: keystore: failed to parse token"}
{"level":"debug","ts":1664377394.3182683,"logger":"http.log.error","msg":"not authenticated","request":{"remote_ip":"REDACTED","remote_port":"38764","proto":"HTTP/3.0","method":"GET","host":"status.example.com","uri":"/","headers":{"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"],"Accept-Encoding":["gzip, deflate, br"],"Accept-Language":["en-US,en;q=0.9,de;q=0.8"],"User-Agent":["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"],"Sec-Fetch-Mode":["navigate"],"Sec-Fetch-User":["?1"],"Sec-Fetch-Dest":["document"],"Sec-Ch-Ua-Mobile":["?0"],"Referer":["https://auth.example.com/"],"Cookie":[],"Cache-Control":["max-age=0"],"Sec-Fetch-Site":["same-site"],"Sec-Ch-Ua":["\"Chromium\";v=\"105\", \"Not)A;Brand\";v=\"8\""],"Sec-Ch-Ua-Platform":["\"Linux\""]},"tls":{"resumed":false,"version":0,"cipher_suite":0,"proto":"","server_name":""}},"duration":0.000234483,"status":401,"err_id":"kkt610cm9","err_trace":"caddyauth.Authentication.ServeHTTP (caddyauth.go:88)"}
{"level":"debug","ts":1664377394.543872,"logger":"security","msg":"token validation error","session_id":"bTZqbeIx6EMRZFk4pUEgRo0b4YsWdtvHHAu5","request_id":"2935e56d-948f-4ff1-ab9b-2f0d2b9ff170","error":"keystore: failed to parse token"}
{"level":"debug","ts":1664377394.5439,"logger":"security","msg":"redirecting unauthorized user","session_id":"bTZqbeIx6EMRZFk4pUEgRo0b4YsWdtvHHAu5","request_id":"2935e56d-948f-4ff1-ab9b-2f0d2b9ff170","method":"location"}
{"level":"error","ts":1664377394.5439456,"logger":"http.handlers.authentication","msg":"auth provider returned error","provider":"authorizer","error":"user authorization failed: src_ip=REDACTED, src_conn_ip=REDACTED, reason: keystore: failed to parse token"}

@AlexDaichendt , "reason: no token found" means the cookie was not visible to Site B.  Please login to /whoami, inspect your cookies (Chrome Dev Tools) and let me know what domain it is associated with.
There is also a concern with caddyauth.Authentication.ServeHTTP (caddyauth.go:88), which I do not recognize.
{"level":"debug","ts":1664377394.3182683,"logger":"http.log.error","msg":"not authenticated","request":{"remote_ip":"REDACTED","remote_port":"38764","proto":"HTTP/3.0","method":"GET","host":"status.example.com","uri":"/","headers":{"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"],"Accept-Encoding":["gzip, deflate, br"],"Accept-Language":["en-US,en;q=0.9,de;q=0.8"],"User-Agent":["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36"],"Sec-Fetch-Mode":["navigate"],"Sec-Fetch-User":["?1"],"Sec-Fetch-Dest":["document"],"Sec-Ch-Ua-Mobile":["?0"],"Referer":["https://auth.example.com/"],"Cookie":[],"Cache-Control":["max-age=0"],"Sec-Fetch-Site":["same-site"],"Sec-Ch-Ua":["\"Chromium\";v=\"105\", \"Not)A;Brand\";v=\"8\""],"Sec-Ch-Ua-Platform":["\"Linux\""]},"tls":{"resumed":false,"version":0,"cipher_suite":0,"proto":"","server_name":""}},"duration":0.000234483,"status":401,"err_id":"kkt610cm9","err_trace":"caddyauth.Authentication.ServeHTTP (caddyauth.go:88)"}

Please provide output of:
caddy list-modules -versions | egrep "(auth|security)"

@AlexDaichendt , for example here is my domain from github cookies.

@AlexDaichendt , also, try adding the following after cookie domain example.com.
cookie domain example.com
cookie example.com lifetime 3600

@AlexDaichendt , also, try adding the following after cookie domain example.com.
cookie domain example.com
cookie example.com lifetime 3600

This did not change anything.

I think I have the same issue.
I have two caddy servers, on sitea.org and siteb.org. sitea.org serves an auth portal. I want to reuse this auth portal in siteb.org. I have a shared key setup in crypto key sign-verify.
I have the following code in the Caddyfile for sitea.org:
security {
    authentication portal rdlnet {
			cookie domain sitea.org
			cookie domain siteb.org
			cookie sitea.org lifetime 900
			cookie siteb.org lifetime 900
   }
}

And then authorize with directives for sites on subdomains for both sitea.org and siteb.org. sitea.org works, but siteb.org goes into an endless redirect loop. When inspecting the requests and responses, I see that the cookie always has sitea.org and never siteb.org.
I was reading #43 which seems to enable this (as the official docs don't list the syntax above). Any ideas what's wrong?
Both caddy servers are using ghcr.io/authp/authp:v1.0.1 Docker image.

Hi @greenpau ,
I use the latest versions of caddy and caddy-security and I encounter exactly the same problem.
My need:

1 authportal for 2 differents domains hosted on 2 differents caddy (1 public reverse-proxy and 1 private reverse-proxy)

My configuration is quite the same of @AlexDaichendt
Can you please tell me if this feature is supported?
I think I read the entire documentation without success.
Thanks for your help.

@bpas62 , it would only work if you have a way to route requests to the same caddy instance for each user. The servers do not have shared state.

Thank you for your quick response, it's clear to me.
In my case, as the idea is to have 1 private reverse proxy and therefore isolated from the Internet, I do not want to route users through the public reverse proxy.
I will therefore set up 2 authportals.
Sincerely


Run Functional Tests task fails with System.ArgumentException

I'm not sure whether the error is caused by a recent update on the VSTS side or by changes on our side, but at least the error message points to code in a utility class in the TestManagement.Server namespace.
Environment
Running on VSTS
Account name: arivis-neuron
Team project name: neuron-platform
Build definition: [CI] Build, publish, deploy & run UI test
Build number: 20171020.2
Build Id: 3102
Agent: Hosted VS2017
Issue Description
The test fails with a System.ArgumentException for the AutomatedTestName in task 'Run tests':
2017-10-20T07:13:30.7267096Z ##[warning]DistributedTests: Test run is aborted. Logging details of the run logs.
2017-10-20T07:13:30.7267096Z ##[debug]Processed: ##vso[task.logissue type=warning]DistributedTests: Test run is aborted. Logging details of the run logs.
2017-10-20T07:13:30.8103352Z ##[warning]DistributedTests: New test run created.
2017-10-20T07:13:30.8103352Z ##[debug]Processed: ##vso[task.logissue type=warning]DistributedTests: New test run created.
2017-10-20T07:13:30.8103352Z Test Run queued for Project Collection Build Service (arivis-neuron).
2017-10-20T07:13:30.8103352Z
2017-10-20T07:13:30.8103352Z ##[warning]DistributedTests: Error in slicing for TestRun.0.\nSystem.ArgumentException: The string must have at least one character.
2017-10-20T07:13:30.8113364Z ##[debug]Processed: ##vso[task.logissue type=warning]DistributedTests: Error in slicing for TestRun.0.\nSystem.ArgumentException: The string must have at least one character.
2017-10-20T07:13:30.8113364Z Parameter name: AutomatedTestName
2017-10-20T07:13:30.8113364Z    at Microsoft.TeamFoundation.TestManagement.Server.SliceUtility.CreateSliceFromTestCaseResult(List`1 testCaseResults) in D:\v2.0\A1\_work\14\s\Tfs\Service\TestManagement\TestExecutionService\JobPlugins\Slicing\SliceUtility.cs:line 228
2017-10-20T07:13:30.8113364Z    at Microsoft.TeamFoundation.TestManagement.Server.SliceUtility.CreateDiscoveryDataForRun(IVssRequestContext requestContext, WorkflowJobData workFlowJobData) in D:\v2.0\A1\_work\14\s\Tfs\Service\TestManagement\TestExecutionService\JobPlugins\Slicing\SliceUtility.cs:line 219
2017-10-20T07:13:30.8113364Z    at Microsoft.TeamFoundation.TestManagement.Server.SliceUtility.TryPerformSlicingFromTestPoints(IVssRequestContext requestContext, WorkflowJobData workFlowJobData, String& resultMessage, ISlicingEngine slicingEngine) in D:\v2.0\A1\_work\14\s\Tfs\Service\TestManagement\TestExecutionService\JobPlugins\Slicing\SliceUtility.cs:line 98
2017-10-20T07:13:30.8113364Z ##[warning]DistributedTests: Test run aborted. Test run id: 1325
2017-10-20T07:13:30.8113364Z ##[debug]Processed: ##vso[task.logissue type=warning]DistributedTests: Test run aborted. Test run id: 1325
2017-10-20T07:13:30.8123367Z ##[error]System.Exception: The test run was aborted, failing the task.
2017-10-20T07:13:30.8123367Z ##[debug]Processed: ##vso[task.logissue type=error;]System.Exception: The test run was aborted, failing the task.
2017-10-20T07:13:30.8709617Z ##[debug]DistributedTests: Deleted test settings with id : 296
2017-10-20T07:13:30.9152488Z ##[error]PowerShell script completed with 1 errors.
2017-10-20T07:13:30.9159590Z ##[section]Finishing: Run Tests

Error logs
logs_3102.zip

After digging further into this issue I finaly found that the error was caused by a test case that had an abmiguous 'automation status'. Instead of either 'Not automated' or 'Planned' it was just empty.
This caused the test case to be included into a test run, because all other parameters (like configuration, etc.) made it eligible. I guess because there was not data to link it to any automation assembly/method, this is where the "System.ArgumentException: The string must have at least one character." is caused.
So basically this is a configuration error, but it would be nice, if the task would be more robust and simply skip this test with a message rather than fail with an exception.


TypeError: crypto.getRandomValues is not a function

Environment
[auth][error][SignInError]: Read more at https://errors.authjs.dev#signinerror                                                                             3:25:33 PM
[auth][cause]: TypeError: crypto.getRandomValues is not a function
Reproduction

Describe the bug
node_modules/oauth4webapi/build/index.js:237:24
function randomBytes() {
    return b64u(crypto.getRandomValues(new Uint8Array(32)));
}

Additional context
No response
Logs
Node.js v16.19.1.
No response

Could you please provide a reproduction with stackblitz / codesanbox or a repo please ? I don't have this issue.

Problem seems to be NodeJS 16.
Works for me with NodeJS 17 and upwards.

I'm gonna close this then, this package is designed specifically for non node environment, use node 18 + for development.


VS2013 - boost python def_readonly breaks build

One last issue with VS2013 and vc120.
When building the python binding the file py_deepdata.cpp breaks with:
Error   9   error C2665: 'boost::python::detail::make_getter' : none of the 3 overloads could convert all the argument types    C:\git\build\win\vc120\x86_amd64\debug\include\boost-1_60\boost\python\data_members.hpp 279 1   PyOpenImageIO
The actual line(s) that calls make_getter (def_readonly):
    .def_readonly ("npixels",    &DeepData::pixels)   //DEPRECATED(1.7)
    .def_readonly ("nchannels",  &DeepData::channels) //DEPRECATED(1.7)
    .def_readonly ("pixels",     &DeepData::pixels)
    .def_readonly ("channels",   &DeepData::channels)

I'm not a boost expert but it seems to be related to the signature of the function pointer in VS2013, I tried several workarounds without success, .def(...) works as expected.
I looked around in PyOpenImageIO and found:
py_imagebuf.cpp:448
    .add_property("subimage", &ImageBuf::subimage)
    .add_property("nsubimages", &ImageBuf::nsubimages)
    .add_property("miplevel", &ImageBuf::miplevel)
    .add_property("nmiplevels", &ImageBuf::nmiplevels)
    .add_property("nchannels", &ImageBuf::nchannels)

This is very similar functionality BUT defined as properties, any reason why we don't use properties for exposure of read_only functions such as npixels, nchannels through all of the bindings?
This will probably break compatibility, if py_deepdata.cpp def_readonly is changed to add_property it builds as expected.
This is a proposal for a workaround and does not solve the first problem with make_getter.

In master we've switched away from boost python entirely. Closing.


Updates to setup.py and meta.yaml

This PR updates setup.py and meta.yaml for the 1.7 release. After release, setup.py will be updated to use #1368.

Seems that the extra_requires didn't like 'bokeh=0.12.5'.

Seems that the extra_requires didn't like 'bokeh=0.12.5'.

Doesn't it need to be 'bokeh==0.12.5' for setuptools?

Doesn't it need to be 'bokeh==0.12.5' for setuptools

I'll try that. Wasn't sure of the syntax and assumed it matched conda.

Looks good, let's release!

hi Holoviews developpers. IS it still relevant to have that Pinned bokeh-0.12.5 in 0.18dev2 ?

The next dev release will pin to 0.12.6 which has now been released. You should be able to use that.


Add more useful INFO/DEBUG messages for audit trails.

Previously we had a few rough and ready debug messages for development.
These have been improved to now ensure that PR failures/changes can be
more accurately tracked.
Change-type: patch

Connects to #24

Connects to #26


Fix: ExpiresIn of token should be seconds.

Signed-off-by: 疯魔慕薇<EMAIL_ADDRESS>

 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.


Generate and install a pkg-config file

This is a

[ ] Breaking change
[x] New feature
[ ] Bugfix

I have

[x] Merged in the latest upstream changes
[ ] Updated CHANGELOG.md
[ ] Updated README.md
[ ] Run the tests

I ran into a need for this while working with easyloggingpp using the nix package manager. I currently generate the .pc file in a nix expression, as pkg-config and cmake work quite nicely together in the nix world, but it would be better if the cmake files of nix users could work outside of the nix environment.
I have not yet updated the CHANGELOG, but would be happy to do so if this new feature is acceptable.

looks good, except for the branch, can you please push to develop branch instead? also you can update CHANGELOG if you like.

I've rebased onto develop and updated CHANGELOG.

Does this look okay to merge, @abumusamq?

Another ping to see if we can get this merged.

Any movement on this?

Thanks for this PR @acowley
I have made manual updates (c1b1285). This should be up in next release


Add dependabot badge in readme

https://github.com/dependabot/feedback/issues/6#issuecomment-504674854
https://github.com/badgen/badgen.net/pull/288
This should be working with https://flat.badgen.net/dependabot/osbytes/devy?icon=dependabot
under the hood this is calling: https://api.dependabot.com/badges/status?host=github&repo=${owner}/${repo}
which is https://api.dependabot.com/badges/status?host=github&repo=osbytes/devy
however this gives a 404 🤔


Spelling and Minor Grammar Correction(s)

Self-explanatory :smile:
This is a bug (or typo) fix.
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
⚠⚠⚠  THIS BUNDLE HAS ENTERED INTO ITS FEATURE FREEZE PERIOD  ⚠⚠⚠

Pull Requests with New Features will no longer be merged.
If you want to propose some new feature, please create an Issue.
Pull Requests that fix bugs are still accepted and greatly appreciated.

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

@lloy0076 Thanks for your contribution!


Not an Issue, First Post.  Want to discuss AOP in Core

Willing to contribute to discussion and/or maturation (coding) of Aspect Oriented Programming support in .Net Core.  Not sure what repository this would work best.
40+ years developing software, coming out of my isolation :)

Something like this? https://msdn.microsoft.com/en-us/magazine/dn574804.aspx?f=255&MSPPError=-2147217396
That seems like it would work well with the Dependency Injection system. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.1

Ah. Have you considered Dependency Injection as a related/alternative pattern?

Sorry for the delay.  Been a lot busy evangelizing .Net Core 2.0 in a large organization.  DI would be an obvious alternative, but I am looking to abstract the horizontal functionality completely outside of the vertical processing.
For example, if I have a repository pattern and my repository has a method that does a CRUD operation, to follow SOLID principles I should abstract logging and audit functions externally.  My repository knows nothing of these things being focused on what it takes to perform CRUD.
Aspect Oriented Programming as I see it in Core would be like creating a "listener/proxy/interceptor" that knows what methods to watch across the application scope and what actions to take, like track requests/inputs/outputs (audit/log), process flow (log), exception logging, etc.  RealProxy did that.  I'm just trying to engage so that a solution to "horizontal" functionality can be determined in Core.

Hi @FastTracOnline , for these more general types of topics that are not specific to ASP.NET Core, I recommend discussing with the folks at https://github.com/dotnet/core and they can involve the right set of folks.
AOP is certainly an interesting topic but within ASP.NET Core itself it's not something that can be generally enabled. Certain components in ASP.NET Core, such as MVC, have a system of filters that can be applied to actions without the action's involvement, but that's about it.


[Improve][Docs][Clickhouse] Reconstruct the clickhouse connec…

Purpose of this pull request
subtask:#4572

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

@EricJoy2048  PTAL,thanks.

@hailin0 PTAL,thanks.


weak tools or not?!

https://github.com/BobBuildTool/basement/blob/80378052dcfafd5d11e5a3e68a74c05337520058/recipes/devel/doxygen.yaml#L12
hey what do u think, should we define some of that tools as weaktool?
It came up to me, because of pipython3, everytime i change something there, also doxygen will be rebuilt, but i guess, in the end, the result shall be the same, isn't it?

This really depends on the doxygen build system and why it needs python3. Do you know why doxygen needs python3? If it's only used to execute some scripts then it could be indeed a weak tool...

i searched this:
https://github.com/doxygen/doxygen/search?l=CMake&q=python
just the "PythonInterp" (PYTHON_EXECUTABLE) is used inside the project, not the "PythonLib". so python is a weak tool IMO.
I will make a PR.


Add 'return this' for setter method chaining

This pull request enables setter method chaining as follows like sendgrid-java.
var sendgrid  = require('sendgrid')(api_user, api_key);
email = new sendgrid.Email()
<EMAIL_ADDRESS><EMAIL_ADDRESS>  .setSubject('Hello World')
  .setText('My first email through SendGrid.');

Thanks for contributing to SendGrid Open Source! We think it's awesome when community members contribute to our projects and want to celebrate that.
The following link will ask you to authenticate with Github (so we can verify your identity). You'll then be asked for your shipping address so that we can send you a thanks for contributing.
Click Here to Continue »
Once again, thank you!

Thanks for merging. I'm glad to contribute.
I already obtained SendGrid gifts in a hackathon :smiley:


Add customizable options for clustercheck

@ajdelgado, the tests are failing. Could you please have a look and fix the tests? Thanks.

@ajdelgado, the tests are failing. Could you please have a look and fix the tests? Thanks.

I did a new change to try to pass the checks of pdk

This was reimplemented in https://github.com/markt-de/puppet-galera/commit/f5895de53d9bca3c372505c4e70c146b990c7888.
Thanks for your contribution!


add time.sleep

i added time.sleep for a better immersion close #2

Thanks I like it so much more !


The later challenges in learnyounode (challenge 10 onwards) do not work on C9 due to port restrictions.

Challenge Finish working with Nodejs Servers has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

Thanks for reporting @lcarbonaro.
/cc @alayek and we were discussing a couple of days ago about workshoppers like these, tend to have their challenges (breaking frequently) especially on cloud IDEs, due to obvious restrictions.
This is in addition to already somewhat broken how-to-npm workshopper.
Refer #7080
@FreeCodeCamp/issue-moderators thoughts?

At the very least there should be a note against those particular
challenges to alert people that this won't work on C9, and not because
something is wrong in their code necessarily.
On 17 May 2016 at 08:40, Mrugesh Mohapatra<EMAIL_ADDRESS>wrote:

Thanks for reporting @lcarbonaro https://github.com/lcarbonaro.
/cc @alayek https://github.com/alayek and we were discussing a couple
of days ago about workshopper https://github.com/workshopper/workshoppers
like these, tend to have their challenges (breaking frequently) especially
on cloud IDEs, due to obvious restrictions.
This is in addition to already somewhat broken how-to-npm workshopper.
Refer #7080 https://github.com/FreeCodeCamp/FreeCodeCamp/issues/7080
@FreeCodeCamp/issue-moderators
https://github.com/orgs/FreeCodeCamp/teams/issue-moderators thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/8680#issuecomment-219704676

Thanks for notifying me @raisedadead. @koustuvsinha you might be interested.
One solution could be that we fork those repos and update these features so that they work on c9. Or, we make sure they at least work on our vagrants, without altering the node modules.
Sure, this is like biting off more than one can chew. But I cannot come up with anything better right now :santa:

@alayek  and @raisedadead, @jnmorse suggested a bit of a work around that might help when setting up in c9. I am going to test it in the next couple of days and see if it works for me! Will let you know the results and then maybe for now we could update the challenge instructions on FCC to include these preparation steps if they work?

@theoneinskane I think that using the blank workspace will also work, I didn't know if that would allow you to use node and npm at first, but seems it will.
I just tried and completed the challenges referenced in "Finish working with Nodejs Servers" at least in this manner.

I just finished learnyounode. No issues at all. Like @jnmorse suggested, and like I wrote here https://github.com/FreeCodeCamp/FreeCodeCamp/issues/7080#issuecomment-223046160 for the how-to-npm challenge, it works if you create your C9 workspace with a blank template and not a Node.js template.

@lcarbonaro @jnmorse thanks a lot. Looks like we can update the instructions to reflect the same.

@hutstep thanks a lot for the workaround, would you be interested in making a PR for both the challenges and update the instructions?

@raisedadead ok, will do it for both challanges.


Makefile: supply TARGET to install to specified target

This is similar to PREFIX from configure but I couldn't see a good reason for PREFIX literally. I'd like to embed an installation of containerd with a small tool of mine (and in a less global place than /usr/local/bin) so this would make it a little easier.

whoa. what happened here? do I just need to rebase?
I'll look into it tonight.

Yes, sorry, you need to rebase onto the v0.2.x branch and reopen that PR against that branch

sg; I'll close the other too.


Syntax error on graphql schema

Note: If your question is regarding the AWS Amplify Console service, please log it in the
official AWS Amplify Console forum

Which Category is your question related to?
amplify and graphql schema
Amplify CLI Version
You can use amplify -v to check the amplify cli version on your system
4.46.1
What AWS Services are you utilizing?
Amplify, AppSync, Cognito
Provide additional details e.g. code snippets
My schema is not letting me push the changes with amplify push, it says I have the following error:
Syntax Error: Expected Name, found :
An error occurred during the push operation: Syntax Error: Expected Name, found :
I have the following schema:
type Customer @model

@auth(
  rules: [
    # Allow owners of the object (customers) all CRUD operations
    {allow: owner},
    # Allow users inside Cognito Group "Admin" all CRUD operations
    {allow: groups, groups: ["Admin"]},
    # Allow signed in users in the platform to read other customer information
    {allow: private, operations: [read]}
  ]) {
  id: ID!
  profile_picture: AWSURL
  name: String!
  family_name: String!
  birthdate: AWSDate!
  gender: Boolean!
  email: AWSEmail!
  street: String
  city: String
  state: String
  country: String
  zipcode: Int
  created: AWSTimestamp!
  updated: AWSTimestamp!
  active: Boolean!
  id_stripe: String!
  phone: AWSPhone
  licence: String
  balance: Float
  inscriptions:[Inscription] @connection(keyName: "CustomerInscriptions", fields:["id"])
  # targets:[CompetitionTarget] @connection(keyName: "byTarget", fields:["id"])
  # teams: [TeamMember] @connection(keyName: "byCustomer", fields: ["id"])
}

type Target @model
  @key(name: "InscriptionTargets", fields: ["id_inscription", "created"])
  @auth(
    rules: [
      {allow: groups, groups: ["Admin", "Judges"]},
      {allow: private, operations: [read]},
    ]) {
  id: ID!
  was_shot: Boolean!
  repeat: Boolean
  created: AWSTimestamp!
  updated: AWSTimestamp!
  note: String
  inscription: Inscription @connection(fields: [id_inscription])
}

type Establishment @model
@auth (
  rules: [
    {allow: owner},
    {allow: owner, ownerField: "admins", operations: [update]},
    {allow: private, operations: [read]}
  ]
) {
  id: ID!
  logo: AWSURL
  name: String!
  nickname: String
  email: String!
  city: String
  state: String
  country: String
  zipcode: Int
  address_point: String!
  created: AWSTimestamp!
  updated: AWSTimestamp!
  active: Boolean!
  url: AWSURL
  id_stripe: String!
  phone: AWSPhone!
  hour_operation: AWSJSON
  admins: [String]!
  authorized_user:
  competitions: [Competition!] @connection(name: "EstablishmentCompetitions", fields:["id"])
}

type Competition @model
  @key(name: "EstablishmentCompetitions", fields: ["id_establishment", "competition_start"])
  @auth(
    rules: [
      {allow: groups, groups: ["Admin"]},
      {allow: private, operations: [read]}
    ]
  ) {
  id: ID!
  id_establishment: ID!
  establishment: Establishment! @connection(fields: [id_establishment])
  priority: Int
  tiers: AWSJSON
  image: AWSURL!
  type: String!
  competition_start: AWSDateTime!
  inscription_end: AWSDateTime
  description_inscription: String
  target: String!
  target_price: Float!
  disqualification: Int
  rules: String
  team_limit: Int
  created: AWSTimestamp!
  updated: AWSTimestamp!
  judges_username: [String!]!
  inscriptions: [Inscription!] @connection(keyName: "CompetitionInscriptions",fields: ["id"])
  teams: [Team!]! @connection(name: "CompetitionTeams", fields: ["id"])
}

type Inscription @model
  @key(name: "TeamInscriptions", fields:["id_team", "id_customer"])
  @key(name: "CustomerInscriptions", fields: ["id_customer", "created"])
  @key(name: "CompetitionInscriptions", fields: ["id_competition"])
  @auth(
    rules: [
      {allow: groups, groups: ["Admin"]},
      {allow: private, operations: [read]}
    ]
  ) {

  id: ID!
  method_of_payment: String
  total: Float!
  active: Boolean!
  score: String
  created: AWSTimestamp!
  updated: AWSTimestamp!
  note: String
  customer: Customer! @connection(fields: ["id_customer"])
  competition: Competition! @connection(fields: ["id_competition"])
  team: Team! @connection(fields:["id_team"])
  targets: [Target!] @connection(name: "InscriptionTargets", fields:["id"])
}

type Team @model
  @key(name: "CompetitionTeams", fields: ["id_competition", "created"])
  @auth(
    rules: [
      {allow: private}
    ]
  ) {
  id: ID!
  number:Int!
  name: String
  # customers: [TeamMember!]! @connection(keyName: "byTeam", fields:["id"])
  created: AWSTimestamp!
  updated: AWSTimestamp!
  inscriptions: [Inscription!]! @connection(keyName: "TeamInscription", fields:["id"])
}

thank you, this solved my problem


Sort the user lists

The items in the user lists need to be sorted according to the title of the item.
In the all list, the items should be sorted such that they appear in the order

Watching items
Completed items
On hold items
Dropped items
Plan to Watch items

These items must be sorted within themselves, i.e., all the watching items must appear before all the competed items but they should appear in sorted order according to their title
Example:-

I would like to work on this. Could you please assign it to me ?

Sure @abhishekpathak1 , good luck ! 😇


Read evaluated packagereference versions to support CPvM

This change makes the Packages used for package analysis to use Evaluated versions in order to support Central Package Version Management using Microsoft.Build.Evaluation
Added MSBuildTests to test loading a test project with packages.props using Microsoft.Build.Evaluation and testing on evaluated package versions.

@twsouthwick I have addressed your offline feedback, could you PTAL?


Establish consistent order for noise node inputs

https://github.com/dbsmythe/Mtlx_Markdown_Test/blob/3236fdf39558e682cc58317d7e32c1a3598313d2/mtlx1.39_spec.md?plain=1#L765
We should establish a consistent order for common inputs to the noise nodes, making the parallels between them easier to understand.  Perhaps "period" should come last in the list and the spatial input (e.g. "position", "texcoord", "in") should come first?

Agreed that we should be consistent in the ordering of inputs, but I would suggest an ordering of:

Parameters specific to the evaluation of the node function, with (in this case) "period" being last, as it's somewhat related to...
Texture/position reference coordinates.
The "in" input of cellnoise1d is a bit of an oddball case: normally an "in" input should go first, but in this case, it's actually a 1d reference coordinate, more like "position".  I was never super happy with using the name "in" for this but it was better than "t", and in many ways it really is "the input" to what the node evaluates.
I will attempt to create a pull request with changes to reflect the above ordering rules.

Actually, not sure I can.  If I understand things, before I can do a pull request, I have to first make a fork of the project and make the changes in the fork.  But I can't make a fork of Mtlx_Markdown_Test into my own account/organization, because that's where the original already is.  I would have to create the fork in the ASWF/MaterialX area, the only area GitHub says I have permissions to create a new fork into, which doesn't sounds like something that should be done.
At any rate, filing an Issue to discuss specific passages in the Spec seems like an okay workflow, though it looks like one can only comment on entire lines, not specific highlighted phrases within a line (which in this document, is basically an entire paragraph).  Not as good as Google Docs, but workable.

Slight update to my suggested ordering rules above: for the worleynoise nodes, "jitter" is a parameter that affects the sampling "period", so as a modifier I think it should go right after period.  This would make the ordering "metric", "period", "jitter", "texcoord/position".  And the worleynoises are the only two nodes with a change in ordering to reflect the new rules.


OpenStreetMap Copyright and License

According to their Copyright and License page (https://www.openstreetmap.org/copyright), I think by default the copyright should be added to this widget according to their specification "For a browsable electronic map, the credit should appear in the corner of the map". I'm no lawyer, but I think this repo may be breaking their copyright and license rules at least when it comes to the demo and snippets.
In case something changes with their copyright and licensing, it may be a good idea to add an option to opt-out of the credit.

I used https://github.com/osmdroid/osmdroid in Android  and tangrams for swift
so if i break that rules that means that library break rules not me
this library just used native libraries for android/iOS

Gotcha. Well either way, anyone that uses this package will have to add a copyright by hand. Could be nice in any case for it to be part of the package. More of a good Samaritan feature than anything, but maybe you're right that those libraries should be adding the copyright instead. Gotta pass the buck somewhere:

at the source (those libraries)
at the distributor (this package)
at developer (everyone that uses the libraries / package)

Like I said, Im not lawyer but I'm sure everywhere in this chain should have proper credits, but I added it in my project so we are good should OSM want to open a suit. Just thought I would share here in case you felt the same. But like I said, doesn't matter to me since I am covered.

ok i understand your point now.
i will add it that if the library built in the production mode
thanks you for this information

I just found this package and wanna use it in my application. Should I add any copyright regarding codes somewhere within the application or it has been already included?
Please let me know more. Thank you!

licence is MIT your can used freely


Add ./hack/patch.sh to patch kubevirt

What this PR does / why we need it:
Currenctly iterating on kubevirt take a lot of time on redploying the
changes. This change creates a hacky script that will patch
controller/handler/launcher to speed things up.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/lgtm
/approve
This can be optimized later on to be properly integrated into our hack/dockerized flows but is helpful on its own.
In order to integrate it properly one has to collect the digest files and write them to our _out directory, like we e.g. do for unit test logs, so taht we have a common place to access them from inside and outside of the build container.

/lgtm cancel

/lgtm

/lgtm

/lgtm


Zero spacing option for pie chart

Feature Proposal
Currently 0 spacing is a default which results in non-zero spacing. It is not possible to specify 0 spacing, i.e. 0 pixel space between arcs on a pie chart. In our scenario having too many sections makes the last few sections appear entirely in white because of the non-zero spacing. Some sections before that appear partially in white, as if some fog effect was applied.
The effect looks like this:

Possible Implementation
No response

This is because of the borderWidth property that defaults to 2, if you set this to 1 this behaviour won't happen

@LeeLenaleee Thank you, I had to use borderWidth: 0, since there is still some fog with 1. Here is a code snippet to help future visitors of this ticket. It is based on your answer from Stack Overflow:

https://stackoverflow.com/a/66466033/897326

options: {
  elements: {
    arc: {
      borderWidth: 0,
    }
  },
}

Would it make sense to expand the docs and explain how each config element affects chart render? With some research, I found that offset and spacing are doing something similar, but they are in a different place under config. I also tried specifying negative values for them, and it caused some weird effects, but didn't help with chart fog. There could be a see also: borderWidth link in there, for example.


Support multi-file selection in context menu

I miss the possibility to mark multiple files and export them to metadata-filea with the same name but the extension ".metadata'. In the same way, you can do it for one file already via the context-menu in windows explorer.
Best regards!
Gerhard Waldhelm
This work item was migrated from CodePlex
CodePlex work item ID: '9454'
Vote count: '2'

[UnknownUser@21/11/2014]
Associated with changeset 81749.

[UnknownUser@29/04/2015]

[Dijji@10/09/2015]
I have now posted a new download, 'File Meta 1.3 Release Candidate', which includes support for marking multiple files.  Give it a try, and let me know how you get on!
Dijji

[UnknownUser@26/08/2016]

Issue closed by Dijji with comment
Delivered
Reason closed
Fixed


Adding a "do you want to leave" confirmation.

Using sqlpad on my macbook, I often accidentally go "back" in the browser and lose the query I was working on. This happens because I'm scrolling leftwards through the query results table on a table with a lot of columns, and scrolling lefttwards too far causes the macbook to think I want to go "back" in the browser. Would it be possible to add one of those "do you want to leave" confirmation popups to stop this from happening?

Definitely! We might need to get creative to target that specific case, but it should be possible. I'll see what I can work up next week.

Just tagged release 6.3.0 that will have this added! Unfortunately there's no way to target the scrolling back scenario that I'm aware of, so instead I'm making the assumption that if the mouse if over the query results, and navigation happens, it wasn't intended.
There are no links in that area, and if there are someday the user can still follow the link by confirming in the prompt.


android empty emoticons area

Hi
so the emoticons component works for us on iOS , but when testing on android we get a blank emoticons area like on this screenshot below (We're using RN 0.45.1 , android 6.0 platform 23) :

Install the latest version of react-native-emoticons.
Let me know that if this issue still exists!

@xiewang just tried with react-native-emoticons 1.0.5 . still gettting a blank screen for android

Just using a tricky solution for android(@1.0.6), not the best, I will replace this with better ways.

thanks, its working with 1.0.6 !


Docker swarm fails when worker dockerd started with --data-root

Issue Summary
I'm running a swarm manager on Amazon Linux 2, and a worker on Ubuntu Core 16. I'm using docker 18.06 on the manager and the stable snap (18.06) on the worker. The snap declares a custom --data-root which is not respected by swarm. This error is thrown when we deploy any image (i.e. the base nginx image with no customization):
msg="fatal task error" error="mkdir /var/lib/docker: read-only file system" module=node/agent/taskmanager
msg="Peer operation failed:Unable to find the peerDB for nid:2odz3zmrpyxb6hqkz7nnahi8m op:&{3 2odz3zmrpyxb6hqkz7nnahi8m  [] [] [] [] false false false func1}"
msg="state changed" module=node/agent/taskmanager state.desired=RUNNING state.transition="PREPARING->REJECTED"

A custom --data-root is necessary because, as the error indicates, /var/lib/* is read-only on ubuntu core. The custom --data-root location for the worker is indicated in the docker info below; it is configured by the snap definition here:
https://git.launchpad.net/~docker/+git/snap
docker versions and docker info
Manager
$ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:23:03 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:25:29 2018
  OS/Arch:          linux/amd64
  Experimental:     false

$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 8
Server Version: 18.06.1-ce
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
 NodeID: qds0slh924vfdcty810q476x8
 Is Manager: true
 ClusterID: 7v63yq48t5fvs5afbbisma6ly
 Managers: 2
 Nodes: 3
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 10
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.14.70-72.55.amzn2.x86_64
Operating System: Amazon Linux 2
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.62GiB
Name: ip-172-16-30-154.us-west-2.compute.internal
ID: IFTQ:OUZR:6WUI:C73D:UU7V:WW7Z:QAY5:PETM:CHWR:PKXA:LEU2:RYGA
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Worker
$ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.4
 Git commit:        e68fc7a
 Built:             Mon Oct  1 14:25:31 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       e68fc7a
  Built:            Mon Oct  1 14:25:33 2018
  OS/Arch:          linux/amd64
  Experimental:     true

$ docker info
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.4
 Git commit:        e68fc7a
 Built:             Mon Oct  1 14:25:31 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       e68fc7a
  Built:            Mon Oct  1 14:25:33 2018
  OS/Arch:          linux/amd64
  Experimental:     true
root@nsentinel-dennis:~# docker info
Containers: 490
 Running: 0
 Paused: 0
 Stopped: 490
Images: 13
Server Version: 18.06.1-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
 NodeID: lg9qhe3sl9cgydf2qcy75hypo
 Is Manager: false
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: N/A (expected: 69663f0bd4b60df09991c08812a60108003fa340)
init version: 949e6fa (expected: fec3683)
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-138-generic
Operating System: Ubuntu Core 16
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.709GiB
Name: nsentinel-dennis
ID: ERIP:SC5D:YYG4:4ZUF:WZZT:FKKQ:4UGI:UY5H:A262:L645:LZ25:ZTYB
Docker Root Dir: /var/snap/docker/common/var-lib-docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 31
 Goroutines: 101
 System Time: 2018-11-14T19:30:40.67696451Z
 EventsListeners: 0
Registry: https://index.docker.io/v1/
Labels:
 hostname=myhost
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

WARNING: No swap limit support

This is unrelated to docker registry. You may wanna try support.docker.com or https://github.com/docker/swarmkit/.


Minor Refactoring and Cleanup

Moved some classes that were not part of a proper namespace into one.
Cleaned up formatting and fixed misspellings.
Added LCA headers.
Updated UNITY_METRO to UNITY_WSA
Fixed support for UnityEngine.Windows.Speech

Thanks for the review @keveleigh, fixes are in.

Out of curiosity, is there a utility that you use for finding things such as spelling errors in comments?

@ ForrestTrepte Resharper. But I don't use it all the time cause it's a resource hog.


fix(EMS-2539): No PDF - Textareas displaying encoded special characters

Introduction :pencil2:
This PR fixes an issue with all textareas in a No PDF application, where after we encoded the special characters, they are displayed as encoded characters when revisiting textareas. They should be displayed to the user exactly as they were entered.
Resolution :heavy_check_mark:

Create new E2E fixtures:

SPECIAL_CHARACTERS.
mockStringWithSpecialCharacters

Add E2E test coverage for submitting textrea fields with special characters and then revisiting the textarea.
Update "About goods or services" controller to consume/pass a mapped application, mapApplicationToFormFields.
Create new mapping function, mapTextareaFields, to map all textareas. @Zainzzkk We now need to update this (and add an E2E test) each time when a new textarea field has data saving functionality.
Update mapApplicationToFormFields function to call a new mapping function mapTextareaFields and have each mapping ordered alphabetically by application sections.

Miscellaneous :heavy_plus_sign:

Add some missing documentation to cypress commands.
Update some cypress command params to have an object structured and accept additional params.

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

:exclamation: No coverage uploaded for pull request base (main-application-no-pdf@47688bf). Click here to learn what that means.

Additional details and impacted files
@@                    Coverage Diff                     @@
##             main-application-no-pdf    #1737   +/-   ##
==========================================================
  Coverage                           ?   98.37%
==========================================================
  Files                              ?      480
  Lines                              ?     8038
  Branches                           ?      870
==========================================================
  Hits                               ?     7907
  Misses                             ?      129
  Partials                           ?        2

Flag
Coverage Δ

unit-test
98.37% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Feat(Challenges): no js preview

This feature enables the preview plane to auto update with javascript disable while the user edits files. As the user executes a challenge, then the full user code is run.

LGTM


Line simplification

I'm going to hold off on merging this one until rustwasm/wasm-bindgen#2009 is resolved.


libu2f-host: 1.1.4 -> 1.1.5

Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:

built on NixOS
ran /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host -h got 0 exit code
ran /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host --help got 0 exit code
ran /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host -V and found version 1.1.5
ran /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host --version and found version 1.1.5
ran /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host -h and found version 1.1.5
ran /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host --help and found version 1.1.5
found 1.1.5 with grep in /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5
found 1.1.5 in filename of file in /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5

cc @wkennington for review

Success on x86_64-darwin (full log)
Attempted: libu2f-host
Partial log (click to expand)
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5/lib/libu2f-host.0.dylib: fixing dylib
/nix/store/nqvni5y80immhn6azx848i1cgmwxxa3c-libu2f-host-1.1.5

Success on x86_64-linux (full log)
Attempted: libu2f-host
Partial log (click to expand)
rmdir: failed to remove '/nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/share': Directory not empty
shrinking RPATHs of ELF executables and libraries in /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5
shrinking /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin/u2f-host
shrinking /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/lib/libu2f-host.so.0.1.5
gzipping man pages under /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/lib  /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5/bin
patching script interpreter paths in /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5
checking for references to /build in /nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5...
/nix/store/npfpn2xy98yy13j3icli75mx4a3xlhmm-libu2f-host-1.1.5

Success on aarch64-linux (full log)
Attempted: libu2f-host
Partial log (click to expand)
rmdir: failed to remove '/nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5/share': Directory not empty
shrinking RPATHs of ELF executables and libraries in /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5
shrinking /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5/bin/u2f-host
shrinking /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5/lib/libu2f-host.so.0.1.5
gzipping man pages under /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5/share/man/
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5/lib  /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5/bin
patching script interpreter paths in /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5
checking for references to /build in /nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5...
/nix/store/i9j665zr4lmrjarh8y86hbr6ban3bfdv-libu2f-host-1.1.5


Add decoder for coverage metadata

Especially for dimensionInfo data (Time and elevation)

Is still valid and open?


setEditingCell is undefined through the prop table of a component

material-react-table version
material-react-table v1.14.0
react & react-dom versions
react v18.2.0, react-dom v18.2.0, next v13.4.19
Describe the bug and the steps to reproduce it
When we try to use the method setEditingCell to clean the active editing cell, example: "table.setEditingCell(null)", the method looks like is not defined and it is not executing the action of set editing cell in null.
here is an example on codesandbox: CODE Example of issue
In this example we enable the edition of address column and when we change the select input, that action open a modal to show the confirm of the action, but if we cancel the action, the cell continue active even when in the function close we call "table.setEditingCell(null)".
Minimal, Reproducible Example - (Optional, but Recommended)
CODE Example of issue
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
None
Terms

[x] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

This seems to be a bug where the edit button in the actions column is showing up for "cell" editing mode when it should not. Looks like both editingRow and editingCell are able to be populated at the same time. Will fix that.

This was fixed at some point for v2


Build error for std::int64

When building on Windows with clang, clang defaults to Visual Studio (Windows SDK) headers. There is no int64 defined inside the std namespace.
As specified in http://en.cppreference.com/w/cpp/types/integer, those int64 types (lines 209 and 210) are not defined in std, but open in cstdint.

std::int64_t is defined in std, but in the <cstdint> header, which isn't currently included.
Should just be able to add that header.

Thanks for reporting!

No problem, thanks to you for the best json C++ lib!


Correction for raw affiliation LEPSE, Univ Montpllir, INRAE, Institut Agro, Montpllir, Franc

Correction needed for raw affiliation LEPSE, Univ Montpllir, INRAE, Institut Agro, Montpllir, Franc
raw_affiliation_name: LEPSE, Univ Montpllir, INRAE, Institut Agro, Montpllir, Franc
new_rors: 003vg9w96;03fte3n86
previous_rors: 003vg9w96
works_examples: W3034488536
contact: b1e252f11fca8f0ff6bfc2efe78ef573:d097bc646ac952c4e889655d78f2c72f0fbb @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


Add SRI to React CDN links

I noticed that the page listing react CDN links does not include SRI. I think that adding SRI attribute will encourage developers to use it and increase the awareness - especially for people who just do copy-paste from this website. SRI is the only way to ensure the integrity of the resource you're using - and it's recommend to use it when loading resources from a CDN.

thats with the integrity attribute right? I've seen more source code / introductory tutorials having this as well.
However, since the CDN is through unpkg, im not aware of any ways unpkg can verify the integrity of the packages...
Should this also include crossorigin="anonymous"? Or is it that by default? Its unclear to me from checking mozilla docs. An invalid keyword and an empty string will be handled as the anonymous keyword. is the only thing i see..
https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes

There is no need to support by unpkg (as long as they support CORS, whcih seems they are). You can use any SRI generator site to generate the hash - for example, using this generator I get:
<script<EMAIL_ADDRESS>integrity="sha384-dOCiLz3nZfHiJj//EWxjwSKSC6Z1IJtyIEK/b/xlHVNdVLXDYSesoxiZb94bbuGE" crossorigin="anonymous"></script>

Yes, specifying the crossorigin attribute is mandatory, to mitigate a sophisticated attack. See the discussion here for more information.
Please note that the hash is changed each time the script changed - so publishing a new version will require also to update the doc. IMO it worth it, but not my call :)


Compose video link button

Discussion on Zulip here.
@rishig @timabbott

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

@zulipbot label "area: compose"

Heads up @jackrzhang, we just merged some commits that conflict with the changes your made in this pull request! You can review this repository's recent commits to see where the conflicts occur. Please rebase your feature branch against the upstream/master branch and resolve your pull request's merge conflicts accordingly.

@rishig what's the plan for this?

Haven't reviewed the code, but I think we should shorten the random string to 15 digits and merge, and deal with various followups later.

Added a commit that shortens the video link string to 15 digits; I think this is okay to merge!
@rishig @timabbott

Squashed, added translation tag, and pushed to https://github.com/rishig/zulip/tree/review-6083.
Follow-ups:

Remove the link preview for meet.jit.si
Both adding an attachment and adding a video link should add a newline before the link, if it otherwise wouldn't be the first thing on the line.

Link previews only happen in development anyway (feature isn't turned on more broadly), but it does seem like we could add this to an exclude list.
@rishig can you make a new PR?  I'd like to see Travis run (etc.)

link previews

cool, good to know.
Slack seems to have an interesting algorithm for this: they show the preview iff the link starts with http..

Closing in favor of #7215.


Lel/update sdk

Description
Some SDK APIs are still under review and need more discussion to get better design.
In order not to block SDK for detect livenss, we decide to release SDK with part of the APIs
In this PR, we

Update TypeSpec to
1-1. Reflect the API removals
1-2. Adjust the customization according to new TypeSpec change
Remove corresponding sample codes of documentations.

All SDK Contribution checklist:

[X] The pull request does not introduce [breaking changes]
[X] CHANGELOG is updated for new features, bug fixes or other significant changes.
[X] I have read the contribution guidelines.

General Guidelines and Best Practices

[X] Title of the pull request is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[X] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure:azure-ai-vision-face

/azp run java - face - ci

/azp run java - face - ci


Add policy assignments integration tests & prevent assignments to deleted groups/policies

Closes #116

Codecov Report

Merging #151 (b87129c) into main (2926c77) will decrease coverage by 0.15%.
The diff coverage is 94.66%.

@@            Coverage Diff             @@
##             main     #151      +/-   ##
==========================================
- Coverage   95.54%   95.38%   -0.16%
==========================================
  Files          20       20
  Lines        2063     2079      +16
==========================================
+ Hits         1971     1983      +12
- Misses         69       71       +2
- Partials       23       25       +2

Impacted Files
Coverage Δ

pkg/policy/assignment_manager.go
97.92% <94.66%> (-2.08%)
:arrow_down:

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 2926c77...b87129c. Read the comment docs.


Remove broken histograms from metrics

We want to remove the histograms for the operations as they were utterly broken.
Example histogram:
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.005"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.01"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.025"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.05"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.1"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.25"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="0.5"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="1"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="2.5"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="5"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="10"} 64
machine_controller_controller_operation_duration_seconds_bucket{operation="validate-machine",le="+Inf"} 64
machine_controller_controller_operation_duration_seconds_sum{operation="validate-machine"} 0.00042467500000000006
machine_controller_controller_operation_duration_seconds_count{operation="validate-machine"} 64

In this example, all buckets were hit 64 making them useless. For all the other machine-controller histograms I looked at, I saw the same results.

This issue is about re-adding them because they will get removed within #270 not about removing them, right @metalmatze?

No. You asked me to create an issue to track the removal progress, didn't you?
I don't think there's anything similar we can add right now.

Oh, sorry I wasn't very clear there, what I wanted is an issue about re-adding them because I think they are pretty useful if they work.

I don't think there's anything similar we can add right now.
Can you elaborate?

The problem with the histograms are firstly the buckets. On the one hand buckets the validation operations were way to high, it took less than 50ms, and on the other hand the buckets were way to small for e.g. the join operation which took 2.5min on DigitalOcean.
The only solution I might see is adding a counter of how many operations were observed and then one counter for the sum of all durations, so that you could still calculate the average.
In the end I'm not sure what this helps with. We can't really alert on that and a dashboard doesn't add much value IMHO.

Alright, that makes sense.


Clearer text in next.js example

Just some small grammatical fixes in the how-to-create-a-nextjs-app-with-serverless post

Thank you!


MacOSX: v1.5.0 - version incorrect - not as advertised

The download https://github.com/fireeye/flare-floss/releases/download/v1.5.0/floss-1.5.0-OSX.zip claims to be v1.5.0, but is, in fact:
$ floss --version
floss v1.4.0-59-gfe38f10
https://github.com/fireeye/flare-floss

:gasp: !

Oh, good catch. Sorry for the confusion. The binary was created vi CI before I created the v1.5.0 tag on commit ab8f775.
So the version is off, but the file is actually version 1.5.0.


download all posts for a given location

This resolves https://github.com/instaloader/instaloader/issues/2159.

Update: the change to ignore has_next_page seems necessary for locations, but does break for downloading profiles, so I guess you need an extra argument to the iterator.

We cannot merge a pull request that breaks downloading profiles.
Why does the if condition need to be removed for locations?

See the comment I left in the code: "This value seems to be a lie, at least for some location feeds.". So the feed says there's no next page, even though there are more posts, and it will give them to you if you ask explicitly.

As with the other pull request, this is a sketch that demonstrates the idea, and I'm hoping you'd be ok to apply the polish as you see fit.

Pull requests are the way to incorporate bug fixes or general improvements, also in the form of new features, into Instaloader. Before we can merge one, however, it must meet certain requirements in terms of usefulness and quality of implementation, only then does it make sense for the project to adopt the code. We are happy to offer support, but we simply cannot merge pull requests that disrupt existing functionality.

I am sorry to hear that you misunderstood what I said and opted to reject my contribution towards this functionality to instaloader. The multiple isssues that reference this will remain unresolved.


Add separate certificates section #433

Description
Adding section on separate certificates for client and server on transport TLS layer
Issues Resolved
Part of issue here https://github.com/opensearch-project/documentation-website/issues/433
Checklist

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

@scrawfor99 - Can you please review? @AntonEliatra  - please ignore the Vale errors for now. Thanks!


Adjusting VideoQuality (bitrate) while streaming

Is there any way to do this currently? I would like to lower the bitrate if the device cannot keep up. I have tried to do a setVideoQuality and a .configure on mSession but that does not work while streaming. Have I missed something?

Basically you should try to ping the network regularly to see what is the upload rate and adjust your quality accordingly.

Right, my question is how to adjust the video quality while streaming through this library.

The library doesn't have that functionality, nor many of them. You have to implement it yourself.

@Flyview hi ,,Tell me which quality u want to set i will help u :)

I have modified the RTP Socket to dynamically adjust bitrate when the queue gets too full.
https://gist.github.com/sbaar/c6dc432c7d175225f53b4c7c9119e02a

but u need to be specif with bit-rate for example if you are using
new VideoQuality(320,240,15,560*1000)) ;
then you have to use bitrate (140,580,560 or  700)1000
same like that if u are using setVideoQuality(new VideoQuality(640,480,15,7001000))
then
you can try 700,1000,1500,2500.
Hope u got.


Vertical scalability

A question with regard to the vertical scalability of KeyDB.
I setup a i4i.8xlarge machine at AWS and ran the KeyDB server once with server-threads equals to 4 and once with 8 like below:
keydb-server  --save ""  --protected-mode no --server-threads N
and then used memtier_benchmark on the same machine as below:
memtier_benchmark -s localhost -p 6379 --hide-histogram --requests=10000 --clients=100 --threads=8 --pipeline=20 --data-size=2048
Result:
--server-threads = 4
Type         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec
Sets       188782.53          ---          ---         7.69604         7.48700        15.55100        18.17500    386573.89
Gets      1885750.78      5808.69   1879942.09         7.68957         7.48700        15.55100        18.17500     85098.21
Waits           0.00          ---          ---             ---             ---             ---             ---          ---
Totals    2074533.31      5808.69   1879942.09         7.69016         7.48700        15.55100        18.17500    471672.09
--server-threads = 8
Type         Ops/sec     Hits/sec   Misses/sec    Avg. Latency     p50 Latency     p99 Latency   p99.9 Latency       KB/sec
Sets       199474.68          ---          ---         7.50754         6.94300        15.42300        49.15100    408468.42
Gets      1992554.77         0.00   1992554.77         7.49997         6.94300        15.35900        48.63900     77618.61
Waits           0.00          ---          ---             ---             ---             ---             ---          ---
Totals    2192029.45         0.00   1992554.77         7.50066         6.94300        15.35900        48.63900    486087.03
It looks like KeyDB did not scale when the number of threads doubled. Probably I do not understand the notion of vertical scalability in KeyDB.

I would guess that the limiting factor leading to the small differences is: the fixed number of client threads --threads=8 used in both benchmarks.
That is, if your client only queries at a fixed rate, that the server can already handle with 4 threads, adding more server threads isn't going to make a big difference in observed throughput and latency.


Fix semantic error response checks for JSON RPC

The JSON-RPC tests currently use string matching that can vary based on the JSON stringification that is subject to out-of-order fields:
---- async_client::tests::test_batch_send_requests_and_response_id_not_matched_error stdout ----
thread 'async_client::tests::test_batch_send_requests_and_response_id_not_matched_error' panicked at 'assertion failed: (left == right)
left: "Err(UnexpectedError(InvalidResponseId(JsonRpcResponse { diem_chain_id: 4, diem_ledger_version: 1, diem_ledger_timestampusec:<PHONE_NUMBER>000000, jsonrpc: \"2.0\", id: Some(Number(2)), result: Some(Object({\"chain_id\": Number(4), \"timestamp\": Number(234234), \"version\": Number(1)})), error: None })))",
right: "Err(UnexpectedError(InvalidResponseId(JsonRpcResponse { diem_chain_id: 4, diem_ledger_version: 1, diem_ledger_timestampusec:<PHONE_NUMBER>000000, jsonrpc: \"2.0\", id: Some(Number(2)), result: Some(Object({\"version\": Number(1), \"timestamp\": Number(234234), \"chain_id\": Number(4)})), error: None })))"', client/json-rpc/src/async_client/tests.rs:766:9
stack backtrace:
This change does the equivalence prior to stringification to avoid these types of false, flaky test failures while preserving the full checking of the response.

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Chaning JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.

we should not test error details, only error type is good enough, because error details may change (like nit message update or a new json field is added due to other changes), the test should focus on asserting what it cares, which is error type in the test.

I think it's important that we verify that the error response is providing correct information right?  Is that checked elsewhere in the test suite?  We don't want to accidentally provide incorrect information to clients.

Discussed with @xli offline.  JSON-RPC tests are covered in async (here, for mocking everything to the client), unit_tests.rs (mock db, real server) where the json responses are fully check, and also integration_test.rs (real node) where the json responses are fully check.
This response checking is not needed since it does not actually verify real server code, only a mocked server.  Abandoning.


Any idea about the site map?

I'm working on it, using someone's package to intergrate.
any suggestion?

What package are you integrating?

@ChristianYeah are you still working on it?


Load .fsproj projects as well as .csproj

I just discovered this extension and it seems great, but it doesn't seem to work for .fsproj projects.
I believe the fix using a glob pattern to match either .csproj or .fsproj should work given that the schema is almost the same, although I was not able to run the extension in debug (I performed yarn install within the workspace and web folder).

I've manually installed the VSIX from the build and I was able to see a .fsproj project, install Newtonsoft.Json and uninstall it.

It seems like using dotnet list package --include-transitive would be the right way to get all the projects and their packages. Today there's no way to read the machine readable output, but that's tracked here: https://github.com/NuGet/Home/issues/7752


feat(infrastructure): add typescript eslint

related https://github.com/material-components/material-components-web-react/issues/48

Codecov Report

Merging #473 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #473   +/-   ##
=======================================
  Coverage   96.67%   96.67%
=======================================
  Files          59       59
  Lines        1984     1984
  Branches      234      234
=======================================
  Hits         1918     1918
  Misses         66       66

Impacted Files
Coverage Δ

packages/fab/index.js
95.23% <ø> (ø)
:arrow_up:

packages/menu-surface/index.js
98.36% <ø> (ø)
:arrow_up:

packages/text-field/icon/index.js
100% <ø> (ø)
:arrow_up:

packages/ripple/index.js
96.15% <ø> (ø)
:arrow_up:

packages/tab/TabRipple.js
87.5% <ø> (ø)
:arrow_up:

packages/card/Actions.js
100% <ø> (ø)
:arrow_up:

packages/select/index.js
100% <ø> (ø)
:arrow_up:

packages/icon-button/index.js
96.96% <ø> (ø)
:arrow_up:

packages/line-ripple/index.js
100% <ø> (ø)
:arrow_up:

packages/checkbox/index.js
89.65% <ø> (ø)
:arrow_up:

... and 6 more

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 933e85c...c578eff. Read the comment docs.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_77a84132-3ee1-45df-b5b4-d2667e33459a/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_77a84132-3ee1-45df-b5b4-d2667e33459a.git

Docs Build status updates of commit 3e711eb:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-RuningBuildFailed] Some unexpected errors happened when running build, please open a ticket in https://aka.ms/SiteHelp and include the error report for our team to troubleshoot

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


any way to Sync2 and ignore fields?

Hi guys.
I would like migrate my app data from a toml  formatted config file to a SQL db with Xorm and I would like to use the same structs as we use now (if possible)
This one:
type InfluxConfig struct {
	Host      string `toml:"host"`
	Port      int    `toml:"port"`
	DB        string `toml:"db"`
	User      string `toml:"user"`
	Password  string `toml:"password"`
	Retention string `toml:"retention"`
	iChan     chan *client.BatchPoints
	client    client.Client
	Sent      int64
	Errors    int64
}

My struct has data fields (toml:xxxxx) and also runtime fields, (iChan/Client/Sent/Errors) and I would like to map in SQL database only data fields.
x, err = xorm.NewEngine("sqlite3", "./mydb.db")
x.Sync2(new(InfluxConfig))

There is any way to sync only data ? something like xorm:ignore ?
Thank you very much.

xorm:"-"

Hi @lunny and thank you very much for your fast response.
I 'have now this
type InfluxConfig struct {
	Id        string `xorm:"unique"`
	Host      string `xorm:"host"`
	Port      int    `xorm:"port"`
	DB        string `xorm:"database"`
	User      string `xorm:"user"`
	Password  string `xorm:"password"`
	Retention string `xorm:"retention"`
	Sent      int64  `xorm:"-"`
	Errors    int64  `xorm:"-"`
}

There is any way to identify "id" field as unique and also change de name?
something like:
	Id        string `xorm:"myid":"unique"`

??
Thank you very much

If I define a struct "field_id" that should match the "id" of other struct?  how can I define foreign keys?
something like...
type otherDada struct {
...
...
 influxconfid        string `xorm:"influxconf_id","fk InfluxConfig::Id"`
...
....
}

Use a quote to define a special name for a field
xorm:"'my_id' unique"
Xorm still don't support to define a forign key column.

ok , thanks a lot!!


feat: migrate windows/application_package.dart to null-safety

migrate windows/application_package.dart to null-safety
List which issues are fixed by this PR. You must list at least one issue.
https://github.com/flutter/flutter/pull/88015
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@Hixie this pr needs a test exemption

@jmagman migrate null-safety pr

test-exempt: code refactor with no semantic change


Add automatic upgrade of gradle

https://github.com/gradle-update/update-gradle-wrapper-action
Could help for issues like in #3047

Usage sample here https://github.com/gradle/android-cache-fix-gradle-plugin/tree/main/.github%2Fworkflows

Closed by #3051


Probability measure for features

Summary
Ability to specify a probability measure feature_measure over features corresponding to their relative importance. Then, use this measure to sample the features at each iteration.
Please let me know if this functionality already exists.
Motivation
When feature_fraction < 1, a subset of features is selected at each iteration (e.g., feature_fraction = 0.8 means that 80% of features will be randomly selected). However, some features are more important than others and being able to encode this may result in better models.
Description
Description in pseudocode for clarity:
for _ in range(num_iterations):
    n = int(feature_fraction * num_features)
    feature_indices = np.random.choice(n_features, size=[n], replace=False, p=feature_measure)
    create_next_tree(feature_indices)

Thanks for your interest in LightGBM and for taking the time to write up this feature request!
No such functionality exists in LightGBM today, and I'm personally not convinced that it should. As a tree-based supervised learning framework, LightGBM already has feature selection built into it...features that don't have much explanatory power will be chosen for splits less often (or in some cases, not at all).
If you have some evidence or research you could point to that suggests that a feature like this can lead to better performance in tree-based frameworks like LightGBM we'd love to see it.
If your goal is to produce a model with as few features as possible given an acceptable level of performance, maybe with the aim of removing unimportant features to make model deployment less expensive, you could:

try increasing the values of parameters like min_gain_to_split and min_data_in_leaf, which help to avoid creating some splits that only provide a small improvement
train a fairly shallow model (with more conservative values of num_iterations / num_leaves / max_depth), subset your training data to only features that were chosen for splits in that model, then train a new, deeper model

If you have some other goal with this approach, let me know and I or one of the other maintainers here might be able to describe an alternative way to achieve that goal using LightGBM's existing API.

Thank you for your response, James.
My goal is not to reduce the cost of inference.
While I agree with you that selecting features based on their gain serves the purpose of feature selection, I was curious about the case of very small feature_fraction, where it may be possible to get unlucky in the initial feature selection (my understanding is that feature_fraction selects out a subset of the features at the beginning of tree construction and then features are picked to split on based on gain). OTOH, you could argue that increasing num_iterations would get around this.
I do not have any research suggesting it would be beneficial but was hoping to test it. Can I trouble you for a code pointer of where it would be best to implement this?

you could argue that increasing num_iterations would get around this.

Yep, exactly this. You should be training for enough iterations that eventually all features make it into a few trees, even for a low value of feature_fraction. The value of specifying feature_fraction is to allow LightGBM to find useful "pockets" of feature combinations which might not otherwise be found in the presence of some features that are consistently chosen for the first or second split in trees.
I also want to note that coming up with those sort of "feature weights" and aligning them with each iteration might be difficult. Recall that for gradient boosting, each tree is fit to something like the residuals of the model so far. So the relative importance (e.g. likelihood of being chosen for a split) of features is different at each iteration. This is different from non-boosting approaches like Random Forest where each tree is independent of all others.

Can I trouble you for a code pointer of where it would be best to implement this?

The logic of selecting a subset of features is handled in the ColSampler class. Implementing something like this would probably involve updating ColSample::ResetByTree(), whose definition can be found below.
https://github.com/microsoft/LightGBM/blob/d517ba12f2e7862ac533908304dddbd770655d2b/src/treelearner/col_sampler.hpp#L74-L89
But before you go do work to try to add this, I want to set the right expectation. I personally am not convinced that adding such a feature would be worth the complexity, and would not support the addition of this feature to LightGBM.
I'm only one maintainer though, and others might have different opinions (@StrikerRUS @Laurae2 @btrotta @shiyu1994 ).

I think it is interesting but by the opposite reason, not for increase but for reduce the probability of most powerful features.
Sometimes you have a feature (o features) that are very important in train set and model overuse them (not overfit them, only overuse).
If the problem isn't stationary and test set is potentially different the generalization power of the model will drop if these the ralation of these features with the target change in recent period.
This is a frequent case in stock prices prediction, and the problem of very powerful predictors and the need of reduce their presence in the model is dealing with 'feature neutralization' tricks.
A way of doing 'feature neutralization' in gbm would be reduce the probability of selecting a feature that has a lot of importance for the model.

@parsiad Thanks for your proposal!
For supporting the preference over some features, we already have cost-effective gradient boosting penalty, you may see
https://lightgbm.readthedocs.io/en/latest/Advanced-Topics.html?highlight=cost-eff#cost-efficient-gradient-boosting
for reference.
Giving different probabilities over features is some what like defining a cost for each features. We can assign higher cost to features we want to select less often.
So I think the cost-effective gradient boosting penalty can achieve similar effect with @parsiad 's proposal. If I misunderstand your motivation, please feel free to correct me.

I agree this would be useful for the reasons similar to those @blindape2 described. I also have the case where I have some features that might be very informative in fitting but they are hard to reproduce when forecasting forward. I end up in this case where i would rather the model not use these features but if they are the only way of getting a good fit i would like them to be used.
My example is energy demand forecasting, I would prefer the model to use say  day of year and weather to predict the demand. But often a very powerful feature is to use the previous days demand. Using the previous days demand is fine if im only predicitng a couple of days forward but if i need to predict a year in advance it becomes harder to use.
Ideally I would have the model train using weather and time of year and when its learning slows down then it can add the previous days demand feature.
I imagine there are also other times when we have correlated features we would rather the model use one feature rather than the other due to domain knowledge.

@parsiad @Fish-Soup @blindape2 @jameslamb Thank you all for the discussion. Probability measure for features can be useful in some cases. We can add this to the #2302 first.
@parsiad Does the cost-effective boosting meet your requirement in your application scenario?

Adding a reference to #4962 here

I would also like to see support for feature weights. For my use case, I have many correlated features and I would like to be able to specify lower sampling probabilities for clusters of similar features.

Some addition resources and reasoning for supporting user control over feature selection probabilities has been added in #6129.
Let's please use this issue (#4605) as the main feature request for providing feature selection probabilities to LightGBM.

I wish to use feature sampling to initialise a model to be trained only on a subset of variables (or single variable) for the first n trees. Then, to train the following n+i trees on those variables not in the initial subset.
The aim here is gain as much information from the primary independent variables as possible. The subsequent trees will then explain all information deviating from the primary model. I see this having these advantages:

better model explainability. In this case, the primary variables should account for >90% of the predictive power. The secondary variables should model any deviation from this. A two step training process with help split these and allow to me effectively see how the secondary variables cause the predictions to adjust primary predictions.
handling noise. The primary and secondary variables have different levels of noise in their measurements. I can adjust the regluarisation/learning rates/other hyperparams for each stage accordingly.
favouring the primary variable. At prediction time, this variable is more reliable/guaranteed. Therefore, maximum predictive power should be assigned to it.

I wish to use feature sampling to initialise a model to be trained only on a subset of variables (or single variable) for the first n trees. Then, to train the following n+i trees on those variables not in the initial subset.
The aim here is gain as much information from the primary independent variables as possible. The subsequent trees will then explain all information deviating from the primary model. I see this having these advantages:

better model explainability. In this case, the primary variables should account for >90% of the predictive power. The secondary variables should model any deviation from this. A two step training process with help split these and allow to me effectively see how the secondary variables cause the predictions to adjust primary predictions.
handling noise. The primary and secondary variables have different levels of noise in their measurements. I can adjust the regluarisation/learning rates/other hyperparams for each stage accordingly.
favouring the primary variable. At prediction time, this variable is more reliable/guaranteed. Therefore, maximum predictive power should be assigned to it.

From what I can tell, all variables need to be in the training matrix for all train/retrain steps.Therefore, the only way to handle this is by passing all variables and weighting each column with {1, 0} at each step.
Naturally, there are extensions to this kind of column sampling, e.g. adding a third step to learn interactions, using non-binary values for columns, etc.

This is exactly the same as my requirement!! Looking forward to a solution.


Create UI for Promotions

As a  developer
I need  to create UI for the promotions
So that the promotions can be viewed and edited from the UI
Details and Assumptions

View all the Promtions
Create a Promotion
Update a Promotion
Delete a Promotion

Acceptance Criteria
Make an interactive UI for viewing, creating and updating promotions.

When the page loads, just call Get all promotions and display the table of all promotions on the UI.


Add null check for Optional _content in ItemReorder

Short description of what this resolves:
When I used this directive within a template that was included in the body of a content, the _content was null and I got the following exception. But there are probably more circumstances where this will manifest.
vendor.js Uncaught TypeError: Cannot read property 'scrollTop' of null
at ItemReorder._scrollContent
at ItemReorderGesture.onDragStart
at PointerEvents.handleMouseDown
Changes proposed in this pull request:
Add null check for Optional _content where _content is used

Ionic Version: 1.x / 2.x / 3.x
3.x
Fixes: #

Hi there! We're going to be closing this as the repo is now organized for V4. For V3 related issues/PRs, please direct them here
https://github.com/ionic-team/ionic-v3
Thanks!


Old "tools" endorser clean-up

Clean-up unused resources for the old endorser-askar that was used for Traction sandbox/dev before we created the sandbox endorser in the bc0192-tools namespace.

Old resources have been removed.