bivariate bicycle quantum ldpc code

Dear @Krastanov,
In this 2024 paper High-threshold and low-overhead fault-tolerant quantum memory, Bravyi et. al. has introduced a simple BBQLDPC code.  In the Table 3, as seen below, these are the code constructions given in the paper.
All these constructions have been tested (especially at the moment, tests have been added to verify the number of logical qubits, k which is calculated on formula: k = n - rank(Hx) - rank(Hz).  Please checkout the test section:

The interface is user-friendly:
julia> using QuantumClifford.ECC: BBQLDPC, parity_checks

julia> parity_checks(BBQLDPC(12, 6, [3, 1, 2], [3, 1, 2]))
# the stabilizer

The documentation is simple so it's easier to follow as well.  Python implementation of this code is available at here.
Cross verification between python implementation and this implementation has been done. The matrices are huge, but we can export results from python, import them in julia and compare the results.
Would you like to have a dataset prepared for these given constructions, so we can import them and test for correctness comparison in the test section?
julia> using MAT
julia> using QuantumClifford
julia> using QuantumClifford.ECC: BBQLDPC, parity_checks, naive_encoding_circuit
julia> mat_file_path = "/home/Feroz/Desktop/matrices96.mat";
julia> mat_data = matopen(mat_file_path);
julia> AT = read(mat_data, "AT");
julia> BT = read(mat_data, "BT");
julia> BTT, ATT = parity_checks(BBQLDPC(9, 6, [3, 1, 2], [3, 1, 2]))
([0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0], [0 0 … 0 0; 1 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 1 0])
julia> BTT == BT
true
julia> ATT == AT
true
julia> mat_file_path = "/home/Feroz/Desktop/matrices2814.mat";
julia> mat_data = matopen(mat_file_path);
julia> AT = read(mat_data, "AT");
julia> BT = read(mat_data, "BT");
julia> BTT, ATT = parity_checks(BBQLDPC(28, 14, [26, 6, 8], [7, 9, 20]))
([0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0], [0 0 … 0 0; 0 0 … 0 0; … ; 0 0 … 0 0; 0 0 … 0 0])
julia> BTT == BT
true
julia> ATT == AT
true

There is bounds error as seen in #306.
Near-term use of this BBQLDPC: This pr will be helpful as BBLDPC code is a special case of LiftedProduct code as described the authors as follows: "We note that the code QC(A,B) can be viewed as a special case of the Lifted Product construction [54] based on the abelian group Z_ℓ × Z_m. Here Z_j denotes the cyclic group of order j." Maybe in the near-future, LiftedProduct code can be tested by using BBQLPC as a correctness check.
The aim and objective of the pr is small: to provide a correct and robust construction of BBQLDPC code. I will try to further improve it by adding more tests and incorprate your feedback.
I was very excited as I read the paper,  so submitted it. I hope you find this plausible.
Thanks for your time.
...
If you want to submit an unfinished piece of work in order to get comments and discuss, please mark the pull request as a draft and ping the repository maintainer.
Please address only one topic or issue per pull request! Many small PRs are much easier to review and merge than one large PR.
Before merging, all changes and new functionality should be marked in the CHANGELOG file, but feel free to just leave your CHANGELOG notes in the PR description, to avoid merge conflicts with other requests modifying that file. The maintainer will add these CHANGELOG notes for you if you do so.
Before considering your pull request ready for review and merging make sure that all of the following are completed (please keep the clecklist as part of your PR):

[x] The code is properly formatted and commented.
[x] Substantial new functionality is documented within the docs.
[x] All new functionality is tested.
[x] All of the automated tests on github pass.

If possible, keep your git history not too wild (rebase and squash commits, keep commits small and semantically separated) so that review is easier.

Acknowledgement: I am very thankful to Claus from Oscar. He suggested a robust method to calculate the intersection of two kernels, ker(A) ∩ ker(B).  This helped to construct a cross-reference check.
Downgrade error is occuring because hom is not present in Nemo's earlier versions.  Probably, have to remove 0.42, 0.43, etc. Spell Error is occuring because of using Nemo: hom where hom is homomorphism

@royess, two days ago, I completed the BBQLDPC code. This can serve as a correctness check for LiftedProduct code as stated in the Bravyi paper, as BBQLDPC is a special case of the LiftedProduct code.  I have also added correctness tests based on techniques  suggested by Oscar fellows for this code.
These might be interesting to you: A new QLDPC decoder released today: BPOTF  (It's a C++ decoder) and this https://github.com/QuantumSavory/QuantumClifford.jl/issues/14#issuecomment-2324651471.

@Krastanov, pinging for review.  All the code constructions given in the paper I shared have been verified for BBQLDPC code.  Furthermore, I have added cross-reference checks as well. To ensure robustness, I have also discussed (https://github.com/QuantumSavory/QuantumClifford.jl/pull/352#issuecomment-2329232013) this with dear Oscar fellows whose guidance have been helpful in designing robust cross-verification test over the last 2 days. The code interface is user-friendly as well.
P.S Downgrade error is occuring because hom is not present in Nemo's earlier versions. Probably, have to remove 0.42, 0.43, etc. Spell Error is occuring because of using Nemo: hom where hom is homomorphism

Referring to #353 to monitor progress.

Referring to #356 as BB QLDPC can be viewed as a special case of LiftedProduct (please see comment: https://github.com/QuantumSavory/QuantumClifford.jl/pull/352#issue-2500471793) , so this PR serves as a correctness check for the latter codes, if desired.

The PR is ready for review. I have added many instances of BBQLDPCs in the test_base_ecc so that their stabilizer correctness, encoding, decoding and syndrome properties are tested. Thank you!
P.S.  There were a lot of merge conflicts, therefore had to merge branch into master many times.

@Fe-r-oz , thank you, this is a very useful addition.
@royess , @Fe-r-oz , do you know the proper way to represent the codes added here in terms of a lifted product? That would be a useful cross check.

Indeed. Bravyi notes that BBQLDPC can be viewed as a special case of Lifted Product construction based on abelian group ℤⱼ x ℤₘ where ℤⱼ cyclic group of order j Page 7. This implementation can serve as a cross-check to the proper way which is by constructing the code via Lifted Product construction.

Do you know how to implement such a cross-check?

I will have to see the literature on the LPCode construction method for these codes for the group theoretic route. The aforementioned paper used, let's say  "matrix-based" approach, not the "group based" approach (LPCode construction).
side note: I did pondered about cross checking the matrix-based construction based on the formulas provided in the paper, especially calculating ker(A) ∩ ker(B) which is equal to k.
This manual correctness check uses Oscar hom (homomorphism) for Free Modules by taking intersection of two kernels, compute ker(A) ∩ ker(B) as suggested by Claus. This method for hom is not present in Hecke, Abstract Algebra or Nemo.  It's actually presented in Oscar itself: https://github.com/oscar-system/Oscar.jl/blob/master/src/Modules/UngradedModules/FreeModuleHom.jl.
Without Oscar, one will get this error using hom for Free Modules: no method matching hom(::AbstractAlgebra.Generic.FreeModule{FqFieldElem}, ::AbstractAlgebra.Generic.FreeModule{FqFieldElem}, ::FqMatrix). It turns out that this specific method is present in Oscar FreeModuleElem.jl. Just some weeks ago, Nemo used to have this hom method as well, but they had breaking change quite often and have removed it.
Since we don't have Oscar as dependency, this is a manual check:
    using Test
    using QuantumClifford: stab_to_gf2
    using QuantumClifford.ECC
    using Nemo: nullspace, GF, matrix
    using Oscar: hom, free_module, kernel, domain, map, gens
    using QuantumClifford.ECC: AbstractECC, BBQLDPC, parity_checks_x, parity_checks_z

    # According to Lemma 1 from [bravyi2024high](@cite), k = 2·dim(ker(A)∩ker(B)).
    function _formula_k(stab)
        Hx = parity_checks_x(stab)
        n = size(Hx,2)÷2
        A = matrix(GF(2), Hx[:,1:n])
        B = matrix(GF(2), Hx[:,n+1:end])
        k = GF(2)
        hA = hom(free_module(k, size(A, 1)), free_module(k, size(A, 2)), A)
        hB = hom(free_module(k, size(B, 1)), free_module(k, size(B, 2)), B)
        ans = kernel(hA)[1] ∩ kernel(hB)[1]
        k = 2*size(map(domain(hA), gens(ans[1])), 1)
        return k
    end

     @testset "Verify number of logical qubits `k` from  Table 3" begin
        # Refer to [bravyi2024high](@cite) for code constructions
        @test code_k(BBQLDPC(9 , 6 , [3 , 1 , 2] , [3 , 1 , 2]))   == 8   == _formula_k(BBQLDPC(9 , 6 , [3 , 1 , 2] , [3 , 1 , 2]))
        @test code_k(BBQLDPC(15, 3 , [9 , 1 , 2] , [0 , 2 , 7]))   == 8   == _formula_k(BBQLDPC(15, 3 , [9 , 1 , 2] , [0 , 2 , 7]))
        @test code_k(BBQLDPC(12, 12, [3 , 2 , 7] , [3 , 1 , 2]))   == 12  == _formula_k(BBQLDPC(12, 12, [3 , 2 , 7] , [3 , 1 , 2]))
        @test code_k(BBQLDPC(12, 6 , [3 , 1 , 2] , [3 , 1 , 2]))   == 12  == _formula_k(BBQLDPC(12, 6 , [3 , 1 , 2] , [3 , 1 , 2]))
        @test code_k(BBQLDPC(6 , 6 , [3 , 1 , 2] , [3 , 1 , 2]))   == 12  == _formula_k(BBQLDPC(6 , 6 , [3 , 1 , 2] , [3 , 1 , 2]))
        @test code_k(BBQLDPC(30, 6 , [9 , 1 , 2] , [3 , 25, 26]))  == 12  == _formula_k(BBQLDPC(30, 6 , [9 , 1 , 2] , [3 , 25, 26]))
        @test code_k(BBQLDPC(21, 18, [3 , 10, 17], [5 , 3 , 19]))  == 16  == _formula_k(BBQLDPC(21, 18, [3 , 10, 17], [5 , 3 , 19]))
        @test code_k(BBQLDPC(28, 14, [26, 6 , 8] , [7 , 9 , 20]))  == 24  == _formula_k(BBQLDPC(28, 14, [26, 6 , 8] , [7 , 9 , 20]))
    end

    @testset "Verify number of logical qubits `k` from  Table 1" begin
        # Refer to [berthusen2024toward](cite for code constructions
        @test code_k(BBQLDPC(12, 3 , [9 , 1 , 2] , [0 , 1 , 11]))  == 8   == _formula_k(BBQLDPC(12, 3 , [9 , 1 , 2] , [0 , 1 , 11]))
        @test code_k(BBQLDPC(9 , 5 , [8 , 4 , 1] , [5 , 8 , 7]))   == 8   == _formula_k(BBQLDPC(9 , 5 , [8 , 4 , 1],  [5 , 8 , 7]))
        @test code_k(BBQLDPC(12, 5 , [10, 4 , 1] , [0 , 1 , 2]))   == 8   == _formula_k(BBQLDPC(12, 5 , [10, 4 , 1] , [0 , 1 , 2]))
        @test code_k(BBQLDPC(15, 5 , [5 , 2 , 3] , [2 , 7 , 6]))   == 8   == _formula_k(BBQLDPC(15, 5 , [5 , 2 , 3] , [2 , 7 , 6]))
        @test code_k(BBQLDPC(14, 7 , [6 , 5 , 6] , [0 , 4, 13]))   == 12  == _formula_k(BBQLDPC(14, 7 , [6 , 5 , 6] , [0 , 4, 13]))
    end

Oscar can be added to the test-runner without being added as a dependency to the package itself, if it can provide useful testing capabilities

Pardon for the delay, Added Oscar to the test-runner. There will be some CI errors, like Windows not supported, etc. I will try to fix these today.
ERROR: LoadError: InitError: GAP.jl currently does not support multithreaded garbage collection. Please run julia with `--gcthreads=1` for now.

ERROR: LoadError: Windows is not supported, please try the Windows Subsystem for Linux.
For details please check: https://www.oscar-system.org/install/

julia> codes = [circulant_bivariate_bicycle(7,7,[3,5,6],[2,3,5]),
                circulant_bivariate_bicycle(15,3,[9,1,2],[0,2,7]),
                circulant_bivariate_bicycle(9,5,[8,4,1],[5,8,7])]

julia>  mem_errors = 0.00001:0.00005:0.001;

julia> julia> results = zeros(length(codes), length(mem_errors), 2);

julia> for (ic, c) in pairs(codes)
                 for (i,m) in pairs(mem_errors)
                     setup = CommutationCheckECCSetup(m)
                     decoder = TableDecoder(c)
                     r = evaluate_decoder(decoder, setup, 100000)
                     results[ic,i,:] .= r
                 end
        end

julia> for (ic, c) in pairs(codes)
                 for (i,m) in pairs(mem_errors)
                     setup = ShorSyndromeECCSetup(m,0)
                     decoder = TableDecoder(c)
                     r = evaluate_decoder(decoder, setup, 100000)
                     results[ic,i,:] .= r
                 end
         end

Do you know how to implement such a cross-check?

@Krastanov, Thank you for your suggestion. The cross check (#372) has been implemented as well. Code_n and Code_k values match even though the two constructions used vastly different formulas and techniques. I also plotted their Table Decoding graphs which are also similar. Their canonical forms are nonequivalent because this construction applies a circulant permutation matrix to the column space.  Permutating the rowspace does not change the canonical forms  of matrices as we have seen and tested in the past, but permutating the column space leads to nonequivalent canonical form.  Hopefully, this is satisfactory and reasonable.
In this construction, x = Sₗ ⊗ Iₘ permutes the rowspace and y = Iₗ ⊗ Sₘ permutes the column space where Sₘ is the circulant permutation matrix. Also, Added all of the code instances in literature (to my knowledge) to test section, testing their code_nand code_k values based on the formulas given in Bravyi paper: code_k is  n - rank(Hx) - rank(Hz), formula_k  is 2 * dim(kernel(A) ∩ kernel(B)) == k. Cross checked it with original python implementation as well.
A small test which shows permutating the column space leads to nonequivalent canonical forms:
using LinearAlgebra, Nemo, Test

H = [1 1 0 1 0 0 0;
     1 0 1 0 1 0 0;
     0 1 1 0 0 1 0;
     0 0 0 1 1 1 1]

# permutations over column space
function permute_columns(matrix, perm)
    return matrix[:, perm]
end

col_permutations = [
    [1, 2, 3, 4, 5, 6, 7],
    [2, 1, 3, 4, 5, 6, 7],
    [1, 3, 2, 4, 5, 6, 7],
    [3, 1, 2, 4, 5, 6, 7]
    ]

for (i, perm) in enumerate(col_permutations)
    permuted_H = permute_columns(H, perm)
    rref_H = echelon_form(Nemo.matrix(Nemo.GF(2), permuted_H))
    rref_without_permut = echelon_form(Nemo.matrix(Nemo.GF(2), H))
    @test rref_H == rref_without_permut # gives error because of permutation of column space
end

# permutations over row space: Canonical form is equivalent as expected
row_permutations = [
           [1, 2, 3, 4],
           [2, 1, 3, 4],
           [1, 3, 2, 4],
           [4, 3, 2, 1]
       ]

function permute_rows(matrix, perm)
    return matrix[perm, :]
end

for (i, perm) in enumerate(row_permutations)
    permuted_H = permute_rows(H, perm)
    rref_H = echelon_form(Nemo.matrix(Nemo.GF(2), permuted_H))
    rref_without_permut = echelon_form(Nemo.matrix(Nemo.GF(2), H))
    @test rref_H == rref_without_permut
end

P.S. Thank you for your help is resolving the weird CI errors when adding Oscar to test-runner. That is much appreciated.

Experimental WIP: Stacked Model and Bilayered Architecture
Future work: The papers on these codes talk about Toric Layout and Embeddings for these codes for 2D Implementation. Thus, two future features, namely - bivaraite_toric_layout and bivaraite_embedding are also being worked on at the moment for later PR. I have cross checked these features with the original implementation, and implemented these two functionalities as well. But I think the plotting indexing conventions needs to be much polished. I have constructed it using Plots, not Makie/CaireMakie though.  I have checked the embedding and toric layout, it matches in calculation, but in plotting, the ancilla seems to be upside down. I think these two features will be useful w.r.t to circuit-level simulation, for these codes.

[x] bivaraite_toric_layout : Toric Layout of Bivariate bicycle codes  (lemma 3)
[x]  bivaraite_embedding: 2D Embeddings of the Bivariate Bicycle  codes

Thank you for your comments. This PR was done before Tommy's CI Injection Oscar approach which greatly simplified things for us.
Before the CI Injection, I was trying to add Oscar into test runner and meeting requirements which was not the right approach.
The tests require hom method for Oscar, this hom method provides homomorphism between free modules for kernel calculation.
So, let's turn this into draft till we have Oscar into the system.


ValueError while saving thumbnail: I/O operation on closed file

Hi,
I'm getting a "ValueError : I/O operation on closed file." when I try to save a thumbnail through Django's admin interface.
The culprit seems to be in categories/models.py. Changing the below line:
width, height = get_image_dimensions(self.thumbnail.file, close=True)
To close=False fixes the issue but I'm unsure what are the full consequences.
Is this a bug? Perhaps something that needs to be updated for django 1.10?
Full save method:
    def save(self, *args, **kwargs):
        if self.thumbnail:
            from django.core.files.images import get_image_dimensions
            import django
            if django.VERSION[1] < 2:
                width, height = get_image_dimensions(self.thumbnail.file)
            else:
                width, height = get_image_dimensions(self.thumbnail.file, close=True)
        else:
            width, height = None, None

        self.thumbnail_width = width
        self.thumbnail_height = height

        super(Category, self).save(*args, **kwargs)

Potential Fix:
if django.VERSION[1] < 2 or django.VERSION[1] >= 10:
Versions:

django==1.10.2
django-categories==1.4.2

@dmarcelino I added pull request #128, which should fix this issue. Please check it out and let me know if it fixes the issue. Once verified, I can make a release for it.

Just tested it and it worked fine. Thanks for such a quick turn around!

@dmarcelino, just published a release 1.5.3.

Brilliant!


fix azure ad graph api note

reference: https://github.com/MicrosoftDocs/azure-docs/pull/3490

@spottedmahn : Thanks for your contribution to the Azure documentation! The author, @parakhj, has been notified to review your proposed change.

#sign-off


How to concatenate FWI results when using MPI

Hi,
I try to use mpi to run fwi.py example using 4 cores and save the results as .mat file. But the final vp inversion result is only 1/4 size of the whole model. The code that I add has mark there. Here is my code:
import numpy as np
from devito import configuration, Function, norm, mmax, mmin
from examples.seismic import demo_model, AcquisitionGeometry, Receiver
from examples.seismic.acoustic import AcousticWaveSolver
from inversion_utils import compute_residual, update_with_box
from mpi4py import MPI

###new###
configuration['mpi'] = True
#########

# Turn off logging
configuration['log-level'] = "ERROR"
# Setup
nshots = 9  # Number of shots to create gradient from
nreceivers = 101  # Number of receiver locations per shot
fwi_iterations = 1  # Number of outer FWI iterations

# Define true and initial model
shape = (101, 101)  # Number of grid point (nx, nz)
spacing = (10., 10.)  # Grid spacing in m. The domain size is now 1km by 1km
origin = (0., 0.)  # Need origin to define relative source and receiver locations

model = demo_model('circle-isotropic', vp_circle=3.0, vp_background=2.5,
                   origin=origin, shape=shape, spacing=spacing, nbl=40)

model0 = demo_model('circle-isotropic', vp_circle=2.5, vp_background=2.5,
                    origin=origin, shape=shape, spacing=spacing, nbl=40,
                    grid=model.grid)

assert model.grid == model0.grid
assert model.vp.grid == model0.vp.grid

# Acquisition geometry
t0 = 0.
tn = 1000.
f0 = 0.010
# Source at 20m depth and center of x
src_coordinates = np.empty((1, 2))
src_coordinates[0, :] = np.array(model.domain_size) * .5
src_coordinates[0, 0] = 20.  # Depth is 20m

# Initialize receivers for synthetic and imaging data
rec_coordinates = np.empty((nreceivers, 2))
rec_coordinates[:, 1] = np.linspace(0, model.domain_size[0], num=nreceivers)
rec_coordinates[:, 0] = 980.

# Geometry
geometry = AcquisitionGeometry(model, rec_coordinates, src_coordinates,
                               t0, tn, f0=f0, src_type='Ricker')

# Wave solver
solver = AcousticWaveSolver(model, geometry, space_order=4)

# Prepare the varying source locations sources
source_locations = np.empty((nshots, 2), dtype=np.float32)
source_locations[:, 0] = 20.
source_locations[:, 1] = np.linspace(0., 1000, num=nshots)

def fwi_gradient(vp_in):
    # Create symbols to hold the gradient
    grad = Function(name="grad", grid=model.grid)
    objective = 0.
    for i in range(nshots):
        # Create placeholders for the data residual and data
        residual = Receiver(name='residual', grid=model.grid,
                            time_range=geometry.time_axis,
                            coordinates=geometry.rec_positions)
        d_obs = Receiver(name='d_obs', grid=model.grid,
                         time_range=geometry.time_axis,
                         coordinates=geometry.rec_positions)
        d_syn = Receiver(name='d_syn', grid=model.grid,
                         time_range=geometry.time_axis,
                         coordinates=geometry.rec_positions)
        # Update source location
        solver.geometry.src_positions[0, :] = source_locations[i, :]

        # Generate synthetic data from true model
        solver.forward(vp=model.vp, rec=d_obs)

        # Compute smooth data and full forward wavefield u0
        _, u0, _ = solver.forward(vp=vp_in, save=True, rec=d_syn)

        # Compute gradient from data residual and update objective function
        residual = compute_residual(residual, d_obs, d_syn)

        objective += .5*norm(residual)**2
        solver.jacobian_adjoint(rec=residual, u=u0, vp=vp_in, grad=grad)

    return objective, grad

# Compute gradient of initial model
# ff, update = fwi_gradient(model0.vp)
# print(ff, mmin(update), mmax(update))
# assert np.isclose(ff, 39113, atol=1e1, rtol=0)
# assert np.isclose(mmin(update), -821, atol=1e1, rtol=0)
# assert np.isclose(mmax(update), 2442, atol=1e1, rtol=0)

# Run FWI with gradient descent
history = np.zeros((fwi_iterations, 1))
for i in range(0, fwi_iterations):
    # Compute the functional value and gradient for the current
    # model estimate
    phi, direction = fwi_gradient(model0.vp)

    # Store the history of the functional values
    history[i] = phi

    # Artificial Step length for gradient descent
    # In practice this would be replaced by a Linesearch (Wolfe, ...)
    # that would guarantee functional decrease Phi(m-alpha g) <= epsilon Phi(m)
    # where epsilon is a minimum decrease constant
    alpha = .05 / mmax(direction)

    # Update the model estimate and enforce minimum/maximum values
    update_with_box(model0.vp, alpha, direction)

    # Log the progress made
    print('Objective value is %f at iteration %d' % (phi, i+1))

print(model0.vp.data)

###new###
import scipy.io
out = {'Inversion': np.array(model0.vp.data), 'True': np.array(model.vp.data)}
scipy.io.savemat('Result-mpi.mat', out)
########

#assert np.isclose(history[-1], 3828, atol=1e1, rtol=0)

I don't know how to figure it out. Could you help me with that? Thanks!

You might want to ask on the slack channel, as this is not properly an issue and has been discussed over there already. I think @rhodrin might have some code to do what you want.
https://www.devitoproject.org/contact

I understand you got the answers  you need on Slack, so closing the issue, at least for now


Toggle completion

Issue Description
feature-request
When I type # to add a header line in markdown, it automatically completes the issue number.
I tried to turn off auto-completion and set it up so I can complete manually, but the setting for completion is defined directly in the code.
Therefore, it does not appear that I can change the setting.
https://github.com/pwntester/octo.nvim/blob/490d7145070b6326610d5d41238b1d8e88606f8b/lua/octo/model/octo-buffer.lua#L78-L80v
Describe what happened (or what feature you want)
When writing markdown, I would appreciate the addition of a setting to toggle completion so that unintended completions are not performed.
Describe what you expected to happen

Set octo's setting like manual_completion = true in init.vim
Execute Octo issue edit xxxx
Input #
Input <C-x><C-o> for manual completion

Tell us your environment
nvim v0.7.0
OS: debian

Hi, I think it makes sense to disable the mappings  and document them in the FAQ

Thank you @pwntester !! 👍


Allow removal of rule without additional information

The documentation lists the below as the format to remove an approval rule
wsusserver::approvalrule { 'Default Automatic Approval Rule':
    ensure => 'absent'
}

This doesn't work, as at catalog creation an error occurs about required parameters, namely the requirements are:
wsusserver::approvalrule { 'Default Automatic Approval Rule':
    ensure          => 'absent',
    classifications => [],
    products        => [],
    computer_groups => [],
  }

It would be good to not need the classifications, products and computer_groups for rule removal
Thanks

I think this can be done by adding defaults to the approval rule..
define wsusserver::approvalrule (
    Array[String] $classifications = [], # Critical update, security update...etc
    Array[String] $products = [],
    Array[String] $computer_groups = [],
...


Determine if websearch record is a video

Hi there,
i am using Bing Websearch Trial SDK for Java. It works fine.
How can i check if a websearch record is a video ?
Some relevant fields are returning null. Is this a restriction for trial users ?
My app is iterating through "WebPage myResult = webData.webPages().value().get(i);"
                    ret+=String.format("[%d] Web page name: %s ", i, myResult.name())+LF;
                    ret+=String.format("[%d] Web page URL: %s ", i, myResult.url())+LF;
                    ret+=String.format("[%d] Web page snippet: %s ", i, myResult.snippet())+LF;
                    ret+=String.format("[%d] Web page description: %s ", i, myResult.description())+LF;
                    ret+=String.format("[%d] Web page text: %s ", i, myResult.text())+LF;
                    ret+=String.format("[%d] Web page thumbnailUrl: %s ", i, myResult.thumbnailUrl())+LF;
                    ret+=String.format("[%d] Web page primaryImageOfPage: %s ", i,myResult.primaryImageOfPage())+LF;
                    ret+=String.format("[%d] Web page bingId: %s ", i,myResult.bingId())+LF;
                    ret+=String.format("[%d] Web page image: %s ", i,myResult.image())+LF;

There is no flag indicating the type of underlying answer. Even thumbnailUrl() is null for videos within websearch.
Please clarify

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 921627da-b26e-04d1-bd5b-9a4bac534d72
Version Independent ID: 22ae5aac-98ec-f1cb-3b59-9733d066a5d7
Content: Quickstart: Use the Bing Web Search SDK for Java - Azure Cognitive Services
Content Source: articles/cognitive-services/Bing-Web-Search/web-sdk-java-quickstart.md
Service: cognitive-services
GitHub Login: @aahill
Microsoft Alias: aahi

@u884951 Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@aahill Hi, can you please help to clarify this issue? Thanks a lot!

@u884951   Are you not getting a videos node that identifies the results that are type video?
"videos": {
"id": "https://api.cognitive.microsoft.com/api/v7/#Videos",
"readLink": "https://api.cognitive.microsoft.com/api/v7/videos/search?q=surfing",
"webSearchUrl": "https://www.bing.com/videos/search?q=surfing",
"isFamilyFriendly": true,
"value": [
{
"webSearchUrl": "https://www.bing.com/videos/search?q=surfing&view=detail&mid=F2B45E29F0D7C7FA8002F2B45E29F0D7C7FA8002",
"name": "Siargao Cloud 9 Surfing Cup Finals Highlights 2018",
"description": "Siargao Cloud 9 Surfing Cup Finals Highlights 2018 Source: Surfer Today Website: http://www.siargaoislands.com' Subscribe: https://www.youtube.com/channel/UC4sB...",
"thumbnailUrl": "https://tse1.mm.bing.net/th?id=OVF.vqAEI%2bjZ40VEF6fxOPjEyg&pid=Api",
"datePublished": "2018-12-09T05:38:01.0000000",
"publisher": [
{
"name": "YouTube"
}
],
"isAccessibleForFree": true,
"contentUrl": "https://www.youtube.com/watch?v=19fTeIbwgHg",
"hostPageUrl": "https://www.youtube.com/watch?v=19fTeIbwgHg",
"encodingFormat": "",
"hostPageDisplayUrl": "https://www.youtube.com/watch?v=19fTeIbwgHg",
"width": 1280,
"height": 720,
"duration": "PT1M41S",
"embedHtml": "<iframe width="1280" height="720" src="http://www.youtube.com/embed/19fTeIbwgHg?autoplay=1" frameborder="0" allowfullscreen></iframe>",
"allowHttpsEmbed": true,
"viewCount": 4,
"thumbnail": {
"width": 480,
"height": 360
},
"allowMobileEmbed": true,
"isSuperfresh": true
},


Compile problems

Hi -
awz@razor:~/git/lz4mt$ make
g++ -Wall -W -Wextra -pedantic -Weffc++ -Wno-missing-field-initializers -O2 -std=c++0x -Ilz4/ -Ilz4/programs -c -o obj/lz4mt_benchmark.o src/lz4mt_benchmark.cpp
src/lz4mt_benchmark.cpp:12:20: fatal error: xxhash.h: No such file or directory
#include "xxhash.h"
^
compilation terminated.
make: *** [obj/lz4mt_benchmark.o] Error 1
Looks like the include paths are wrong and the file "xxhash.h" is missing in the latest git source.   Let me know if I can provide more info?    I'm compiling on ubuntu 14.04 with package "build-essential" installed.
Thanks,
Sasha

Another issue solved by
git clone --recursive https://github.com/t-mat/lz4mt.git
src/lz4mt.cpp:12:17: fatal error: lz4.h: No such file or directory
lz4zmt-ls-lR.txt


Move FFI to sub-crates

Which issue does this PR close?

As part of https://github.com/pola-rs/polars/issues/6735 I would like to use the FFI interfaces without needing to bring in the top-level crate, this PR therefore moves FFI into arrow-schema and arrow-data.
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

can we also add arrow-ffi to the crate topology here

It doesn't add a new crate, just moves the ffi logic into the existing sub-crates


[BEAM-7951] Improve the docs for beam_runner_api.proto and WindowedVa…

In this PR would address multiple inputs/outputs for wire coder settings as suggested in #9979
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---

---
---

Java

Python

---

---
---

XLang
---
---
---

---
---
---

Pre-Commit Tests Status (on master branch)

---
Java
Python
Go
Website

Non-portable

Portable
---

---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

I have rebase the code.


Jiva volume is mounted as RO upon replica restart in a single replica configuration

Is this a BUG REPORT or FEATURE REQUEST?
BUG REPORT

What happened:
A jiva volume replica restart caused by a chaos tool (chaoskube) resulted in the volume being remounted as RO at the client - on a single-replica setup, i.e., the PV consisted of a controller and one replica pod.
The replica was seen to be restarted with 60s and was also scheduled back on the same node (the other node in the cluster was cordoned)

Application pod status:

test@Master:~$ kubectl get pods
NAME                                                            READY     STATUS             RESTARTS   AGE
maya-apiserver-5d5944b47c-fbnjh                                 1/1       Running            0          5d
openebs-provisioner-6b8df9746c-gj4gk                            1/1       Running            1          5d
percona-85b8997987-r6bbz                                        0/1       CrashLoopBackOff   5          21m
pvc-b73b20fa-31ab-11e8-9309-000c298ff5fc-ctrl-f7d94646f-nz6r5   2/2       Running            0          21m
pvc-b73b20fa-31ab-11e8-9309-000c298ff5fc-rep-57d69d98b8-t5hgg   1/1       Running            0          7m

Mount on the client:

root@MayaHost02:/var/lib/kubelet/plugins/kubernetes.io/iscsi/iface-default/<IP_ADDRESS>:3260-iqn.2016-09.com.openebs.jiva:pvc-b73b20fa-31ab-11e8-9309-000c298ff5fc-lun-0# touch sample
touch: cannot touch 'sample': Read-only file system

Controller logs:

time="2018-03-27T10:43:51Z" level=warning msg="check condition"
time="2018-03-27T10:43:51Z" level=warning msg="check condition"
time="2018-03-27T10:57:16Z" level=error msg="Error reading from wire: EOF"
time="2018-03-27T10:57:17Z" level=error msg="Backend tcp://<IP_ADDRESS>:9502 monitoring failed, mark as ERR: EOF"
time="2018-03-27T10:57:17Z" level=info msg="Set replica tcp://<IP_ADDRESS>:9502 to mode ERR"
time="2018-03-27T10:57:17Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:9502"
time="2018-03-27T10:57:17Z" level=info msg="stopping target iqn.2016-09.com.openebs.jiva:pvc-b73b20fa-31ab-11e8-9309-000c298ff5fc ..."
time="2018-03-27T10:57:17Z" level=info msg="target iqn.2016-09.com.openebs.jiva:pvc-b73b20fa-31ab-11e8-9309-000c298ff5fc stopped"
time="2018-03-27T10:57:17Z" level=info msg="Removing backend: tcp://<IP_ADDRESS>:9502"
time="2018-03-27T10:57:17Z" level=info msg="Closing: <IP_ADDRESS>:9502"
Closing Listener ...
time="2018-03-27T10:57:17Z" level=error msg="Mode: ReadOnly"
time="2018-03-27T10:57:17Z" level=error msg="Mode: ReadOnly"
time="2018-03-27T10:57:17Z" level=error msg="Mode: ReadOnly"

What you expected to happen:

In a single replica configuration (which might mostly be a dev environment, such as minikube. The storageClass openebs-standalone also supports the same), where there is no quorum logic involved & the pod is back on the same node within 60s, the expectation is that the volume mount continues as RW.

How to reproduce it (as minimally and precisely as possible):

Perform replica failures in a single-replica configuration with live application

Anything else we need to know?:

Fixed by https://github.com/openebs/jiva/pull/45

@payes @ksatchit This issue is seen again in CI E2e run. Jiva volume is going to Read-Only State upon restart of single replica.
ubuntu@kubemaster-01:~$ kubectl get pods -n single-replica
NAME                                                             READY     STATUS             RESTARTS   AGE
percona-599cc564f5-fhmch                                         0/1       CrashLoopBackOff   3          13m
pvc-b2119a74-6556-11e8-9d5a-02b983f0a4db-ctrl-69bcd47658-mt4j5   2/2       Running            1          13m
pvc-b2119a74-6556-11e8-9d5a-02b983f0a4db-rep-7655c7dddf-7rcgn    1/1       Running            0          55s
pvc-b2119a74-6556-11e8-9d5a-02b983f0a4db-rep-7655c7dddf-k2s2h    0/1       Pending            0          15s

ubuntu@kubemaster-01:~$ kubectl logs -f percona-599cc564f5-fhmch -n single-replica
chown: changing ownership of '/var/lib/mysql/client-cert.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/private_key.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/sys_config.TRG': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/statement_analysis.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/host_summary_by_statement_latency.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/user_summary_by_file_io_type.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/memory_global_by_current_bytes.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/statements_with_runtimes_in_95th_percentile.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/io_global_by_wait_by_latency.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/waits_by_user_by_latency.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/db.opt': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/processlist.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/memory_by_host_by_current_bytes.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/memory_global_total.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/host_summary_by_statement_type.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/host_summary_by_file_io.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/waits_by_host_by_latency.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/session_ssl_status.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/wait_classes_global_by_latency.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/waits_global_by_latency.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/statements_with_errors_or_warnings.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/sys_config_insert_set_user.TRN': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_auto_increment_columns.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/statements_with_sorting.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_redundant_indexes.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/latest_file_io.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/version.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/memory_by_thread_by_current_bytes.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/session.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/user_summary_by_file_io.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/user_summary.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/metrics.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/sys_config_update_set_user.TRN': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_object_overview.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/ps_check_lost_instrumentation.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/statements_with_full_table_scans.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/user_summary_by_statement_type.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_table_statistics.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/sys_config.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/wait_classes_global_by_avg_latency.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/host_summary_by_stages.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/io_global_by_wait_by_bytes.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/host_summary_by_file_io_type.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/statements_with_temp_tables.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/sys_config.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_table_lock_waits.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/io_global_by_file_by_bytes.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/host_summary.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_tables_with_full_table_scans.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_table_statistics_with_buffer.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_index_statistics.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/innodb_buffer_stats_by_table.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/memory_by_user_by_current_bytes.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/io_global_by_file_by_latency.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/schema_unused_indexes.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/user_summary_by_stages.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/io_by_thread_by_latency.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/innodb_lock_waits.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/innodb_buffer_stats_by_schema.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys/user_summary_by_statement_latency.frm': Read-only file system
chown: changing ownership of<EMAIL_ADDRESS>Read-only file system
chown: changing ownership of '/var/lib/mysql/sys': Read-only file system
chown: changing ownership of '/var/lib/mysql/lost+found': Read-only file system
chown: changing ownership of '/var/lib/mysql/client-key.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/ca.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/server-key.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/ibdata1': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_summary_by_host_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_by_digest.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_summary_by_host_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/session_connect_attrs.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/memory_summary_by_thread_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/setup_actors.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/memory_summary_global_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/host_cache.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_connection_status.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_current.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/db.opt': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/setup_timers.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_by_account_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_connection_configuration.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/table_io_waits_summary_by_table.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/user_variables_by_thread.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/objects_summary_global_by_type.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_summary_by_thread_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/file_summary_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/setup_instruments.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/mutex_instances.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/users.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_summary_by_user_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_history_long.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/status_by_host.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_history.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/setup_objects.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_history.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_summary_by_thread_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_history_long.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/socket_summary_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_summary_by_host_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_group_members.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_summary_global_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/global_status.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_global_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/cond_instances.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_by_program.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_current.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/accounts.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/table_io_waits_summary_by_index_usage.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_summary_global_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/performance_timers.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/socket_summary_by_instance.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/rwlock_instances.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/file_summary_by_instance.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/file_instances.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/hosts.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/global_variables.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_summary_by_account_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_history_long.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/table_lock_waits_summary_by_table.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_history_long.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/variables_by_thread.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_summary_by_account_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_by_user_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_summary_by_thread_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/session_variables.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/status_by_user.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_current.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/table_handles.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_group_member_stats.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_summary_by_instance.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_by_thread_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/memory_summary_by_user_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_stages_summary_by_user_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_history.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/status_by_thread.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_applier_configuration.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/memory_summary_by_account_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_applier_status.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/setup_consumers.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_summary_global_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_statements_summary_by_host_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/session_status.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/session_account_connect_attrs.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_applier_status_by_worker.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_summary_by_user_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_history.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_transactions_summary_by_account_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/metadata_locks.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/status_by_account.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/memory_summary_by_host_by_event_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/events_waits_current.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/prepared_statements_instances.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/replication_applier_status_by_coordinator.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/threads.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema/socket_instances.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/performance_schema': Read-only file system
chown: changing ownership of '/var/lib/mysql/public_key.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/plugin.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/proxies_priv.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_transition_type.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_leap_second.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_relation.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/tables_priv.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_name.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/user.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/db.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slave_relay_log_info.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/func.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/db.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slave_relay_log_info.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/proxies_priv.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/user.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/db.opt': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/engine_cost.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/innodb_index_stats.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/ndb_binlog_index.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/procs_priv.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_leap_second.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/procs_priv.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_transition.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/event.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_keyword.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/proc.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slow_log.CSM': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/db.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/columns_priv.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/general_log.CSV': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/tables_priv.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/innodb_table_stats.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/proc.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/general_log.CSM': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/plugin.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/gtid_executed.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slave_worker_info.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/server_cost.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/proc.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_keyword.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/server_cost.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slave_master_info.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/user.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_transition_type.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/columns_priv.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/func.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_topic.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/procs_priv.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/servers.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_relation.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slow_log.CSV': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/proxies_priv.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/event.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_topic.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/general_log.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/ndb_binlog_index.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_category.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_transition.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/gtid_executed.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/innodb_table_stats.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slave_master_info.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/engine_cost.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/innodb_index_stats.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/servers.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/func.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slave_worker_info.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/slow_log.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/event.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/time_zone_name.frm': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/tables_priv.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/columns_priv.MYI': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/help_category.ibd': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql/ndb_binlog_index.MYD': Read-only file system
chown: changing ownership of '/var/lib/mysql/mysql': Read-only file system
chown: changing ownership of '/var/lib/mysql/ib_buffer_pool': Read-only file system
chown: changing ownership of '/var/lib/mysql/ca-key.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/auto.cnf': Read-only file system
chown: changing ownership of '/var/lib/mysql/server-cert.pem': Read-only file system
chown: changing ownership of '/var/lib/mysql/xb_doublewrite': Read-only file system
chown: changing ownership of '/var/lib/mysql/ib_logfile1': Read-only file system
chown: changing ownership of '/var/lib/mysql/ibtmp1': Read-only file system
chown: changing ownership of '/var/lib/mysql/ib_logfile0': Read-only file system
chown: changing ownership of '/var/lib/mysql/': Read-only file system

ubuntu@kubemaster-01:~$ kubectl logs -f pvc-b2119a74-6556-11e8-9d5a-02b983f0a4db-ctrl-69bcd47658-mt4j5 -c pvc-b2119a74-6556-11e8-9d5a-02b983f0a4db-ctrl-con -n single-replica
<IP_ADDRESS> - - [01/Jun/2018:04:57:33 +0000] "GET /v1/replicas/dGNwOi8vMTAuNDAuMC44Mzo5NTAy HTTP/1.1" 200 410
time="2018-06-01T04:57:33Z" level=info msg="Get backend tcp://<IP_ADDRESS>:9502 revision counter 2190"
time="2018-06-01T04:57:33Z" level=info msg="Set revision counter of <IP_ADDRESS>:9502 to : 2190"
time="2018-06-01T04:57:33Z" level=info msg="Set backend tcp://<IP_ADDRESS>:9502 revision counter to 2190"
time="2018-06-01T04:57:33Z" level=info msg="Set replica tcp://<IP_ADDRESS>:9502 to mode RW"
time="2018-06-01T04:57:33Z" level=info msg="Update peer details of <IP_ADDRESS>:9502 "
time="2018-06-01T04:57:33Z" level=info msg="Update peer details of <IP_ADDRESS>:9502 "
<IP_ADDRESS> - - [01/Jun/2018:04:57:33 +0000] "POST /v1/replicas/dGNwOi8vMTAuNDAuMC44Mzo5NTAy?action=verifyrebuild HTTP/1.1" 200 410
time="2018-06-01T04:58:26Z" level=error msg="Error reading from wire: EOF"
time="2018-06-01T04:58:27Z" level=error msg="Backend tcp://<IP_ADDRESS>:9502 monitoring failed, mark as ERR: EOF"
time="2018-06-01T04:58:27Z" level=info msg="Set replica tcp://<IP_ADDRESS>:9502 to mode ERR"
time="2018-06-01T04:58:27Z" level=info msg="Monitoring stopped tcp://<IP_ADDRESS>:9502"
time="2018-06-01T04:58:27Z" level=info msg="Removing backend: tcp://<IP_ADDRESS>:9502"
time="2018-06-01T04:58:27Z" level=info msg="Closing: <IP_ADDRESS>:9502"
time="2018-06-01T04:58:31Z" level=error msg="Mode: ReadOnly"
time="2018-06-01T04:58:31Z" level=error msg="Mode: ReadOnly"
time="2018-06-01T04:58:31Z" level=error msg="Mode: ReadOnly"
time="2018-06-01T04:58:31Z" level=warning msg="check condition"

single_replica_failure_test.log
Attaching Stern logs

This issue is fixed in 0.7.0


Add Part 2 Classes

The model currently contains only the classes of the AAS metamodel (aka. Part 1) but the API (aka. Part 2) also introduces further classes. One example are the Descriptors for the registry endpoints. I think it's reasonable to also include the Part 2 classes in this repo, maybe as another module (model-api-classes?) or directly in the current model project.

I think it makes sense to add the Part 2 models in AAS4J since it fits the goal of providing the common models. I would be in favor of putting them in a 'model-api' project to keep a separation between Part 1 & Part 2.
However, there are two open points:

Will we write these classes by hand or also auto-generate from, e.g., RDF? Is there any RDF that will be provided by Plattform Industrie 4.0 for these api models?
If we introduce these models, we should also introduce their JSON serialization in my opinion

What do the others think?

I agree with @FrankSchnicke that we should include de-/serialization, however, this is rather complex task as there are multiple serialization formats and parameters.
Considering the amount of work this requires I would propose to handle it as a separate work package starting after we finished updating Part 1.

@mjacoby:

Considering the amount of work this requires I would propose to handle it as a separate work package starting after we finished updating Part 1.

Completely agreed, especially the different format variations, though only affecting JSON at the moment, give me a lot of headache.

Will we write these classes by hand or also auto-generate from, e.g., RDF? Is there any RDF that will be provided by Plattform Industrie 4.0 for these api models?

I have an ontology and shall files for all classes available in a private branch already, so this wouldn't be a showstopper for us.

If we introduce these models, we should also introduce their JSON serialization in my opinion

True, we would at least need one JSON Schema file for them. Anyone knows if there is a OpenAPI-to-JSON-Schema translator out there? I have used ones for the other way (JSON Schema file to OpenAPI classes) already but never in this direction.

Note, as discussed, we decided that this ticket is relevant for V.1.0.0.

Closed by https://github.com/eclipse-aas4j/aas4j/pull/161


v4 Redirect to a third-party website

At the moment Redirect will push or replace url keeping the base path. Is there a possibility to redirect to a different website. Use case — after filling the form a user is redirected to the payment gateway.

If you're leaving the app, you don't need to navigate with RR, just use javascript.
window.location = <PAYMENT_URL>


Always-on-top setting can get disabled

Windows Version 10.0.19041.172
Somehow by switching between windows, the PiP window lost its always-on-top bit (perhaps via AutoHotKey meddling). Closing and re-opening the window doesn't help.
The workaround is to restart Chrome.

Also have this problem on Linux (GNOME on X11).


Experiencing PoolTimeouts

Currently we face httpx.PoolTimeouts on version v0.10.3
`
Traceback (most recent call last):
| 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
  | 2024-06-19T07:01:54.493Z | result = await app( # type: ignore[func-returns-value]
  | 2024-06-19T07:01:54.493Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
  | 2024-06-19T07:01:54.493Z | await super().call(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in call
  | 2024-06-19T07:01:54.493Z | await self.middleware_stack(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in call
  | 2024-06-19T07:01:54.493Z | raise exc
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in call
  | 2024-06-19T07:01:54.493Z | await self.app(scope, receive, _send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in call
  | 2024-06-19T07:01:54.493Z | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
  | 2024-06-19T07:01:54.493Z | raise exc
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
  | 2024-06-19T07:01:54.493Z | await app(scope, receive, sender)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in call
  | 2024-06-19T07:01:54.493Z | await self.middleware_stack(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
  | 2024-06-19T07:01:54.493Z | await route.handle(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
  | 2024-06-19T07:01:54.493Z | await self.app(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
  | 2024-06-19T07:01:54.493Z | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
  | 2024-06-19T07:01:54.493Z | raise exc
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
  | 2024-06-19T07:01:54.493Z | await app(scope, receive, sender)
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
  | 2024-06-19T07:01:54.493Z | response = await func(request)
  | 2024-06-19T07:01:54.493Z | ^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
  | 2024-06-19T07:01:54.493Z | raw_response = await run_endpoint_function(
  | 2024-06-19T07:01:54.493Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.493Z | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
  | 2024-06-19T07:01:54.493Z | return await dependant.call(**values)
  | 2024-06-19T07:01:54.493Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.493Z | File "/app/powerproxy.py", line 361, in handle_request
  | 2024-06-19T07:01:54.494Z | aoai_response = await aoai_target["endpoint_client"].send(
  | 2024-06-19T07:01:54.494Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1661, in send
  | 2024-06-19T07:01:54.494Z | response = await self._send_handling_auth(
  | 2024-06-19T07:01:54.494Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
  | 2024-06-19T07:01:54.494Z | response = await self._send_handling_redirects(
  | 2024-06-19T07:01:54.494Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
  | 2024-06-19T07:01:54.494Z | response = await self._send_single_request(request)
  | 2024-06-19T07:01:54.494Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1763, in _send_single_request
  | 2024-06-19T07:01:54.494Z | response = await transport.handle_async_request(request)
  | 2024-06-19T07:01:54.494Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
  | 2024-06-19T07:01:54.494Z | with map_httpcore_exceptions():
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
  | 2024-06-19T07:01:54.494Z | self.gen.throw(typ, value, traceback)
  | 2024-06-19T07:01:54.494Z | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions
  | 2024-06-19T07:01:54.494Z | raise mapped_exc(message) from exc
  | 2024-06-19T07:01:54.494Z | httpx.PoolTimeout
  | 2024-06-19T07:02:08.057Z | ERROR: Exception in ASGI application
  | 2024-06-19T07:02:08.057Z | Traceback (most recent call last):
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 69, in map_httpcore_exceptions
  | 2024-06-19T07:02:08.057Z | yield
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 373, in handle_async_request
  | 2024-06-19T07:02:08.057Z | resp = await self._pool.handle_async_request(req)
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request
  | 2024-06-19T07:02:08.057Z | raise exc from None
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 192, in handle_async_request
  | 2024-06-19T07:02:08.057Z | connection = await pool_request.wait_for_connection(timeout=timeout)
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 35, in wait_for_connection
  | 2024-06-19T07:02:08.057Z | await self._connection_acquired.wait(timeout=timeout)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpcore/_synchronization.py", line 148, in wait
  | 2024-06-19T07:02:08.057Z | with map_exceptions(anyio_exc_map):
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
  | 2024-06-19T07:02:08.057Z | self.gen.throw(typ, value, traceback)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
  | 2024-06-19T07:02:08.057Z | raise to_exc(exc) from exc
  | 2024-06-19T07:02:08.057Z | httpcore.PoolTimeout
  | 2024-06-19T07:02:08.057Z | The above exception was the direct cause of the following exception:
  | 2024-06-19T07:02:08.057Z | Traceback (most recent call last):
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 399, in run_asgi
  | 2024-06-19T07:02:08.057Z | result = await app( # type: ignore[func-returns-value]
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
  | 2024-06-19T07:02:08.057Z | await super().call(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in call
  | 2024-06-19T07:02:08.057Z | await self.middleware_stack(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in call
  | 2024-06-19T07:02:08.057Z | raise exc
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in call
  | 2024-06-19T07:02:08.057Z | await self.app(scope, receive, _send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in call
  | 2024-06-19T07:02:08.057Z | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
  | 2024-06-19T07:02:08.057Z | raise exc
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
  | 2024-06-19T07:02:08.057Z | await app(scope, receive, sender)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in call
  | 2024-06-19T07:02:08.057Z | await self.middleware_stack(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
  | 2024-06-19T07:02:08.057Z | await route.handle(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
  | 2024-06-19T07:02:08.057Z | await self.app(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
  | 2024-06-19T07:02:08.057Z | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
  | 2024-06-19T07:02:08.057Z | raise exc
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
  | 2024-06-19T07:02:08.057Z | await app(scope, receive, sender)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
  | 2024-06-19T07:02:08.057Z | response = await func(request)
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
  | 2024-06-19T07:02:08.057Z | raw_response = await run_endpoint_function(
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
  | 2024-06-19T07:02:08.057Z | return await dependant.call(**values)
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/app/powerproxy.py", line 361, in handle_request
  | 2024-06-19T07:02:08.057Z | aoai_response = await aoai_target["endpoint_client"].send(
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1661, in send
  | 2024-06-19T07:02:08.057Z | response = await self._send_handling_auth(
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
  | 2024-06-19T07:02:08.057Z | response = await self._send_handling_redirects(
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
  | 2024-06-19T07:02:08.057Z | response = await self._send_single_request(request)
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1763, in _send_single_request
  | 2024-06-19T07:02:08.057Z | response = await transport.handle_async_request(request)
  | 2024-06-19T07:02:08.057Z | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
  | 2024-06-19T07:02:08.057Z | with map_httpcore_exceptions():
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
  | 2024-06-19T07:02:08.057Z | self.gen.throw(typ, value, traceback)
  | 2024-06-19T07:02:08.057Z | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions
  | 2024-06-19T07:02:08.057Z | raise mapped_exc(message) from exc
  | 2024-06-19T07:02:08.057Z | httpx.PoolTimeout
`

The pool timeout is set/increased to 15 seconds by default. I will add a feature to customize timeouts, but my gut feeling is that you have a capacity constraint somewhere, which should be fixed rather than simply increasing timeouts. Do you have an idea what could cause httpx to run into the timeout? Are you running into network bandwidth issues?

@LeonKalt I have added an option to configure the connection limits and timeouts when connecting to Azure OpenAI and made it part of the latest release just released. Closing the issue for now as there not more I can do here. It might be worth for you to investigate why you are running into the timeouts.

@timoklimmer I will update to v.0.10.4 and will get back to you if we encounter more problems. Thanks for the help!


Allow court to be comma-separated list of courts, some courts search multiple names

i.e. Queen's/King's Bench Division and SCCO/Costs each search each other, because they're the same court under a different neutral citation.
Note this'll need to be parallel with the search upgrades in https://github.com/nationalarchives/ds-caselaw-public-access-service/pull/76

Please don't merge on approval -- staging will break if the public-access-service isn't deployed in tandem.
https://github.com/nationalarchives/ds-caselaw-public-access-service/pull/76

 👩⚖Browse by multiple courts


Fix ASSISTIVE_DEVICES_URL

Example:
stanislas@yeji >   imageoptim --jpegmini '**/*.jpg' '**/*.jpeg'
! Support for assistive devices needed, see https://github.com/JamieMason/ImageOptim-CLI/#jpegmini-and-support-for-assistive-devices

However https://github.com/JamieMason/ImageOptim-CLI/#jpegmini-and-support-for-assistive-devices does not work, since the anchor contains an emoji it's https://github.com/JamieMason/ImageOptim-CLI#-jpegmini-and-support-for-assistive-devices

Merged in 2da95b3, thanks a lot.


Custom ".desktop" Startup Applications Not Working

Hyprland Version
 System/Version info
Linux Fedora
Release: 6.7.7-200.fc39
Hyprland version: 0.36.0

Bug or Regression?
Bug
Description
A .desktop application that was created in .local/share/applications/ is not launching at startup with exec-once = ~/.local/share/applications/appishere.desktop
Otherwise, it launches just fine.
How to reproduce

Create a .desktop file under .local/share/applications
Go into your hyprland config file, and add the line exec-once = ~/.local/share/applications/appishere.desktop
Reboot.
Wait in disappointment as you realize it will never launch.

Crash reports, logs, images, videos
It says Desktop: command not found, TextEditor: command not found. Although those are typical commands you would have in a .desktop file.

How do you want to launch .desktop file? Open it in text editor or cat, take all after Exec= from it and paste to exec-once = in hyprland config

Fixed, thank you.

Fixed, thank you.

To auto start desktop files in a seamless way checkout dex.


#51 wip: Add vite hmr support

see https://vitejs.dev/guide/api-hmr.html

Thanks for giving this a try. I’m not really familiar with vite myself unfortunately.
You should definitely try to get this working locally first with npm link or the like.
Afaict this does not work as you propose. tsc complains:
src/module-factory.ts:173:25 - error TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'.

173       if (module.hot || import.meta.hot) {
                            ~~~~~~~~~~~

src/module-factory.ts:173:37 - error TS2339: Property 'hot' does not exist on type 'ImportMeta'.

173       if (module.hot || import.meta.hot) {

As I understand it, import.meta.hot is always present in vite developement mode and it lets you handle hmr events.

Thanks for giving this a try. I’m not really familiar with vite myself unfortunately.
You should definitely try to get this working locally first with npm link or the like.
Afaict this does not work as you propose. tsc complains:
src/module-factory.ts:173:25 - error TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'.

173       if (module.hot || import.meta.hot) {
                            ~~~~~~~~~~~

src/module-factory.ts:173:37 - error TS2339: Property 'hot' does not exist on type 'ImportMeta'.

173       if (module.hot || import.meta.hot) {

As I understand it, import.meta.hot is always present in vite developement mode and it lets you handle hmr events.

Yeah, im facing a similar typing issue with my own apps.
I just wanted to test this quickly before leaving for a walk, but yeah i figured the linter would complain.
Im not sure where to go from here i can only say that hot-reloading is working correctly with the patch.
Do you have any idea how to mitigate this?
The esnext thing is probably a linter config option one could set, not sure if it has any downsides for this project.
The .hot thing is sadly annoying, maybe its possible to check this in a smarter less error prone way?

As commented on the issue, I quickly tried to add the vite types, but then I got other type errors. Maybe we can just add a vite-hmr.d.ts file and define import.meta.hot? But we should probably also check that import.meta exists, otherwise we might get js errors when using it with webpack, i.e. || import?.meta?.hot.
@MartB if you are up for it, can you try this and update your pull request?

@gertqin im a total newbie when it comes to maintaining packages, so yeah i have no idea how to satisfy all needs here.
The thing i pushed gets rid of the tsc warnings but im not sure if thats the right approach, feel free to work on your own take here.

Thanks for the effort. Indeed, supporting import.meta proved to be very difficult as jest doesn't support it, and I dont like having to change build target just to support a dev feature. I've come up with another solution 7cc6e9c80f1d4416b328fdfb1fc4bd558d162587, which isn't very clean, but at least should be enough for now.


Nested Actions do not support accessing their properties in groovy build scripts

Expected Behavior
The behavior of nested Actions, which are advertised as a replacement for closures, should be the same as those when nested.
Current Behavior
While properties of the parameter of a top-level Action can be accessed in the same way as those in a closure, when an action is nested in another action, its properties can no longer be accessed in that way, while doing so with closures works.
Context
To better support kotlin users, I have attempted to migrate a gradle plugin to use typed Actions instead of Closures, as is recommended in the gradle wiki.
However, this plugin contains a function that takes a closure inside of a class passed through another closure, causing existing build scripts to no longer work without adjustment (it. can be prepended to the properties of the inner action to work around this, but that requires changing existing build scripts).
Steps to Reproduce

Clone this project
It fails
Comment out this line
It works

Your Environment
OS: Arch Linux w/ Linux 5.19.13 (amd64)
JVM: OpenJDK 18.0.2
Gradle 7.5.1

What is possible workaround can be for that configuration method?
Generic can't be specified like below, will be compilation error unexpected token: >
// compilation error `unexpected token: >`
public void cats(
  @DelegatesTo(NamedDomainObjectContainer<Cat>)
  Closure<NamedDomainObjectContainer<Cat>> closure
)

// valid, but information about generic missed.
public void cats(
  @DelegatesTo(NamedDomainObjectContainer)
  Closure<NamedDomainObjectContainer> closure
)

JFYI
It works as expected if the sources written in java
https://github.com/rougsig/gradle-issue-22368


feat(chisel): rawstack / rs command

Overview
Adds a new !rawstack / !rs command to chisel that displays the raw value of a variable's stack allocation.
Motivation
Feature requested by @transmissions11
Solution

Clone the current session source.
Append the following code to the cloned source's run() function, where to_inspect is the argument supplied to !rawstack

bytes32 __raw__;
assembly {
    __raw__ := to_inspect
}

Inspect the __raw__ variable.

Usage

fireee

how/does this work w/ memory types like strings or packed structs?

how/does this work w/ memory types like strings or packed structs?

For memory types, it'll just give you the memory pointer (which is the corresponding stack value for any memory var).
bytes32 __raw__;
assembly {
    // if `to_inspect` is a memory var, it will equal the pointer to the var's data in memory
    __raw__ := to_inspect
}

Included that piece in the help menu for anyone unfamiliar w/ how that works :smile:

there are apparently conflicts, but github doesn't display which files are affected -.-
@clabby could you please merge master and resolve conflicts

there are apparently conflicts, but github doesn't display which files are affected -.-
@clabby could you please merge master and resolve conflicts

Done :+1:


AT+BLESCANPARAM command units

What are the units for this AT command, in particular scan_window and scan_interval ? There is no information in the AT instruction set ...
Thanks!
Nabil

Scan interval.
This is defined as the time interval from when the Controller started its last LE scan until it begins the subsequent LE scan.

Range: 0x0004 to 0x4000 Default: 0x0010 (10 ms)
Time = N * 0.625 msec
Time Range: 2.5 msec to 10.24 seconds

Scan window.
The duration of the LE scan. LE_Scan_Window shall be less than or equal to LE_Scan_Interval

Range: 0x0004 to 0x4000 Default: 0x0010 (10 ms)
Time = N * 0.625 msec
Time Range: 2.5 msec to 10.24 seconds

Thanks @xiewenxiang .
Given the following command  :  AT+BLESCANPARAM=0,0,0,320,40, does this set the following parameters?

interval : 320 * 0.625 msec = 200 msec
window : 40 * 0.625 msec = 25 msec

Anyone ?

@marrakchino
Yes, you are right.


Add support for png icons

Seen here
https://github.com/LedgerHQ/app-boilerplate/actions/runs/5113480413


Added some more format specifiers

I have added format specifiers of long long int, long int, long long int(unsigned), long int(unsigned),and of double.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Closes #1:

Updated validations.py python script
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[x] Tests pass
[x] Appropriate changes to README are included in PR

wdym


comparison with relu activation

Summary
Add additional network comparing with the current network
PR Overview

[ y] This PR requires new unit tests [y/n] (make sure tests are included)
[ y] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[ y] This PR is backwards compatible [y/n]
[ y] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

Thanks for the PR.
I don't think it adds much to the example, whose main purpose is to demonstrate how to write simple custom layers. We won't merge it.


Added support for enum definitions. Improves usage of reusable enums.

I have added the generation of enum definition types.
Empty files were generated for enum types.

Thank you for the PR!
Please add a suitable example to the demo-app/client/swagger-files/unit-test-swagger.json and generate the test files. Thanks!

Thank you for the PR!
Please add a suitable example to the demo-app/client/swagger-files/unit-test-swagger.json and generate the test files. Thanks!

@fazpu Added gender in the UserDetails definition as an example enum in the demo-app.

@fazpu Is it possible to merge this?

I have some issues with this fork compared to v4.1.0. Other than the enums, it renames some methods, such that they conflict. I have the GET methods approval and approval/count, before the generated names were approval and count. Now they are both "getItems", which they share in the OpenApi definition, but no good to use due to conflict.
Also, for the enums, you can simply cast them as const instead of the enum type. This give them stricter type safety with less effort.

@wvpelt sorry for making you wait so long, and thanks a lot for th PR.
Anyway, if you were able to rebase, I would do the review and merge in a few days. Thanks.

Hi, we are closing this PR because rebase was not done.


Age command fix

Changes:

Update command to autoCompile()
Fix https://discord.com/channels/315163488085475337/1226466636811468821

Should be alright now


Update meta tags

The FreeCodeCamp Facebook page still links to http://www.freeCodeCamp.com. It would be great if we could change it to http://www.freecodecamp.org.

@MiloATH OK - I think I've fixed that now. Please verify on your end: https://www.facebook.com/freecodecamp/

Hmm, seems to still go to freeCodeCamp.com.


Chimeric Ambiguous: 172,284,184 (100.00%)

Good morning,
I don't manage to get any relevant interaction because all reads are considered as amgiguous... Do you have any idea where can the problem comes?
I have checked i didn't mistake with reference genome and  restriction enzyme. My fastq files names finish with _R1.fastq and  _R2.fastq... I have no idea what I messed up. Any help?
Thank you!
Mathias

Please post this question to our forum aidenlab.org/forum.html
See issue #64

OK. Sorry for that


Quickstart fails esy install for v0.30.0

Operating System: Osx Catalina

Revery Version: 0.30.0

OCaml version: 4.9.0

Native, Bytecode, or JS build: Native

Steps to reproduce: Trying to run esy install on the quickstart repo after changing to revery 0.30.0 produces the following error:

Actual Result:

error: command failed: 'git' 'ls-remote' 'https://github.com/bryphe/lru%3Alru.opam.git' '2708c70'
stderr:
         fatal: unable to access 'https://github.com/bryphe/lru%3Alru.opam.git/': The requested URL returned error: 400

stdout:

  resolving @opam/lru@github:bryphe/lru%3Alru.opam#2708c70
  resolving<EMAIL_ADDRESS>esy: exiting due to errors above

Expected Result:
to not error

Additional Information:

Search terms used:

Which version fo esy do you have? If it's 0.6.2, could you provide a complete log? Otherwise I'd suggest you try upgrading esy.

I'm using esy 0.6.2
info install 0.6.2 (using package.json)
info checking https://github.com/ocaml/opam-repository for updates...
info checking https://github.com/esy-ocaml/esy-opam-override for updates...
error: command failed: 'git' 'ls-remote' 'https://github.com/bryphe/lru%3Alru.opam.git' '2708c70'
stderr:
         fatal: unable to access 'https://github.com/bryphe/lru%3Alru.opam.git/': The requested URL returned error: 400

stdout:

  resolving @opam/lru@github:bryphe/lru%3Alru.opam#2708c70
  resolving<EMAIL_ADDRESS>esy: exiting due to errors above

cc @prometheansacrifice Any idea why this might happen?

The offending dependency is:
https://github.com/revery-ui/revery/blob/26b11613d4616bc7ab89841ca42ea5f5d35addd2/package.json#L38

I think opam-packages needs to be specified in resolutions, for unreleased packages @glennsl.
See: https://esy.sh/docs/en/using-repo-sources-workflow.html#with-opam-packages

Esy's parser couldn't understand "github:bryphe/lru:lru.opam#2708c70". Changing it to "bryphe/lru:lru.opam#2708c70" will get past this issue.

Thanks @prometheansacrifice!
Odd though, since this has worked fine for me, @bryphe and on the CI boxes for the 22 days since it was added.
Also, should this be considered a bug? Or does the github: scheme have a very specific meaning? I tend to leave it out because I've never encountered a scenario where it's actually necessary,  but I've always considered bryphe/lru a shorthand for github:bryphe/lru, and therefore also considered :lru.opam  an optional part for both.

Definitely a bug in esy! Raised an issue https://github.com/esy/esy/issues/1069

Odd though, since this has worked fine for me, @bryphe and on the CI boxes for the 22 days since it was added.

This is concerning. Hopefully because the resolution went unused for some reason and that esy never had to parse it. Confirming that it never failed until now (preferably with the version of esy where this passes) would be really helpful.

Fix has been merged into master @BlueHotDog. Would you try again?

Hi guys, still an issue:
revery-quick-start on  master [!?] is 📦 v1.3.0 via ⬢ v13.7.0 took 21s
➜ esy install
info install 0.6.2 (using package.json)
info checking https://github.com/ocaml/opam-repository for updates...
info checking https://github.com/esy-ocaml/esy-opam-override for updates...
info resolving esy packages: done
info solving esy constraints: done
error: No solution found:

Conflicting constraints:
  revery-quick-start -> revery -> reason-skia -> esy-freetype2 -><EMAIL_ADDRESS>  revery-quick-start -> revery -> reason-skia -> esy-skia -> esy-libjpeg-turbo ->
  esy-cmake@github:prometheansacrifice/esy-cmake#2a47392def755074afbf63eb794b94135476b1d1

esy: exiting due to errors above

my package.json:
{
  "name": "revery-quick-start",
  "version": "1.3.0",
  "description": "Revery quickstart",
  "license": "MIT",
  "esy": {
    "build": "refmterr dune build -p App",
    "buildsInSource": "_build",
    "install": [
      "esy-installer App.install"
    ]
  },
  "revery-packager": {
    "bundleName": "ExampleApp",
    "bundleId": "com.example.app",
    "displayName": "Revery Example App",
    "mainExecutable": "App",
    "windows": {
      "packages": ["zip"],
      "iconFile": "assets/icon.ico"
    },
    "darwin": {
      "packages": ["tar", "dmg"],
      "iconFile": "assets/icon.icns"
    },
    "linux": {
      "packages": ["tar", "appimage"]
    }
  },
  "dependencies": {
    "ocaml": "~4.9.0",
    "revery": "github:revery-ui/revery#master"
  },
  "resolutions": {
    "@opam/cmdliner": "1.0.2",
    "pesy": "0.4.1",
    "rebez": "github:jchavarri/rebez#46cbc183",
    "@opam/merlin-extend": "0.4"
  },
  "scripts": {
    "format": "bash -c \"refmt --in-place *.re\"",
    "run": "esy x App"

  },
  "devDependencies": {
    "ocaml": "~4.9.0",
    "@opam/dune": "*",
    "@opam/merlin": "*",
    "esy-macdylibbundler": "*"
  }
}

That's more of an issue with revery-quickstart being severely outdated I think.  Let me see if I can get it updated.
In the meantime, you could try the dependencies from https://github.com/revery-ui/revery-workshop instead, which should be more up-to-date.

Should be in order now @BlueHotDog