Some avx macro errors

I have some more @avx maybe-bugs for you.
Here it seems to get confused about how much it can re-order things. Some re-ordering would be very welcome, of course, and my program is not smart enough to try:
function gr!(𝛥mat, 𝛥ℛ, mat, ℛ)
    𝛥ℛ_value = 𝛥ℛ.value
    for j in axes(mat,2)
        for i in axes(mat,1)
            ℰ𝓍1 = conj(𝛥ℛ_value) # could be outside both loops
            ℰ𝓍2 = -(ℛ[j])        # could be outside i loop
            ℰ𝓍3 = exp(ℰ𝓍2)       # could be outside i loop
            ℰ𝓍4 = exp(mat[i, j])
            ℰ𝓍5 = ℰ𝓍3 * ℰ𝓍4
            ℰ𝓍6 = ℰ𝓍1 * ℰ𝓍5
            ℰ𝓍7 = conj(ℰ𝓍6)
            𝛥mat[i, j] = 𝛥mat[i, j] + ℰ𝓍7
        end
    end
    𝛥mat
end
function gr_avx!(𝛥mat, 𝛥ℛ, mat, ℛ)
    𝛥ℛ_value = 𝛥ℛ.value
    @avx for j in axes(mat,2)
        for i in axes(mat,1)
            ℰ𝓍1 = conj(𝛥ℛ_value)
            ℰ𝓍2 = -(ℛ[j])
            ℰ𝓍3 = exp(ℰ𝓍2)
            ℰ𝓍4 = exp(mat[i, j])
            ℰ𝓍5 = ℰ𝓍3 * ℰ𝓍4
            ℰ𝓍6 = ℰ𝓍1 * ℰ𝓍5
            ℰ𝓍7 = conj(ℰ𝓍6)
            𝛥mat[i, j] = 𝛥mat[i, j] + ℰ𝓍7
        end
    end
    𝛥mat
end
gr!(zeros(3,4), (value=1.0,), collect(reshape(1:12, 3,4)), ones(4))
gr_avx!(zeros(3,4), (value=1.0,), collect(reshape(1:12, 3,4)), ones(4)) # ERROR: UndefVarError: ##ℰ𝓍1_ not defined

Here it has difficulty with if statements, not sure whether this ought to work or not. The last ifelse form works, but is wasteful (in my usage) as it calculates exp every time:
function fin!(res, half, m, 𝒶𝓍j=axes(half,1), keep=nothing, final=true)
    for j in 𝒶𝓍j
        𝓇𝒽𝓈 = if isnothing(keep)
                log(half[j]) + m[j]
            else
                res[j] + (log(half[j]) + m[j])
            end
        res[j] = isnothing(final) ? 𝓇𝒽𝓈 : exp(𝓇𝒽𝓈)
    end
    res
end
function fin_avx!(res, half, m, 𝒶𝓍j=axes(half,1), keep=nothing, final=true)
    @avx for j in 𝒶𝓍j
        𝓇𝒽𝓈 = if isnothing(keep)
                log(half[j]) + m[j]
            else
                res[j] + (log(half[j]) + m[j])
            end

        # 𝓇𝒽𝓈2 = isnothing(final) ? 𝓇𝒽𝓈 : exp(𝓇𝒽𝓈) # LoadError: BoundsError: attempt to access 1-element Array{LoopVectorization.Operation,1} at index [0]
        # res[j] = 𝓇𝒽𝓈2

        res[j] = if isnothing(final)
            𝓇𝒽𝓈
        else
            exp(𝓇𝒽𝓈)
        end # LoadError: MethodError: no method matching add_operation!(::LoopVectorization.LoopSet, ::Symbol, ::Symbol, ::Int64, ::Int64)

        # res[j] = ifelse(isnothing(final), 𝓇𝒽𝓈, exp(𝓇𝒽𝓈)) # this way works
    end
    res
end
fin!(ones(4), rand(4), zeros(4))
fin_avx!(ones(4), rand(4), zeros(4))

aa,bb,cc = rand(100), rand(100), rand(100);
@btime fin!($aa, $bb, $cc);
@btime fin_avx!($aa, $bb, $cc);

I'm also not sure whether Ref() ought to work; perhaps it needs check_args(::Any) = false but that doesn't solve all problems:
function ref1!(out, data, ref)
    @avx for i in axes(out,1)
        out[i] = data[i] + ref[]
    end
    out
end
ref1!(rand(3), ones(3), Ref(4)) # ERROR: StackOverflowError, check_args(::Base.RefValue{Int64})

LoopVectorization.check_args(::Base.RefValue{T}) where {T} = LoopVectorization.check_type(T)

ref1!(rand(3), ones(3), Ref(4)) # ERROR: MethodError: no method matching vload(::Base.RefValue{Int64})

LoopVectorization.check_args(::Base.RefValue{T}) where {T} = false

ref1!(rand(3), ones(3), Ref(4)) # now OK

function ref2!(out, outref, data, ref) # with check_args = false
    @avx for i in 1:3
        acc = 0.0
        for j in 1:3
            acc += data[i,j] * ref[]
        end
        out[i] = out[i] + acc
        outref[] = outref[] + acc
    end
    out, outref
end # ERROR: LoadError: KeyError: key Symbol("##RHS#333") not found

ref2!(rand(3), Ref(Inf), ones(3,3), Ref(4))

Finally, two examples where seemingly minor changes affect whether it works:
function mx!(C::AbstractArray{T}, A, B, keep=nothing) where T
    @avx for j in 1:3
        for i in 1:3

            acc = typemin(T)
            # acc = -999.0 # ok
            # acc = isnothing(keep) ? typemin(T) : C[i, j] # ok

            for k in 1:3
                acc = max(acc, A[i, k] + B[k, j])
            end
            C[i, j] = acc
        end
    end
    C
end
mx!(randn(3,3), randn(3,3), randn(3,3)) # UndefVarError: ####op#7309_0 not defined

function gm!(𝛥A, 𝛥B, 𝛥ℛ, ℛ, A, B)
    @avx for j = 1:3
        for i = 1:3
            for k = 1:3
                flag = ℛ[i, j] == A[i, k] + B[k, j]

                𝛥A[i, k] = ifelse(flag, 𝛥A[i, k] + 𝛥ℛ[i, j], 𝛥A[i, k]) # LoadError: "Reduction not found."
                𝛥B[k, j] = ifelse(flag, 𝛥B[k, j] + 𝛥ℛ[i, j], 𝛥B[k, j])

                # 𝛥A[i, k] += ifelse(flag, 𝛥ℛ[i, j], 0.0) # ok
                # 𝛥B[k, j] += ifelse(flag, 𝛥ℛ[i, j], 0.0)

                # 𝛥A[i, k] += flag * 𝛥ℛ[i, j] # ok
                # 𝛥B[k, j] += flag * 𝛥ℛ[i, j]
            end
        end
    end
    𝛥A, 𝛥B
end
gm!(zeros(3,3), zeros(3,3), ones(3,3), 2ones(3,3), ones(3,3), ones(3,3))

Using:
(@v1.6) pkg> st LoopVectorization
Status `~/.julia/environments/v1.6/Project.toml`
  [bdcacae8] LoopVectorization v0.8.23

Thanks for the 4 bug reports.
While getting all these reports makes the library more robust, have you thought about maybe constructing LoopSet objects directly, rather than having it read an Expr?
I guess because you have different backends, you get a lot more code-reuse through Expr as a common language they all share.

One of the things that probably needs rethinking is the code identifying reductions.
Problems with it were the cause for the first and fourth bug. # LoadError: "Reduction not found." makes it obvious that as the problem for the fourth, but the first requires a little more explanation.
Your comment says that it could be outside of both loops, but we don't actually have enough information yet to know that:
    for j in axes(mat,2)
        for i in axes(mat,1)
            ℰ𝓍1 = conj(𝛥ℛ_value) # could be outside both loops

because what if the next few lines were:
        for k in axes(B,1)
             ℰ𝓍1 += foo(...)
        end
        mat[i,j] = ℰ𝓍1

Then obviously we can't actually hoist the entirety of the expression out of the loops.
So what it is supposed to do is
    temp = conj(𝛥ℛ_value) # the conj itself can be hoisted, just not necessarily the assignment
    for j in axes(mat,2)
        for i in axes(mat,1)
            ℰ𝓍1 = temp

but there were a couple mistakes in connecting the pieces from there.

The last ifelse form works, but is wasteful (in my usage) as it calculates exp every time:

I fixed it so that this now gets the correct answer:
function fin_avx!(res, half, m, 𝒶𝓍j=axes(half,1), keep=nothing, final=true)
    @avx for j in 𝒶𝓍j
        𝓇𝒽𝓈 = if isnothing(keep)
                log(half[j]) + m[j]
            else
                res[j] + (log(half[j]) + m[j])
            end
        res[j] = if isnothing(final)
            𝓇𝒽𝓈
        else
            exp(𝓇𝒽𝓈)
        end
    end
    res
end

But note that if statements work in LoopVectorization by translating them either into ifelse or masked load/store operations (so you can use ifs to stop yourself from writing to out-of-bounds memory).
Meaning this still calculates both halves.
julia> aa,bb,cc = rand(100), rand(100), rand(100);

julia> @btime fin!($aa, $bb, $cc);
  1.621 μs (0 allocations: 0 bytes)

julia> @btime fin_avx!($aa, $bb, $cc);
  202.363 ns (0 allocations: 0 bytes)

julia> @btime fin!($aa, $bb, $cc, axes($bb,1), nothing, nothing);
  653.192 ns (0 allocations: 0 bytes)

julia> @btime fin_avx!($aa, $bb, $cc, axes($bb,1), nothing, nothing);
  205.753 ns (0 allocations: 0 bytes)

Actually using a branch would not be trivial to implement.
LoopVectorization flattens expressions into a sort of graph.
julia> res, half, m, 𝒶𝓍j, keep, final = aa, bb, cc, axes(bb,1), nothing, true;

julia> ls = LoopVectorization.@avx_debug for j in 𝒶𝓍j
               𝓇𝒽𝓈 = if isnothing(keep)
                       log(half[j]) + m[j]
                   else
                       res[j] + (log(half[j]) + m[j])
                   end
               res[j] = if isnothing(final)
                   𝓇𝒽𝓈
               else
                   exp(𝓇𝒽𝓈)
               end
           end;
OPS = Tuple{:LoopVectorization,:LOOPCONSTANTINSTRUCTION,LoopVectorization.OperationStruct(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, LoopVectorization.constant, 0x00, 0x01),Symbol(""),:isnothing,LoopVectorization.OperationStruct(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000001, LoopVectorization.compute, 0x00, 0x02),:LoopVectorization,:getindex,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, LoopVectorization.memload, 0x01, 0x03),:LoopVectorization,:log,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000003, LoopVectorization.compute, 0x00, 0x04),:LoopVectorization,:getindex,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, LoopVectorization.memload, 0x02, 0x05),:LoopVectorization,:+,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000405, LoopVectorization.compute, 0x00, 0x06),:LoopVectorization,:getindex,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, LoopVectorization.memload, 0x03, 0x07),:LoopVectorization,:+,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000706, LoopVectorization.compute, 0x00, 0x08),:LoopVectorization,:vifelse,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000020608, LoopVectorization.compute, 0x00, 0x09),:LoopVectorization,:LOOPCONSTANTINSTRUCTION,LoopVectorization.OperationStruct(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, LoopVectorization.constant, 0x00, 0x0a),Symbol(""),:isnothing,LoopVectorization.OperationStruct(0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x000000000000000a, LoopVectorization.compute, 0x00, 0x0b),:LoopVectorization,:identity,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000009, LoopVectorization.compute, 0x00, 0x0c),:LoopVectorization,:exp,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x0000000000000009, LoopVectorization.compute, 0x00, 0x0d),:LoopVectorization,:vifelse,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x00000000000b0c0d, LoopVectorization.compute, 0x00, 0x0e),:LoopVectorization,:setindex!,LoopVectorization.OperationStruct(0x0000000000000001, 0x0000000000000000, 0x0000000000000000, 0x000000000000000e, LoopVectorization.memstore, 0x03, 0x0f)}
ARF = Tuple{LoopVectorization.ArrayRefStruct{:half,Symbol("##vptr##_half")}(0x0000000000000001, 0x0000000000000001, 0x0000000000000000),LoopVectorization.ArrayRefStruct{:m,Symbol("##vptr##_m")}(0x0000000000000001, 0x0000000000000001, 0x0000000000000000),LoopVectorization.ArrayRefStruct{:res,Symbol("##vptr##_res")}(0x0000000000000001, 0x0000000000000001, 0x0000000000000000)}
AM = Tuple{0,Tuple{},Tuple{1,10},Tuple{},Tuple{},Tuple{},Tuple{}}
LPSYM = Tuple{:j}
LB = Tuple{VectorizationBase.StaticLowerUnitRange{1}}
vargs = (VectorizationBase.PackedStridedPointer{Float64,0}(Ptr{Float64} @0x00007fed24d55c50, ()), VectorizationBase.PackedStridedPointer{Float64,0}(Ptr{Float64} @0x00007fed24d55fd0, ()), VectorizationBase.PackedStridedPointer{Float64,0}(Ptr{Float64} @0x00007fed24d558d0, ()), nothing, true, isnothing, isnothing)

julia> ls.operations
 15-element Vector{LoopVectorization.Operation}:
 var"##op#495" = 0
 var"##op#496" = isnothing(var"##op#495")
 var"##op#497" = half[j]
 var"##op#498" = LoopVectorization.log(var"##op#497")
 var"##op#499" = m[j]
 var"##op#500" = var"##op#498" + var"##op#499"
 var"##op#501" = res[j]
 var"##op#502" = var"##op#501" + var"##op#500"
 var"##op#503" = LoopVectorization.vifelse(var"##op#496", var"##op#500", var"##op#502")
 var"##op#504" = 0
 var"##op#505" = isnothing(var"##op#504")
 var"##op#506" = LoopVectorization.identity(var"##op#503")
 var"##op#507" = LoopVectorization.exp(var"##op#503")
 var"##op#508" = LoopVectorization.vifelse(var"##op#505", var"##op#506", var"##op#507")
 res[j] = var"##op#508"

So while we could easily replace vifelse with branchifelse(b::Bool, x, y) = b ? x : y, these expressions still get lowered one at a time. After inlining:
 var"##op#506" = LoopVectorization.identity(var"##op#503")
 var"##op#507" = LoopVectorization.exp(var"##op#503")
 var"##op#508" = var"##op#505" ? var"##op#506" : var"##op#507"

Meaning either LLVM would have to be able to optimize it -- which it can't in the case of exp which involves a ccall -- or someone would have to add this optimization to LoopVectorization directly.
In the case of exp, there's a PR I'll get around to fixing and merging eventually which will replace the use of ccall with a good Julia implementation. That'd let LLVM actually optimize it for us.

LoopVectorization.check_args(::Base.RefValue{T}) where {T} = false

It should probably be
LoopVectorization.check_args(::Base.RefValue{T}) where {T} = LoopVectorization.check_type(T)

after defining this in VectorizationBase (which I've just done):
@inline stridedpointer(x::Base.RefValue{T}) where {T} = stridedpointer(Base.unsafe_convert(Ptr{T}, x))

Then I get:
julia> ref1!(rand(3), ones(3), Ref(4))
 3-element Vector{Float64}:
 5.0
 5.0
 5.0

with it actually using LoopVectorization, instead of the fallback definition.
ref2! will take more work.
Similarly, this doesn't work either
for j in axes(X,1)
     @avx for i in axes(X,2)
         y[j] += X[i,j]
      end
end

The correct thing of course would be to apply @avx to the outerloop, but the point of the example is to say setindex! where none of the indices depend on any of the loops -- like in your example assigning to the reference -- work at the moment.
The way to get it to work would be to translate it to something like
for j in axes(X,1)
     _y = y[j]
     @avx for i in axes(X,2)
         _y += X[i,j]
      end
      y[j] = _y
end

But someone would actually have to take the time to make the necessary changes. The approach would be to treat the setindex!ed variable as an outerreduction, and then generate code to do the store at the end end.

This reason the minor change caused problems is because it has to try and find what "zero" is with respect to the reduction (i.e., 0.0 if additive, 1.0 if multiplicative, typemin for max, etc) so that it can initialize the reduction accumulators.
That the correct additive zero is 0 is really obvious if the expression is A = A + ..., but much less clear if we instead have A = foo(A,...).
In particular, here we have vifelse
so what is the reduction zero? With just vifelse, it could be anything:
a = vifelse(a > b, a, b) => typemin(a)
a = vifelse(a < b, a, b) => typemax(a)
a = vifelse(c, a + b, a + d) => zero(a)
a = vifelse(c, a * b, a * d) => one(a)

So it'd have to do some algebra to figure out what it's actually supposed to do.

have you thought about maybe constructing LoopSet objects directly, rather than having it read an Expr?
I guess because you have different backends, you get a lot more code-reuse through Expr as a common language

Yes I have, but as you say I'd like to have a plain-Julia version. It is a little strange teaching the robots to talk to each other in English... but it does also make eavesdropping easier!

but we don't actually have enough information yet to know that:

Good point. I guess I know it, because the ℰ𝓍3 are generated by a CSE thing which only assigns once.

But note that if statements work in LoopVectorization by translating them either into ifelse or masked load/store operations

OK, I did not realise this. My hope was that final===nothing would allow the branch with this finaliser function to compile away. But it's pretty easy to generate two versions then, and move the if isnothing outside @avx, so perhaps I do that.
I hadn't seen https://github.com/chriselrod/SLEEFPirates.jl/pull/11 either.

OK, thanks for fixing the easy case. I'm not even quite sure how the hard case got onto my list now, will see whether I circle back I guess.

I see, so my examples reducing over + and initialising acc = ifelse(isnothing(keep),zero(T), R[i,j]) have additional intermediate initialisations which are working only because your code figures out the reduction. For now I was mostly trying to get max & min working nicely.
Anyway thanks for having a look, always informative!


VS Code automated install fails when pyenv is in use

Loom here.
When pyenv is in use, the automated installer on my M1 Mac auto-answers the first interactive console question with "No", which quits the installer.

:tada: This issue has been resolved in version 0.48.2 :tada:
The release is available on:

v0.48.2
GitHub release

Your semantic-release bot :package::rocket:


Customize with Devtools Author

Is there any way to get this tool working with devtool? http://mikeking.io/devtools-author/
Actually, this is the chrome plugin, we need to make it work on Electron...

Hey it's possible https://github.com/atom/electron/blob/master/docs/tutorial/devtools-extension.md

Cool idea! Will explore. Probably would come through a rc file, see #9.

Ok, I've added RC files for themes and other features. It looks like DevTool Author does not work in Electron since it depends on chrome.storage and some other features. You may need to open a bug there.
However, other themes might work fine. See here:
https://github.com/Jam3/devtool/blob/master/docs/rc-config.md


How can we use plugins in the tailwind config?

Hi!
First of all, I have to thank you for this project. At first I was sure that I'd never get Tailwind Intellisense in Monaco, given how difficult it is to configure anything in it. Then I discovered this repo and it felt like magic.
My only concern is the following: how can we configure the worker to handle custom classes added via plugins? In order for them to be picked up by autocompletion and hover providers. Something like this with "vanilla" tailwind:
const tailwindConfig = {
  // ... rest of the config
  plugins: [
    ({addUtilities}) => {
      addUtilities({
        '.text-accent': {color: 'var(--brand-12)'},
        '.text-muted': {color: 'var(--gray-11)'},
      })
    }
  ]
}

configureMonacoTailwindcss(monaco, {tailwindConfig})

If I try to pass a config with such a plugin, I'll get an error from postMessage as it can't serialize/clone the function upon passing the config to the worker.
After digging into the source code of your library, I've found that you have an implementation for the different functions, as addUtilities or addComponents, behind an api object.
The ideal would be that the exposed configureMonacoTailwindcss could take more options for each function mentioned above.
It would give something like this:
This way, we would have access to these inner functions that we can't just directly pass to the worker.
const tailwindConfig = {
  // ...
  plugins: [],
}

const api = {
  addUtilities: {
    '.text-accent': {color: 'var(--brand-12)'},
    '.text-muted': {color: 'var(--gray-11)'},
  }
  // addBase, addDefaults, addComponents, ...
}

configureMonacoTailwindcss(monaco, {tailwindConfig, api})

Hoping I can get some help, thanks again for your great work on this project.
NOTE: I've also tried to play with the initialize function that you expose, but it didn't do the trick. Quite frankly, I don't think it did anything at all. I struggle to understand the point of the function. The prepareTailwindConfig says it takes "the Tailwind configuration passed from the main thread". Is it the config passed to configureMonacoTailwindcss or do I miss something? And if so, what's the point of that function if we're already passing the config to configureMonacoTailwindcss?

First of all, I have to thank you for this project.

:heart:

At first I was sure that I'd never get Tailwind Intellisense in Monaco, given how difficult it is to configure anything in it. Then I discovered this repo and it felt like magic.

If you’re up for a challenge, I more than welcome a PR to update to the latest version of Tailwind.

I suggest you have a look at https://github.com/remcohaszing/monaco-tailwindcss/blob/v0.6.1/examples/demo/src/tailwindcssplugin.worker.js. prepareTailwindConfig() accepts the value passed in https://github.com/remcohaszing/monaco-tailwindcss/blob/v0.6.1/examples/demo/src/index.ts#L41 and https://github.com/remcohaszing/monaco-tailwindcss/blob/v0.6.1/examples/demo/src/index.ts#L267. As a result, you can see the color of bg-lava on https://monaco-tailwindcss.js.org/#html, change it in the Tailwind configuration to say #00ff00, and see the change is reflected if you navigate back to the HTML tab.
You can use the same method to define your own config resolution. The API is deliberately loose so you can define your own things. You could to something like this for example:
const tailwindConfig = {
  // ...
  plugins: [],

  // Just define your custom things here.
  api: {
    addUtilities: {
      '.text-accent': {color: 'var(--brand-12)'},
      '.text-muted': {color: 'var(--gray-11)'},
    }
    // addBase, addDefaults, addComponents, ...
  }
}

configureMonacoTailwindcss(monaco, {tailwindConfig})

I’ll leave the type casting exercise up to you.

If you’re up for a challenge, I more than welcome a PR to update to the latest version of Tailwind.

I'll give it a shot!
Concerning my problem, I already know how to adjust a config for example to add an ocean-* color palette. This isn't an issue. What I want to achieve is adding custom classes that don't belong to an existing theme property. I can easily modify the color or fontSize property (I think Tailwind calls them group) but what if I need to add a new group, like button? Where each variant would hold several css properties. With Tailwind, I have to use addUtilities so that the classes are pick up by the Intellisense extension. Here, I need an other way to do that as I can't use addUtilities within the config I pass to configureMonacoTailwindcss.
I'm probably wrong but from what you said and the examples you linked, I could just do something like this:
const tailwindConfig = {
  // ...
  plugins: [],

  // this
  api: {
    addUtilities: {
      '.button': {
        color: '#someColor',
        backgroundColor: '#someColor',
        padding: '0.5rem 1rem',
        fontSize: '1rem'
      },
      '.button-sm': {
        color: '#someColor',
        backgroundColor: '#someColor',
        padding: '0.25rem 0.5rem',
        fontSize: '0.8rem'
      },
    }

  // or maybe this without nesting inside api.addUtilities?
  '.button': {
    color: '#someColor',
    backgroundColor: '#someColor',
    padding: '0.5rem 1rem',
    fontSize: '1rem'
  },
  '.button-sm': {
    color: '#someColor',
    backgroundColor: '#someColor',
    padding: '0.25rem 0.5rem',
    fontSize: '0.8rem'
  },
}

configureMonacoTailwindcss(monaco, {tailwindConfig})

Alright, I think it's done! It should be fixed by #93


Support generic list separator - beta, missing parts

Since I already did it, no reason to not share it
Here are the needed changes to support comma in schedule sync task list. The separator is a non valid char pipe "|" which can be changed via a constant. The display remains a "; " or you can be kept ", ". So user doesn't see the pipe char.
In the Schedule name edit dialog, we can add a check to disable using the Constant SMBSYNC2_LIST_SEPARATOR in the name
That way, maintenance in code is simpler and less error prone.
Missing part is just the simpler thing left: adding the v6 schedule list
Only real limitation is the external scripts using ","
A transparent alternative is to change separator to "pipe" but keep external scripts with "," when they are imported in SyncService.java part. However, it will not support scripts with "," in task name, like now by the way ! So All users won't notice any change, except on import of tasks with "," in name
You can even define SMBSYNC2_LIST_SEPARATOR = "," to not change anything, while being able to do in future.
Anyway, for me you can go with the simpler approach and disable "," for now. Just for info if you ever rewrite and clean it up to use this way or Array List
Best regards

Thank you.
SMBSync2 can no longer use "," in task and schedule names.
Best regards.

I will test and report if any issue
Best regards


Transparent Background not working

The transparent background feature doesn't seem to work for me as can be seen here:

My system:
Windows 11 23H2 22631.2361
GPU: Geforce RTX 4070
Wallpaper handled by Wallpaper Engine if that influences anything.

It wasn't the fault of Wallpaper Engine, testing revealed it was caused by MicaForEveryone: https://github.com/MicaForEveryone/MicaForEveryone
I excluded Fly from MFE now and it works properly! :)

Also Picasa photo viewer transparency is a faked. Means it takes a screenshot during startup and displays it full screen and the photo over it. It makes everything easier and gives superior performance. We can check this by playing a video and then launching picasa veiwer and then video freezes while audio plays.
I have implemented that version also with Fly also but went with real transparency in the release. May be in a future release, I will add fake transparency as an option since it improves performance vastly while panning and zooming especially in older PCs.

Interesting, thanks for the explanation! And yeah a option for fake-transparency might be great for low-powered machines. Honestly when/if you implement animations like Picasa has Fly will be the perfect, modern replacement! Also is animated .gif playback planned?


Fix platform express

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

v6.88.0
GitHub release

Your semantic-release bot :package::rocket:


fix(protocolbuffers/protobuf-go/protoc-gen-go): regenerate the setting

Check List

[x] Read CONTRIBUTING.md

[x] Read OSS Contribution Guide

[x] All commits are signed

This repository enables Require signed commits, so all commits must be signed

[x] Avoid force push
[x] Do only one thing in one Pull Request
[x] Execute cmdx s to scaffold code
[x] Install and execute the package and confirm if the package works well

Since version v1.28.1, protoc-gen-go has been releasing binaries for arm64.
However, the current aqua-registry does not support them.
Therefore, I regenerated the settings using cmdx s.

Thank you for your contribution!

https://github.com/aquaproj/aqua-registry/releases/tag/v4.250.0 🎉


bugfix: fix get table meta failed in postgresql.

Ⅰ. Describe what this PR did
fix could not get table meta in pg when table name like schema.table
Ⅱ. Does this pull request fix one issue?
#2892
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2893 into develop will decrease coverage by 0.13%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #2893      +/-   ##
=============================================
- Coverage      50.09%   49.96%   -0.14%
+ Complexity      3018     3013       -5
=============================================
  Files            597      597
  Lines          19292    19267      -25
  Branches        2347     2304      -43
=============================================
- Hits            9665     9627      -38
+ Misses          8660     8656       -4
- Partials         967      984      +17

Impacted Files
Coverage Δ
Complexity Δ

...rce/sql/struct/cache/PostgresqlTableMetaCache.java
75.58% <ø> (-0.29%)
10.00 <0.00> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

...otobuf/convertor/BranchReportRequestConvertor.java
90.90% <0.00%> (-9.10%)
3.00% <0.00%> (ø%)

...obuf/convertor/BranchRollbackRequestConvertor.java
92.00% <0.00%> (-8.00%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0.00%> (-7.41%)
3.00% <0.00%> (ø%)

...o/postgresql/keyword/PostgresqlKeywordChecker.java
84.00% <0.00%> (-7.00%)
1.00% <0.00%> (-5.00%)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0.00%> (-6.25%)
3.00% <0.00%> (ø%)

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0.00%> (-5.27%)
3.00% <0.00%> (ø%)

... and 26 more


beforeAll is execute after tests begins

I'm using jest-cucumber to run my tests. In definition of feature, I call setup() method that will set beforeAll, beforeEach and afterEach callbacks. The beforeAll callback will execute startInTestMode method, which will get up the server application that will be used in tests. When I run the tests, things that should be defined in startInTestMode are not defined yet. When I debug de code, the beforeAll is executed after tests begins.
const feature = loadFeature(__dirname + '/../features/create_redirect_url.feature')

defineFeature(feature, test => {

    setup()

    test('Successfully create a url for new user', ({ given, when, then }) => {

        given('user is logged in', userIsLoggedIn())

        [...]

export default function setup() {
    beforeAll(async () => {
        await startInTestMode()    })
    beforeEach(async () => {
        await Cart.deleteMany({})
        nock.cleanAll()
    })
    afterAll(async () => {
        await MongoDbMock.stopDbMock()
    })
}

export async function startInTestMode() {
    DotenvConfig.configure()
    InversifyConfig.configure()
    ExpressConfig.configure()
    ApplicationConfig.configure()

    await MongoDbMock.initDbMock()
}

I'm wondering if you meant given('user is logged in', () => userIsLoggedIn()) instead. I'm not sure what userIsLoggedIn is doing, but if that's actually performing logic that you'd expect to run when your tests execute, the way you have it now would run that logic immediately before your tests even start.

userIsLoggedIn is a method factory.
export function userIsLoggedIn() {
    return () => {
        nock(process.env.AUTH_URL!)
            .get('/auth')
            .reply(200, {
                id: 1
            })
    }
}

}

The problem is not in that function. In another function, I get data from process.env.KEY, which should be initialized when DotenvConfig.configure() is called. But the tests start, the Scenario begins, and beforeAll is not executed yet


Update master

Add's support for the latest notifico changes

I think you opened this pull request in the wrong direction..


Chore/next dependency updates

Linked Issue
Closes #2766
Description
Updates dependencies for the following
Package

[x] skeleton
[x] skeleton-react
[x] skeleton-svelte

Sites

[ ] next.skeleton.dev - pending error
[ ] themes.skeleton.dev - pending error

Misc

[ ] Update the AppBar > Svelte doc examples per this bug.

Checklist
Please read and apply all contribution requirements.

[x] Your branch should be prefixed with: docs/, feature/, chore/, bugfix/
[x] Skeleton v3 contributions must target the next branch (NEVER dev or master)
[ ] Documentation should be updated to describe all relevant changes
[ ] Run pnpm check in the root of the monorepo
[ ] Run pnpm format in the root of the monorepo
[ ] Run pnpm lint in the root of the monorepo
[ ] Run pnpm test in the root of the monorepo
[ ] If you modify /package projects, please supply a Changeset

Changsets
View our documentation to learn more about Changesets. To create a Changeset:

Navigate to the root of the monorepo in your terminal
Run pnpm changeset and follow the prompts
Commit and push the changeset before flagging your PR review for review.

@AdrianGonz97 absolutely rush on this, but when you're back on your feet @Hugos68 and I could use your assistance on this. We noticed when we updated the Astro-based doc site that Hugo's PageFind plugin is not working as intended.

Feel free to sync with Hugo on Discord.
As part the other projects, we'll table this for now until we can get this issue resolved. I'll plan to return to this on Monday.

Unfortunately we seem to be having an issue updating our Theme Generator to the latest version of the Svelte 5 RC as well. it's throwing an error that we're updating $state within $derived. But as I comb through that code I don't see where this is actually occurring.
The culprit seems to be the genCssCode() or genThemeCode() (which also triggers as part of the former method). These should be used purely for generating the CSS stylesheet (for live previews) and list of properties (for the code view) respectively.
To replicate:

Pull down this PR
Run pnpm up to update minor dependencies
Run pnpm i svelte@next to update the Svelte v5 RC
Then try to run the local dev server.

You'll be met with the following error in the console:

Computing $derived values should be completely free of any side-effects, meaning that the mutation of any state during the derivation is completely forbidden. That's what's happening in this case - when we're deriving the value for the generated CSS code that's injected into the head of the document, it's also mutating stateFormColors here: https://github.com/skeletonlabs/skeleton/blob/6408db23ac57ddbb3519c56209dcec5e2dde19f7/sites/themes.skeleton.dev/src/lib/generator.svelte.ts#L104
which is a big nono!
The quick workaround for this was to wrap the mutation with untrack, but that's just a band-aid fix to get it working. That mutation should really be moved outside of the derivation.


The Readme file is difficult to understand the exactully process of running .Could you guys make it much easier for beginners?

null

null

null

@boxionghuang Hi, thank you for using Flask-State, We will consider optimize README.
Before we optimize, you can checkout examples directory for another HOW-TO document and a simple self-contained exmaple :P

@boxionghuang Hi, thank you for using Flask-State, We will consider optimize README.
Before we optimize, you can checkout examples directory for another HOW-TO document and a simple self-contained exmaple :P


"pages build and deployment / build (dynamic)" failures

Describe the bug
Almost every post-integration build reports "pages build and deployment / build (dynamic) ".
To Reproduce
See https://github.com/google/syzkaller/commits/master/ .

For some reason, it tries to parse and analyze syzlang snippets in our documentation:
2024-07-22T11:27:11.6756405Z   Liquid Exception: Liquid syntax error (line 36): Variable '{{0x800, @ipv4={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x6, 0x0, @remote={0xac, 0x14, 0x0, 0xbb}' was not properly terminated with regexp: /\}\}/ in docs/linux/external_fuzzing_network.md
2024-07-22T11:27:11.6774557Z /usr/local/bundle/gems/liquid-4.0.4/lib/liquid/block_body.rb:136:in `raise_missing_variable_terminator': Liquid syntax error (line 36): Variable '{{0x800, @ipv4={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x6, 0x0, @remote={0xac, 0x14, 0x0, 0xbb}' was not properly terminated with regexp: /\\}\\}/ (Liquid::SyntaxError)
2

Looks like Liquid is being forced upon us by GitHub: https://docs.github.com/en/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs
The documentation says
If you are using a language that contains curly braces, you will likely need to place {% raw %} and {% endraw %} tags around your code. Since Jekyll 4.0 , you can add render_with_liquid: false in your front matter to disable Liquid entirely for a particular document.
https://jekyllrb.com/docs/liquid/tags/
We actually don't really need Liquid for our project, so perhaps we can somehow pass render_with_liquid: false?

I've set None at https://github.com/google/syzkaller/settings/pages
Hopefully that should help

The problem is gone indeed.


Fix the bug where job jar is not set in SegmentCreationJob

Set job jar in SegmentCreationJob
Add a missing break for switch in SegmentCreationMapper

Codecov Report

Merging #3844 into master will increase coverage by 9.84%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3844      +/-   ##
============================================
+ Coverage     57.21%   67.06%   +9.84%
  Complexity        4        4
============================================
  Files          1029     1029
  Lines         50785    50785
  Branches       7095     7095
============================================
+ Hits          29059    34060    +5001
+ Misses        19576    14397    -5179
- Partials       2150     2328     +178

Impacted Files
Coverage Δ
Complexity Δ

...pache/pinot/core/util/SortedRangeIntersection.java
83.82% <0%> (-7.36%)
0% <0%> (ø)

...ator/transform/function/BaseTransformFunction.java
29.95% <0%> (+0.42%)
0% <0%> (ø)
:arrow_down:

...g/apache/pinot/common/utils/helix/HelixHelper.java
54.43% <0%> (+0.59%)
0% <0%> (ø)
:arrow_down:

...a/org/apache/pinot/core/common/DataBlockCache.java
77.86% <0%> (+0.76%)
0% <0%> (ø)
:arrow_down:

...ment/creator/impl/SegmentColumnarIndexCreator.java
87.73% <0%> (+0.76%)
0% <0%> (ø)
:arrow_down:

...r/transform/function/ValueInTransformFunction.java
39.2% <0%> (+0.8%)
0% <0%> (ø)
:arrow_down:

...a/org/apache/pinot/common/utils/ServiceStatus.java
71.54% <0%> (+0.81%)
0% <0%> (ø)
:arrow_down:

.../pinot/core/segment/index/SegmentMetadataImpl.java
82% <0%> (+0.83%)
0% <0%> (ø)
:arrow_down:

...e/io/writer/impl/MutableOffHeapByteArrayStore.java
86.45% <0%> (+1.04%)
0% <0%> (ø)
:arrow_down:

.../helix/core/realtime/SegmentCompletionManager.java
69.65% <0%> (+1.09%)
0% <0%> (ø)
:arrow_down:

... and 320 more

Continue to review full report at Codecov.

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


The button colors are inverted

Are you talking about these buttons ?

I know we already talked about this and I feel like swapping colors is even more confusing

In this case, maybe we need to update the templates created by @stephanecohan?

Duplicate #66


nvrh: 0.1.9 -> 0.1.12

Things done
Changelog: https://github.com/mikew/nvrh/blob/refs/tags/v0.1.12/CHANGELOG.md

Built on platform(s)

[x] 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.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 348141

x86_64-linux

:white_check_mark: 1 package built:

nvrh

aarch64-linux

:white_check_mark: 1 package built:

nvrh

x86_64-darwin

:white_check_mark: 1 package built:

nvrh

aarch64-darwin

:white_check_mark: 1 package built:

nvrh


VfÜG Sonderdruck

VfÜG Sonderdruck  doesn't get imported to transkribus. Maybe the goobi-image urls don't resolve and/or the "Ü"-umlaute get stuck somewhere.

After some testing and digging it seems, that this issue is rather caused by goobi.The viewe doesnt resolve either:
https://app.transkribus.eu/collection/195363/doc/1431209
Weird, since the jpgs from the mets resolve: https://viewer.acdh.oeaw.ac.at/viewer/api/v1/records/bv_doc_id__64/files/images/IMG_0035/full/800,/0/default.jpg
maybe its an issue just affecting tiffs.


Editable build could be broken when user miss docstring for description

I had a weird behavior which one of the two packages were working fine for editable installation, but the other one was failed to install emitting No matching distribution found
After digging a bit, I found I had a mistake not to write docstring with dynamic description.
From the code (https://github.com/pypa/flit/blob/main/flit_core/flit_core/buildapi.py#L34), when user missed the required docstring, flit returns the package which will be checked as build dependency. I'm using pip for frontend and pip seems to consider the build dependencies to be installed (https://github.com/pypa/pip/blob/main/src/pip/_internal/distributions/sdist.py#L117) with ignore_installed=True flag as build dependencies should (or may?) be installed from the clean environment.
It results in distribution discovery failure when user use dev branch without publishing yet (e.g. 0.0.1dev).
I'm not sure whether it's front-end issue or flit side, but it seems to be more related to flit side as I thought it's OK to set ignore_installed=true for build dependencies.
As I took a lot of time to figure it out so I made this issue to hope someone who will have same mistake like me to get a viable hint, and please let me know if flit is not the place to solve the issue.
Thanks.

Sorry, I'm a bit confused. Could you describe exactly what you're trying and what error you see?
I've just tried removing the docstring from a package and then doing pip install --editable . with the latest pip, and while it's rather verbose, it does include the relevant error message from Flit:
$ pip install --editable .
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///home/takluyver/Code/flit/flit_core/flit_core/tests/samples/pep621
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... done
  Preparing editable metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing editable metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [14 lines of output]
      Traceback (most recent call last):
        File "/home/takluyver/.local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/takluyver/.local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/takluyver/.local/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 191, in prepare_metadata_for_build_editable
          return hook(metadata_directory, config_settings)
        File "/tmp/pip-build-env-7drhdtkz/overlay/lib/python3.10/site-packages/flit_core/buildapi.py", line 49, in prepare_metadata_for_build_wheel
          metadata = make_metadata(module, ini_info)
        File "/tmp/pip-build-env-7drhdtkz/overlay/lib/python3.10/site-packages/flit_core/common.py", line 408, in make_metadata
          md_dict.update(get_info_from_module(module, ini_info.dynamic_metadata))
        File "/tmp/pip-build-env-7drhdtkz/overlay/lib/python3.10/site-packages/flit_core/common.py", line 211, in get_info_from_module
          raise NoDocstringError(
      flit_core.common.NoDocstringError: Flit cannot package module without docstring, or empty docstring. Please add a docstring to your module (/home/takluyver/Code/flit/flit_core/flit_core/tests/samples/pep621/module1a.py).
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Sorry I was not clear enough. I myself was confused to understand my description after a few days. :joy:
Here's how to reproduce
(.venv) issue534$ tree
.
├── bar
│   ├── bar
│   │   ├── __init__.py
│   └── pyproject.toml
└── foo
    ├── foo
    │   ├── __init__.py
    └── pyproject.toml

Actually there were two packages involved. I confirmed that just one package worked fine emitting your log
Package foo has valid doc string, and installed correctly.
(.venv) issue534$ cat foo/pyproject.toml
[build-system]
requires = ["flit_core >=3.2,<4"]
build-backend = "flit_core.buildapi"

[project]
name = "foo"
version = "0.1.0.dev0"
dynamic = ["description"]

(.venv) issue534$ cat foo/foo/__init__.py
"""foo"""

But the problem is the other package bar. It depends on foo package and no docstring there. (This was my mistake)
(.venv) issue534$ cat bar/pyproject.toml
[build-system]
requires = ["flit_core >=3.2,<4"]
build-backend = "flit_core.buildapi"

[project]
name = "bar"
version = "0.1.0.dev0"
dynamic = ["description"]

dependencies = ["foo == 0.1.*"]

(.venv) issue534$ cat bar/bar/__init__.py
(.venv) issue534$

If I try to install bar with editable flag after foo installed, it failed like below
(.venv) bar$ pip list
Package    Version    Editable project location
---------- ---------- -----------------------------------------------
foo        0.1.0.dev0 /home/ys/Practice/languages/python/issue534/foo
pip        22.0.4
setuptools 58.1.0

(.venv) bar$ pip install -e .
Obtaining file:///home/ys/Practice/languages/python/issue534/bar
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> [2 lines of output]
      ERROR: Could not find a version that satisfies the requirement foo==0.1.* (from versions: none)
      ERROR: No matching distribution found for foo==0.1.*
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
(.venv) bar$

If I add the missing docstring to bar, I managed to install the package then.
(.venv) bar$ cat bar/__init__.py
"""bar"""
(.venv) bar$ pip install -e .
Obtaining file:///home/ys/Practice/languages/python/issue534/bar
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Requirement already satisfied: foo==0.1.* in /home/ys/Practice/languages/python/issue534/.venv/lib/python3.10/site-packages (from bar==0.1.0.dev0) (0.1.0.dev0)
Building wheels for collected packages: bar
  Building editable for bar (pyproject.toml) ... done
  Created wheel for bar: filename=bar-0.1.0.dev0-py2.py3-none-any.whl size=937 sha256=3571d18954142a35b0760ff330019a5d384b4590b5067a9a1a41074745c0fee4
  Stored in directory: /tmp/pip-ephem-wheel-cache-k7zor9xj/wheels/86/88/6e/96d01046ed08574cdea413fa27de12cb2dfe4780faea4805bf
Successfully built bar
Installing collected packages: bar
Successfully installed bar-0.1.0.dev0

Can you run the failing pip install run with -vvv and post the output of that?

Sorry for too late response. I did not recognize @pradyunsg
Here's verbose log for failure
(.venv) bar$ pip install -e .
Obtaining file:///home/ys/Source/Practice/languages/python/issue534/bar
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> [4 lines of output]
      ERROR: Could not find a version that satisfies the requirement foo==0.1.* (from versions: none)
      ERROR: No matching distribution found for foo==0.1.*
      WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
      You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
(.venv) bar$
(.venv) bar$ pip install -e . -vvv
Using pip 22.0.4 from /home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip (python 3.9)
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-ephem-wheel-cache-d3ak3__e
Created temporary directory: /tmp/pip-req-tracker-cmvalpf9
Initialized build tracking at /tmp/pip-req-tracker-cmvalpf9
Created build tracker: /tmp/pip-req-tracker-cmvalpf9
Entered build tracker: /tmp/pip-req-tracker-cmvalpf9
Created temporary directory: /tmp/pip-install-kkffeywm
Obtaining file:///home/ys/Source/Practice/languages/python/issue534/bar
  Added file:///home/ys/Source/Practice/languages/python/issue534/bar to build tracker '/tmp/pip-req-tracker-cmvalpf9'
  Created temporary directory: /tmp/pip-build-env-q5r_5__7
  Created temporary directory: /tmp/pip-standalone-pip-mxs4yfbf
  Running command pip subprocess to install build dependencies
  Using pip 22.0.4 from /tmp/pip-standalone-pip-mxs4yfbf/__env_pip__.zip/pip (python 3.9)
  Collecting flit_core<4,>=3.2
    Using cached flit_core-3.8.0-py3-none-any.whl (62 kB)
  Installing collected packages: flit_core
  Successfully installed flit_core-3.8.0
  WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
  You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
  Installing build dependencies ... done
  Running command Checking if build backend supports build_editable
  Checking if build backend supports build_editable ... done
  Running command Getting requirements to build editable
  Getting requirements to build editable ... done
  Created temporary directory: /tmp/pip-standalone-pip-9l28clcb
  Running command pip subprocess to install backend dependencies
  Using pip 22.0.4 from /tmp/pip-standalone-pip-9l28clcb/__env_pip__.zip/pip (python 3.9)
  ERROR: Could not find a version that satisfies the requirement foo==0.1.* (from versions: none)
  ERROR: No matching distribution found for foo==0.1.*
  WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
  You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
  error: subprocess-exited-with-error

  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/ys/Source/Practice/languages/python/issue534/.venv/bin/python /tmp/pip-standalone-pip-9l28clcb/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-q5r_5__7/normal --no-warn-script-location -v --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'foo == 0.1.*'
  cwd: [inherit]
  Installing backend dependencies ... error
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Exception information:
Traceback (most recent call last):
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 167, in exc_logging_wrapper
    status = run_func(*args)
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
    return func(self, options, args)
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py", line 339, in run
    requirement_set = resolver.resolve(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 75, in resolve
    collected = self.factory.collect_root_requirements(root_reqs)
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 506, in collect_root_requirements
    req = self._make_requirement_from_install_req(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 468, in _make_requirement_from_install_req
    cand = self._make_candidate_from_link(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py", line 188, in _make_candidate_from_link
    self._editable_candidate_cache[link] = EditableCandidate(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 313, in __init__
    super().__init__(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 158, in __init__
    self.dist = self._prepare()
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 227, in _prepare
    dist = self._prepare_distribution()
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py", line 323, in _prepare_distribution
    return self._factory.preparer.prepare_editable_requirement(self._ireq)
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 609, in prepare_editable_requirement
    dist = _get_prepared_distribution(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py", line 58, in _get_prepared_distribution
    abstract_dist.prepare_distribution_metadata(finder, build_isolation)
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py", line 45, in prepare_distribution_metadata
    self._install_build_reqs(finder)
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py", line 108, in _install_build_reqs
    self.req.build_env.install_requirements(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py", line 202, in install_requirements
    self._install_requirements(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/build_env.py", line 260, in _install_requirements
    call_subprocess(
  File "/home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess
    raise error
pip._internal.exceptions.InstallationSubprocessError: pip subprocess to install backend dependencies exited with 1
WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
Removed file:///home/ys/Source/Practice/languages/python/issue534/bar from build tracker '/tmp/pip-req-tracker-cmvalpf9'
Removed build tracker: '/tmp/pip-req-tracker-cmvalpf9'
(.venv) bar$ vi bar/__init__.py

After adding docstring,
(.venv) bar$ pip install -e . -vvv
Using pip 22.0.4 from /home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages/pip (python 3.9)
Non-user install because user site-packages disabled
Created temporary directory: /tmp/pip-ephem-wheel-cache-axr297gn
Created temporary directory: /tmp/pip-req-tracker-xkr7xz8v
Initialized build tracking at /tmp/pip-req-tracker-xkr7xz8v
Created build tracker: /tmp/pip-req-tracker-xkr7xz8v
Entered build tracker: /tmp/pip-req-tracker-xkr7xz8v
Created temporary directory: /tmp/pip-install-buk43w7s
Obtaining file:///home/ys/Source/Practice/languages/python/issue534/bar
  Added file:///home/ys/Source/Practice/languages/python/issue534/bar to build tracker '/tmp/pip-req-tracker-xkr7xz8v'
  Created temporary directory: /tmp/pip-build-env-chnpzrnq
  Created temporary directory: /tmp/pip-standalone-pip-hwmh6ahi
  Running command pip subprocess to install build dependencies
  Using pip 22.0.4 from /tmp/pip-standalone-pip-hwmh6ahi/__env_pip__.zip/pip (python 3.9)
  Collecting flit_core<4,>=3.2
    Using cached flit_core-3.8.0-py3-none-any.whl (62 kB)
  Installing collected packages: flit_core
  Successfully installed flit_core-3.8.0
  WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
  You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
  Installing build dependencies ... done
  Running command Checking if build backend supports build_editable
  Checking if build backend supports build_editable ... done
  Running command Getting requirements to build editable
  Getting requirements to build editable ... done
  Created temporary directory: /tmp/pip-modern-metadata-6rneano9
  Running command Preparing editable metadata (pyproject.toml)
  Preparing editable metadata (pyproject.toml) ... done
  Source in /home/ys/Source/Practice/languages/python/issue534/bar has version 0.1.0.dev0, which satisfies requirement bar==0.1.0.dev0 from file:///home/ys/Source/Practice/languages/python/issue534/bar
  Removed bar==0.1.0.dev0 from file:///home/ys/Source/Practice/languages/python/issue534/bar from build tracker '/tmp/pip-req-tracker-xkr7xz8v'
Requirement already satisfied: foo==0.1.* in /home/ys/Source/Practice/languages/python/issue534/.venv/lib/python3.9/site-packages (from bar==0.1.0.dev0) (0.1.0.dev0)
Created temporary directory: /tmp/pip-unpack-zpc7ihtt
Building wheels for collected packages: bar
  Created temporary directory: /tmp/pip-wheel-dp4idaus
  Destination directory: /tmp/pip-wheel-dp4idaus
  Running command Building editable for bar (pyproject.toml)
  Building editable for bar (pyproject.toml) ... done
  Created wheel for bar: filename=bar-0.1.0.dev0-py2.py3-none-any.whl size=945 sha256=95edbb8c5ea7f41367c850e2cb38817f1cc8fbee0182156add07a78dc64fd2fd
  Stored in directory: /tmp/pip-ephem-wheel-cache-axr297gn/wheels/aa/e2/a6/6e6128a1a5ff0f61c0869a6a92f6594ef38861ed4e5dcfa201
Successfully built bar
Installing collected packages: bar

Successfully installed bar-0.1.0.dev0
WARNING: You are using pip version 22.0.4; however, version 23.1.2 is available.
You should consider upgrading via the '/home/ys/Source/Practice/languages/python/issue534/.venv/bin/python -m pip install --upgrade pip' command.
Removed build tracker: '/tmp/pip-req-tracker-xkr7xz8v'

I think I understand, and this is more or less expected, albeit not ideal.
Flit tries to get the version number & docstring by static analysis first - i.e. parsing the code but not executing it. If that doesn't work, it falls back to importing your module, i.e. executing its top-level code. If it's trying that, any dependencies of your package become build dependencies, because they may need to be installed to import it. Pip builds your package in an isolated environment by default, so although foo is already installed in your target environment, it's not installed in the build environment, and pip can't find it to install.
I think using flit install --symlink or --pth-file instead of pip install -e . will likely fail with a clearer error message.


NTR: histone chaperone activity

+[Term]
+id: GO:0140713
+name: histone chaperone activity
+namespace: molecular_function
+def: "Binding to and carrying a histone until it is deposited on DNA, or degraded. Different histone chaperones can carry monomeric or a multimeric forms of histones." []
+synonym: "histone carrier activity" EXACT []
+is_a: GO:0140597 ! protein carrier activity
+created_by: pg
+creation_date: 2021-09-10T15:22:31Z

PMID: 26459557


support vcs/verdi

i hope this python script can support   vcs/verdi

Hi,
can you give a try to this branch 'issue22':
https://github.com/dpretet/svut/tree/issue22
Best,
Damien

Hi,
I'm on holiday to celebrate the Chinese New Year，i will try in the week after next.
think you.
Best Regards
bing
At 2022-01-25 15:52:23, "Damien Pretet" @.***> wrote:
Hi,
can you give a try to this branch 'issue22':
https://github.com/dpretet/svut/tree/issue22
Best,
Damien
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

Hello,
Is everything work correctly as you expected?
Damien


Updated description of acceptedResourceRoles

As of Mesos 0.27, --roles is deprecated.

LGTM!  thx

Can one of the admins verify this patch?


Latest Docker setup not pulling data - Credentials issue

HI I setup a pilot a few months back following the docker instructions and every worked including accessing a second account. However I ran the setup again on another beefier instance again using docker and the scheduler wont pull anything.
I ran a packet capture and after the scheduler restarts I keep seeing 404 errors for <IP_ADDRESS>/latest/meta-data/iam/security-credentials/
I double checked the role, the policy, the user and trust and it seems to be good.
Help?

these are the log snippets from the the scheduler container /var/log/security_monkey/security_monkey-deploy.log
2017-03-04 00:49:04,331 DEBUG: Adding ('rds', u'MY VPC', u'us-west-2') to the exceptions list. Exception was: "Problem Connecting to rds/MY VPC/us-west-2:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/watcher.py:145]
2017-03-04 00:49:04,331 DEBUG: Checking rds/MY VPC/us-gov-west-1 [in /usr/local/src/security_monkey/security_monkey/watchers/rds_security_group.py:53]
2017-03-04 00:49:04,334 DEBUG: Checking rds/MY VPC/us-west-1 [in /usr/local/src/security_monkey/security_monkey/watchers/rds_security_group.py:53]
2017-03-04 00:49:04,336 INFO: "Problem Connecting to rds/MY VPC/us-west-1:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2017-03-04 00:49:04,336 DEBUG: Adding ('rds', u'MY VPC', u'us-west-1') to the exceptions list. Exception was: "Problem Connecting to rds/MY VPC/us-west-1:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/watcher.py:145]
2017-03-04 00:49:04,336 DEBUG: Checking rds/MY VPC/eu-central-1 [in /usr/local/src/security_monkey/security_monkey/watchers/rds_security_group.py:53]2017-03-04 00:49:04,339 INFO: "Problem Connecting to rds/MY VPC/eu-central-1:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2017-03-04 00:49:04,339 DEBUG: Adding ('rds', u'MY VPC', u'eu-central-1') to the exceptions list. Exception was: "Problem Connecting to rds/MY VPC/eu-central-1:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/watcher.py:145]
2017-03-04 00:49:04,339 DEBUG: Checking rds/MY VPC/sa-east-1 [in /usr/local/src/security_monkey/security_monkey/watchers/rds_security_group.py:53]
st-1:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2017-03-04 00:49:04,342 DEBUG: Adding ('rds', u'MY VPC', u'sa-east-1') to the exceptions list. Exception was: "Problem Connecting to rds/MY VPC/sa-east-1:\nNo handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials" [in /usr/local/src/security_monkey/security_monkey/watcher.py:145]
2017-03-04 00:49:04,344 DEBUG:
Saving Issues. [in /usr/local/src/security_monkey/security_monkey/auditor.py:142]
2017-03-04 00:49:04,344 DEBUG: Creating/Assigning Auditor Settings in account [u'MY VPC'] and tech rds [in /usr/local/src/security_monkey/security_monkey/auditor.py:221]
2017-03-04 00:49:04,346 DEBUG: Done Creating/Assigning Auditor Settings in account [u'MY VPC'] and tech rds [in /usr/local/src/security_monkey/security_monkey/auditor.py:233]
2017-03-04 00:49:04,346 INFO: 0 deleted RDS Security Groups in [u'MY VPC'] [in /usr/local/src/security_monkey/security_monkey/watcher.py:307]
2017-03-04 00:49:04,346 INFO: 0 created RDS Security Groups in [u'MY VPC'] [in /usr/local/src/security_monkey/security_monkey/watcher.py:308]
VPC'] [in /usr/local/src/security_monkey/security_monkey/watcher.py:309]ny CORP --More--(95%)
2017-03-04 00:49:04,347 INFO: Account MY VPC is done with RDS Security Group [in /usr/local/src/security_monkey/security_monkey/reporter.py:66]
2017-03-04 00:49:04,350 ERROR: Job "run_change_reporter (trigger: interval[0:15:00], next run at: 2017-03-04 01:04:04.090999)" raised an exception [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:520]
Traceback (most recent call last):
File "build/bdist.linux-x86_64/egg/apscheduler/scheduler.py", line 512, in _run_job
retval = job.func(*job.args, **job.kwargs)
File "/usr/local/src/security_monkey/security_monkey/scheduler.py", line 44, in run_change_reporter
reporter.run(account)
File "/usr/local/src/security_monkey/security_monkey/reporter.py", line 55, in run
(items, exception_map) = watcher.slurp()
File "/usr/local/src/security_monkey/security_monkey/watchers/elb.py", line 120, in slurp
self._setup_botocore(account)
File "/usr/local/src/security_monkey/security_monkey/watchers/elb.py", line 79, in _setup_botocore
self.botocore_session = connect(account, 'botocore')
ine 56, in connect/src/security_monkey/security_monkey/common/sts_connect.py", l--More--(97%)
sts = boto.connect_sts()
File "/usr/local/lib/python2.7/dist-packages/boto-2.34.0-py2.7.egg/boto/init.py", line 578, in connect_sts
return STSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/boto-2.34.0-py2.7.egg/boto/sts/connection.py", line 89, in init
profile_name=profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.34.0-py2.7.egg/boto/connection.py", line 1096, in init
profile_name=profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.34.0-py2.7.egg/boto/connection.py", line 569, in init
host, config, self.provider, self._required_auth_capability())
File "/usr/local/lib/python2.7/dist-packages/boto-2.34.0-py2.7.egg/boto/auth.py", line 975, in get_auth_handler
'Check your credentials' % (len(names), str(names)))
NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check your credentials

I did check time on the docker containers. It is all aligned.

Hello @cplvic : If you are running this on a Docker container, access to the metadata service will fail.
You will need to use static keys in that case (or have some custom solution to Docker that is able to pass creds through a mocked metadata service)

I created the boto.cfg file and added in the access and secret keys.
Is that correct?

Where did you place boto.cfg?

the boto.cfg was placed in the same directory when I installed the api container.
It ultimately ended up in the api container /etc/boto.cfg
oddly I cannot access that file as the permissions are all ganked as ????

like this
lrwxrwxrwx.  1 root root      15 Feb 12  2015 blkid.tab -> /dev/.blkid.tab
???????????  ? ?    ?          ?            ? boto.cfg
drwxr-xr-x.  3 root root      21 Feb 23  2015 ca-certificates
-rw-r--r--.  1 root root    7464 Feb 23  2015 ca-certificates.conf

Yeah, that would cause issues.  Can you chown it to root:root and chmod 750 it?

i cant. I have to delete the container first. I can verify when it transfers over for the host, the permissions are 755 and owned by root BUT some process munges it.
I even manually recreated the file but it still happens/  Where are the credentials stored other than on the api server?

Per the boto docs: http://boto3.readthedocs.io/en/latest/guide/configuration.html#boto2-config, you can place it anywhere it expect it.
However, there appear to be other factors affecting your container. Are you copying the file in with your Dockerfile, mounting it in, generating it dynamically, or something else?

Hye Mike I'm not doing anything special. Just running the command but I found something interesting. Looks like the boto.cfg and hosts file are not really simple files?
root@f7e728de76ef:/etc# df -h
Filesystem                                                                                Size  Used Avail Use% Mounted on
/dev/mapper/docker-253:0-135049326-61304c79aa096cf607a028f58fedd6077685fe3ca6f29327bfbf51fd0bb09beb   10G  655M  9.4G   7% /
tmpfs                                                                                3.9G     0  3.9G   0% /dev
tmpfs                                                                                3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root                                                                               36G  4.3G   32G  12% /etc/boto.cfg
/dev/mapper/centos-root                                                                               36G  4.3G   32G  12% /etc/hosts
shm                                                                                64M     0   64M   0% /dev/shm
tmpfs                                                                                3.9G     0  3.9G   0% /proc/kcore
tmpfs                                                                                3.9G     0  3.9G   0% /proc/timer_list
tmpfs                                                                                3.9G     0  3.9G   0% /proc/timer_stats
tmpfs                                                                                3.9G     0  3.9G   0% /proc/sched_debug

It looks like you have it mounted to some odd thing.  What are you doing in your Dockerfile?

Okedoke. When I look at the instructions here https://github.com/Netflix-Skunkworks/zerotodocker/wiki/Security-Monkey
There are two commands that use the "-v pwd/boto.cfg:/etc/boto.cfg:ro"
Installing security_monkey-api and security_monkey-scheduler
Following those steps results in the the boto.cfg mounting like what I saw above with no way to adjust the file. I ran the commands without the "-v ..." and I logged into each container to manually create the file.
Security Monkey now populates! Weird.... but thanks for your feedback as it got me looking at the right stuff.

Hmm.  Surprised you are seeing that. I normally use the -v option on my docker images without issues.
Does:
`pwd`/boto.cfg

properly point to your boto.cfg file? It is better to have this mounted in vs. baked in, and would prefer you take that direction.

Thanks MIke

Hello @cplvic -- going to close this out.
Please reach out to us on Gitter if you have any additional issues.


[1.12] Make telegraf config directory user-editable

High-level description
This PR moves the Telegraf configuration directory to /var/lib/dcos, where they can be modified by users without issue.
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS-42214 Support methods to configure additional settings on dcos-telegraf

Checklist for all PRs

[x] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change: this polishes a new feature in 1.12, there is no user-facing change
[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot bump-ee


wrapped text misbehaves (sometimes)

Oni Version: 0.3.6
Neovim Version (Linux only): (0.3.0)
Operating System: macOS 10.14 (Mojave beta)
Issue: I was working on a LaTeX file with a whole paragraph on a single line. As I continued to add, the wrapping was completely incorrect. Letters were skipped, and overlaid. Before I got a video of the behaviour, I reloaded oni, and it started working fine. I'll update this issue with a video if it happens again.

@jordan-arenstein I believe this may be a duplicate of #1935 @Himura2la seems to have captured it in a screencast, I hit this fairly often as I use a laptop on split screen, its cleared via redraw usually I think it has to do with how the buffer line positions are updated my thinking for now is to see how the #2302 might change things then I think if it persists line wrapping in general needs to be solved as it has knock on effect on things like buffer layer like the definitions being in the wrong place and color highlight and indent line layers


Lets forbid yield as an identifier name in generator functions!

Because you know

+1

Why not make it "forbid yield as an Identifier everywhere"?

hmm, that's a bit opinionated, but sure

I can be an option

Yield is already forbidden:
// jshint esnext: true
function* gen() {
  let yield; // Expected an identifier and instead saw 'yield' (a reserved word).
}


F2 renaming can cascade into node_modules .d.ts files for objects

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.59.1
OS Version: Linux x64 5.13.12-1-MANJARO snap (This also happens on windows 10, so this part probably isn't important)

Steps to Reproduce:
// Have a file that exports an interface like this in node_modules (this is from react-bootstrap)
declare interface Form
  extends BsPrefixRefForwardingComponent<'form', FormProps> {
  Row: typeof FormRow;
  Group: typeof FormGroup;
  Input: typeof FormControl;
  Check: typeof FormCheck;
  File: typeof FormFile;
  Label: typeof FormLabel;
  Text: typeof FormText;
}

import { Form } from "react-bootstrap";

function Foo() {
     return <Form.Input />
}

Then, hit F2 on the Input part of the declaration - When you rename this, the rename will also apply into the node_modules .d.ts file, causing this file:
// Have a file that exports an interface like this in node_modules (this is from react-bootstrap)
declare interface Form
  extends BsPrefixRefForwardingComponent<'form', FormProps> {
  Row: typeof FormRow;
  Group: typeof FormGroup;
  WhateverYouRenamedInputTo: typeof FormControl;
  Check: typeof FormCheck;
  File: typeof FormFile;
  Label: typeof FormLabel;
  Text: typeof FormText;
}

NOTE: I am using the PNPM package manager, which might be why this interaction happens.

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

Yes. This happens on the latest VS Code insiders build with all extensions disabled.
Version: 1.60.0-insider
Commit: 44a4b19a910a287adef4daaeabcf68f2ba893c35
Date: 2021-08-30T11:36:28.164Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.13.12-1-MANJARO snap

Attached is the GIF of this occuring.


createDnsRecord-  JSONHTTPError: Unprocessable Entity

Describe the bug
I am seeing some odd behavior with netlify-cli when using the createDnsRecord. It's not accepting my JSON.
To Reproduce
netlify api createDnsRecord --data '{ "zone_id":"5f0008300e71d0b6853aadd4","type": "ns","hostname": "myDomain.com","value": "12345670asjsdfRandpm","ttl": 60}'
I get the following error message JSONHTTPError: Unprocessable Entity
I’m not sure what is wrong with my payload, because I am able to create the resource when doing a curl command with the same payload
curl --location --request POST 'https://api.netlify.com/api/v1/dns_zones/5f0008300e71d0b6853aadd4/dns_records' \
--header 'Authorization: Bearer xxxxxxxxx \
--header 'Content-Type: application/json' \
--data-raw '{
  "type": "NS",
  "hostname": "myDomain.com",
  "value": "12345670asjsdfRandpm",
  "ttl": 60
}

Configuration
N/A
npx envinfo --system --binaries --npmPackages netlify-cli --npmGlobalPackages netlify-cli

npx: installed 1 in 1.369s

  System:
    OS: Linux 4.19 Ubuntu 18.04.5 LTS (Bionic Beaver)
    CPU: (4) x64 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
    Memory: 5.97 GB / 12.38 GB
    Container: Yes
    Shell: 4.4.20 - /bin/bash
  Binaries:
    Node: 14.13.0 - /usr/bin/node
    npm: 6.14.8 - /usr/bin/npm
  npmGlobalPackages:
    netlify-cli: 2.63.3

NOTE: This is actually using WSL2
Expected behavior
Expect the CLI to behave as when using the API directly through curl
CLI Output
I get the following error message JSONHTTPError: Unprocessable Entity
Additional context
Add any other context about the problem here.

I’m not sure what is wrong with my payload, because I am able to create the resource when doing a curl command with the same payload

Not sure if that is related to the error, but the payload is not the same. The netlify api payload has a lowercase "type": "ns"

@erezrokah It makes no difference unfortunately. I have tried all kinds of different permutations, including playing with ticks and no difference.

adding a link to the community post related to this issue

We need documentations about making a POST request with data.
This is not a bug. The correct way to make the request using the current release is:
netlifyDev api createDnsRecord --data '{"zone_id":"f234tgsfsgrhdhgdf","body":{"type":"NS","hostname":"example.com","ttl":3600,"value":"ns1.google.com"}}'
Everything need to be in the body of the POST request should be in body. that is
--data '{
    "zone_id": "dfgdfnskfnsjkfnsaklnfkajsdfsafbwu23hie",
    "body": {
        "type": "A"
        ...
    }
}'

Closing as stale. Please re-open if needed

@sarahetter did you guys update the documentation?

@karl-cardenas-coding I've just created a new issue to update this in the docs. Thanks!


Add grid-column-collapse mixin to allow for nested grids

When this feature was added to cask, it was an option in the grid-column mixin. For now (and the forseable future) I am going to be continuing a more simple paradigm of favoring mutiple mixins over on mixin with a bunch of options.
To this nd I am going to work on creating a grid-column-collapse mixin which will behave almost identically to the grid-column mixin except the column will consume the margins on either side of it.

While I don't use them regularly, use themI do feel like nested grids should be present for the full launch.

Added in https://github.com/thoughtbot/neat/pull/492


URGENT: Tango Tablet issues since latest updates (none of the Tango SDK examples work properly; previous apps don't work anymore)

I experience issues with the original Project Tango Tablet; it has Android 4.4.2. and all the LATEST OS and software updates, including the Tango Core (Deprecated).
Most of the updated apps from Play Store are not working properly anymore, e.g. voxxlr and other that were working fine before the latest update I did...
For developing, I have

Unity 5.6.f1

Unity 5.3.7f1 (installed this previous one for trying out the previous Tango SDK from 2015...) - I'm using this one currently, but the 5.6.f1 built the app too in the end (after re-package issues etc.)

Android SDK Platforms 23 (required by both versions of Unity 3D when I build; I tried lower - e.g. 19 but it didn't work...); 16, 17, 19 in Android SDK platforms (I downgraded everything hoping it will improve the apk build)

Android SDK Tools 25.0.6

latest Tango SDK (the one available on the main Tango site)

I'm doing exactly as in the tutorials (Tango Manager conf, etc.).
I checked the app permissions on the tablet and they look fine (access to camera, etc.)
I can finally build (after downgrading the Android SDK) but none of the example apps from the Tango SDK are working (e.g. white background for both Tango cameras - new and deprecated; no motion detected, etc.) The kitten example from the tutorial is not working either...
I tried the Simple AR tutorial - I see the sphere but it's not doing anything - no movement, no real scene from the camera. I switched to VR, but still NO MOTION.
All in all:
I have NO MOTION and NO REAL VIEW no matter the example or app I build.
I don't know if it is the latest OS installed on the Tango tablet, or what...
Back in 2015 it took a couple of minutes to do basic demos. Now I'm spending hours and hours to rollback SDKs etc.
PLEASE HELP:
I need:

the previous configuration (Unity version, Android SDK versions, Tango SDK version) known to work fine with the Google Tango TABLET

Thanks,
Lucas

Hi again,
It would be GREAT to have a final verdict tomorrow since I'll receive the
Lenovo Phab 2 pro - I ordered it yesterday night after 4 days of tests,
forum research and final disappointments with the TABLET...
I hope I won't get in the same trouble with the Phab 2 Pro too - it would
really be too much...
I tried the Java the samples too, but again I updated the whole
configuration/versions etc. as asked by the apps; I could compile in the
end, but after uploading the app on the TABLET I got the message: Tango
service is outdated :(  :(  :(
If things are fixed for the Tango TABLET I'll know if I keep the Phab 2 Pro
or if I return it...
Also, some developers told me that it looks like the TABLET is not
supported anymore by Google (e.g. voxxlr don't t support their 3D scanning
app on the TABLET anymore).
If Google doesn't support the TABLET anymore, why did they push the latest
update that messes up lots of things???!!!
I'm developing since the mid 90s and usually when I insist a bit on the
issue it works - this time I feel completely dumb...
Many thanks,
Lucas
On Jun 5, 2017 9:28 PM, "bopangzz"<EMAIL_ADDRESS>wrote:

Hi Lucas,
Just want to let you know that I am looking into this and should have some
update tomorrow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/tango-examples-unity/issues/95#issuecomment-306355623,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALppg8ihseVllYnObI5-mK3PHahyun--ks5sBKtGgaJpZM4Nuldi
.

Hi, sorry I haven't able to track down which version is the last one we support on the tablet. I cannot verify it myself since I don't have the tablet. But it is definitely getting deprecated.  The Phab 2 Pro shouldn't have these problems. So I would high recommend to use the Phab 2 Pro as the dev kit.
Also how did you update the Tango Core on the tablet? Did you just updated from the Play Store? I should have more information about the tablet tomorrow.

Hi,
Thanks for the info.
I updated as usually - the tablet checked for a system update and I allowed
it.
I got the Phab 2 Pro. Some guy says that the latest update of the Core
services is buggy so I didn't update that one.
Voxxlr is not working on the Phab Pro 2 either...
I'll give a shot right now for the dev and I'll let you know how it goes on
the Phab 2 Pro.
Meanwhile, it would be good to know for sure if the Tablet is going to be
unsupported.
It was my main battle horse for demos related to mixed reality. One student
asked me why the Tango Tablet looks like my friend, because I was trying to
share with them how great it is...
Keep me posted,
Best,
Lucas
On Tue, Jun 6, 2017 at 9:35 PM, bopangzz<EMAIL_ADDRESS>wrote:

Hi, sorry I haven't able to track down which version is the last one we
support on the tablet. I cannot verify it myself since I don't have the
tablet. But it is definitely getting deprecated. The Phab 2 Pro shouldn't
have these problems. So I would high recommend to use the Phab 2 Pro as the
dev kit.
Also how did you update the Tango Core on the tablet? Did you just updated
from the Play Store? I should have more information about the tablet
tomorrow.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/tango-examples-unity/issues/95#issuecomment-306660825,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALppg6bM0bDoMvO6Er-n9593trtP6iyBks5sBf5_gaJpZM4Nuldi
.

Have you tried to check the bos to allow out of date API on Tango Manager in your scene?

What is bos? I ll try that if you tell me what it is...
I just tested the Phab 2 Pro and it works as it should 😎
On Jun 6, 2017 10:19 PM, "bopangzz"<EMAIL_ADDRESS>wrote:
Have you tried to check the bos to allow out of date API on Tango Manager
in your scene?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/tango-examples-unity/issues/95#issuecomment-306666994,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALppg2TIdj-Yn4Anz9-bgHwFVHnZ-SvWks5sBgiUgaJpZM4Nuldi
.

Sorry, I mean the checkbox.

Just did that and it works for the Tango Tablet too...
4 days for 1 checkbox...
Looks like I need to go multiplayer gaming now to justify the new purchase

opening new horizons 😎

Thanks
Lucas
On Jun 6, 2017 11:40 PM, "bopangzz"<EMAIL_ADDRESS>wrote:

Sorry, I mean the checkbox.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/tango-examples-unity/issues/95#issuecomment-306677604,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALppg_AEBkKhLZAOjYr-e4jS9bIxvAufks5sBhuagaJpZM4Nuldi
.

Just did that and it works for the Tango Tablet too...
4 days for 1 checkbox...
Looks like I need to go multiplayer  now to justify the new purchase 😎
Thanks
Lucas
On Jun 6, 2017 11:40 PM, "bopangzz"<EMAIL_ADDRESS>wrote:

Sorry, I mean the checkbox.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/tango-examples-unity/issues/95#issuecomment-306677604,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALppg_AEBkKhLZAOjYr-e4jS9bIxvAufks5sBhuagaJpZM4Nuldi
.

Glad it works. But still the tablet is getting deprecated. Developing on Phab 2 Pro is highly recommended.

Hi,
I love the Tablet, it even feels better to hold with 1 hand since the
cameras & sensors are on the upper side. I got the Durovis Dive 7 for it
back in the day...
I ll keep it as long as possible.
Did Google think of a Tango option as a separate sensor similar to the
Occipital Structure sensor for iOS? It would avoid wasting whole devices...
Many thanks again.
Have a great day.
Best
Lucas
On Jun 7, 2017 2:12 PM, "bopangzz"<EMAIL_ADDRESS>wrote:

Glad it works. But still the tablet is getting deprecated. Developing on
Phab 2 Pro is highly recommended.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googlesamples/tango-examples-unity/issues/95#issuecomment-306879341,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALppg-RwIpy2Qxl-4W6zZFiWyyXJ6ZnUks5sBugLgaJpZM4Nuldi
.

sorry to bring up this old issue again, but i am trying to accomplish the same thing as op, tried building the hopak and the argentine_tango release, the TangoCardboard.unity scene runs with motion tracking but the TangoCardboardWithMeshing.unity only shows a blank white grid, no tracking, i checked the allow out of date api box but still no luck, did you change anything else to get it running on the tablet acerodon?


additions based on update

Based on the recent PR #1550, glow.yazi should also be updated to avoid any future complications.
Thanks

And also ya pack download instructions.

I hope this is fine. If any edits needed, you can change it suitable to u.
Thanks

It's perfect now