Support Chat Mode

Hopefully the new LM backend will allow us to make better use of models that are trained for "Chat".
Below is a good example of how even good models like GPT-3.5 are currently have trouble understanding the basic DSPy format:

Right now we use chat mode as if it was completion mode.
We send:
messages: [
{"from": "user", "message": "guidance, input0, output0, input1, output1, input2"}
}

And expect the agent to reply with
{"from": "agent", "message": "output2"}

A better use of the Chat APIs would be to send
messages: [
{"from": "system", "message": guidance},
{"from": "user", "message": input0},
{"from": "agent", "message": output0},
{"from": "user", "message": input1},
{"from": "agent", "message": output2},
{"from": "user", "message": input2},
]

That is, we simulate a previous chat, where the agent always replied with the output in the format we expect.
This teaches the agent to not start it's message with "OK! Let me get to it!" or repeating the template as in the gpt-3.5 screenshot above.
Also, using the system message for the guidance should help avoid prompt injection attacks.

Totally agreed but I'd love for this to be more data-driven.
Either: (a) meta prompt engineering for popular models + easy addition of new adapters for new LMs if needed, or (b) automatic exploration of a new LM on standard tasks to automatically establish the patterns that "work" for that LM.
Do you have a way that fixes the sql_query example you had?

Also I wonder to what extent this behavior you saw is because of "Follow the following format." is not explicitly saying "Complete the unfilled fields in accordance with the following format." Basically the instruction is slightly misleading for chat models.

My sense is that interleaving inputs/outputs as a default would be a footgun because I would assume all outputs depend on all inputs, and the LLM doesn’t have access to this.
Right now our focus is using LiteLLM for broad support + moving over all dsp code into DSPy.
I’d love to tackle something like this when we look at the current Template usage and how that’s currently responsible for going from Example => prompt, and offering users some more flexibility with how an LLM gets called with an example.

I'm not sure what you mean by "interleaving inputs/outputs". This is already how DSPy works, no?
I think you misunderstood what I mean by (input_i, output_i).
I'm talking about an entire example/demo. Not two fields from the same demo.

I feel the problem with this is most of the time the positioning of the user end token. Say you have a prompt template that wraps the user message in [INST] and [/INST], like in mixtral. You would have:
[INST]
...

input1: ...
input2: ...
output:[/INST]

???

It seems to me that the model is lead to believe that the user turn is done (and the user has written a complete template, albeit with an empty output). It would be more correct to say:
[INST]
...

input1: ...
input2: ...[/INST]

output: ???

explicitly leaving the output field to the assistant (it suffices to create a {"role": "assistant", "content":"output:"} message).

Also I wonder to what extent this behavior you saw is because of "Follow the following format." is not explicitly saying "Complete the unfilled fields in accordance with the following format." Basically the instruction is slightly misleading for chat models.

@okhat I have done this experiment by writing a mini-version of Predict myself, with the prompt you are suggesting. I still have the same problem @thomasahle demonstrated in his initial post. This reinforces for me the belief that the token position is to blame. The version I proposed works instead.

Totally agreed but I'd love for this to be more data-driven.

I don't know precisely what you have in mind, but it seems to me that fixing the semantic of the multi-turn user-assistant conversation is orthogonal to the concern of wording the prompt differently.

@meditans I suppose mixtral is not a "chat model" but an "instruction model".
What Omar says about having the framework automatically find the best prompting would og course be great.
But if Mixtral can be shown to work better in 90% of cases with @meditans token placement, then I'd be more than happy to just have that built into the Mixtral LM class.

@thomasahle you are right, but I am using chat finetunes of mixtral, not baseline mixtral. But I think (correct me if I'm wrong) chat and instruct models have the same semantic of multi-turn conversation (see https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1). Which means that they are queried via the [{"role": "...", "content": "...""}, ...] API.
That's to say that, if the token position effectively improves generation, it should be the correct semantic for all chat/instruct models, and not only for Mixtral. (for example i'm actually using a open-ai compatible local server, so I'm using my mixtral model through the dspy OpenAI class).
In fact, the langchain page you proposed is quite close to what I'm saying here (essentially the same thing).

@CyrusOfEden I'm not sure what you mean by "interleaving inputs/outputs". This is already how DSPy works, no?
I think you misunderstood what I mean by (input_i, output_i).
I'm talking about an entire example/demo. Not two fields from the same demo.

I see now and this makes sense to me! I thought it was inputs/outputs not examples/demos :)

+1 to the problem @thomasahle is describing. I am also seeing it on gemini-1.0-pro.
And +1 to @meditans , the root of the problem is that special tokens for conversational formatting are being added to the prompt without anyone really thinking about it.
I like @thomasahle 's proposed solution of just formatting the few-shots in chat mode. The only downside I see is that it will no longer be possible to force the model to follow a specific prefix for the rationale. But this can probably be solved with some prompt engineering. Something like
Follow the following format.

Question: ${question}
Rationale: Let's think step by step in order to ${produce the answer}. We ...
Answer: ${answer}

Repeat the user's message verbatim, and then finish the example.

Regardless of whether we do meta prompting or not, we will need to update the LM interface and template class to support chat formatting as a special case, since most LLM providers do not expose which special tokens they use to do chat formatting and only allow it through the API. This could probably done during the LiteLLM integration.
And since we're going to do that, I think it would be good to just put a default chat-style format that works ok for most models, while structuring the code in such a way that meta optimization can be added easily later. My intuition is that default prompts just need to be "good enough" to bootstrap a few good traces, and as long as that works people won't really care about how good the default prompt format is.

I think it would be good to just put a default chat-style format that works ok for most models

When you say "default chat-style format", what do you have in mind? I struggle to understand if you're referring to the wording or the structure of the payload most api providers and local servers use.

Also, regardless, could we leave a escape hatch for the user to provide a function that builds the arguments to send to the llm? Then one could just use the default one or provide tweaks.

Adding few-shot examples in chat turns will probably not fix the fact that most programs will need to bootstrap starting from zero-shot prompts. But major +1 to any exploration of how to get most chat models to reliably understand that we want them to complete the missing fields.

Btw I suspect this is easy. It's not happening right now just because no one ever tried :D. We've been using the same template since 2022 before RLHF and chat models (i.e., since text-davinci-002). The DSPy optimizers help make this less urgent than it would be otherwise because most models learn to do things properly with compiling, but ideally zero-shot (unoptimized) usage works reliably too. That will lead to better optimization.

@isaacbmiller This is a great self-contained exploration. We can do this for 3-4 diverse chat models?

Just catching up on this. It may be helpful for folks to take a look at the new Template class, it should contain all the TemplateV2/TemplateV3 functionality.
Additionally, all functionality for generating a prompt and passing to the LM, are contained within the new Backends themselves. We've already got a TemplateBackend which should match current functionality, along with a JSON backend which returns the content as a JSON directly.
We could always create a seperate version of the Template which returns the Signature + Examples, as a series of ChatML messages, which we then pass instead of a prompt directly to the LiteLM model.
Currently to call the LMs we do this:
# Generate Example
example = Example(demos=demos, **kwargs)

# Initialize and call template
# prompt is generated as a string
template = Template(signature)
prompt = template(example)

# Pass through language model provided
result = self.lm(prompt=prompt, **config))

It would be pretty straightforward to do something like this instead.
For the BaseLM abstraction we could make both messages and prompt optional, and ensure that one or the other, but not both are provided.
# Generate Example
example = Example(demos=demos, **kwargs)

# Initialize and call template
# messages is generated as a [{"role": "...", "content": "..."}]
template = ChatTemplate(signature)
messages = template(example)

# Pass through language model provided
result = self.lm(messages=messages, **config))

@CyrusOfEden and I have chatted about this in the past, not sure how we should separate out Templates vs Backends. Each Backend, will need a Template of some kind to format prompts, but each Backend, can leverage a variety of Template so its not quite one-to-one.
We should be fairly close on landing the new Backend framework in Main, and then I think this is a great next step.

I think it's an interesting idea to support multiple different Template's.
I assume the code you wrote would all be inside Predict, so the user never actually has to call self.lm(...).
Maybe a Predict can have a template, similar to how it has a signature.
Then we can even have a TemplateOptimizer that optimizes the template the same way SignatureOptimizer optimizes the signature.

Some more examples of LMs being unable to understand the basic format:
claude-3-opus-20240229:

gpt-4:

gpt-3.5-turbo:

Relevant discussion: https://github.com/stanfordnlp/dspy/discussions/420

I've been running into this problem as well using typed predictors.
@okhat I think your suggestion of substituting "Follow the following format." with "Complete the unfilled fields in accordance with the following format." if a chat model is used would go a long way in the short run, but in the long run an approach that adapts the prompting technique to each model would be idea.
I'll note that the problem is especially bad with the TypedChainOfThought predictor, because of the way this one mixes structured output with unstructured 'Think it through step by step'.  This leads the model to produce bits of unstructured text where DSPy expects a structured output.

FWIW - the new backed system would allow you to provide your own templates and supports chat mode. If you have a fuller example you can share, I would be keen to see if I can test it out and see if there are any improvements.

@KCaverly Is there a better way to pass a template than through a config option?

Ive been working on it here: #717.
So far, im passing it during generation. The backend has a default template argument, that can be overridden in modules when the backend is called. Which would allow us to either pass them dynamically as the Module evolves, or set it at the Module level, and pass through etc.

That looks great. I will take an in-depth look later today.
Should I switch to building off of that branch?

If you take a look at the JSONBackend, we do something very similar. For json mode models, we prompt the model to complete the json as an incomplete object, as opposed to rewriting it from scratch. Additionally all of the demo objects are also shown in the completed JSON format which hopefully helps enforce the appropriate schema as well.

I think it's an interesting idea to support multiple different Template's.

I also think so because i use a lot of models, every single one has a different template the problem is compounded by DSPY , but the good news is that we can probably organise custom templates in a special .contrib folder , so that templates that naturally have to be written for any new model (or task!) can also be pushed upstream.

If you take a look at the JSONBackend, we do something very similar. For json mode models, we prompt the model to complete the json as an incomplete object, as opposed to rewriting it from scratch. Additionally all of the demo objects are also shown in the completed JSON format which hopefully helps enforce the appropriate schema as well.

Where should I look? In https://github.com/KCaverly/dspy/blob/f9c1adf837f1384fca60ed71dd2f32db47969746/dspy/modeling/templates/json.py#L29 it seems like everything gets stuffed into the user message.
But this prefill trick should actually be used by the text template/backend too, I believe. If the backend API is chat.

Everything is currently stuffed into on message, but instead of providing the question and asking for a json response, we send an incomplete json object and ask to complete it. Not quite prefilling, but kinda similar.

Sending an incomplete object can work well if the model understands it's supposed to complete it. Prefilling makes this easier for chat api models.
I'm not saying you always have to use prefilling, just asking if I'll be able to make a template that works this way?
I should probably pull your code and try it out 😁

I think it should work, would be a great test.

https://github.com/stanfordnlp/dspy/pull/701
This PR should've added this functionality.
I think this issue could be closed now

@Serjobas What do you mean?

Btw @isaacbmiller @thomasahle @KCaverly I confirmed that "Follow the format below. Start your completions where the supplied fields end." communicates what we intended more clearly here with chat models, though obviously pre-filling appears to be a better approach in conjunction with this.
What we need IMO is a way to have a breaking version of DSPy (where all old caches and everything else will not work anymore) and a sustained version, until we make a major release.
One way to do that is to have a flag, e.g. dspy.settings.configure(mode=2024) or something like that.

@okhat that sounds good to me. Currently, the backend-refactor branch, is built to be completely backwards compatible, with the only breaking changes surround versioning on openai, others etc for litellm, but litellm is set up as an optional extra. If a backend is configured, we would prioritize and use the new backend structure otherwise it would operate the same as the old method.
Maybe we would want some sort of deprecation message, in the interim pointing to new documentation on the backend?

Btw @isaacbmiller @thomasahle @KCaverly I confirmed that "Follow the format below. Start your completions where the supplied fields end." communicates what we intended more clearly here with chat models, though obviously pre-filling appears to be a better approach in conjunction with this.

What we need IMO is a way to have a breaking version of DSPy (where all old caches and everything else will not work anymore) and a sustained version, until we make a major release.

What do you think about https://github.com/stanfordnlp/dspy/pull/717 's approach of doing
dspy.settings.configure(backend=TemplateBackend(ChatTemplate()))

That wouldn't break any existing code / notebooks.
I think the modified default guidelines you mention could be helpful, but as you say, they break existing caches.
I also agree that we might need to have a "breaking changes" release at one point. Maybe mode=2024 is a good approach for this, or maybe we can use feature flags, like configure(enable_backends=True).
But the changes needed for this particular issue seem to not need breaking anything. If we keep the default backend to be an exact copy of the current behavior.

Sorry for jumping in pretty late to this discussion - but I think I have some ideas and I really want to use them and understand how I can contribute.
The reality I see with using chat models is that what usually works the best at making them follow instructions in a few-shot task specific setting would be a format like this:
in a zero shot manner:
System: """
"""
User: """"""
in a few shot manner:
System: """
"""
User: """"""
Assistant: """"""
User: """"""
Assistant: """"""
...
User: """"""
I think this makes the most sense if I look at the formatting of prompts today in the sense of keeping the signature + output formatting in the system prompt of the model and the examples as chat conversation.
what would be the correct way to support that?
I'd be glad to contribute an example/ PR if any revision is needed because from what I'm seeing this boosts performance and instruction following by quite a bit on chat models I'm working on..
@okhat @thomasahle your thoughts?

@flexorRegev exactly! Support for this is landing in backend-refactor

Is there a workaround identified for this until the new backend is completed? I am running into this repeatedly with GPT4

Follow up here, with dspy.OpenAI models, I was able to make the below work:
gpt4_turbo = dspy.OpenAI(model='gpt-4-turbo-2024-04-09',
                                    system_prompt="Follow the format below. Start your completions where the supplied fields end.",
                                    model_type='chat')

Follow up here, with dspy.OpenAI models, I was able to make the below work:
gpt4_turbo = dspy.OpenAI(model='gpt-4-turbo-2024-04-09',
                                    system_prompt="Follow the format below. Start your completions where the supplied fields end.",
                                    model_type='chat')

Not all models have the system_prompt parameter, so I may try to weave this in with an assertion instead of cutting into the base code given y'all are working on backend_refeactor

this workaround doesn't work for me (when using gpt4o). it still outputs "Reasoning:" at the start of its reasoning when doing CoT
Support for chat models is pretty critical given the limitations on instruct models (e.g. no GPT4 instruct model)

Hey did you find any workaround, I am having the same issue.

My workaround is to just use a TypedPredictor rather than the TypedChainOfThoughtPredictor and then include fields in my schemas called 'reasoning' whose descriptions as for a CoT-style justification of the output.  Put these fields earlier up in your data structure -- it will only help if the reasoning precedes the fields which contain the important output.
This way the prompt and expected output is no longer a confusing mix of unstructured and structured text -- instead, it's all structured.
As I primarily use OpenAI's models, I really wish that function calling were supported, similar to how the Instructor package does it.  The typed predictors seem so similar in spirit to the Instructor approach, it's just that Instructor handles the communication of the expected output format much better.  It would be interesting to see someone build an optimization layer on top of instructor.

Interesting paper on how function calling affects downstream performance in some models released this week: https://arxiv.org/pdf/2408.02442

(blob below copy-pasted here since I'm closing related issues)
Thanks for opening this! We released DSPy 2.5 yesterday. I think the new dspy.LM and the underlying dspy.ChatAdapter will probably resolve this problem.
Here's the (very short) migration guide, it should typically take you 2-3 minutes to change the LM definition and you should be good to go: https://github.com/stanfordnlp/dspy/blob/main/examples/migration.ipynb
Please let us know if this resolves your issue. I will close for now but please feel free to re-open if the problem persists.


feat: add basic persistence, fixes

Add basic persistence to config file in user directory
Fix XRP issues: #16, #9; temporary fix for #15
Fix issue with balance not applied for incoming packets
Resolves ETH issues: #7, bug loading persisted claims (other issues were on server)
Refactor some test code

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@01707d4). Click here to learn what that means.
The diff coverage is 93.54%.

@@            Coverage Diff            @@
##             master      #19   +/-   ##
=========================================
  Coverage          ?   90.75%
=========================================
  Files             ?       16
  Lines             ?      660
  Branches          ?       35
=========================================
  Hits              ?      599
  Misses            ?       52
  Partials          ?        9

Impacted Files
Coverage Δ

src/services/switch.ts
88% <ø> (ø)

src/services/stream-server.ts
83.33% <ø> (ø)

src/utils/store.ts
70% <ø> (ø)

src/engine.ts
100% <100%> (ø)

src/credential.ts
95.12% <100%> (ø)

src/settlement/machinomy.ts
91.93% <100%> (ø)

src/settlement/lnd.ts
96.07% <100%> (ø)

src/uplink.ts
90.47% <100%> (ø)

src/utils/crypto.ts
100% <100%> (ø)

src/utils/middlewares.ts
86.66% <100%> (ø)

... and 3 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 01707d4...ff3586f. Read the comment docs.

@rhuairahrighairidh I opened #23 and #24 to track the persistence improvements


Book as non-comittee member

according to https://docs.chalmers.it/lokalpolicy.pdf §7, the booking of CTC as well as the group room should not be limited to only comittees and associations.

Fixed as of #77


Packages with same name Ignored in the scan of SPDX file

For reference do checkout this.
Related: cve-bin-tool issue  4058
while scanning a spdx sbom file in json format containing two different version packages of openssl the tools is outputing only 1 package whereas is should display both, only first occurence of the package is displayed, on investigation it is found that it is due to this particular if statement:
https://github.com/anthonyharrison/lib4sbom/blob/0dae9bbba17bba8149706ec7daafb3c0e4322623/lib4sbom/spdx/spdx_parser.py#L433
below is a output of a print statement showing contents of packages dictionary where is can be seen only one package is taken into account:
{
    "openssl": {
        "name": "openssl",
        "type": "LIBRARY",
        "version": "1.1.1f",
        "id": "openssl_1.1.1f",
        "supplier_type": "Organization",
        "supplier": "OpenSSL",
        "originator_type": "Organization",
        "originator": "OpenSSL",
        "homepage": "http://www.openssl.org/",
        "licenseconcluded": "LicenseRef-OpenSSL",
        "licensedeclared": "LicenseRef-OpenSSL",
        "downloadlocation": "http://www.openssl.org/source/",
        "description": "OpenSSL library version 1.1.1f",
    }
}

@mastersans  Yes
The following approach might be appropriate without the check for the existence of the package name already in the list of packages.
            package_tuple = (package, version)
            packages[package_tuple] = spdx_package.get_package()


Alternative - docker-machine-nfs

I think this alternative is a worthy mention: https://github.com/adlogix/docker-machine-nfs
One command install and boom, file system is rapid fast now :) I never actually managed to get osx-dev working, brew didn't seem to install everything and then even after that, no luck

docker-machine-nfs works perfect. But for my project it is significantly slower because a lot of files are loaded on every request in development.
I like the approach though because I can run scripts in the docker machine that generate files I need. With docker-osx-dev I have to run these scripts on my local machine and therefore need the whole environment there, too.

This is the most convenient solution I have found for a 2-way sync, but unfortunately it does not fix the file watcher problem (at least with the nodejs watcher nodemon).

Thanks for suggesting the project. It's not really a bug, so I'm going to close this issue, but it may be helpful for others looking for alternatives.
FWIW, as I explained in the README, I found build performance over NFS was too slow, and as @rnsloan mentioned, it breaks file watchers, so I still find rsync to be a better option.

aye, you're linking to other projects you find subpar, figured it would help someone with a quick win with a mention

Feel free to submit a PR that adds it as an alternative option in the README!


Shader only works in editor, not in build or play mode

Godot version: 3.2.2 stable

OS/device including version: windows 10

Issue description:  I  have written a shader for changing colors of texture but it doesn't work on colors which have decimal numbers only works on pure colors that have 1 or 0 such as vec4(1,1,0,1), vec4(0,0,1,1).  It seems the shader works on editor but in playmode or build it doesn't work.
shader_type canvas_item;

uniform vec4 color1 : hint_color;
uniform vec4 changed_color1 : hint_color;

uniform vec4 color2 : hint_color;
uniform vec4 changed_color2 : hint_color;

uniform vec4 color3 : hint_color;
uniform vec4 changed_color3 : hint_color;

void fragment() {
    vec4 curr_color = texture(TEXTURE,UV);

	if (curr_color ==color1){
		COLOR = changed_color1;
	}else{
		if (curr_color ==color2){
			COLOR = changed_color2;
			}
		else{
			if (curr_color ==color3){
				COLOR = changed_color3;
			}
			else{
				COLOR = curr_color;
			}
		}
	}
}

Steps to reproduce:
paints.zip
1- attach the shader to paints that one of them is pure other isn't.
2- choose colors as shader parametre to decide which color is going to be changed
3- choose colors as shader parametre to decide what color you want to convert.
shader will work perfect in editor but not in playmode
Minimal reproduction project:
Shader Bug Godot.zip
playmode

editor

For future reference for graphics issues issues it is best to include information such as the backend (GLES2, GLES2 batching, GLES3, vulkan etc) and your GPU model (and possibly drivers). I got the backend from the example project but it is nice to see at a glance without downloading. :+1:
When I try it both the editor and playmode look the same as your playmode, in 3.2.2 and 3.2.3.
However in this case I suspect the problem is that you are trying to use an equals operator in the shader with floating point data. Equals usually won't work with float data, because of precision issues, and especially so in shaders because precision may vary on different hardware. Instead if you want to match a color you usually have to use an epsilon.
see e.g.
https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
https://floating-point-gui.de/errors/comparison/
I suspect there may also be a better way of doing palette swaps than this (I've not really done it myself perhaps one of the 2d guys will have ideas).

As lawnjelly pointed out above, this is a result of trying to compare floating point numbers with ==.
Instead of:
curr_color ==color

Use:
!(abs(curr_color - color) > 0)

I had to use this if (lessThan(vec4(0.001),abs(curr_color - color1))==bvec4(false))
0.001 is similarity factor , it can't be 0
I can't compare two vec4 so I had to use lessthan func and this return bvec so that why I check bvec4(false) at the end


Construct RqHeaders.Smart from Request

Remove unnecessary new RqHeaders.Base(req) calls if we construct RqHeaders.Smart.

@kerelape can you help me understand why CI complains?

@kerelape thanks!

@Masynchin can you please submit modifications to the tests first, in a new pull request. Then, we merge them. After then, you will come up with modifications to the code. Now it's not clear whether your changes are valid. See https://www.yegor256.com/2022/08/04/code-and-tests-different-pull-requests.html

See https://www.yegor256.com/2022/08/04/code-and-tests-different-pull-requests.html

@yegor256 I don't understand how this related to my changes. I am not adding new functionality or changing the current one, I only simplified the code without changing its logic.

@Masynchin you modify both tests and live code at the same time. How do we know you are not cheating and not making tests pass with the new code?

How do we know you are not cheating and not making tests pass with the new code?

By looking at code before/after my changes. Do replacing the constructor call counts as tests modification? I only replaced the use of first constructor to the second one.
https://github.com/yegor256/takes/blob/b6c88d2cb712b02f9a76fab6fb8667ad8f3bf2dd/src/main/java/org/takes/rq/RqHeaders.java#L190-L200
I won't open new PR only to apply the same simplification because it is in test/.

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 11min)

Job gh:yegor256/takes#1135 is not assigned, can't get performer


Hello... When I try to run the code the following error appears...    Traceback (most recent call last):   File "C:\Users\Rafhael\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 193, in _run_module_as_main     "main", mod_spec)   File "C:\Users\Rafhael\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 85, in _run_code     exec(code, run_globals)   File "C:\Manim\manim.py", line 9, in      config = manimlib.config.get_configuration(args)   File "C:\Users\Rafhael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\manimlib\config.py", line 185, in get_configuration     module = get_module(args.file)   File "C:\Users\Rafhael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\manimlib\config.py", line 179, in get_module     module = importlib.util.module_from_spec(spec)   File "", line 580, in module_from_spec AttributeError: 'NoneType' object has no attribute 'loader'

If this is a support request:
Please attempt to solve the problem on your own before opening an issue.
Between old issues, StackOverflow, and Google, you should be able to find
solutions to most of the common problems.
Include at least:

Steps to reproduce the issue (e.g. the command you ran)
The unexpected behavior that occurred (e.g. error messages or screenshots)
The environment (e.g. operating system and version of manim)

If this is a feature request:
Include the motivation for making this change.

Please change your title and post the error in the body section.

Also, please include the code you are trying to run...


Improvement: Less technical error message for pending funding transaction

When placing a bid while the funding transaction is still unconfirmed a less technically descriptive error message would help others.

a more user intelligible description would improve the UX.
Agree that the error message isn't great, most of it isn't high signal
Suggested alternative:
"Unable to submit order: Account needs to confirm first"
or
"Submit order after account confirms"


Feature/expression based goal

This needs some code cleanup because it has multiple duplications.

But probably any code cleanups could be done after there will be refactoring of changed variables.
I am against execution along with changing expression by now.
I am sure there should be pipe:

goal <- input
execute goal step -> new goal
if goal is empty -> output | else -> return to step 2


Showed regionsprops example and cleaned up generator function

#9 clarified this
Also changed around the phrasing of the generator function in classifier step as even though btrack functionality is changed to accept dask, the generator approach is much much quicker (maybe want to clarify this further in some doc?)

will wait until we merge the octopuslite-reader pr until i merge this one

this will need the btrack class id changes to go ahead before merging


Tracing: use tantivy byte field store trace and span IDs.

Use tantivy byte field rather than string to store trace and span IDs.

This was reverted because term aggregations are currently not possible on byte fields.


'pip install chia-dev-tools' error

Hello!
I cloned https://github.com/Chia-Network/chia-dev-tools/commit/8430a75f49b863142aa5b1354e60454acb017f87
and activated pyenv and typed `pip install chia-dev-tools'.
Then I got this error message.
I tried reinstalling pip, reinstall the problematic package via the given link, but still got an error.
Thank you!! :)

I am having the same problem. Are you on an M1 Mac by any chance? I don't have any resolution, I'm just trying to bring this back up to anyone who may be able to help.

Try installing the latest version and try again.  I think there was a potential bug in that version of chia-blockchain that may have led to this.

I had the same issue on my Apple M1. I have followed this video and it solved my issue python environment setup on Apple Silicon | M1, M1 Pro/Max with Conda-forge

I had this issue at some point while trying to install chia-dev-tools and I was fighting all day with it. For this particular issue what i did is follow that error and install rust and cargo which solved this issue.
I have a macbook pro m1 2022. And after this error was fixed I faced the following issue for a long long time:

I tried everything and the only thing that worked was installing miniforge (https://github.com/conda-forge/miniforge) and creating a virtual environment with that, which creates a arm64 one. Inside the base env created with conda I was able to just run pip install chia-dev-tools and even though I got an error all tools installed correctly.
There is clearly an issue with M1 macs.


feat(schedules): publish schedules connected to backend

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


add diagonal right to left pattern

:boom: Breaking Changes

:rocket: Enhancements

Add diagobalRightToLeft orientation

:memo: Documentation

:bug: Bug Fix

:house: Internal

Fixes https://github.com/hshoff/vx/issues/723

@williaster I was thinking of adding a multi-select in the boxplot example to enable one to select the pattern to show on the violin plot. What do you think about the Idea?

thanks for the addition @dennisja! could you add a screenshot of it working (maybe a comparison to the other diagonal to see feature parity)?

thanks for the addition @dennisja! could you add a screenshot of it working (maybe a comparison to the other diagonal to see feature parity)?

WDYT of adding a select in the boxplot example where one can choose the pattern to show?

@dennisja that sounds good, or alternatively could add to the Pattern example demo?

@williaster Adding it to the Pattern example sounds and looks better. It is what I have gone with

@williaster I noticed that the build is failing because of some types that are not related to the pull request. I don't know whether it will be a good idea fixing them in this PR for the build to pass. Is can we add an issue to fix them or should I go ahead and fix them in this PR?

@dennisja could you rebase your branch from upstream and push? the fix landed in https://github.com/hshoff/vx/pull/751

https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork
https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork


Map multiple TestRail CaseIDs in Cypress Tests

there was a request in twitter about mapping multiple testrail case ids to a single cypress test.
can indeed be a good idea
so an approach would be to have this
it('C123 C223 C333: this is a test')...

I've just released v2.3.0 with the new feature. please see the README for details.


[Backport 2.x] Fix flaky test SegmentReplicationTargetServiceTests#testShardAlreadyReplicating

Manual backport of https://github.com/opensearch-project/OpenSearch/pull/13248 to 2.x.
This PR includes two additional changes to bring this file in sync with main.
https://github.com/opensearch-project/OpenSearch/commit/59a62e79e30c183bd46905f8d46a886942518b86 updated localNode definition on 2.x but not on main.
https://github.com/opensearch-project/OpenSearch/commit/e942483e716255b8f801dc1242f909d73019aa70 unmuted this test on main but was not backported.
The rest is the same.

❌ Gradle check result for 15c5baf:
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

504 Gateway Time-out


shopify dev terminal footer taking up too much space.

Overview
As the title suggest, I think the terminal/log footer is taking up too much space. Personally, I never use it and would love a feature to hide it entirely. Also adding an advertisement for Editions might be a bit much?

(obfuscated log — not sure if sensitive)
On another related note; I don't know why the output from "shopify dev" is different from a native remix app. But my experience is the remix log is better in every way (at least when used in iterms). The shopify log entirely circumvent terminal color conventions, and becomes impossible to format in any way.
Would be possible to give an option to just have the raw remix log?
Loving the new auth strategy by the way. 💚
/Magnus

I know that only a small subset of apps are done with remix — but I hope you get the idea anyhow.


VS2015 hangs after closing NTVS project

Hi,
First off, I want to say that NTVS is simply amazing! It's the most advanced way to develop and debug Node.js apps as of today. The IntelliSense is so nice to have! And so is the "edit-and-continue". No other IDE is able to match these features, and I tested a lot of them.  Well done.
One thing that happens randomly is VS2015 freezing when closing a NTVS solution. It happens about 80% of the time. Everything works great until I'm done with the project and want to close it. VS will hang and won't exit even after minutes. Only a process kill via Task Manager to devenv.exe can close VS.
Is this a known issue? I tried searching and couldn't find it.
Thanks for your support,
Elad

Glad you like it!
Perhaps there are a lot of analysis objects in memory that are being serialized and saved to disk. Would you mind providing your package.json file so we can try to reproduce the issue?

Absolutely.
{
  "name": "App",
  "main": "server.js",
  "version": "1.0.0",
  "dependencies": {
	"async": "^0.9.0",
	"body-parser": "^1.10.1",
	"cookie-parser": "^1.3.4",
	"crypto": "0.0.3",
	"express": "~4.9.0",
	"mongoose": "^4.1.7",
	"mqtt": "^0.3.13",
	"nodemailer": "^1.3.4",
	"nodemailer-ses-transport": "^1.2.0",
	"path": "^0.11.14",
	"request": "^2.51.0",
	"stripe": "^3.3.4",
	"validator": "^4.0.5"
  },
  "devDependencies": {
	"jshint": "^2.8.0"
  }
}

After installing all of the packages you described, playing around with it a bit (waiting some time was required - I was not able to reproduce immediately), running into issue #505... I managed to reproduce the issue.
Microsoft.NodejsTools.dll!Microsoft.NodejsTools.Intellisense.VsProjectAnalyzer.AnalysisQueue.Worker(object threadStarted) Line 215	C#

WaitHandle.SignalAndWait(
    _analyzer._queueActivityEvent,
    _workEvent
);

It appears that the wait sometimes fails to complete during project close.

Well done! Let me know if you need anything else, or if I can somehow help fix it.

And update / braindump on this... when closing the project, a cancellation is requested using a cancellation token.
After AnalysisUnit.Analyze, however, the cancellation token is ignored, and NTVS first completes analysis on the current analysis unit.
https://github.com/Microsoft/nodejstools/blob/master/Nodejs/Product/Analysis/Analysis/Analyzer/AnalysisUnit.cs#L174-L176
We could pass the cancellation unit down further and cancel analysis during project close, but that would only hide the problem (in particular, analysis would just stall while the project is active in Visual Studio.)
In this case, the callstack looks something like:
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.GlobalBuilder.DefineProperties(Microsoft.NodejsTools.Analysis.Values.FunctionValue func, Microsoft.NodejsTools.Parsing.Node node, Microsoft.NodejsTools.Analysis.AnalysisUnit unit, Microsoft.NodejsTools.Analysis.IAnalysisSet this, Microsoft.NodejsTools.Analysis.IAnalysisSet[] args) Line 1325	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Values.SpecializedFunctionValue.Call(Microsoft.NodejsTools.Parsing.Node node, Microsoft.NodejsTools.Analysis.AnalysisUnit unit, Microsoft.NodejsTools.Analysis.IAnalysisSet this, Microsoft.NodejsTools.Analysis.IAnalysisSet[] args) Line 177	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.AnalysisSetExtensions.Call(Microsoft.NodejsTools.Analysis.IAnalysisSet self, Microsoft.NodejsTools.Parsing.Node node, Microsoft.NodejsTools.Analysis.AnalysisUnit unit, Microsoft.NodejsTools.Analysis.IAnalysisSet this, Microsoft.NodejsTools.Analysis.IAnalysisSet[] args) Line 75	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.ExpressionEvaluator.EvaluateCall(Microsoft.NodejsTools.Analysis.Analyzer.ExpressionEvaluator ee, Microsoft.NodejsTools.Parsing.Node node) Line 294	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.ExpressionEvaluator.EvaluateWorker(Microsoft.NodejsTools.Parsing.Node node) Line 118	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.ExpressionEvaluator.Evaluate(Microsoft.NodejsTools.Parsing.Expression node) Line 51	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Walk(Microsoft.NodejsTools.Parsing.ExpressionStatement node) Line 143	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Parsing.ExpressionStatement.Walk(Microsoft.NodejsTools.Parsing.AstVisitor visitor) Line 46	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Walk(Microsoft.NodejsTools.Parsing.Block node) Line 391	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Parsing.Block.Walk(Microsoft.NodejsTools.Parsing.AstVisitor walker) Line 62	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Walk(Microsoft.NodejsTools.Parsing.IfNode node) Line 307	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Parsing.IfNode.Walk(Microsoft.NodejsTools.Parsing.AstVisitor visitor) Line 72	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Walk(Microsoft.NodejsTools.Parsing.Block node) Line 391	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Parsing.Block.Walk(Microsoft.NodejsTools.Parsing.AstVisitor walker) Line 62	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Walk(Microsoft.NodejsTools.Parsing.TryNode node) Line 476	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Parsing.TryNode.Walk(Microsoft.NodejsTools.Parsing.AstVisitor visitor) Line 110	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Walk(Microsoft.NodejsTools.Parsing.Block node) Line 391	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Parsing.Block.Walk(Microsoft.NodejsTools.Parsing.AstVisitor walker) Line 62	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.FunctionAnalysisUnit.AnalyzeWorker(Microsoft.NodejsTools.Analysis.Analyzer.DDG ddg, System.Threading.CancellationToken cancel) Line 85	C#
>	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.AnalysisUnit.Analyze(Microsoft.NodejsTools.Analysis.Analyzer.DDG ddg, System.Threading.CancellationToken cancel) Line 177	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.Analyzer.DDG.Analyze(Microsoft.NodejsTools.Analysis.Deque<Microsoft.NodejsTools.Analysis.AnalysisUnit> queue, System.Threading.CancellationToken cancel) Line 72	C#
 	Microsoft.NodejsTools.Analysis.dll!Microsoft.NodejsTools.Analysis.JsAnalyzer.AnalyzeQueuedEntries(System.Threading.CancellationToken cancel) Line 389	C#
 	Microsoft.NodejsTools.dll!Microsoft.NodejsTools.Intellisense.VsProjectAnalyzer.AnalysisQueue.GroupAnalysis.Analyze(System.Threading.CancellationToken cancel) Line 247	C#
 	Microsoft.NodejsTools.dll!Microsoft.NodejsTools.Intellisense.VsProjectAnalyzer.AnalysisQueue.Worker(object threadStarted) Line 183	C#
 	[External Code]

More specifically, analysis stalls somewhere in the middle of all these nested for loops in DefineProperties.
https://github.com/Microsoft/nodejstools/blob/master/Nodejs/Product/Analysis/Analysis/GlobalBuilder.cs#L1311
At this point in time...
args[0].Count = 50
args[1].Count = 229
propsObj.Descriptors.Keys.Count = 199
definingProperty.Count = 286

Which explains the hang :smiley:. Still need to figure out the fix, but at least this somewhat narrows it down.

Ahh, we're not checking MaxMergeTypes here... that would explain #505 too

Well done! :+1:

@eladnava the fix is now available in our latest dev build. Mind verifying it works fine on your end?

@mousetraps unfortunately, it still hangs :-(
I installed the NTVS.Dev.2015-10-20.VS.2012.msi and opened the project with the attached package.json, and VS hung again when I wanted to close the solution.
Let me know if there's anything else I can do to help.

Could you try deleting your ntvs_analysis.dat file first so that analysis will restart on your project?

@mousetraps Since I created the Node.js project from existing files, there is no .ntvs_analysis.dat file and code analysis happens on-the-fly when I open the solution, so no file to delete.
It's worth mentioning that only after I edit some files and try to debug does VS hang -- simply opening and closing the solution won't cause this behavior.

Hmm just to make sure we're on the same page here... you mentioned you were running into the issue on VS 2015. But according to your comment here, it sounds like you installed the VS 2012 msi?

@mousetraps true, I decided to install the VS 2012 NTVS - does it make a difference though? Or was the fix only applied to the VS 2015 dev build?
Also, worth mentioning that I created a brand new project after installing the latest dev build (on VS 2012), so no left over .ntvs_analysis.dat from the previous version.


RLS Clippy integration

The Rust language server has a feature to enable the Clippy hints. I've seen #2001, but it would be nice to support it directly via RLS instead of the external linter.

This would be better achieved through having each LSP have an option setting (possibly g:ale_lsp_<language>_<LS>_options dict), then using the workspace/didChangeConfiguration command or the language server requests workspace/configuration from the client.

@w0rp what are your thoughts on having user-supplied configuration for language servers?

I'd like to see an example of how to do this (especially for pyls).

I actually added support for this in Pyls initially (although it was removed before the changes were merged and has not been tested). Here’s the commit of interest: https://github.com/w0rp/ale/commit/3dee92f1b7b2af3c19d8fb525f9e2cc1f9d4c8e9
Should get you started @tmc

I'd like to see this as well, since I currently have to explicitly opt in to clippy for each crate.

Feel free to create a pull request. :)

explicitly opt in to clippy for each crate

@alok, how are you doing this?

Ok, got it working, added doc and test (analogous to implementation for pyls).

[EXECUTE] (X) Vim(if):E735: Can only compare Dictionary with Dictionary

I'm getting this from let b:ale_rust_rls_config = {'rust': {'clippy_preference': 'on'}}, which seems to work in practice; I'm not sure why the test is failing.
I modeled this from a pyls lsp_config test which looks very similar other than the use of v:false as a value instead of a string, I'm not sure if that is relevant; the value for clippy_preference is a string.

Nm, default empty config needs to be dict not string. Hopefully that fixes it.

Setting let g:ale_rust_rls_config = {'rust': {'clippy_preference': 'on'} or b_ale_rust_rls_config in a buffer should now turn Clippy on.


defaultValue does not take a function as does autoValue

defaultValue does not take a function as does autoValue. Arguably defaultValue: function(){return Meteor.absoluteUrl('...') would be useful.

Since you can use autoValue, I don't plan to implement this.


Greenkeeper/monorepo.nestjs<PHONE_NUMBER>3517

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Build issues in iOS

Followed the steps as instructed.
Build Failed showing 3 errors
1- Utility file not found
2- Unknown type namespace
3- Expected ; after top level declarator.

Could we read RSSI value of scanned devices?


Add status field in Registry CR to expose the installation status

This issue has been resolved, and should not affect the upcoming 1.0.0-v2.0.0.final release.


FinalizedBlockRepository speedup

Moved finalized block info logic from ChainRepo to a separated component
Speeded up saving process so when we save it we save in memory and it goes to DB in the background

The reason to do that PR is FV speed. Every block we validate we update finalized block info and saving this to DB under the reorg lock is too costly. With this PR we increase FV speed by 130 ms per block (for checkpointed blocks total FV  time is around 160 sec)
ps
This PR requires deletion of the stratis folder and syncing from scratch.
This is due to separation of chainRepo and finalizedBlockHash in the database schema.
Fix: #2236

@fassadlr fixes applied.

@fassadlr fixes applied

@fassadlr fixes applied

@fassadlr thanks mate 🙂


Use 'hammerhead.utils.string.trim` (closes #301)

\cc @AlexanderMoskovkin @helen-dikareva

Oh, the PR cannot be merged until current master branch of testcafe-hammerhead will be published to npm. Sorry!


Can you explain the differences ?

What does a,b,c,d mean?
Which one to download?

The letters are release updates for each minor release. If you don't have an openssl version to update, I would simply go with the highest available, 1.1.1d. As time goes, you will probably see 1.1.1e, 1.1.1f and so on, and can simply update your installation with those as they appear.
Did that clarify things?

Do note that with upcoming 3.0, we're changing our versioning scheme, and the update releases (some call them patch releases) will be 3.0.1, 3.0.2 and so on.

Thanks for your answer, now it's clear.


Configuration error in runtests.py --doc

I'm trying to build docs for a PR I'm working on,
I haven't done that from the test harness (runtest.py) before and I didn't have sphinx in my virtual env. When I ran the runtests.py file I got a message that I need to install sphinx. I did that and reran runtests.py with --doc option, that gave me a prompt to install some submodule. I did that and now the submodule setup just hangs, is this dead code or an error that needs to be fixed?
I'm on a branched off master on January 16th, 2019 so I don't think any relevant changes since then but let me know if I missed something.
Full traceback:
(scipy-dev) Lucass-MacBook:scipy rlucas$ python runtests.py --doc
Building, see build.log...
Build OK (0:00:08.553786 elapsed)
mkdir -p build/html build/doctrees
LANG=C "/Users/rlucas/anaconda3/envs/scipy-dev/bin/python" -msphinx -WT --keep-going -t scipyorg -b html -d build/doctrees  "-j1" source build/html-scipyorg
Running Sphinx v2.3.1
SciPy (VERSION 1.5.0.dev0+45e8ee6)

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 368, in eval_config_file
    execfile_(filename, namespace)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/Users/rlucas/scipy-dev/scipy/doc/source/conf.py", line 188, in <module>
    raise RuntimeError("Get the scipy-sphinx-theme first, "
RuntimeError: Get the scipy-sphinx-theme first, via git submodule init & update

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/cmd/build.py", line 275, in build_main
    args.tags, args.verbosity, args.jobs, args.keep_going)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/application.py", line 217, in __init__
    self.config = Config.read(self.confdir, confoverrides or {}, self.tags)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 197, in read
    namespace = eval_config_file(filename, tags)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 378, in eval_config_file
    raise ConfigError(msg % traceback.format_exc())
sphinx.errors.ConfigError: There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 368, in eval_config_file
    execfile_(filename, namespace)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/Users/rlucas/scipy-dev/scipy/doc/source/conf.py", line 188, in <module>
    raise RuntimeError("Get the scipy-sphinx-theme first, "
RuntimeError: Get the scipy-sphinx-theme first, via git submodule init & update

Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 368, in eval_config_file
    execfile_(filename, namespace)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/Users/rlucas/scipy-dev/scipy/doc/source/conf.py", line 188, in <module>
    raise RuntimeError("Get the scipy-sphinx-theme first, "
RuntimeError: Get the scipy-sphinx-theme first, via git submodule init & update

make: *** [html-scipyorg] Error 2
Traceback (most recent call last):
  File "runtests.py", line 497, in <module>
    main(argv=sys.argv[1:])
  File "runtests.py", line 202, in main
    subprocess.run(cmd, check=True)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['make', '-Cdoc', 'PYTHON="/Users/rlucas/anaconda3/envs/scipy-dev/bin/python"', 'html-scipyorg', 'SPHINXOPTS="-j1"']' returned non-zero exit
(scipy-dev) Lucass-MacBook:scipy rlucas$ git submodule init & update
[2] 3747
-bash: update: command not found
(scipy-dev) Lucass-MacBook:scipy rlucas$ Submodule 'doc/scipy-sphinx-theme' (https://github.com/scipy/scipy-sphinx-theme.git) registered for path 'doc/scipy-sphinx-theme'
Submodule 'doc/source/_static/scipy-mathjax' (https://github.com/scipy/scipy-mathjax.git) registered for path 'doc/source/_static/scipy-mathjax'
Submodule 'doc/sphinxext' (https://github.com/numpy/numpydoc.git) registered for path 'doc/sphinxext'

EDIT it looks like I need to install a sphinx theme from somewhere but the error message doesn't state where. An informative error meesage would provide the repo url.
Does anyone know where is the necessary sphinx repo?
Scipy/Numpy/Python version information:
1.5.0.dev0+45e8ee6 1.16.4 sys.version_info(major=3, minor=6, micro=7, releaselevel='final', serial=0)

I got this error:

Did you do this git submodule init & update to get the sphinx theme?

@ilayn when I tried that I initially my system hung for about 5 minutes, I'm not sure if the remote helper is grabbing the correct commit or something else. When I ran again this morning I get:
(scipy-dev) Lucass-MacBook:scipy rlucas$ git submodule init & update
[2] 4320
-bash: update: command not found

if I run just the git submodule init there isn't any output to stdout to indicate success or failure so not sure if working correctly. However, if I retry the test harness with --doc flag I get  the process error  seen by @EverLookNeverSee
(scipy-dev) Lucass-MacBook:scipy rlucas$ python runtests.py --doc
Building, see build.log...
Build OK (0:00:05.029780 elapsed)
mkdir -p build/html build/doctrees
LANG=C "/Users/rlucas/anaconda3/envs/scipy-dev/bin/python" -msphinx -WT --keep-going -t scipyorg -b html -d build/doctrees  "-j1" source build/html-scipyorg
Running Sphinx v2.3.1
SciPy (VERSION 1.5.0.dev0+45e8ee6)

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 368, in eval_config_file
    execfile_(filename, namespace)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/Users/rlucas/scipy-dev/scipy/doc/source/conf.py", line 188, in <module>
    raise RuntimeError("Get the scipy-sphinx-theme first, "
RuntimeError: Get the scipy-sphinx-theme first, via git submodule init & update

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/cmd/build.py", line 275, in build_main
    args.tags, args.verbosity, args.jobs, args.keep_going)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/application.py", line 217, in __init__
    self.config = Config.read(self.confdir, confoverrides or {}, self.tags)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 197, in read
    namespace = eval_config_file(filename, tags)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 378, in eval_config_file
    raise ConfigError(msg % traceback.format_exc())
sphinx.errors.ConfigError: There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 368, in eval_config_file
    execfile_(filename, namespace)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/Users/rlucas/scipy-dev/scipy/doc/source/conf.py", line 188, in <module>
    raise RuntimeError("Get the scipy-sphinx-theme first, "
RuntimeError: Get the scipy-sphinx-theme first, via git submodule init & update

Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/config.py", line 368, in eval_config_file
    execfile_(filename, namespace)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/site-packages/sphinx/util/pycompat.py", line 81, in execfile_
    exec(code, _globals)
  File "/Users/rlucas/scipy-dev/scipy/doc/source/conf.py", line 188, in <module>
    raise RuntimeError("Get the scipy-sphinx-theme first, "
RuntimeError: Get the scipy-sphinx-theme first, via git submodule init & update

make: *** [html-scipyorg] Error 2
Traceback (most recent call last):
  File "runtests.py", line 497, in <module>
    main(argv=sys.argv[1:])
  File "runtests.py", line 202, in main
    subprocess.run(cmd, check=True)
  File "/Users/rlucas/anaconda3/envs/scipy-dev/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['make', '-Cdoc', 'PYTHON="/Users/rlucas/anaconda3/envs/scipy-dev/bin/python"', 'html-scipyorg', 'SPHINXOPTS="-j1"']' returned non-zero exit
[2]-  Done                    git submodule init

Also, shouldn't there be 2 ampersands? e.g. git submodule init && update? Either way when I do that the

Actually what I was really trying to do is run the doctests, I see now that there is a flag for that in test runner but appears in unsupported:
(scipy-dev) Lucass-MacBook:scipy rlucas$ python runtests.py --doctests
Building, see build.log...
Build OK (0:00:04.520745 elapsed)
Traceback (most recent call last):
  File "runtests.py", line 497, in <module>
    main(argv=sys.argv[1:])
  File "runtests.py", line 308, in main
    parallel=args.parallel)
  File "/Users/rlucas/scipy-dev/scipy/build/testenv/lib/python3.6/site-packages/scipy/_lib/_testutils.py", line 39, in __call__
    raise ValueError("Doctests not supported")
ValueError: Doctests not supported
(scipy-dev) Lucass-MacBook:scipy rlucas$

I'd like to be able to both build the docs from the test runner and execute the doctests. I tried directly running doctests via python scipy/stats/stats.py but the imports don't work because of relative import paths and no easy way around that that I can see.
For now, I can push once I have the PR code working as I expect. I can push to CI and use that as the doc builder and doctest runner but would prefer to conserve the resources. I'm not super familiar with the test runner logic, if the issues are still unresolved after that one is in a good state I can take a look but might be awhile.

I think you can call tools/refguide_check.py directly.

@peterbell10 yes that works for doctests, thanks!
e.g.
 python tools/refguide_check.py --doctests stats

gives me the failing doctest for median_absolute_deviation

Sorry completely my mistake.. I meant two separate commands; either
git submodule init
git submpdule update

or
git submodule update --init

@ilayn
I had to resetup dev end after some changes to my machine. After I got everything running this evening it looks like running:
git submodule update --init

on master branch sets up correctly. The docs are currently building and everything looks ok-thanks!
Now, given that doctests are supported but not directly in the test runner, should the value error message change? e.g. should I open a PR that changes
raise ValueError("Doctests not supported")

at line 308 of runtests.py to something like
raise ValueError("to run doctests please use: python tools/refguide_check.py --doctests")

or should the doctests call be delegated directly in runtests.py?
Not sure if the latter is possible or what would be the preferred way to achieve that with current setup.

$ python runtests.py -s optimize --refguide-check should work, does it not?

@ev-br yes that also works. I'm unclear what is the difference between
python tools/refguide_check.py --doctests stats
and
python runtests.py -s stats --refguide-check
if looks like the latter calls the former to execute doctests, is that correct?

Not sure.
While I never used runtests.py --doctest, the only use of args.doctests,
https://github.com/scipy/scipy/blob/master/runtests.py#L304
seems to imply that runtests.py --doctest runs all tests + doctests (using the standard doctest checker). --refguide-check OTOH only runs the doctests and uses a modified checker.

Thanks for helping @ev-br @ilayn @peterbell10 issue was fixed so closing.


TypeError: () got an unexpected keyword argument 'dtype'

I'm trying to run stylize.py on Ubuntu 20.04 with the latest tensorflow (2.3.0) and keras (2.4.3). Tensorflow 1.* isn't available for python 3.8 shipped with Ubuntu 20.04.
I've changed  tf.get_default_graph() to tf.compat.v1.get_default_graph() and tf.placeholder_with_default to tf.compat.v1.placeholder_with_default and everything seems worked until this:
Traceback (most recent call last):
  File "stylize.py", line 126, in <module>
    main()
  File "stylize.py", line 46, in main
    wct_model = WCT(checkpoints=args.checkpoints,
  File "/full/path/WCT-TF2.3/wct.py", line 33, in __init__
    self.model = WCTModel(mode='test', relu_targets=relu_targets, vgg_path=vgg_path,
  File "/full/path/WCT-TF2.3/model.py", line 62, in __init__
    self.vgg_model = vgg_from_t7(vgg_path, target_layer=deepest_target)
  File "/full/path/WCT-TF2.3/vgg_normalised.py", line 35, in vgg_from_t7
    x = Conv2D(filters, kernel_size, padding='valid', activation=None, name=name,
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py", line 925, in __call__
    return self._functional_construction_call(inputs, args, kwargs,
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py", line 1098, in _functional_construction_call
    self._maybe_build(inputs)
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py", line 2643, in _maybe_build
    self.build(input_shapes)  # pylint:disable=not-callable
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/keras/layers/convolutional.py", line 197, in build
    self.kernel = self.add_weight(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py", line 597, in add_weight
    variable = self._add_variable_with_custom_getter(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/training/tracking/base.py", line 745, in _add_variable_with_custom_getter
    new_variable = getter(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer_utils.py", line 133, in make_variable
    return tf_variables.VariableV1(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/variables.py", line 260, in __call__
    return cls._variable_v1_call(*args, **kwargs)
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/variables.py", line 206, in _variable_v1_call
    return previous_getter(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/variables.py", line 199, in <lambda>
    previous_getter = lambda **kwargs: default_variable_creator(None, **kwargs)
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/variable_scope.py", line 2583, in default_variable_creator
    return resource_variable_ops.ResourceVariable(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/variables.py", line 264, in __call__
    return super(VariableMetaclass, cls).__call__(*args, **kwargs)
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/resource_variable_ops.py", line 1507, in __init__
    self._init_from_args(
  File "/home/user/.local/lib/python3.8/site-packages/tensorflow/python/ops/resource_variable_ops.py", line 1651, in _init_from_args
    initial_value() if init_from_fn else initial_value,
TypeError: <lambda>() got an unexpected keyword argument 'dtype'

Actually this log is after I converted the tree with tf_upgrade_v2. But the log after my manual editing was the same.
A command I used for running stylize.py:
python3 stylize.py --checkpoints models/relu5_1 models/relu4_1 models/relu3_1 models/relu2_1 models/relu1_1 --relu-targets relu5_1 relu4_1 relu3_1 relu2_1 relu1_1 --style-size 512 --alpha 0.8 --content-path imags --style-path styles --out-path output

An image is in imags directory, style image is in styles directory and output directory is empty one.

+1

Thank you. I would try it, but I don't know how to install python 3.6 on Ubuntu 20.04. And I got worked pytorch version (PytorchWCT) with python2 if someone have the same issue. I installed pip2 by an official script and so on.


MLPA Header now shows status of each LPA

Checklist

[ ] I have updated the end-to-end tests to work with my changes
[ ] I have added styling for Dark Mode
[ ] I have checked that my UI changes meet accessibility standards

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 70.85%. Comparing base (83802c9) to head (b689019).

Files
Patch %
Lines

internal/templatefn/fn.go
0.00%
2 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #503   +/-   ##
=======================================
  Coverage   70.85%   70.85%
=======================================
  Files         106      106
  Lines        3592     3592
=======================================
  Hits         2545     2545
  Misses        744      744
  Partials      303      303

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


Deno Deploy error

I have a website built in Fresh. I didn't touch it for few months, now I just went and changed some CSS, pushed to Deploy and now the production is failing with every request:
Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'directive'
    at https://esm.sh/v99/@twind/line-clamp@0.1.1/deno/line-clamp.js:2:8

Try removing fresh.gen.ts file and run deno task start then it will create a new fresh.gen.ts file then push it to redeploy.

Try removing fresh.gen.ts file and run deno task start then it will create a new fresh.gen.ts file then push it to redeploy.

Thanks.
I ended up deleting the dependency. It turned out not that important.
But I was very scared. I didn't change any code, didn't upgrade anything. Just changed the text file in existing system and deployed. If this breaks the application, then I'm very scared to use Deno for more important stuff.

It would be helpful if you could create a minimal repro repo to verify.

Here you go https://github.com/alexbezhan/deno-deploy-broken-reproduce
@hashrock

Thank you! it seems a dependency problem using esm.sh.
I'm not too familiar with this issue, but the content esm.sh served is changed as esm.sh itself is updated. In this case, the error is caused by twind's incompatible version 1.0.1 being used.
To investigate this, run deno info main.ts, then you'll get dependency graph:
│ │ ├─┬ deno-deploy-broken-reproduce/utils/twind.ts (906B)
│ │ │ ├─┬ https://esm.sh/<EMAIL_ADDRESS>(118B)
│ │ │ │ ├─┬ https://esm.sh/v99/<EMAIL_ADDRESS>(421B)
│ │ │ │ │ └─┬<EMAIL_ADDRESS>(93B)
│ │ │ │ │   ├─┬<EMAIL_ADDRESS>(29.26KB)
│ │ │ │ │   │ └──<EMAIL_ADDRESS>(837.78KB)
│ │ │ │ │   └─┬<EMAIL_ADDRESS>(32.61KB)
│ │ │ │ │     └──<EMAIL_ADDRESS>(1.83KB)
│ │ │ │ └─┬ https://esm.sh/v99/<EMAIL_ADDRESS>(369B)
│ │ │ │   └─┬<EMAIL_ADDRESS>(109B)
│ │ │ │     └── https://esm.sh/v99/<EMAIL_ADDRESS>(19.92KB)

to fix twind dependency version, change the dependency url in import_map.json :
"@twind/line-clamp": "https://esm.sh/@twind/line-clamp<EMAIL_ADDRESS>
It may be possible to fix it with the function "pin" in esm.sh also.

@hashrock thank you for the analysis.
The issue seems very complex to me, compared to the business value it provides. So in the future I prefer to delete twind and anything related to that, and stick to the plain tailwind css.


Can't start postgresql 16 over tls

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
3.6.1
Current Behavior
I'm currently migrating from pg 13 to 16. Kong 3.6.1 (docker image) worked well on pg13 but when I try to start or just run a kong migrations list on pg16 (bypassing pgbouncer to reduce potential issues), I get:
2024/03/07 15:39:21 [verbose] preparing nginx prefix directory at /usr/local/kong
2024/03/07 15:39:21 [verbose] SSL enabled on admin_gui, no custom certificate set: using default certificates
2024/03/07 15:39:21 [verbose] generating admin_gui SSL certificate (/usr/local/kong/ssl/admin-gui-kong-default.c2024/03/07 15:39:21 [warn] 1298#0: *2 [lua] nginx.lua:300: get_ngx_ssl_from_socket_ctx(): note resty.openssl.auxiliary.nginx is using plain FFI and it's only intended to be used in development, consider using lua-resty-openssl.aux-module in production., context: ngx.timer
Error:
/usr/local/share/lua/5.1/pgmoon/init.lua:398: attempt to index local 'ssl' (a nil value)
stack traceback:
	/usr/local/share/lua/5.1/pgmoon/init.lua:398: in function 'auth'
	/usr/local/share/lua/5.1/pgmoon/init.lua:268: in function 'connect'
	.../share/lua/5.1/kong/db/strategies/postgres/connector.lua:215: in function 'connect'
	.../share/lua/5.1/kong/db/strategies/postgres/connector.lua:546: in function 'query'
	.../share/lua/5.1/kong/db/strategies/postgres/connector.lua:296: in function 'init'
	/usr/local/share/lua/5.1/kong/db/init.lua:144: in function 'init_connector'
	/usr/local/share/lua/5.1/kong/cmd/migrations.lua:101: in function 'cmd_exec'
	/usr/local/share/lua/5.1/kong/cmd/init.lua:31: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:31>
	[C]: in function 'xpcall'
	/usr/local/share/lua/5.1/kong/cmd/init.lua:31: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:15>
	(command line -e):7: in function 'inline_gen'
	init_worker_by_lua(nginx.conf:136):44: in function <init_worker_by_lua(nginx.conf:136):43>
	[C]: in function 'xpcall'
	init_worker_by_lua(nginx.conf:136):52: in function <init_worker_by_lua(nginx.conf:136):50>
rt) and key (/usr/local/kong/ssl/admin-gui-kong-default.key) for listener
2024/03/07 15:39:21 [verbose] generating admin_gui SSL certificate (/usr/local/kong/ssl/admin-gui-kong-default-ecdsa.crt) and key (/usr/local/kong/ssl/admin-gui-kong-default-ecdsa.key) for listener
2024/03/07 15:39:21 [verbose] generating trusted certs combined file in /usr/local/kong/.ca_combined

I'm using postgres 16.2-1.pgdg120+2 on Debian 12. The TLS config itself is ok:
╰ sslscan --starttls-psql master-postgres.domain.com:5431
Version: 2.0.7
OpenSSL 3.0.11 19 Sep 2023

Connected to <IP_ADDRESS>

Testing SSL server master-postgres.domain.com on port 5431 using SNI name master-postgres.domain.com

  SSL/TLS Protocols:
SSLv2     disabled
SSLv3     disabled
TLSv1.0   disabled
TLSv1.1   disabled
TLSv1.2   enabled
TLSv1.3   enabled

  TLS Fallback SCSV:
Server supports TLS Fallback SCSV

  TLS renegotiation:
Session renegotiation not supported

  TLS Compression:
OpenSSL version does not support compression
Rebuild with zlib1g-dev package for zlib support

  Heartbleed:
TLSv1.3 not vulnerable to heartbleed
TLSv1.2 not vulnerable to heartbleed

  Supported Server Cipher(s):
Preferred TLSv1.3  256 bits  TLS_AES_256_GCM_SHA384        Curve P-256 DHE 256
Accepted  TLSv1.3  256 bits  TLS_CHACHA20_POLY1305_SHA256  Curve P-256 DHE 256
Accepted  TLSv1.3  128 bits  TLS_AES_128_GCM_SHA256        Curve P-256 DHE 256
Preferred TLSv1.2  256 bits  ECDHE-RSA-AES256-GCM-SHA384   Curve P-256 DHE 256
Accepted  TLSv1.2  256 bits  DHE-RSA-AES256-GCM-SHA384     DHE 2048 bits
Accepted  TLSv1.2  256 bits  ECDHE-RSA-CHACHA20-POLY1305   Curve P-256 DHE 256
Accepted  TLSv1.2  256 bits  DHE-RSA-CHACHA20-POLY1305     DHE 2048 bits
Accepted  TLSv1.2  256 bits  DHE-RSA-AES256-CCM8           DHE 2048 bits
Accepted  TLSv1.2  256 bits  DHE-RSA-AES256-CCM            DHE 2048 bits
Accepted  TLSv1.2  256 bits  ECDHE-ARIA256-GCM-SHA384      Curve P-256 DHE 256
Accepted  TLSv1.2  256 bits  DHE-RSA-ARIA256-GCM-SHA384    DHE 2048 bits
Accepted  TLSv1.2  128 bits  ECDHE-RSA-AES128-GCM-SHA256   Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  DHE-RSA-AES128-GCM-SHA256     DHE 2048 bits
Accepted  TLSv1.2  128 bits  DHE-RSA-AES128-CCM8           DHE 2048 bits
Accepted  TLSv1.2  128 bits  DHE-RSA-AES128-CCM            DHE 2048 bits
Accepted  TLSv1.2  128 bits  ECDHE-ARIA128-GCM-SHA256      Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  DHE-RSA-ARIA128-GCM-SHA256    DHE 2048 bits
Accepted  TLSv1.2  256 bits  ECDHE-RSA-AES256-SHA384       Curve P-256 DHE 256
Accepted  TLSv1.2  256 bits  DHE-RSA-AES256-SHA256         DHE 2048 bits
Accepted  TLSv1.2  256 bits  ECDHE-RSA-CAMELLIA256-SHA384  Curve P-256 DHE 256
Accepted  TLSv1.2  256 bits  DHE-RSA-CAMELLIA256-SHA256    DHE 2048 bits
Accepted  TLSv1.2  128 bits  ECDHE-RSA-AES128-SHA256       Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  DHE-RSA-AES128-SHA256         DHE 2048 bits
Accepted  TLSv1.2  128 bits  ECDHE-RSA-CAMELLIA128-SHA256  Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  DHE-RSA-CAMELLIA128-SHA256    DHE 2048 bits
Accepted  TLSv1.2  256 bits  ECDHE-RSA-AES256-SHA          Curve P-256 DHE 256
Accepted  TLSv1.2  256 bits  DHE-RSA-AES256-SHA            DHE 2048 bits
Accepted  TLSv1.2  256 bits  DHE-RSA-CAMELLIA256-SHA       DHE 2048 bits
Accepted  TLSv1.2  128 bits  ECDHE-RSA-AES128-SHA          Curve P-256 DHE 256
Accepted  TLSv1.2  128 bits  DHE-RSA-AES128-SHA            DHE 2048 bits
Accepted  TLSv1.2  128 bits  DHE-RSA-CAMELLIA128-SHA       DHE 2048 bits
Accepted  TLSv1.2  256 bits  AES256-GCM-SHA384
Accepted  TLSv1.2  256 bits  AES256-CCM8
Accepted  TLSv1.2  256 bits  AES256-CCM
Accepted  TLSv1.2  256 bits  ARIA256-GCM-SHA384
Accepted  TLSv1.2  128 bits  AES128-GCM-SHA256
Accepted  TLSv1.2  128 bits  AES128-CCM8
Accepted  TLSv1.2  128 bits  AES128-CCM
Accepted  TLSv1.2  128 bits  ARIA128-GCM-SHA256
Accepted  TLSv1.2  256 bits  AES256-SHA256
Accepted  TLSv1.2  256 bits  CAMELLIA256-SHA256
Accepted  TLSv1.2  128 bits  AES128-SHA256
Accepted  TLSv1.2  128 bits  CAMELLIA128-SHA256
Accepted  TLSv1.2  256 bits  AES256-SHA
Accepted  TLSv1.2  256 bits  CAMELLIA256-SHA
Accepted  TLSv1.2  128 bits  AES128-SHA
Accepted  TLSv1.2  128 bits  CAMELLIA128-SHA

  Server Key Exchange Group(s):
TLSv1.3  128 bits  secp256r1 (NIST P-256)
TLSv1.2  128 bits  secp256r1 (NIST P-256)

  SSL Certificate:
Signature Algorithm: sha256WithRSAEncryption
RSA Key Strength:    2048

Subject:  patroni-main-xxxx.domain.com
Altnames: DNS:master-postgres.domain.com, DNS:replica-postgres.domain.Com, DNS:patroni-main-xxxx.domain.com
Issuer:   R3

Not valid before: Mar  7 08:54:32 2024 GMT
Not valid after:  Jun  5 08:54:31 2024 GMT

I checked, just in case, the docker image supports those TLS versions+ciphers.
I tried:

an old 3.5.0 on pg16: worked ok!
a newer 3.6.0 on pg16: failed
latest 3.6.1 on pg16: failed

On each try, this was the same pg16 cluster of course :smile:
I tried to open pgmoon lua code but can't really understand what can be an issue nor how to get more details.
I also checked what went at the network level with tcpdump/wireshark but nothing was really showing.
On postgres side, I don't have any logs about the failure either.
Do you have an idea how to make progress debugging this issue?
Thanks for your help!
Expected Behavior
No response
Steps To Reproduce
I run:

docker run --name kong --rm -e KONG_ADMIN_ACCESS_LOG="/dev/stdout json_admin" -e KONG_ADMIN_LISTEN=<IP_ADDRESS>:8001 -e KONG_DATABASE=postgres -e KONG_PG_DATABASE=kong361 -e KONG_PG_HOST=master-postgres.domain.com -e KONG_PG_USER=kong_user -e KONG_PLUGINS=bundled,jwt-consumer-to-users -e KONG_PROXY_ACCESS_LOG="/dev/stdout json_proxy" -e KONG_PROXY_ERROR_LOG=/dev/stdout -e KONG_PROXY_LISTEN=<IP_ADDRESS>:8000 -e KONG_PG_SSL="on" -e KONG_PG_PORT=5431 -e KONG_PG_PASSWORD=xxx -e KONG_LOG_LEVEL=debug kong:3.6.1  kong migrations list -vv
We're using patroni 3.2.2 + postgres 16.2 on Debian 12. Here's the generated postgres config:

root@patroni-main-xxx:~# cat /var/lib/postgresql/16/main/data/postgresql.conf
# Do not edit this file manually!
# It will be overwritten by Patroni!
include 'postgresql.base.conf'

auto_explain.log_analyze = 'True'
auto_explain.log_format = 'json'
auto_explain.log_min_duration = '-1'
auto_explain.log_nested_statements = 'True'
auto_explain.log_parameter_max_length = '0'
cluster_name = 'int-patroni-kong-g2'
effective_cache_size = '1957MB'
hot_standby = 'on'
listen_addresses = '<IP_ADDRESS>'
log_connections = 'False'
log_destination = 'jsonlog'
log_directory = '/var/log/patroni'
log_disconnections = 'True'
log_duration = 'True'
log_filename = 'postgresql'
log_hostname = 'True'
log_lock_waits = 'True'
log_min_duration_statement = '0'
log_min_error_statement = 'DEBUG1'
log_min_messages = 'DEBUG1'
log_replication_commands = 'True'
log_statement = 'mod'
log_temp_files = '204800'
log_timezone = 'Etc/UTC'
logging_collector = 'True'
maintenance_work_mem = '391MB'
max_connections = '100'
max_locks_per_transaction = '64'
max_prepared_transactions = '0'
max_replication_slots = '10'
max_standby_archive_delay = '30s'
max_standby_streaming_delay = '30s'
max_wal_senders = '10'
max_worker_processes = '8'
port = '5431'
shared_buffers = '978MB'
shared_preload_libraries = 'auto_explain,pg_stat_statements'
ssl = 'on'
ssl_cert_file = '/etc/company/certs/patroni-main-xxx.domain.com_crt.pem'
ssl_key_file = '/etc/company/certs/patroni-main-xxx.domain.com_key.pem'
track_commit_timestamp = 'off'
unix_socket_group = 'psql-socket'
unix_socket_permissions = '504'
wal_keep_size = '128MB'
wal_level = 'replica'
wal_log_hints = 'on'
hba_file = '/var/lib/postgresql/16/main/data/pg_hba.conf'
ident_file = '/var/lib/postgresql/16/main/data/pg_ident.conf'

# recovery.conf
recovery_target = ''
recovery_target_lsn = ''
recovery_target_name = ''
recovery_target_time = ''
recovery_target_timeline = 'latest'
recovery_target_xid = ''

Anything else?
No response

I bet that's because of the 0.8.25 to 1.2.0 upgrade of resty-openssl mentioned here: https://docs.konghq.com/gateway/changelog/#3600 and introduced here: https://github.com/Kong/kong/pull/12265.
That's a bummer. It's sad to see, but Kong's stability with the new releases is surprisingly low and the introduced versions are full of smaller bugs. E.g. I have to stay on 3.4.2, because 3.5.X does not tolerate custom logging format and I cannot upgrade to 3.6.1, because of the SSL issue.

I have the same problem but with postgres 15

Yes, in 3.6.0 there was a couple of big bumps on dependencies. OpenSSL and OpenResty. We need to check what is going on. Thank you for reporting.

Just link some context here:
https://github.com/Kong/pgmoon/blob/v1.16.2/pgmoon/init.lua#L397-L398
local ssl = require("resty.openssl.ssl").from_socket(self.sock) -- it seams this line returns `nil`
local server_cert = ssl:get_peer_certificate()

@michael-todorovic, could you modify that line (in most probably /usr/local/share/lua/5.1/pgmoon/init.lua):
local ssl = require("resty.openssl.ssl").from_socket(self.sock) -- it seams this line returns `nil`

to:
local ssl, err = require("resty.openssl.ssl").from_socket(self.sock) -- it seams this line returns `nil`
if err then
  error(err)
end

And report back?

Also @fffonion could you take a look at it. Is the auxilary module compiled with CE? Is it a requirement now? Is there difference in EE shipped pgmoon regards to this?

Any updates on this? I got the same, working on 3.5 and stopped with 3.6 and 3.6.1. Leaving my trace just in case :)
KONG_PG_DATABASE=xxx \
KONG_PG_HOST=xxxxx \
KONG_PG_PASSWORD=xxxx \
KONG_PG_PORT=5432 \
KONG_PG_SSL=on \
KONG_PG_SSL_REQUIRED=on \
KONG_PG_SSL_VERSION=tlsv1_3 \
KONG_PG_USER=kong kong migrations up --v

On 3.5:
2024/04/19 10:53:19 [verbose] Kong: 3.5.0
2024/04/19 10:53:19 [verbose] no config file found at /etc/kong/kong.conf
2024/04/19 10:53:19 [verbose] no config file found at /etc/kong.conf
2024/04/19 10:53:19 [verbose] no config file, skip loading
2024/04/19 10:53:19 [verbose] prefix in use: /usr/local/kong
2024/04/19 10:53:19 [verbose] preparing nginx prefix directory at /usr/local/kong
2024/04/19 10:53:19 [verbose] SSL enabled on proxy, no custom certificate set: using default certificates
2024/04/19 10:53:19 [verbose] generating proxy SSL certificate (/usr/local/kong/ssl/kong-default.crt) and key (/usr/local/kong/ssl/kong-default.key) for listener
2024/04/19 10:53:19 [verbose] generating proxy SSL certificate (/usr/local/kong/ssl/kong-default-ecdsa.crt) and key (/usr/local/kong/ssl/kong-default-ecdsa.key) for listener
2024/04/19 10:53:19 [verbose] SSL enabled on admin, no custom certificate set: using default certificates
2024/04/19 10:53:19 [verbose] generating admin SSL certificate (/usr/local/kong/ssl/admin-kong-default.crt) and key (/usr/local/kong/ssl/admin-kong-default.key) for listener
2024/04/19 10:53:19 [verbose] generating admin SSL certificate (/usr/local/kong/ssl/admin-kong-default-ecdsa.crt) and key (/usr/local/kong/ssl/admin-kong-default-ecdsa.key) for listener
2024/04/19 10:53:19 [verbose] SSL enabled on admin_gui, no custom certificate set: using default certificates
2024/04/19 10:53:19 [verbose] generating admin_gui SSL certificate (/usr/local/kong/ssl/admin-gui-kong-default.crt) and key (/usr/local/kong/ssl/admin-gui-kong-default.key) for listener
2024/04/19 10:53:20 [verbose] generating admin_gui SSL certificate (/usr/local/kong/ssl/admin-gui-kong-default-ecdsa.crt) and key (/usr/local/kong/ssl/admin-gui-kong-default-ecdsa.key) for listener
2024/04/19 10:53:20 [verbose] generating trusted certs combined file in /usr/local/kong/.ca_combined
2024/04/19 10:53:20 [warn] 15#0: *2 [lua] nginx.lua:261: get_ngx_ssl_from_socket_ctx(): note resty.openssl.auxiliary.nginx is using plain FFI and it's only intended to be used in development, consider using lua-resty-openssl.aux-module in production., context: ngx.timer
2024/04/19 10:53:20 [verbose] retrieving database schema state...
2024/04/19 10:53:20 [verbose] schema state retrieved
2024/04/19 10:53:20 [verbose] retrieving database schema state...
2024/04/19 10:53:20 [verbose] schema state retrieved
2024/04/19 10:53:20 [info] Database is already up-to-date

On 3.6.1:
2024/04/19 10:51:50 [verbose] Kong: 3.6.1
2024/04/19 10:51:50 [verbose] no config file found at /etc/kong/kong.conf
2024/04/19 10:51:50 [verbose] no config file found at /etc/kong.conf
2024/04/19 10:51:50 [verbose] no config file, skip loading
2024/04/19 10:51:50 [verbose] prefix in use: /usr/local/kong
2024/04/19 10:51:50 [verbose] preparing nginx prefix directory at /usr/local/kong
2024/04/19 10:51:50 [verbose] SSL enabled on proxy, no custom certificate set: using default certificates
2024/04/19 10:51:50 [verbose] proxy SSL certificate found at /usr/local/kong/ssl/kong-default.crt
2024/04/19 10:51:50 [verbose] proxy SSL certificate found at /usr/local/kong/ssl/kong-default-ecdsa.crt
2024/04/19 10:51:50 [verbose] SSL enabled on admin, no custom certificate set: using default certificates
2024/04/19 10:51:50 [verbose] admin SSL certificate found at /usr/local/kong/ssl/admin-kong-default.crt
2024/04/19 10:51:50 [verbose] admin SSL certificate found at /usr/local/kong/ssl/admin-kong-default-ecdsa.crt
2024/04/19 10:51:50 [verbose] SSL enabled on admin_gui, no custom certificate set: using default certificates
2024/04/19 10:51:50 [verbose] admin_gui SSL certificate found at /usr/local/kong/ssl/admin-gui-kong-default.crt
2024/04/19 10:51:50 [verbose] admin_gui SSL certificate found at /usr/local/kong/ssl/admin-gui-kong-default-ecdsa.crt
2024/04/19 10:51:50 [verbose] generating trusted certs combined file in /usr/local/kong/.ca_combined
2024/04/19 10:51:50 [warn] 64#0: *2 [lua] nginx.lua:300: get_ngx_ssl_from_socket_ctx(): note resty.openssl.auxiliary.nginx is using plain FFI and it's only intended to be used in development, consider using lua-resty-openssl.aux-module in production., context: ngx.timer
Error:
/usr/local/share/lua/5.1/pgmoon/init.lua:398: attempt to index local 'ssl' (a nil value)
stack traceback:
	/usr/local/share/lua/5.1/pgmoon/init.lua:398: in function 'auth'
	/usr/local/share/lua/5.1/pgmoon/init.lua:268: in function 'connect'
	.../share/lua/5.1/kong/db/strategies/postgres/connector.lua:215: in function 'connect'
	.../share/lua/5.1/kong/db/strategies/postgres/connector.lua:546: in function 'query'
	.../share/lua/5.1/kong/db/strategies/postgres/connector.lua:296: in function 'init'
	/usr/local/share/lua/5.1/kong/db/init.lua:144: in function 'init_connector'
	/usr/local/share/lua/5.1/kong/cmd/migrations.lua:101: in function 'cmd_exec'
	/usr/local/share/lua/5.1/kong/cmd/init.lua:31: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:31>
	[C]: in function 'xpcall'
	/usr/local/share/lua/5.1/kong/cmd/init.lua:31: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:15>
	(command line -e):7: in function 'inline_gen'
	init_worker_by_lua(nginx.conf:170):44: in function <init_worker_by_lua(nginx.conf:170):43>
	[C]: in function 'xpcall'
	init_worker_by_lua(nginx.conf:170):52: in function <init_worker_by_lua(nginx.conf:170):50>

We are working on fix right now : ) Thanks for you patience.

We are working on fix right now : ) Thanks for you patience.

Alerady some updates on this topic?
We're currently running into the same issue after updating to 3.6.x

The fix will be shipped with 3.7.x release.

And is there already an approximate ETA for 3.7.x ?
This issue is a very big blocker on our side at the moment

I started investigating this as well, Seems lua-resty-openssl-aux-module was not baked into the bazel build process?
https://github.com/search?q=repo%3AKong%2Fkong+path%3A%2F^build\%2F%2F+lua-resty-openssl-aux-module&type=code
To fix it right away some form of this can be added to those who build from source:
######------ START OF lua-resty-openssl-aux-module ------######

RUN git clone --depth 1 -b 0.3.0 --single-branch https://github.com/fffonion/lua-resty-openssl-aux-module \
    && chmod -R 777 /lua-resty-openssl-aux-module

######------ END OF lua-resty-openssl-aux-module ------######

#### Do your bazel Kong build code here ####

Post build then execute this:

# Additional make install step POST COMPILE per docs: https://github.com/fffonion/lua-resty-openssl-aux-module/tree/0.3.0
RUN cd /lua-resty-openssl-aux-module && make install

Hoping 3.7.x drops soon so I can skip adding this as a fork in my build flow though!

kong 3.7 is released now. See: https://github.com/Kong/kong/releases/tag/3.7.0

kong 3.7 is released now. See: https://github.com/Kong/kong/releases/tag/3.7.0

@chronolaw , not seeing anything about Kong fixing the postgres tls issue though in the changelog? Did the fix make it into the version, trying to see what PR fixed it if the changelog lacks a reference point.

@fffonion , could you give us the explanation of this fix in 3.7?

and when will it be pushed to docker hub? :)

It's fixed in 3.7, please refer to https://github.com/Kong/kong/issues/12592

and when will it be pushed to docker hub? :)

Bump

and when will it be pushed to docker hub? :)

Bump

it's available now, was pushed last evening

I just installed the new images and I can confirm it works. Thanks for the effort!

Can also confirm - issue seems to be solved. Thanks a lot!

Thanks a lot for solving this issue with Kong 3.7. We were stuck on Kong 3.5 so far because of this. Now, we are trying to upgrade to Kong 3.7. However, we cannot upgrade from 3.5 to 3.7 directly (see also the table here) as we're getting the error Error: Database has pending migrations; run 'kong migrations finish' in the Kong pre-upgrade-migrations container. How did you upgrade from 3.5 to 3.7 directly?

Thanks a lot for solving this issue with Kong 3.7. We were stuck on Kong 3.5 so far because of this. Now, we are trying to upgrade to Kong 3.7. However, we cannot upgrade from 3.5 to 3.7 directly (see also the table here) as we're getting the error Error: Database has pending migrations; run 'kong migrations finish' in the Kong pre-upgrade-migrations container. How did you upgrade from 3.5 to 3.7 directly?

we migrated from 3.5 to 3.7 successfully in one step by running kong migrations up && kong migrations finish

Thanks a lot for solving this issue with Kong 3.7. We were stuck on Kong 3.5 so far because of this. Now, we are trying to upgrade to Kong 3.7. However, we cannot upgrade from 3.5 to 3.7 directly (see also the table here) as we're getting the error Error: Database has pending migrations; run 'kong migrations finish' in the Kong pre-upgrade-migrations container. How did you upgrade from 3.5 to 3.7 directly?

we migrated from 3.5 to 3.7 successfully in one step by running kong migrations up && kong migrations finish

Thank you for your help, we will try to do it the same way


Update Fairfax HD screenshot

A new version was released on 2022-05-22 which improved a lot of glyphs. It looks a lot less nasa now (I hope).

a tenpo pini la mi pona e ni anu seme?

You did this a while ago, just the issue wasn't closed. It can be closed now.


Throws error Could not find module tests/helpers/yadda-annotations

This happens with the latest ember-cli-yadda version 0.2.3

Sorry just read the release notes


Update racking_model options in PVSystem and FixedMount classes

[X] Relates to #1942
[X] I am familiar with the contributing guidelines
[ ] ~Tests added~
[ ] ~Updates entries in docs/sphinx/source/reference for API changes.~
[x] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Pull request is nearly complete and ready for detailed review.
[x] Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

I have limited these changes to PVSystem and FixedMount only as these are the two classes mentioned in #1942
I could make further edits, e.g. more formatting, update/add default values for the same (and other) parameters in the other docstrings, etc. either in this PR if recommended, or in a follow up PR if this would become too cluttered (please advise)

Good to go?

Thanks both for your input and reviewing !


Scrolling glitch

I asked about it in already closed issue #430, but no answer there.
So I've got a line chart view and an issue while scrolling. I noticed that it's because of drawFilledEnabled set to true. Any idea how to fix it?
Here's my setup:
chartView.scaleYEnabled = false
chartView.scaleXEnabled = false
chartView.pinchZoomEnabled = false
chartView.doubleTapToZoomEnabled = false
chartView.xAxis.drawGridLinesEnabled = false
chartView.leftAxis.customAxisMin = 0.0
chartView.autoScaleMinMaxEnabled = false
chartView.leftAxis.drawGridLinesEnabled = false
chartView.rightAxis.enabled = false
chartView.legend.form = .Circle

And here is screencast showing what's the matter: https://dl.dropboxusercontent.com/u/5765015/glitch.mov

Just get a screenshot when the isue is happening like above.
It seems it cannot fetch the left most point out of chart, so the filling is broken, as well as the line.
What version of the library are you using? Have you tried the latest code? Recently @danielgindi has fixed and merged some related issues. I tried with ChartsDemo, it seems good. Please check.

You are right, the demo works just fine.
I use recent 2.2.3 via CocoaPods, but it looks like there are changes merged after 2.2.3.
When I specify :git in my Podfile forcing recent version from GitHub to be used everything seems to be fine.
Could you please update release issued via CocoaPods, please?
Thank you for your help, @liuxuan30. Love this library :)


Added events

I want to add more hackathons which are live. Can You allow for me

@avie-dev can u look to this pr


container: make step/stage descriptions more descriptive

The names of all steps and stages are constructed around a verb in
imperative mood.
The purpose of this step/stage, as far as I can tell, is to
create/populate /etc/containers-registries.conf which, according to
man 5 containers-registries.conf

is "a system-wide configuration file for container image registries."
Signed-off-by: Nathan Cutler<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master     #268   +/-   ##
=======================================
  Coverage   76.57%   76.57%
=======================================
  Files          11       11
  Lines        2596     2596
=======================================
  Hits         1988     1988
  Misses        608      608

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 643c4db...64cc733. Read the comment docs.


Please reduce the obviously too long name of this awesome extension so i don't have to make this issue title so long so you can understand how frustrating it is to see this...

Right click on bottom bar of vscode
Picture will tell:

gz#5112

Ah, duplicates of #535


Implement java.lang.StrictMath.IEEEremainder() native method.

…test case

Format updated.

@perimosocordiae
Hi, It looks like that it has a CI error.
I have run the test case locally and it looks the test case has passed.
do you know what's caused this error?

@CoderRooftrellen Yes, there is a build error. I have a fix locally that I will push momentarily.

@jvilk
is there anything I need to do for the build error ?

@CoderRooftrellen Nope, I'm working on fixing the build error right now, then I'll test your changes. I'll let you know if there's anything you need to do.
Normally, I'd merge this in faster, but I'm at a conference until Saturday. :) Hopefully I'll be able to right the build tonight and merge this in.


feat(runtime-core): Add ”InversionValue“ peculiarity，makes it easier to pass false to props

As we all know, when we need to pass true to a component, we can ignore the true value, like:
<template>
    <a-modal v-model:open="open" mask>
      Some contents...
    </a-modal>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
const open = ref<boolean>(false);

</script>

mask is a boolean value, so we can ignore the true value, but I need to set mask to false, template is:
<template>
    <a-modal v-model:open="open" :mask="false">
      Some contents...
    </a-modal>
</template>

If :mask="false" can be shortened to !mask, I think it's a really great grammar candy.
The final result is:
<template>
    <a-modal v-model:open="open" !mask>
      Some contents...
    </a-modal>
</template>

click open demo: playground

It looks like this is a good feature, but the implementation is not quite right. I think it should handle !foo as foo="false" during compilation, rather than modifying the runtime code. Additionally, it needs support from the language-tool.


File rename inferred rename component

Closing in favor of https://github.com/dotnet/razor/issues/8541
@mkArtakMSFT just to confirm, is your ask to make sure a razor file name get renamed appropriately upon the rename of a razor component?
If I understand correctly this matches use case 4