Fixing local queries regression when REMOTE_STORE_MERGE_RESULTS enabled

Fixing issue #1670
Local merging also works.

Current coverage is 65.84% (diff: 100%)

Merging #1674 into master will increase coverage by 0.37%

@@             master      #1674   diff @@
==========================================
  Files            54         54
  Lines          6105       6105
  Methods           0          0
  Messages          0          0
  Branches       1205       1205
==========================================
+ Hits           3997       4020    +23
+ Misses         1904       1878    -26
- Partials        204        207     +3

Powered by Codecov. Last update 0683107...7f3c01b

I made similar test setup which I used in PR #1657: Synthesize with 3 servers.
But now I generated not only local.random.diceroll3 but also local.random.diceroll4 - same, but decreasing time series, for testing wildcards.
Test nr. 1 - "Dedicated frontend".
Master is dedicated frontend, graph001 (ip <IP_ADDRESS>) and graph002 (ip <IP_ADDRESS>) hold local metrics.
Master has
CLUSTER_SERVERS = ["<IP_ADDRESS>", "<IP_ADDRESS>"]
INTRACLUSTER_HTTPS = True
REMOTE_STORE_MERGE_RESULTS=True

graph00x servers run on default setup (REMOTE_STORE_MERGE_RESULTS=True)
Result: https://snapshot.raintank.io/dashboard/snapshot/rtttjdYshCteQAj4zVOiqGdXjD2S9Rrn

Logs on master:
Sat Sep 03 15:48:09 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll3 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:48:09 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.* from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:48:09 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll3 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:48:09 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.* from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:48:09 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll3&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:48:09 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.%2A&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:48:09 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll3&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:48:09 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.%2A&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:48:09 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll4 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:48:09 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll4 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:48:09 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll4&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:48:09 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll4&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884

Test nr. 2 - "Clustered frontend"
graph001 (ip <IP_ADDRESS>) and graph002 (ip <IP_ADDRESS>) hold local metrics, and also both have
CLUSTER_SERVERS = ["<IP_ADDRESS>", "<IP_ADDRESS>"]
INTRACLUSTER_HTTPS = True
REMOTE_STORE_MERGE_RESULTS=True

Result: https://snapshot.raintank.io/dashboard/snapshot/SxF1I84u096DunhvXqVlAOTLIcPPdsfl

Logs graph001:
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.* from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll3 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll3 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll3 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll3 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll3 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll3 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.* local_only=1 matches=2
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.* from=1472911957 until=1472914884 local_only=1 format=pickle matches=2
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.* from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.* local_only=1 matches=2
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.* from=1472911957 until=1472914884 local_only=1 format=pickle matches=2
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll3&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll3&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.%2A&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.%2A&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll4 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll4 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll4 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll4 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll4&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll4 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll4 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll4&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884

Logs graph002:
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.* from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll3 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.* from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll3 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.* local_only=1 matches=2
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.* from=1472911957 until=1472914884 local_only=1 format=pickle matches=2
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll3 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll3 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.%2A&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.%2A&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll3 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll3 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.* local_only=1 matches=2
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.* from=1472911957 until=1472914884 local_only=1 format=pickle matches=2
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll3&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll3&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll4 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll4 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll4 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: FindRequest.send(host=<IP_ADDRESS>, query=<FindQuery: local.random.diceroll4 from Sat Sep  3 14:12:37 2016 until Sat Sep  3 15:01:24 2016>) called
Sat Sep 03 15:51:35 2016 :: find_view query=local.random.diceroll4 local_only=1 matches=1
Sat Sep 03 15:51:35 2016 :: received remote find request: pattern=local.random.diceroll4 from=1472911957 until=1472914884 local_only=1 format=pickle matches=1
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll4&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884
Sat Sep 03 15:51:35 2016 :: ReadResult :: requesting http://<IP_ADDRESS>/render/?target=local.random.diceroll4&format=pickle&local=1&noCache=1&from=1472911957&until=1472914884

So, both local and remote merging are working, and shouldn't be any local regression anymore.

@atnak - could you please test my fix in PR #1674 ? I tested it only on synthesize - unfortunately I had no production installation on master yet.

@deniszh I'm afraid it wasn't fix.  It looks like local is False at this point.

At 01:11: Patch applied + REMOTE_STORE_MERGE_RESULTS = False commented out [1]
At 01:19: Patch removed + REMOTE_STORE_MERGE_RESULTS = False commented out [2]
At 01:22: Patch removed + REMOTE_STORE_MERGE_RESULTS = False reapplied
At 01:31: Patch applied + REMOTE_STORE_MERGE_RESULTS = True commented out [1]
At 01:40: Patch removed + REMOTE_STORE_MERGE_RESULTS = True commented out [2]
At 01:53: Patch removed + REMOTE_STORE_MERGE_RESULTS = False reapplied

[1]
diff --git a/webapp/graphite/local_settings.py b/webapp/graphite/local_settings.py
index a0aea86..97d5b80 100644
--- a/webapp/graphite/local_settings.py
+++ b/webapp/graphite/local_settings.py
@@ -265,7 +265,7 @@ TIME_ZONE = 'Japan'
 #REMOTE_STORE_MERGE_RESULTS = True

 # 2016-09-02: this destroys performance
-REMOTE_STORE_MERGE_RESULTS = False
+#REMOTE_STORE_MERGE_RESULTS = False

 ## Remote rendering settings
 # Set to True to enable rendering of Graphs on a remote webapp
diff --git a/webapp/graphite/storage.py b/webapp/graphite/storage.py
index 7eeb59d..0097f85 100644
--- a/webapp/graphite/storage.py
+++ b/webapp/graphite/storage.py
@@ -80,7 +80,7 @@ class Store:
       if not leaf_nodes:
         continue

-      if settings.REMOTE_STORE_MERGE_RESULTS:
+      if settings.REMOTE_STORE_MERGE_RESULTS and not local:
         # we need all nodes for merging results
         minimal_node_set = leaf_nodes
       else:

[2]
diff --git a/webapp/graphite/local_settings.py b/webapp/graphite/local_settings.py
index a0aea86..97d5b80 100644
--- a/webapp/graphite/local_settings.py
+++ b/webapp/graphite/local_settings.py
@@ -265,7 +265,7 @@ TIME_ZONE = 'Japan'
 #REMOTE_STORE_MERGE_RESULTS = True

 # 2016-09-02: this destroys performance
-REMOTE_STORE_MERGE_RESULTS = False
+#REMOTE_STORE_MERGE_RESULTS = False

 ## Remote rendering settings
 # Set to True to enable rendering of Graphs on a remote webapp

Very strange... Really puzzled here. local should be True for local metrics. Could you please share your /opt/graphite/storage/log/webapp/info.log for periods above with me privately? My email is<EMAIL_ADDRESS>

@atnak - please disregard my request, checking another solution

@atnak - please test current PR - should work now. If not - please give me your /opt/graphite/storage/log/webapp/info.log when you enable REMOTE_STORE_MERGE_RESULTS

Ahh, that local parameter actually [1] this localOnly [2] and hence doesn't represent whether nodes are going to be local or remote.  Confusing naming I guess.

Finally!
Thanks a lot, @atnak - you made that I didn't! I removed my implementation and provide yours.
Please check the latest code - if it works I will squash and merge, mentioning you as an author.
Or you can create own PR and I'll ditch this one out.
Much appreciated!

+1 I think the latest code is good for local queries.

Please check the latest code - if it works I will squash and merge, mentioning you as an author.
Or you can create own PR and I'll ditch this one out.

@deniszh I don't know enough about what REMOTE_STORE_MERGE_RESULTS is doing to follow this through so I prefer it if you authored it.

Although I think this PR is good as it is, I'm wondering if there might be a follow up problem that can be addressed in a subsequent PR...
Since we found that local nodes have redundant intervals, could remote nodes be the same?
In that case, it might be required to reduce nodes to the best measure_of_added_coverage(node, False) per path per remote host.

Since we found that local nodes have redundant intervals, could remote nodes be the same?
In that case, it might be required to reduce nodes to the best measure_of_added_coverage(node, False) per path per remote host.

Yes, maybe. Now it's reducing per path and removing relevant data if merging enabled. Let's address that in separate PR.

I'm going to squash and merge it, to have properly working code ASAP, @obfuscurity

I don't think this PR actually works and does what we want. The usually case is having 'holes' in the middle, not at the end. And when with happens you can't trust the intervals  (because they only have start end end, and do not report 'holes'). The previous did what we want, and I believe it's ok to have a small performance penalty, as long as this setting is not enabled by default.

Yes, this PR is not an ideal, patches are welcome. :) Also not sure how it works with intervals, maybe completely wrong - but merges are working and doesn't bring any troubles for local queries. Sorry, but I can't agree that 900% performance penalty for local queries (which should not be affected at all) is "small".
Not sure do we need to enable merging behaviour enabled by default, but I would like to do that if we able to.

Test results:
Shared frontend:  https://snapshot.raintank.io/dashboard/snapshot/EbbM9e4k01C9czIzgx1AiD8qMLvsznSa
Dedicated frontend:
https://snapshot.raintank.io/dashboard/snapshot/xgfh6rHj0ovNckEWSOw34zgATkbi91KP
Vagrant: https://github.com/deniszh/synthesize/tree/feature/multimaster

The performance penalty here is totally fine, it's only a few milliseconds and that's expected if you set REMOTE_STORE_MERGE_RESULTS because you explicitly want to fill gaps by querying multiple replicas (= a least a remote one). While initially this setting would create an additional query per metric, with my fix it only does one query per glob (usually one).
The most common usecase for this is when you have REPLICATION_FACTOR>1 and a node goes down and come back up with holes. These holes will take hours to be fixed by carbonate, and in the meantime you want to make sure that you're service the correct date. The old implementation of REMOTE_STORE_MERGE_RESULTS + my fix did exactly that with < 10% performance penalty on my setup.
Maybe we should have an additional setting (REMOTE_STORE_FETCH_REPLICAS = x) to state that we one to fetch multiple replicas at any time ? I can write a patch for that, it would be set to 1 by default.

I'm suspecting we're talking about different problems, @iksaif

The performance penalty here is totally fine, it's only a few milliseconds and that's expected if you set REMOTE_STORE_MERGE_RESULTS because you explicitly want to fill gaps by querying multiple replicas (= a least a remote one). While initially, this setting would create an additional query per metric, with my fix it only does one query per glob (usually one).

I'm not talking about performance penalty of querying multiple replicas. That PR was triggered by @atnak 's problem. As you can see on the graph above when he enables REMOTE_STORE_MERGE_RESULTS he got 30000 ms rendering time instead of 8000-10000 ms. It's not 900%, but it's 300-400%. But the main problem was not that, he has NO CLUSTER HOSTS configured. That's totally unacceptable, and I suspected that problem can also happen on hosts with remote nodes with some massive wildcard queries.
After this PR we still have working merging and NO IMPACT on local queries.

The most common usecase for this is when you have REPLICATION_FACTOR>1 and a node goes down and come back up with holes. These holes will take hours to be fixed by carbonate, and in the meantime you want to make sure that you're service the correct date. The old implementation of REMOTE_STORE_MERGE_RESULTS + my fix did exactly that with < 10% performance penalty on my setup.

I know, that was a whole idea behind REMOTE_STORE_MERGE_RESULTS change. It was working on 0.9.x and I believe that new implementation doing exactly the same.

Maybe we should have an additional setting (REMOTE_STORE_FETCH_REPLICAS = x) to state that we one to fetch multiple replicas at any time ? I can write a patch for that, it would be set to 1 by default.

Sorry, I'm totally lost and confused here. It will fetch multiple replicas now, no?
Could you please maybe show problems with current code on test (or your) environment?

Forget everything I said, I just spotted the ' if node.local' line 106.
Thanks for fixing this !

Had me worried for a moment there.  Thanks @deniszh for merging and @iksaif for looking over our fix!

Looking at my graph I can't see any significant performance change (which is why I expected because I do not do local queries). Seems to work !

Thanks for testing, @iksaif !


Invalid argument in lax.gather: Gather op has 3 elements in start_index_map and the bound of dimension index_vector_dim=1 of start_indices is 2.

Hi,
Ordinarily I would consider purely my own fault, but the software itself is telling me to report it as a bug. My jax version is 0.1.59.
Offending code:
import jax
import jax.numpy as np

operand = np.ones((3, 3, 2))
indices = np.ones((20, 2), dtype=np.int64)
jax.lax.gather(
    operand, indices,
    jax.lax.GatherDimensionNumbers(
        offset_dims=(0,),
        collapsed_slice_dims=(),
        start_index_map=(0, 1, 2)),
    slice_sizes=(1, 1, 2))

Error message:

RuntimeError: Invalid argument: Gather op has 3 elements in start_index_map and the bound of dimension index_vector_dim=1 of start_indices is 2. These two numbers must be equal.:
This is a bug in JAX's shape-checking rules; please report it!
https://github.com/google/jax/issues

This code also asks you to report a bug:
jax.lax.gather(
    operand, indices,
    jax.lax.GatherDimensionNumbers(
        offset_dims=(0,),
        collapsed_slice_dims=(),
        start_index_map=(0, 1)),
    slice_sizes=(1, 1, 2))

RuntimeError: Invalid argument: All components of the offset index in a gather op must either be a offset dimension or explicitly collapsed; got len(slice_sizes)=3, output_slice_sizes=0, collapsed_slice_dims=.:
This is a bug in JAX's shape-checking rules; please report it!
https://github.com/google/jax/issues

Hope you did want this bug report! If not please just close it.
I'll also note that the documents for jax.lax.gather are a bit hard to understand.

We do indeed want this bug report! Thanks so much for it; it's super clear.

I'll also note that the documents for jax.lax.gather are a bit hard to understand.

I feel the same way :) Imagine how it was to implement NumPy fancy indexing on top of jax.lax.gather: you have to keep two complicated APIs in your head at once. Actually I couldn't fit them both in my head at the same time, and could only work on them when pair-programming with @hawkinsp!


Create socket connection on load

Create a socket connection with the Daemon when loading the application up.

Done!


⚠ Main Site has degraded performance

In 25fad18, Main Site (https://k2lin.com) experienced degraded performance:

HTTP code: 200
Response time: 2300 ms

Resolved: Main Site performance has improved in e757ae3.


Unclear parameter in recommender.create

The API doc string for recommender.create describes the ranking parameter as Determine whether or not the goal is to rank items for each user. More detail should be provided here.

@hoytak can you tell us more about this parameter?

Sure.  It's covered at a high level in the user guide.   Basically there are two goals with a recommender system -- the first is to provide an accurate prediction of the score (i.e. the error is RMSE), and the other is to recommend items that, with high confidence, have a high score but with which you don't really care about the actual predicted score.  There are a number of cases where using just a prediction of the score is bad -- e.g. an item has a single perfect rating, and the solution is to use a different objective that focuses on predicting only items that have a high score. These tend to perform much worse on RMSE errors but much better on Precision-Recall tasks.


Maintenance: create mechanism to auto publish the layer version for every release

Summary
Right now, everytime we craft a new release, we have to wait for the Layer Pipeline to finish and manually update/re-generate the documentation to update the Layer ARN version.
We should automate this as part of our release pipeline.
Why is this needed?
In order to reduce maintenance overhead.
Which area does this relate to?
Automation
Solution
The CDK Layer Pipeline already outputs the LayerVersionArn for each region. We can leverage this to automate the replacement of the version in our docs.
Acknowledgment

[X] This request meets Lambda Powertools Tenets
[ ] Should this be considered in other Lambda Powertools languages? i.e. Java, TypeScript

This was released in v2 🎈


cannot deploy to azure app service

Does this occur consistently?
Repro steps:

Action: appService.Deploy
Error type: Error
Error Message: error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 Bad Request
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
Version: 0.16.3
OS: linux
OS Release: 4.19.84-microsoft-standard
Product: Visual Studio Code
Product Version: 1.43.0
Language: en

Call Stack
Object.<anonymous> extension.bundle.js:288:373764
rejected extension.bundle.js:288:373312
processTicksAndRejections task_queues.js:89:5

Closing as a dupe of https://github.com/microsoft/vscode-azureappservice/issues/1445


[vcpkg] Environment Variable Passthrough

Currently on Windows the only environment variables available to the portfile are those found on a whitelist hard-coded into vcpkg. This change allows us to set the variables passed through as a Cmake list in the triplet.
A change should be made to vcpkg to sanitize the linux environment.

@cbezault
Do you consider necessary to remove VCPKG_KEEP_ENV_VARS implemented in PR #5650 and only allow passing environment variables through a triplet file?

No I don't think it's necessary, the two can live together.


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit 8408910:
:clock10: Pending: waiting for processors (6 builds ahead of you)
:warning: Docs Build is busy, currently there are 6 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 8408910:
:clock10: Full build: the average full build time is 6 min(s) 6 sec(s), this is based on the last 411 build(s) for this repository.

Docs Build status updates of commit 8408910:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

docs-ref-conceptual/testing.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Made server.set() return itself

Allows for a user to do one line configuration:
server.set('host', 'localhost').set('port', '6020');

Makes sense, thanks!


docopt_macros failing to compile on rustc 1.16.0-nightly (4ecc85beb 2016-12-28)

Running into a error when compiling the docopt_macros crate. I am honestly not to sure on how to fix the issue, but happy to work on a fix if someone can point me in the right direction.
compiler error message
Compiling docopt_macros v0.6.87
error[E0560]: struct `syntax::ast::Path` has no field named `global`
--> ~/.cargo/registry/src/github.com-1ecc6299db9ec823/docopt_macros-0.6.87/src/macro.rs:321:9
    |
321 |         global: false,
    |         ^^^^^^^ `syntax::ast::Path` does not have this field

error[E0308]: mismatched types
--> ~/.cargo/registry/src/github.com-1ecc6299db9ec823/docopt_macros-0.6.87/src/macro.rs:324:25
    |
324 |             parameters: ast::PathParameters::AngleBracketed(tystr),
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `std::option::Option`, found enum `syntax::ast::PathParameters`
    |
    = note: expected type `std::option::Option<syntax::ptr::P<syntax::ast::PathParameters>>`
    = note:    found type `syntax::ast::PathParameters`

error: aborting due to 2 previous errors
error: Could not compile `docopt_macros`.

It looks like this is breakage from the most recent nightly. The fix to this is to discover recent changes to Rust's internal syntax crate and then update the plugin here in this repo. Usually the docs for these internal crates are hosted here, but it looks like they haven't been updated yet. cc @Manishearth
If this issue lingers long enough, then I'll fix it eventually, but I don't know when. I don't have the bandwidth to track nightly changes.
If stability of this crate is important to you, I'd recommend against using docopt_macros.

Thanks for the reply @BurntSushi I'll have a look and see if I can make the fix. Understand keeping up with nightly changes is a lot of work. Thanks 😄

I've stumbled upon this as well and came up a fix in #206 if you're interested.


Update models.py

Fixed deprecated warning for Django 2.0

Looks like it's failing on Django 1.18, which is still on LTS.
I'll merge this when we drop 1.8 support and move to Django 2.0.

This got merged directly a while back.


Only returns up to 500 results.

This is documented, but it seems like support for repositories with over 500 files should be possible.
If no one else solves this by the time I encounter this issue I will happily submit the PR.

if someone wants to increase his limit to 1000 he can use my version, probably I will make it limitless in this week and I will make PR

How do you call x number of results? The default seems to be set to 10 (and I can't increase this).

Hi @coderkind did you try setting maxResults in the plugin options to say 500?

@Chuloo thanks a lot; that sorted it.


feat: Adjust followers/follow ratio to avoid debuff

This is just a small change to avoid debuff the users account given small the proportion of followers / follows.
This would avoid something like:
50 pts * (1000 followers / 100 follows) = 500 pts
50 pts * (100 followers / 1000 follows) = 5 pts

Thank you for the contribution!!


Bug Fix for Checking Grayscale Image

I have attempted to use the program with grayscale images. c_dim will become n for a n x n image (e.g. c_dim = 96 for a 96 x 96 image). By modifying as such, grayscale image could be successfully detected and c_dim will be appropriately assigned with 1.

Thanks for PR!


How can I get the API key?

Could you please provide a way to get the API key? Thank you very much.

Finally I found the API key in https://www.themoviedb.org , through the “tmdb” in the README.


Add blog to JVM Bloggers

I should create PR in repo: https://github.com/jvm-bloggers/jvm-bloggers

Created PR: https://github.com/jvm-bloggers/jvm-bloggers/pull/754


How to highlight dates with events?

A single dot is a little to inconspicuous. How can I highlight the entire date number a different color as shown in the screenshots?

Use FSCalendarDelegateAppearance. Check the DelegateAppearanceExample for details.


blackness and lightness vs sass darken lighten

I am trying to replicate the results of the sass darken and lighten functions using the css color function, however, I am not getting similar results:
/* color-function */
color(#B6FFD4 blackness(30%)) /* #b3b3b3 */

/* sass darken */
darken(#B6FFD4, 30%) /* #1dff7a */

Basically I want a stronger green, which is what I get using sass darken, but I can't figure out how to replicate those results. Thanks!

No idea how to help you. Sass "darken" is nothing standard. blackness & friends on the opposite are supposed to be the things you can find (I think) in software like photoshop or things like that.
Maybe try other modifiers or combine some :/

I see.
Yeah, sass one is not standard, but funny enough it produced what I expected it to produce.
I hoped someone has insights into what the actual difference between these functions are... will try playing around with them more.

@MoOx it is doc issue. We need README section with help for ex-Sass users. For example, how to convert old code.

PR welcome. I don't have time for this.

@perrin4869 I'm curious, did you try saturation instead of darkness?

@IvanVS I've been playing around just now with the functions some more, got some interesting results.
The closest I've been able to get to SASS darken function was to use lightness(-15%). blackness goes the opposite way of what I am trying to achieve. Saturation barely seems to change the color, and it doesn't matter if I use +,-, or just percentage, it is always in the opposite direction of what I want (red, blue to drop, green to remain 255).
I would say that based on my tests, the closest to sass darken is to do lightness(-%), and lighten, lightness(+%)
I can't really figure out whan blackness is trying to do, and it almost seems as though a darkness function is missing...

@perrin4869 Yes, all right, SASS darken & lighten just change a lightness of color. You can see this with color in HSL (last argument of hsl-color specifies a lightness):
darken(#b6ffd4, 30%) // => #1dff7a

// #b6ffd4 === hsl(144.7, 100%, 85.7%)
// #1dff7a === hsl(144.7, 100%, 55.7%)

lightness make the same thing.
Action of blackness you can imagine like change blackness argument of HWB-colors (hue, whiteness %, blackness %).

@pulmo thanks for the explanation! Finally it makes sense now :)
Maybe I should send a PR mentioning this in README.md in case someone else stumbles into this problem?

@perrin4869 PR for docs are always welcome!


[Meta] Upgrade Lucene

[x] Upgrade OpenSearch 2.0 to Lucene 9 snapshot (#1067)
[x] Upgrade OpenSearch 1.x to Lucene 8.9 (#1068)

Lucene 9 was released yesterday.
https://lucene.apache.org/core/corenews.html#apache-lucenetm-900-available

Completed by #1109 and #2487


No support for matlab 7.3 files

This is not  a huge issue, but files saved in MATLAB 7.3 format are not supported. E.g
In MATLAB
test = magic(10)
save('test7.mat','test', '-v7')
save('test73.mat','test', '-v7.3')
In torch
matio = require 'matio'
input1 = matio.load('test7.mat', 'test')
input1 = matio.load('test73.mat', 'test')  -- ERR: File could not be opened: test73.mat

As far as I know, I cannot save large variables in anything other then -v7.3

Any solution to this ?

this really depends not on the bindings themselves, but on the underlying matio support.

Thanks for your prompt reply.
Any non-trivial work-around ?

https://github.com/clementfarabet/lua---mattorch maybe

Thanks.
On Sat, Oct 3, 2015 at 2:49 AM, Soumith Chintala<EMAIL_ADDRESS>wrote:

https://github.com/clementfarabet/lua---mattorch maybe
—
Reply to this email directly or view it on GitHub
https://github.com/soumith/matio-ffi.torch/issues/3#issuecomment-145210419
.


chore: update config

Description
This PR updates the repo config.
Related Issue(s)
Closes #738
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have run yarn format and yarn lint without getting any errors
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@cedoor yes, sure. I will create the same issue and PR there. Thanks for the reminder.


Updated secp256k1 lib

To test: Just need to make sure that base wallet functionality works after the lib update, I don't expect any issue though.

A new build of 30704d1f492ec5a007c448a9541ec4b59842d9e1 has completed succesfully!
Binaries available at https://build.nav.community/binaries/update-secp256k1


Platform Check for Mac method has written

What were proposed in this Pull Request ?

TODO - has been replaced with actual function code base for platform validation for Macintosh.

Temporary file created at local repository using vim, emacs as suffix '~' are added in .gitignore file.

@mythmgn @bluebore Can you please review this PR and merge it if looks good.

done.  Thank you for the change.
On Tue, May 16, 2017 at 10:42 PM, Chetan Khatri<EMAIL_ADDRESS>wrote:

@mythmgn https://github.com/mythmgn @bluebore
https://github.com/bluebore Can you please review this PR and merge it
if looks good.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/baidu/CUP/pull/4#issuecomment-301804368, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAoOuY6XCD4LUanPDtxdBvVZEosMyvcjks5r6bW_gaJpZM4NaRXb
.


bottomless: wait for all background tasks to complete on graceful shutdown

This PR adds a graceful_shutdown method to bottomless replicator, which will wait for all known committed frames to be uploaded to S3 and for all pending snapshots to be uploaded as well prior completion.
There's a matter when to call this method as ReplicationLogger doesn't seem to expose graceful shuttdown method on its own. @MarinPostma could maybe help here.

@Horusiath wouldn't here make sense? https://github.com/tursodatabase/libsql/blob/main/libsql-server/src/database.rs#L66-L67


Jason Dykes details added

I'd like to add my details to your repo so you can see that I have worked through the tutorial

Glad to see you have managed a PR (closed as per tutorial).


constant Error 429 despite having credit/tokens?

Hi, I just set this up, but any time I try to use it I get Error 429: You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors.
this is despite having credit in the API billing page and have no used the API before.
I left it a day and it's still doing it.

In the new OpenAI API configuration you need to see your quota in the organization and project
Organization limits can be found here: https://platform.openai.com/settings/organization/limits
Project limits are accessed by clicking Project > Limits.
You need to make sure that within the limits of your project you are allowing a budgeted cost for the project, and also that the gpt-3.5-turbo-0125 model is allowed

Thanks, I don't see anything that should be causing issues.  I have not used the API, and so it shows my tokens are full, and I have my usage limit high.  I'm in LimitsUsage tier 1 but according to the site that should give me "gpt-3.5-turbo-0125 | 60,000 TPM | 500 RPM10,000 RPD | 200,000 TPD"
Maybe it's just something wrong with my account.

Same problem here.

Had the same problem at first, then I added 5$ to my account, set the proper limits - then it worked.

I can't get this to work. Always get 429.
Added money to the account and it looks like it should not be hitting any rate limits.

Also can't see anything in usage.


Fix AwarenessAttributeDecommissionIT.testConcurrentDecommissionAction

The problem is that this test would decommission one of six nodes. The tear down logic of the test would attempt to assert on the health of the cluster by randomly selecting a node and requesting the cluster health. If this random check happened to select the node that was decommissioned, then the test would fail. The fix is to recommission the node at the end of the test.
Also, the "recommission node and assert cluster health" logic was used in multiple places and could be refactored out to a helper method.
Resolves #14290
Resolves #12197
Check List

[x] Functionality includes testing.

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

Pushed an update to fix spotless errors


Error: Broken @import declaration .... - timeout

When trying to retrieve Google fonts in our gulp build, it usually works fine. Sometimes it fails the first time, works the next. It is very important to us to not make those extra requests, so the processImports needs to be true.
My proposal would be to add a timeout property so it can goto whatever given option or default if not present.

@webdevinci unsure what you're proposing here or if I even understand the issue fully. Furthermore, I'd suspect the potential solution would be found within clean-css itself. Closing for now but please reopen should you with to submit a PR or can provide more detail


Fedora Rawhide metalink not available

osbuild-composer is not able to solve blueprints dependencies due to metalink not available.
Nevertheless, if the repo filed of the url is changed to rawhide in the following way, the url works.
https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64
Error log:

sudo composer-cli blueprints depsolve container
ERROR: BlueprintsError: container: DNF error occurred: RepoError: There was a problem reading a repository: Failed to download metadata for repo '0622ee5d2f904938db225430c09e3681adc20a7e76bee0c80ca7bf65fc8260da' [fedora: https://mirrors.fedoraproject.org/metalink?repo=fedora-38&arch=x86_64]: Cannot prepare internal mirrorlist: Status code: 404 for https://mirrors.fedoraproject.org/metalink?repo=fedora-38&arch=x86_64 (IP: <IP_ADDRESS>)
blueprint: container v0.0.1

Fedora Rawhide repos/mirrors were temporarily unavailable, now they are working again. The metalink is once again available https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64


[devicelab] do not fail test if CPU measurement is not recorded

Description
These tests are flaking because CPU measurement seems to not be reliable.
https://github.com/flutter/flutter/issues/68888

Omitting these keys won't break anything else?

It won't record anything in the devicelab backend, so the benchmark for that run would be null. Whether that is worth occasionally re-running the test I don't know.


Appveyor exceptions

Appveyor currently fails using GHC 7.10.3 on Windows with the error:
  Exception: waitForProcess: invalid argument (Bad file descriptor)

I worked around that with 2136e325b00462b84a06a2d6ba0a77a490f71f2f, but it would be good to get to the source.

I can't reproduce on my Windows machine following exactly the same pattern. No idea what the difference is, so I guess I'll have to be content with avoiding it for now...


Anchor3DRangeGenerator

I'm wondering why the z values within  ranges differ from the point_cloud_range.

Why -0.6 for pedestrians/cyclists and -1.78 for cars?
Do I have to choose these values for my custom (KITTI-based) dataset as well?

Seen, e.g. here:
https://github.com/open-mmlab/mmdetection3d/blob/073f353cf21d31beabcbffa45bef10a6f81abff3/configs/_base_/models/hv_pointpillars_secfpn_kitti.py#L41

Please refer to this issue:https://github.com/open-mmlab/mmdetection3d/issues/986

So, as far as I understand, the z values should match the z position of my ground area in my recordings?

Should match the average height of object centers.

Since I am currently training SECOND and PointPillars on a custom dataset, I am also curious how to choose/adjust the settings for the Anchor3DRangeGenerator.
@Tai-Wang You mentioned that the z-coordinate should match the average height of object centers. Now, the Velodyne sensor in the KITTI setup is positioned at z = 1.73m (see setup). If this coordinate system is used for training, this would mean that the object centers relative to the ground are:

Pedestrians / Bicycles: z = 1.73m + (-0.6m) = 1.13m
Cars: z = 1.73m + (-1.78m) = -0.05m

Furthermore, if we now compute the bottom center of these bounding boxes by taking the anchor box dimensions into account, I end up with:

Pedestrians / Bicycles: z = 1.13m - 1.73m/2 = 0.265m
Cars: z = -0.05m - 1.56m/2 = -0.83m

Is this correct? To me it seems that the anchor z ranges for pedestrians and bicycles are correct but off for cars. If the object center is used, I would expect for cars a z offset of (1.56m/2) - 1.73m = -0.95m and not -1.78m.


Dockerfile.aarch64 for building for Docker on ARMv8

Description
Proposed to create a Dockerfile.aarch64 for building on ARMv8, akin to the existing Raspberry Pi image.
The current Dockerfile is built from Alpine 3.4. The current version of Alpine is 3.5.2. The supportable Alpine images on https://hub.docker.com/r/aarch64/alpine/tags/ include a 3.5 tag, but not a 3.4 tag, so there might reasonably be other issues involved in the move from 3.4 to 3.5.
Other than that I don't anticipate any big issues....

Already got the plan, like Gogs at https://github.com/gogits/gogs/pull/4018

And I think we will update all containers to alpine 3.5

Aha, looks like https://hub.docker.com/r/atzoum/aarch64-gitea/ is a working example from @atzoum

This may duplicated with #691 ?

Not related to #691, this issue only wants a working Dockerfile

resolved by #1130


checkin test

There was an error while validating job 96cff30a-6a47-4e1e-a823-42b3312a2f6e Message:
Result status: Failed
There was a problem accessing Github repository 'https://github.com/Microsoft/cordova-docs.git'.
Details:Microsoft.LightweightJobEngine.Core.Language.ContextCommandBase+ContextCommandException:
Result status: Failed
There was a problem accessing Github repository 'https://github.com/Microsoft/cordova-docs.git'.
---> System.AggregateException: One or more errors occurred. ---> System.ArgumentException: Error clonning repository ---> LibGit2Sharp.NotFoundException: Branch 362 not found. Available branches: origin/master
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetBranch(Repository repo, String name)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass30.<>c__DisplayClass35.b__2a(KeyValuePair2 branch)    at System.Collections.Generic.List1.ForEach(Action1 action)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass30.<CloneRepository>b__28()    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.<ExecuteAction>b__0()    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction(Action action)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository()
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetVersionAsync(String path)
at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.CheckExternalServicesCommand.Do(IDictionary2 context)    --- End of inner exception stack trace ---    --- End of inner exception stack trace ---    at Microsoft.LightweightJobEngine.Core.Language.ContextCommandBase.ThrowIfErrorsLogged()    at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.CheckExternalServicesCommand.Do(IDictionary2 context)
at Microsoft.LightweightJobEngine.Core.Language.JobWorkflow1.RunCommands(Guid jobId, IDictionary2 context, CancellationTokenSource cancelSignal)


Deploy private docker registry to fix magnum docker.io timeout

When creating multiple k8s nodes, all of them pull images from docker.io which results in a timeout

Related to #6


Shortcut/Hotkey for focusing search in grids

Issue description:
Feature request: a keyboard shortcut for selecting search/filter mode in grids.
I'm calling it a request rather than a bug that R/U is swallowed on autoselect since I seem to recall in the past it didn't and was annoying for some people, and might have been changed intentionally.
What happens:
A grid with search in autofocus mode (both JEI & non-JEI) will also eat certain (NEI? JEI?) hotkeys such as R and U for showing recipes/uses for the item under cursor.
Using search without autoselect means clicking in search bar to focus it first.
What you expected to happen:
Some non-mouse way to focus (and maybe defocus?) search field in grid UIs.
Since if you're searching you're going to need the keyboard anyway, a shortcut key/combo would be convenient.
Either a fixed binding like Tab or something bindable through usual MC methods, complexity & usability permitting.
Steps to reproduce:

open grid (with search set to not autoselect)
look longingly at search field
mash random keys
give up and click
searching occurs...

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: <IP_ADDRESS>5
Refined Storage: 1.2.14 (SF3 pack via Curse)

Does this issue occur on a server? [yes/no]
Presumably.  Tested singleplayer only.

Which shortcut are you proposing?

My initial suggestion would be TAB, but I can't remember if that shows online player list even inside GUIs for MP. I'm almost exclusively singleplayer atm so not sure. Basically anything that isn't [A-Za-z] and isn't going to clash with other contextual keys (JEI, NEI, etc) would be fine with me.
Also not sure on technical limitations of what key/combos can be used (iirc why virtually everything uses [sneak]+X), but Ctrl-S or something would also work.
Thinking about it more, ideally it would work like TAB to change focus in other software - so it cycles through the controllable options, in this case probably toggle normal -> search, search -> not-search (so you can search for a thing, and then deactivate so 'R' or 'U' give you usage/recipe)

There you go.


Documentation is missing to avoid shipping proptypes in production mode

Since Preact users are sensitive to bundle size it is not great that the proptypes lib are bundled even in production mode. A note in the README on how to avoid shipping proptypes in a production build would be great.
Currently I can't submit a PR, but it probably involves setting something like the ignorePlugin: https://webpack.github.io/docs/list-of-plugins.html#ignoreplugin

A PR would be great! I've done the stripping before, but it's a little tricky since things import proptypes and call methods on it.  Another option that might be interesting to explore would be having a proptypes-disabled module (or proptypes/disabled) like this snippet that exports only empty functions which can then be easily stripped out via Dead Code Elimination.

Things other than preact-compat itself? I figured it was a single import which should be a no-op.

True, I guess if nothing references the object. Just most React third party libs do use PropTypes, stripping that out is possible, but slightly difficult.

I just tried it out and I have it working on my machine. What I did was add this plugin to my production webpack config:
  new webpack.NormalModuleReplacementPlugin(/^proptypes$/, path.resolve(__dirname, 'proptypes-disabled.js')),

And have a file proptype-disabled.js containing:
function productionTypeChecker() {
}

productionTypeChecker.isRequired = productionTypeChecker;
const getProductionTypeChecker = () => productionTypeChecker;
export default {
  array: productionTypeChecker,
  bool: productionTypeChecker,
  func: productionTypeChecker,
  number: productionTypeChecker,
  object: productionTypeChecker,
  string: productionTypeChecker,
  symbol: productionTypeChecker,

  any: productionTypeChecker,
  arrayOf: getProductionTypeChecker,
  element: productionTypeChecker,
  instanceOf: getProductionTypeChecker,
  node: productionTypeChecker,
  objectOf: getProductionTypeChecker,
  oneOf: getProductionTypeChecker,
  oneOfType: getProductionTypeChecker,
  shape: getProductionTypeChecker,
};

Which is based on: https://github.com/facebook/react/blob/master/src/isomorphic/classic/types/ReactPropTypes.js#L95
To make this a proper solution it would be good to have a proptypes-disabled which should probably be published from: https://github.com/developit/proptypes . This is to make it easier to maintain since proptypes-disabled should be kept in sync with proptypes itself. To publish 2 packages from a single github repo https://github.com/lerna/lerna could be considered.
I can't spend more company time on it for now. So anyone is free to pick this up. I don't think the fix is quite beginner level, but it should not be too hard to pick this up if someone wants to learn / contribute.

oh wow, @0xR I'm pretty sure you just solved developit/proptypes#5 😳

@0xR as noted by @sebmarkbage here, if you want to fully strip out propTypes, you need to also remove their usage from components via babel-plugin-transform-react-remove-prop-types.  I had forgotten this was in my builds.

Unfortunately, my work was the opposite of cleanroom. I guess no1 will be
suing facebook.
The strip proptypes babel plugin is a nice future enhancement. I'll
remember it.
Op wo 18 jan. 2017 18:43 schreef Jason Miller<EMAIL_ADDRESS>
oh wow, @0xR https://github.com/0xR I'm pretty sure you just solved
developit/proptypes#5 https://github.com/developit/proptypes/issues/5 😳
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/developit/preact-compat/issues/285#issuecomment-273546751,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGH2MGVpwsxSLmgZ4zDXHBiaTd0mSPxiks5rTk9dgaJpZM4LkwV-
.

heh, no worries. The interface is public regardless.

Anything new? I'm using preact-compat and I'm seeing the prop-types package in my prod build (already stripping using transform-react-remove-prop-type - but Preact still imports and it and webpack adds it to the bundle automatically)

Seems to be easily solvable today:
Add this to your Babel config (plugins):
['transform-react-remove-prop-types', { removeImport: true, additionalLibraries: ['react-immutable-proptypes'] }]
And this to your webpack config:
new webpack.IgnorePlugin(/prop-types/)
and gone it is.

@kurtextrem exactly right. Only thing I'd change is to use the built-in disabled mode in prop-types - it's smaller and more compatible:
resolve: {
    alias: {
         'prop-types$': 'prop-types/prop-types.min.js'
    }
}

Oh nice, didn't know about that. Thank you Jason :)

@kurtextrem ah you're right - it still does basic validation, just excludes error messaging.  Sounds like we might want to update proptypes/disabled to reflect the prop-types API.

I've followed all leads here in this thread, nothing worked 😢

The babel plugin's remove:true does not strip prop-types from within preact-compat
Aliasing 'prop-types$': 'prop-types/disabled' doesnt work because that file doesn't exist; webpack errors out
Aliasing to the minified file works but the file is still in the bundle at the end of the day

Solved!
new webpack.IgnorePlugin(/prop-types$/)

@developit This can be closed with my fix above 👆

Are you sure? When I put the Ignore line into my build, rendering fails completely as Webpack throws an error "prop-types" not found.

Sorry @kurtextrem for the super long delay 😲
The IgnorePlugin has to be for production builds only -- if a library is requiring it in a production setting, that shouldn't be the case.
As for webpack-plugin-replace, we're using it in Preact CLI here. It's actually intended to break if you don't configure it 😇


Profile page

Search n create a static bootstrap based profile page.
Ststic not dynamic
Or post some link here about sample profile page
Remember profile page will be in the container of dashboard

https://support.edubrite.com/oltpublish/site/cms.do?view=dashboard_account_settings


Bump Dependencies #10405875998

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/10405875998

 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.


Update the whitelist request email address to reflect the new teams

For the moment, set this to be govuk-core-team@ instead of
2nd-line-support@, or transition-dev@ as it was before, to avoid
these requests only being dealt with by people subscribed to the now
disbanded Transition Tool development team list - Jamie, Jenny, me,
etc.

Hopefully soon we'll get around to writing some documentation in the opsmanual for this process and why it is like it is, so that 2nd line can take it on...
(cc @jamiecobbett, @jennyd)

Perhaps it should go to Zendesk instead?

Following a conversation with Jenny around the Zendesk comment and whether or not it's for the Core Team, I spoke to Steph as the second-line delivery manager. She suggested that second-line would be a good place for these requests to be sent if we write some documentation on why they exist and how we deal with them. She's going to talk to Albert about the possibility of Zendesk, as Jenny and I thought that people requesting short URLs might not always have Zendesk access.
Going to close this for now until we have a definite decision, and work on some documentation explaining why and how to approve or deny whitelist requests. Any ideas as to where that documentation can go? If it ends up being first-line support people who deal with it through Zendesk, without touching second-line, the opsmanual isn't the best place. And it's not a sensitive process...


hover effect added by gokaydmrl

Hi, there seems to be a merge conflict, please resolve it

Hi, are you still working on this?

Closed due to no activity, please create a fresh PR if you're still working on this


bug: Dep injection error when using bound method for parsing

# repro.py
import sys
import cappa
from dataclasses import dataclass
from typing import Annotated
from pathlib import Path

class Config:
    @classmethod
    def from_file(cls, path: str | Path):
        return cls()

@cappa.command(name="command")
@dataclass(kw_only=True)
class Command:
    config: Annotated[
        Config | None,
        cappa.Arg(
            short="-c",
            long=True,
            parse=Config.from_file,
            help="Path to the configuration file.",
        ),
    ] = None

def main(args: list[str] | None = None) -> int:
    return cappa.invoke(Command, argv=args)

if __name__ == "__main__":
    sys.exit(main())

python repro.py

Traceback (most recent call last):
  File "/media/data/dev/insiders-project/repro.py", line 35, in <module>
    sys.exit(main())
             ^^^^^^
  File "/media/data/dev/insiders-project/repro.py", line 31, in main
    return cappa.invoke(Command, argv=args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/base.py", line 131, in invoke
    command, parsed_command, instance, concrete_output = parse_command(
                                                         ^^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/base.py", line 239, in parse_command
    command: Command = collect(
                       ^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/base.py", line 357, in collect
    command = Command.collect(command)
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/command.py", line 179, in collect
    arg_defs: list[Arg] = Arg.collect(
                          ^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/arg.py", line 228, in collect
    normalized_arg = arg.normalize(
                     ^^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/arg.py", line 269, in normalize
    parse = infer_parse(self, type_view)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/arg.py", line 582, in infer_parse
    return evaluate_parse(parse, type_view)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/parse.py", line 261, in evaluate_parse
    **fulfill_deps(
      ^^^^^^^^^^^^^
  File "/media/data/dev/insiders-project/.venv/lib/python3.12/site-packages/cappa/invoke.py", line 307, in fulfill_deps
    value = fulfilled_deps[cls]
            ~~~~~~~~~~~~~~^^^^^
KeyError: <class '__main__.Config'>

It looks like the dependency injection system kicks in because it thinks that Config.from_file accepts more than one argument (by looking at the real signature, not taking into account it's a bound method)? Not sure, as the docs mention one can use parse=json.loads, which accepts many arguments, so I'm not sure to understand why Config.from_file would be any different.

This is a bug/side-effect introduced by support for method subcommands.


Filtering

That would be very convenient if letters and digits press would filter options and highlight matched letters with different color.
Also counter of matched lines would be great, example:
(3/18 items match "report")

Filtering may be non-default config option.

Sources of https://github.com/c4spar/deno-cliffy/tree/main/prompt which has search option may help.


Update Set-DbaLogin to properly filter for multiple logins

Type of Change

[x] Bug fix (non-breaking change, fixes #6080)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Updated test to verify multiple logins are processed. Updated filter to account for input object being filtered for more than one login.

I cannot figure out why this commit is showing up in this PR 5740bcc


[Ubuntu] Use python3 to install aws-cli V1

Description
Image generation for Ubuntu 18 is broken because Aws-cli V1 dropped python 2.7 support starting from version 1.20
https://github.com/aws/aws-cli/blob/develop/CHANGELOG.rst#1200
==> azure-arm: Unsupported Python version detected: Python 2.7
==> azure-arm: To continue using this installer you must use Python 3.6 or later.
==> azure-arm: For more information see the following blog post: https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/
==> azure-arm:
==> azure-arm: Provisioning step had errors: Running the cleanup provisioner, if present...

This PR switches V1 installation to use python3.
Related issue:
https://github.com/actions/virtual-environments-internal/issues/2456
Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[x] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu1804, ubuntu2004


docs(authoring changelog): Recommend backticks

Backticks are already used both in the other recommendation bullet points and in the examples. This change makes the recommendation consistent with the examples. This also works better with markdown's support for code-style monospaced formatting.

Thanks!


[Vue] Show correspond html close tag when click on start tag

VSCode Version: 1.13
OS Version: Windows 10

Steps to Reproduce:

Open .vue file (Vue js single file component: https://vuejs.org/v2/guide/single-file-components.html)
Click any tag start

Expected: Corresponding close tag should be highlighted.
Actual Result: All similar tags are highlighted in the current file.

@mubaidr do you have any vue extension installed?

Yes, i do have this one installed: https://marketplace.visualstudio.com/items?itemName=octref.vetur
Is it possible this is being caused by the incompatibly issue?
BTW if i don't use this extension vue files are not recognized (if make vue recognized as html then this will work but other things will fail, like es-lint integration, vue helpers etc)

@mubaidr the vetur extension implements the full vue support, therefore please file this issue against the vetur extension.
@octref the matching tag highlighting is implemented using the 'documentSymbols' language server request.

Tracked in https://github.com/octref/vetur/issues/194.


post release extension vbump

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.977%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
28753

Relevant Lines:
63637

💛  - Coveralls


About Page for the website

The website should have an about page to explain what it is about.

I would like to work on this. Can someone assign me in this?

Hey @amnbr51,
Thank you for expressing interest in the project. I have reached out to the RGSoC team to understand the procedure for assigning tasks. I will get back to you in a couple of days with what they reply. Meanwhile if you have any queries or doubts regarding the project, reach out to me at<EMAIL_ADDRESS>

Hey @amnbr51,
The assignment of a student to a project is done by the organizing committee of RGSoC. If there are any project related queries, please reach out to my email id.
Thanks,
Harshita


Fix flavor is not the core one for the provider images

Pass flavor to OSRELEASE to not use default one defined at https://github.com/kairos-io/kairos/blob/master/Earthfile#L4.
Issue : https://github.com/kairos-io/kairos/issues/1607

Maybe CI is KO 'cause of this : https://github.com/earthly/earthly/issues/2957

No need to wait for CI, thanks @simonfr for the patch!

Thank you @Itxaka. When do you plan to release the next version ?

Thank you @Itxaka. When do you plan to release the next version ?

umm, not sure, we could do a minor bump of the provider-kairos only to bundle this fix..

Thank you @Itxaka. When do you plan to release the next version ?

How about today? :P
https://github.com/kairos-io/provider-kairos/releases/tag/v2.3.1

Fixes https://github.com/kairos-io/kairos/issues/1622


make use of some AWS services

It would be good if SockShop optionally made use of some AWS services, since many users will be running on AWS and hence it helps to show how the integration is done and how it is represented in various tools (e.g. Weave Scope renders AWS services distinctly from others).

I could easily provide a flag for the user service where it would use dynamo or simpledb instead of mongodb.  Is that something you would like to add? @rade

maybe. @2opremio, what do you think?

dynamo or simpledb

I am not familiar with the costs. I assume there is no free tier, but assuming they don't cost too much compared to the instances and that they can be easily deployed I would go for it.
Note that we have tested Scope's representation of external services for Dynamo but not for SimpleDB

SimpleDB is becoming the obscure step child anyway

@2opremio @rade
Do we have a list of AWS services that Scope supports.  Some of these services are not very compatible with DynamoDB

It supports anything accessed through a subdomain in amazonaws.com (e.g.
dynamodb.us-east1.amazonaws.com, s3.amazonaws.com,
sqs.us-east1.amazonaws.com, instancename.id.us-east1.rds.amazonaws.com  ...)
On Thu, Jan 12, 2017 at 12:03 PM, Jason Smith<EMAIL_ADDRESS>wrote:

@2opremio https://github.com/2opremio @rade https://github.com/rade
Do we have a list of AWS services that Scope supports. Some of these
services are not very compatible with DynamoDB
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microservices-demo/microservices-demo/issues/442#issuecomment-272135739,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACQOJLS6kKl4ZeaWHncJmKoliq73_J2Iks5rRgh0gaJpZM4LEODK
.

I will start working on this (through CS). For testing, I will use https://hub.docker.com/r/deangiberson/aws-dynamodb-local/
This issue can be assigned to me.

@rade I integrated catalogue with RDS on ecs deployment.  Is that enough or would you like more services using AWS?

What does it look like in Scope?
Would be good to hook up to more than one AWS service.

I will get a screen shot.
We can add more.

Here is an image of catalogue RDS.  Sorry for the wait, but there was a problem with scope displaying RDS if it was in the same VPC.

👍

The problem he mentions is  https://github.com/weaveworks/scope/issues/2163

@rade
Currently @roberth is working on porting "orders" to Dynamodb.  When that is complete that would add two services.  If that is adequate, I won't look at porting anymore services over to AWS.

@pidster @rade I am closing this ticket.  we have two services using AWS (RDS, DynamoDB).  If you feel we need more feel free to reopen.


Setup a MD link scanning pipeline once the changes are outside of sdk scope.

We are currently lack of the ability to catch the invalid link when the PR has diff outside of sdk/ folder.
We failed the aggregate-report once it checked in, which needs two steps to fix it. This is inefficient.
Example PRs:
https://github.com/Azure/azure-sdk-for-python/pull/13813
https://github.com/Azure/azure-sdk-for-net/pull/13019
Options:

(Optimal) Setup a new pipeline to do MD file link verification once the diff is outside of sdk. This is light-weighted.
We can have link-verification step to scan against any MD files among the diff.
Trigger the aggregate-report pipeline when change is outside of the sdk scope. Not very ideal, as aggregate-report is a little heavy as check too many unrelated stuff.

One option we should consider is adding a "link-checker" or "MD checker" pipeline that will check the links of any MD files that are part of the pull request. If we have this it will optimize the link checking in one pipeline so we can remove it form the others and it will also optimize such that we only verify files that have changed instead of all files (although we might still want to check all files nightly in case some links start failing later).

I wonder if this is a good opportunity to use GitHub actions. GitHub actions allows glob based filters which might be really good for this.

I'm OK testing out github actions, especially if they provide a nice file filtering mechanism.

I can look into Github action for the issue.

Tested the workflow: https://github.com/Azure/azure-sdk-for-java/runs/1184517668?check_suite_focus=true
Working for current usage.

Excellent. I guess we need to come up with a convention for the check names and locations of files etc.

Yes and we need to understand what other, if any, implications there are with starting to depend on Github Actions. Things like where do we get the machine resources and other such things, is the free tier enough or do we need to pay for more resources, etc. While I'm Ok with experimenting with github actions here we do need to think it all the way through.

To minimize the billing of github actions.
Several way of optimization:

We can trigger the actions once path includes *.md files.
Use Linux runner instead of windows.

The issue has been resolved to scan changed files or sdk folder respectively to PR or Ci.


Add fidimag role

Add a role for Fidimag as another package.

Also add a Fidimag job and Makefile target.

Current progress on pkg-006 is that the build works, but the virtualmicromagnetics user can't run all the fidimag tests successfully, even though root can.

Created Issue #12 to further the previous discussion.

Resolved by pull request #14.


Create persistence support for Polygon, LinePath, Vec2s and GraphicElems

This can be checked as part of #85.


POST profile response

a POST request to /api/v1/profile returns a response with content-type: text/html and content of {"success": true}.
It should return a content-type of application/json.

@richardschneider Sorry to approach you out of the blues but I am having issues in setting up the server and was wondering if you could help me with it. Can you please tell me where to find the authentication (cookie) token to be used as given in this tutorial.


nuget/dotnet restore does not pick up nuget.config inside solution directory

Environment

Server - VSTS
account name: adremes.visualstudio.com
build definition name: exchange CI
build number: Build 20180213.10 (id: 2588)

Agent - Private:
OS: Windows Server 2012 6.3.9600
Agent: 2.129.0

Issue Description
We upgraded our nuget and dotnet Tasks from 0.* to 2.*
Using the old Version the tasks would automatically pick up any nuget.config file that was inside the same folder as the solution currently restored.
Using the new version these config files are no longer picket up, either a feed has to be specified manually (we are using multiple feeds), or you have to provide a path to one nuget.config that will be used for all solutions (each solution should use its own nuget.config).
Error logs
The build log shows this warning

##[warning]No package sources were found in the NuGet.config file at C:\buildAgents\agent01_work\2\Nuget\tempNuGet_2588.config

@wertzui ,
If your repo is structured like this you should create a build step per-solution.
Also, we are working on a feature that will allow you to upstream feeds to each other (i.e. FeedA pulls packages from FeedB).  This would allow you to simplify your nuget.configs with a single feed.
Keith

We have the same issue, so I went in and changed the task back to 0.* from 2.* and all works as expected. It now reads the config and processes it pulling the packages from our package manager.


Problem on the first run

On some examples such as
(:integrator, :dim2, :consumption , :control_constraint)

the window with the plot of the solutions shows up but all the graphs stay at zero only on the first run.
Running it again solves the problem.
I have no idea why this behavior occurs.

Is it solved?

The problem is "solved" see #9.


Missing characters on parsed data ");"

My google sheet includes some html tags and some function names or some rgb values on some of them. If google sheets has any of this combination of characters ); (a closing parenthesis followed by a semicolon) it is not included in the parsed results. Just ignores and skips that characters. Probably some parsing error?
Here are some examples:

becomes

As you can see the characters at the end of the rgb values are gone.
Smaller examples again works:
rgb(218, 218, 218); becomes rgb(218, 218, 218
"CallSomeFunction();" becomes "CallSomeFunction("
CallSomeFunction(); becomes CallSomeFunction(
I am using this on node.js v20.11.0
public-google-sheets-parser v1.5.2
Every other text and characters seems to work fine.

Thanks for the report, I've released it to version 1.5.3, can you check if it works?

Yes it works! This was faster than a pizza delivery. Thank you...


Support for multiple GIT_REPO_DIRs?

I have work projects in ~/work/repos and personal projects in ~/play/repos. Is there a way to index both of these together instead of having to pick one or the other?

Hey, sorry I don't think there's a way to do this right now, but that's a great idea. Let me know if this would still be useful


Forced photometry update pipeline - missing match stage

That had been hot patched early on in production (without it, it just got stuck and didn't even finish running any query anyway, so none of the resulting data in the DB has been affected), but adding it here to not forget later on.

Might be worth a quick comment on what drove the allowDiskUse change.

It actually shouldn't be necessary. Basically, before I noticed the missing stage (which I had on a local change, didn't commit it to the original PR I guess...) the sort stage wouldn't run because well it tried to grab the whole table. So I added the allowDiskUse that basically means that if you need more than the 100MB limit for an aggregation pipeline stage, you can use some of the disk.
Now that the missing stage is added it shouldn't be necessary. However, I will still leave it so that if in the future some objects accumulate enough data to go over that limit, it won't crash like it did.
This is already documented in multiple places in the code, so I'd rather not add that here (especially given that I am not sure it will ever be needed in this context now that the pipeline has been fixed).


allow HFQuantizer to run run_compressed=False mode

Add QuantizationConfigHFQuantizer for HFQuantizer to allow run_compressed False.
Minor bug fixes and doc string improvements on compress/decompress pathways

/ready

Might not need
QuantizationConfigHFQuantizer
please hold merge

@dsikka
Yes you are right, previously there was custom config class inheriting QuantizationConfig that i no longer use.
i will update the title


Migrate Linking to Rfam help page

Hi @nataquinones!
Could you please help us migrate Rfam documentation to the new system?
Here is an old Help page:
http://rfam.xfam.org/help#tabview=tab7
It needs to be formatted in restructuredText syntax and put in a new page in this repo.

Thank you!

Well done @nataquinones! Closing this now.
By the way, a great way to close a GitHub issue is to mention it from a commit message:
https://help.github.com/articles/closing-issues-via-commit-messages/
GitHub has tons of neat little tricks like this.


Clamp NaN values

As I can see, Colord is generally very tolerable to the garbage input. But the NaN values (and ones that are coerced to NaN) are not handled:
colord({r: 'foo', g: 'bar', b: 'baz'}).toRgb()
{ r: NaN, g: NaN, b: NaN, a: 1 }

colord({r: 'foo', g: 'bar', b: 'baz'}).toHex()
'#NaNNaNNaN'

This is a proposed fix: To treat NaN values as a finite lower bound in clamp()

Nice! I owe you a beer 🍻


It would be better to have list of organizations and tech stack to select from.

Like a list on the right, containing all the organizations so far accepted and on the left tech stacks, like python, javascript, opengl etc.

@rishabhd786 can you scrape data in a manner such that I have separate json files which have a respective list.. For ex: one json file containing the list of all orgs, another json file containing all the tech stack from 2009-2019?


Set Banner to 'Temporary' view

Love this workflow. Any way to set Banner to temporary, to disappear after seconds? Similarly, have audio stop after one instance of the tone?
Thank you!

I have no idea what Workflow you’re referring to. Please do not delete the template. I need it to be able to help you.

Closing for lack of reply. If you comment with the necessary information, I’ll reopen.


repo-stream update

Opened by mondeja/repo-stream-config/upstream.yaml

Pull Request Test Coverage Report for Build 988748090

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.102%

Totals

Change from base Build 988604357:
0.0%

Covered Lines:
331

Relevant Lines:
334

💛  - Coveralls


publish only dist directory

i use noUnusedParameters: true and see such error during type checking

@scottrippey any review here?


Nondeclared dependency numpy

When running strsimpy.levenshtein import Levenshtein I get the error ModuleNotFoundError: No module named 'numpy' which is correct as I haven't installed numpy on this machine.
I could write a pull request for your setup.py to state the dependencies, but maybe you are aware of more dependencies that should be declared?
(Sorry for opening two separate issues, but I felt they addressed different problems)

Did you update to the latest version? The latest version does not require numpy.
conda activate python35

python35> pip install -U strsimpy
python35> python
Python 3.5.6 |Anaconda, Inc.| (default, Aug 26 2018, 16:30:03)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from strsimpy.levenshtein import Levenshtein
>>>
>>> import strsimpy
>>> strsimpy.__version__
'0.1.3'
>>>

No exceptions occur.


rust: assert that targets are not used with nixpkgs channel

Adds an assertion to guide users to use the fenix channels when using targets.
Resolves #1223.

I just noticed that we have an enum for the channels, but I believe fenix also supports explicit versions. Need to verify.


added some java loop examples

I created a loop example folder. where I added a simple loop and nested loop examples like different types of star patterns so that students can better understand the concept of a loop.

thank you for adding examples


Unable to sign up for Notebooks AI

I am currently taking the Data Analysis with Python Course from FreeCodeCamp, I would like to follow along but it seems there's no longer an option to sign up for Notebooks AI?

No, sorry. Notebooks.ai is shutting down soon.

Sorry to hear that.  Thank you for all your great work. :+1:

so shouldn't I approach this course for learning data analysis?


review

code state: 37c01d329568ed9c81ade2f07f6a122257ea8f9d

[ ] definitions may read as "the specific copy must be an offline copy"
[ ] q1: add option for local search engine?
[x] q3a2: "...only resolves to a page about the software, not the source files themselves" ?
[x] q4a1 No -> probably not, maybe not, maybe
[ ] q5 ask a friend
[ ] q6 ask a friend
[x] q7a1 safer to say No
[x] q7a1 should we leave out "machine-readable"
[x] q7a3 software'a typo
[x] q10a1 "the software or its metadata" -> the metadata?
[x] q10a2 "the software or its metadata" -> the metadata?
[x] q10a3 "the software and its metadata" -> the metadata?
[x] q11a1 "the software and its metadata" -> the metadata?
[x] q11a2 "the software and its metadata" -> the metadata?
[x] q12a1 "the software and its metadata" -> the metadata?
[x] q12a2 "the software and its metadata" -> the metadata?
[ ] q11a3 explain qualified
[ ] q12a3 explain qualified
[x] q13a4 binary is available but the answer should include that they should be linked to "the software"
[x] q14a2 "binary" consider leaving this answer out, given how we defined "the software"
[x] q14a3 "binary" consider leaving this answer out, given how we defined "the software"

Good enough for now, some of the checkboxes above have been spawned into new issues


i18n(zh-cn): Create umbraco.mdx

Description (required)
Create umbraco.mdx

Related issues & labels (optional)

#7879

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

zh-cn
guides/cms/umbraco.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

文中的 Content Delivery API 我觉得都可以保持英文。这像是专有名词

确实，文中其余已修改，感谢指正


make commonJs, AMD module friendly?

Yes, if it improves the usability. Any recommendations?

Would be great. Here are some nice wrappers, such as this one:
// if the module has no dependencies, the above pattern can be simplified to
(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define([], factory);
    } else if (typeof exports === 'object') {
        // Node. Does not work with strict CommonJS, but
        // only CommonJS-like environments that support module.exports,
        // like Node.
        module.exports = factory();
    } else {
        // Browser globals (root is window)
        root.returnExports = factory();
  }
}(this, function () {

    // Just return a value to define the module export.
    // This example returns an object, but the module
    // can return a function as the exported value.
    return {};
}));

Let me know if you'd like a pull request. I'd be happy to do it.

Thanks for the wrapper.
I modified the scripts (didn't test in AMD/CommonJS).
How can I send you the zip?

Great!
I'd be happy to test with AMD. Easiest to just commit it to a branch, I think.

A new branch 'wrapped' is created.
The wrapper is added to the 'mergexml.js' and the 'example.js' is modified to recognize the wrapped class. Your checking would be great.
I have npm 2.5.1 and bower 1.3.12 available in my shell. So, I could try to publish myself in order not to spend your time (if there are no special conditions).

Thanks. I'll try to look at it today or tomorrow.
I think this line could perhaps be root.MergeXML = factory(). That way your global variable name remains the same so you won't have to update example.js (nor your readme.md).

Thanks for observation - corrected.
An anonymous function could be returned on line #34 mergexml.js also.
Maybe it's better to commit to a master branch adding the change log to the readme?

:+1:  Works like a charm!

An anonymous function could be returned on line #34 mergexml.js also.
Yes indeed. That would make a lot of sense.

I'd say it's ready to merge into master and publish on Bower (and npm). Thanks for doing this!

Thanks for the fixes.
Any comments regarding the publishing?
npm info mergexml
bower info mergexml

I added them to #1


Missing semicolon in accordion_tabs_minimal

From line 9, which reads:
var accordionTabs = $(this).closest('.accordion-tabs-minimal')
should be:
var accordionTabs = $(this).closest('.accordion-tabs-minimal');

@h0wn0w Thanks! Would you like to create a PR?

Sure thing; I wasn't totally sure if it was an appropriate move for this correction. Will submit within the hour when I get back to my office.


Stream zip downloads to the browser

Description
After choosing the method to download zip, tar.gz, nothing happens for larger projects and it looks like the preparation took a long time.
Gitea Version
1.19.3
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
1.19.3
Operating System
Windows 10
How are you running Gitea?
Runing under instance
Database
MySQL

I think the operation can be improved to immediately deliver a response with transfer-encoding: chunked and "pipe" the data stream into the response. That will give instantaneous reaction in the browser, at the cost that the browser can no longer show a progress bar on the download because final size is not yet determined.

Note, I'm not sure if transfer-encoding: chunked is the right way, Wikipedia says HTTP2 does not support it. But the basic idea is the same, don't set a content-size and immediately start delivering bytes while the zipping is still in-progress on the server.

I think the operation can be improved to immediately deliver a response with transfer-encoding: chunked and "pipe" the data stream into the response. That will give instantaneous reaction in the browser, at the cost that the browser can no longer show a progress bar on the download because final size is not yet determined.

That is great idea how fix that.


docs for DeepSpeedStrategy

What does this PR do?

Fixes #<issue_number>

Before submitting

Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

Reviewer checklist

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

:books: Documentation preview :books:: https://pytorch-lightning--18735.org.readthedocs.build/en/18735/

@CrypticRevenger can you pls explain what this shall do?

@Borda
The revised Deepspeed Activation Partitioning documentation is intended to provide clear and comprehensive guidance to users who are interested in using Deepspeed activation partitioning, especially in conjunction with model parallelism and zero-3. Here's an explanation of what this documentation shall do:
Introduction: The documentation starts with an introduction, setting the context for why activation partitioning is essential and why it's important to understand its usage conditions.
Activation Partitioning Basics: It explains the fundamental concept of activation partitioning, which involves splitting and managing activations across multiple GPUs or devices to enhance training efficiency for deep learning models.
Activation Partitioning and Model Parallelism: This section clarifies that activation partitioning is closely related to model parallelism and emphasizes that setting up model parallelism correctly is crucial. It provides a step-by-step guide on how to configure model parallelism and enable activation partitioning.
Compatibility with Pipeline Parallelism: It mentions the compatibility constraint between pipeline parallelism and zero-2/zero-3 and advises users to consider this limitation when designing their training setups.
Usage Recommendations: This section provides specific recommendations for users, including:

Emphasizing the independence of activation partitioning from zero-3, encouraging users to explore other model parallelism methods when appropriate.
Encouraging users to seek assistance from the Deepspeed community or maintainers for any activation partitioning-related questions or issues.
Clarifying the GitHub issue reference mentioned in the official documentation, explaining that the combination of zero-stage3 and activation partitioning may not hold particular significance.
Providing detailed setup instructions to ensure that users correctly configure model parallelism, which is essential for activation partitioning.

seems like bot action it is as this PR doesn't make any sense to me... :thinking:


bump(codelldb): up codelldb version to 1.11.1

Describe your changes
Update codelldb package version to 1.11.1
Issue ticket number and link

Checklist before requesting a review

[x] I have successfully tested installation of the package.
[x] I have successfully tested the package after installation.

I tested the installation of the package for different platforms in accordance with the instructions
:MasonInstall --target=linux_arm64 my-package

I launched it on linux_x64 and everything works fine. The situation with displaying Debug information for the Rust language has been fixed
Screenshots

Thanks for the PR! I managed to bump the version in #7448 before I saw this


Simple block allocator

See #3

As for the map vs set discussion, set is definitely fine for now, but since blocks have fixed size, later we should even consider a bitset - with a 1TB disk and 32MB-sized chunks, bitset's size would be around 4KB and it will definitely be faster than a set. But, it's premature optimization for now, set is OK.
Also, general request - please squash all the fixup commits with git rebase -i and force-repush so that git history remains clear. Series for Seastar are only merged if they are clear, i.e. they don't include fixes to themselves. In this particular case, all these commits can be squashed into a single Add block allocator commit. Finally, please add some unittests for the feature.

plz rebase on top of current head of zpp_fs and I'll merge it


[FEAT] Validate that linkdef targets actually exist in the manifest

Today it's totally valid to define a linkdef with a target that's not specified. Because this is a no-op we should reject this at put time.
For example, specifying a trait
        - type: linkdef
          properties:
            target: httpserver-notreal

When there is no component httpserver-not-real should be rejected when the application is put, giving some error message that a linkdef target cannot be found.

Closed by #182


Enabling arenas in runtime proto

This will be enabled by default in future versions, and is necessary to generate protobuf arena methods.

Looking at when this was flipped on by default back in early 2020, it looks like the main drawback is that the binary size increases a bit.  This should be marginal though, and this flag will be deprecated and defaulted to true in future protobuf versions.

Are there any outstanding issues?  I don't seem to have permission to merge

@mkruskal-google, no I was giving other folks a chance to review. I think we can proceed with the merge.

Great, thanks Antonin!
On Wed, Apr 21, 2021 at 5:20 PM Antonin Bas @.***>
wrote:

Merged #348 https://github.com/p4lang/p4runtime/pull/348 into main.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/p4lang/p4runtime/pull/348#event-4627846841, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AO6CNUZ3HGJVOFVM52DWCCTTJ5TWLANCNFSM43JGRPDQ
.


Remove devstudio uninstall shortcut

I was thinking we could remove the uninstall shortcut since some people were getting confused by it. @dgolovin thoughts?

Codecov Report

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

@@            Coverage Diff             @@
##           master     #734      +/-   ##
==========================================
- Coverage   97.33%   97.25%   -0.08%
==========================================
  Files          31       31
  Lines        2664     2805     +141
  Branches      229      408     +179
==========================================
+ Hits         2593     2728     +135
+ Misses         71       64       -7
- Partials        0       13      +13

Impacted Files
Coverage Δ

browser/model/devstudio-autoinstall.js
100% <ø> (ø)
:arrow_up:

browser/pages/confirm/controller.js
78.26% <0%> (-2.51%)
:arrow_down:

browser/model/helpers/downloader.js
96.94% <0%> (-1.52%)
:arrow_down:

browser/services/componentLoader.js
98.78% <0%> (-1.22%)
:arrow_down:

browser/model/jdk-install.js
97.68% <0%> (-0.52%)
:arrow_down:

browser/services/data.js
99.55% <0%> (-0.45%)
:arrow_down:

browser/model/kompose.js
100% <0%> (ø)
:arrow_up:

browser/main.js
100% <0%> (ø)
:arrow_up:

browser/services/platform.js
100% <0%> (ø)
:arrow_up:

browser/model/installable-item.js
100% <0%> (ø)
:arrow_up:

... and 17 more

Continue to review full report at Codecov.

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

@jrichter1 sounds good to me 👍
It always appears first when I search for DevStudio in Windows menu and that is confusing.
Now when uninstall can be triggered from control panel, we can skip creating separate uninstaller shortcut for DevStudio.


Does Group Policy Editor Windows update settings have priority over winutil's Windows update settings?

I used winutil to set Windows updates to Security (Recommended) settings. But I forgot I had tweaked some settings in Group Policy editor.
I enabled three settings in Group Policy for Windows updates:
Do not include drivers with Windows updates
Select when Preview Builds and Feature Updates are received
Select when Quality Updates are received
Do I need to reset the GP's Quality and Feature update settings to Not Configured in order to use winutil's settings? I don't want hardware drivers with my Windows updates no matter what.
Also the max delay period for Group Policy's feature updates is 365 days.  How is winutil able to double that?

It seems like settings configured in GP would be more "secure", as in, they won't get reset or overwritten. If I accidentally changed the delay period in Windows update that would probably overwrite winutil's settings?
Although a 2 year delay period for the feature updates is extra convenient. Are feature updates really that unreliable that we need 2 years for Microsoft to patch things out?
However I'm using Windows 10 and it's going to be end of life by next year. So it probably won't get anymore feature updates anyways.  I don't know, I guess I'll just stick with GP's settings.


Add tests for handling TraceEvent symbol reader

This adds some basic tests for the Microsoft.Diagnostics.Symbols classes. Namely it tests:

Source resolution works correctly, including SourceLink
Disposing a symbol module will drop file locks

@brianrob This is ready for review when you have the chance.

@brianrob This is ready for review when you have the chance.


Language server not recognising True or False as builtins

Environment data

VS Code version: 1.28.2
Extension version (available under the Extensions sidebar): 2018.10.0
OS and version: OSX
Python version (& distribution if applicable, e.g. Anaconda): python2.7 pyenv
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): pyenv virtualenv

Language Server: Microsoft Python Language Server version <IP_ADDRESS> (from startup logs)
Actual behavior
False and True are now being marked as use before defined, suggesting they're no longer recognised as built ins.

Expected  behavior
The poor booleans are not targeted as being issues.
Steps to reproduce:
See screenshot above.

Interesting, I cannot replicate this at my end.
Are you able to replicate this consistently?

i have the same issue; even a simple test case like this triggers it:
if True:
    print "hi"

VS Code version: 1.28.2 and 1.29.0
Extension version (available under the Extensions sidebar): 2018.10.0
OS and version: OSX 10.14
Python version (& distribution if applicable, e.g. Anaconda): python 2.7.15 from homebrew
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Language Server: Microsoft Python Language Server version <IP_ADDRESS> (from startup logs)

I can make this happen on my machine, but only once, then it goes away for all files. I'll look into this upstream (and keep discussion there).

This issue was moved to Microsoft/python-language-server#394

I can no longer replicate this issue within the same project for what it's worth.

I can't either, unfortunately. Making it very hard to track down...

Ok, I have been able to replicate this in my python 2.7 project.
When the project is first opened everything is fine. I notice that once the project has finished being analysed I see the underlining of True/False with use before def error.
I'm not sure if the warning is shown some time before analysis is completed though - as it takes about 10 minutes on my project and watching a single value for that long is tricky.

Same here:

I also see this problem.

VS Code version: 1.26.1
Extension version: 2018.10.1
OS and version: Ubuntu Linux 17.10, 64-bit
Python version: 2.7.14 and 3.6.6
Language Server: Microsoft Python Language Server version <IP_ADDRESS>

I have had it consistently for many weeks.

VS Code Version 1.29.1 (1.29.1)
Python (microsoft) extension 2018.10.1
Python 2.7.10 64-bit
OSX
Python Extension Pack 1.4.0 (includes Magic Python syntax highlighting)

and ... just deactivated Python Extension Pack and the bug is gone.  I think it was linter vs linter.

I have this issue as well, amongst other random/erroneous things that Python linter reports as being used before definition.

This is an upstream issue with the language server. If you have issues with it, we'd appreciate it if you could report it in Microsoft/python-language-server#391, or create a new issue if it's detecting something other than True/False as use-before-def.
I've been attempting to reproduce this for the past few weeks without any luck, so if you can make it happen consistently in some setup, I'd appreciate knowing (again, in the other repo's issue tracker).

Fixed upstream.