[Speculative Decoding] Medusa Implementation

This PR implements the Medusa approach to generate speculations using top predictions of the heads. It uses a multi-head worker to generate proposals from Medusa heads.
The inputs to the heads are hidden states output by the target model which are preserved by storing in the in SequenceData.extra_tensor_data. This is an abstraction to support any speculative model that needs inputs from the target model as with this any custom inputs can also be easily supported.
For Mistral-7B-Instruct-v0.2 on an H100 card, the following are the throughput numbers (total tokens generated/sec) when tested on MT-Bench:
| Temperature |   |   |   |   |   |   |
-- | -- | -- | -- | -- | -- | -- | -- | --
Concurrency |   | 64 | 32 | 16 | 8 | 4 | 2 | 1
baseline | 0 | 2862.93 | 2092.8 | 1366.72 | 867.09 | 465.28 | 244.4 | 126.41
  | 1 | 2537.93 | 2016.84 | 1359.61 | 815.96 | 468.39 | 244.6 | 127.43
medudsa | 0 | 2060.91 | 1859.84 | 1460.42 | 953.45 | 560.92 | 298.95 | 158.17
  | 1 | 2188.09 | 1832.74 | 1493.37 | 967.41 | 578.15 | 309.76 | 165.07
So for batch size <=16, we see improvement in tokens generated per sec.
Medusa heads for this were trained using a set of public instructions. I am working on making those available via Huggingface Hub as well.
With tree-style speculation and verification, this should give even higher improvements.
FIX #1023
FIX #4669

@abhigoyal1997  Awesome PR.Do you have any plans regarding support for tree-style speculation and verification?

Hi @caddfa31434
Tree-style speculation and verification are certainly something I am interested in. But for complete benefit, I was still waiting on the support for tree attention. I have implemented it in a PyTorch implementation but haven't thought about how it would work in vLLM.

Hi @caddfa31434 Tree-style speculation and verification are certainly something I am interested in. But for complete benefit, I was still waiting on the support for tree attention. I have implemented it in a PyTorch implementation but haven't thought about how it would work in vLLM.

Hi @abhigoyal1997 We recently had the experience of developing a TreeMask-based version of Medusa on our internal inference framework, and it is expected to be ready by the end of the month. Here are some suggestions.
There are three main differences between the TreeMask version and the non-TreeMask version (three modification points):

The Cos/Sin matrix for RoPE
Replacing Casual Mask with Tree Mask in Attention
Updating KV Cache, which needs to be compacted after each verification

Additionally, EAGLE is a technology worth considering for selection. Therefore, I suggest you make some abstractions when implementing Medusa, which will make future integration with EAGLE easier.

@zhyncs Thanks for the insights into tree-mask-based version.
As for EAGLE, I have an implementation ready for that as well. This implementation of Medusa does keep required abstractions in mind such that any speculative models which need some inputs from the target model can be implemented with ease. In fact the implementation of EAGLE I have (I'll raise a PR for that as well soon), only needs addition of a new model to vLLM without any change to the implementation logic of speculative decoding itself.

@cadedaniel This is complete. Can you please review it?

Thanks for the contribution! Will take a look today or tomorrow.

+1; I suggest we generalize top-1 and top-k proposing scoring (including defragmentation of accepted KV). then we can use top-1 and top-k implementations with different spec proposal methods (draft, medusa, eagle, ngram, etc).
also, we can wait for masking in kernels; we can also implement it in batch expansion style. it won't be as performant but could be a faster way to get everything built as we can add in the kernel support when it's ready.
cc @LiuXiaoxuanPKU

we can also implement it in batch expansion style

The performance will be particularly poor. I don't recommend doing this.

we can also implement it in batch expansion style

The performance will be particularly poor. I don't recommend doing this.

At the same time, supporting TreeMask in the Attention Kernel is not as much work as imagined. The prerequisite is to understand the implementation of the original casual mask. If you're interested, we can discuss the details further.

Especially when large batch size is considered, different request may have different acceptance path in the candidate tree.

From our internal experience, the real challenge is not integrating with continuous batching, but rather compatibility with existing features such as chunked prefill.

This efficient tree attention kernel will be a crucial factor in tree-style speculative decoding, which we should consider prioritize.

In fact, our implementation is not based on Dao-AILab/flash-attention, but on the TurboMind 2.1 Attention Kernel, which was written from scratch and its performance is about 10% better than Dao-AILab/flash-attention.
The changes related to casual mask are roughly as follows:
// original
    __device__ void ApplyCasualMask(FragS& frag_S, int offset_Q, int offset_K)
    {
        Impl::ForeachS(frag_S, [&](int hi, int qi, int si, int ri, float& score) {
            if (offset_Q + qi < offset_K + si) {
                score -= std::numeric_limits<float>::infinity();
            }
        });
    }

// modified
    __device__ void ApplyCasualMask(
        FragS& frag_S, int offset_Q, int offset_K, const int* medusa_mask, int his_len, int input_len, int query_idx)
    {
        Impl::ForeachS(frag_S, [&](int hi, int qi, int si, int ri, float& score) {
            if (medusa_mask) {
                int rel_pos_q = offset_Q + qi - his_len;
                int rel_pos_k = offset_K + si - his_len;
                if (0 <= rel_pos_q && rel_pos_q < input_len && 0 <= rel_pos_k && rel_pos_k < input_len) {
                    if (medusa_mask[rel_pos_q * input_len + rel_pos_k] == 0) {
                        score -= std::numeric_limits<float>::infinity();
                    }
                }
                else {
                    if (offset_Q + qi < offset_K + si) {
                        score -= std::numeric_limits<float>::infinity();
                    }
                }
            }
            else {
                if (offset_Q + qi < offset_K + si) {
                    score -= std::numeric_limits<float>::infinity();
                }
            }
        });
    }

The incompatibility mentioned here is more of a trade-off

This is related to the implementation of different frameworks, such as whether the previous framework has a sufficiently good abstract design and whether it is convenient for future expansion. It cannot be generalized. In comparison, vLLM is indeed more user-friendly in terms of secondary development difficulty and also has relatively strong scalability.

If you're interested in combining chunked prefill and spec decode, see https://github.com/vllm-project/vllm/issues/5016. We have a naive dynamic speculation length policy which disables spec decode when the batch size gets too large.

Hi @cadedaniel
Did you get a chance to look at this?

also, we can wait for masking in kernels

@cadedaniel FlashInfer supports custom mask now https://github.com/flashinfer-ai/flashinfer/pull/266

Hi @cadedaniel Did you get a chance to look at this?

@abhigoyal1997 May you resolve the conflicts first. Thanks.

@zhyncs Thanks for pointing out. I've resolved the conflicts 👍

@abhigoyal1997 It seems that there are some issues with TP > 1.

@caddfa31434 Thanks for testing and catching this. The problem was with the order of execution and hidden_states broadcasting in non-driver workers. The latest commit should fix these issues (I have tested for TP <= 2).

Thanks for the insights into tree-mask-based version.
As for EAGLE, I have an implementation ready for that as well. This implementation of Medusa does keep required abstractions in mind such that any speculative models which need some inputs from the target model can be implemented with ease. In fact the implementation of EAGLE I have (I'll raise a PR for that as well soon), only needs addition of a new model to vLLM without any change to the implementation logic of speculative decoding itself.

Thanks for your great work!
Based on your work, I implemented EAGLE with only  little modification. And it works well in EAGLE-Vicuna-7B-v1.3.
In the function execute_model of class ModelRunner,  the process of handling hidden_states in the prefille stage is useless for medusa and does not work for EAGLE. The prefill stage of medusa's lm_head is useless, so skipping it will be more Efficient. EAGLE‘s FeatExtrapolatorskip the firt prompt token to keep the same shape of inputs_embeds and hidden_states, so I cut the hidden_states which generate the output token id and wait next spec step to get the latest hidden_states.
Synchronizing hidden_states between draft model and target model is a hard problem. To be compatible with more solutions, a more user-friendly design is necessary. Is it possible to convey additional information through extra_outputs to tell ModelRunner how to handle hidden_states ？

Thanks for the contribution -- glad to finally see Medusa working in open-source vLLM. Adding high-level feedback. Some other questions:

Can we add an e2e test with Medusa? we should expect greedy generation with Medusa (temp=0) to be equal to non-spec decode cases. You can follow this as an example. https://github.com/vllm-project/vllm/blob/dd8de11f0a15f9ef48cd1dcac02dd8e2a8bcb494/tests/spec_decode/e2e/test_multistep_correctness.py#L190

We'll also want to cover cases like cuda graph / tp>1 / other non-greedy sampling params.

The biggest concern I have with this PR is the modification of prepare inputs for Medusa-specific models. It seems this PR is introducing two new things to prepare inputs -- allow on-GPU inputs, and also model-specific input config. Can we separate out these changes into their own PR to make things simpler? Additionally, can you walk me through the alternatives to model-specific input config in prepare inputs?

Thanks @cadedaniel for the review. I've replied to your comments and will work on addressing the ones that need changes. To answer your questions:

Yes, I'll try to add the tests.
For on-GPU inputs and model-specific input config I'll create a separate simplified PR. What I am thinking is that we can add an optional input_config argument in the hf_config which will hold the configuration of additional inputs. This input_config will need the name of the input, it's shape and dtype e.g., in MedusaConfig we add a static class attribute input_config = {"hidden_states": (hidden_states_shape, hidden_states_dtype)}. Let me know if this makes sense.

Thanks for the insights into tree-mask-based version.
As for EAGLE, I have an implementation ready for that as well. This implementation of Medusa does keep required abstractions in mind such that any speculative models which need some inputs from the target model can be implemented with ease. In fact the implementation of EAGLE I have (I'll raise a PR for that as well soon), only needs addition of a new model to vLLM without any change to the implementation logic of speculative decoding itself.

Thanks for your great work! Based on your work, I implemented EAGLE with only little modification. And it works well in EAGLE-Vicuna-7B-v1.3.
In the function execute_model of class ModelRunner, the process of handling hidden_states in the prefille stage is useless for medusa and does not work for EAGLE. The prefill stage of medusa's lm_head is useless, so skipping it will be more Efficient. EAGLE‘s FeatExtrapolatorskip the firt prompt token to keep the same shape of inputs_embeds and hidden_states, so I cut the hidden_states which generate the output token id and wait next spec step to get the latest hidden_states. Synchronizing hidden_states between draft model and target model is a hard problem. To be compatible with more solutions, a more user-friendly design is necessary. Is it possible to convey additional information through extra_outputs to tell ModelRunner how to handle hidden_states ？

Thanks for the insights into tree-mask-based version.
As for EAGLE, I have an implementation ready for that as well. This implementation of Medusa does keep required abstractions in mind such that any speculative models which need some inputs from the target model can be implemented with ease. In fact the implementation of EAGLE I have (I'll raise a PR for that as well soon), only needs addition of a new model to vLLM without any change to the implementation logic of speculative decoding itself.

Thanks for your great work! Based on your work, I implemented EAGLE with only little modification. And it works well in EAGLE-Vicuna-7B-v1.3.
In the function execute_model of class ModelRunner, the process of handling hidden_states in the prefille stage is useless for medusa and does not work for EAGLE. The prefill stage of medusa's lm_head is useless, so skipping it will be more Efficient. EAGLE‘s FeatExtrapolatorskip the firt prompt token to keep the same shape of inputs_embeds and hidden_states, so I cut the hidden_states which generate the output token id and wait next spec step to get the latest hidden_states. Synchronizing hidden_states between draft model and target model is a hard problem. To be compatible with more solutions, a more user-friendly design is necessary. Is it possible to convey additional information through extra_outputs to tell ModelRunner how to handle hidden_states ？

For EAGLE, I was able to use the hidden_states propagation as it is without any changes. For the first draft token, the hidden_states from target model (propagated from prev. iteration) can be combined with latest sampled tokens. For the subsequent draft tokens, EAGLE itself outputs the hidden_states which can be combined with the prev sampled draft tokens. I have not added the implementation in this PR so that this is not too cluttered (though it still ended up being cluttered) but I can raise another PR for EAGLE as well once this one is final.
As for conveying additional information through extra_outputs, I don't see why that would not be possible but I am not sure exactly why and for what that's needed.

It is recommended to include the statistics of the accept rate as well.

Assuming the medusa head num is 5, during each iteration, for example, if out of the 5 results generated in the first round, 3 were accepted and in the second round, 2 were accepted, there would be two data points: 60% and 40%. When finally displaying statistics, it should be a curve showing how the accept rate changes with each iteration after using medusa for a particular sequence.

You may also add the test results of Llama3 8B Instruct https://huggingface.co/leptonai/Llama-3-8b-instruct-4-heads, trained by Lepton AI. They use it in production environments. Vicuna 13B is a bit outdated.

I will take another pass on Monday (out of office this week).

what adjustments specifically need to be done on the Cos/Sin matrix for RoPE?

For a normal input, such as a,b,c,d,e the first two columns of the corresponding cos matrix are as follows

token
first
second

a
cos(0*θ0)
cos(0*θ1)

b
cos(1*θ0)
cos(1*θ1)

c
cos(2*θ0)
cos(2*θ1)

d
cos(3*θ0)
cos(3*θ1)

e
cos(4*θ0)
cos(4*θ1)

For a medusa input, such as r, a, b, c, d, e, c, d, e

token
first
second

r
cos(0*θ0)
cos(0*θ1)

a
cos(1*θ0)
cos(1*θ1)

b
cos(1*θ0)
cos(1*θ1)

c
cos(2*θ0)
cos(2*θ1)

d
cos(2*θ0)
cos(2*θ1)

e
cos(2*θ0)
cos(2*θ1)

c
cos(2*θ0)
cos(2*θ1)

d
cos(2*θ0)
cos(2*θ1)

e
cos(2*θ0)
cos(2*θ1)

r belongs to root, a and b belong to head 0, c d and e belong to head 1.
Due to the inconsistency between the position of tokens in the sequence dimension and the semantic logic dimension, Medusa's cos/sin needs to be adjusted according to the semantic logic dimension.
This part is the cos matrix for the current seq_q, while the cos matrix for cache_k has tokens arranged in a determined order.

@cadedaniel I've refactored how the extra outputs/inputs are handled. TensorData is now stored in SpecDecodeWorker instead of SequenceData and the preparation is also decoupled from _prepare_model_input (it's done separately in _prepare_extra_model_input). I've also removed the CLI changes and now the information about extra inputs required by the draft model is fetched from the ModelConfig.hf_config e.g., for Medusa, it lives in MedusaConfig.
I've also added these input preparation changes as a separate PR #5101.

Going to give another pass tomorrow.

Hi @LiuXiaoxuanPKU
It's mostly ready but since there have been some additions to the main branch, it might need a refactor to incorporate those. As for the results, the first 2 rows are numbers without Medusa (or any speculative decoding) and next 2 rows are with Medusa. Same for Meta llama version.
I'll refactor soon and resolve the conflicts with main. Will let you know once this is done.

@abhigoyal1997 and @njhill -- seems there's some overlap in how your PRs share state between forward passes. What do we think is a good way forward?

@cadedaniel we were going for a minimally-invasive and less general approach in the #4947. IMHO this would be preferred as a first step until we have more concrete examples of where arbitrary inputs/outputs are needed (which might then further inform the abstraction design).
@abhigoyal1997 WDYT about a simpler version of your PR that makes use of the hidden states handling that we have in #4947?

Hi @caddfa31434 Tree-style speculation and verification are certainly something I am interested in. But for complete benefit, I was still waiting on the support for tree attention. I have implemented it in a PyTorch implementation but haven't thought about how it would work in vLLM.

FYI: flashinfer supports custom attention mask in https://github.com/flashinfer-ai/flashinfer/pull/266.

@cadedaniel we were going for a minimally-invasive and less general approach in the #4947. IMHO this would be preferred as a first step until we have more concrete examples of where arbitrary inputs/outputs are needed (which might then further inform the abstraction design).
@abhigoyal1997 WDYT about a simpler version of your PR that makes use of the hidden states handling that we have in #4947?

@njhill Makes sense. I kept it more general as I was trying out various approaches for draft models that use different inputs. But I agree, we haven't seen anything other than the usual LLM inputs + hidden_states being used in draft models. I can refactor this PR to keep things minimal and then we can add on as required later on.

@cadedaniel @LiuXiaoxuanPKU @njhill This is ready for a review. I have refactored so that this PR only adds minimal changes required to run Medusa draft models.

@LiuXiaoxuanPKU Can you please take a look?

Thanks @LiuXiaoxuanPKU for the review!

Sorry for the late review! LGTM! But I have some minor questions & comments:

It seems only greedy sampling is supported. Standard sampling is not supported.

Standard sampling works as well, I have the results showing speed-up with temperature=1 in the PR description. Since I have only added the top-1 proposal candidate in this PR, sampling in the Medusa model is just using the argmax (we can extend this when we add tree speculation).  My thought was that even when sampling with a temperature of 1, the target model would more likely choose the top-1 token because that still has the highest probability, so if we choose the top-1 token from Medusa, it still has more chance of being accepted than other tokens (the chance that token sampled from target and Medusa head would match when both are random would be much lower). Am I missing something in this argument? Even in Medusa paper, the candidates are only formed by top-k tokens.

Could you add some end to end tests to make sure medusa generates almost same results as without speculative decoding? No need to be very strict. Take a look at this.

Yes, I'll add the tests. Thanks for the reference!

Happy to get this pr merged soon, sorry for the delay!

Hi, I assume that you got Mistral-7B-Instruct-v0.2 + medusa from https://huggingface.co/text-generation-inference/Mistral-7B-Instruct-v0.2-medusa, and for Meta-Llama-3-8B-Instruct + medusa, you trained Mudusa-1 by yourself using the codebases from https://github.com/FasterDecoding/Medusa/tree/main?

Hi, it seems that compared to the speedups of MLPspeculator, the speedups are much smaller: https://github.com/vllm-project/vllm/pull/4947. Do you have any insights on when we should use medusa instead of MLPspeculator?

Hi, I assume that you got Mistral-7B-Instruct-v0.2 + medusa from https://huggingface.co/text-generation-inference/Mistral-7B-Instruct-v0.2-medusa, and for Meta-Llama-3-8B-Instruct + medusa, you trained Mudusa-1 by yourself using the codebases from https://github.com/FasterDecoding/Medusa/tree/main, but how many medusa heads you used for training?

Hi @hustxiayang
Actually I trained my own Medusa heads for both Mistral and Llama3 (will soon release them on HF as well). As for the number of heads, I used 4.

Hi, it seems that compared to the speedups of MLPspeculator, the speedups are much smaller: #4947. Do you have any insights on when we should use medusa instead of MLPspeculator?

I am not sure whether there are specific guidelines on when one should be used over the other. As for the performance, it depends on the dataset used, training method etc. and the results I posted in the description are for a baseline model I trained which can be improved with more work. Tree speculation and verification using MQA should improve the performance as well.

Hi, it seems that this implementation is based on Medusa version 1, which loads lm_heads for each medusa heads. In Medusa version 2, it proposed to reuse the lm_heads from the base model. Have you already investigated on this and do you plan to implement it? Thanks!


Can the package be extended to account for async Flask endpoints

Can the package be extended to account for async Flask endpoints.
Currently the decorator fails to "await" a coroutine or asynchronous process.

Hi sorry for not replying to this issue and it's likely too late now but I don't have a huge amount of experience with async Python.
If AuthLib supports this then I expect the validation this package does can be made to work with that (it does make HTTP calls itself to get the OIDC metadata and JWKS but those could be rewritten).
It's not something I'd be able to add due to time pressures but I'm happy to work together on a contribution.
If that's of use please re-open this issue.


Don't iterate on collision geometries when undefined

Closes https://github.com/stack-of-tasks/pinocchio/issues/2146

I have tested this change locally and it loads my collision-less model.
(I looked into the unit test directory to see if we already had a fixture for visualizers where I could add a test for this, but we don't. Maybe hard to add to the CI?)


IntelliJ outputs assertion failure info twice

Summary
I am working on IntelliJ 2019.3, with AssertJ 3.15 and Java 11.0.6, and running tests using Junit 5.6.0. When I run tests, IntelliJ outputs the expected / actual message to the console twice.
Example
@Test
@Tag("demo")
public void testDuplicateDemoIntAssertJ() {
    int x = 5;
    org.assertj.core.api.Assertions.assertThat(x).isEqualTo(10);
}

Outputs
org.opentest4j.AssertionFailedError:
Expecting:
 <5>
to be equal to:
 <10>
but was not.
Expected :10
Actual   :5
<Click to see difference>

This behavior does not appear when using JUnit 4. Truth has similar duplication in JUnit 4 and 5, I've raised it at https://github.com/google/truth/issues/680.

Thanks for letting us know, I think this is an Intellij Idea issue as you suggested in https://github.com/google/truth/issues/680#issuecomment-617415943.
Here's eclipse output when running the test:
org.opentest4j.AssertionFailedError:
Expecting:
 <5>
to be equal to:
 <10>
but was not.
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.
...


docs(example): add an example of using emotion css prop

This is an example of using Emotion css prop.

codesandbox example:
https://codesandbox.io/s/zealous-danny-3gmpp?file=/app/routes/index.tsx

Awesome, can you add another route and link to it in so we can navigate back and forth to make sure it works on transitions?

Thanks for the confirmation and suggestions.
I created the page links, CacheBoundary and ErrorBaundary.
The style didn't seem to go wrong when going forward or backward in the page.
https://codesandbox.io/s/zealous-danny-3gmpp?file=/app/routes/index.tsx
If we open a page that doesn't exist directly also for 404 pages, the styles are reflected, but jumping from a link seemed to blow the styles...
Maybe the reason is that in entry.client.ts, the target to hydrate includes the root component but not styles-context.tsx.
I'll think about it some more.
Do you know of any good suggestions for this part?

Thank you for investigating that!

Do you know of any good suggestions for this part?

I'm afraid I don't. I haven't really thought much about it. It seems like we may need a way to store the virtual style sheet outside the React tree and reuse it when rendering the document for the app and the root-level boundaries. Not sure whether the css-in-js libraries have this ability though.

Thank you so much! I understand.
We may need to consider how to use it on the css-in-js side as well. I'll try to think of a better way.

One other thing, there is already a PR for emotion support and I'd prefer to avoid having two examples of basically the same thing. Maybe we can try and get the css prop working in that example (if it does?). Would you mind collaborating over there please? https://github.com/remix-run/remix/pull/1485

Thank you. Sorry, I hadn't noticed the other example...
I'll close this one and support the other PR.

Hello,
Sorry to bring this back to life but the emotion example doesn't actually use the CSS prop, it just uses the @emotion/styled API (which I do not prefer). I'm still trying to figure out how to get the CSS prop to work without typescript freakouts, would there be interest in augmenting that example to include CSS prop usage? Thanks!


"Merge" information inaccurate

🐞 Problem
Just before 7pm today, I went onto the 24 Pull Requests website and I noticed my 'Merges' tab was missing:

I also noticed that I wasn't showing up here: https://24pullrequests.com/mergers.
The number of maintainers at that time read '80-something'.
30 minutes later I check back:

My 'Merges' tab is back and now there are 216 maintainers.
This wasn't the first time I've noticed my 'Merges' tab disappearing.
We need to discover what's happening and consistently show what merges have taken place during the challenge!
Anyone have any idea what's going on? Has this happened in previous years?

Steadily decreasing number of maintainers as I sit and refresh the page:
]
One second later:

🤔

I would like to chime in on this issue...
I currently don't have a Merges tab at all, even though I know for a fact that I have merged PR's that have been created as part of the 24PullRequests effort.
Is there a reason that these are not appearing for me?  Am I right in thinking that I should be appearing on this list: https://24pullrequests.com/mergers
Thanks

Yes, @gep13 it's probably part of the same bug. You should be appearing on that mergers page.

Definitely a bug, I've seen this going up and down over the past few days too.
I suspect that something is updating pull_requests and unsetting the merged_by_id attribute, so the merger looses the connection to that pull request.


PEBCAK definition is for PEBKAC

Hello
I just discovered that the definition of PEBCAK was swapped for PEBKAC, which has been cross-checked from this source.
Is it possible for me to fix it and add some variant of PEBCAK? even though it means the same

Hello,
It seems that both are used: PEBKAC and PEBCAK.
For discoverability purpose, I think we should add all of them. Go for it :)

Thank you @aloisdg for assigning me this task.
:)


Decouple the metrics endpoint from debug

Similar to https://github.com/distribution/distribution/issues/4084.
There is a /debug/metrics endpoint that gets available when the debug.addr is specified and debug.prometheus.enabled is enabled (ref https://docs.docker.com/registry/configuration/#prometheus).
Note that the docs suggest not enabling this in production env:

Sensitive information may be available via the debug endpoint. Please be certain that access to the debug endpoint is locked down in a production environment.

Having in mind the above, how is it supposed to collect metrics in production environments? The docs state that the debug feature has to be disabled in production environments. On the other side, it is a cloud native and observability principle to collect metrics in all environments.
I rather thing that the metrics endpoint has to be decoupled from debug and it needs to have its own configurable port and its own configuration option whether it is enabled or not.

Note that the docs suggest not enabling this in the production env

No, the docs are suggesting to lock it down: do not leave it open to public, you know people on the internet can be kinda mean.

Thanks! It seems that we misunderstood the docs. I created https://github.com/distribution/distribution/pull/4089 to clarify further the docs.


no such option: --use-wheel

Whenever I run $ docker run -v $(pwd):/outputs -it amazonlinux:2016.09 \     /bin/bash /outputs/build.sh
most things seem to work, but then I get the message

no such option: --use-wheel

Then I try pip install wheel while in the sklearn-build-lambda directory (not sure that matters), and I get the response

Requirement already satisfied: wheel in /Users/spencer/anaconda3/lib/python3.6/site-packages

So wheel is on my local machine, but not in the Docker container. I've researched wheel and how to install python modules within Docker, but no luck. Any help is much appreciated!

Solved. Solution found here: https://stackoverflow.com/questions/49835842/docker-no-such-option-use-wheel/49835917#49835917


Windows 2008r2 with Windows Updates fails to run provisioners scripts

Windows 2008r2 build fails soon after windows updates finish and SSH starts accepting connections.
If I disable Windows Updates from Autounattend.xml, it works fine.
It seems that the provisioner script C:/Windows/Temp/script.bat does not exist despite packer correctly uploading it to /tmp/script.bat
Has anyone had a similar issue and managed to fix it somehow ?
==> windows-2008.r2-fusion: Connected to SSH!
2015/03/03 10:49:37 ui: ==> windows-2008.r2-fusion: Connected to SSH!
==> windows-2008.r2-fusion: Uploading the 'windows' VMware Tools
2015/03/03 10:49:37 ui: ==> windows-2008.r2-fusion: Uploading the 'windows' VMware Tools
2015/03/03 10:49:37 packer-builder-vmware-iso: 2015/03/03 10:49:37 opening new ssh session
2015/03/03 10:49:37 packer-builder-vmware-iso: 2015/03/03 10:49:37 Starting remote scp process:  scp -vt .
2015/03/03 10:49:37 packer-builder-vmware-iso: 2015/03/03 10:49:37 Started SCP session, beginning transfers...
2015/03/03 10:49:37 packer-builder-vmware-iso: 2015/03/03 10:49:37 Copying input data into temporary file so we can read the length
2015/03/03 10:49:37 packer-builder-vmware-iso: 2015/03/03 10:49:37 [DEBUG] Uploading windows.iso: perms=C0644 size=85426176
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 SCP session complete, closing stdin pipe.
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Waiting for SSH session to complete.
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 scp stderr (length 33): Sink: C0644 85426176 windows.iso
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Running the provision hook
==> windows-2008.r2-fusion: Provisioning with shell script: ./scripts/windows/vm-guest-tools.bat
2015/03/03 10:49:40 ui: ==> windows-2008.r2-fusion: Provisioning with shell script: ./scripts/windows/vm-guest-tools.bat
2015/03/03 10:49:40 packer-provisioner-shell: 2015/03/03 10:49:40 Opening ./scripts/windows/vm-guest-tools.bat for reading
2015/03/03 10:49:40 packer-provisioner-shell: 2015/03/03 10:49:40 [INFO] 1880 bytes written for 'uploadData'
2015/03/03 10:49:40 [INFO] 1880 bytes written for 'uploadData'
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] 1880 bytes written for 'uploadData'
2015/03/03 10:49:40 [INFO] 1880 bytes written for 'uploadData'
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 opening new ssh session
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Starting remote scp process:  scp -vt /tmp
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Started SCP session, beginning transfers...
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Copying input data into temporary file so we can read the length
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 [DEBUG] Uploading script.bat: perms=C0644 size=1880
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 SCP session complete, closing stdin pipe.
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Waiting for SSH session to complete.
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 scp stderr (length 28): Sink: C0644 1880 script.bat
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 opening new ssh session
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 starting remote command: chmod 0777 /tmp/script.bat
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 remote command exited with '0': chmod 0777 /tmp/script.bat
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 0
2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 0
2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 0
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 0
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 0
2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 0
2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 0
2015/03/03 10:49:40 packer-provisioner-shell: 2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 0
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 opening new ssh session
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 starting remote command: PACKER_BUILD_NAME=windows-2008.r2-fusion PACKER_BUILDER_TYPE=vmware-iso cmd /c C:/Windows/Temp/script.bat
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 remote command exited with '1': PACKER_BUILD_NAME=windows-2008.r2-fusion PACKER_BUILDER_TYPE=vmware-iso cmd /c C:/Windows/Temp/script.bat
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 1
2015/03/03 10:49:40 [INFO] 0 bytes written for 'stderr'
2015/03/03 10:49:40 [INFO] 119 bytes written for 'stdout'
2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 1
2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 1
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] 0 bytes written for 'stderr'
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] 119 bytes written for 'stdout'
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 1
2015/03/03 10:49:40 packer-command-build: 2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 1
2015/03/03 10:49:40 [INFO] 119 bytes written for 'stdout'
2015/03/03 10:49:40 [INFO] 0 bytes written for 'stderr'
2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 1
2015/03/03 10:49:40 [INFO] RPC endpoint: Communicator ended with: 1
2015/03/03 10:49:40 packer-provisioner-shell: 2015/03/03 10:49:40 [INFO] RPC client: Communicator ended with: 1
2015/03/03 10:49:40 packer-provisioner-shell: 2015/03/03 10:49:40 [INFO] 0 bytes written for 'stderr'
2015/03/03 10:49:40 packer-provisioner-shell: 2015/03/03 10:49:40 [INFO] 119 bytes written for 'stdout'
    windows-2008.r2-fusion: 'C:/Windows/Temp/script.bat' is not recognized as an internal or external command,
2015/03/03 10:49:40 ui:     windows-2008.r2-fusion: 'C:/Windows/Temp/script.bat' is not recognized as an internal or external command,
    windows-2008.r2-fusion:
2015/03/03 10:49:40 ui:     windows-2008.r2-fusion:
    windows-2008.r2-fusion: operable program or batch file.
2015/03/03 10:49:40 ui:     windows-2008.r2-fusion: operable program or batch file.
2015/03/03 10:49:40 packer-builder-vmware-iso: 2015/03/03 10:49:40 Executing: /usr/bin/vmrun [-T player list]
2015/03/03 10:49:41 packer-builder-vmware-iso: 2015/03/03 10:49:41 stdout: Total running VMs: 1
2015/03/03 10:49:41 packer-builder-vmware-iso: /var/lib/jenkins/jobs/packer-build-windows2008r2/workspace/packer/output-windows-2008.r2-fusion/packer-windows-2008.r2-fusion.vmx
2015/03/03 10:49:41 packer-builder-vmware-iso: 2015/03/03 10:49:41 stderr:
==> windows-2008.r2-fusion: Stopping virtual machine...
2015/03/03 10:49:41 ui: ==> windows-2008.r2-fusion: Stopping virtual machine...
2015/03/03 10:49:41 packer-builder-vmware-iso: 2015/03/03 10:49:41 Executing: /usr/bin/vmrun [-T player stop output-windows-2008.r2-fusion/packer-windows-2008.r2-fusion.vmx hard]
2015/03/03 10:49:42 packer-builder-vmware-iso: 2015/03/03 10:49:42 stdout:
2015/03/03 10:49:42 packer-builder-vmware-iso: 2015/03/03 10:49:42 stderr:
2015/03/03 10:49:42 packer-builder-vmware-iso: 2015/03/03 10:49:42 Deleting floppy disk: /tmp/packer711592422
==> windows-2008.r2-fusion: Deleting output directory...
2015/03/03 10:49:42 ui: ==> windows-2008.r2-fusion: Deleting output directory...
Build 'windows-2008.r2-fusion' errored: Script exited with non-zero exit status: 1
2015/03/03 10:49:43 ui error: Build 'windows-2008.r2-fusion' errored: Script exited with non-zero exit status: 1
2015/03/03 10:49:43 packer-command-build: 2015/03/03 10:49:43 Builds completed. Waiting on interrupt barrier...
2015/03/03 10:49:43 machine readable: error-count []string{"1"}

==> Some builds didn't complete successfully and had errors:
2015/03/03 10:49:43 ui error:
==> Some builds didn't complete successfully and had errors:
2015/03/03 10:49:43 machine readable: windows-2008.r2-fusion,error []string{"Script exited with non-zero exit status: 1"}
--> windows-2008.r2-fusion: Script exited with non-zero exit status: 1
2015/03/03 10:49:43 ui error: --> windows-2008.r2-fusion: Script exited with non-zero exit status: 1

==> Builds finished but no artifacts were created.
2015/03/03 10:49:43 ui:
==> Builds finished but no artifacts were created.
2015/03/03 10:49:43 waiting for all plugin processes to complete...
2015/03/03 10:49:43 /usr/local/packer/0.7.1/packer-provisioner-shell: plugin process exited
2015/03/03 10:49:43 /usr/local/packer/0.7.1/packer-post-processor-vagrant: plugin process exited
2015/03/03 10:49:43 /usr/local/packer/0.7.1/packer-command-build: plugin process exited
2015/03/03 10:49:43 /usr/local/packer/0.7.1/packer-builder-vmware-iso: plugin process exited
Build step 'Execute shell' marked build as failure
Finished: FAILURE

{
  "builders": [
    {
      "type": "vmware-iso",
      "name": "windows-2008r2-fusion",
      "iso_url": "http://download.microsoft.com/download/7/5/E/75EC4E54-5B02-42D6-8879-D8D3A25FBEF7/7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso",
      "iso_checksum_type": "md5",
      "iso_checksum": "4263be2cf3c59177c45085c0a7bc6ca5",
      "headless": true,
      "ssh_username": "vagrant",
      "ssh_password": "vagrant",
      "ssh_wait_timeout": "4h",
      "name": "windows-2008.r2-fusion",
      "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"",
      "guest_os_type": "windows7srv-64",
      "tools_upload_flavor": "windows",
      "disk_size": 61440,
      "vnc_port_min": 5900,
      "vnc_port_max": 5980,
      "floppy_files": [
        "./files/answer_files/2008_r2/Autounattend.xml",
        "./scripts/windows/microsoft-updates.bat",
        "./scripts/windows/win-updates.ps1",
        "./scripts/windows/openssh.ps1"
      ],
      "vmx_data": {
        "RemoteDisplay.vnc.enabled": "false",
        "RemoteDisplay.vnc.port": "5900",
        "memsize": "2048",
        "numvcpus": "1",
        "scsi0.virtualDev": "lsisas1068"
      }
    }
    ],
    "post-processors": [
       {
         "output": "build/{{.Provider}}/windows_2008_r2_{{.Provider}}.box",
         "type": "vagrant",
         "vagrantfile_template": "files/vagrantfile-windows_2008_r2.template",
         "keep_input_artifact": true
       }
    ],
    "provisioners": [
       {
         "type": "shell",
         "remote_path": "/tmp/script.bat",
         "execute_command": "{{.Vars}} cmd /c C:/Windows/Temp/script.bat",
         "scripts": [
            "./scripts/windows/vm-guest-tools.bat",
            "./scripts/windows/chef.bat",
            "./scripts/windows/vagrant-ssh.bat",
            "./scripts/windows/enable-rdp.bat",
            "./scripts/windows/disable-auto-logon.bat",
            "./scripts/windows/compact.bat",
            "./scripts/windows/disable_domain_fw.bat"
         ]
       }
}

I fixed it by changing remote_path variable in the shell provisioner as follow :
    "provisioners": [
       {
         "type": "shell",
         "remote_path": "/cygdrive/c/Windows/Temp/script.bat",
         "execute_command": "{{.Vars}} cmd /c C:/Windows/Temp/script.bat",

I haven't seen this, but at least we have a documented workaround in case this comes up again.

I faced this issue with windows 2012 r2. Changed provisioner as follow and it worked:
  "provisioners": [
    {
      "type": "windows-shell",
      "scripts": [
        "./scripts/vm-guest-tools.bat",


[Bug]: exec /package-operator: exec format error

Describe the bug
When trying to bootstrap glasskube on MacOS with darwin/arm64 architecture (Apple Silicon), the glasskube-controller-manager won't come up.
Instead, the container manager using the package-operator:v0.0.2 image from this repository crash-loops with the error message below.
exec /package-operator: exec format error

This is probably because the go binary package-operator gets built for amd64 only?
To Reproduce
brew install glasskube/tap/glasskube
kind create cluster --name glasskube
glasskube bootstrap
watch kubectl get deploy -n glasskube-system
kubectl logs deploy/glasskube-controller-manager -n glasskube-system

Expected behavior
Providing multi-arch images would be great for the sakes of being able to test the project locally, running demos, etc. Also, more and more clusters are run on ARM, so having multi-arch images in general wouldn't hurt in the long run.
Cluster Info (please complete the following information):

Type: Kubernetes
Version: v1.29.1
Provider: kind

Glasskube Info (please complete the following information):

Package Operator version: v0.0.2
CLI version: v0.0.2

I provided a fix in #238 - the proposed changes can be adapted for other architectures, as well.


Add research notebook

Needs a database dump (python manage.py dumpdata > db.json) whose location is configured in the notebook.

Thanks, Arun! Could you move this into the analysis directory?


Non module attribute elixir project versions

The current version of mono raises an exception when running mono publish on  https://github.com/appsignal/appsignal-elixir-phoenix:
~/Appsignal/appsignal-elixir-phoenix (main) $ DRY_RUN=true mono publish
The following packages will be published (or not):
- appsignal-elixir-phoenix:
An unexpected error was encountered during the `mono publish` command. Stopping operation.
Traceback (most recent call last):
	9: from /Users/jeffkreeftmeijer/mono/bin/mono:9:in `<main>'
	8: from /Users/jeffkreeftmeijer/mono/lib/mono/cli.rb:148:in `execute'
	7: from /Users/jeffkreeftmeijer/mono/lib/mono/cli.rb:167:in `execute_command'
	6: from /Users/jeffkreeftmeijer/mono/lib/mono/cli/publish.rb:35:in `execute'
	5: from /Users/jeffkreeftmeijer/mono/lib/mono/cli/publish.rb:74:in `print_summary'
	4: from /Users/jeffkreeftmeijer/mono/lib/mono/cli/publish.rb:74:in `each'
	3: from /Users/jeffkreeftmeijer/mono/lib/mono/cli/publish.rb:76:in `block in print_summary'
	2: from /Users/jeffkreeftmeijer/mono/lib/mono/cli/publish.rb:93:in `print_package_summary'
	1: from /Users/jeffkreeftmeijer/mono/lib/mono/package.rb:84:in `current_tag'
/Users/jeffkreeftmeijer/mono/lib/mono/languages/elixir/package.rb:12:in `current_version': undefined method `[]' for nil:NilClass (NoMethodError)

This happens because it assumes Elixir projects have a module attribute named @version in their mix.exs file. While that’s true for https://github.com/appsignal/appsignal-elixix, that’s not the case for the Phoenix integration, as it’s not required there.
This patch switches the main test case from a setup that uses a module attribute to set the version number to one that does not, and adds a regression test for setups that do use the module attributes. It then updates both version reading and writing to handle Elixir projects with their version options directly placed in their mix.exs project blocks.

Ah, still got me! Doing that in a minute. :)


[Bug]: Template job instance should not be cleaned up to allow KEDA to scale the jobs

Problem
KEDA doesn’t scale jobs after the template job is removed.
Relates to: https://github.com/clemlesne/blue-agent/discussions/290#discussioncomment-10972341
KEDA doc: https://keda.sh/blog/2021-05-27-azure-pipelines-scaler/#placeholder-agent
Impact
The jobs never run.
Deployment
Kubernetes with Helm
Version
9.0.0

The placeholder agent (I called “template” in the code) should be kept forever.
Template job is already created: https://github.com/clemlesne/blue-agent/blob/80158efe7e6ba6d24b94f4ffa4136d850dcec0e0/src/helm/blue-agent/templates/pod.yaml#L15-L19
But, all agents are made to be cleaned up after run: https://github.com/clemlesne/blue-agent/blob/80158efe7e6ba6d24b94f4ffa4136d850dcec0e0/src/docker/start.sh#L120-L125
What we could implement is to add a flag to ignore the cleanup process for the template instance.

The following step to make it work manually:
1- Disable the self-agent to prevent any job scheduling on it

2- I killed the pod from the K8s cluster

Working on a fix in branch feat/keda-first-run.
Changed:

Added an env var AZP_TEMPLATE_JOB to disable the job deletion from the instance pool (thus this first agent will be offline, but still enabled)
Template jobs are limited to 1 min in execution, enought for run + setup, but no pipeline run, and no more money lost with a compute used for nothing withing the one-hour standard timeout

@Bastichou, a fix is pushed on develop with efa2323243633467f235796dd5a5983e2152c179. Can you try this new buidl and give a feedback?
Integration tests already have been updated but are only testing Bicep and Azure Container Apps at this time. I only built, static tested and manually reviewed the Helm chart.
Thanks!

Sorry I couldn't had a chance to test it last week! I'll do my best to try it this week :)

Hi,
I tried to update the Helm chart version to: 9.0.1-27.efa2323 (find it on the build job https://github.com/clemlesne/blue-agent/actions/runs/11467568043/job/31910782351)
But this Helm chart version doesn't exists ?
helm search repo clemlesne-blue-agent/blue-agent --versions
NAME                           	CHART VERSION	APP VERSION	DESCRIPTION
clemlesne-blue-agent/blue-agent	9.0.0        	3.244.1    	Deploy Azure Pipelines agent on Kubernetes. Eas...
clemlesne-blue-agent/blue-agent	8.0.0        	3.243.1    	Deploy Azure Pipelines agent on Kubernetes. Eas...
clemlesne-blue-agent/blue-agent	7.1.2        	3.243.1    	Deploy Azure Pipelines agent on Kubernetes. Eas...
clemlesne-blue-agent/blue-agent	7.1.1        	3.243.1    	Deploy Azure Pipelines agent on Kubernetes. Eas...
clemlesne-blue-agent/blue-agent	7.1.0        	3.243.1    	Deploy Azure Pipelines agent on Kubernetes. Eas...
clemlesne-blue-agent/blue-agent	7.0.3        	3.243.1    	Deploy Azure Pipelines agent on Kubernetes. Eas...
clemlesne-blue-agent/blue-agent	7.0.0        	3.234.0    	Deploy Azure Pipelines agent on Kubernetes. Eas...

So I tried to run the pipeline with the image version 9.0.1-27.efa2323
Everything worked well, I don't see any regression so far but the agent template is still being used and deleted once the job is done.
I suppose this is because I'm not using the right version of the Helm chart so we are not enjoying the update in the templating.
Cheers,

I think you only release the helm chart on a push on main branch?
  release-helm:
    name: Release Helm chart
    needs:
      - build-release-linux
      - build-release-win
      - build-helm
    # Only deploy on non-scheduled main branch, as there is only one Helm repo and we cannot override an existing version
    if: (github.event_name != 'schedule') && (github.ref == 'refs/heads/main')

Indeed, the Helm chart versions are only deployed from main branch.
Can you test installing it from the sources? You can use the commit efa2323243633467f235796dd5a5983e2152c179.

Is there an update on this?

I was in holidays the last few weeks.
I'll be able to test it next week :)

The feature seems to be stabilized in develop branch. Will be merged in the next version.
Integration tests now integrate that case.
Feedback appreciated!


Add ColorChooser widget

Add a ColorChooser widget option via wx.ColourDialog.
Example below where hex is returned from the chooser and the input dialogs are colored such that their background and text colors match the selected color.

Merged. :+1:


Shift in location between EVI and NDVI

Shift in location between EVI and NDVI not found.

there is actually a difference, if you compare between two final DHIs in WGS84, but there is none in SIN
try reprojecting them again

It was bug in GRASS location, in which DHI's were computed. EVI and NDVI mapsets were computed in different projections (lat/long and sinusoidal), but in the same units (meters).
Now projection of the whole location changed to sinusoidal, DHI NDVI was recomputed and transformed to WGS84.

DHI of FPAR, LAI, EVI, NDVI should all match
NDVI used to aligh with FPAR/LAI, now it doesn't. But it does align with EVI.

Done


Support for Pretty Printing

(oh, no, he is back with more printing stuff :-) )
I often end up debugging exceptions (that are swallowed, or rewritten, and I want to examine the backtrace of the exception). What I used to do on the old debugger was to use the pp command.
That does not seem to be directly supported in byebug.
pp exception.backtrace
(byebug) pp exception.backtrace
*** NoMethodError Exception: undefined method `pp' for Puppet:Module

(byebug) pp(exception.backtrace)
*** NoMethodError Exception: undefined method `pp' for Puppet:Module

In order to make that work, I had to:
require 'pp'
PP.pp(e.backtrace)

Which is a bit clunky. Would very much like to see support for pp unless there is some other convenient way of displaying that backtrace in a readable way. (e.g. if the bt command could accept an exception as an argument). Although pp in general is handy.
(Have not tried requiring 'pp' early)

@hlindberg Thanks for reporting this and sorry for getting to it late.
I decided that I don't want to mantain something like this inside byebug, so I'll close.
Regards!


Does this repo have an admin?

Looks like this awesome project has stalled as the admin has vanished. Can they come back please? Or add admin rights to someone with more time/inclination to continue with this fine project?

Admin hasn't left :) and I'm watching the issues and discussions. It pains me that I don't have the time to do the merges, but our business is growing and there are more important tasks we have to complete and until we can come up for air I won't be able to move this project forward.
I'd be glad to accept someone as co-admin although it would have to someone who's be willing to work with me on code reviews because sometimes pull requests have to be rewritten to maintain a high quality bar for the codebase (we use this library in our commercial codebase and we can't have a lower quality just for the sake of moving the project forward).
I'm not suggesting the pending PRs are not quality code (haven't had time to review them) just explaining why the project for stalling.
Thanks for your assistance with the issues and for your willingness to help.
On Jun 17, 2017, at 3:15 PM, amp64 <notifications<EMAIL_ADDRESS>wrote:
Looks like this awesome project has stalled as the admin has vanished. Can they come back please? Or add admin rights to someone with more time/inclination to continue with this fine project?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/AreYouFreeBusy/AlexaSkillsKit.NET/issues/34, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAr7oQ0Supz3UGjKwLH4FrRsIDRmDOrPks5sFFAZgaJpZM4N9WI9.

I have follow up question on this. Amazon resently become really active in expanding their development for Alexa platform. It looks like you should expect much more people to come for your library in nearest future.  Probably, you can find some time to look for someone who can help you with reviews and merges.
Also, as far as I can see the Amazon's alexa-skills-kit-java project was directly ported from version 1.4.0 of your project (Btw, I didn't know that MIT license allows to do so without any notice of original License and Author). Perhaps it's time to pickup their modifications back to this project. I believe I can do it in few days.

@ElvenMonky I agree and I plan to spend time in December catching up on the Alexa platform and on this project. In the meantime, I added you as a contributor with write access and it would be great to work together. Please do merge all the PRs. Email me direct at<EMAIL_ADDRESS>for questions or to discuss. Thanks for offering to help!

Thanks @stefann42, I appresiate this. It would be great for me to participate in project growth.


Dir sync fails with DrvFs and samba  share -> report as "invalid" (EINVAL), but not "I/O error" (EIO).

It seems that dir sync is not working when mounting a network share via DrvFs.
I encountered this error with BorgBackup https://github.com/borgbackup/borg/issues/1961#issuecomment-335491180
The error is:  OSError: [Errno 5] Input/output error
I think you should either support dir sync or say "invalid" (EINVAL), but not "I/O error" (EIO).
Sample code to reproduce the error:
import errno
import os
import sys

def sync_dir(path):
    fd = os.open(path, os.O_RDONLY)
    try:
        os.fsync(fd)
    except OSError as os_error:
        # Some network filesystems don't support this and fail with EINVAL.
        # Other error codes (e.g. EIO) shouldn't be silenced.
        if os_error.errno != errno.EINVAL:
            raise
    finally:
        os.close(fd)

if __name__ == '__main__':
    path = sys.argv[1]
    print("Syncing dir %s" % path)
    sync_dir(path)

Usage:
python3 syncdir.py somedirectory

sudo mount -t drvfs D: /mnt/Ddrive/ <-- dir sync OK
sudo mount -t drvfs F: /mnt/usbstick/ <-- dir sync OK
sudo mount -t drvfs '\\synology\Backups' /mnt/borgBackup/ <-- sync Fail
(also fails if mounted in Win as a Network Drive z: )

"\\synology\Backups" is a samba v3 share
Tested with Windows Build  16299.15.170928-1534.rs3_release & Ubuntu from the Store

Since FlushFileBuffers (on the Win32 side of things) does not support directory handles, I'd guess that the kernel doesn't contain that functionality. This looks like an incorrect mapping of error codes (ERROR_INVALID_HANDLE to EIO instead of EINVAL or EBADF).

We've adjusted our error mappings in recent versions of Windows.  Please reopen a new issue if you see issues on 19042.

Seems to be fixed (tested on 20H2). Thx.


Line Chart specific configuration

I want to be able to configure all line chart samples from Chart.js except the ones using configured callbacks functions.

Works


WIP: Circle CI pack

TODO

[x] Tests

Examples
/m/s/s/st2 git:purge_models_optimization ❯❯❯ st2 run circle_ci.wait_until_build_finishes project=project=armab/st2-packages build_number=377
..
id: 5668a1f732ed35537681cb8b
status: failed
result:
{
    "result": null,
    "exit_code": 1,
    "stderr": "st2.actions.python.WaitUntilBuildFinishes: INFO     URL: https://circleci.com/api/v1/project/project=armab/st2-packages/377
/mnt/src/storm/st2/virtualenv/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Traceback (most recent call last):
  File "/mnt/src/storm/st2/st2actions/st2actions/runners/python_action_wrapper.py", line 116, in <module>
    obj.run()
  File "/mnt/src/storm/st2/st2actions/st2actions/runners/python_action_wrapper.py", line 61, in run
    output = action.run(**self._parameters)
  File "/opt/stackstorm/packs/circle_ci/actions/wait_until_build_finishes.py", line 25, in run
    raise Exception(msg)
Exception: Build number 377 for project project=armab/st2-packages not found.
",
    "stdout": ""
}
/m/s/s/st2 git:purge_models_optimization ❯❯❯ st2 run circle_ci.wait_until_build_finishes project=armab/st2-packages build_number=377
..
id: 5668a23c32ed35537681cbdc
status: succeeded
result:
{
    "result": true,
    "exit_code": 0,
    "stderr": "st2.actions.python.WaitUntilBuildFinishes: INFO     URL: https://circleci.com/api/v1/project/armab/st2-packages/377
/mnt/src/storm/st2/virtualenv/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
",
    "stdout": ""
}
/m/s/s/st2 git:purge_models_optimization ❯❯❯

/m/s/s/st2 git:purge_models_optimization ❯❯❯ st2 run circle_ci.get_build_number project=armab/st2-packages vcs_revision=e7fa0eaba03a429fc86aacec59281d63d3076f84
..
id: 5668a02332ed35537681c97e
status: succeeded
result:
{
    "result": 377,
    "exit_code": 0,
    "stderr": "/mnt/src/storm/st2/virtualenv/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
",

@Kami: https://github.com/StackStorm/st2contrib/blob/master/Makefile#L99 Is it intentional we don’t install https://github.com/StackStorm/st2contrib/blob/master/requirements-pack-tests.txt in that virtualenv? I added a new dependency and travis is failing. https://travis-ci.org/StackStorm/st2contrib/jobs/97100961.

@lakshmi-kannan Yes, all this stuff happens inside the respective script task (e.g. scripts/pylint-pack.sh, st2-run-pack-tests`, etc.).

Ah, ignore my last comment.
I just noticed you are talking about requirements-pack-tests.txt and not pack requirements. In this case the installation of those dependencies happens inside st2-run-pack-tests script - https://github.com/StackStorm/st2/blob/master/st2common/bin/st2-run-pack-tests#L33.
It looks like I forgot to remove this file from the repo once we moved run tests script to st2 repo. So please update st2-run-pack-tests in st2 repo, remove requirements-pack-tests.txt which is not obsolete from this repo and re-run travis build.

Well, it looks like pylint target still needs requirements-pack-tests.txt. https://travis-ci.org/StackStorm/st2contrib/jobs/97526671#L326

This travis failure makes no sense to me. Those reamaze actions travis is complaining about is not even part of this branch.


Webgl2 reimplement HBAO postprocess

Re-implement HBAO post-process based on NVIDIA paper and presentation. Below are the results of the new implementation:

@lilleyse can you please take a look at it?

Thanks for the pull request @baothientran!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

@baothientran but could you provide some before/after screenshots comparing master to this branch. Also could you cover some of the technical differences between this approach and the previous one? Is the main advantage that this one works without linear filtering of the depth texture? Also post any performance numbers if you have them.
@byumjin do you remember the original paper you worked off of?

Thanks again for your contribution @baothientran!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

Thanks again for your contribution @baothientran!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

@cesium-concierge stop

@baothientran To keep things tidy, I'm going to go ahead and close this PR. If you get some time to work on this and have updates, feel free to reopen. Thanks!


Design Guidelines: SDK versioning

Define the versioning strategy for SDK libraries and packages and articulate how service API versions are supported in the SDK.
Different Service Versions, Different client libraries, different Azure clouds (Gov't, Public, etc). How do they map?

Versioning is discussed both in the release guidelines maintained by engineering systems and the general guidelines at this point.


Support for gpuArray inputs

At present, when trying to pass gpuArray inputs (of underlying type double) to mmx, it fails with the reason that
Only inputs of type 'double' are supported.

Which is understandable since a gpuArray double isn't strictly double, but this is also unfortunate since we're unable to make use of the potential performance benefits of GPUs.
A possible solution to this could employ the MAGMA library, which is essentially LAPACK/BLAS for GPUs, for gpuArray inputs.

R2020b introduced a function called pagemtimes, which supports gpuArrays. Below is a benchmark of this compared to mmx:
function timings = pagemtimesBenchmark()
SZ = [10:10:40,50:25:200,250,300,400,500];
nS = numel(SZ);
timings = NaN(nS,3);
for idx = 1:nS
  sz = SZ(idx);

  % Create arrays:
  A = randn(sz,sz,sz);
  B = randn(sz,sz,sz);
  Ag = gpuArray(A);
  Bg = gpuArray(B);

  % Test equivalence:
  C = mmx('mult', A, B);
  Cp = pagemtimes(A,B);
  Cg = pagemtimes(Ag, Bg);
  assert(norm(C(:)-Cp(:)) < 1E-8)
  assert(norm(C(:)-gather(Cg(:))) < 1E-8)

  % Stress testing:
  timings(idx,1) = timeit(@()mmx('mult', A, B));
  timings(idx,2) = timeit(@()pagemtimes(A,B));
  timings(idx,3) = gputimeit(@()pagemtimes(Ag, Bg));
end
timings = array2table([SZ.', timings], 'VariableNames', ["N","mmx-cpu", "pmt-cpu", "pmt-gpu"]);
%{
timings = pagemtimesBenchmark();
figure('Position', [681,679,977,420]); hT = tiledlayout(1,2); hAx(1) = nexttile(hT);
plot(hAx(1), timings.N, timings.("mmx-cpu"), ...
             timings.N, timings.("pmt-cpu"), ...
             timings.N, timings.("pmt-gpu"));
hAx(2) = nexttile(hT);
copyobj(hAx(1).Children, hAx(2))
set(hAx(2), 'XScale', 'log', 'YScale', 'log');
legend(hAx(1), 'mmx', 'pagemtimes-cpu', 'pagemtimes-gpu', 'Location', 'northwest');
legend(hAx(2), 'mmx', 'pagemtimes-cpu', 'pagemtimes-gpu', 'Location', 'northwest');
xlabel(hAx, 'N'); ylabel(hAx, 'Runtime [s]');
set(hAx, 'FontSize', 16);
grid(hAx,'on'); grid(hAx, 'minor');
%}

System details: Win10 x64, Intel i7 3770, 32GB DDR3 800MHz Dual, GeForce GTX 1660 SUPER.


Image updater

What would you like to be added:
We want to support image updater, which auto scans ECR lastest image and updates kustomization.yaml to the lastest image
Same feature from:
FluxCD: https://fluxcd.io/flux/guides/image-update/
ArgoCD: https://argocd-image-updater.readthedocs.io/en/stable/
Why is this needed:
We have more than 1000 microservices, each has their own ECR repo.
Each image has a tag format: <branch-name>-<SHA>-<adjustment>
Each namespace may want to include some microservices with specific branches and auto update to the lastest version for that branch.
Namespace owners don't need to know when microservice team update their image, but they want to always use the lastest version.
Microservice team manges their CICD, but doesn't know which namespace uses their service (and what branch).

Thank you for using our product!
Thank you also for raising an issue!
We have a feature named EventWatcher.
The EventWatcher watches events from the pipectl command, so you can use this if you can execute pipectl when the image is pushed.
If you cannot, you can use Renovate instead.
Renovate can watch ECR and commit to git.
EventWatcher Docs: https://pipecd.dev/docs-v0.47.x/user-guide/event-watcher/
Renovate Docs: https://docs.renovatebot.com/
AWS ECR configuration for Renovate: https://docs.renovatebot.com/docker/#aws-ecr-amazon-web-services-elastic-container-registry


Upgrade to genjax 0.2.0; incorporate Nishad's fixes for b3d tutorial

One comment -- the README says to use Python 3.9.  Do we want it to recommend Python 3.10?


fix: set cookies for password recovery event

What kind of change does this PR introduce?
Bug fix
What is the current behavior?
When resetting a user's password with an email template which has a URL defining the type value as recovery, and using the verifyOtp method to process the token_hash and type, the SSR server client's onAuthStateChange function does not recognize the PASSWORD_RECOVERY event that verifyOtp fires. This prevents the code here from running; resulting in the new session not being saved to cookies, and the user is not considered logged in.
Fixes #21
What is the new behavior?
User is logged in.
Additional context
Replaces PR #24

Thank you!


Hotkeys appear to be broken

Hotkeys do not on the Spirit Tree Map when the plugin is active.

This is now live via https://github.com/runelite/plugin-hub/pull/4996


Difficult to get Lat Long and Address

Hello @kibotu
Library is very accurate but the Lat Long and Address not coming properly from Library. library give location update with that manner
E/LocationTrackerService: onLocationResult [Location[fused 37.422065,-122.084084 hAcc=603 et=+2h8m29s292ms vAcc=??? sAcc=??? bAcc=???]]
Please make some methods in lib to fetch lat, long and address with functions (methods)
for example
getLat();
getLong;
getAddress();
Thanks

I believe you get a LocationResult
In your LocationTrackerService
the LocationResult returns you

lastLocation as a Location

here you have the user's

latitude

longitude

altitude

speed

bearing

etc.

array of Locations

Hello @kibotu
How to stop location service after start the service
Thanks

location and last location is not the same, location is an array of all locations of the user since the last update, if you have high frequency updates it's going to be very small
you can stop services via

Geofence#removeGeofence
Geofence#removeAll
LocationTracker#removeLocationUpdates

i've updated the readme based on your questions, also added comments in demo to show how to retrieve data
https://github.com/exozet/Geolocator/blob/master/app/src/main/java/com/sprotte/geolocator/demo/kotlin/LocationTrackerService.kt#L18-L33


can't sign in

Subject: can't sign in
Description:
it says something wrong. not let me sign in
Results:
Backend version: develop-a66efc25
Frontend version:
User Agent: Mozilla/5.0 (Linux; Android 8.1.0; SAMSUNG SM-N960F Build/M1AJQ) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.2 Chrome/67.0.3396.87 Mobile Safari/537.36
Page: https://couchers.org/
User: tatt (19119)

can't reproduce


cell annotations for HSPC dataset

Hi! Not sure if this is the right place to put this request. However, I'd like to use your 10X mulitome hspc dataset. I have the processed atac + rna matrices already. It'd be nice to have your cell metadata for cell type annotations. Let me know if you have any questions! Thanks!

it'd also be great to have UMAP coordinates :) you can email me at<EMAIL_ADDRESS>


Feature/fix #2801 : fix Grant-PnPAzureADAppSitePermission to allow multi-geo

Type

[x] Bug Fix
[x] New Feature
[ ] Sample

Related Issues?
Fixes #2801
What is in this Pull Request ?
Allow Grant-PnPAzureADAppSitePermission cmdlet to work in multi-geo environment.

Getting the error: Error : Grant-PnPAzureADAppSitePermission : {"error":{"code":"itemNotFound","message":"Item not
found","innerError":{"date":"2024-02-14T12:21:20"
Could you confirm when this cmdlet will be ready to use? Thanks!

@gautamdsheth Getting the error: Error : Grant-PnPAzureADAppSitePermission : {"error":{"code":"itemNotFound","message":"Item not found","innerError":{"date":"2024-02-14T12:21:20"
Could you confirm when this cmdlet will be ready to use? Thanks!

Using PNP 3.29.2101 version of PNP module.


⚠ Bofrost.de has degraded performance

In 6bb666d, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1455 ms

Resolved: Bofrost.de performance has improved in d0372a7.


IMPROVE: validation

Ensure the user can create a ratelimit policy without at least one limit.
closes: #1023
Validate
Try apply the following policies to the installation. They should both fail with different failure messages. Any policy where the name is toystore-*1 should be applied to the cluster.
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-s1
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  limits:
    "limit-per-ip":
      rates:
      - limit: 5
        window: '10s'
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-s2
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-s3
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  limits: {}
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-d1
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  defaults:
    limits:
      "limit-per-ip":
        rates:
        - limit: 5
          window: '10s'
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-d2
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  defaults: {}
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-d3
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  defaults:
    limits: {}
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-o1
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  overrides:
    limits:
      "limit-per-ip":
        rates:
        - limit: 5
          window: '10s'
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-o2
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  overrides: {}
---
apiVersion: kuadrant.io/v1
kind: RateLimitPolicy
metadata:
  name: toystore-o3
  namespace: default
spec:
  targetRef:
    group: gateway.networking.k8s.io
    kind: HTTPRoute
    name: simple-toystore
  overrides:
    limits:  {}
---

I miss a integration test (with actual k8s running) in tests/common/ratelimitpolicy/ratelimitpolicy_controller_test.go for the following use cases:

I can add some test no problem.


Letting flags be changed from outside

This PR let change test flags from outside. It can be done either by:

declaring environmental variables: TEST_NAMESPACE, and TEST_RESOURCE,
using -ldflags "-X knative.dev/eventing-operator/test.EventingOperatorNamespace=knative-eventing"

Changing those flags is needed to perform tests on RH operators.

/ok-to-test
/approve
/lgtm
/hold
Hold for waiting for https://github.com/knative/eventing-operator/pull/17 to land, and then we can /retest to confirm it does not break the new unit tests.

/retest

/test pull-knative-eventing-operator-build-tests
/test pull-knative-eventing-operator-integration-tests
/test pull-knative-eventing-operator-unit-tests

/test all

/hold cancel


Form Rendering Error (missing components)

I am trying to render https://examples.form.io/example using vue-formio as per documentation.
Received the following error when rendered:
Unknown component: content
Unknown component: columns
Unknown component: survey
Unknown component: signature
Unknown component: button
Is this library incomplete, or missing some configurations?
import { Form } from 'vue-formio';

export default {
  name: 'App',
  components: {
    formio: Form,
  }
}

<formio src="https://examples.form.io/example" ></formio>

This is some strangeness that occurs from the way the formio.js library is structured (We're working on it). Components have to be manually loaded into the form and if not, you'll get something that looks like what you see.
I'm not sure why you were seeing it as we've got the code in place. You can see it here: https://github.com/formio/vue-formio/blob/master/src/components/Form.ts#L4-L6
Are you doing anything different in how you load formio.js?


Depend on the cuDF v0.18

Change rapids brannch-0.4 to depend on cuDF v0.18 release jars
Prepare for the for the rapids v0.4.0 release

build

build

Looks fine to me. Are the 0.18 jars just in the staging repo or in the final repo?

cuDF 0.18 jar has been released to public maven repo. https://repo1.maven.org/maven2/ai/rapids/cudf/0.18/

Looks fine to me. Are the 0.18 jars just in the staging repo or in the final repo?

Released in the maven central repo: https://mvnrepository.com/artifact/ai.rapids/cudf/0.18


[suggestion] separate space-bar background-color in theme.js

Just a suggestion for my selfish benefit :)
Btw nice touch with the new Specter and time filler!
I would like to see the space-bar background as a separate color in theme.js.

I've added a separate entry for the background color:
export const Theme = {
  main: '#1B222D',
  minor: '#39465E',
  accent: '#FFD484',
  red: '#E78482',
  green: '#8FC8BB',
  yellow: '#FFD484',
  blue: '#6DB3CE',
  magenta: '#AD82CB',
  cyan: '#7EDDDE',
  background: Theme.main,
  lightGrey: 'rgba(0, 0, 0, 0.1)',
  font: 'JetBrains Mono, monospace',
  lightShadow: '0 5px 10px rgba(0, 0, 0, 0.24)',
  mediumShadow: '0 8px 30px rgba(0, 0, 0, 0.24)',
  largeShadow: '0 30px 60px rgba(0, 0, 0, 0.24)',
  easing: 'cubic-bezier(0.4, 0, 0.2, 1)'
}

It's using the main color variable by default in order to maintain unchanged the other users configurations.

Thank you  🔥


Quote $@ in the lxc wrapper.

I am hoping this would solve
/snap/bin/lxc exec snapcraft -- python3 -c 'import urllib.request; urllib.request.urlopen("http://start.ubuntu.com/connectivity-check.html", timeout=5)'
  File "<string>", line 1
    import
         ^
SyntaxError: invalid syntax

That should be fine. Can you also do the other wrappers?


How do I support a public endpoint in an authenticated service

I want to disable the security over one operational endpoint.
The @useAuth can only be used on a service level.
I've seen the proposal, but is there a current work-around, besides creating 2 services?

There is no current workaround unfortunatelly, the propsal however was approved and we need to make an implementation issue and implement it.


Unable to create VPC endpoints

I need to create VPC endpoints. I statred from s3 endpoint.
According to this file https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/terraform011/vpc-endpoint.tf I need to specify two parameters. I set bot. plan tells me that Infrastructure is up-to-date
What i missed?
Thanks

Please take a look at the example - https://github.com/terraform-aws-modules/terraform-aws-vpc/blob/terraform011/examples/complete-vpc/main.tf
For S3 VPC endpoint, you need to specify enable_s3_endpoint = true


mesa: 24.0.8 -> 24.1.1

Description of changes
New mesa update, requires #317639.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Made some progress until directx-headers is updated.
nix-repl> :lf github:ExpidusOS/nixpkgs/feat/directx-headers-1-613-0
Added 15 variables.

nix-repl> directx-headers = legacyPackages.aarch64-linux.directx-headers

nix-repl> :lf github:ExpidusOS/nixpkgs/feat/mesa-24-1-1
Added 15 variables.

nix-repl> legacyPackages.aarch64-linux.mesa.override { inherit directx-headers; }
«derivation /nix/store/qkiscdn80vn9hihnpkqlb9j1d4gg5rz1-mesa-24.1.1.drv»

Superseded by #306791


JSON schema: URL

(This was left over from #5029)
We should resolve the xfailure of the following test:
https://github.com/pydantic/pydantic/blob/73373c3e08fe5fe23e4b05f549ea34e0da6a16b7/tests/test_json_schema.py#L853-L874
In particular:

Should minLength/maxLength be set on the JSON schema for AnyUrl?

(For reference, AnyUrl  is now an alias for pydantic_core.Url)
I'm not sure where the minLength thing came from; it looks like when this test was added, there was a max_anystr_length = 2 ** 16 on the model Config class, I'm not sure if that's the source.
I did some looking into it and I saw from Google-searching that some browsers don't show full URLs past 2 ** 16 characters, but that they can still handle longer URLs. So from what I can tell there isn't a reason to include this limitation for compliance with a spec or anything like that. I would understand if this limitation was valuable for some other reason though and we wanted to keep it.

Are we officially eliminating stricturl? (It has been removed from pydantic.networks)

Is the same functionality ported to pydantic_core in some manner?
@samuelcolvin I'm assuming you are the person who knows the answer to this considering, as far as I can tell from git blame, it looks like you implemented stricturl (and pydantic_core of course 😄)

If we are removing stricturl, what should we include in the migration guide? I don't know how it should be replaced.

Looks like minLength and maxLength get into the JSON schema now when appropriate (thanks to UrlConstraints):
from pydantic import BaseModel, HttpUrl

class Model(BaseModel):
    x: HttpUrl

assert Model.model_json_schema() == {
    "type": "object",
    "properties": {
        "x": {
            "type": "string",
            "format": "uri",
            "minLength": 1,
            "maxLength": 2083,
            "title": "X",
        }
    },
    "required": ["x"],
    "title": "Model",
}

Given that I'm going to close this issue.


AttributeError: 'Cursor' object has no attribute 'count'

Hi, I'm having an issue trying to get the bot to run a command, I've setup a mongo database and I've verified that it's working but I get this error when running a command.
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\Rotty\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Rotty\Desktop\g_man-master\gman.py", line 56, in on_message
media_cache.add_to_cache(message, message.attachments[0].url)
File "C:\Users\Rotty\Desktop\g_man-master\media_cache.py", line 31, in add_to_cache
channel_vids_count = channel_vids.count()
AttributeError: 'Cursor' object has no attribute 'count'

Hi, it seems to be an issue when using the latest version of pymongo. Try using pymongo==3.12.2 instead.
I'll update requirements.txt as well, it's a bit outdated at the moment.

Works flawless! Thanks for updating the requirements file. Cheers!


fix(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da
module
minor
v1.8.1 -> v1.9.1

terraform-ibm-modules/cos/ibm (source)
module
patch
8.15.10 -> 8.15.15

Release Notes

terraform-ibm-modules/terraform-ibm-watsonx-saas-da (github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da)
v1.9.1
Compare Source
Bug Fixes

added extra KMS validation logic (#223) (e99420d)

v1.9.0
Compare Source
Features

Update the scope of the KMS auth policy to the exact KMS key (#231) (f3e5f6d)

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.15.15
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/kms-all-inclusive/ibm to v4.19.1 (#802) (983f847)

v8.15.14
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/kms-all-inclusive/ibm to v4.19.0 (#800) (de923bd)

v8.15.13
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/secrets-manager/ibm to v1.19.6 (#798) (d0d01c1)

v8.15.12
Compare Source
Bug Fixes

Fixed bug in fscloud submodule where object locking related config was being ignored (#796) (dcbbd33)

v8.15.11
Compare Source
Bug Fixes

deps: update terraform-module (#793) (543cbd7)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

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

GitHub release
v2.6.11

Your semantic-release bot :package::rocket:


[Extensibility Enhancement] page 5856 "Get Post.Doc - P.RcptLn Sbfrm" - DocumentNoHideValue

Hello,
Please make DocumentNoHideValue variable protected:

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Clicking the "generate message" button causes the IDEA commit panel to freeze directly.

What happened?
Clicking the "generate message" button causes the IDEA commit panel to freeze directly. However, the chat function can be used normally. Currently, IDEA is using version 2023.3.3, and CodeGPT is using version 2.2.12.

Relevant log output or stack trace
No response
Steps to reproduce
No response
CodeGPT version
2.2.12
Operating System
Windows

This seems to be a problem caused by CodeGPT using git diff. Can SVN projects not use the "generate message" feature? What should I do?

I'm unable to reproduce this. Is this still happening?

Yes, the issue still exists even after updating to the latest version. My project uses SVN version control. Clicking the "Generate Message" button in the commit panel still causes the IDE to freeze. I need to find the Git process in my task manager and end it to restore the IDE from freezing.

My computer only has one disk, which is the C drive, the system disk.

I found that CodeGPT only supports automatically generating commit messages for Git projects. Could you please add support for projects using Subversion version control? @carlrobertoh

For me the whole IDE freezes and every time I use this feature, I have to kill the IDE and start it again.
I am using Git.


After several checkpoints recovery fails with big data

Still having issues with my POC.
In the code example I push a lot of data to the db and also delete some of the data, then take checkpoints regularly, then recover and continue.
I have the POC here (I can also submit it as a PR to the playground area)
https://github.com/dangershony/FASTER/tree/faster-test/cs/playground/ClassRecoveryDurablity
Just hit run and observe it fail after a few loops.
Note: comment out the method TestData  code and call dotnet run 100 will for some reason work fine but dotnet run 10 will fail after a few calls to recover.
A quick summery of why I want to use FASTER, I contribute at blockcore, blockchain project, that implements among other things the bitcoin blockchain.
bitcoin uses leveldb in C++ as it's k/v store to persist chain data, I would like to use FASTER for that purpose, the POC will try to simulate the same behavior as a bitcoin node.

Thanks for the detailed info and repro. The issue was that our recent change to support client sessions resulted in skipping a phase (WAIT_PENDING) during checkpointing. This phase was writing out some important metadata (object log offsets), which resulted in us overwriting existing objects during recovery and trying to de-serialize spuriously.
The fix is now pushed to master in the FASTER repo. Please try it out and let us know.
After you are done with the POC, it might be interesting to contribute PR as a playground sample as well.

ah brilliant, sure I will give it a try and when done I can submit the PR to the playground.

Ok this seems to have worked, I will try a few more variants of the my requirements and if all is well I will submit a PR to the playground referencing this issue.
Thanks.

FYI stating the obvious and t's probably time available dependent but its probably a good idea to have test coverage for the specifics that caused this issue.

Another question, I guess its safe to delete old checkpoints I have no need for.
Basically to recover I just need to have the most recent checkpoint right?

Sounds good, yes we will add this to the test coverage.
Correct, to recover you need some checkpoint (combination of log + compatible earlier or same-time index checkpoint). Other checkpoints can be deleted. You also of course need the main log itself.

Added to test coverage now.


Add linear search visualizer

Description
Add a visualizer for linear search algorithm.
Fixes #933
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] I have added the project meta data in the PR template.
[x] I have created the requirements.txt file if needed.

Project Metadata
If there is no-file/nothing to fill the below fields with, then type: none
Example: If no requirements.txt needed/present, then type none in Requirements.
Category:

[ ] Calculators
[ ] AI/ML
[ ] Scrappers
[ ] Social_Media
[ ] PDF
[ ] Image_Processing
[ ] Video_Processing
[ ] Games
[ ] Networking
[ ] OS_Utilities
[ ] Automation
[ ] Cryptography
[ ] Computer_Vision
[ ] Fun
[x] Others

Title: Linear Search Visualizer
Folder: Linear Search Visualizer
Requirements: none
Script: script.py
Arguments: none
Contributor: tanvi355
Description: A GUI that allows you to see the linear search in action.

@tanvi355 looks good, just add a requirements.txt file

Actually tkinter is preinstalled, so we don't need requirements file for this :)


Documentation: describe simpler option for setting up Linux on Hetzner root server

Description
Resolves #243
Changed docs/hetzner.md to describe a simpler option for setting up Linux on the root server. Includes two new screenshots of Hetzner Robot.

/test

Thanks for contribution.


Use project ID to check that the project is the same

If a user gets db sync running with a project, then deletes the project and re-creates a new one with the same name, db sync will think it is still the previous project and things will break (e.g. it will try to download project version that does not exist).
We should make use of project IDs to make sure that we are still dealing with the same project or not...

Fixed in #86


[MEDIUM] semver vulnerable to Regular Expression Denial of Service

Github reported a new dependabot security alert at: https://github.com/cdk8s-team/cdk8s-grafana/security/dependabot/9

Not relevant anymore:
The alert you requested has been withdrawn and is no longer available.


Remove ForwardPromise?

Our async API has undergone many improvements since the time we introduced ForwardPromise. I'm not sure we need it any more. It would be a nice API simplification if we just returned an id from methods like CreateFromGltf. We would have to reintroduce the created(): Promise<void> method so that the ability to wait is still an option.

This is based on some feedback that ForwardPromise was confusing.

The Forward Promise doesn't contain just the ID, but the whole actor structure in its value attribute.
Simply returning the ID would make things overly complicated when it comes to doing stuff with the actor - you'd have to do a lookup to get the actor corresponding to the given ID.

True! I misstated it above. We would return the Actor itself from the call rather than a ForwardPromise. Thanks for catching that detail.


crystal: enabled spec shortcuts for crystal

This adds some Crystal shortcuts mostly for specs that are modeled on ruby-mode.

@hlissner I have updated this PR.  If you have a chance can you take another look?

the map! caused problems for me.  I am looking into it.

LGTM. Thanks for your help!


Support for examples (and tests?) at the workspace level

Describe the problem you are trying to solve
In the graphql-client set of crates, there is an examples directory at the workspace level. This keeps them visible and easy to find. However, they are not part of the cargo build --examples build at the top-level because they aren't found in the "right" location. CI ends up building them standalone which ends up causing lots of dependencies to be rebuilt again on top of the main workspace build set.
Describe the solution you'd like
It would be nice if something like this were possible:
[workspace]
examples = true

which would cause cargo to look in the examples/ directory for example (full crates I guess?) and merge them in with the main build set (if --examples or --all is in effect).

Is there a reason you can't add the examples as workspace members?  That would allow them to share the same artifacts with the other members.  Also, if you place the examples' code in an examples directory, then you can do cargo build --examples at the root of the workspace and build all the examples at once.  That is, an example could be something like graphql-client/examples/github/examples/query_repo.rs.

I think the main thing is that the examples are full crates which, AFAIK, is not supported in the examples directory today. Plus, one is a WASM test which…not sure how that'd work since it ends up as a cdylib crate type. The others look like they'd add significant crates to the dev-dependencies table if they were just examples.
I think adding them to the workspace is probably fine, but it'd be nice if they could be tagged as examples so they don't always build and are triggered by --examples.

Each example can be a full package, with just one example per package, so they can each declare their own dependencies and whatnot.  Like:
graphql-client/examples/github/Cargo.toml
graphql-client/examples/github/examples/github.rs
graphql-client/examples/hasura/Cargo.toml
graphql-client/examples/hasura/examples/hasura.rs
graphql-client/examples/web/Cargo.toml
graphql-client/examples/web/examples/web.rs

It is identical to your current layout, instead of placing them in the src directory you place the code in an examples directory.  Examples can also specify a crate type, so the web example can still be a cdylib.

Hmm. If I move them, running cargo build --example hasura ends up with "no example target" error. Do they need to still be added to the workspace manually?

Hmm. I'm not seeing any documentation for how to specify an example as a full crate. Looking at cargo-metadata, I don't see a way to say the crate root in the [[example]] array; example.<name>.path seems to want to be a main.rs or lib.rs.

They will need to be added to the workspace. One way is to add "examples/*" to the members list (and remove the workspace definition from each sub package).
To create a lib-based example, just explicitly define the example:
[[example]]
name = "myexample"
crate-type = ["cdylib"]

where myexample corresponds to examples/myexample.rs.

Ah, thanks, that clears it up. There is one thing that one example can't specify lto = "thin" since profiles are a workspace-wide thing, but I'll leave that as a comment for now.

Yea, that's a bit unfortunate.  There is the nightly-only profile overrides which provides a way to set the profile per-package.  I'm hoping it will be on the path to stabilization soon.

Thanks for the pointers; this all seems to be working well enough for me now. I've added a comment to the cargo feature in the Cargo.toml for now. Thanks for the help!

For anyone who finds this issue in the future, it should be noted that the layout described in https://github.com/rust-lang/cargo/issues/7467#issuecomment-538551782 will only work if you are using a virtual manifest, if you try the method in a workspace defined in a non-virtual manifest it will give the error: no example target named <name> error.

For anyone who finds this issue in the future, it should be noted that the layout described in #7467 (comment) will only work if you are using a virtual manifest, if you try the method in a workspace defined in a non-virtual manifest it will give the error: no example target named <name> error.

I found this works without the requirement of the virtual manifest.
[[example]]
name = "xxx"
path = "examples/xxx/src/main.rs"


Force ipv6 on GAE

Google App Engine is using ip address which cannot access VEVO videos and many other signature videos. This problem can be solved by using IPV6. is there any way we can force IPV6 to be used by youtube-dl-api-server?

It works for me, maybe you are using an outdated youtube-dl version? Could you post the logs?

the problem can be fixed after

updating youtube-dl as suggested by jaimeMF,
in addition if problem persist, you can solve  it by setting data center to Europe instead of US. every-time you create an app on GAE. there is option for choosing data center.


[BUG] Vite Build Issues

Current Behavior
Reported that there are some issues bundling FCL with Vite. Needs further investigation.
Expected Behavior
Works
Steps To Reproduce
Run vite with FCL
Environment
- OS:
- Node:
- npm:

What are you currently working on that this is blocking?
No response

https://github.com/muttoni/fcl-sveltekit-quickstart/blob/main/vite.config.js

Closing this since it should be solved by: https://github.com/onflow/fcl-js/issues/1542