Simplifying TexTemplates and Creating Template Library

Starting work towards:
https://github.com/ManimCommunity/manim/issues/467
but also towards simplifying TexTemplates.
TexTemplate() and related classes
Creates TexTemplate() class that manages tex templates.
TexTemplate() is the default template which loads all the packages as the default 3b1b template. BasicTexTemplate() meanwhile creates a tex template that only loads basic AMS packages.
A TexTemplate object has methods like add_to_preamble(txt) or add_to_document(txt) that allow you to modify the template to fit your needs.
Finally there is the TexTemplateFromFile() class that creates a TexTemplate() object from a file and this is the class used when manim is called with the --tex_template CLI argument.
Each TexTemplate has a tex_compiler attribute and an output_format attribute. The default is to use the latex compiler to get a .dvi output, but the system (implemented in tex_file_writing.py) is capable of using xelatex to get .xdv output or lualatex to get .pdf output and any combination thereof.
The Template Library
In addition to basic functionality, this PR also introduces ready-to-use tex template objects.
They are collected under the names TexTemplateLibrary and TexFontTemplates.
The TexTemplateLibrary contains just 4 (well 3) templates at the moment.
TexTemplateLibrary.default # the default template
TexTemplateLibrary.threeb1b # the 3b1b template (currently the same as the default)
TexTemplateLibrary.ctex # the 3b3b template with the use_ctex flag set
TexTemplateLibrary.simple # the simple template with only AMS packages.

The TexFontTemplates collection meanwhile contains all the font configurations that support maths-mode as described here: http://jf.burnol.free.fr/showcase.html
It contains 62 templates ready to use.
TexFontTemplates.american_typewriter,  # "American Typewriter"
TexFontTemplates.antykwa,  # "Antykwa Półtawskiego (TX Fonts for Greek and math symbols)"
TexFontTemplates.apple_chancery,  # "Apple Chancery"
TexFontTemplates.auriocus_kalligraphicus,  # "Auriocus Kalligraphicus (Symbol Greek)"
TexFontTemplates.baskervald_adf_fourier,  # "Baskervald ADF with Fourier"
TexFontTemplates.baskerville_it,  # "Baskerville (Italic)"
TexFontTemplates.biolinum,  # "Biolinum"
TexFontTemplates.brushscriptx,  # "BrushScriptX-Italic (PX math and Greek)"
TexFontTemplates.chalkboard_se,  # "Chalkboard SE"
TexFontTemplates.chalkduster,  # "Chalkduster"
TexFontTemplates.comfortaa,  # "Comfortaa"
TexFontTemplates.comic_sans,  # "Comic Sans MS"

and so on.... (complete list is visible in example_scenes/advanced_tex_fonts.py and in utils/tex_templates.py)
Further changes
Tex mobjects and MathTex mobjects no longer have the type attribute (in CONFIG) but instead come with a tex_environment attribute.
Thus, what used to be type=text is now tex_environment=None and what used to be type=tex is now tex_environment="align*".
This approach makes more sense (it is easier to understand what tex_environment means than what type mean) and it allows for more flexibility as it is now easy to create Tex Mobjects for other tex environments like arrays, eqnarrays, displaymath, ... .

I think I'm ready for some feedback.

the manim.utils.tex contains three classes with Template in their name, but there is also another module
manim.utils.tex_templates. Why are these "template" classes not part of the "template" module?

Well the manim.utils.tex is where the functionality of Tex Templates is defined. Creating basic templates. Modifying templates. Creating templates from files.
manim.utils.tex_templates contains actual tex templates - the objects - and a whole lot of them.
I could rename it from tex_templates to Tex_template_library. Do you think that would clarify things?
I'll add some more docstrings. TBH I only learned about how to set them yesterday :)

I have docstrings for every new class and I have added more docstrings to the methods.
There are also extensive comments in the tex_templates.py file and I have added examples to the documentation that make use the the TexTemplate class and methods and also the template library.
I need some more advice. How shall I proceed?

Ok. I think I'm done here.
@PhilippImhof ?

Ready for final(*) review.
(*) hopefully

this still wasnt resolved; i guess we should just add this to the long description then?

what do you mean? Is this still not correct?
https://github.com/cobordism/manim/blob/refactor-tex-templates/manim/utils/tex_templates.py#L904

This time I clicked to accept the suggestions in github web interface instead of submitting a commit with the changes myself
... and now black fails.
I'm tired of this. Please either merge or reject... do we really need all this back and forth about a newline character in a comment string?
https://github.com/ManimCommunity/manim/pull/483/commits/73373595fa2e8987ce76842117592ddd7554b784

This time I clicked to accept the suggestions in github web interface instead of submitting a commit with the changes myself
... and now black fails.

Probably the wrong indentation for the closing triple quote on L187

Don't touch anything for a sec, I'm about to merge this

I count two approvals now. Any documentation tweaks can be made later on.

this still wasnt resolved; i guess we should just add this to the long description then?

what do you mean? Is this still not correct?
https://github.com/cobordism/manim/blob/refactor-tex-templates/manim/utils/tex_templates.py#L904

huh, weird, it still appeared as "Usage" for me; now it is correct. Sorry!

Any documentation tweaks can be made later on.

We have to be careful with this approach, as we can't just pile up endless work for ourselves. We need to make sure each PR has appropriate documentation.
This one seems to be reasonably good already, however, given the multiple reviews.

I agree with you. And I also agree with @cobordism in that going back and forth about single blank lines seems a bit excessive. We need better ways of doing it. I keep wishing for a docstring autoformatter, like black but for docstrings.

What about this:
https://stackoverflow.com/questions/42123798/is-there-any-way-to-lint-a-python-file-to-check-for-numpy-documentation-style-ad

That looks good. If anyone could try that out locally and see how that works that'd be great. cc @ManimCommunity/docs

class InCodeTexTemplate(Scene):
    """This example scene demonstrates how to modify the tex template
    for a particular scene from the code for the scene itself.
    """

    def construct(self):
        # Create a new template
        myTemplate = TexTemplate()

        # Add packages to the template
        myTemplate.add_to_preamble(r"\usepackage{esvect}")

        # Set the compiler and output format (default: latex and .dvi)
        # possible tex compilers: "latex", "pdflatex", "xelatex", "lualatex", "luatex"
        # possible output formats: ".dvi",  ".pdf", and ".xdv"
        myTemplate.tex_compiler = "pdflatex"
        myTemplate.output_format = ".pdf"

        # To use this template in a Tex() or MathTex() object
        # use the keyword argument tex_template
        text = MathTex(r"\vv{vb}", tex_template=myTemplate)
        self.play(Write(text))
        self.wait(1)

this script is working on my machine! :)
and this as well!
class TexTemplateFromCLI(Scene):
    """This scene uses a custom TexTemplate file.
    The path of the TexTemplate _must_ be passed with the command line
    argument `--tex_template <path to template>`.
    For this scene, you can use the custom_template.tex file next to it.
    This scene will fail to render if a tex_template.tex that doesn't
    import esvect is passed, and will throw a LaTeX error in that case.
    """

    def construct(self):
        text = MathTex(r"\vv{vb}")
        self.play(Write(text))
        self.wait(1)

import os ; import sys
from pathlib import Path
if __name__ == "__main__":
    project_path = Path(sys.path[1]).parent
    script_name = f"{Path(__file__).resolve()}"
    os.system(f"manim  -l --custom_folders --tex_template /home/projects/manim-community/example_scenes/custom_template.tex --disable_caching -s -p -c 'BLACK' --config_file '{project_path}/manim_settings.cfg' " + script_name)


Add tests for Scheduler job and job definition creation with input folder, refactor execution manager test

Add tests for Scheduler job and job definition creation with input folder
Refactor DefaultExecutionManager test to use db fixtures

Thank you for looking into this @dlqqq


Composition over Inheritance for Hierarchy classes + Default MH Updaters

This PR introduce a major code re-factoring for the Hierarchy classes. In order to further maximize the amount of code that can be reused, we changed the code pattern for hierarchies, for which the polymorphic behavior is now achieved via composition.
To be precise, each hierarchy can be seen as the composition of a Likelihood, with obvious meaning (thus managing the state of the hierarchy, I/O methods etc.) and a PriorModel, which manages the hyperparameters and prior of the hierarchy, their update and so on.
This code choice preserves code readability, the front end API for the hierarchies whilst allowing a huge simplification in defining a new Hierarchy, once the Likelihood and the PriorModel are already available.
Moreover, this new pattern allows a separate implementation of the update algorithm for the hierarchy. At this stage, thanks to @mberaha contribution to this branch, we have several metropolis updaters that can be used as default update mechanism in a new hierarchy (while allowing possible ad-hoc Gibbs-Sampling strategies). This could be a major simplification for end users, which are now not required to implement the strategy for the hierarchy, since they can rely on default updaters.
Tasks yet to accomplish

[x] Finish the porting of LinRegUniHierarchy
[x] Finish the porting of LapNIGHierarchy
[x] Finish the porting of FAHierarchy
[ ] Documentation
[ ] Bugs / Optimization etc.

Well this looks like a lot but if you get a closer look @TeoGiane changed only 64 files! 😂😂😂

Well this looks like a lot but if you get a closer look @TeoGiane changed only 64 files! joyjoyjoy

Thanks @mberaha, I have not detailed this fact: several changes were needed to use Stan automatic differentiation in Metropolis updaters. To do so, you need to include <stan/math/rev.hpp> and this should be done BEFORE <Eigen/Dense> and <stan/math/prim.hpp>. Using directly the <stan/math/rev.hpp>, automatically include the aforementioned libraries.

@mberaha With the last three commits I have changed how posterior hypers are managed. Now, we have a SemiConjugateUpdater class which handles updaters in which the prior and posterior hyperparameters have the same structure. In this way, we manage post_hypers only in those updaters.
To do so, I had to change some backend interface, now posterior parameters are passed from PriorModels to Updaters via protocol buffers. This is still not perfect, as I would like to set the use of prior hyperparameters as default behavior of PriorModel::sample(). Before doing so, I would like an opinion.

This is still not perfect, as I would like to set the use of prior hyperparameters as default behavior of PriorModel::sample(). Before doing so, I would like an opinion.

I think that we can make use of boost::optional here. Here is a simple example on the usage
#include <boost/optional/optional.hpp>

int foo(boost::optional<int> val = boost::optional<int>()) {
  if ( val )
    return *val + 2;

  else return foo(5);
}

TEST(optional, misc) {
  ASSERT_EQ(foo(1), 3);
  ASSERT_EQ(foo(), 7);
}

Part 4 out 4 of four, that is, the last one! I really like the new high-level structure. I have just a small question: why putting the states in a subfolder of hierarchies/likelihoods rather than hierarchies? Also, after dealing with all commented lines, please mark conversations as resolved, or even delete the message, so that this conversation is cleaner.
Now, if you will, I'm gonna go and sleep for 2 days.

With these last commits I gave a general clean to the whole code (thanks to @brunoguindani suggestions). Some stuff still needs to be done, I will go as quickly as possible and keep you up to date as I add more commits.

Tasks accomplished from the last review:

[x] I have introduced the to_proto() method in some States class. This makes code more readable, as suggested by @mberaha
[x] I have introduced a new callable class, named covariates_getter, which is used to avoid code repetitions in *_grid methods in Hierarchy and Likelihood classes, as suggested by @brunoguindani.
[x] Removed test_mh_updater from the parent folder, as it is no more necessary (we can think about a possible different location, if we want to preserve it).

Things still left behind:

[ ] Clean the code I commented during these last commits (which is still to let you see the changes).

Things I would split in future PRs

Documentation
Improve the States classes and give them a more rigid structure (this is my idea);
Avoid back and forth proto conversions as suggested by @mberaha in a still unresolved conversation;

Does the code run fine? If so, I'm fine with merging this, then polishing with other PRs. Before that, please make sure the Gamma-Gamma example works -- I see the conversation is still unresolved


Adds a watchdog to forcefully shutdown v1.24 kube-apiserver that are stuck in shutdown

How to categorize this PR?

/area control-plane
/area ops-productivity
/kind bug
What this PR does / why we need it:
This PR improves #7250 by also adding a watchdog sidecar to the kube-apiserver when the k8s version is 1.24. The initial idea was that #7250 will prevent negative effects from happening if the kube-apiserver gets stuck during shutdown and then operators will have to manually clean up the broken kube-apiserver containers. However, we have seen that this issue occurs quite often and operators cannot always react quick enough to clean the broken kube-apiservers.
The sidecar that this PR adds tries to check the availability of the kube-apiserver every 10 seconds. When it receives an error code 429, which is the error code that is returned when the kube-apiserver is being shut down and the shutdown--send-retry-after=true flag is set. It then checks to see if the /readyz is successful or not. When the kube-apiserver is getting shutdown, the /readyz endpoint is not successfull. After 5 subsequent checks that return the same codes, the watchdog assumes that the kube-apiserver is stuck in shutdown and sends a SIGTERM which should stop the kube-apiserver process.
As an additional explanation to #7250, this issue can occur if the kubelet's liveness probe for the kube-apiserver container fails. Then the kubelet will  send SIGTERM which will trigger the shutdown of the kube-apiserver. However the liveness probe can then become successful as it is not tied to whether the kube-apiserver is shutting down or not. Since kubelet now detects that the kube-apiserver is "live" it never sends a second SIGTERM signal to force the shutdown. Therefore due to the auditlog configuration the kube-apiserver process becomes stuck.
Another way that the issue can happen, is if kubelet gets restarted after having sent the first SIGTERM.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
To reproduce the issue locally and test this PR you have to do the following changes:

Apply an empty auditlog policy configmap that just logs everything in your project in your local cluster. Here's an example of the policy:

apiVersion: v1
kind: ConfigMap
metadata:
  name: audit-everything
data:
  policy: |
    apiVersion: audit.k8s.io/v1
    kind: Policy
    rules:
      - level: Metadata

Configure the local shoot with the auditlog policy:

index 00f29e7a1..f0e60978f 100644
--- a/example/provider-local/shoot.yaml
+++ b/example/provider-local/shoot.yaml
@@ -32,10 +32,13 @@ spec:
       maxSurge: 1
       maxUnavailable: 0
   kubernetes:
-    # TODO(ialidzhikov): Update to 1.26.0 after the merge of https://github.com/gardener/gardener/pull/7275.
-    version: 1.25.4
+    version: 1.24.8
+    kubeAPIServer:
+      auditConfig:
+        auditPolicy:
+          configMapRef:
+            name: audit-everything
     kubelet:
-      seccompDefault: true
       serializeImagePulls: false
       registryPullQPS: 10
       registryBurst: 20

Change pkg/operation/botanist/component/kubeapiserver/deployment.go with

--- a/pkg/operation/botanist/component/kubeapiserver/deployment.go
+++ b/pkg/operation/botanist/component/kubeapiserver/deployment.go
@@ -474,6 +474,8 @@ func (k *kubeAPIServer) computeKubeAPIServerCommand() []string {
        out = append(out, fmt.Sprintf("--audit-policy-file=%s/%s", volumeMountPathAuditPolicy, configMapAuditPolicyDataKey))
        out = append(out, "--audit-log-maxsize=100")
        out = append(out, "--audit-log-maxbackup=5")
+       out = append(out, "--audit-log-batch-max-size=2")
+       out = append(out, "--audit-log-mode=batch")
        out = append(out, "--authorization-mode=Node,RBAC")

        if len(k.values.APIAudiences) > 0 {

To send a single SIGTERM to a kube-apiserver container of your shoot, you first have to get its container ID (e.g. by using this k  get po <kube-apiserver-pod-name> -ojson | jq -r '.items[] | .status.containerStatuses[] | select(.name == "kube-apiserver") | select(.ready) | .containerID' | sed  s^containerd://^^g After that exec into the kind cluster that runs your shoot's control plane and run the following command:
ctr -n k8s.io task kill -s SIGTERM <container-id>

This will cause the kube-apiserver process to get stuck during shutdown.
Thanks @vpnachev for providing these steps.
Release note:

Added a `watchdog` container to `kube-apiserver` pods for kubernetes `v1.24` which will monitor if the `kube-apiserver` process is working properly and use some heuristics to detect if it is stuck during shutdown. If that happens it will forcefully cause it to finish shutting down by sending a `SIGTERM` signal to it.

/kind bug

/assign @oliver-goetz

/assign

This approach looks good in my opinion. I tested it successfully in kind setup with extensions.
I introduced two minor changes:

watchdog.sh script now only evaluates HTTP headers instead of the whole response. This should avoid weird behaviour like when the git commit includes 429 coincidentally
the ConfigMap for watchdog script is now unique to make it easier updating it (and restarting the pod) in the future

a second opinion is welcome @ary1992 😄

An off-topic question. I accidentally pushed a file from testdata/ directory before and just noticed that there is already another file in the testdata folder. Was is pushed by accident too? If so I could clean it up.

Thank you for confirming @oliver-goetz .
/lgtm
/approve

An off-topic question. I accidentally pushed a file from testdata/ directory before and just noticed that there is already another file in the testdata folder. Was is pushed by accident too? If so I could clean it up.

It was present since https://github.com/gardener/gardener/pull/4639 :eyes:

/milestone v1.63

/hold

An off-topic question. I accidentally pushed a file from testdata/ directory before and just noticed that there is already another file in the testdata folder. Was is pushed by accident too? If so I could clean it up.

It was present since #4639 👀

I don't think so - this is an actual test for the alerting rules.

/hold cancel


[PE-D][Tester C] Version history not updated

The version history is still 0.2 and remains not updated to the current version. This does not match the release file.

Labels: severity.VeryLow type.FunctionalityBug
original: chantellyu/ped#7

Resolved


CS2101 UG improvements

Codecov Report

Merging #376 (c5ce11a) into master (d731c33) will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #376      +/-   ##
============================================
+ Coverage     68.45%   68.48%   +0.02%
- Complexity     1136     1138       +2
============================================
  Files           136      136
  Lines          3871     3871
  Branches        521      521
============================================
+ Hits           2650     2651       +1
  Misses          996      996
+ Partials        225      224       -1

Impacted Files
Coverage Δ

.../seedu/address/model/lesson/CalendarEntryList.java
85.20% <0.00%> (+0.59%)
:arrow_up:

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 d731c33...c5ce11a. Read the comment docs.


v2.0.1

This PR represents v2.0.1.

A new version of the package @metamask/controllers (2.0.1) was published at 2020-06-18T13:56:00.704Z from [redacted]. The shasum of this package was 33b0e2826fb6d4aa582acaff6b347e6abe0f54f5.


python311Packages.llama-index-graph-stores-neo4j: 0.2.4 -> 0.2.5

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 320976 run on x86_64-linux 1

2 packages built:

python311Packages.llama-index-graph-stores-neo4j
python311Packages.llama-index-graph-stores-neo4j.dist


Manage app meta data

App publishers should be able to update their meta data like description, etc..

This depends on the ability to verify app owners. Until now still unsolved for the app mining program.


My code gave me two errors first : RuntimeError: mat1 and mat2 shapes cannot be multiplied (256x256 and 400x120) second: I don't see a LeNet class in your code,just a Net class.

My code gave me two errors
first :
RuntimeError: mat1 and mat2 shapes cannot be multiplied (256x256 and 400x120)
second:
I don't see a LeNet class in your code,just a Net class.

I'm so sorry, and I have updated "net.py" again to fix the problem you mentioned.


Fixed missing ` in documentation

Fixed missing backtick in documentation of sodiumoxide::crypto::secretstream::xchacha20poly1305::Stream::finalize

The clippy errors are unrelated to this patch and I've filed a PR to fix them.

bors: r+

bors: r+


Parent Proxy sometimes lost Cache-Control header lines

I noticed that trafficserver's parent proxy sometimes lost the 2nd and subsequent Cache-Control header lines when origin response have two or more Cache-Control header lines.
I confirmed that this behavior occurs when trafficserver is configured Hierarchical Caching , and this behavior don't occur when trafficserver isn't so.
For explaining about this behavior, I built trafficserver from latest source code ( commit: 75e7fc340a5de90c9453ebc8b5302a41a3f73ce8 ) on master branch, and did gold_tests on my repo ( nozomi1773/trafficserver-test-docker--multiple-cache-control-heders
 ).
The autest origin's response 2 Cache-Control line definitions are integrated into 1 Cache-Control line (It is a behavior of autest origin),
for that reason, I changed origin to nginx and ran this tests.
I confirmed that this behavior is reproducible on multi_cache_control_origin_is_nginx.test.py.
I entered "via" informations in this *.test.py file.
Could you check this behavior ?
logging information
I confirmed that this behavior occurs on version 8.0.3 too.
And I collected log on parent and child .
cqh_cache_control:%<{Cache-Control}cqh>
pqh_cache_control:%<{Cache-Control}pqh>
psh_cache_control:%<{Cache-Control}psh>
ssh_cache_control:%<{Cache-Control}ssh>
cssh_cache_control:%<{Cache-Control}cssh>

At the time of loss Cache-Control header lines,  the following content was logging.
If origin have the following 2 Cache-Control lines.
Cache-Control: s-maxage=600, public
Cache-Control: no-cache

1st request was the following.
< Parent >
cqh_cache_control: -
pqh_cache_control: -
psh_cache_control: "s-maxage=600, public, no-cache"
ssh_cache_control: "s-maxage=600, public, no-cache"
cssh_cache_control: -

< Child >
cqh_cache_control: -
pqh_cache_control: -
psh_cache_control: "s-maxage=600, public, no-cache"
ssh_cache_control: "s-maxage=600, public, no-cache"
cssh_cache_control: -

2nd request was the following.
< Parent >
cqh_cache_control: -
pqh_cache_control: -
psh_cache_control: "s-maxage=600, public"            ← NOTE: on Proxy Response header lost "no-cache"
ssh_cache_control: "s-maxage=600, public, no-cache"
cssh_cache_control: -

< Child >
cqh_cache_control: -
pqh_cache_control: -
psh_cache_control: "s-maxage=600, public"
ssh_cache_control: "s-maxage=600, public"
cssh_cache_control: "s-maxage=600, public"

@vmamidi Can you take a look please ?

Looks like there's some code that's not checking for duplicate fields. There is a clear loss of information which is wrong.

Looks like there's some code that's not checking for duplicate fields. There is a clear loss of information which is wrong.

Yes thats exactly what it is. Im also not sure this is directly related to parent selection.  Testing here when it gets to
HttpTransact::build_response,
`[Sep 15 21:14:09.652] [ET_NET 12] DEBUG: <MIME.h:1555 (value_append)> (evan) mimehdr val append creating, name: Etag, len: 4, value: "5f5faad3-1a"Cache-Controlmax-age=5, publicCache-Controlno-cache, len: 13
[Sep 15 21:14:09.652] [ET_NET 12] DEBUG: <HttpTransact.cc:7866 (build_response)> (evan) [0] Appending field: Etag, len: 4, val: "5f5faad3-1a"Cache-Controlmax-age=5, publicCache-Controlno-cache, len: 13, total: 5
[Sep 15 21:14:09.652] [ET_NET 12] DEBUG: <MIME.h:1555 (value_append)> (evan) mimehdr val append creating, name: Cache-Control, len: 13, value: max-age=5, publicCache-Controlno-cache, len: 17
[Sep 15 21:14:09.652] [ET_NET 12] DEBUG: <HttpTransact.cc:7866 (build_response)> (evan) [0] Appending field: Cache-Control, len: 13, val: max-age=5, publicCache-Controlno-cache, len: 17, total: 5
[Sep 15 21:14:09.652] [ET_NET 12] DEBUG: <MIME.h:1555 (value_append)> (evan) mimehdr val append creating, name: Via, len: 3, value: http/1.1 traffic_server (ApacheTrafficServer/10.0.0 [uIcSsNfUpNeN:t cCSpSs ] [http/1.1 tcp ipv4]), len: 97
[Sep 15 21:14:09.652] [ET_NET 12] DEBUG: <HttpTransactHeaders.cc:1135 (add_server_header_to_response)> (http_trans) Adding Server: ATS/10.0.0
+++++++++ Base Header for Building Response +++++++++
-- State Machine Id: 0
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Tue, 15 Sep 2020 21:14:09 GMT
Content-Type: text/plain
Content-Length: 26
Last-Modified: Mon, 14 Sep 2020 17:39:31 GMT
Connection: keep-alive
Accept-Ranges: bytes
Etag: "5f5faad3-1a"
Cache-Control: max-age=5, public
Cache-Control: no-cache
+++++++++ Proxy's Response 2 +++++++++
-- State Machine Id: 0
HTTP/1.1 304 Not Modified
Date: Tue, 15 Sep 2020 21:14:09 GMT
Etag: "5f5faad3-1a"
Cache-Control: max-age=5, public
Connection: keep-alive
Via: http/1.1 traffic_server (ApacheTrafficServer/10.0.0 [uIcSsNfUpNeN:t cCSpSs ] [http/1.1 tcp ipv4])
Server: ATS/10.0.0`
So it gets stripped out in that function. The value passed in to the mime parsing there has both headers combined in the value but the length only covers the first one and doesnt know how to parse dupes
Just throwing this in here, still looking in to it


Helm: add additional labels to resources

Some environments often enforce labeling policies that doesn't allow to run workloads without certain mandatory labels.
This PR adds the ability to configure labels in the chart values for all the resources created by the Helm chart.

Thanks @ruben-rodriguez!


Remove extra s.

Codecov Report

Merging #197 into rc-ng4-upgrade will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff              @@
##           rc-ng4-upgrade   #197   +/-   ##
=============================================
  Coverage             100%   100%
=============================================
  Files                  39     39
  Lines                 947    947
  Branches              144    144
=============================================
  Hits                  947    947

Flag
Coverage Δ

#builder
100% <ø> (ø)
:arrow_up:

#runtime
100% <ø> (ø)
:arrow_up:

#srcapp
100% <ø> (ø)
:arrow_up:

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 6de9f1f...19f1ba9. Read the comment docs.


[SPARK-33357][K8S] Support Spark application managing with SparkAppHandle on Kubernetes

Co-authored-by: hongdd<EMAIL_ADDRESS>What changes were proposed in this pull request?
Supporting SparkAppHandle object to be able to manage a running Spark application on Kubernetes. It can be used to monitor the application changes and to stop the application by pod deletion.
This Pull Request has been raised due to a inactivity of a previous one - #30520
Why are the changes needed?
There is an inconsistency in the Spark application managing with SparkAppHandle object between Kubernetes and other resource managers such as Yarn/Mesos.
Currently, this feature is not properly implemented on Kubernetes which may cause some issues.
Does this PR introduce any user-facing change?
Yes, it changes the behavior of SparkAppHandle object which the user may use to communicate with the launched Spark application. Its interface is remained as it is. Some missing functionalities have been implemented.
How was this patch tested?
Few unit tests has been added. May be found in org.apache.spark.deploy.k8s.submit package:

PodStatusWatcherSuite - new ones
ClientSuite - added some

Can one of the admins verify this patch?

cc @dongjoon-hyun

@dongjoon-hyun could you verify this PR?

Jenkins ok to test

Test build #140335 has started for PR 32289 at commit 3d7b061.

Test build #140335 has finished for PR 32289 at commit 3d7b061.

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

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

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

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

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

@holdenk
Before the changes the responsibility of this class was only to log status changes (LoggingPodStatusWatcher). After the changes it also handles application stopping and status change notifying, so I've changed the name to a more common one (PodStatusWatcher). Do you think the name should be reverted to the original one?
Regarding the second question, what is a desired behavior in the client mode?

Test build #141556 has started for PR 32289 at commit f30dea9.

Test build #141556 has finished for PR 32289 at commit f30dea9.

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

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/46074/

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

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

Test build #141827 has started for PR 32289 at commit 7ebf708.

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

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

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

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

@grarkydev is there some issue with this PR or it just was "forgotten" to be reviewed and merged?
We really miss SparkAppHandle for Kubernetes.
Thanks!


Node version is not updated from iisnode.yml and iisnode.yml is never updated on windows

After noticing that successive deploys on a windows instance failed, because an anciend node version was used, I started to investigate the selectNodeVersion script in kudu.
This lead me to the following part:
https://github.com/projectkudu/kudu/blob/a13592e6654585d5c2ee5c6a05fa39fa812ebb84/Kudu.Core/Scripts/selectNodeVersion.js#L336
And I discovered the following issues:

The nodeVersion variable is never updated when an iisnode.yml file is found, causing the whole script to fallback to the environment defined version (which is undefined for us so fallback to node v 0.10.40 is seen)
The iisnode.yml file is generated based on our package.json file, but is never again updated in the future should we change versions

The only solution now for us is to remove the iisnode.yml file every deploy to make sure everything is up to date...

Created a PR to tackle this issue. If more work needs to be done on this, please let me know!

Hi
If the problem persists and is related to running it on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request
This way we can better track and assist you on this case
Thanks,
Joaquin Vano
Azure App Service


Adds docs about using ttlInSeconds to actor state store reference API

Part of https://github.com/dapr/dapr/issues/6301
Actor state TTL issue, implementation.
Updates API reference to include actor state ttlInSeconds metadata field. Includes reference to the dapr community call where this feature was showcased, and mechanics discussed in more detail.
Fixes https://github.com/dapr/docs/issues/3318

Thanks @msfussell
Added you suggestion, and copied the state section to the overview.


Can't decode a blocks (Oraichain)

The codec we configured cannot decode a block, we need help setting up the codec.
unable to resolve type URL /oraichain.orai.provider.MsgCreateAIDataSource: tx parse error [cosmos/cosmos-sdk@v0.45.10/x/auth/tx/decoder.go:42]
Working branch: oraichain
Commit: cac976411ddb7c5fda37c381060977931ae39f36
Direct dependencies & replaces:

Codec configuration: pkg/codec/protobuf_codec.go
Looks like we need to add some interfaceRegistry.RegisterInterface and interfaceRegistry.RegisterImplementations at protobuf_codec.go

are you syncing from scratch?
the type URL /oraichain.orai.provider.MsgCreateAIDataSource has been deprecated long time ago


[otbn,dv] Cover the "branch to self" coverpoint

This (obviously) causes an infinite loop, so will need something analogous to the loop warping support to let us stop again.

We still don't hit this, of low concern as it really indicates buggy software so if it does something surprising it's not too bad. Still it'd be nice to test before M2.5

Moving to M7 as this is part of V3 (targeted by that milestone, rather than M5)


Idea/Feature: Implement Rest of Gempub Spec

There is a new gempub (gemini eBook) spec that someone has created that is basically a zip file of gemini files along with a metadata file. Since lagrange can already open zip files, I thought it would be cool if you could also support this gempub spec too, at least for local gempub files.
Spec: https://codeberg.org/oppenlab/gempub

Apparently you've already implemented rudimentary support for gempubs. I just found this out, lol. Sorry.

I like the idea of Gempub a lot and will be following this closely.
What I'd really want to see here is a paged book reading mode in Lagrange, especially on iPad or other tablets. Such a reading mode might be cool for "normal" Gemini content as well.

Gempub has a few changes recently: there's no longer a mimetype file, and the metadata file's name has changed to metadata.txt. Finally, the metadata file is now required to be UTF-8.
I also have created a gpub file since there's not many example gpub files to test with. On the first gemini link, the changes above have not been taken into account.  I have provided an updated gpub with the second link that does take the above changes into account.
gemini://pon.ix.tc/poetry.gpub
gemini://pon.ix.tc/poetry_updated.gpub


Enable asset transformation for flutter build for iOS, Android, Windows, MacOS, Linux, and web

See title. These are are the platforms that use the CopyAssets Target as part of their build target.
Partial implementation of https://github.com/flutter/flutter/issues/143348.
Pre-launch Checklist

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

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

I suspect caching is likely to not work properly when path-dependencies are used as transformers.
Consider the scenario where I have a path dependency in use that as a transformer. I perform a build, edit the transformer's code, and then run a build again. The CopyAssets target doesn't depend on code files from path dependencies, so the asset won't get retransformed.

I suspect caching is likely to not work properly when path-dependencies are used as transformers.
Consider the scenario where I have a path dependency in use that as a transformer. I perform a build, edit the transformer's code, and then run a build again. The CopyAssets target doesn't depend on code files from path dependencies, so the asset won't get retransformed.
edit: I'm content in adding this as a TODO on the tracking issue.

Unless you think there's some reason that path dependencies would be used MORE in this particular workflow, I'm ok with leaving this as a TODO. I think path deps in pubspec.yaml invalidates all kinds of caching assumptions in general.

Unless you think there's some reason that path dependencies would be used MORE in this particular workflow, I'm ok with leaving this as a TODO. I think path deps in pubspec.yaml invalidates all kinds of caching assumptions in general.

Indeed, see https://github.com/flutter/flutter/issues/141626 as an example.

Overall this LGTM. I weakly feel we should have some integration testing for this, but I'll comment my thoughts on #143348, I don't think it should block landing this, especially as the tests we do have seem to cover interesting API surface well.

Ack. I added a note about path dependencies to the tracking issue OP. Thanks for the quite fantastic review here—you caught at least one would-be P1 here.

Ack. I added a note about path dependencies to the tracking issue OP. Thanks for the quite fantastic review here—you caught at least one would-be P1.

Was that not failing the build if the transformer failed? or something else?

Ack. I added a note about path dependencies to the tracking issue OP. Thanks for the quite fantastic review here—you caught at least one would-be P1.

Was that not failing the build if the transformer failed? or something else?

Yeah, that's what came to mind.


Multi camera fusion

For multi-camera fusion, how to do？

I hope to explain the multi-camera fusion, thank you

Hi @MayLkn,
Thanks for the interest. I'd suggest you to have a look at those papers in the Acknowledgements section of our README document.
Best,
Haotian

Related to this again andd i might use this thread further understanding as well. I was trying to understand camera-to-BEV transformation (am looking into LSS and BEVDet) with implementation, could you point out me where exactly this is?


no click event

Hello, nice plugin, but when I use the plugin, the onclick event for an  tag with class ".btn" is not fired anymore. Any idea?

@docjojo Can you provide your code please?

Hi the effect works, but a second click is required to force the onclick event.
Init meeInk:
$('.ui-btn').meeInk({});
Link:

I don't see the link

I don't know what you are doing in group function, but here all works fine: http://codepen.io/inferusvv/pen/GoPzQG
Seems it's a problem in your code.

It works now, thanks!

Am 11.02.2016 um 19:40 schrieb Vladislav Bezenson<EMAIL_ADDRESS>I don't know what you are doing in group function, but here all works fine: http://codepen.io/inferusvv/pen/GoPzQG http://codepen.io/inferusvv/pen/GoPzQG
Seems it's a problem in your code.
—
Reply to this email directly or view it on GitHub https://github.com/inferusvv/MeeInk/issues/1#issuecomment-183002970.


Intellisense Webstorm doesn't work for angular 2 libraries

From @aavelyn on September 30, 2016 8:52
Short description of the problem:
Webstorm won't show autoimport/autocomplete prompts for angular 2 keywords. I think it's because all @angular dependencies aren't on first level (because of ionic-angular)
Deleting node modules and placing all @angular dependencies before ionic-angular and run npm install solves it, but not sure if it'll create conflicts (shouldn't?)
What behavior are you expecting?
Webstorm to shop classic autoimport/autocomplete prompts for @angular keywords
Which Ionic Version? Ionic 2 rc0
Copied from original issue: driftyco/ionic#8346

Hi,
Dennis from WebStorm team here.
Right now we're not indexing indirect dependencies due to performance (more modules -> more indexing, slower code insight) and quality issues (irrelevant variants in code completion and navigation).
We can add some custom logic specially for Ionic projects, but it looks somewhat hackish.
Any chance you can add angular as a direct dependency? That way the package.json will give users better insight of the app dependencies. The Create-React-App uses that approach:
{
 "devDependencies": {
   "react-scripts": "0.4.1"
 },
 "dependencies": {
   "react": "^15.3.1",
   "react-dom": "^15.3.1"
 },
}

What do you think?

Hello all! We are looking at moving our deps around a little in the RC.1 release and that should resolve this issue. I am going to keep this issue open as a tracking issue until then. Thanks!

This is the PR that I have that should fix this issue. When we create a base ionic2 it should link to the angular dependencies directly rather than rely on ionic's dependency on angular.  @denofevil Does this should like it should fix the WebStorm issue?
driftyco/ionic2-app-base#87

@jthoms1, looks like it should

@aavelyn this should be fixed by the above PR. Can you change your package.json to match the changes in the above linked PR and try again please? Thanks!

Hello all! I am going to close this issue for now as it should be fixed in the latest release of app-scripts. If you still have issues with this feel free to comment and i will happily reopen. Thanks!


i18n(zh-cn): Update recipes/dynamically-importing-images.mdx

Description (required)
Update recipes/dynamically-importing-images.mdx
Upstream PR:

#5898

Related issues & labels (optional)
None

Hello! I just wanted to give a heads-up that I will change this file again in the near future (#5905). If you would like, I can let you know!

@VoxelMC well, please @ me when you updated the file 🫡

@VoxelMC well, please @ me when you updated the file 🫡

Updated now! #5958


Too many open files

Do I need to do something to close node-taglib fd's after it has read a file? Running it on a huge dir gives TagLib: Could not open file after a while, and other file operations in my app then fail with Error: EMFILE, Too many open files.
Or are there any other suggestions on how to make sure node-taglib doesn't open more fd's than are available per process on my system?

The destructor now disposes the FileRef so that fds don't get used up.
If you want to keep around lots of Tag objects, the problem will still occur. The solution is to deep copy the properties out of the tag and just store those.


Ensured that registered checks accept keyword arguments.

For forwards compatibility, prevent registration of functions that won't allow arguments added in the future.
This could go through the deprecation process but in practice we already forced all functions to accept a new argument in Django 3.1 due to the new databases argument from #12396.

@adamchainz Thanks :+1: I moved docstring to a separate commit and simplified an error message a bit.

Great, LGTM.


Home page dynamic routing

Goal is to make front page use generic page model.

closes #626

Tested on devices

[x] Desktop 💻
[x] Mobile 📱

Tests

[ ] All tests are running ✔
[ ] Test are updated 🧪
[ ] Code Review 👩💻
[ ] QA 👌

⏲ Time spent on CR:
⏲ Time spent on QA:

This should be ready to merge now:

Adds a generic page

Imported SEO and data from custom frontpage
Tested against visual regression

Adds a generic page header layout field

Added layout: 'centered' for each page header with centered: true

One technical regression is that the impact widget no longer is loaded dynamically.

Just confirm that any content edits on the custom frontpage after 21/4 16:00 have also been made to the generic page.

@adamalfredsson Would you mind checking the conflict with slug? I think you have a better overview than me on the changes. I'll go over and check that there are no missing components from the frontpage, and then merge when ready :)

@adamalfredsson Assuming this will conflict with the article changes. Which would be better to merge first? In regards to the routing updates.

Good question, I think this one is slightly preferred!

@adamalfredsson Great, then I'll take this one in once all the tests do their thing


Code fix prefix unused2

Fixes #14420.
Note that we do not add underscores for parameter declarations or imports, as underscores do no work for suppressing unused errors for these constructs.

@mhegazy can you take another look?

please port this to release-2.4


cocoapods: 1.5.3 -> 1.6.0

Motivation for this change
Fixes #55458.
Fixes #55461.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

When testing ./result/bin/, there's a binary sandbox-pod that actually fails with the error
sandbox-exec: execvp() of '/nix/store/4r5mfkcgjabzc1k6qbdjbmyqa2kzvnr1-cocoapods-1.6.0/lib/ruby/gems/2.5.0/gems/cocoapods-1.6.0/bin/pod' failed: Operation not permitted

But this same error occurs with the current v1.5.3. I'm tempted to say we should stop vending sandbox-pod as a binary since it doesn't seem to work, but that's not actually related to this version update.
/cc @peterromfeldhk

i still like to clean up ~/.gem on my osx :)
ill look into it tomorrow

The modified update script doesn't touch ~/.gem so it shouldn't be deleting it.

That said, I didn't remove the optional clean action.

Oops yes I did. I forgot. Well, the point remains that the script doesn't have anything to do with ~/.gem.

how about? worked fine without asking for password and also you should be sure that everything is fresh installed (and removed)
diff --git a/pkgs/development/mobile/cocoapods/update b/pkgs/development/mobile/cocoapods/update
index 58a7bd4a453..b021127c324 100755
--- a/pkgs/development/mobile/cocoapods/update
+++ b/pkgs/development/mobile/cocoapods/update
@@ -1,10 +1,12 @@
 #!/usr/bin/env nix-shell
 #! nix-shell -i bash -p bash ruby bundler bundix

+BUNDIX_CACHE=~/.cache/bundix
+
 rm Gemfile.lock
-bundler install
-bundix
+bundler install --path $BUNDIX_CACHE
+bundix --bundle-pack-path=$BUNDIX_CACHE
+
+rm -rf $BUNDIX_CACHE
+rm -rf .bundle

-if [ "clean" == "$1" ]; then
-  rm -rf ~/.gem
-fi

AFAICT there's no need to actually run bundler install, all we really need is the Gemfile.lock which is what bundler lock gives us.
The bundix README does suggest it looks in the bundler cache for the gems and falls back to fetching from remotes if it can't find the gem. I'm not sure if there's a benefit to this approach, but if so, the README suggests this should be generated via bundler package, not bundler install.
And finally, if we are going this route, we may as well just use a relative directory instead of making a temporary one. If you do use a temporary directory, at the very least you need quotes around $BUNDIX_CACHE in case the configured $TMPDIR has a space in it.

ok i never looked that much into the workings of bundix i just assumed it needs the installed gems since it has it in -h
im fine with it as long as it works and does not leave some lingering state around

i tried it with your suggestions and it still works fine and i can be sure that there is no lingering state in my system left over. and i also like how explicit it is :)
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p bash ruby bundler bundix

BUNDIX_CACHE="$(mktemp -d)"

rm Gemfile.lock
bundler package --path $BUNDIX_CACHE
bundix --bundle-pack-path=$BUNDIX_CACHE

rm -rf $BUNDIX_CACHE
rm -rf .bundle

also first glance google for TEMPDIR and spaces it seems that it should not contain spaces... but better safe then sorry

Ok I updated the update script to match your version.

@peterromfeldhk Anything holding up this PR?

@lilyball everything looks good to me.

It's not clear to me how to get this merged. Looks like it doesn't even have the right labels yet (the manual says it should have the 8.has: package (update) label).

@GrahamcOfBorg build cocoapods

Thanks!

Ironically, cocoapods 1.6.1 was just published 21 hours ago, so time to update again.

Submitted the 1.6.1 update as https://github.com/NixOS/nixpkgs/pull/56221


Display changes of a file across layers

In order to optimize an image I would like to be able to move from the first layer to the last eliminating waste on the layer at hand. A file waste space if it later modified or deleted. When I am on a layer, I would like to be able to see what files are later modified or deleted.
Suggestion on how to do it
Use colors
Using colors is one way but currently it would collide with the colors used to highlight files added or removed on current layer.
So maybe a color tag can be added next to the file name.
Number on layers
In general, I think it would be useful  to number the layers in order to avoid the long sha256. For example FROM can be "0" and increasing the number from that one.
If in the future a way to see also all layers in FROM is addded, the previous layers could be -1, -2, etc.
This create a concise way to identify a layer. So in the tree view you could have a column with the layer the file was intially added.
Being able to show the list of the layers where the file is modified is another nice to have. Potentially you may want to toggle columns with this list.
File detail view
Maybe having a "file detail" panel could help too. Folder node should have a special treatment.

Maybe something as simple as bolding files in the filetree that are contributing to waste would work?
This could be selected similarly as added/modified/removed/unmodified files work in the UI... since all waste is a subset of this set I think also showing "waste in this layer" vs "aggregated waste overall" would be useful. Though the aggregated option is the same as the list of wasteful files in the bottom left pane, I still feel it would be helpful to see this in the interactive filetree.
I agree with truncating the layer digest a bit and adding relative offsets for layers, that would be an easy lift.


Can we configure Varnish to try again if it encounters 5xx errors?

Yes, and it does already now from these lines in the configuration: https://github.com/ua-snap/data-api/blob/58bda5ae8adda9f567a7a23624cce6e59c47bd82/varnish-configuration/default.vcl#L45-L47


Fix typo in windows activation script

Surprisingly this doesn't error at runtime, but just prepends a double quote to the env variable value...

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.


Ability to use tools like Scapy to add headers for unsupported protocols.

Can you provide documentation for this feature

How to add headers for unsupported protocols.

Unsupported protocols can be added using custom packet header.
A custom packet header is defined as a string of hex bytes.The string MUST contain sequence of valid hex bytes.Spaces or colons can be part of the bytes but will be discarded.

Example of adding ARP header as custom header.
import pytest
import snappi
from scapy.all import *

def test_scapy(api):
    pkt = ARP(hwtype=1, ptype=0x0800)
    config = api.config()  # type: snappi.config.Config
    (p1,) = config.ports.port(name="p1")
    (f1,) = config.flows.flow(name="p1")
    f1.tx_rx.port.tx_name = p1.name
    (custom,) = f1.packet.custom()
    custom.bytes = scapy.utils.repr_hex(pkt.__bytes__())
    print(config)

if __name__ == "__main__":
    pytest.main(["-s", __file__])

Hi @UzairJawaid, closing this issue as information is provided. Please re-open the issue if you have any concern

Checked its working. Thank you


instanceMembers fails after transform in some cases

I have a Reflector with InstanceInvokeMetaCapability, and in Dart (vm,dartium,content-shell) it works as expected. However after transform I get a weird error.
When I do this: reflector.reflect(this).type.instanceMembers
This part:
// src/reflectable_transformer_based.dart:183

  ReflectorData get _data {
    if (_dataCache == null) {
      _dataCache = data[_reflector];
    }
    return _dataCache;
  }

Fails in some way in Dart2JS, because the data[_reflector] throws the following error in JS:
  NullError: method not found: '$index' on null
  package:reflectable/src/reflectable_transformer_based.dart 185:20   _data
  package:reflectable/src/reflectable_transformer_based.dart 196:13   _InstanceMirrorImpl
  package:reflectable/src/reflectable_transformer_based.dart 195:3
  package:reflectable/src/reflectable_transformer_based.dart 2166:12  myProjectsFunctionName
  package:my_project/my_file.dart

I haven't encountered this error before, and I suspect it has something to do with encapsulation, maybe?
Both the metadata class and the reflectee class are public.

Presumably, the _data field in the relevant class mirror is null. One reason for having this behavior comes to mind: If the analyzer does not resolve all libraries delivered to the reflectable transformer then the transformer gets null for the value of constants. The typical consequence is that the file for the entry point (if you transform 'web/index.dart' then the transformed entry point file is 'build/web/index.dart') contains a declaration like final _data = {};. This essentially means that the "reflection database" that enables the reflectable package to do all its work is empty; this again means that almost nothing works, so this is only a plausible explanation if you see this failure early---if other things are done using reflectable mirrors before that then it is not a likely cause.
To check for final _data = {}; you can make sure that the Dart file is generated by using pub build --mode=debug <whatever_you_usually_specify_as_target_eg_test>, and then you can grep for '_data' in the transformed entry point file.
If this is the cause then it may be caused by a version skew: The analyzer up to version 0.26.1+14 delivered resolved libraries; for a while we used that, because newer versions delivered (some) libraries unresolved. Recently we updated to use analyzer version 0.27.1, because that one again delivers resolved libraries, but 0.27.1+1 again delivers (some) unresolved ones. With older versions of reflectable you'd use 0.26.1+14 (up to version 0.4.0), and the most recent one insists on 0.27.1, but v0.5.0 allows for newer versions (including 0.27.1+1).
If the problem is that you are using v0.5.0 rather than v0.5.1 then a simple pub upgrade should do it; if some other package prevents v0.5.1 or insists on analyzer 0.27.1+1-or-newer then it gets hairier, but you may wish to use a dependency_overrides: section in 'pubspec.yaml' and force a particular choice.

Thank you @eernstg! Very helpful. I'll get back to you in a bit.

Oh dearie me... I'm embarrassed. I had forgotten to add a new test file to entry_points and was confused why only that file got the strange JS error. My bad!


FFImageLoading is unable to generate image

Unable to get image from Facebook in iOS, when image url is like bellow
https://graph.facebook.com/1006568059385230/picture?type=normal.
Here is the code I used to do initializing:
ImageService.Initialize(httpClient: new HttpClient(new NativeMessageHandler()));

I think it's related to http redirects.

If you're using custom HttpClient you have to configure it to follow redirects. Did you try that?
Did you try if it's working without using custom HttpClient?

Hi Daniel, just found out it is my fault that I forgot to clear OAuth token from header. It all works now, thanks.

Ok, no problem. Cheers.


Duplicate Handle: BorrowMutError, multi-skill\src\system\common\mod.rs:144:18

I have three massive datasets (150k json files in each dir). Initially, I had all three dataset in the caches folder and ran the following command:
cargo run --release --bin rate mmr dataset1

This completed successfully and had no issues. However, when I went to run the second and third dataset with the following command:
cargo run --release --bin rate mmr dataset2

I received the following error:
INFO multi_skill::data_processing::dataset: Found 127498 JSON files at "../cache/dataset2"
thread 'main' panicked at 'Duplicate handle: BorrowMutError', multi-skill\src\system\common\mod.rs:144:18
note: run with `RUST_BACKTRACK=1` environment variable to display a backtrace
error: process didn't exit successfully (exit code: 101)

I then through that perhaps it was an issue that within the JSON files, the event names were the same so I changed that but it did not resolve the issue. I then created two whole new directory and re-downloaded the GitHub repo again and created one each for each of my large datasets but the issue was not resolved.
Additionally, if I re-run the first dataset - there is no issue it will complete successfully.

@EbTech with RUST_BACKTRACE=full I receive the following breadcrumb if it helps..
     Running `C:\Users\ProductionServer\Documents\Ruby Environment\11 - Elo-MMR-master JID\target\release\rate.exe mmr JID`
2022-04-04T23:41:04.768439Z  INFO multi_skill::data_processing::dataset: Found 127498 JSON files at "../cache/JID"
thread 'main' panicked at 'Duplicate handle: BorrowMutError', multi-skill\src\systems\common\mod.rs:144:18
stack backtrace:
   0:     0x7ff64d4a056f - std::backtrace_rs::backtrace::dbghelp::trace::ha452afab0d9713fc
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\..\..\backtrace\src\backtrace/dbghelp.rs:98:5
   1:     0x7ff64d4a056f - std::backtrace_rs::backtrace::trace_unsynchronized::h022797ee94fa2fae
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\..\..\backtrace\src\backtrace/mod.rs:66:5
   2:     0x7ff64d4a056f - std::sys_common::backtrace::_print_fmt::h61a7e2552262c801
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\sys_common/backtrace.rs:67:5
   3:     0x7ff64d4a056f - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5439f83bea698841
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\sys_common/backtrace.rs:46:22
   4:     0x7ff64d4fcd0a - core::fmt::write::h95a57c545101328b
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\core\src\fmt/mod.rs:1168:17
   5:     0x7ff64d490da1 - std::io::Write::write_fmt::hc9b12c08b860c754
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\io/mod.rs:1660:15
   6:     0x7ff64d4a3c95 - std::sys_common::backtrace::_print::h1f6d4151cfab0d62
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\sys_common/backtrace.rs:49:5
   7:     0x7ff64d4a3c95 - std::sys_common::backtrace::print::hb581c08430c00a3c
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\sys_common/backtrace.rs:36:9
   8:     0x7ff64d4a3c95 - std::panicking::default_hook::{{closure}}::h5d5feacbba4e599c
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:211:50
   9:     0x7ff64d4a3855 - std::panicking::default_hook::h631b1c94c0ce7a2b
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:228:9
  10:     0x7ff64d4a42df - std::panicking::rust_panic_with_hook::h48328f46baf0259d
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:606:17
  11:     0x7ff64d4a41d3 - std::panicking::begin_panic_handler::{{closure}}::hfa2e065763334115
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:502:13
  12:     0x7ff64d4a0f67 - std::sys_common::backtrace::__rust_end_short_backtrace::h25ab5483aa0d4b62
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\sys_common/backtrace.rs:139:18
  13:     0x7ff64d4a3f19 - rust_begin_unwind
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:498:5
  14:     0x7ff64d4f97e0 - core::panicking::panic_fmt::h2d11b48d90a20930
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\core\src/panicking.rs:116:14
  15:     0x7ff64d4f9b43 - core::result::unwrap_failed::h6dba03bbf003e7d3
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\core\src/result.rs:1690:5
  16:     0x7ff64d13070a - <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold::h3e8d48f6f0b61293
  17:     0x7ff64d164cce - <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter::h15ed8bf327791254
  18:     0x7ff64d148a20 - multi_skill::systems::common::simulate_contest::hd615b5f0dada2be5
  19:     0x7ff64d16ba66 - multi_skill::experiment_config::Experiment::eval::h33bed0ddc7e29e67
  20:     0x7ff64d0d64d5 - rate::main::hbf47ecdb7ee032c0
  21:     0x7ff64d0d5ae6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h95e32f3f6f01ca28
  22:     0x7ff64d0d5acc - std::rt::lang_start::{{closure}}::he6be3b0ee1e2388d
  23:     0x7ff64d49fecb - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h6c46e3f058cd67e2
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\library\core\src\ops/function.rs:259:13
  24:     0x7ff64d49fecb - std::panicking::try::do_call::h241f9c3ccff2487f
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:406:40
  25:     0x7ff64d49fecb - std::panicking::try::hfa8a38622a6d88f3
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:370:19
  26:     0x7ff64d49fecb - std::panic::catch_unwind::h479992f6db7a8b35
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panic.rs:133:14
  27:     0x7ff64d49fecb - std::rt::lang_start_internal::{{closure}}::h7bad8cbcca23ae6a
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/rt.rs:128:48
  28:     0x7ff64d49fecb - std::panicking::try::do_call::hb8fc98a7abcfe5f4
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:406:40
  29:     0x7ff64d49fecb - std::panicking::try::h14d95235eb0b7795
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panicking.rs:370:19
  30:     0x7ff64d49fecb - std::panic::catch_unwind::h7e9b2346416deeaf
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/panic.rs:133:14
  31:     0x7ff64d49fecb - std::rt::lang_start_internal::h01a1849f2e20983d
                               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src/rt.rs:128:20
  32:     0x7ff64d0d7438 - main
  33:     0x7ff64d0d13b1 - __tmainCRTStartup
                               at C:\M\mingw-w64-crt-git\src\crt-x86_64-w64-mingw32\C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt\crtexe.c:321:15
  34:     0x7ff64d0d14e6 - mainCRTStartup
                               at C:\M\mingw-w64-crt-git\src\crt-x86_64-w64-mingw32\C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt\crtexe.c:202:9
  35:     0x7ffa38a87034 - <unknown>
  36:     0x7ffa3a602651 - <unknown>
error: process didn't exit successfully: `C:\Users\ProductionServer\Documents\Ruby Environment\11 - Elo-MMR-master JID\target\release\rate.exe mmr JID` (exit code: 101)

Since the error says "Duplicate handle", did you check whether there are two players with the same name? You can set the environment variable RUST_LOG=debug to print more information that would identify which specific round it crashed on.

Fantastic - Thank you

@EbTech would there be a way to allow duplicate handles? For example, assume a competition where there is a competitor and a trainer of that competitor. The competitor is distinct but the trainer is allowed to train more than one competitor and so if I want to generate ratings for the trainers, how would that work if for a simple competition the trainer resulted both 1st, 3rd, and 8th for example...

Hmm that's a very different model and it depends. For example, do you want more weight on the trainer's best contestant, or on their average? A few different approaches you could take:

remove all but the best-ranking trainee of each trainer from the standings
rate the trainees individually, then aggregate the ratings in post-processing to evaluate the trainer
do the full Elo-MMR math on all duplicates. You'll have to modify the code not to crash in the event of duplicates, and check if there's any race conditions.


Suggestion: support automatic indentation for incomplete lines.

(via VS feedback tool - no further information beyond what's copied here)
Suggestion: support automatic indentation for incomplete lines.
E.g. for graph plot or piplined functions, the line can be long and usually broken by using %>% or incomplete line. The next line would look better after automatically indented.

Folding into #2641


Change ASP.NET Core Razor pages Default page

For ASP.NET Core MVC , we could get it easily by changing the route in app.UseMvc().
For Razor pages , MVC routing does not apply since Razor pages uses a different routing setup .But an error is generated when I tried to configure it using the AddRazorPagesOptions extension method to AddMvc like below:
      services.AddMvc()
        .AddRazorPagesOptions(options =>
        {
            options.Conventions.AddPageRoute("/App", "");
        });

What the error is show

AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:
Page: /App
Page: /Index

If I remove or rename “Pages/Index.cshtml” , it worked .  But this workaround seems to be not reasonable. I wonder whether there is any other methods to change Razor pages Default page without changing the original one.

I have the same issue.
I delete the Index.cshtml or change the name for example: Main.cshtml then it works.

Thank you for your feedback.
Index page is considered the default and is part of the default convention. If you'd like to change it you should provide your custom convention: https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2

Sometimes I cannot help but think that MS employees intend to fit the stereotype. (You know the joke with the technically true but useless response.)
The only thing I can see on that page is the "configure a page route" section, which shows the exact example that the OP says is not working. Was it so difficult to explain exactly how to do what's being asked, instead of pointing to a long and complex page?

@mdpopescu I've put together a sample showing how to do this: https://github.com/mkArtakMSFT/Samples/blob/master/CustomPageRouteConvention/Conventions/DefaultRouteRemovalPageRouteModelConvention.cs
Hope this helps.

Thank you, much appreciated.


Fix LogViewer regex to reduce greediness, closes #3683

By making the date match group non-greedy, and escaping the dot between the logger and level match groups, the regex behaves better for log entries that contain square brackets and colons.
See #3683 for full bug report.

cheers.


i3: support for bar tray_output option

I'm sorry, I barely know how to use GitHub. Commit for ssh modules supposed to be a separate pull requests, but as far as I understand it needs a separate branch.

Welcome to Github and thank you for your contribution!
Yes, you need to create another branch to submit a new pull request (generally, we avoid applying patches from the master branch). If the changes were both on i3 it would probably be ok in one PR but the changes are unrelated.


⚠ Mobitopup has degraded performance

In 3070a6d, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 6214 ms

Resolved: Mobitopup performance has improved in 2e491c2 after 7 minutes.


Box and pure constraints for the direct method

The constraints have to be added in the CTBase package. Then, it will be possible to update the CTDirect package.
Remarks.

The ipopt solver is more efficient if the box constraints are taken into account.
See also Issue 63.

Doing, on this base (see this issue in the last sprint):

(pure) control and state constraints can be provided through boxes (including boxes on index ranges, this is the linear case) or functions (nonlinear case)
the range / function alternative does not make sense for mixed constraints (only functions)
for both range / function, one value means equality, two means (boxed) inequality
in some cases (e.g. range for control/state constraint) equality does not make sense
API change: in case of inequalities, only one function returned by the getter (not two), which is the mere computation (without substracting the lower/upper bound); the user has then to use properly

@PierreMartinon any idea of the format you would like to retrieve box constraints on state and control

at t0 / tf
for all times?

@ocots Some minor changes in CTBase.jl (undergoing tests)

using pattern matching (see MLStyle.jl)
as constraints have an :eq / :ineq field, I have systematically put two values (lower and upper bounds),  even for eqs (more coherent + simpler code)

Check this commit

At this line, we have
function constraint!(ocp::OptimalControlModel, type::Symbol, lb::Real, ub::Real, label::Symbol=gensym(:anonymous))
    if type ∈ [ :initial, :final ]
        ocp.constraints[label] = (type, :ineq, x -> x, ub, lb)
    elseif type ∈ [ :control, :state ]
        ocp.constraints[label] = (type, :ineq, 1:state_dimension(ocp), ub, lb)
    else
        throw(IncorrectArgument("the following type of constraint is not valid: " * String(type) *
        ". Please choose in [ :initial, :final ] or check the arguments of the constraint! method."))
    end
end

Isn't?
function constraint!(ocp::OptimalControlModel, type::Symbol, lb::Real, ub::Real, label::Symbol=gensym(:anonymous))
    if type ∈ [ :initial, :final ]
        ocp.constraints[label] = (type, :ineq, x -> x, ub, lb)
    elseif type ∈ [ :control]
        ocp.constraints[label] = (type, :ineq, 1:control_dimension(ocp), ub, lb)
    elseif type ∈ [ :state ]
        ocp.constraints[label] = (type, :ineq, 1:state_dimension(ocp), ub, lb)
    else
        throw(IncorrectArgument("the following type of constraint is not valid: " * String(type) *
        ". Please choose in [ :initial, :final ] or check the arguments of the constraint! method."))
    end
end

Indeed! fixed 🙏🏽


unable to expand properties within a dict

My issue's symptoms sound similar to #83 , but for python. I can inspect and expand variables, including lists and dicts, but if I try to expand anything within a dict, I get a NameError
For example, I can expand user_pool_config.properties (dict) and I see that user_pool_config.properties['AutoVerifiedAttributes'] is a list with 1 element, but when I try to expand that, I get - [ERROR] NameError: name 'AutoVerifiedAttributes' is not defined. However, if I select user_pool_config.properties['AutoVerifiedAttributes'] and run <leader>e it shows the value (which is, in turn, not expandable either)
I have patched my dbgp/client.py. It looks like I'm at revision 4c6a7ca of vdebug

@r631269 Do you have a fix for this? could you be so kind to provide a PR? Could you verify if this is still present in v2?

I don't know how to fix it, so I don't have a PR
Where could I find instructions for getting v2 working?

@r631269 Ok I misinterpreted your line

I have patched my dbgp/client.py.

and I've just merged v2 in master, it requires python 3 support in vim, for the rest its installable the same way you installed vdebug before

@r631269 could you provide a sample of what you are debugging and how you are debugging?

I finally got python3 support in macvim (I think), but I am unable to test, or debug anything at the moment. I'm seeing
Vdebug will wait for a connection in the background
Found connection, starting debugger
Error starting Vdebug: <class 'UnicodeDecodeError'>

#330 looks relevant, but I'm already at revision 9c95ba44 and still seeing this problem

@r631269 could you share your vim configuration?

  " vdebug
  if !exists('g:vdebug_options')
    let g:vdebug_options = {}
  endif
  let g:vdebug_options["break_on_open"]=0
  let g:vdebug_options["path_maps"] = {
  \  "/usr/src/app": "/Users/r631269/Documents/repos/stack-formation"
  \}
  let g:vdebug_options["port"] = 9001

https://gist.github.com/r631269/cae7892a1ef90871142401bf27e020ed

@r631269 I'm merging an update in master, could you re-test if the dict expanding works fine?

I did a BundleInstall!, which updated vdebug's revision to 5e1d2634, but I'm still getting the error listed above. It seems to happen as soon as vdebug connects to the debugger.

@r631269 are you on linux, mac, ... ? Since I'm having 0 issues with your vimrc now I'm kindof lost here how to solve your issue

I'm on a mac

Here's what I have in my ~/vdebug.log, in case that shows anything useful
- [Debug] {Wed 11 2018 09:30:46} Setting buffer for DebuggerWatch: ['']
- [Debug] {Wed 11 2018 09:30:46} Setting buffer for DebuggerStack: ['']
- [Debug] {Wed 11 2018 09:30:46} Setting buffer for DebuggerStatus: ['']
- [Info] {Wed 11 2018 09:30:46} Closing the connection
- [Debug] {Wed 11 2018 09:30:46} Command: stop -i 1
- [Debug] {Wed 11 2018 09:30:46} Response: <?xml version="1.0" encoding="utf-8"?>
<response xmlns="urn:debugger_protocol_v1" command="stop" status="stopped" reason="ok" transaction_id="1">application terminated</response>
- [Debug] {Wed 11 2018 09:30:46} Closing the socket
- [Debug] {Wed 11 2018 09:30:46} Closing the socket
- [Debug] {Wed 11 2018 09:30:46} Creating hidden buffer: ['']
- [Debug] {Wed 11 2018 09:30:46} Creating hidden buffer: ['']
- [Debug] {Wed 11 2018 09:30:46} Creating hidden buffer: ['']
- [Debug] {Wed 11 2018 09:30:46} Creating hidden buffer: [' 11004   | line        | /Users/r631269/Documents/repos/stack-formation/src/generate.py:160']
- [Debug] {Wed 11 2018 09:30:46} Creating hidden buffer: []
- [Debug] {Wed 11 2018 09:30:46} Creating hidden buffer: []
- [Debug] {Wed 11 2018 09:30:46} Closing the socket

@r631269 Perhaps try clearing your listchars setting (set listchars=) before starting a debugging session. I'm experiencing the same error and that's working for me as a quick fix.

thanks @iamdonut, made some progress. I do need listchars during development, but maybe I can do some vimscripting to disable them when the debugger starts or something. Should I file separate issue?
Now, back to the original issue, given a nested dict object
obj = {
  "subobj": {
    "foo": 3
  }
}

expanding subobj in the debuggerwatch window results in the following
 Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/debugger_interface.py", line 72, in handle_return_keypress
    return self.event_dispatcher.by_position(self.session_handler)
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/event.py", line 543, in by_position
    return event.run()
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/event.py", line 148, in run
    context_res = self.api.property_get(name)
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/dbgp.py", line 364, in property_get
    ContextGetResponse)
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/dbgp.py", line 263, in send_cmd
    return res_cls(msg, cmd, args, self)
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/dbgp.py", line 128, in __init__
    Response.__init__(self, response, cmd, cmd_args, api)
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/dbgp.py", line 30, in __init__
    self.__parse_error()
  File "/Users/r631269/.vim/bundle/vdebug/pythonx/vdebug/dbgp.py", line 50, in __parse_error
    raise DBGPError(msg_el.text, code)
vdebug.dbgp.DBGPError: ("NameError: name 'subobj' is not defined", '300')

@r631269 I have not found immediate issues running on macOS with your vimrc, using PHP (xdebug) in combination with vdebug:
https://herecura.eu/files/recording-2018-04-21_14.28.44.mp4

@r631269 could you provide me with a sample project where you encounter this issue? are you debugging python? or node?

Python. Sure, packaged it as a docker image so the debug client is more portable. Here's an example project:
Dockerfile for reference. Image includes patched komodo, as instructed by vdebug :help
Place sample.py in a local directory
obj = {
  "subobj": {
    "foo": 3
  }
}
print(obj)

Run docker run --rm -it -w /usr/src/app -v $(pwd):/usr/src/app r631269/python-debug-sample bash from same directory as sample.py
Run python -S /opt/komodo/pydbgp -d docker.for.mac.localhost:9001 sample.py from within the image, while vdebug is waiting for a connection
Expand obj in the watch window, then attempt to expand subobj

@r631269 thanks I can reproduce the issue now, the request sent from vdebug is incorrect, if its executed manually subobj is reachable. I'm going to search for a solution

@r631269 with the fix I just pushed I can expand all properties in your example
Thank you very much for providing this super helpfull minimal example.


Update sbt to 1.10.0

Even the sbt plugins must be reviewed as the repo went away.

That's weird, I can download https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.jsuereth/pgp-library_2.12/2.1.1/ivys/ivy.xml just fine. Perhaps it was just some intermittent issue, could you retrigger the build?


Publish separate go module for each protocol

We would like to see separate go modules published for  https://github.com/cloudevents/sdk-go/tree/master/v2/protocol packages. This will help us avoid taking on dependencies on protocol libraries we are not using.

The alias is only importing http and you can avoid using it if you want. The rest are partitioned into their protocols and go mod will trim off the unused deps.
What are you seeing? Maybe you have an wanted import?

But I think Go does pruning post dependency resolution. Creating separate modules will skip unused protocols from the dependency resolution.

Ok, go mod did not do what I was expecting at all. The new modules under v2/protocol work and everything is fine here in the repo, but when you attempt to import these, one release does not release the submodules.
Here is RC5 : https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-RC5
it lacks the protocols now, as expected, but the sub-modules also need a new tag:
https://github.com/cloudevents/sdk-go/releases/tag/v2%2Fprotocol%2Fstan%2Fv1.0.0-RC5
https://github.com/cloudevents/sdk-go/releases/tag/v2%2Fprotocol%2Fkafka_sarama%2Fv1.0.0-RC5
Note the v1.0.0-RC5 tag. Which now is a bigger sync problem around which version is which and which go with what....
To get the protocols back to v2, they need to 1- add a new v2 dir like v2/protocol/stan/v2, or 2- move the protocol dirs to the top level, and still do all the v2 dir workarounds. Moving the folders would shorten the release tags.
The advice from the gophers is to make separate repos for each protocol.
In terms of code, we have some choices:

Protocols can continue to have .../sdk-go/v2/... in their path, and we can bump them to v2 as well but the full import results in github.com/cloudevents/sdk-go/v2/protocols/stan/v2 which is goofy. And this is api breaking for everyone using anything but http.

we can revert the adding of go mod files and be ok with the dep resolution.

We might be able to just revert the sub-module changes and wait for go 1.16 per https://github.com/golang/go/issues/36460 which should fix the original issue of dep resolution speed.

The advice from the gophers is to make separate repos for each protocol.

But then we have an explosion of repos... But most important, I think we should keep this project a monorepo, given the rate of changes we had and we will continue to have in the internals of protocol implementations

Solved with 2.0.0 release


fix(client): Follow channel timeout consensus rule

Overview
Follows the consensus rule of walking back the channel timeout in sync-start. This should be followed up with an optimistic first try without walking back, and then if that fails, retrying derivation with the channel timeout walkback.
fixes #417

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

Project coverage is 77.7%. Comparing base (21999e8) to head (916c7a8).

Additional details and impacted files

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

Closing this in favor of #427 - we'd like to have an optimistic pass for the p99 case, so that we don't need to accept the performance hit.


Create hello world code for Arduino platform.

@guyikcgg As a start. I created the cmd_pin command as an example on example folder.
I'm not sure how to address the problem that we have with the definition of the pin as an OUTPUT, in order for the code to work properly, we need to define the pin that we will use as an INPUT, otherwise, it won't work.

This pull request has been merged into dev :)


Script editor soft-reload button doesn't seem to do anything

Godot version:
3.1 beta8
Issue description:
Menu option "Soft reload script" does nothing. At first I though it's an issue with built-in scripts, as when you change scene externally, there's no way to reload a built-in script (there should be IMO), other than reloading whole scene ofc.
But if you disable auto-reload of scripts and change a script externally and return to editor, you get a warning that script got changed. When you cancel the warning, there's no way reload script other than re-focusing editor. The soft reload button does nothing.
Steps to reproduce:

Disable "Auto Reload Scripts On External Change" in editor settings
Open a script in Godot
Change it externally
Focus on Godot
Cancel the external change warning
Try to reload the script without unfocusing Godot

Good luck ;)

After some testing I discovered that this option will "commit" changes to script resource without saving the file. The only actual use is to "reload" tool scripts, so they update without being saved (no idea how would that be useful).
Is this option important? Maybe it could be removed or renamed, so it's less confusing? Or have functionality changed?

Bump. Are there any use cases where reloading a script without saving it is desired? cc @vnen

Though I noticed soft reload does do something. Break things after you do a renaming of the file.
https://github.com/godotengine/godot/issues/49369

The reload option was added in f8f30662d93a46eb4b1ece6d45be28760d5ad58c
Originally it was called Reload Tool Script and Reload Tool Script (Soft). The former was removed (from menu, enum value still exists), the latter was renamed to Soft Reload Script.
Soft reload is the same as reload, but it passes true to keep_state parameter. Which means that if you soft-reload a script, it will recompile the code, but keep variable values. Which is great especially for editor plugins, because it solves the ever-recurring problem of disappearing references. The problem is that saving a script will do a hard reload, which will kill all script instances and reset all variables. Interestingly, editor plugins actually have a special case for reloading thta should prevent this
https://github.com/godotengine/godot/blob/ba798d585c0cda62f5388d0636ed38e63fdb13ed/editor/plugins/script_text_editor.cpp#L1368
but it doesn't seem to work. (upon investigation, seems like hard-reloading uses a different method)
And fun fact is that built-in tool scripts don't clear instances properly and can't be hard-reloaded, so while implementing #54662 I made them soft-reload. Which means that using built-in tool scripts is right now better option than external tool scripts🙃
Script reloading only affects tool scripts (because it reloads script instances and only tool scripts run in editor), hence renaming the menu option only brought confusion. IMO all scripts should default to soft-reloading (especially upon saving), which will solve many tool-script issues; and the soft-reload option should be replaced by hard-reload instead, and it should mention tool scripts again (actually, we could even disable it for non-tool scripts).


Fixes filenames for claim attachments

[x] make all the changes

Nah.. on second thoughts don't like this approach.

@stevegraham removed that check on the pdf, didn't make much sense it being there & switched the nil munching out too.