Add support for TLS/SSL mutual authentication

Add support for client certificat authentication in TLS_FTPHandler

Just out of curiosity, what happens when the certificate is invalid? Does it just print "Bad client certificate detected" or does the connection get refused? Should some kind of warning or exception be raised, so that it can be detected programmatically?

Connection gets rejected.  The error sent to the client through pyOpenSSL is a standard ssl error with the correct information in it - the client I'm using (WinSCP) shows that the certificate is invalid (or if no certificate is sent, then it shows that the server is expecting a certificate).  Ia'll add screenshots when i create a new pull request.

No need to keep creating new PRs - you can simply update the existing PR with git push -f

Thanks @lurch, will do

Client error screenshots (WinSCP) when attempting connection with a bad certificate and with no certificate.

Anyone have ideas why Python 3.x is getting socket timeout errors in the AppVeyor build/test?

Some preliminary questions:

how does this relate to certfile and keyfile class attributes? Is tls_mutual_certfile supposed to be different than certfile or they can be the same?
what happens exactly in case the client does not provide a certificate? I see a callback function is called but what will the server do? Raise an exception? At the very least the callback function should log the event.

Some considerations:

the tls_mutual_authentication bool option looks unnecessary; I guess you can simply ad/define a tls_mutual_certfile option (which I would rename to mutual_certfile)
the PR is lacking tests

Answers to your questions @giampaolo

The mutual certfile is what the server checks the client's certificate against, to verify that the client is allowed to connect to that particular server.  It should be different than certfile and keyfile
When the client provides no certificate, the OpenSSL library takes care of sending the correct response to the client (see screenshot above).  I will add logging here.
Agreed that the bool option is unnecessary and will remove
Will add tests

When the client provides no certificate, the OpenSSL library takes care of sending the correct
response to the client (see screenshot above). I will add logging here.

But what happens on the server side? The client gets disconnected? When exactly? Is an exception raised? Is the callback function called before or after that happens?
Ideally, the server should gracefully handle that event, meaning catch the exception and log a message. If OpenSSL takes care of sending "something" which tells the client it should provide a certificate, then fine.

The client gets disconnected during the SSL handshake.  Sample log:

After the handshake fails, the checks you already have in place take care of handling it gracefully and the server just keeps going.
The callback function is not called when no certificate is passed (as the failure happens earlier).  The callback function is called when a client certificate is passed (valid or invalid).  If the certificate is valid, the connection is allowed.  If the certificate is invalid, again the OpenSSL library sends the correct message to the client that the cert is invalid, and I will add the internal logging into the callback method.

Cleaned up code and added tests

@giampaolo Apparently flake8 no longer supports Python 2.6 (https://gitlab.com/pycqa/flake8/issues/187 )
Could the Travis config be modified to not run flake8 on python2.6 ? (which would then stop Travis errors like https://travis-ci.org/giampaolo/pyftpdlib/jobs/155328753 )

I think at this point all of the failing tests are not due to my changes

This PR is refined by #428 and can be closed.


Adding the code programatically

Is there a way to add the code to the input programmatically?  In some instances, I will have the code come as a query param and I can prefill the input directly instead of having the using type it in.

Hi @thinkmtdevs!
Great idea, but currently you can't do this, but I'm working on a new version of the library on the v0.2 branch. However I will add this functionality as well, thanks for opening an issue! I will notify you here if the new version is out.

A new version has been released, and this functionality has been added.


chore(tests) bump cassandra from 3 to 4

Summary
Now that Cassandra 4.0.0 is GA we can bump the Cassandra to 4.

Seems like this is nor reliable. Needs further investigation.


scary error if Date object is used instead of moment

The start and end date values must be moment objects, not Date objects.
If you forget about this, you'll get this rather scary error message:
warning.js:36 Warning: Exception thrown by hook while handling onSetChildren: Invariant Violation: Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().
Invariant Violation: Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().
Maybe this component could check for that and give a more reasonable error message.

Moment.js was removed in #1527, starting v2.0.0, this package doesn't use Moment anymore.


Chart.yaml's kubeVersion field on GKE - unusable?

Situation
I made a Helm upgrade (with v2.8.2 client/server) on my GKE cluster on a Chart.yaml with kubeVersion: ">=1.8.0" and received the following error.
Error: UPGRADE FAILED: Chart requires kubernetesVersion: >=1.8.0 which is incompatible with Kubernetes v1.9.4-gke.1

For reference

This is an online SemVer checker
The error is throwed here...
https://github.com/kubernetes/helm/blob/8fef5aad52ad2d7aeb32cbccd73f54623717fa6f/pkg/tiller/release_server.go#L271-L278
Because the behavior of the IsCompatibleRange function...
https://github.com/kubernetes/helm/blob/58e4b6ac61938fe056037826225dd19562c0ed9f/pkg/version/compatible.go#L48-L61

Question
What should be done? With my current understanding of the situation, the usage of kubeVersion is contraproductive if Google Cloud is involved. Perhaps this is an issue for them rather than you at helm?

Hey @consideRatio - thanks for bringing this up! We've seen this type of issue before. Semver (as you probably already saw) denotes anything with a hyphen and something after it as a pre-release which doesn't guarantee stability and therefore doesn't satisfy the constraint.
I wonder why gke is not using a +gke.1 instead of -gke.1. Is GKE running a version of Kubernetes that is not compatible with upstream Kubernetes? cc/ @kow3ns
Nonetheless, after discussing with other core maintainers it seems like there may be a work around involving an -r0 at the end of the kubeVersion in our logic. I tried to get that to work today but couldn't. cc/ @mattfarina @prydonius @bacongobbler

I asked masterminds/semver about this indirectly.

@michelleN apparently it is intentional behavior that was not at all obvious to me, that the constraint ">=1.8.0" should exclude "1.9.4-gke.1" because...

SemVer comparisons without a pre-release value will skip pre-release versions. For example, >1.2.3 will skip pre-releases when looking at a list of values while >1.2.3-alpha.1 will evaluate pre-releases. - Source

Confusion remains for me as to why ">0" allows for example "0.0.1-alpha" while ">0.0" doesn't for the reason above, but I'll put this to rest now.
This issue is now perhaps a documentation issue rather than a bug issue. Close?

Interesting timing on this. I opened an issue with GKE about this topic last week.
There is a simple trick to cause the semver resolver to evaluate pre-releases and that's to do something like: >=1.8.0-0.
The reasons for this are two fold.

When the resolver sees a pre-release in a comparison range it will them evaluate them (opt-in model)
According to the semver spec a pre-release (the part after the -) can only be the ASCII characters of [0-9A-Za-z-]. The lowest ASCII character, when sorting is 0.

The reason pre-releases are skipped by default has to do with the spec noting, "A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version." In the past the resolved didn't skip them and it turned out to be a practical problem.
There are two things I'd really like...

GKE to not break from the SemVer spec. Some tools don't include pre-releases at all in comparisons. Other libs, like node-semver, perform the same way Helm does and only includes them if a comparator has a pre-release on it.
I wish it were easier for Masterminds/semver to toggle on and off the pre-release programming programmatically. Last time I looked at that is was hard to do without breaking the v1 API. We'll see how v2 ends up landing on that. It just wasn't an easy win with the v1 API. Though, if someone wants to try I'm open to it.

Some more details (and the masterminds/semver project may need some better docs or even a bug fix)... 0 and 0.0 are really 0.0.0 under the hood. This is a special case situation to make sure that some of the strange comparisons around 0.0.0 happen correctly. I'll try to revisit that with some more tests.

@consideRatio could you take a look at https://github.com/Masterminds/semver/pull/70

@consideRatio if you would also look at https://github.com/Masterminds/semver/pull/71 which adds more docs on pre-releases I'd appreciate it

Closing this issue now! Thanks for your help with this!
For reference, fixes @mattfarina made was released in Masterminds/semver v1.4.2.


Moving: WorkFlowy.WorkFlowy version 4.0.2302281415

Microsoft Reviewers: Open in CodeFlow

I'm guessing this is being moved to FunRoutine.WorkFlowy, but I don't see a complementary addition PR.


Handle sentinel 2

Hi Jeremy,
I added a hack to handle Sentinel 2 data.

Coverage decreased (-0.05%) to 86.213% when pulling 4e5c67bb7e6f8f2b7aaad04ab767ad90607f2aa0 on sentinel into b93698004868ead06bc316165c1104419e22872c on eodatasets3.


refactor rest api

the directories of the rest api were changed and code was refactored accordingly
/app/gausstalk/v1/docs shows the api documentation

@YoohaBae I made some changes. Please review.


fix(ui): redraws canvas on system colorscheme change

listens to the prefers-color-scheme media query and redraws canvases when appropriate
fix #73

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


Run quick start failed

The Error:
>>> clipper_conn.start_clipper()
18-06-18:23:07:17 INFO     [docker_container_manager.py:119] Starting managed Redis instance in Docker
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/client.py", line 229, in _raise_for_status
    response.raise_for_status()
  File "/home/ubuntu/.local/lib/python3.5/site-packages/requests/models.py", line 939, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http+docker://localhost/v1.35/containers/create?name=mgmt_frontend-87866

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/models/containers.py", line 766, in run
    detach=detach, **kwargs)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/models/containers.py", line 824, in create
    resp = self.client.api.create_container(**create_kwargs)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/container.py", line 410, in create_container
    return self.create_container_from_config(config, name)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/container.py", line 421, in create_container_from_config
    return self._result(res, True)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/client.py", line 235, in _result
    self._raise_for_status(response)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/client.py", line 231, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.ImageNotFound: 404 Client Error: Not Found ("No such image: clipper/management_frontend:0.3.0")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/client.py", line 229, in _raise_for_status
    response.raise_for_status()
  File "/home/ubuntu/.local/lib/python3.5/site-packages/requests/models.py", line 939, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http+docker://localhost/v1.35/images/clipper/management_frontend:0.3.0/json

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ubuntu/.local/lib/python3.5/site-packages/clipper_admin/clipper_admin.py", line 114, in start_clipper
    cache_size, num_frontend_replicas)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/clipper_admin/docker/docker_container_manager.py", line 144, in start_clipper
    **self.extra_container_kwargs)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/models/containers.py", line 768, in run
    self.client.images.pull(image, platform=platform)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/models/images.py", line 415, in pull
    repository, tag, '@' if tag.startswith('sha256:') else ':'
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/models/images.py", line 295, in get
    return self.prepare_model(self.client.api.inspect_image(name))
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/image.py", line 245, in inspect_image
    self._get(self._url("/images/{0}/json", image)), True
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/client.py", line 235, in _result
    self._raise_for_status(response)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/api/client.py", line 231, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/home/ubuntu/.local/lib/python3.5/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.ImageNotFound: 404 Client Error: Not Found ("no such image: clipper/management_frontend:0.3.0: No such image: clipper/management_frontend:0.3.0")

@aksnzhy
Please try to download clipper/management_frontend:0.3.0 Docker image directly.
$ docker pull clipper/management_frontend:0.3.0

If failed, check your Docker registry.
$ docker info
...
Registry: https://index.docker.io/v1/
...


Clarification for Memory Allocation Section

sparkc gcmonitor will tell you if your allocation is too high (the pauses will be too long) or too low (frequent GC with a low memory warning in the notification).

For this part of the memory allocation section, it is unclear to me at least how to know if the pauses are too long and what a low memory warning looks like. For pauses being too long, is that something that you have to look at the milliseconds printed out by Spark to determine? How many milliseconds is a pause that is too long? For a low memory warning, where is it printed that the warning is caused by low memory?
If I have an example notification from running my game with 8192M and heavy shaders:

Young Gen GC lasting 5 ms. (cause = G1 Evacuation Pause)
7.8 MB moved to G1 Old Gen
536.2 MB → 544.0 MB
5.0 MB freed from G1 Survivor Space
12.1 MB → 7.1 MB (41%)
1.8 GB freed from G1 Eden Space
1.8 GB → 0 bytes (100%)
Is 5 ms too long? At what point about is too long?

How frequent also is "frequent GC"? If i purposely set my memory extremely low while running heavy shaders (about 700M) I get spammed with these notifications:

[15:26:36] [spark-worker-pool-1-thread-1/INFO]: [CHAT] [⚡] Old Gen GC lasting 257 ms. (cause = G1 Compaction Pause)\n  198.5 KB freed from CodeHeap 'profiled nmethods'\n    60.8 MB → 60.6 MB (0%)\n  64.0 MB freed from G1 Old Gen\n    651.4 MB → 587.4 MB (9%)\n  15.3 KB freed from CodeHeap 'non-profiled nmethods'\n    41.0 MB → 41.0 MB (0%)
[15:26:36] [spark-worker-pool-1-thread-4/INFO]: [CHAT] [⚡] Young Gen GC lasting 2 ms. (cause = G1 Evacuation Pause)\n  64.0 MB moved to G1 Old Gen\n    587.4 MB → 651.4 MB\n  64.0 MB freed from G1 Eden Space\n    64.0 MB → 0 bytes (100%)
[15:26:36] [spark-worker-pool-1-thread-2/INFO]: [CHAT] [⚡] Old Gen GC lasting 261 ms. (cause = G1 Compaction Pause)\n  208.1 KB freed from CodeHeap 'profiled nmethods'\n    60.8 MB → 60.6 MB (0%)\n  64.0 MB freed from G1 Old Gen\n    651.4 MB → 587.4 MB (9%)\n  75.1 KB freed from CodeHeap 'non-profiled nmethods'\n    41.3 MB → 41.2 MB (0%)
[15:26:37] [spark-worker-pool-1-thread-1/INFO]: [CHAT] [⚡] Old Gen GC lasting 263 ms. (cause = G1 Compaction Pause)\n  745.9 KB freed from CodeHeap 'profiled nmethods'\n    60.7 MB → 59.9 MB (1%)\n  63.9 MB freed from G1 Old Gen\n    651.4 MB → 587.6 MB (9%)\n  139.8 KB freed from CodeHeap 'non-profiled nmethods'\n    41.6 MB → 41.5 MB (0%)
[15:26:37] [spark-worker-pool-1-thread-3/INFO]: [CHAT] [⚡] Young Gen GC lasting 2 ms. (cause = G1 Evacuation Pause)\n  64.0 MB moved to G1 Old Gen\n    587.4 MB → 651.4 MB\n  64.0 MB freed from G1 Eden Space\n    64.0 MB → 0 bytes (100%)
[15:26:37] [spark-worker-pool-1-thread-4/INFO]: [CHAT] [⚡] Young Gen GC lasting 2 ms. (cause = G1 Evacuation Pause)\n  64.0 MB moved to G1 Old Gen\n    587.6 MB → 651.6 MB\n  64.0 MB freed from G1 Eden Space\n    64.0 MB → 0 bytes (100%)
[15:26:37] [spark-worker-pool-1-thread-2/INFO]: [CHAT] [⚡] Old Gen GC lasting 261 ms. (cause = G1 Compaction Pause)\n  320.3 KB freed from CodeHeap 'profiled nmethods'\n    60.1 MB → 59.8 MB (0%)\n  63.9 MB freed from G1 Old Gen\n    651.6 MB → 587.6 MB (9%)

Obviously at that speed it is too many, but there's also no clear indication if these are low memory notifications apart from that.
In a similar vein, it is not exactly clear what infrequent means here:

Any old generation pauses are bad, and young generation G1GC collections should be infrequent, but short enough to be imperceptible.

I think some more clarification on these matters would be helpful for less tech-savvy people or people who are not familiar with garbage collection in Java and what the codes mean.
--

Note: If you are using a minecraft launcher like Prism Launcher or ATLauncher, you shouldn't add memory arguments and instead control memory through the dedicated section in the launcher.

Also, I was testing with the Modrinth launcher which does have a memory allocation slider. However, when I inspect the command line arguments that it uses, only -Xmx8192M is added (if I set the slider to that many megabytes). Should I also add the -Xms8192M flag?

I don't know exactly what this part means as this part is unedited from @brucethemoose's version and he never specified what he meant before he disappeared. Though probably just using a reasonable amount of ram will be fine for 99% of users.
TLDR: Just use 4 - 8 GBs of ram and you'll probably be fine.

I would assume that this part is more for micro optimizations so just use your own judgement or just ignore it.


enhancement: refactor and improve process function and webhook endpoints

This PR introduces several improvements and fixes.
Fixed:
arr and lists now only update the given type, not both. (On latest, both commands do the exact same thing: they update everything)
Improvement:
Webhook endpoints now reflect the changes above.
curl -X POST 'http://<IP_ADDRESS>:7441/api/webhook/trigger/lists?apikey=api_key' # lists only
curl -X POST 'http://<IP_ADDRESS>:7441/api/webhook/trigger/arr?apikey=api_key' # arrs only
curl -X POST 'http://<IP_ADDRESS>:7441/api/webhook/trigger?apikey=api_key' # everything

Improvement:
Changed goroutines in service.go to a range loop to avoid autobrr db locks by updating one filter at a time instead of everything simultaneously. It takes a few more seconds but will improve stability overall.
Improvement:
Minor improvements to error logging, resulting in more detailed and informative error messages in the summary displayed at the end of each run.

Tried to make all the suggestions you mentioned and also moved these into each case in main.go instead of having them in the ProcessArrs and ProcessLists to avoid them being printed twice during run:
log.Info().Msgf("Run complete.")

if len(processingErrors) > 0 {
    log.Warn().Msgf("Run complete, with errors.")
    log.Warn().Msg("Errors encountered during processing:")
    for _, errMsg := range processingErrors {
        log.Warn().Msg(errMsg)
    }
}


403 when downloading tLD.zip from akamaized

While doing a clean re-install, the import.sh script reports errors as follows;
Could not load http url: https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/tLD/2023-04-28/tLD.zip
Could not load http url: https://dash.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/tLD/2023-04-28/tLD.zip
Either the URL for the segment zip file in database.json is wrong or access to that file is blocked because downloading at URL fails as follows.
wget https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/tLD/2023-04-28/tLD.zip
--2023-06-02 16:20:51--  https://dash.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/tLD/2023-04-28/tLD.zip
Resolving dash.akamaized.net (dash.akamaized.net)... <IP_ADDRESS>, <IP_ADDRESS>
Connecting to dash.akamaized.net (dash.akamaized.net)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2023-06-02 16:20:53 ERROR 403: Forbidden.

For larger files I believe https://dash-large-files.akamaized.net/ must be used.
The following work:
https://dash-large-files.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/tLD/2023-04-28/tLD.zip
https://dash-large-files.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/tLD/2023-04-28/tLD.zip

For larger files I believe https://dash-large-files.akamaized.net/ must be used.
The following work: https://dash-large-files.akamaized.net/WAVE/vectors/cfhd_sets/12.5_25_50/tLD/2023-04-28/tLD.zip https://dash-large-files.akamaized.net/WAVE/vectors/cfhd_sets/15_30_60/tLD/2023-04-28/tLD.zip

In that case it's a bug in database.json - the wrong URL is included.

OK, to determine which URL should be used: https://dash-large-files.akamaized.net/ is for files over 1.8GB.

Can't we just use https://dash-large-files.akamaized.net to serve all files? Do you know what difference it would make?

Can't we just use https://dash-large-files.akamaized.net/ to serve all files? Do you know what difference it would make?

Not resolved as of Aug 8, 2023.

Can't we just use https://dash-large-files.akamaized.net/ to serve all files? Do you know what difference it would make?

I have no idea as I wasn't involved when this was setup.
@wilaw Do you know the answer to Romain's question?

Manually editing database.json isn't safe as a long term solution so re-opening.

If this issue remains, it is a blocker.

Renamed issue. Remove blocker.

See the pull request for an updated database file using 'https://dash-large-files.akamaized.net/'.


Make EncoderJNI and EncoderJNI.Wrapper public

Motivation:
This PR is aimed to mark EncoderJNI and EncoderJNI.Wrapper as public class since DecoderJNI and DecoderJNI.Wrapper are already public class. Meanwhile it also mark methods from EncoderJNI.Wrapper as public.
Modification:
Add public modifier in EncoderJNI and EncoderJNI.Wrapper.
Add public modifier in methods of EncoderJNI.Wrapper.
Result:
Fixes #123

You might wanna make methods public too.

@hyperxpro Thanks, updated the PR and description.

Thanks!


Update GetResources() Functions in All Plugins to Accept AWS Clients as Parameters Instead of Generating

All GetResources() functions (or other functions) that create AWS service clients locally should be refactored to accept these clients as parameters. This will allow a point of injection for mock data.
REL: #142

Abandoned due to low benefit vs amount of work needed.


fix: rewrite nav

Sub-menu transitions in mobile mode will be done in a follow-up issue/PR.
Fix #97
Test URLs:

Before: https://main--elco-aerotop-sg--hlxsites.hlx.page/de/
After: https://new-nav--elco-aerotop-sg--hlxsites.hlx.page/de/

I see three extremely important differences with the navbar in aerotop-sg.com also in the main branch - as pointed out by @solaris007 previously:

navbar should shrink in sticky mode (when the page is scrolled down). In this PR, navbar stays as same height as it the page is on top:

There's a big white gap appears when page is scrolled up. The navbar in the original page doesn't show that behavior:

Hover animations on the navbar items and the sub menu seem gone in this branch. Please examine the original website and the main branch, there's animations on those items. Please keep them.

There's a solid border on the navbar. In the original page and in the main branch, that solid navbar only exist in sticky mode (when scrolled). That solid border should disappear when scrolled up. Please keep that behavior as well:


Add Google Auth UI

This PR adds a sign in with Google button to the login page using a react library. This react library opens a pop-up window allowing the user to complete the Google OAuth2 flow. A Google signed JWT is returned to the client window upon successful authentication.
This PR only makes the necessary UI and styling changes to implement Google authentication into the application. Backend and database will be required in the future to complete this feature. However I am PRing this now so that everyone has access to the UI changes.
This PR also fixes styling compatibility issues between the Facebook and Google social login buttons.

Could you please provide a screenshot of the sign in page to be consistent with a pull request standardization.

Now completed


Add remove(), entry(), insertBefore(), insertAfter()

For discussion see #5.
Had to create new Pull Request instead of converting #5, since GitHub won't allow the latter via GUI. :unamused:
Updated readme and finished benchmarks.

Would love to have this feature merged


autoImplicit behaves differently in def vs structure field elaboration

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Check that your issue is not already filed.
Reduce the issue to a minimal, self-contained, reproducible test case. Avoid dependencies to mathlib4 or std4.

Description
In the following code the first definition fails while the second one succeeds:
def Broken (upper : Nat) (entrys : Array Nat) : Prop :=
  ∀ (hidx : idx < entrys.size), entrys[idx] < upper

structure NotBroken where
  upper : Nat
  entrys : Array Nat
  inv : ∀ (hidx : idx < entrys.size), entrys[idx] < upper

More precisely Broken complains about idx being an unknown variable (introducing it via {idx : Nat} fixes the error) while NotBroken autoImplicitly introduces idx.
I think a user wouldn't expect a difference between the way that a def and a structure field are elaborated, they should either both fail or both succeed. In the presence of set_option autoImplicit true they should probably both succeed.
Steps to Reproduce

Run the code
Expected behavior: I think either both should fail or both should work

Actual behavior: One fails, the other works
Versions
"4.7.0"
Impact
Add :+1: to issues you consider important. If others are impacted by this issue, please ask them to add :+1: to it.

The behavior above is by design.


Feature - Relaunch-landing-area

navbar (sticky header)

home
portfolio
posts
contact

centered name
centered down arrow (hover affect lighten background

#69


Fix go to definition

When Both the var and the interface , go to definition isn't work.
To resolve this issue, if variabe declaration was found, only it added to declaration array.
Fixes #1932

CI build failing due to linter errors on bad whitespace

:+1:

This PR is too old. I close this one.


Add Chinese and German version of messages.xml, and a tool to produce the translation in other languages

This is Qi Zeng's first PR for the GSoC project on translating ERDDAP's interface. It modifies the messages.xml slightly, and adds a rawContent feature to gov.noaa.pfel.coastwatch.util.SimpleXMLReader.xml.
The translation tool and its dependencies are included. The example output, German and Chinese versions of messages.xml, are also uploaded.

@ocefpaf @mwengren


Issue using COUNT(...) in GCP

Hey,
This may not be a Tiberius specific issue but I have a Rust server hosted on GCP Serverless service. I've discovered all queries using COUNT(...) function cause it to fail. So I get an anonymous error in GCP which leads to the service having to automatically restarting. I was wondering if you would maybe have an idea of the underlying issue. Whether it's some form of unsupported feature in the cloud?

Sorry for late reply, we've had a busy week. This is hard to say without knowing more about the error. Can you get it to fail by running against the dockerized sql server?

Hey - this still seems to be an issue. The dockerized actix-web server using tiberius can't perform COUNT operations. It causes it to panic/return Result::Err


Ionic 3 + Android: Cannot build android apk with NDK r18

Bug Report
Ionic Info
Run ionic info from a terminal/cmd prompt and paste the output below.
Ionic:

   ionic (Ionic CLI)  : 4.1.2 (h:\npm\node_modules\ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.1.8

Cordova:

   cordova (Cordova CLI) : 8.1.0
   Cordova Platforms     : android 7.1.1
   Cordova Plugins       : cordova-plugin-ionic-webview 1.1.1, (and 11 other plugins)

System:

   Android SDK Tools : 26.1.1 (h:\mobile\android\sdk)
   NodeJS            : v8.11.4 (h:\npm\node_modules\node\bin\node.exe)
   npm               : 5.10.0
   OS                : Windows 7

Describe the Bug
ionic cordova build android fails with:
BUILD FAILED in 2s
cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':CordovaLib'.
> No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s
[ERROR] An error occurred while running subprocess cordova.

Steps to Reproduce
Steps to reproduce the behavior:
ionic start latest blank
cd latest
ionic cordova platforms add android
ionic cordova build android

Related Code
If you are able to illustrate the bug with an example, please provide a sample application via an online code collaborator such as StackBlitz, or GitHub.
Expected Behavior
Build without errors
Additional Context
I have found the following well known issue https://github.com/android-ndk/ndk/wiki/Changelog-r18:
This version of the NDK is incompatible with the Android Gradle plugin version 3.0 or older. If you see an error like No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android, update your project file to use plugin version 3.1 or newer. You will also need to upgrade to Android Studio 3.1 or newer.

It seems to me this is a cordova issue: https://github.com/apache/cordova-android/pull/507

Hi there! This issue does not appear to be an issue with the framework itself, so it will be closes. Let's keep the conversation/tracking of issues related to cordova on their issue tracker.


Add multiple headers on GUI version

Hi how to add multiple headers to gui version?

user|to split multi headers(The current version will have problems if there is | in the value)
User-Agent:xxx|Cookie:xxx


Add func (seg MediaSegment)String()

related #98

Coverage decreased (-5.05%) to 66.278% when pulling 178325b3c3cfb74ad192bc583db21a09792757f0 on keizo042:media_segment_string into d137fcd412b91fee5939a56a9d0d5a83c81d39d3 on grafov:master.

I'm concerned that we'd now have two different methods to write a segment.
Can we not move the following to an unexported function, which takes a *m3u8.MediaSegment and *bytes.Buffer and writes to the provided buffer?
https://github.com/grafov/m3u8/blob/master/writer.go#L483-L600
As long as performance isn't drastically affected.

Coverage decreased (-4.7%) to 66.589% when pulling 9177d906dd8eefa5c7852b4d3725e4091a93af94 on keizo042:media_segment_string into d137fcd412b91fee5939a56a9d0d5a83c81d39d3 on grafov:master.

Coverage decreased (-0.5%) to 70.83% when pulling dde4c977e438e088aad4f7f4c85d5c0623ef3e24 on keizo042:media_segment_string into d137fcd412b91fee5939a56a9d0d5a83c81d39d3 on grafov:master.

@bradleyfalzon
Thank you for your review.
I'd fix that the functions writing XXX use provided buffer and replace duplicated code to unexported function.

Thanks @keizo042 that change is better, but there's still some duplication of the if statements. We've created a few new unexported functions, which is good, but I'd think there should just be one function that both MediaSegment.String() and *MediaPlaylist.Encode() call.

@bradleyfalzon

I'd think there should just be one function that both MediaSegment.String() and *MediaPlaylist.Encode() call.
Unless there's a specific reason we can't do that?

I agree but there is two difference.
in (p *MediaPlaylist) String,  writing m3u8.Map and m3u8.Key  depends on previous  media segments.
but in the function I request, I think it is good to write buffer if they exist.
In addition, (p *MediaPlaylist) String() have previous durations cache.
but (seg MediaSegment) String() is stateless.
I'd like to remove caching procedure in (seg MediaSegment) String()`.
so it needs writeKey and writeMap.
if I shoud not break order of segments attribute, writeSCTE also.
I feel need to create unexported function as rest part of writing media segment in order to remove duplicated code.
I don't have good idea how it maanges caching yet.

depends on previous media segments.

Ah yes, I see. This is unfortunate.

have previous durations cache

Yeah, so this is so for very large playlists, we don't continue to call the intensive strconv.FormatFloat.
I then understand why you've chosen this method, but I do prefer if we could remove the duplication completely. I don't mind duplicate code, but there's a lot of logic here that's being duplicated and that's what concerns me.
What if there was a function like

// writeSegment writes a string representation of seg to buf.
//
// durationCache is required to reduce the number of calls to repetitive strconv formats.
// If playlist is non-nil, additional context is derived from the playlist.
func writeSegment(seg MediaSegment, buf bytes.Buffer, durationCache map[float]string, playlist *MediaPlaylist, buf bytes.Buffer)

Then the same if statements that used information from the playlist would first check if playlist is non-nil.
-if p.Map == nil && seg.Map != nil {
+if p != nil && p.Map == nil && seg.Map != nil {

Or similar? I'm not 100% for my suggestion, just asking your thoughts.

That's good idea.
I'd like to show all infomation when the context is not provided.
I think better like this.

func (seg MediaSegment) write(buf bytes.Buffer, p *MediaPlaylist, durationCache map[string]float
) {
...
      if p != nil {
                if p.Map == nil && seg.Map != nil {
                        writeMap(buf, seg.Map)
                }
        } else {
                writeMap(buf, seg.Map)
        }
...
        if p != nil {
                // original caching and conversion
        } else {
                buf.WriteString(strconv.FormatFloat(seg.Duration, 'f', 3, 32))
        }
...
}

Coverage increased (+0.3%) to 71.644% when pulling 625523432ce599f5375de7ca5912c44bd8c72db0 on keizo042:media_segment_string into d137fcd412b91fee5939a56a9d0d5a83c81d39d3 on grafov:master.

This is looking good to me I think.
Could you run the benchmarks before and after to check for performance regressions?

benchmark resutls
Env

CentOS 7.4
go version go1.8.3 linux/amd64

result
[m3u8]$ go test -bench=.
BenchmarkDecodeMasterPlaylist-12           50000             29740 ns/op
BenchmarkDecodeMediaPlaylist-12<PHONE_NUMBER>0 ns/op
BenchmarkEncodeMasterPlaylist-12         1000000              1426 ns/op
BenchmarkEncodeMediaPlaylist-12<PHONE_NUMBER> ns/op
PASS
ok      github.com/grafov/m3u8  7.455s

[m3u8]$ git checkout media_segment_string
Switched to branch 'media_segment_string'
[m3u8]$ go test -bench=.
BenchmarkDecodeMasterPlaylist-12           50000             29644 ns/op
BenchmarkDecodeMediaPlaylist-12<PHONE_NUMBER>8 ns/op
BenchmarkEncodeMasterPlaylist-12         1000000              1420 ns/op
BenchmarkEncodeMediaPlaylist-12<PHONE_NUMBER> ns/op
PASS
ok      github.com/grafov/m3u8  7.569s

only Encode MediaPlaylist benchmark
[m3u8]$ git checkout master
Already on 'master'
m3u8]$ go test -bench=BenchmarkEncodeMediaPlaylist
BenchmarkEncodeMediaPlaylist-12<PHONE_NUMBER> ns/op
PASS
ok      github.com/grafov/m3u8  2.000s

[m3u8]$ git checkout media_segment_string
Switched to branch 'media_segment_string'

[m3u8]$ go test -bench=BenchmarkEncodeMediaPlaylist
BenchmarkEncodeMediaPlaylist-12<PHONE_NUMBER> ns/op
PASS
ok      github.com/grafov/m3u8  2.131s
[m3u8]$

well... I think we prefer that peformance regression is under 0.1sec.
I take inlining writeSCTE and invesitage in detail.


JavaScript

JavaScript
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

Learnt Java Script and Pull request


Fix additional pane-base-index bugs

Fixes remaining sites where the base-index option (for windows) was incorrectly used in place of the pane-base-index option. This was causing some commands to be mis-targeted as I was setting up new projects.

I agree that we should release this soon.  Commit to update CHANGELOG.md and then release the new tag (in this case, v0.10.1)?

@tmuxinator/tmuxinator does anyone disagree with cutting a patch release from master to repair this bug?  I'll wait a couple of days for comment; if there are no objections, I'm happy to do a release on Tuesday


[Merge] MONDO:0010272	syndromic X-linked intellectual disability type 10

Mondo term (ID and Label)
MONDO:0010272	syndromic X-linked intellectual disability type 10
Reason for deprecation
OMIM merged these
Term to be merged with
MONDO:0010327	HSD10 disease

OMIM calls this HSD10 mitochondrial disease (HSD10MD)


Needed Data Science Project (Make sure that Project is  not available in this repo.)

Just Comment Below and add your Project Read the guidelines Properly.

Yes @py3-coder  , I want to contribute New data science project.

Go ahead @runtime-error2905

Yes @py3-coder, I want to add my Data Science Projects


Skill issue

Project owner has a severe and unavoidable skill issue. Each time they play a video game they do so bad it makes other people question his fundamental capabilities. The sheer simplicity of the task at hand makes it unbelievable that they can't just git gud.

Self-deprecating moment!


Import autocompletion with project references and yarn workspaces doesn't work

TypeScript Version:  3.9.5
Search Terms:
"project references" import
"project references" import autocomplete
"project references" monorepo
Description
Hello! First of all, thank you for all amazing work!
I've been trying to befriend yarn workspaces, project references and import autocompletion for a while. It was a relief to see that caveat mentioned in docs is resolved, but didn't manage to do it myself. I've even tried example repo provided by maintainers, but no luck.
When using only yarn workspaces there're no issues at all - all packages listed in workspaces are imported with no issue. After adding ts and project references autocomplete disappears, though Go to Definition works as expected.
I'm is using @babel/preset-typescript so don't actually rely on d.ts.
Could you please point to whether I'm doing anything wrong or the issue really takes place?
Thanks in advance!
Code
I've created example repo. Initial commit illustrates how things didn't work initially, and second commit is updates due to maintainer's example.
Expected behavior:
Import autocomplete is available without building with tsc -d
Actual behavior:

Related Issues:

#26913
#30946
#26913
#32028 - PR by @sheetalkamat

I think #38923 by @andrewbranch will help with this

Thank you @sheetalkamat for pointing me! Subscribed to the issue.

@sheetalkamat, my PR almost solved this, but module resolution through node_modules fails when the referenced project isn’t built because index.d.ts/index.js doesn’t exist yet—the resolution host needs to use [your version of fileExists] that recognizes project reference redirect sources, but it’s not accessible in its current location. I remember you originally had that function in Project, but later moved it to Program, but can’t remember why... do you think moving it out to a common utility would make sense?

I think you could  imprelement getCompilerHost of autoImport provider as configuredProjectInQuestion.getCcompilerHost() and that should fix this. (Note you would want to remove unsetting compiler host of the configured project after updateGraph is complete.)


Cannot copy version number out of about window when a binary is open

Version and Platform (required):

Binary Ninja Version: 3.1.3651-dev
OS: macOS
OS Version: 13.0 (22A5331f)
CPU Architecture: Apple silicon

Bug Description:
If I open the about window and select the version number, then hit ⌘C, the version number doesn't get copied to my pasteboard. The Edit menu flashes, but it copies whatever code my cursor is on in the other window.
Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

Open a binary.
Open the about window.
Select the version number.
Hit ⌘C.

Expected Behavior:
The version number is in my clipboard.

I've actually been meaning to change the text there to be click-to-copy instead for a while since that's even easier than having to separately copy. Resolved in builds >= 3653.


Any toggle command show error "Invalid buffer name"

When trying any Toggle command, I get the following error
E5108: Error executing lua Vim:E158: Invalid buffer name: 1                                                         │

When trying any Toggle command, I get the following error
E5108: Error executing lua Vim:E158: Invalid buffer name: 1                                                         │

Hi, I just checked in what I hope will be the solution to your problem. I believe this has to do with recent Neovim changes to the diagnostic API. I made changes that should allow it to work with both the older API and the newer API, but I missed something for the older API (I'm guessing you're running 0.5.0 and not a nightly build, or possibly an older nightly build).
If that change doesn't work for you: if you're willing to answer some questions and, perhaps, some followup questions this can probably be resolved. I don't see this myself which makes it hard to duplicate.

What version of neovim are you running?  You can run nvim --version on the command line. Just paste the results into a reply to this.
It may help to know where your toggle-lsp-diagnostics is at wrt git. If you can go to the directory where toggle-lsp-disagnostics is installed and run git rev-parse HEAD and paste the results here.
Did you recently update toggle-lsp-diagnostics? Or was this a recent install?
How are you configuring toggle-lsp-diagnostics? If you can paste your config here.

Thank you.

I 'm using nvim 0.5.0 stable release. Here is my nvim --version
NVIM v0.5.0
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/gcc-11 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/home/runner/work/neovim/neovim/build/config -I/home/runner/work/neovim/neovim/src -I/home/runner/work/neovim/neovim/.deps/usr/include -I/usr/include -I/home/runner/work/neovim/neovim/build/src/nvim/auto -I/home/runner/work/neovim/neovim/build/include
Compiled by runner@fv-az242-526

After updating to your latest commit, my issue is resolved. Thank you :D

Good to hear.


explicitly list container registry in local-path-storage.yaml

I'm not sure how the various deployment elements are created, but it would be nice if the rancher/local-path-provisioner bits where explicit about docker.io (ie . docker.io/rancher/local-path-provisioner)

I'd still like to see this

I'd still like to see this

I'd still like to see this


Added Tree View and Backward Link Closes #25

Purpose:

Give Pages and Repo users the same level of usability

Explanation:

Added Tree View to the main README
Added Clickable Link back to the repo for Pages users

Future Work:

This shouldn't be a final solution.
Hopefully GitHub can introduce more functionality and rendering capabilities
May need to switch to HTML/CSS/JavaScript instead of pure markdown


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_0f476c1f-7ece-4621-aa62-4cc11b208e08/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_0f476c1f-7ece-4621-aa62-4cc11b208e08.git

Docs Build status updates of commit 9515838:
: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


MQTT sensors gone, clock timeouts

Describe the bug
Hi @vanackej , i had the issue below, seems the sensors became unavailble, while the arming state was still present... i havent had the issue before the new releases lately?
I dont have the full debug logs, just normal log, but you see a lot of error/warnigs, allthough its still running
Configuration

Environment: HA Addon
Version: 0.4.1
Mode: Proxy
Command line (if not running as HA Addon):
Risco Panel model: Lighsts
Risco Panel firmware version: 2.72

Logs
2/26/2022, 3:34:51 PM [info] Subscribing to Home assistant commands topics
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/1/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/1-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/2-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/3-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/4-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/5-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/6-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/7-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/8-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to riscopanel/alarm/zone/9-bypass/set topic
2/26/2022, 3:34:51 PM [info] Subscribing to panel partitions events
2/26/2022, 3:34:51 PM [info] Subscribing to panel zones events
2/26/2022, 3:34:51 PM [info] Initialization completed
2/26/2022, 3:59:56 PM [warn] Command[15] 'CLOCK' Timeout
2/26/2022, 4:12:11 PM [error] RiscoCloud Socket Timeout.
2/26/2022, 4:12:32 PM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/26/2022, 4:12:32 PM [info] [MQTT => Panel] DISARM command sent on partition 1
2/26/2022, 4:12:33 PM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/26/2022, 4:12:33 PM [info] [MQTT => Panel] DISARM command sent on partition 1
2/26/2022, 5:58:12 PM [info] [Panel => MQTT] Published alarm status armed_away on partition 1
2/26/2022, 6:25:29 PM [error] RiscoCloud Socket Timeout.
2/26/2022, 6:57:14 PM [warn] Command[42] 'CLOCK' Timeout
2/26/2022, 10:33:45 PM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/26/2022, 10:33:45 PM [info] [MQTT => Panel] DISARM command sent on partition 1
2/26/2022, 10:33:47 PM [info] [Panel => MQTT] Published alarm status disarmed on partition 1
2/26/2022, 11:22:35 PM [warn] Command[7] 'CLOCK' Timeout
2/26/2022, 11:49:31 PM [warn] Command[20] 'CLOCK' Timeout
2/27/2022, 1:45:12 AM [warn] Command[23] 'CLOCK' Timeout
2/27/2022, 4:03:47 AM [error] RiscoCloud Socket Timeout.
2/27/2022, 5:16:31 AM [warn] Command[8] 'CLOCK' Timeout
2/27/2022, 7:30:00 AM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 7:30:00 AM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 7:41:46 AM [error] RiscoCloud Socket Timeout.
2/27/2022, 8:28:32 AM [warn] Command[25] 'CLOCK' Timeout
2/27/2022, 10:19:45 AM [error] RiscoCloud Socket Timeout.
2/27/2022, 10:26:24 AM [warn] Command[41] 'CLOCK' Timeout
2/27/2022, 10:35:45 AM [error] RiscoCloud Socket Timeout.
2/27/2022, 10:45:57 AM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 10:45:57 AM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 10:50:00 AM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 10:50:00 AM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 10:51:25 AM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 10:51:25 AM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 11:46:31 AM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 11:46:31 AM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 2:07:09 PM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 2:07:09 PM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 2:48:17 PM [warn] Command[33] 'CLOCK' Timeout
2/27/2022, 3:12:20 PM [info] [Panel => MQTT] Published alarm status armed_away on partition 1
2/27/2022, 4:35:11 PM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 4:35:11 PM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 4:35:12 PM [info] [Panel => MQTT] Published alarm status disarmed on partition 1
2/27/2022, 4:41:12 PM [error] RiscoCloud Socket Timeout.
2/27/2022, 4:46:21 PM [warn] Command[2] 'CLOCK' Timeout
2/27/2022, 5:11:17 PM [warn] Command[3] 'CLOCK' Timeout
2/27/2022, 5:50:14 PM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/27/2022, 5:50:14 PM [info] [MQTT => Panel] DISARM command sent on partition 1
2/27/2022, 6:15:59 PM [warn] Command[45] 'CLOCK' Timeout
2/27/2022, 6:24:58 PM [warn] Command[49] 'CLOCK' Timeout
2/27/2022, 7:01:13 PM [error] RiscoCloud Socket Timeout.
2/27/2022, 7:53:12 PM [error] RiscoCloud Socket Timeout.
2/27/2022, 8:43:40 PM [warn] Command[42] 'CLOCK' Timeout
2/27/2022, 10:33:01 PM [info] [Panel => MQTT] Published alarm status armed_home on partition 1
2/28/2022, 1:18:04 AM [warn] Command[11] 'CLOCK' Timeout
2/28/2022, 4:02:16 AM [error] RiscoCloud Socket Timeout.
2/28/2022, 4:33:13 AM [warn] Command[47] 'CLOCK' Timeout
2/28/2022, 7:21:12 AM [info] [Panel => MQTT] Published alarm status disarmed on partition 1
2/28/2022, 7:27:13 AM [error] RiscoCloud Socket Timeout.
2/28/2022, 8:44:10 AM [info] [MQTT => Panel] Received change state command DISARM on topic riscopanel/alarm/1/set in partition 1
2/28/2022, 8:44:10 AM [info] [MQTT => Panel] DISARM command sent on partition 1
2/28/2022, 8:46:29 AM [warn] Command[37] 'CLOCK' Timeout

Additional context
Add any other context about the problem here.

oh, i know why they are all unavailable? seems the add-on created all duplicates?

Stop the Risco addon
clear discovery topics in your mqtt broker
restart Home assistant
Check that all entities related to the Risco addon are gone. Delete remaining ones if any
Restart the Risco Addon

yeah, up and running again
but how comes it created duplicates?

I don't know. Sometime HA discovery considers the published entity as a new one and add a number after the entity id. I don't understand when it happens too

ah, weird


Does php-saml supports two decryption certificates simultaneously?

We're in the process of renewing our SP certs and we were advised to support both decryption certificates during the transition period.
Is there a way to achieve this with onelogin toolkit?

The 'x509certNew' setting parameter let you to add the future SP public cert, and it will be published on the SP metadata.
but take in mind that the data encrypted by the SP only will be encrypted with the 'x509cert' SP public cert.


updating co-chairs

Updating SIG Docs chairs.
Ref: https://github.com/kubernetes/website/issues/29354
/cc @parispittman @sftim

/lgtm
/hold
so we can make the relevant updates in a batch of sorts

Actually
/lgtm cancel
/approve
(happy for someone else to LGTM)

/lgtm
/hold cancel


Fix: java.net.UnknownHostException: services.gradle.org

Description

Related issue

b/300141768
How has this been tested?

Integration tests
Checklist:

Unit tests

[x] Unit tests do not apply.
[ ] Unit tests have been added/modified and passed for this PR.

Integration tests

[ ] Integration tests do not apply.
[x] Integration tests have been added/modified and passed for this PR.

Documentation

[x] This PR introduces no user visible changes.
[ ] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[x] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

Fixed upstream, see bug for more info.


Scheduled Maintenance Window

Is your idea related to a problem? Please describe.
With this GH issue - https://github.com/data-dot-all/dataall/issues/998 . A maintenance window will be created by a data.all admin. In the future, the data.all admin should be able to schedule a maintenance window in advance. So basically , with the design here - https://github.com/data-dot-all/dataall/issues/998 , the data.all admin puts data.all into maintenance mode and then informs users about maintenance internally through their communication system.
In this feature enhancement, data.all admin would be able to,

Schedule a maintenance window in advance
This will also send email notifications to the users in advance

P.S. Don't attach files. Please, prefer add code snippets directly in the message body.

Thanks for opening an issue, we will take it into account in our plans


RFC PR template

Adds pull request template that prepopulates the description and labels with what we want

I added lots of people to this PR. But I won't make it a habit.


⚠ ClamAV has degraded performance

In 866b2cd, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: ClamAV performance has improved in a4e05ca.


Fails to parse markdown containing a link

For example:
**https://google.com**
produces
**https://google.com**
instead of
https://google.com

Thanks for the report. This should be fixed by commit 47d45b5

Many thanks for the rapid response.


FIX: Do not resolve non-existent Paths

This PR is an attempt to fix ReadTheDocs builds (see poldracklab/fmriprep#1436).
The line
NIWORKFLOWS_CACHE_DIR = (Path.home() / '.cache' / 'stanford-crn').resolve()

is the primary problem, because, while this path may exist in the docker containers, it does not exist in the RTD environment. It's not clear that it needs to be resolved; this is just realpath as opposed to abspath, which is not needed to interact with a filesystem logically. Also removed the .resolve() from a list of files which are not checked for existence first.
return [Path(d).expanduser().resolve()
                    for d in data_dir.split(os.pathsep) if d.strip()] or default_dirs

Additionally removed the conversions from Paths to strs in some downstream variables, using Path methods instead of os.path functions where available.

What's the minimum supported Python, these days? We have a lot of Python 2 support code in still. (I mention because flake8 is complaining about from io import open.)

I would remove all those from io import open and any Python 2 compatibility leftover

@oesteban @chrisfilo Any idea why RTD would be using code that isn't in the installed version?
https://readthedocs.org/projects/fmriprep/builds/8306372/
Successfully installed [...] niworkflows-0.5.2.post5+7.gfdfced1 [...]

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/sphinx/ext/autodoc/importer.py", line 154, in import_module
    __import__(modname)
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/fmriprep/workflows/base.py", line 24, in <module>
    from niworkflows.interfaces.bids import (
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/niworkflows/interfaces/__init__.py", line 8, in <module>
    from .registration import (FLIRTRPT as FLIRT,
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/niworkflows/interfaces/registration.py", line 25, in <module>
    from .mni import (
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/niworkflows/interfaces/mni.py", line 20, in <module>
    from ..data import getters
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/niworkflows/data/__init__.py", line 8, in <module>
    from .getters import (
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/niworkflows/data/getters.py", line 10, in <module>
    from ..data.utils import fetch_file
  File "/home/docs/checkouts/readthedocs.org/user_builds/fmriprep/envs/fix-docs/lib/python3.5/site-packages/niworkflows/data/utils.py", line 34, in <module>
    NIWORKFLOWS_CACHE_DIR = (Path.home() / '.cache' / 'stanford-crn').resolve()
  File "/usr/lib/python3.5/pathlib.py", line 1109, in resolve
    s = self._flavour.resolve(self)
  File "/usr/lib/python3.5/pathlib.py", line 330, in resolve
    return _resolve(base, str(path)) or sep
  File "/usr/lib/python3.5/pathlib.py", line 315, in _resolve
    target = accessor.readlink(newpath)
  File "/usr/lib/python3.5/pathlib.py", line 422, in readlink
    return os.readlink(path)
FileNotFoundError: [Errno 2] No such file or directory: '/home/docs/.cache'

This is really puzzling.
One unrelated question: wouldn't a workaround be setting the CRN_SHARED_DATA env variable on the configuration file of the docs?

No, because this value is calculated unconditionally.

Well, I don't understand RTD, so I'm just going to merge and see if building off of master works better than off my branch.


[stable/datadog] Fix whitespace trimming

What this PR does / why we need it:
1.31.8 (and a couple of versions before it) were broken as shipped for me,
this PR fixes the fundamental issue.
Using double-sided whitespace trimming (something like {{- end -}} can be
dangerous anywhere other than at the very beginning and the very end of a
template file, because it trims carriage returns.  This makes it possible to
inadvertently create a manifest like the following:
apiVersion: "rbac.authorization.k8s.io/v1"
kind: ClusterRoleBinding
metadata:
  labels:
    app: "datadog"
    chart: "datadog-1.31.8"
    release: "datadog"
    heritage: "Tiller"
  name: datadog
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: datadog
subjects:
  - kind: ServiceAccount
    name: datadog
    namespace: datadog---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app: "datadog"
    chart: "datadog-1.31.8"
    heritage: "Tiller"
    release: "datadog"
  name: datadog
---

Signed-off-by: Steve Huff<EMAIL_ADDRESS>Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
attn @hkaj @irabinovitch @CharlyF @mfpierre @clamoriniere @xlucas
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/ok-to-test


Step 18/20 : COPY --from=builder /tikv/target/release/tikv-service-server /tikv-service-server COPY failed: stat tikv/target/release/tikv-service-server: file does not exist

Trying to create Docker image using the latest repo but it fails with error:
Step 18/20 : COPY --from=builder /tikv/target/release/tikv-service-server /tikv-service-server
COPY failed: stat tikv/target/release/tikv-service-server: file does not exist
The file is not present in  the repo, Any suggestions ?

Thanks for your report. The docker file seems like stale and shlod update

Already fixed in https://github.com/tidb-incubator/tidis/pull/84 .


getNativeDialogHistory is not working for alert messages displayed inside iframe

What is your Test Scenario?

getNativeDialogHistory is not working alert window is inside iframe.
What is the Current behavior?

Currently, in the site have two types of alerts. one inside iframe (Refer screenshot alert_1) and another outside iframe ((Refer screenshot alert_2).
For some screens, native dialog were displayed under alert which is outside iframe and for other screens, native dialog were displayed under alert which is inside iframe.
I am able to capture getNativeDialogHistory for alert which is outside iframe. However same is not working for alert which is inside iframe.
What is the Expected behavior?

What is your web application and your TestCafe test code?

Your website URL (or attach your complete example):
Resticted.... However attached screen shots....

Your complete test code (or attach your test files):

 Refere screen shots...

Execute this command...
See the error...

Your Environment details:

testcafe version:      0.20.3
node.js version:      8.11.1
command-line arguments:
browser name and version:  Chrome 69
platform and version:           Windows
other:

Hi Alex,
Thanks for response... See below givens link of DOM section...
[Inside Frame Alert] - (https://user-images.githubusercontent.com/38807053/47577289-1d84ce80-d964-11e8-9028-c9f3193e742b.png)
[Outside Frame Alert] - (https://user-images.githubusercontent.com/38807053/47577292-1fe72880-d964-11e8-8cfb-5e683a5d42e5.png)

Screenshots won't help us determine the cause of this behavior. We need a simple sample that we can run to examine the issue and find a precise solution if any.

Application URL is restricted... However below in brief idea of application

Main URL through which takes login

After login, have left side menu which have Onclick actions
for ex:
< a class="waves-effect waves-cyan active" href="#" onclick="javascript:__fnLoadScreen('Bodm/Layout?mode=CUD');" title="User Master">< i class="mdi-action-view-carousel">< /i>User Master< /a>

On clicking link, it loads above mentioned onclick action page under iframe.

After filling all details, user clicks on Submit button

Below are two different behaviour after clicking Submit button

a. Outside Frame Alert -
i. for some of menu's, Success message displayed under alert DIV element which is outside iframe
ii. Able to validate that also using getNativeDialogHistory
b. Inside Frame Alert -
i. for some of menu's, Success message displayed under alert DIV element which is inside iframe
ii. Not able to validate that also using getNativeDialogHistory
have set t.setNativeDialogHandler as below
await t.setNativeDialogHandler(function(type,text,url){     return false }
catching alert message using below code
 var history = await t.t.setNativeDialogHistory(); If(history.length!=0) {     if( history[0].text.trim() = = testdata.trim() )     {       Status = "Pass"     }    else   {      Status = "Fail"   } }
Only different what I observed is,

alert which is inside frame is in Red color and it's displayed during execution even though setNativeDialogHandler set to false. Hence not able to verify..
alert which is outside frame is in Green color and it's not displayed during execution even though setNativeDialogHandler set to false. Hence able to verify..

This information is insufficient to determine the cause of the issue. I suggest you minimize your application and remove all external dependencies from your environment. This way, we can run the application on our side, see what's going on, and find a solution.


Add support for PSR clock

Subject
I am targeting this branch, because it adds a new feature without a BC-break.
Changelog

### Added
- Support for PSR ClockInterface

Thanks


Updates :)

Hi Luma,
Any plans on updating the LNG Lib ?
Thanks

Hi Mel,
The gizmos are not currently under active development internally. Are there particular updates you're interested in?

Hi Nathan,
Nothing special, just always seeking for new workflows / tools, and love when internal dev gets open sourced :)
and of course I love Luma.
Thanks anyway


added caching values to integration test app.settings

So that tests can run and pass.

@taylorc I am not able to see what tests you write for cache?
Only two files are changed in commit!

@MCCshreyas Correct I took your advice regarding you not being quite ready for test as you're still a bit unsure about the implementation. So I thought I'd hold off. I did notice the Integration tests not passing so I fixed that in the meantime. Looking forward to seeing where you end up with your design. I've been contemplating it was well with not much luck.

@taylorc Ok. What I suggest you, you can start implementing tests based on the current implementation, it won't change much, but it might be, based on feedback from the PR discussion on the main repository (https://github.com/jasontaylordev/CleanArchitecture). And also you will get notified about the discussion, so you can track what I might change, and based on that you can tweak the tests.

Covered in other work which includes tests


Unable to run the function locally

Followed the steps mentioned as is, the function gets built and is ready to respond to http requests as mentioned. But when I try the curl command, it just times out and nothing happens. Although it is mentioned Function key is not required while running locally, I tried with auth level as anonymous  as well with no success.  Not sure what went wrong. Could anyone here help with this.
Thanks in advance

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

ID: e656bde5-b5d8-8d80-b7b3-ab430e57613e
Version Independent ID: 329eb12f-7302-4ecf-c1bf-a50ba3f34bdf
Content: Use Java and Maven to publish a function - Azure Functions
Content Source: articles/azure-functions/functions-create-first-java-maven.md
Service: azure-functions
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Hi @ReshmaNeelam - Thank you for your feedback! We will review and update as appropriate.

@ReshmaNeelam I tried the exact same steps at my side and it worked perfectly for me.
Make sure you have all the prerequisite installed as mentioned in the document.
Try updating Azure Functions Core Tools and Azure CLI to the latest version.

@ReshmaNeelam Checking in to see if the above post helped answering your question.

@ReshmaNeelam Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


🚀 [New Feature_LP] - The "show our apps screenshot" section is not user friendly at the time of iphone view

Description of the enhancement. ✍🏻
The "show our apps screenshot" section is not user friendly at the time of iphone view , assign this issue to me I will work on responsive of that section and will improve the user experience.
Describe briefly how you would implement this enhancement.
Some steps to implement this enhancement-
1. I will fix the responsive  view

Screenshots Example (if applicable)
No response
Additional information
No response
Contributor terms

[X] I agree to follow the Contributing Instructions

Can I work on this?


Making a stack issues

Normally making a stack works perfectly except when a stack of one item is 8 instead of the normal 64. I made an item that stacks with the 8 and shift-clicked expecting just a stack like all the other times. Well it tried making 64, it didn't finish because it used all my gold.

Can you describe your issue a bit better?
So you have an itemstack with a max stacksize of 8. You press shift when crafting. What did you expect and what did you get?

I expected to get a single stack of 8. Instead I got 6 and a half stacks.
Here's one, buckets stack 16 in one stack. Put the recipe in and shift+click and instead of just a stack coming out, you get 4 stacks.


path/filepath: EvalSymlinks fails to follow symlink when root entry is a symlink

What version of Go are you using (go version)?

$ go version
go version go1.13.6 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/mildred/.cache/go-build"
GOENV="/home/mildred/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/mildred/Projects/go"
GOPRIVATE=""
GOPROXY="direct"
GOROOT="/usr/lib/golang"
GOSUMDB="off"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/mildred/Projects/terraform/test-bug-1/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build280616979=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I found a bug in terraform: https://github.com/hashicorp/terraform/issues/25367 and tracked it down to the go runtime
Reproducer:
package main

import (
  "path/filepath"
  "fmt"
  "syscall"
  "os"
)

func main(){
  os.Mkdir("origin", 0777)
  os.Mkdir("origin/var", 0777)
  os.Mkdir("origin/var/home", 0777)
  os.Mkdir("origin/var/home/foo", 0777)
  os.Symlink("var/home", "origin/home")
  os.Symlink("/home/foo", "origin/home/bar")
  os.Chdir("origin")
  syscall.Chroot(".")
  os.Chdir("home")
  fmt.Println(filepath.EvalSymlinks("bar"))
}

Reproduce by compiling this example and running it:
go build -o test-bug .
sudo ./test-bug
sudo strace -e trace=newfstatat,readlinkat ./test-bug

(you need to be root for chroot to work, it works well in a fedora-toolbox container with a user namespace root)
What did you expect to see?
filepath.EvalSymlinks should follow symlink home -> var/home in origin
What did you see instead?
filepath.EvalSymlinks fails to follow the symlink and errors out with lstat var: no such file or directory

Fix for this issue:
From 18b24efce46977038e65342ca2dd553b96e20ed3 Mon Sep 17 00:00:00 2001
From: Mildred Ki'Lya<EMAIL_ADDRESS>Date: Wed, 24 Jun 2020 16:40:57 +0200
Subject: [PATCH] Fix filepath.EvalSymlinks when symlink is at filesystem root

When a symlink is at filesystem root (such can be the case on OSTree
systems where /root points to /var/roothome and /home points to
/var/home) EvalSymlinks fails to follow it correctly. Instead of
following it in the context of the root directory, it tries to follow it
in the context of the current directory.

This is because when the last traversed directory is removed to
concatenate the symlink target, "/home" contract to the empty string,
and "var/home" is thus evaluated in the context of the current
directory.

This commit fixes that by detecting if the last removed directory was a
root directory, and does not remove the trailing path separator in that
case.
---
 src/path/filepath/symlink.go | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/path/filepath/symlink.go b/src/path/filepath/symlink.go
index 335b315..9a2a67c 100644
--- a/src/path/filepath/symlink.go
+++ b/src/path/filepath/symlink.go
@@ -136,6 +136,8 @@ func walkSymlinks(path string) (string, error) {
 			}
 			if r < volLen {
 				dest = vol
+			} else if r == 0 && os.IsPathSeparator(dest[0]) {
+				dest = dest[:1]
 			} else {
 				dest = dest[:r]
 			}
--
2.26.2

Unfortunately, I might not be able to provide a pull request with that patch as I don't have a google account at hand to sign the CLA (and I won't create one). Please feel free to do whatever you want with the patch I provide, I do not retain any copyright on it.

It's fine to not sign the CLA, of course, but in that case please do not send the patch as a GitHub comment.  That just complicates the copyright status of the change.  Thanks.

EvalSymlinks should almost never be used; see #40180. If Terraform isn't aware of this, could you inform them?

In any case, I'm ok to sign the CLA using any other means than using a google account. I also provided a PR with the patch, but I did that before knowing I had to sign the CLA.


update for senzing-tools

do we still need this stack?  should we deprecate our marketplace offering?
remove stream-loader and  SenzingApiTools... move to 3.8

stream-loader removed with issue #156

Updated with #156


Update UG

Things to update

[ ] Task commands
[ ] Convert AB3 commands to Suppliers
[ ] Command Summary

I can do the supplier side

I can do the supplier side unless you already did it

I haven't do


⚠ Adacta-fintech.com has degraded performance

In da63be2, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 1296 ms

Resolved: Adacta-fintech.com performance has improved in 6e090a2.


How can i get an api key please ?

API keys are created in your SendGrid account and not this library. See SendGrid's docs.


function -> ES6 arrow function

I changed the callback function from function to arrow function.

First of all, this PR contains a lot of completely unrelated changes which are not relevant to the thing you're trying to "fix", breaking existing code-formatting, and failing the lint job.
Secondly, and more importantly, we only want to use arrow functions when actually necessary. In either of these cases, there's no need to use them since we don't need to access this of the surrounding scope.
All-in-all, this unfortunately cannot be accepted.


Redis SessionMiddleware throw StackExchange.Redis.RedisServerException

hi,when i use redis session middleware,i got this.
Exception thrown: 'StackExchange.Redis.RedisServerException' in System.Private.CoreLib.ni.dll
Exception thrown: 'StackExchange.Redis.RedisServerException' in System.Private.CoreLib.ni.dll
Exception thrown: 'StackExchange.Redis.RedisServerException' in System.Private.CoreLib.ni.dll
fail: Microsoft.AspNetCore.Session.SessionMiddleware[1]
      Error closing the session.
StackExchange.Redis.RedisServerException: ERR Error compiling script (new function): user_script:1: unexpected symbol near '�'
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Extensions.Caching.Redis.RedisExtensions.<HashMemberGetAsync>d__2.MoveNext() in e:\dotnetcore\validate\Extensions\RedisExtensions.cs:line 27
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Extensions.Caching.Redis.RedisCache.<GetAndRefreshAsync>d__19.MoveNext() in e:\dotnetcore\validate\Extensions\RedisCache.cs:line 231
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.Extensions.Caching.Redis.RedisCache.<RefreshAsync>d__15.MoveNext() in e:\dotnetcore\validate\Extensions\RedisCache.cs:line 152
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Session.DistributedSession.<CommitAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Session.SessionMiddleware.<Invoke>d__9.MoveNext()

Can you provide a simple app that reproduces this issue, ideally on a GitHub repo?

quotes error,ignore this
private const string HmGetScript = (@"return redis.call(‘HMGET‘, KEYS[1], unpack(ARGV))");

this is a mistake, thanks!


events.projectileShoot

I add ProjectileShootEvent.
But there are two things I'm not sure about.
First, whether it's cancellable
It was not cancelled for me, but I cannot trust my code absolutely.
Second, what _tickCallback is.
I don't know how do I use _tickCallback. but I saw many other events calling it, so I added it.

confirmed not cancellable, but I would like to try Spawner::spawnProjectile, it calls the function u hooked


[OpenCL] Reigisters L2Loss

Please edit the history (good git exercise... :-) ) to fix the spelling in the commit message or we will have some hard time to get this upstreamed...
Thanks.

That pull request seems to be doing two things.
L2Loss and ApplyMomentum.. can you split them to two PR's ?


Inline across projects?

I thought I saw it inline between two separate projects at first, but I now can't get it to happen. For example, I have project A with a method marked [Inline]. Inside of project A I see calls to it get inlined. In project B that depends on project A calls to it do not get inlined even though Fody and InlineMethod.Fody NuGets are both referenced by it.

Could you provide the repro solution?

Using InlineMethod.Fody 0.7.2 and Fody 6.8.1 on .NET 8.
In project A:
using System.Threading;
using InlineMethod;

public static class Example
{
    [Inline]
    public static bool IsCached(in bool cached) => Volatile.Read(in cached);

    public static T? ReadIfCached<T>(in bool cached, in T value)
        // This call is inlined
        => IsCached(in cached) ? value : default;
}

In project B:
public class ExampleTests
{
    private bool cached;

    public void Caller()
    {
        // This call is not inlined
        Example.IsCached(in cached);
    }
}

As noted in the code comments, the call to Example.IsCached from project B is not inlined. One thing I noticed while looking at the IL/disassembly that may be relevant. It looks like project A IL does not have the [Inline] attribute. I'm guessing the attribute is being stripped out by the Fody IL weaving. But that means when project B is compiled, it will not have any idea which methods in project A should be inlined.
I think you may need to split the InlineMethod.Fody project into two assemblies or even two NuGet packages. One that has the attribute and can be referenced by a project and one that has the rewrites and is <PrivateAssets>all</PrivateAssets>.

I didn't intend to export the Inline attribute outside of a library that uses InlineMethod, so as not to require users to install Fody and InlineMethod.Fody for using the library.

That is why I am suggesting that create a new InlineMethod package that contains only the InlineAttribute and the InlineBehavior enum. Then InlineMethod.Fody would reference InlineMethod. That way, those who used a library wouldn't have to install Fody unless they wanted to get the inlining behavior, but a library could still be published with the [Inline] attributes in it.

Then InlineMethod will be a public dependency of the library

In 0.7.3 added the ability to export an inline attribute and import references from another module during inlining.
You can try [Inline(export: true)] in project A and use Fody and InlineMethod.Fody in both projects.

That API is fine and I have tested 0.7.3 and the basic functionality works.


Adds plugin for app configuration

The Problem:
Applications like Drupal or Wordpress can be structured in various ways that can be difficult to predict and account for. This is problematic when we want such an application to deploy successfully without requiring refactoring to fit a predefined structure.
The Fix:
This introduces a new plugin for templating/configuring applications. The plugin is itself a pluggable interface so that it can be extended to handle more applications in the future. Initially, there will be a drupal and wordpress plugin.
These plugins address 3 primary things required for a site to deploy successfully:

Have a working configuration file for the application in the right place.
Have a folder where uploaded files go in the right place.
Have a web server configuration that will successfully serve the site.

This PR is WIP. Remaining steps:

[ ] Working state for drupal plugin used within ddev
[ ] Working state for drupal plugin used within cluster
[ ] Finish the wordpress plugin
[ ] Tests for the wordpress plugin
[ ] Update docs

The Test:
Currently there are tests for the drupal plugin. Tests will be added for the wordpress plugin once its fleshed out.
To test, create a drud.yaml file with a task group as defined in the dcfg readme. This task group should contain a template task specifying an app.
e.g.
- name: test
  tasks:
    - action: template
      app: drupal

Then run dcfg against the group: dcfg run test
Depending on what configurations are defined, up to 3 main things should happen:

an app config file should be generated based on the configuration (settings.php or wp-config.php)
unless ignoreFiles is true, a files directory should be either copied or symlinked from source (defined by FILE_SRC env var) to the location the app needs (e.g. sites/default/files)
if docRoot is defined, the root definition in an nginx site conf (defined by NGINX_SITE_CONF) should be updated to reflect the new path nginx should serve from

The drupal plugin additionally addresses these configuration needs:

provide a version of the config valid for Drupal 8 (achieved by setting core: 8.x
provide a way to define a custom CMI directory (achieved by setting configSyncDir)

The wordpress plugin will additionally addresses these configuration needs:

provide a way to define a custom core directory
provide a way to define a custom content directory

It may be helpful to reference the configurations defined for test cases here: https://github.com/drud/dcfg/pull/5/files#diff-f3d85393398534b32b92261d4ac9e384
Automation Overview:
Tests have been written for various cases the drupal plugin may deal with.
Tests are coming for the wordpress plugin.
Related Issue Link(s):
drud/ddev#7
Release/Deployment notes:
Does this affect anything else, or are there ramifications for other code? Does anything have to be done on deployment?
When this is approved and done, a new dcfg release should be posted so that it can be used in the nginx container.

@tannerjfco could you please add operational/testing instructions? In "The Test" would be fine. With 28 commits and 122 files we need a little guidance. Thanks!

@rfay test instructions fleshed out a bit more

I apologize that I didn't get to this today and I'll be out the rest of the week, it should proceed without me this week. Maybe @beeradb can take a look.

This change probably doesn't even need 2 reviewers.

I think some we went awry somewhere when I was giving you advice here. I guess I thought you were actually building this into ddev as a new plugin. The TPL should actually be implemented as a task and not a new plugin type.
The increased complexity of the template plugin will probably necessitate making some other organizational changes...maybe you add a template.go to plugins/ and move all the logic and template files into a template pkg in the root level.
But to reiterate... the template plugin should be implemented as a Task interface and not a new interface.

I know I probably caused this ^ by not paying enough attention so I'd be happy to make the adjustments for you.

I see you are implementing both the Task and Tpl interfaces. So the only concern I have left is in repo structure and we chatted about that so those concerns can be ignored.

@tannerjfco I think that is everything for now. Let me know when the wordpress stuff is ready.

@frodopwns wp stuff is in. also updated app plugin tests to be unit tests instead of integration.

So I ran a task set that looked like this:
- name: im_so_special
  tasks:
    - action: template
      coreDir: ./testit
      contentDir: potatoes
      uploadDir: media
      docroot: docroot
      siteURL: http://www.potatocakes.com
      databaseName: potato
      databaseUsername: spud
      databasePassword: spudtato
      databaseHost: potatodb.com
      databaseDriver: mysql
      databasePort: 1234
      databasePrefix: spud_

➜  dcfg git:(package-move) ✗ dcfg run im_so_special --config=/go/src/github.com/drud/dcfg/dcfg.yaml
Running [im_so_special] ...
Running group: im_so_special
{
  App: "",
  Core: "",
  ConfigPath: "",
  DocRoot: "docroot",
  DatabaseName: "potato",
  DatabaseUsername: "spud",
  DatabasePassword: "spudtato",
  DatabaseHost: "potatodb.com",
  DatabaseDriver: "mysql",
  DatabasePort: 1234,
  DatabasePrefix: "spud_",
  IgnoreFiles: false,
  PublicFiles: "",
  PrivateFiles: "",
  ConfigSyncDir: "",
  SiteURL: "http://www.potatocakes.com",
  CoreDir: "./testit",
  ContentDir: "potatoes",
  UploadDir: "media"
}
2017/02/23 17:00:29 this is a  app
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x1b3b19]

goroutine 1 [running]:
panic(0x3644a0, 0xc4200101f0)
	/usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/drud/dcfg/tpl.(*Config).Run(0xc42011e240, 0x1, 0x1)
	/go/src/github.com/drud/dcfg/tpl/tpl.go:62 +0xe9
github.com/drud/dcfg/pkg/dcfg.(*TaskSet).Run(0xc42012fc20, 0xd, 0xc420113320)
	/go/src/github.com/drud/dcfg/pkg/dcfg/tasks.go:79 +0x4f3
github.com/drud/dcfg/cmd.glob..func2(0x57e120, 0xc420113320, 0x1, 0x2)
	/go/src/github.com/drud/dcfg/cmd/run.go:55 +0x35d
github.com/drud/dcfg/vendor/github.com/spf13/cobra.(*Command).execute(0x57e120, 0xc420113200, 0x2, 0x2, 0x57e120, 0xc420113200)
	/go/src/github.com/drud/dcfg/vendor/github.com/spf13/cobra/command.go:603 +0x439
github.com/drud/dcfg/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x57df00, 0x0, 0x0, 0x0)
	/go/src/github.com/drud/dcfg/vendor/github.com/spf13/cobra/command.go:689 +0x367
github.com/drud/dcfg/vendor/github.com/spf13/cobra.(*Command).Execute(0x57df00, 0x57e120, 0xc42012ff80)
	/go/src/github.com/drud/dcfg/vendor/github.com/spf13/cobra/command.go:648 +0x2b
github.com/drud/dcfg/cmd.Execute()
	/go/src/github.com/drud/dcfg/cmd/root.go:25 +0x2d
main.main()
	/go/src/github.com/drud/dcfg/main.go:6 +0x14

Haven't dug into this one yet but it looks like we should be checking the existence of some value before this panic.

I ran this
- name: custom_upload_dir
  tasks:
    - action: template
      app: wordpress
      uploadDir: potatoes

expecting a wp-config where
define( 'UPLOADS', 'media' );

has been changed to
define( 'UPLOADS', 'potatoes' );

but it was still media
Maybe I'm missing something?

@tannerjfco would you mind fleshing out the usage docs so I can test this closer to how you expect it to be used?

@frodopwns thanks for all the feedback and assistance. I believe the issues you surfaced have been addressed at this point.

@tannerjfco for the test you describe in the PR are you assuming dcfg is being run from the root of a drupal or wordpress project?

Yes, the assumption is generally that you are running it from the root of a site's source checkout. In our usage w/ ddev, it would be running from /var/www/html

Ah, I was running from random places.

Alright I got it to work running from a real site directory.  We might need to add more details to output messages for obtuse people like me.

I'm closing this for now since we're tracking in a different direction. I'll retain the work in case we determine it to be useful in any way down the road.


Public pins get wiped if the Cartography Table is in use while a world save occurs

Hey man. Me and a friend experienced a rather inconvenient issue.
We both had the cartography map open (I was the host, listen server), messing with pins and figuring out how the mod worked, and I saw the usual world autosave message appear in the upper corner. In the same instant, all the green Public pins vanished, for both me and my friend, and were not recoverable.
I was able to replicate this myself later. If the Cartography Table map is open, and a save occurs, all Public pins get wiped.
Let me know if I can give any more info.

Hey, thanks for the report. This is indeed a bug, will think on how to address it :)

This should be fixed by 31ff57cebe77a3b26b510cba30c8e0ee1f3f9ab5, released in 0.2.0.


Post body encoding being erroneously escaped?

Hi,
I have a problem using Guzzle 6.0.2 that's just driving me insane.
This snippet is submitting a pretty simple POST.
 $response = $this->client->post('/auth', [
            'form_params' => [
                'username' => 'foo',
                'password' => 'bar'
            ]
        ]);

However, on the receiving end if I dump out the raw POST body I am seeing:
username=foo&password=bar

So that of course parses into two POST variable named like this:
username = foo
amp;password = bar

When I use Postman, or check how the spec says they should be encoded, they are like this:
username=foo&password=bar

Which is correct.
What's going on?  What on earth is escaping the ampersand in my post body!

Here is is captured with Fiddler:
POST https://api.accord-dev.local/auth HTTP/1.1
Accept: application/xml
User-Agent: GuzzleHttp/6.0.2 curl/7.26.0 PHP/5.5.27-1~dotdeb+7.1
Content-Type: application/x-www-form-urlencoded
Host: api.accord-dev.local
Content-Length: 42

username=moodle&password=holT31raya%3B

And here is the Postman version:
POST https://api.accord-dev.local/auth HTTP/1.1
Host: api.accord-dev.local
Connection: keep-alive
Content-Length: 38
Accept: application/xml
Cache-Control: no-cache
Origin: chrome-extension://aicmkgpgakddgnaphhhpliifpcfhicfo
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36
Postman-Token: e4ec2576-9baf-c980-bfd4-9c8760c87100
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6

username=moodle&password=holT31raya%3B

You're (arg_separator.output)[http://php.net/manual/en/ini.core.php#ini.arg-separator.output] ini setting is set to &amp which is causing Guzzle to write query strings the same way. You'll need to change this to & or pick the master branch so that you can pull in the fix from https://github.com/guzzle/guzzle/commit/8114c93801ec7efd1e5ee16c0c9f233ebbfd95b1.

Ah, interesting.  Because I'm posting from one vagrant VM to another - the configs are different :/  Thanks.

Is there any other possible cause of this?
$result = $client->request('GET', 'http://domain.com/api/product?c=US&id=' . $product->id);
Returns an error. Logged URL is:
http://domain.com/api/product?c=US&id=123456
I've got Guzzle 6.2.2 and PHP 7.0. I checked my arg_separator.output and it is &.


add xdl example

add a simple example for xdl

 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.

lgtm


docker: support docker build --ssh. Fixes issue #2437

Hello @jazzdan, @maiamcc,
Please review the following commits I made in branch nicks/issue2437/ssh:
18711179a6d3679900d5c13ead6ecb76e32d8b3c (2020-01-09 13:30:58 -0500)
docker: support docker build --ssh. Fixes issue #2437

Tested by creating a dockerfile that clones a private repo, and then testing that it works with docker_build(ssh='default') but fails without that parameter