text:
Bug in integration over trimmed boundary

We get the following error:
nutils v1.dev.3ab03374

curved main \
  --R=2.0 \
  --r=1.0 \
  --l=1.0 \
  --lmbda=1.0 \
  --mu=1.0 \
  --local=False \
  --mmr=0 \
  --degree=1 \
  --solvetol=1e-10 \
  --h_v=[ 2.   1.   0.5]

start Wed Sep 16 13:34:59 2015

starting with h_n = 0
trim · elem 43/100 (42%)
trim · elem 65/100 (64%)
created geometry in 4.34107112885
created volumetric operators in 0.275549888611
finished volume integration in 0.912701129913
created boundary operators in 1.39767408371
ValueError('tuple.index(x): x not in tuple',)
  File "../nutils/nutils/topology.py", line 1311, in boundary
    iedge = ref.edge_transforms.index(tail)
  File "../nutils/nutils/cache.py", line 26, in property_getter
    value = f( self )
  File "../nutils/nutils/topology.py", line 1303, in boundary
    basebtopo = self.basetopo.boundary
  File "../nutils/nutils/cache.py", line 26, in property_getter
    value = f( self )
  File "curved", line 309, in main
    stability_tang_matrix_bottom = domain.boundary['trim_bottom'].integrate( [ flux_norm_matrix,
  File "../nutils/nutils/util.py", line 525, in run
    func( **kwargs )

When running the code below:
#!/usr/bin/env python

from nutils import *
import scipy.sparse.linalg
import time

def precon(M,tol_orth=.99,tol_rem=1e-12):
  islands = []
  p = numpy.ones(M.shape[0],dtype=bool)
  D = scipy.sparse.lil_matrix(scipy.sparse.diags(1./numpy.sqrt(M.diagonal()),0))
  i_v,j_v,dummy = scipy.sparse.find( numpy.abs( scipy.sparse.tril( D.dot(M.dot(D.T)) - scipy.sparse.diags( D.dot(M.dot(D.T)).diagonal(),0 ) ) ) > tol_orth )
  while len(i_v): # while the matrix requires orthonormalisation
    ## sort indices
    for index in zip( i_v, j_v ):
      index = set( index )
      for island in list(islands):
        if island & index:
          islands.remove( island )
          index |= island
      islands.append( index )
    ## orthonormalise
    for island in islands:
      island_unsort = list( island )
      other_indices = list( set(numpy.arange(M.shape[0])) - island )
      intersections = numpy.ravel((numpy.abs(D.dot(M.dot(D.T))[:,other_indices][island_unsort,:])>tol_rem).sum(1))
      island = []
      for island_index in intersections.argsort():
        island.append( island_unsort[island_index] )
      M_p = M[:,island][island,:]
      D_p = numpy.diagflat(1./numpy.sqrt(M_p.diagonal()),0)
      for ind_1 in numpy.arange( len( island ) ):
        for ind_2 in numpy.arange( ind_1 ):
          D_p[ind_1,:] -= D_p[ind_2,:]*D_p[ind_2,:].dot(M_p.dot(D_p[ind_1,:]))
        if D_p[ind_1,:].dot(M_p.dot(D_p[ind_1,:])) <= tol_rem:
          D_p[ind_1,:] = 0
          p[island[ind_1]] = False
        else:
          D_p[ind_1,:] = D_p[ind_1,:]/numpy.sqrt(D_p[ind_1,:].dot(M_p.dot(D_p[ind_1,:])))
      D[:,island][island,:] = D_p
    i_v,j_v,dummy = scipy.sparse.find( numpy.abs( scipy.sparse.tril( D.dot(M.dot(D.T)) - scipy.sparse.diags( D.dot(M.dot(D.T)).diagonal(),0 ) ) ) > tol_orth )
  return D[p,:]

def plotmesh ( domain, geom, disp=0., norm_stress=0., mag_stress=0., name='curved' ):
  points, disp, norm_stress, mag_stress = domain.boundary.simplex.elem_eval( [geom,disp,norm_stress,mag_stress], ischeme='vtk', separate=True )
  with plot.VTKFile(name+'_boundary') as vtkfile:
    vtkfile.unstructuredgrid( points )
    vtkfile.pointdataarray( 'disp', disp )
    vtkfile.pointdataarray( 'norm_stress', norm_stress )
    vtkfile.pointdataarray( 'mag_stress', mag_stress )
#  points, displacement, variable = domain         .simplex.elem_eval( [geom,disp,var], ischeme='vtk', separate=True )
#  with plot.VTKFile(name+'_volume') as vtkfile:
#    vtkfile.unstructuredgrid( points )
#    vtkfile.pointdataarray( 'disp', disp )
#    vtkfile.pointdataarray( 'norm_stress', norm_stress )
#    vtkfile.pointdataarray( 'mag_stress', mag_stress )
  return

def main( R     =  2. , #Radius curve
          r     =  1. , #Radius rod
          l     =  1. , #Length rod
          lmbda =  1. , #First Lame parameter
          mu    =  1. , #Second Lame parameter
          local    = False  , #Stabilisation
          mmr      = 0      , #Minmaxrefine
          degree   = 1      , #Degree
          solvetol = 1e-10  , #Solvetol
          h_v      = numpy.array([2.,1.,.5]) #Gridsize
        ):

  stress = library.Hooke(lmbda=lmbda,mu=mu)

  energy_norm_v = numpy.zeros(h_v.shape)
  energy_tang_v = numpy.zeros(h_v.shape)

  for h_n in numpy.arange(h_v.shape[0]):
    h = h_v[h_n]
    log.user('starting with h_n =',h_n)
    t_old = time.time()

    ni = numpy.ceil(  l  /h)  #Number of inner elements
    no = numpy.ceil((R+r)/h)  #Number of outer elements
    nz = numpy.ceil(  r  /h)  #Number of z elements

    domain, geom = mesh.rectilinear([ numpy.linspace( -h*(ni+degree), h*(no+degree), ni+no+2*degree+1 ),
                                      numpy.linspace( -h*(ni+degree), h*(no+degree), ni+no+2*degree+1 ),
                                      numpy.linspace( -h*(nz+degree), h*(nz+degree),  2*nz+2*degree+1 ) ])

    x, y, z = geom

    bc_norm = function.asarray([ 1.,  0., 0.   ])
    bc_tang = function.asarray([ 0., -z , y-R  ])

    dxy = function.piecewise( function.arctan2(y,x), [0,numpy.pi/2], (x-R)**2                                                ,
                                                                     x**2 + y**2 + R**2 - 2*R*function.sqrt(x**2+y**2),
                                                                     (y-R)**2                                                  )
    lvl_rad    = r**2 - dxy - z**2
    lvl_bottom = l + y
    lvl_left   = l + x
    domain = domain.trim( lvl_rad   , maxrefine = mmr+h_v.shape[0]-h_n-1, name = 'trim_rad'    )
    domain = domain.trim( lvl_bottom, maxrefine = mmr+h_v.shape[0]-h_n-1, name = 'trim_bottom' )
    domain = domain.trim( lvl_left  , maxrefine = mmr+h_v.shape[0]-h_n-1, name = 'trim_left'   )

    tang_tensor    = function.eye( 3 ) - geom.normal()[:,_]*geom.normal()[_,:]
    funcsp         = domain.basis( 'spline', degree=degree ).vector( 3 )
    symgrad_funcsp = funcsp.symgrad(geom)
    stresssp       = stress(symgrad_funcsp)
    log.user('created geometry in',time.time()-t_old)

    ##############################
    # Volume integration         #
    ##############################

    t_old = time.time()
    elasticity_matrix = function.outer( symgrad_funcsp, stresssp ).sum([-1,-2])
    log.user('created volumetric operators in',time.time()-t_old)

    t_old = time.time()
    volume_matrix, locs, vols = domain.integrate( [ elasticity_matrix,
                                                    (symgrad_funcsp**2).sum([-1,-2])[:,_]*geom[_,:],
                                                    (symgrad_funcsp**2).sum([-1,-2])
                                                  ], geometry=geom, ischeme='gauss'+str(2*degree) )
    volume_matrix = volume_matrix.toscipy()
    locs          = locs.toarray()
    xlocs = locs[2*funcsp.shape[0]/3::                  ,0]/vols[2*funcsp.shape[0]/3::                  ]
    ylocs = locs[                   :  funcsp.shape[0]/3,1]/vols[                   :  funcsp.shape[0]/3]
    zlocs = locs[  funcsp.shape[0]/3:2*funcsp.shape[0]/3,2]/vols[  funcsp.shape[0]/3:2*funcsp.shape[0]/3]
    xfacts = (ylocs-numpy.average(ylocs)) * volume_matrix.diagonal()[                   :  funcsp.shape[0]/3]
    yfacts = (zlocs-numpy.average(zlocs)) * volume_matrix.diagonal()[  funcsp.shape[0]/3:2*funcsp.shape[0]/3]
    zfacts = (xlocs-numpy.average(xlocs)) * volume_matrix.diagonal()[2*funcsp.shape[0]/3::                  ]
    x_index  =                       numpy.argmax(volume_matrix.diagonal()[                    :   funcsp.shape[0]/3])
    y_index  =   funcsp.shape[0]/3 + numpy.argmax(volume_matrix.diagonal()[  funcsp.shape[0]/3 : 2*funcsp.shape[0]/3])
    z_index  = 2*funcsp.shape[0]/3 + numpy.argmax(volume_matrix.diagonal()[2*funcsp.shape[0]/3 : :                  ])
    x_index1 =                       numpy.argmin(xfacts); x_index2 =                       numpy.argmax(xfacts)
    y_index1 =   funcsp.shape[0]/3 + numpy.argmin(yfacts); y_index2 =   funcsp.shape[0]/3 + numpy.argmax(yfacts)
    z_index1 = 2*funcsp.shape[0]/3 + numpy.argmin(zfacts); z_index2 = 2*funcsp.shape[0]/3 + numpy.argmax(zfacts)
    log.user('finished volume integration in',time.time()-t_old)

    ##############################
    # Setting stability constants#
    ##############################

    if local:

      if h_n == 0:

        #Create local bases indices
        x_power = numpy.reshape(numpy.tile(numpy.arange(degree+1),(degree+1,degree+1,1)).transpose((0,1,2)),-1)
        y_power = numpy.reshape(numpy.tile(numpy.arange(degree+1),(degree+1,degree+1,1)).transpose((1,2,0)),-1)
        z_power = numpy.reshape(numpy.tile(numpy.arange(degree+1),(degree+1,degree+1,1)).transpose((2,0,1)),-1)
        basis_indices_mu = []; basis_indices_lmbda = []
        for i in numpy.arange((degree+1)**3):
          basis_indices_mu   .append((x_power[i],y_power[i],z_power[i]))
          basis_indices_lmbda.append((x_power[i],y_power[i],z_power[i]))
        basis_indices_mu   .remove(( 0     , 0     , 0      ))
        basis_indices_mu   .remove(( 1     , 0     , 0      ))
        basis_indices_mu   .remove(( 0     , 1     , 0      ))
        basis_indices_mu   .remove(( 0     , 0     , 1      ))
        basis_indices_lmbda.remove(( degree, degree, degree ))

        #Initialise
        beta_mu_norm_dict = {}; beta_mu_tang_dict = {}; beta_lmbda_dict = {}

        #Index Dirichlet boundary elements
        elem_belems = {}
        for belem in domain.boundary['trim_bottom,trim_left']:
          etrans = belem.transform.lookup( domain.edict )
          ielem  = domain.edict[ etrans ]
          elem_belems.setdefault(ielem,[]).append( belem )

        #Loop over Dirichlet boundary elements
        for ielem, belems in log.iter( 'boundary element', elem_belems.items() ):
          velem = domain.elements[ielem]

          #Create local topology
          vdomain = topology.Topology( [velem] )
          bdomain = topology.Topology( belems )

          #Calculate centre of mass
          volume, geom_sep = vdomain.integrate( [ 1., geom ], geometry=geom, ischeme='gauss1' )
          geom_local = geom - geom_sep / volume

          #Create local bases
          basis_blocks = [ f * function.eye(3) for f in function.product( function.power( geom_local[_,:], basis_indices_mu ), axis=-1 ) ]
          basis_blocks.append( function.diagonalize(geom_local) )
          basis_blocks.append([ [ geom_local[1], geom_local[0], 0             ],
                                [ 0            , geom_local[2], geom_local[1] ],
                                [ geom_local[2], 0            , geom_local[0] ] ])
          basis_stab_mu = function.concatenate( basis_blocks, axis=0 )

          basis_stab_lmbda = function.product( function.power( geom_local[_,:], basis_indices_lmbda ), axis=-1 )

          #Operators
          symgrad_basis_mu   = basis_stab_mu.symgrad(geom)
          E_mu_norm_operator = function.outer(  symgrad_basis_mu.dotnorm(geom).dotnorm(geom)                        )
          E_mu_tang_operator = function.outer( (symgrad_basis_mu.dotnorm(geom)[:,_,:] * tang_tensor[_,:,:]).sum(-1) ).sum(-1)
          E_lmbda_operator   = function.outer( basis_stab_lmbda )
          A_mu_operator      = function.outer( symgrad_basis_mu ).sum([-1,-2])
          A_lmbda_operator   = E_lmbda_operator

          #Integrate
          E_mu_norm_elem, E_mu_tang_elem, E_lmbda_elem = bdomain.integrate( [ E_mu_norm_operator, E_mu_tang_operator, E_lmbda_operator ], geometry=geom, ischeme='gauss'+str(2*degree) )
          A_mu_elem, A_lmbda_elem                      = vdomain.integrate( [ A_mu_operator, A_lmbda_operator                          ], geometry=geom, ischeme='gauss'+str(2*degree) )
          E_mu_norm_elem = E_mu_norm_elem.toscipy(); E_mu_tang_elem = E_mu_tang_elem.toscipy(); E_lmbda_elem = E_lmbda_elem.toscipy()
          A_mu_elem = A_mu_elem.toscipy(); A_lmbda_elem = A_lmbda_elem.toscipy()

          #Eigenvalue problem
#          D = precon(A_mu_elem   ); D = D.toarray()
#          beta_mu_norm_dict[velem.transform] = 4*mu   *max(scipy.linalg.eigh(D.dot(E_mu_norm_elem.dot(D.T)),D.dot(A_mu_elem   .dot(D.T)),eigvals_only=True))
#          beta_mu_tang_dict[velem.transform] = 4*mu   *max(scipy.linalg.eigh(D.dot(E_mu_tang_elem.dot(D.T)),D.dot(A_mu_elem   .dot(D.T)),eigvals_only=True))
#          D = precon(A_lmbda_elem); D = D.toarray()
#          beta_lmbda_dict  [velem.transform] = 2*lmbda*max(scipy.linalg.eigh(D.dot(E_lmbda_elem  .dot(D.T)),D.dot(A_lmbda_elem.dot(D.T)),eigvals_only=True))
          D = precon(A_mu_elem   ); D = D.toarray()
          beta_h_mu_norm = 4*mu   *max(scipy.linalg.eigh(D.dot(E_mu_norm_elem.dot(D.T)),D.dot(A_mu_elem   .dot(D.T)),eigvals_only=True))*h
          beta_h_mu_tang = 4*mu   *max(scipy.linalg.eigh(D.dot(E_mu_tang_elem.dot(D.T)),D.dot(A_mu_elem   .dot(D.T)),eigvals_only=True))*h
          D = precon(A_lmbda_elem); D = D.toarray()
          beta_h_lmbda   = 2*lmbda*max(scipy.linalg.eigh(D.dot(E_lmbda_elem  .dot(D.T)),D.dot(A_lmbda_elem.dot(D.T)),eigvals_only=True))*h

#          D = scipy.sparse.csr_matrix(precon(A_mu_elem   ))
#          (eigenvalue,),dummy = scipy.sparse.linalg.eigsh( A=D.dot(E_mu_norm_elem.dot(D.T)), k=1, M=D.dot(A_mu_elem   .dot(D.T)), which='LM' )
#          beta_mu_norm_dict[velem.transform] = 4*mu    * eigenvalue
#          (eigenvalue,),dummy = scipy.sparse.linalg.eigsh( A=D.dot(E_mu_tang_elem.dot(D.T)), k=1, M=D.dot(A_mu_elem   .dot(D.T)), which='LM' )
#          beta_mu_tang_dict[velem.transform] = 4*mu    * eigenvalue
#          D = scipy.sparse.csr_matrix(precon(A_lmbda_elem))
#          (eigenvalue,),dummy = scipy.sparse.linalg.eigsh( A=D.dot(E_lmbda_elem  .dot(D.T)), k=1, M=D.dot(A_lmbda_elem.dot(D.T)), which='LM' )
#          beta_lmbda_dict  [velem.transform] = 2*lmbda * eigenvalue
#          D = scipy.sparse.csr_matrix(precon(A_mu_elem   ))
#          (eigenvalue,),dummy = scipy.sparse.linalg.eigsh( A=D.dot(E_mu_norm_elem.dot(D.T)), k=1, M=D.dot(A_mu_elem   .dot(D.T)), which='LM' )
#          beta_h_mu_norm = 4*mu    * eigenvalue * h
#          (eigenvalue,),dummy = scipy.sparse.linalg.eigsh( A=D.dot(E_mu_tang_elem.dot(D.T)), k=1, M=D.dot(A_mu_elem   .dot(D.T)), which='LM' )
#          beta_h_mu_tang = 4*mu    * eigenvalue * h
#          D = scipy.sparse.csr_matrix(precon(A_lmbda_elem))
#          (eigenvalue,),dummy = scipy.sparse.linalg.eigsh( A=D.dot(E_lmbda_elem  .dot(D.T)), k=1, M=D.dot(A_lmbda_elem.dot(D.T)), which='LM' )
#          beta_h_lmbda   = 2*lmbda * eigenvalue * h

          break

#        #Assign
#        beta_mu_norm = function.Elemwise( beta_mu_norm_dict, () )
#        beta_mu_tang = function.Elemwise( beta_mu_tang_dict, () )
#        beta_lmbda   = function.Elemwise( beta_lmbda_dict  , () )

      beta_mu_norm = beta_h_mu_norm/h
      beta_mu_tang = beta_h_mu_tang/h
      beta_lmbda   = beta_h_lmbda  /h

      ##############################
      # Boundary integration       #
      ##############################

      t_old = time.time()
      #Operators
      flux_norm_matrix    = -function.outer( stresssp.dotnorm(geom).dotnorm(geom) , funcsp.dotnorm(geom) )
      flux_norm_matrix    = flux_norm_matrix + flux_norm_matrix.T
      flux_norm_vector    = -stresssp.dotnorm(geom).dotnorm(geom) * bc_norm.dotnorm(geom)
      penalty_norm_matrix = (beta_mu_norm+beta_lmbda) * function.outer( funcsp.dotnorm(geom) )
      penalty_norm_vector = (beta_mu_norm+beta_lmbda) * funcsp.dotnorm(geom) * bc_norm.dotnorm(geom)
      flux_tang_matrix    = -function.outer( tang_tensor[_,:,:] * stresssp.dotnorm(geom)[:,:,_], funcsp[:,_,:] ).sum([-1,-2])
      flux_tang_matrix    = flux_tang_matrix + flux_tang_matrix.T
      flux_tang_vector    = -(tang_tensor[_,:,:] * stresssp.dotnorm(geom)[:,:,_] * bc_tang[_,_,:] ).sum([-1,-2])
      penalty_tang_matrix = beta_mu_tang * function.outer( ( tang_tensor[_,:,:] * funcsp[:,_,:] ).sum(-1) ).sum(-1)
      penalty_tang_vector = beta_mu_tang * ( tang_tensor[_,:,:] * funcsp[:,:,_] * bc_tang[_,_,:] ).sum([-1,-2])
      log.user('created boundary operators in',time.time()-t_old)

      t_old = time.time()
      #Integrate
      boundary_norm_matrix_bottom,                     boundary_tang_matrix_bottom                     = domain.boundary['trim_bottom'].integrate( [ flux_norm_matrix + penalty_norm_matrix,
                                                                                flux_tang_matrix + penalty_tang_matrix,
                                                                                ], geometry=geom, ischeme='gauss'+str(2*degree) )

      log.user('finished bottom integration in',time.time()-t_old)

      t_old = time.time()
      boundary_norm_matrix_left, boundary_norm_vector, boundary_tang_matrix_left, boundary_tang_vector = domain.boundary['trim_left'  ].integrate( [ flux_norm_matrix + penalty_norm_matrix,
                                                                                flux_norm_vector + penalty_norm_vector,
                                                                                flux_tang_matrix + penalty_tang_matrix,
                                                                                flux_tang_vector + penalty_tang_vector
                                                                                ], geometry=geom, ischeme='gauss'+str(2*degree) )

      log.user('finished left integration in',time.time()-t_old)

      boundary_norm_matrix = boundary_norm_matrix_bottom.toscipy() + boundary_norm_matrix_left.toscipy() + boundary_tang_matrix_bottom.toscipy()
      boundary_tang_matrix = boundary_tang_matrix_bottom.toscipy() + boundary_tang_matrix_left.toscipy()

    else:

      t_old = time.time()
      #Operators
      flux_norm_matrix       = -function.outer( stresssp.dotnorm(geom).dotnorm(geom) , funcsp.dotnorm(geom) )
      flux_norm_matrix       = flux_norm_matrix + flux_norm_matrix.T
      flux_norm_vector       = -stresssp.dotnorm(geom).dotnorm(geom) * bc_norm.dotnorm(geom)
      penalty_norm_matrix    = function.outer( funcsp.dotnorm(geom) )
      penalty_norm_vector    = funcsp.dotnorm(geom) * bc_norm.dotnorm(geom)
      stability_norm_matrix  = function.outer( stresssp.dotnorm(geom).dotnorm(geom) )
      flux_tang_matrix       = -function.outer( tang_tensor[_,:,:] * stresssp.dotnorm(geom)[:,:,_], funcsp[:,_,:] ).sum([-1,-2])
      flux_tang_matrix       = flux_tang_matrix + flux_tang_matrix.T
      flux_tang_vector       = -(tang_tensor[_,:,:] * stresssp.dotnorm(geom)[:,:,_] * bc_tang[_,_,:] ).sum([-1,-2])
      penalty_tang_matrix    = function.outer( ( tang_tensor[_,:,:] * funcsp[:,_,:] ).sum(-1) ).sum(-1)
      penalty_tang_vector    = ( tang_tensor[_,:,:] * funcsp[:,:,_] * bc_tang[_,_,:] ).sum([-1,-2])
      stability_tang_matrix  = function.outer( ( tang_tensor[_,:,:] * stresssp.dotnorm(geom)[:,_,:] ).sum(-1) ).sum(-1)
      log.user('created boundary operators in',time.time()-t_old)

      t_old = time.time()
      #Integrate
      flux_norm_matrix_bottom, \
      penalty_norm_matrix_bottom, \
      stability_norm_matrix_bottom, \
      flux_tang_matrix_bottom, \
      penalty_tang_matrix_bottom, \
      stability_tang_matrix_bottom = domain.boundary['trim_bottom'].integrate( [ flux_norm_matrix,
                                                                                penalty_norm_matrix,
                                                                                stability_norm_matrix,
                                                                                flux_tang_matrix,
                                                                                penalty_tang_matrix,
                                                                                stability_tang_matrix
                                                                               ], geometry=geom, ischeme='gauss'+str(2*degree) )
      log.user('finished bottom integration in',time.time()-t_old)

      t_old = time.time()
      flux_norm_matrix_left, \
      flux_norm_vector, \
      penalty_norm_matrix_left, \
      penalty_norm_vector, \
      stability_norm_matrix_left, \
      flux_tang_matrix_left, \
      flux_tang_vector, \
      penalty_tang_matrix_left, \
      penalty_tang_vector, \
      stability_tang_matrix_left   = domain.boundary['trim_left'  ].integrate( [ flux_norm_matrix,
                                                                                flux_norm_vector,
                                                                                penalty_norm_matrix,
                                                                                penalty_norm_vector,
                                                                                stability_norm_matrix,
                                                                                flux_tang_matrix,
                                                                                flux_tang_vector,
                                                                                penalty_tang_matrix,
                                                                                penalty_tang_vector,
                                                                                stability_tang_matrix
                                                                               ], geometry=geom, ischeme='gauss'+str(2*degree) )
      log.user('finished left integration in',time.time()-t_old)

      flux_norm_matrix      = flux_norm_matrix_bottom     .toscipy() + flux_norm_matrix_left     .toscipy() + flux_tang_matrix_bottom     .toscipy()
      penalty_norm_matrix   = penalty_norm_matrix_bottom  .toscipy() + penalty_norm_matrix_left  .toscipy() + penalty_tang_matrix_bottom  .toscipy()
      stability_norm_matrix = stability_norm_matrix_bottom.toscipy() + stability_norm_matrix_left.toscipy() + stability_tang_matrix_bottom.toscipy()
      flux_tang_matrix      = flux_tang_matrix_bottom     .toscipy() + flux_tang_matrix_left     .toscipy()
      penalty_tang_matrix   = penalty_tang_matrix_bottom  .toscipy() + penalty_tang_matrix_left  .toscipy()
      stability_tang_matrix = stability_tang_matrix_bottom.toscipy() + stability_tang_matrix_left.toscipy()

      #Remove singularities
      p = numpy.ones(funcsp.shape[0],dtype=bool)
      p[ x_index1 ] = False
      p[ x_index2 ] = False
      p[ y_index1 ] = False
      p[ y_index2 ] = False
      p[ z_index1 ] = False
      p[ z_index2 ] = False

      t_old = time.time()
      #Eigenvalue problem
      A_matrix      = volume_matrix        [:,p][p,:]
      E_norm_matrix = stability_norm_matrix[:,p][p,:]
      E_tang_matrix = stability_tang_matrix[:,p][p,:]
      D = precon(A_matrix).toarray()
      log.user('assembled eigenvalue problems in',time.time()-t_old)

      t_old = time.time()
      beta_norm = 2*max(scipy.linalg.eigh(D.dot(E_norm_matrix.dot(D.T)),D.dot(A_matrix.dot(D.T)),eigvals_only=True))
      beta_tang = 2*max(scipy.linalg.eigh(D.dot(E_tang_matrix.dot(D.T)),D.dot(A_matrix.dot(D.T)),eigvals_only=True))
#      (beta_norm,),dummy = 2*scipy.sparse.linalg.eigsh( A=D.dot(E_norm_matrix.dot(D.T)), k=1, M=D.dot(A_matrix.dot(D.T)), which='LM' )
#      (beta_tang,),dummy = 2*scipy.sparse.linalg.eigsh( A=D.dot(E_tang_matrix.dot(D.T)), k=1, M=D.dot(A_matrix.dot(D.T)), which='LM' )
      log.user('solved eigenvalue problems in',time.time()-t_old)

      #Assemble
      boundary_norm_matrix = flux_norm_matrix + beta_norm * penalty_norm_matrix
      boundary_norm_vector = flux_norm_vector + beta_norm * penalty_norm_vector
      boundary_tang_matrix = flux_tang_matrix + beta_tang * penalty_tang_matrix
      boundary_tang_vector = flux_tang_vector + beta_tang * penalty_tang_vector

    ##############################
    # Solve                      #
    ##############################

    #Remove singularities
    p_norm   = numpy.ones(funcsp.shape[0],dtype=bool)
    p_tang   = numpy.ones(funcsp.shape[0],dtype=bool)
    p_tang[ x_index2 ] = False

    t_old = time.time()
    #Assemble
    full_norm_matrix = (volume_matrix + boundary_norm_matrix)[:,p_norm][p_norm,:]
    full_norm_vector = boundary_norm_vector[p_norm]
    full_tang_matrix = (volume_matrix + boundary_tang_matrix)[:,p_tang][p_tang,:]
    full_tang_vector = boundary_tang_vector[p_tang]
    log.user('assembled full systems in',time.time()-t_old)

    #Solve
    t_old = time.time()
    D = scipy.sparse.csr_matrix(precon(full_norm_matrix))
    lhs_free = D.T.dot(scipy.sparse.linalg.cg(D.dot(full_norm_matrix.dot(D.T)),D.dot(full_norm_vector),tol=solvetol,maxiter=10000)[0])
    lhs_norm = numpy.zeros(funcsp.shape[0]); lhs_norm[p_norm] = lhs_free
    log.user('solved norm in',time.time()-t_old)
    t_old = time.time()
    D = scipy.sparse.csr_matrix(precon(full_tang_matrix))
    lhs_free = D.T.dot(scipy.sparse.linalg.cg(D.dot(full_tang_matrix.dot(D.T)),D.dot(full_tang_vector),tol=solvetol,maxiter=10000)[0])
    lhs_tang = numpy.zeros(funcsp.shape[0]); lhs_tang[p_tang] = lhs_free
    log.user('solved tang in',time.time()-t_old)

    ##############################
    # Postprocessing             #
    ##############################

    #Convergence check
    energy_norm_v[h_n] = lhs_norm.dot(volume_matrix.dot(lhs_norm))
    energy_tang_v[h_n] = lhs_tang.dot(volume_matrix.dot(lhs_tang))
    if h_n>0:
      with plot.PyPlot('energy_normal_' ) as plt:
        plt.loglog(h_v[:h_n],numpy.abs(energy_norm_v[:h_n]-energy_norm_v[1:h_n+1]),c='r',marker='o',markersize=10,markeredgecolor='r',linewidth=0,fillstyle='full')
        plt.loglog(h_v[:h_n],numpy.abs(energy_norm_v[h_n-1]-energy_norm_v[h_n])/h_v[h_n-1]**(2*degree)*h_v[:h_n]**(2*degree),c='k',linewidth=1,)
        plt.grid(True)
        #plt.legend(fontsize=20)
        plt.xlabel(r'$h$',fontsize=20)
        plt.ylabel(r'$E(v^h)$',fontsize=20)
      log.user('normal' ,numpy.abs(energy_norm_v[:h_n]-energy_norm_v[1:h_n+1]))
      with plot.PyPlot('energy_tangent_') as plt:
        plt.loglog(h_v[:h_n],numpy.abs(energy_tang_v[:h_n]-energy_tang_v[1:h_n+1]),c='r',marker='o',markersize=10,markeredgecolor='r',linewidth=0,fillstyle='full')
        plt.loglog(h_v[:h_n],numpy.abs(energy_tang_v[h_n-1]-energy_tang_v[h_n])/h_v[h_n-1]**(2*degree)*h_v[:h_n]**(2*degree),c='k',linewidth=1,)
        plt.grid(True)
        #plt.legend(fontsize=20)
        plt.xlabel(r'$h$',fontsize=20)
        plt.ylabel(r'$E(v^h)$',fontsize=20)
      log.user('tangent',numpy.abs(energy_tang_v[:h_n]-energy_tang_v[1:h_n+1]))

    #Plotting
    plotmesh( domain, geom, funcsp.dot(lhs_norm), stresssp.dot(lhs_norm).dotnorm(geom), (stresssp.dot(lhs_norm)**2).sum([-1,-2]), 'h_'+str(int(h_n))+'_normal'  )
    plotmesh( domain, geom, funcsp.dot(lhs_tang), stresssp.dot(lhs_tang).dotnorm(geom), (stresssp.dot(lhs_tang)**2).sum([-1,-2]), 'h_'+str(int(h_n))+'_tangent' )

  return

util.run( main )

Sebastiaan is getting the same error:
ValueError('tuple.index(x): x not in tuple',)
  File "../nutils/topology.py", line 1311, in boundary
    iedge = ref.edge_transforms.index(tail)
  File "../nutils/cache.py", line 26, in property_getter
    value = f( self )
  File "woven_ver2.2", line 128, in main
    cons |= fiber2_topo.boundary['right'].project( -DU, geometry=geom, onto=funcsp_fiber2.dotnorm(geom), ischeme='gauss2' )
  File "woven_ver2.2", line 7, in twod
    return main( m=m, Slice=(slice(None),slice(1),slice(None)), **kwargs )
  File "../nutils/util.py", line 525, in run
    func( **kwargs )

Setting: Multiple trimming operations, then projecting on one of the boundaries.

The bug is fixed for Frits' code above; closing. In case the problem persists in Sebastiaan's code please reopen the issue with the code attached.

repo: nutils/nutils


text:
Jest testing

I updated jest tests for this module. Initially, I wanted to write a test that would fail, but i dont found how to get window or html after init on client. When starting the application in SPA mode, the GTM code is inserted twice. Also i added new issue for this: #3.

@pi0 Updated.

Thanks, @Manfies ❤

source: gharchive/pull-request

repo: nuxt-community/gtm-module

license: MIT

license_type: permissive

license_source: github-api


text:
Change seo option to false for next major version

What problem does this feature solve?
seo = true option is computationally expensive (https://nuxt-community.github.io/nuxt-i18n/seo.html#improving-performance), sometimes even breaks the code, and users typically don't need the functionality it provides and would be fine with using it the way the mentioned link describes.
What does the proposed changes look like?
I suggest change seo option to false by default, update documentation regarding that and suggest using solution from https://nuxt-community.github.io/nuxt-i18n/seo.html#improving-performance
Those who really need that functionality will be able to change the option to true.

This feature request is available on Nuxt community (#c256)

Thanks @rchl, I think this makes sense. Would you have some time to open a PR by any chance?

Guys, THIS MUST BE ADDED IN THE NEXT VERSION!!!! I just waisted a WHOLE DAY trying to figure out why my already built website had a a major issue with my page styles breaking on page route changes because my body class style kept changing all of a sudden. I spent the whole day looking into thing and resorted to changing my CSS to get it to work. The realised what if it's something to do with nuxt-i18n because I installed it the previous day! Then I see this, made seo:false, AND MY WEBSITE IS BACK TO NORMAL AGAIN!!!! (Yes i am extremly happy now!) Guys this is a bad design decision... Never force a setting on a user! Please disable in the next release!

@hga77 That's the plan :) https://github.com/nuxt-community/nuxt-i18n/pull/362/commits/5115b5b45490ad198d0607a3ee5ee2eeeaf1cebd

source: gharchive/issue

authors: hga77 paulgv rchl


text:
Setting STRAPI_URL on runtime instead of on build

Hi, I'm trying to setup a nuxt3 - strapi v4 project to be able to run in a k8 cluster.
I'd like to be able to set the strapi url when the container starts by using the environment variables in my hosting provider.
But it seems the environment variable is fetched only on build, not on start.
I have been trying to use the publicRuntimeConfig because Nuxt3 docs say you can overwrite runtimeconfig values in production if you use the same variable name but i can't get it to overwrite the strapi url. Is this possible?
I have been trying to get this to work locally using:
nuxt.config.ts:
  ... publicRuntimeConfig: {     STRAPI_URL: process.env.STRAPI_URL || 'localhost:1337'   }, ...
.env:
STRAPI_URL = "http://oldruntime.com"
npm run build STRAPI_URL='http://clruntime.com' npm run start
In my nuxt app i then log useStrapiUrl() and useRuntimeConfig():
useStrapiUrl():
http://oldruntime.com/api
useRuntimeConfig():
STRAPI_URL: "http://clruntime.com", strapi:{   cookie: {}   prefix: "/api"   url: "http://oldruntime.com"   version: "v4" }
So the STRAPI_URL is being overwritten in runtime but the strapi.url is still the same url as on build.

I want to ask you if you have solved this problem

Hi,
We found out that to override the public runtime config variables you need to set the config key to NUXT_PUBLIC_STRAPI_URL instead of STRAPI_URL. This was badly documented in the nuxt3 docs but this has been improved.
If you set up your runtime config like this:
runtimeConfig: {     public: {       strapi: {         url: 'http://localhost:1337',       }     }   },
You can override this on runtime by using NUXT_PUBLIC_STRAPI_URL=api.live.com
This could be a nice improvement to the docs of this module itself as well but that might be outside of the scope.

You can override the url through the environment variable NUXT_PUBLIC_STRAPI_URL.
This is possible due to the implementation in the module: https://github.com/nuxt-community/strapi-module/blob/8db8b671aa4300cd5edae4a787c328dc55acc5b6/src/module.ts#L81-L97

Hi, sorry if this question sounds a bit silly.
I can't way to proxy the strapi url to the url where nuxt is running.
Lets say I'm running my strapi on a url https://cms.lalala.io
And I've my nuxt application running on https://my-nuxt.io
Using the next3 proxy i can forward all traffic from  https://my-nuxt.io/api to  https://cms.lalala.io
    vite: {
        server: {
            proxy: {
                "/api": {
                    target: 'https://cms.lalala.io'
                },
            },
        },
    },

The problem is how to point this plugin to accept it own location as the url to be used.
    strapi: {
        url: ///// HERE I can't manage to tell @strapi/nuxt to use it own location.
        prefix: '/api',
        version: 'v4',
        cookie: {},
        cookieName: 'strapi_jwt',
    },

Please any help is welcome.

repo: nuxt-community/strapi-module


text:
Add customPosterOptions

Hi! 👋
Firstly, thanks for your work on this project! 🙂
Today I used patch-package to patch @nuxtjs/cloudinary@3.1.0 for the project I'm working on.

Here is the diff that solved my problem:
--- a/node_modules/@nuxtjs/cloudinary/dist/runtime/components/CldVideoPlayer.vue
+++ b/node_modules/@nuxtjs/cloudinary/dist/runtime/components/CldVideoPlayer.vue
@@ -89,6 +89,7 @@ export type CldVideoPlayerProps = Pick<
   chapters?: Record<string | number, string> | boolean
   chaptersButton?: boolean
   disableRemotePlayback?: boolean
+  customPosterOptions?: object
 }

 const props = withDefaults(defineProps<CldVideoPlayerProps>(), {
@@ -118,7 +119,6 @@ const {
   width,
   config,
 } = props as CldVideoPlayerProps
-
 const playerTransformations = Array.isArray(transformation)
   ? transformation
   : [transformation]
@@ -202,6 +202,10 @@ const handleOnLoad = () => {
       playerOptions,
     )

+    if (props?.customPosterOptions) {
+      playerRef.value.posterOptions(props.customPosterOptions);
+    }
+
     Object.keys(events).forEach((key) => {
       if (typeof events[key] === 'function') {
         playerRef.value?.on(key, handleEvent)
@@ -247,6 +251,7 @@ useHead({
       :width="width"
       :height="height"
       :disableRemotePlayback="disableRemotePlayback"
+      :autoplay="Boolean(autoPlay)"
     />
   </div>
 </template>

This issue body was partially generated by patch-package.

Hey buddy, thanks for creating it but not sure what we should do from the module side: Could you elaborate what you would expect? :)

Bringin in Tony Nebera.

Hey Guys. Cloudinary automatically creates a poster image for videos. And also it has some specific options. In our case we had to pass transformation to create an imagr from the first video slide to prevent jumpy effect and make video play as smooth as it can be. Like this:
posterOptions: {     transformation: {       startOffset: "0"     }   }

hey all - in Next Cloudinary, the Next.js equivalent, we support passing an object into the poster prop which will then allow you to use the same API as CldImage/getCldImageUrl to transform an image
https://next.cloudinary.dev/cldvideoplayer/examples#poster-transformations
i dont think it suports startOffset yet, might need to add that, or you can add it as a raw transformation in the meantime, but what do you think about that as an API?
it probably makes sense to expose all Video Player features in an escape hatch for when something isn't suitable, but the goal of the Poster object is to bring consistency between the different APIs
wdyt?

@colbyfayock
Do you think that we should have poster prop in the CldVideoPlayer.vue component as well?

authors: Baroshem billnbell3 colbyfayock tony-nebera

repo: nuxt-modules/cloudinary


text:
@nuxtjs/i18n & vuew-i18n, a 400 error occurred

Environment
systemInfo>>>>>>>>>>>>>
System:
OS: macOS 10.15.7
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 395.01 MB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
npmPackages:
@nuxtjs/i18n: ^8.0.0-beta.11 => 8.0.0-beta.11
@pinia/nuxt: ^0.4.9 => 0.4.9
@types/node: ^18 => 18.16.0
@types/tailwindcss: ^3.1.0 => 3.1.0
@types/video.js: ^7.3.51 => 7.3.51
@videojs-player/vue: ^1.0.0 => 1.0.0
@vueuse/core: ^10.1.0 => 10.1.0
@vueuse/nuxt: ^10.1.0 => 10.1.0
cross-env: ^7.0.3 => 7.0.3
h3: ^1.6.4 => 1.6.4
nuxt: ^3.4.2 => 3.4.2
nuxt-lodash: ^2.4.1 => 2.4.1
nuxt-swiper: ^1.1.0 => 1.1.0
pinia: ^2.0.35 => 2.0.35
pinia-plugin-persist: ^1.0.0 => 1.0.0
sass: ^1.62.0 => 1.62.0
tailwindcss: ^3.3.1 => 3.3.1
video.js: ^8.0.4 => 8.0.4
vite-plugin-svg-icons: ^2.0.1 => 2.0.1
vue-i18n: ^9.3.0-beta.17 => 9.3.0-beta.17
systemInfo>>>>>>>>>>>>>
"nuxt": "^3.4.2",
"@nuxtjs/i18n": "^8.0.0-beta.11",
"vue-i18n": "^9.3.0-beta.17"

Reproduction
https://github.com/Boom-BO/nuxt3-demo
Describe the bug
nuxt.config.ts:
	// build modules
	modules: [
		'@vueuse/nuxt',
		'@pinia/nuxt',
		'@nuxtjs/i18n',
		'nuxt-swiper',
		'nuxt-lodash',
		'nuxt-lodash'
	],
	i18n: {
		vueI18n: './i18n/index.ts'
	},

nuxt dev has error =============>

Additional context
No response
Logs
No response

The problem disappeared, and the problem of 431 Request Header Fields Too Large appeared #2027

The problem disappeared, and the problem of 431 Request Header Fields Too Large appeared #2027

same 431 code here
"nuxt": "^3.4.0",
"@nuxtjs/i18n": "^8.0.0-beta.11",


text:
docs: fix broken link

🔗 Linked issue

❓ Type of change

[x] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

I fixed the broker link at https://nuxtseo.com/docs/robots/getting-started/installation and changed the list order based on the order used at the left side navigation

Thanks!

authors: dredav harlan-zw

repo: nuxt-modules/robots


text:
docs: update components.md

help text components, better English and combination of some vuejs and nuxt documentation

Hi I will do later. I will look over all the Help Tips if there is a need for it.There are still some typos etc in other files.Do you want one PR per MD file?
-------- Original message --------From: Arash @.> Date: 9/28/23  17:41  (GMT+01:00) To: nuxt/devtools @.> Cc: lustremedia @.>, Author @.> Subject: Re: [nuxt/devtools] Update components.md  (PR #448)
@arashsheyda commented on this pull request.
In packages/devtools/client/components/docs/components.md:

-Vue components under the components/ directory are automatically registered and can be used in your templates without importing them.
+Components placed in the components/ directory are automatically registered by nuxt. They can be used in your templates without importing them.
thank you for these PRs! can you revert the hooks commit so it's separated?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

thank you so much. yes I think separate PRs is better for tracking. and you can read here more about contribution

Ok closing this PR. Opening another with just components.md in a second!

authors: arashsheyda lustremedia

repo: nuxt/devtools


text:
Documentation confusion for generate

Version
v2.4.5
Reproduction link
https://nuxtjs.org/guide/commands
Steps to reproduce
First off - please note that I'm reporting a documentation issue. "Reproduction link" doesn't necessarily make sense in that case but I've included the link to the docs in question.
The docs say this about generate and dynamic routes:
"If you have a project with dynamic routes, take a look at the generate configuration to tell Nuxt.js how to generate these dynamic routes."
The link there goes to here: https://nuxtjs.org/api/configuration-generate. And that page says, very clearly:
"Dynamic routes are ignored by the generate command."
However when I tested a simple app with dynamic routes, the generate command created a SPA that worked perfectly. I did some Googling and found this Reddit post mentioning the same behavior:
https://www.reddit.com/r/Nuxt/comments/9wy72h/i_can_still_access_dynamic_route_params_with_nuxt/
So I guess my question/issue is: Is this expected, and if so, shouldn't the docs make it clear? Btw I'd be happy to help write those docs, but I just wanted to be sure.
As a followup, if the generate command is seeing the dynamic routes and auto creating a SPA, does this mean I can't not create a SPA? Like if I set up a generate config and want a non-SPA static app, will I be able to if the generate command seems to force it anyway?
What is expected ?
The docs to mention that it will work with SPA.
What is actually happening?
It's not. :)

This bug report is available on Nuxt community (#c8795)

Hey :wave:

First off - please note that I'm reporting a documentation issue. "Reproduction link" doesn't necessarily make sense in that case but I've included the link to the docs in question.

Feel free to do so in the https://github.com/nuxt/docs/ repo next time if it's directly linked to the docs :relaxed:

Regarding your question
If you use nuxt generate, you usually want a statically generated page. That means, having one HTML file per route which contains actual HTML which was  rendered by the server.
You want that because it'll give you the "best of both worlds", good SEO, faster TTI and so on but without running a Node.js server all the time. (Further read)
If you want a traditional SPA, you typically have just one index.html file with almost no HTML but Javascript included.
Source code of a typical SPA

Dynamic routes
When you "pre-render" (=== statically generate) your page, Nuxt needs the information which routes it should render. For routes without parameters that's easy (e.g. about.vue or posts/index.vue). As soon as there are dynamic parameters, Nuxt can't "guess" them.
So yes, dynamic routes are "ignored" because Nuxt don't know what do to with them except you tell Nuxt which routes to pre-render.
These routes will then be generated. This does not mean that you can't access dynamic routes that you didn't provide to Nuxt. You can still access them (example: a post that doesn't exists) and the requests will be parsed (depending on your server config and whether you have generate.fallback enabled or not) but you lose the SEO benefit and see a spinner as the fallback file is equivalent to the index.html from your traditional SPA.
Hope that helped :relaxed:

This does help! Everything you said makes sense, however, don't you agree that the docs lead one to believe that you must use a custom generate config option in order to support dynamic routes?
Btw if you (or others) agree, I'll definitely open a new bug on the other repo.

@cfjedimaster I agree that it's not the best phrasing and might be misleading. Feel free to send a Pull Request to change that if you want :+1: :relaxed:

Ok thank you - please feel free to close this as a non issue and I'll refile when I've got a bit more time. (Refile and then work on a PR.)

authors: cfjedimaster manniL


text:
Programmatically smart prefetch

Hello hello,
Is your feature request related to a problem? Please describe.
I'm working on a portfolio website where each project page is showcased with a slider component.
In the last slider, user is able to continue visiting the next project page by clicking the nuxt-link component (page is prefetched when link is hovered).
Alternatively user is able to navigate through the project using controls such as keyboard arrows.
To do so, I'm listening to keyboard event and using $route.push() methods. In such case the next route will not be prefetched.
Prefetching routes is critical in order to make seamless and instant transitions between views.
Describe the solution you'd like
I'd like to have a method similar to the smart prefetching feature in non-traditional scenarios where :

user is expected to visit a specific route
user can visit this specific route without clicking on the nuxt-link component

In my case I'd trigger a route prefetch as soon as user reach the last slide but you could image any other kind of route prefetching when you reach a specific segment on your website (e.g. intersection observer based route prefetching).
I'd love to be using $route.push('/next-route') with hypothetical $route.prefetch('/next-route') method.
Describe alternatives you've considered
I know that smart prefetching is a nuxt-link component feature tied to Vue router but I failed to find relevant documentations to my specific issue.
I searched for  source code in order to learn and experiment with prefetching but could not find the actual source code (any hint would be appreciated in that regard)
Additional context
See original SPA-like project that I'd like to port to Nuxt : https://victorpattyn.com/

Apparently, nuxt-link component is using fetchPayload method (https://github.com/nuxt/nuxt.js/blob/3bba4c6a7fd086aaa434e0abf92bdc9480fd3f4e/packages/vue-app/template/components/nuxt-link.client.js)

Apparently, nuxt-link component is using fetchPayload method (https://github.com/nuxt/nuxt.js/blob/3bba4c6a7fd086aaa434e0abf92bdc9480fd3f4e/packages/vue-app/template/components/nuxt-link.client.js)

Hi @LeoSeyers
Actually, the prefetch is done once the nuxt-link is visible in the viewport, not on hovering, so it should work without any tricks as long as you display a nuxt-link to the target page.

@Atinux  Thank you for the clarification. Just reread the docs and that's indeed what it's said.
I will edit my OP to reflect that.
Out of curiosity, could I use fetchPayload in cases where there is no nuxt-link?

Hi @LeoSeyers
Actually, the prefetch is done once the nuxt-link is visible in the viewport, not on hovering, so it should work without any tricks as long as you display a nuxt-link to the target page.

@Atinux  Thank you for the clarification. Just reread the docs and that's indeed what it's said.
I will edit my OP to reflect that.
Out of curiosity, could I use fetchPayload in cases where there is no nuxt-link?

I think so, never tried 😅

I think so, never tried 😅

authors: Atinux LeoSeyers


text:
fix(test): not use esm in jest

Types of changes

[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

As esm package has been broken since jest 25, so this pr if ignoring esm in jest, this will avoid jest regression failure in nuxt modules.
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

Codecov Report

Merging #7476 into dev will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##              dev    #7476   +/-   ##
=======================================
  Coverage   70.32%   70.33%
=======================================
  Files          88       88
  Lines        3704     3705    +1
  Branches     1010     1012    +2
=======================================
+ Hits         2605     2606    +1
  Misses        892      892
  Partials      207      207

Flag
Coverage Δ

#unittests
70.33% <100.00%> (+<0.01%)
:arrow_up:

Impacted Files
Coverage Δ

packages/config/src/load.js
77.38% <ø> (+0.27%)
:arrow_up:

packages/core/src/resolver.js
97.33% <100.00%> (ø)

Continue to review full report at Codecov.

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

@pi0 Feel free to merge or close if we're gonna remove esm.

@clarkdo PR is good we should remove esm more carefully. I was just thinking to provide an option instead of disabling. Can make changes in same PR :)

authors: clarkdo codecov-commenter pi0


text:
fix bug setFoldrs caused payload loading errors

setFoldrs caused payload loading errors
This is a temporary fix
#7559 #7622
I think the problem is here, but I still don’t know the design intent here.
https://github.com/nuxt/nuxt.js/blob/99432d5d945c888fdea59094b96349397882af8e/packages/generator/src/generator.js#L365

Codecov Report

Merging #7692 into dev will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##              dev    #7692   +/-   ##
=======================================
  Coverage   70.13%   70.13%
=======================================
  Files          88       88
  Lines        3764     3764
  Branches     1025     1025
=======================================
  Hits         2640     2640
  Misses        913      913
  Partials      211      211

Flag
Coverage Δ

#unittests
70.13% <0.00%> (ø)

Impacted Files
Coverage Δ

packages/vue-renderer/src/renderers/ssr.js
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

Hi, @idler8 thanks for pull request. Actually linked issue #7559  is fixed with v2.13.3 (PR: #7657) (also related #7648)
For this fix and #7622, we also need a reproduction to confirm before applying changes.

I did not find a place where I could get the setFolders parameter when rendering.
I think this is a design flaw with inconsistent routing.
You can take a look at the repair suggestions on my issue.
The Nuxt.js code is confusing in my opinion, lacking comments, I have no ability to fix it fundamentally, surface corrections will only cause bigger problems.
@pi0 thanks.


text:
Banner not visible

### Tasks

Please try clearing your browser cache and checking the banner in incognito mode (or on any other device/browser you might have). The banner is displayed correctly for me and other users, as demonstrated in the comment of the linked pull request.

repo: nuxt/nuxt


text:
docs: add custom fetch composable example

🔗 Linked issue
#14736
❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Adds an example in the other folder of custom use fetch composable. It handles default values and auth but can be overriden.
📝 Checklist

[x] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

should we close #14736 ?

We also need to add some composables for modifying the inner behaviour of the data fetching composables, much as we have defineNuxtLink.

authors: adrienZ danielroe


text:
Mapped State from vuex is undefined

Environment

Operating System: Linux
Node Version:     v18.18.0
Nuxt Version:     3.10.3
CLI Version:      3.10.1
Nitro Version:    2.9.3
Package Manager:  npm@10.2.3
Builder:          -
User Config:      devtools, modules
Runtime Modules:  @nuxt/test-utils/module@3.11.0
Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-eitvto?file=components%2FCounter%2Findex.spec.ts
Describe the bug
When using either renderSuspended or mountSuspended i run into a strange behaviour.
I use mapState / mapGetters to create computed Properties within my component. But during the render phase, these values are undefined.
Surprisingly, when using the debugger, the actual computed returnes the correct value.
To highlight this strage behaviour i have created a method with a console output like this:
<template>

Count: {{ count }}

    Settings: {{ getIncrementedBy(settings) }}
    <button @click="increment">Increment</button>

</template>

It is being used directly in the template like so:
Settings: {{ getIncrementedBy(settings) }}

I'd expect settings to have the exact same value as this.$store.state.settings.
But the actual output is:
Settings undefined
Actual Settings { incrementBy: 1 }

This only occures when using renderSuspended or mountSuspended from @nuxt/test-utils/runtime.
When using render from '@testing-library/vue' it's working as expected.
I hope the above makes sense!
Additional context
No response
Logs
stderr | components/CounterUsingMethod/index.spec.ts > CounterUsingMethod - render > should show initial count
Settings { incrementBy: 1 }
Actual Settings { incrementBy: 1 }

stderr | components/CounterUsingMethod/index.spec.ts > CounterUsingMethod - renderSuspended > should show initial count
Settings undefined
Actual Settings { incrementBy: 1 }

[Vue warn]: Unhandled error during execution of render function
  at <Index >
  at <Anonymous>
  at <Anonymous ref="VTU_COMPONENT" >
  at <VTUROOT>

 ❯ components/CounterUsingMethod/index.spec.ts (3) 10014ms
   ✓ CounterUsingMethod - render (1)
     ✓ should show initial count
   ❯ CounterUsingMethod - renderSuspended (1) 10008ms
     × should show initial count 10008ms
       ⠧ [ beforeEach ]
       ⠹ [ afterEach ]
   ↓ CounterUsingMethod - mountSuspended (1) [skipped]
     ↓ should show initial count [skipped]

It seems to have been resolved by https://github.com/nuxt/test-utils/pull/963.
The issue is resolved in the latest version.
https://stackblitz.com/edit/nuxt-starter-ug3i9r

authors: marcel-wtfoxtrot wattanx

repo: nuxt/test-utils


text:
RadioGroup color does not work

Environment

Operating System: Linux
Node Version:     v20.10.0
Nuxt Version:     3.8.2
CLI Version:      3.10.0
Nitro Version:    2.8.0
Package Manager:  yarn@1.22.19
Builder:          -
User Config:      anime, app, colorMode, devtools, eslint, fontMetrics, googleFonts, imports, modules, nitro, runtimeConfig, ssr, tailwindcss, telemetry, ui
Runtime Modules:  @hypernym/nuxt-anime@2.1.1, @nuxtjs/fontaine@0.4.1, @nuxtjs/google-fonts@3.1.0, @nuxtjs/eslint-module@4.1.0, @nuxt/ui@2.11.0
Build Modules:    -

Version
2.10.0
Reproduction
Try in on Nuxt UI documentation page: https://ui.nuxt.com/forms/radio-group#style
Description

Additional context
No response
Logs
No response

The issue is here
https://github.com/nuxt/ui/blob/4d72a758fad5cffa09f3aaf6b3df9baf7edc2a9f/src/runtime/components/forms/RadioGroup.vue#L102
Using the spread operator breaks the reactivity. I can't make a PR because I'm not not sure what isFieldSet field is used for.

#914 @romhml This issue is related to your pr. Since I can't think of a good solution I thought tagging you would be okay

authors: VladimirCores metkm

repo: nuxt/ui


text:
Toasts can't close when Modal is up

Description
I noticed there can be some conflicts between <UNotifications /> and headless ui's dialogs. This makes it so toasts can't be closed when a <UModal /> is up. I'm not sure how to best solve this since it seems like it's more-so because of headless ui's focus trapping, but I've had some luck with changing where I mount <UNotifications /> so it's teleported to the body
<Teleport to="body">
  <UNotifications />
</Teleport>

Stackblitz for this: https://stackblitz.com/edit/nuxt-ui-vyjawz?file=pages%2FwithTeleport.vue

pages/index.vue mimics the current docs recommendation
pages/withTeleport.vue teleports <UNotifications /> to the body (allows you to click the close button but can't tab to it)
pages/withOpenDialog.vue has some rough ideas for dealing with headless ui's focus management. I'm pretty much just conditionally rendering the primary <UNotifications /> based off the modal being open and toasts existing, but it's pretty hacky and jumpy

Additional context
No response

The UNotifications component should already be teleported to the body since https://github.com/nuxt/ui/pull/909. It has been released in 2.11.0.

authors: benjamincanac nicolehollant


text:
[gpuCI] Forward-merge branch-22.06 to branch-22.08 [skip gpuci]

Forward-merge triggered by push to branch-22.06 that creates a PR to keep branch-22.08 up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge.

SUCCESS - forward-merge complete.

repo: nv-morpheus/Morpheus


text:
sout03-sp2

link: https://esotemp.vse.cz/~sout03/sp2/

Poznamky k SP1 k nalezeni v homepage HTML souboru zde:
https://github.com/nvbach91/4IZ268-2022-2023-ZS/tree/main/www/sp1,
aktualni stav bodu zde:
https://dev.itake.cz/link/


text:
🛑 Kubeflow ML Platform is down

In afc4b15, Kubeflow ML Platform (https://kubeflow.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Kubeflow ML Platform is back up in 9d76300.

repo: nvgsg/lab-upptime


text:
🛑 PufferAI HPC Portal is down

In b2483da, PufferAI HPC Portal (https://hpc.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PufferAI HPC Portal is back up in d8e5c9b.


text:
🛑 Kubeflow ML Platform is down

In 666f1bf, Kubeflow ML Platform (https://kubeflow.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Kubeflow ML Platform is back up in 0e29c77.


text:
🛑 NVIDIA AI Enterprise Hub is down

In a69a802, NVIDIA AI Enterprise Hub (https://nvaie.lab.novaglobal.com.sg) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NVIDIA AI Enterprise Hub is back up in acd9594.


text:
ALE: Ignoring Pep8 errors in Flake8 under

I use vim-plug as plugins manager. I installed ALE and then I have flake8 and autopep8 installed.
As far as I understood, autopep8 is for fixing error automatically on save, and flake8 is to highlight the errors when file is opened or edited.
I am trying to ignore errors/warning that are shown when opening/editing the file, hence Flake8 errors, right?
I just looked in here that ``g:flake8_ignore` is deprecated.

I had flake8 under $HOME/.config and it no longer works, I had to copy that to $HOME/.flake8 and vim works again. Is the configuration location changed?

I had flake8 under $HOME/.config and it no longer works, I had to copy that to $HOME/.flake8 and vim works again. Is the configuration location changed?

The location of flake8's config has indeed changed. This has nothing to do with the vim-flake8 Vim plugin though, but with flake8 itself, which is a different project.

authors: eduardo4jesus laoshaw nvie

license_source: bigquery


text:
Treesitter issue with fresh kickstart nvim clone

Describe the bug
When using a fresh setup of kickstart nvim and opening a .go file I get this error:
Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: .../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:21: Error executing lua: .../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:22: BufRead
Post Autocommands for "*"..FileType Autocommands for "*": Vim(append):Error executing lua callback: ...3Uyf/usr/share/nvim/runtime/lua/vim/treesitter/query.lua:259: query: invalid struct
ure at position 2022 for language go
stack traceback:
        [C]: in function '_ts_parse_query'
        ...3Uyf/usr/share/nvim/runtime/lua/vim/treesitter/query.lua:259: in function 'get_query'
        ...r-textobjects/lua/nvim-treesitter/textobjects/shared.lua:99: in function 'available_textobjects'
        ...r-textobjects/lua/nvim-treesitter/textobjects/select.lua:172: in function 'attach'
        ...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:509: in function 'attach_module'
        ...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:532: in function 'reattach_module'
        ...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:133: in function <...vim/lazy/nvim-treesitter/lua/nvim-treesitter/configs.lua:132>
        [C]: in function 'nvim_cmd'
        .../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:22: in function <.../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:21>
        [C]: in function 'nvim_buf_call'
        .../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:21: in function <.../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_cmd'
        .../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:22: in function <.../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:21>
        [C]: in function 'nvim_buf_call'
        .../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:21: in function <.../.mount_nvim.aEX3Uyf/usr/share/nvim/runtime/filetype.lua:10>
stack traceback:
        [C]: in function 'nvim_buf_call'

To Reproduce

Download the lastest version of neovim
Clone kickstart.nvim to ~/.config/nvim
Navigate to a .go file and open it, the error will now show

Desktop

OS: Ubuntu 22.04
Terminal: Kitty

Neovim Version

0.9 and 0.91

- 0.9 and 0.91

Additional Investigations
Rolling back treesitter to commit 23dfae4 seems to have fixed the issue
  {
    -- Highlight, edit, and navigate code
    'nvim-treesitter/nvim-treesitter',
    commit = '23dfae4',
    dependencies = {
      'nvim-treesitter/nvim-treesitter-textobjects',
    },
    build = ":TSUpdate",
  },

then run :Lazy and hit S to sync

This appears to be a bug with nvim-treesitter and not kickstart -- I'd recommend filing an issue on that repository.

This appears to be a bug with nvim-treesitter and not kickstart -- I'd recommend filing an issue on that repository.

I figured as much and have done so. This issues seems to be with tree sitter text objects

authors: TheLazyLemur mech-a


text:
E5108: Error executing lua [string ":lua"]:1: attempt to index field 'run' (a nil value)

Not sure what is causing this error. But I cannot run any of the nvim-neotest commands

require("neotest").run.run()

E5108: Error executing lua [string ":lua"]:1: attempt to index field 'run' (a nil value)
stack traceback:
        [string ":lua"]:1: in main chunk

require("neotest").run.run(vim.fn.expand("%"))

E5108: Error executing lua [string ":lua"]:1: attempt to index field 'run' (a nil value)
stack traceback:
        [string ":lua"]:1: in main chunk

I followed the packer setup recommended in the README.md:
use({
  'nvim-neotest/neotest',
  requires = {
    ...,
    'haydenmeade/neotest-jest',
  }
  config = function()
    require('neotest').setup({
      ...,
      adapters = {
        require('neotest-jest')({
          jestCommand = "npm test --",
          jestConfigFile = "custom.jest.config.ts",
          env = { CI = true },
          cwd = function(path)
            return vim.fn.getcwd()
          end,
        }),
      }
    })
  end
})

And I have dap-vscode-js configured https://github.com/sjdonado/sjdonado.nvim/blob/master/lua/sjdonado/debugger/node.lua

In my case, the config function in packer wasn't running. I called it explicitly elsewhere and the errors went away.

In my case, the config function in packer wasn't running. I called it explicitly elsewhere and the errors went away.

how you did it?

I called the following snippet outside of packer's startup function.
require('neotest').setup({
    adapters = {
		require("neotest-jest"),
	},
	output = {
		enable = true,
		open_on_run = true,
	},
})

The section in my packer startup function looks like this now:
  use {
    "nvim-neotest/neotest",
    requires = {
      'nvim-lua/plenary.nvim',
      'nvim-treesitter/nvim-treesitter',
      'antoinemadec/FixCursorHold.nvim',
      'haydenmeade/neotest-jest'
    },
  }

Had the exact same issue with the lazy.nvim manager, I wonder if this can be fixed or if there is a better solution?

repo: nvim-neotest/neotest-jest


text:
A way to sort files in the File Preview

Is your feature request related to a problem? Please describe.
Files listed in the File Preview are not sorted alphabetically, and there doesn't seem to be a way to specify how they should be sorted.

Describe the solution you'd like
Either default to sorting files in the File Preview alphabetically or an option to specify how the files should be sorted.
Describe alternatives you've considered
Disabling the preview window. 😅
Additional context
I've searched high and low for any information about how the sorting works and how to change it. It's entirely possible that I'm missing something obvious, but I've looked through the docs, open and closed issues, experimented with how ls and fd display the files in my terminal, and searched through the telescope docs to see if there's a way to customize it from there.
I've made no changes to file_browser's defaults in telescope's call to setup, but here's the user command I created to open file_browser:
vim.api.nvim_create_user_command(
	"Dir",
	function()
		telescope.extensions.file_browser.file_browser({
			path = "%:p:h",
			grouped = true,
			hidden = true,
			dir_icon = "",
		})
	end,
	{}
)

I believe the file preview for directories for file_browser is just reusing telescope's file_previewer previewer. Which is using plenary's ls_async under the hood which doesn't really support sorting of any kind besides grouping directories and files.
I think I'd like this enhancement as well but it's two streams up from telescope-file-browser and wouldn't be as simple as adding a new option to telescope-file-browser. Doubly so since plenary is seldom adding new features these days.

Closing this as wontfix from within telescope-file-browser.nvim. It would require quite a broad set of deeper changes upstream for what I believe is a very idiosyncratic set of utility.
Strictly speaking, I guess you could monkey patch the plenary.scandir.ls_async function, but I guess that very messy.

authors: fdschmidt93 heygarrett jamestrew


text:
Looking for a co-maintainer :)

IMPORTANT: this does not mean telescope-file-browser.nvim dies. I have provided and will continue to do so critical maintenance on bugs. Mostly adding new features slows/slowed down materially.
Hi there,
In case you (the reader) is unaware, I'm the original author of telescope-file-browser.nvim and (more used to be) a contributor to telescope.nvim.
During the pandemic, a lot of my free time was spent hacking in Lua on Neovim, learning about git etc etc in practice by contributing. These days, my focus (un-)fortunately is more on work, as I have a bunch of threads regarding my PhD I'm (afraid to say wrt the plugin) much more excited about than telescope-file-browser.nvim, that's from a practical standpoint largely feature complete for personal usage (#161 would be nice, tree-view would be nice -- spent quite some time here but it's quite tedious with ident guides).
I'm super grateful for the interest in and adoption of telescope-file-browser.nvim as an extension to telescope.nvim. At this point, however, I have to admit my lack of motivation mostly stemming from much less quality free time practically halted progress of the extension to a large degree.
That's why I'm looking ideally for a co-maintainer for ideally a prolonged time who has some prior experience in the Neovim lua, telescope ecosystem to co-maintain this extension with me, incl. replying to issues, tackling feature requests, etc. all of which I'm happy to provide guidance for.
Thank you for your consideration :)
FD

Hey @fdschmidt93, I'd like to put my name in for consideration.
I've been following this plugin for a while occasionally submitting PRs and chiming in on other's issues and such. I have some minor contributions telescope as well few other plugins (often related to telescope extensions). I'm by no means an expert but I'm interested in continuing to learn more about telescope and neovim in general and some also interested in taking on more responsibility and to gain experience in maintaining OSS.

Sure, very happy to have you aboard :) I'd just say dive in and attend issues/PRs, ping where required, and we'll take it from there.
If something doesn't work, we can always revisit later. My one rule these days is that we do our very best not to have breaking changes (as virtually almost anything the user could change for him/herself).

Thanks, sounds good :rocket:
To me, this project feels mostly feature complete. There's still a pretty continuous stream of minor enhancements and options requests but I'll probably stick to encouraging and helping people customize their own configs over adding more and more options/actions.
In the meantime, I'll prioritize any bug fixes starting with any currently outstanding ones.


text:
Question: is intended behavior to return custom icon only on exact match?

There are some file names that have special icons, different for the icon related to the file extension.
Example: the .gitlab-ci.yml has its own icon, which is different from the icon for other .yml files.
That's great! But the custom icon is only returned if I call the get_icon function with the exact filename. If the special file is under another path, the default icon is returned:
If call :lua print(require('nvim-web-devicons').get_icon('.gitlab-ci.yml')) I get the special gitlab icon. (Great!)
But if I call :lua print(require('nvim-web-devicons').get_icon('otherdir/.gitlab-ci.yml')) I get default .yml icon.
The same happens if I define some special icon by myself, like package.json or .eslintrc.js.
This can be resolved by using the function vim.fn.fnamemodify with the flag ':t' to provide get_icon only the tail of the file path.
I would like to know if this is the intended behavior. If it is, I think a tip could be added to the README instructing the user about using vim.fn.fnamemodify to not miss the special icons.
I notice that using telescope.nvim. With the fuzzy finder, the special icons are rendered only if the file is in the vim current directory, otherwise the 'defaults' icons are displayed. I just want to check with you before submitting a PR to telescope about using vim.fn.fnamemodify to avoid this inconsistency.

This was intended behavior. I wrote this plugin to solve performance issues in my tree regarding vim-devicons, but my tree only needs to pass the filename as it is so it does not really matter to me.
Thing is, the more we add more logic inside this plugin, the slower it'll get for every user of the library. A note in the readme might be more appropriate, although i'm not sure the performance implications would be tremendous adding some parsing logic on the pathnames. I think i would accept a PR :)

@saviocmc Do you know if your solution was adopted by Telescope team?

@gegoune Yes, it was! Telescope now uses only the file name (not the complete file path, as before) to call this plugins, this way the icons are always consistent. This issue can be closed. Sorry for the delay, appreciate your work.

For future reference, here is the helper function that seems to do the trick:
https://github.com/nvim-telescope/telescope.nvim/blob/a3f17d3baf70df58b9d3544ea30abe52a7a832c2/lua/telescope/utils.lua#L175
Perhaps it could be added to this plugin as an input sanitization step if it proves not to be a significant performance hit.

That's is a good news, thank you for getting back to us!

@alex-courtis Wouldn't https://github.com/nvim-tree/nvim-web-devicons/issues/84#issuecomment-1445638813 solve regex issues?

@alex-courtis Wouldn't #84 (comment) solve regex issues?

We could add an option like the very recently added strict https://github.com/nvim-tree/nvim-web-devicons#get-icon
I'm very hesitant to make any changes that might break existing behaviour, as the blast radius for this plugin is very large.

authors: alex-courtis gegoune kyazdani42 saviocmc

repo: nvim-tree/nvim-web-devicons


text:
Fix NPM EACCES permission denied errors DID NOT WORK

Operating system and version: macOS Monterey version 12.2
nvm debug output:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 15037  100 15037    0     0   103k      0 --:--:-- --:--:-- --:--:--  109k
=> Downloading nvm from git to '/Users/ysaiasmartinez/.nvm'
=> xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Failed to clone nvm repo. Please report this!

nvm ls output:

How did you install nvm?

install script in readme
using: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
What steps did you perform?
What happened?
The console gave me this error:
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 15037  100 15037    0     0   103k      0 --:--:-- --:--:-- --:--:--  109k
=> Downloading nvm from git to '/Users/ysaiasmartinez/.nvm'
=> xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Failed to clone nvm repo. Please report this!
What did you expect to happen?
Fix the permision errors, to install Vue/ CLI
Is there anything in any of your profile files that modifies the PATH?

No

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15037  100 15037    0     0   103k      0 --:--:-- --:--:-- --:--:--  109k
=> Downloading nvm from git to '/Users/ysaiasmartinez/.nvm'
=> xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Failed to clone nvm repo. Please report this!

Before you do anything useful on a new Mac, you have to install the xcode command line tools.

@ysaiaspaul unfortunately that video gives bad advice; the install script must ONLY ever be piped to bash, never to zsh.

@ysaiaspaul those instructions tell you to run touch ~/.zshrc, not to pipe the install script to zsh. It's perfectly fine to use zsh as your terminal! However, the install script is written to be bash-specific.

Mmm ok, do you have any docs that I could read more to understand it, please. Thank you so much for the help.

I'm not sure what there is to understand - the install script is only written to work in bash. The shell that the install script runs in has no relationship to the shell you use.

@ljharb Ok, got it. So I'll try to run it with bash again. I already had Xcode so that's why I'm not sure why is giving me errors. But with zsh it was ok. Thank you for the recommendation, I appreciated it.

authors: ljharb ysaiaspaul

repo: nvm-sh/nvm


text:
import ics fails in google calendar

it seems that the format where incorrect, the time is specified so we should use DATE-TIME (i don't know if it still works with all day event though)

@nwcell +1 for this merge :)

@pataluc it works fine with all day events

Changes added in a different commit

authors: mliczmanska mrzepinski nwcell pataluc


text:
Newest update doesnt respect NoDisplay=true

For some reason the applications I have hidden by copying the .desktop files to ~/.local/share/applications and appending NoDisplay=true are not hidden anymore in the newest update.

Probably introduced in #19. I'll look into it.

authors: bernharl nwg-piotr

repo: nwg-piotr/nwg-drawer


text:
segfault on missing /usr/share/nwg-look/main.glade

I went a bit too fast whilst installing nwg-look and got the error below. Of course after installing main.glade at the right location this problem went away.
INFO[0000] input-feedback-sounds: false

(nwg-look:20058): Gtk-ERROR **: 22:09:16.247: failed to add UI: Failed to open file “/usr/share/nwg-look/main.glade”: No such file or directory
SIGTRAP: trace trap
PC=0x7f87a54a9e10 m=4 sigcode=128
signal arrived during cgo execution

goroutine 1 [syscall]:
runtime.cgocall(0x5bbee0, 0xc0000e5c50)
	/usr/lib/golang/src/runtime/cgocall.go:157 +0x5c fp=0xc0000e5c28 sp=0xc0000e5bf0 pc=0x48523c
github.com/gotk3/gotk3/gtk._Cfunc_gtk_builder_new_from_file(0x1f4abd0)
	_cgo_gotypes.go:6402 +0x49 fp=0xc0000e5c50 sp=0xc0000e5c28 pc=0x56cd09
github.com/gotk3/gotk3/gtk.BuilderNewFromFile({0x689f03?, 0x7?})
	/home/han/go/pkg/mod/github.com/gotk3/gotk3@v0.6.1/gtk/gtk_since_3_10.go:876 +0x67 fp=0xc0000e5ca8 sp=0xc0000e5c50 pc=0x58a207
main.main()
	/usr/pkgmk/work/nwg-look/src/nwg-look/main.go:333 +0x62c fp=0xc0000e5f80 sp=0xc0000e5ca8 pc=0x599c8c
runtime.main()
	/usr/lib/golang/src/runtime/proc.go:250 +0x212 fp=0xc0000e5fe0 sp=0xc0000e5f80 pc=0x4b6fd2
runtime.goexit()
	/usr/lib/golang/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc0000e5fe8 sp=0xc0000e5fe0 pc=0x4e2721

rax    0x0
rbx    0x1
rcx    0xf
rdx    0x7f8770002
rdi    0x7
rsi    0x7f87700008e0
rbp    0x7f87792a34c0
rsp    0x7f87792a3420
r8     0x7f8770002fd0
r9     0x73
r10    0x0
r11    0xcdcd34f3ae091e21
r12    0x6
r13    0x0
r14    0x7f87a5584d00
r15    0x7f87a5584d90
rip    0x7f87a54a9e10
rflags 0x202
cs     0x33
fs     0x0
gs     0x0

Yeah, it's damned difficult to predict all the unexpected things a user might to with a program. :rofl:

authors: hboetes nwg-piotr

repo: nwg-piotr/nwg-look


text:
PSCi console font size

PSCi REPL seems to be using the default font size of 14 regardless of editor font, and there is no way to change it.
Having REPL match the editor font size would be a good start, an overridable setting would be even better!

You can override this in your local user style file
(But feel free to submit a PR)

Updated to use @input-font-size - depending on your UI theme this might not match other text youhttps://github.com/atom/one-dark-ui/issues/205

authors: nwolverson unthingable

repo: nwolverson/atom-ide-purescript

license: mit


text:
Retries when restarting ide server.

@nwolverson
Can you explain the reason for these retries?
https://github.com/nwolverson/purescript-language-server/blob/ceee3d5ff4cb5beb62a134088502523bc8afb73c/src/LanguageServer/IdePurescript/Main.purs#L280

I see now it tries to to reapeat the command on the start if server happens to be not ready just ater start. I happen to get often errors that lead to losing connections to the server when starting IDE (sometimes rarelly during the work), seem due to that is that if connection is lost during the command executing is it thrown.  https://github.com/nwolverson/purescript-language-server/blob/ceee3d5ff4cb5beb62a134088502523bc8afb73c/src/IdePurescript/Build.purs#L170
Anyway, going to refactor it a bit.

Yes, it turns out that for some people the server starts really slowly, I think that's part of the explanation for how this ended up

I encountered an interesting issue, two instances running in different folder generated the same port for purs-ide, the second instance didn't start in this case (as it found running purs-ide with incorrect path on the port, ans says to correct it manually). I believe in this case it is quite safe to start server on another port. Also port availability (after request to ide) should be checked with other methods.

authors: nwolverson wclr

repo: nwolverson/purescript-language-server


text:
File globbing is broken

Issue Type

[x] Bug Report
[ ] Feature Request
[ ] Other

There are couple of issues - will update when I get time.
Current/Missing Behaviour
Expected/Proposed Behaviour
Additional Info

Package version: 4.2.1
Operating System: N/A
Node version: N/A
NW.js version: N/A

Tracking in #868

repo: nwutils/nw-builder


text:
trans: unmask libusb errors

When using uuu it can happen that libusb operations sometimes return with an error code, which is currently masked.
This prints the error code and propagates it.

using help class string_ex

done 👍🏻

repo: nxp-imx/mfgtools


text:
🛑 Harmony Bot Website is down

In 1c742d3, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in a2bfdcb.

repo: nxvvvv/uptime


text:
🛑 Harmony Bot Website is down

In ef84f26, Harmony Bot Website ($HARMONY_WEB) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Harmony Bot Website is back up in e1c2b45.


text:
企業会員

[x] 企業会員ではなく、正式には「賛助会員」なので修正が必要。
[x] Sakura Internetさんは、賛助会員ではなく、インフラ提供協力のため、書き方を調整する必要あり。

このへんで対応を実施したのでクローズ
d49c5d9a16ed3a2c6979958640c0f486b80fadec
2dc7601fdced0b28df3f4572e5f3acd5c46aa0ca
38bcc7eed85aab39dda6e4397fe2aabbfb4ec168

repo: nyampire/agency-jekyll-theme


text:
Cannot make a model from JSON

in Windows 11, press Ctrl + C, will perform terminate batch job.

Hi @joshua1996,
Thanks for reporting this!
Unfortunately, I don't own a Windows machine, so I cannot provide a quick fix.
I'll close this issue because I won't be able to deal with it swiftly.
If you can solve this, please submit a PR.
I will update the docs on nylo.dev to let people know this feature is only for Mac atm.

repo: nylo-core/nylo


text:
progress bars and status messages

added progress service with tests
start() and done() control progress bars
open() and close() control status messages
blue progress bar when saving
green progress bar when publishing
if there's a server error, progress bar turns red and finishes, then red status slides up
if there's a validation error (when publishing), progress bar turns red and ends (usually too fast to see, but will be slower if we have a lot of validation rules) and validation error pane slides up
yeah, I said "slides up." Panes slide up now.
overlays fade in (very quickly) as well
if you lose/gain connection, appropriate grey progress bars / status messages appear

Coverage decreased (-0.07%) to 87.842% when pulling 55925f471fafe5c7fe16e798177a580887369005 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling 55925f471fafe5c7fe16e798177a580887369005 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling 55925f471fafe5c7fe16e798177a580887369005 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling b56fd43816c457743fa6212c826489f235fe6079 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling b56fd43816c457743fa6212c826489f235fe6079 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling 041e82a24f78213df47b28376707a540b2a49d28 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling 104ebfb7f733e35c5399b8b4c9dd07c7c48a6829 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling 100710b2e83d508e1c4eb5cf85cc7719f3f78a41 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.842% when pulling 100710b2e83d508e1c4eb5cf85cc7719f3f78a41 on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Coverage decreased (-0.07%) to 87.845% when pulling 2739fa65d3169749c6105d53a0f7d3371f3e073b on progress-status into c1af14f5edcc890e93d9c45f25808a41d7aa0921 on master.

Per Dane:

Man, push through what you want, but I warned ya.  You're going to be returning to this code every week or so, or basically whenever you do anything _around_ it, because your API is fragile.

authors: coveralls yoshokatana

repo: nymag/clay-kiln


text:
Release 1.1.11

Change-Id: I806bb8d0fedd793a72c2a83504ae2a1c3891981c
Signed-off-by: Ondra Machacek omachace@redhat.com

ci build please

repo: oVirt/ovirt-ansible-vm-infra


text:
Highlighting with strings and numbers in maps is broken

What it says on the tin. It highlights a number that's directly after a string (without a space) the same colour as the string itself, despite it being separated.
So, something like
{1"-1"2"-2"}

becomes

Fixed in 2a7d8d99509c29b608ff41dd3b8260e43f36d3ea, thanks!

authors: Qwerp-Derp oakes

repo: oakes/Nightcode

license: unlicense


text:
Does it work on mobile devices?

Hi,
Just wanted to know if "chessboardjs" is working on mobile, specifically the drag and drop functionality?
It would be nice to state in README.md in which browsers it was tested.
Thanks for this great project!
Misha

Hi,
I tested in an Android 7.0 with Chrome 60.0.xxx. The drag&drop moves the scroll vertically if the page has long content.
It would be nice if the pieces could also be moved first selecting the piece, and then clicking on the target square. It could be a config option apart of drag&drop.
Great job, anyway!!

Hi,
I tested in an Android 7.0 with Chrome 60.0.xxx. The drag&drop moves the scroll vertically if the page has long content.
It would be nice if the pieces could also be moved first selecting the piece, and then clicking on the target square. It could be a config option apart of drag&drop.
Great job, anyway!!

Is there any solution to this? It's a great piece of software. If we could just make it so that the pieces can be selected first and moved to the specific square by clicking on that square. Thanks.

Hi schttrj,
I made a litte site which provides saving chess diagrams as PNGs or JPGs.
Take a look here: [http://www.hcgreier.at/chess_problem_printer/](Chess Problem Printer)
(Sorry the site is in German, please use browser translator)
I made a switch (= just a beautified checkbox) on top of the board which sets CSS parameters to keep the webpage from scrolling. Switch on moblie mode, set up the pieces, switch off moblie mode.
Please tell if it works on your mobile devices.
greets,
hc

I have fixed this issue and raised the PR https://github.com/oakmac/chessboardjs/pull/236
The culprit here is https://github.com/oakmac/chessboardjs/blob/master/lib/chessboard.js#L1658
According to the feature request on chrome call to preventDefault() becomes useless. It is simply ignored, and the screen stays scrollable.
In order to restore scroll freeze during drag event, you can use onDragStart call back to add CSS property overflow:hidden to body tag and remove this property on onSnapEnd or onDrop.
I used this and it works for me.

authors: hcgreier kgcorner moroshko osotorrio schttrj

repo: oakmac/chessboardjs


text:
[CUR-260] Add MV to curriculum overview

Description

Updates front end to include curriculum intent statement from DB
Only uses subject/phase
Primary music and secondary geography will result in a 404 as these are not available

How to test

Go to https://deploy-preview-1913--oak-web-application.netlify.thenational.academy/teachers/curriculum
Select any subject phase combination
You should see the correct curriculum intent statement

Screenshots
How it used to look (delete if n/a):

How it should now look:

Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner

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

authors: oak-machine-user sonalisin

repo: oaknational/Oak-Web-Application


text:
Feat/pupil 1017/pathways

Job Story
I want the pupil experience to support pathways
Implementation details
Update the pupil queries to use the new MVs which surface pathways
Test these locally with pathways to ensure that the UX is coherent
Make appropriate changes to UI to support pathways
NB. the updated curriculum schema has breaking changes:

geo_restricted, login_required in lessonContentSchema
null_unitvariant changed to null_unitvariant_id in syntheticUnitvariantLessonsSchema  & syntheticUnitvariantsWithLessonIdsSchema
changed subjects
extra exam board

I have handled these in the following ways:

lessonContentSchema changes: omit the fields from the relevant queries
syntheticUnitvariantLessonsSchema & syntheticUnitvariantsWithLessonIdsSchema - omit the field from the relevant queries
changed subjects: this effects icons in oak components. If there isn't a subject icon I pass an alternative value.
extra exam board - requires Avo changes

Acceptance criteria
pathways working for:

[ ]  pupilLessonListing
[ ]  pupilProgrammeListing
[ ]  pupilUnitListing
[ ]  pupilLesson
[ ]  tested locally with dummy data
[ ]  UI updated to make coherent navigation

other journeys updated and tests

[x] teacherSubjectListing
[x] teacherUnitListing
[x] teacherProgrammeListing
[x] teacherLessonListing
[x] teacherLesson
[x] teacherDownloads
[ ] teacherLessonCanonical
[ ] teacherDownloadsCanonical

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

authors: kimon-satan oak-machine-user


text:
build: release candidate

Description
Contains:

Add users to Hubspot on creation.
Prompt versioning.
Aila categoriser feature with chat ID and user ID.
TypeScript update.
Update prompt with distractor, practice task and grammar improvements.
Prisma Accelerate query caching.
Detect and update users with missing metadata.
Github workflow fixes.
Updates to download resources page.
Add telemetry to chat API route.
Fix broken link to security.txt.
Update T&C link.
Remove feedback message from header.
Fix "continue" markdown missing closing stars.

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

authors: mikeritson-oak oak-machine-user

repo: oaknational/oak-ai-lesson-assistant


text:
build: release candidate

Description
Fixes

Add types for SVG imports and remove unused code (#318)
Improved type safety by adding SVG import types and cleaning up unused imports.

Streaming JSON types and error reporting tests (#315)
Updated JSON streaming types and enhanced error reporting tests.

Chore

Remove example_lesson.json (#366)
Deleted an unused JSON file to reduce clutter.

Camel case imports in a single file (#309)
Standardized import naming in one file for consistency.

Change text to sentence case (AI-237) (#355)
Updated UI text to follow sentence case formatting.

Refactor

Adjust dialogs to use Oak components (#335)
Replaced custom dialog components with standardized Oak components.

Tests

Add stories for Aila routes (#371)
Created new test stories for Aila-related routes.

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


text:
[Feature] triggers should support complex structure ComponentDefinition

Is your feature request related to a problem? Please describe.
In order to support a large number of different application templates, we define a common componentDefiniton according to the kubernetes native Deployment template
The cue template is as follows
template: {
	output: {
		apiVersion: "apps/v1"
		kind:       "Deployment"
		metadata: {
			if parameter.labels != _|_ {
				labels: {
					for k, v in parameter.labels {
						"\(k)": v
					}
				}
			}
		}
		spec: {
			selector: matchLabels: {
				"app.oam.dev/component": context.name
			}
			template: {
				metadata: {
					labels: {
						"app.oam.dev/component": context.name
						"app.oam.dev/revision":  context.revision
						if parameter.podLabels != _|_ {
							for k, v in parameter.podLabels {
								"\(k)": v
							}
						}
					}
					if parameter.annotations != _|_ {
						annotations: {
							for k, v in parameter.annotations {
								"\(k)": v
							}
						}
					}
				}

				spec: {
					containers: [
						for c in parameter.containers {
							name:  c.name
							image: c.image
							if c.command != _|_ {
								command: c.command
							}
							if c.args != _|_ {
								args: c.args
							}
							if c.workingDir != _|_ {
								workingDir: c.workingDir
							}
							if c.ports != _|_ {
								ports: c.ports
							}
							if c.envFrom != _|_ {
								envFrom: c.envFrom
							}
							if c.env != _|_ {
								env: c.env
							}
							if c.resources != _|_ {
								resources: c.resources
							}

							if c.volumeMounts != _|_ {
								volumeMounts: c.volumeMounts
							}

							if c.volumeDevices != _|_ {
								volumeDevices: c.volumeDevices
							}

							if c.livenessProbe != _|_ {
								livenessProbe: c.livenessProbe
							}

							if c.readinessProbe != _|_ {
								readinessProbe: c.readinessProbe
							}

							if c.startupProbe != _|_ {
								startupProbe: c.startupProbe
							}

							if c.lifecycle != _|_ {
								lifecycle: c.lifecycle
							}

							if c.imagePullPolicy != _|_ {
								imagePullPolicy: c.imagePullPolicy
							}
						},
					]

					if parameter.imagePullSecrets != _|_ {
						imagePullSecrets: parameter.imagePullSecrets
					}

					if parameter.volumes != _|_ {
						volumes: parameter.volumes
					}

					if parameter.restartPolicy != _|_ {
						restartPolicy: parameter.restartPolicy
					}

					if parameter.serviceAccountName != _|_ {
						serviceAccountName: parameter.serviceAccountName
					}
					if parameter.progressDeadlineSeconds != _|_ {
						progressDeadlineSeconds: parameter.progressDeadlineSeconds
					}
				}
			}
		}
	}

When I want to modify an image using an application trigger, the existing way doesn't seem to support it

@K1ngram4
From the component type you define, the difference from deployment is minimal. Can you explain why you defined it this way?
The application trigger upgrades docker image name by patching struct {"image": "xxx"}.  We recommend that a component or even an application have only one image that requires continuous iteration.
so, can we have a specification where components have an image field by default?
parameter: {
   // +usage=Specify the image name for master component.
   image: string
}

@barnettZQG
Because we have many services, each service has different requirements, and type raw is not used because it does not conform to the oam model.
I think multiple containers image in the parameter need to be configured

User defined cues may be complex, and the trigger modification image is not very friendly.
https://github.com/oam-dev/kubevela/blob/c298c98f251a613ede911c3bdbf84c0640b54c51/pkg/apiserver/rest/usecase/webhook.go#L231-L235
I suggest adding the jsonpatch field when defining trigger instances.
ex:
https://github.com/oam-dev/kubevela/blob/c298c98f251a613ede911c3bdbf84c0640b54c51/pkg/apiserver/rest/apis/v1/types.go#L354-L365
add:
// ApplicationTriggerBase application trigger base model
type ApplicationTriggerBase struct {
	Name          string    `json:"name"`
	Alias         string    `json:"alias,omitempty"`
	Description   string    `json:"description,omitempty"`
	WorkflowName  string    `json:"workflowName"`
	Type          string    `json:"type"`
	PayloadType   string    `json:"payloadType"`
	Token         string    `json:"token"`
	ComponentName string    `json:"componentName,omitempty"`
        //add
        ReplacePath   string    `json:"replacePath ,omitempty"` //ex : "properties.containers[0].image"

	CreateTime    time.Time `json:"createTime"`
	UpdateTime    time.Time `json:"updateTime"`
}

Find the path and replace the image value

authors: K1ngram4 YongBig barnettZQG

repo: oam-dev/kubevela


text:
Update HuaweiCloud provider default region and allocate EIP for head node

"ap-southeast-3" region is in Singapore, we can use more stable
and speed networking access to some resources.
Update server flavor and image to match the region.
Allocate and attach EIP to head node
Add workspace security group egress rule
Add workspace subnet DNS option
Add configurable workspace bandwidth option for EIP and NAT

Related-with: #1011

rebase on main branch

repo: oap-project/cloudtik


text:
[CH] adding fallback related suites for CH backend

Description
follow up of https://github.com/oap-project/gluten/pull/2763

closed by #2846

repo: oap-project/gluten


text:
CreateBlueprintResponse redeclared in this block

Hello,
I am hitting this error
internal/clients/http/image_builder/client.gen.go:3631:6: CreateBlueprintResponse redeclared in this block

when I try to compile a client generated from this YAML:
https://gist.github.com/lzap/55d2144c19d85b1072b6d32cfbe9a6c9
$ bin/oapi-codegen --version
github.com/deepmap/oapi-codegen/v2/cmd/oapi-codegen
v2.0.0

Can someone explain to me why am I hitting this? Apparently, renaming the component does help.

It's likely a conflict between https://gist.github.com/lzap/55d2144c19d85b1072b6d32cfbe9a6c9#file-image-builder-yaml-L978 and the autogenerated type from https://gist.github.com/lzap/55d2144c19d85b1072b6d32cfbe9a6c9#file-image-builder-yaml-L145
I can't remember offhand what the best course of action is - renaming the CreateBlueprintResponse model should do it though :thinking:

authors: jamietanna lzap

repo: oapi-codegen/oapi-codegen


text:
Supporting implicit workflow during authorization

This adds implicit workflow support during authorization.

Thank you very much for your contribution. We are targeting implicit grant support for 3.1.0.
Please let us know if you'd like us to have any specific consideration regarding this flow.

authors: nunofgs vagmi


text:
int8, int16, int32

Let's create new objects org.eolang.math.int8, etc. They should work exactly as int, but with smaller bitwise layout (8 bits, 16, and 32 respectively).

@mximp maybe first it would be reasonable to implement them in Java with proper EO tests. Then, switch to EO, piece by piece.

repo: objectionary/eo-math


text:
Implement a number of traits for Hex

This is a conservative re-implementation of certain Hex methods to fit Rust's standard library traits more easily (#29). The changes can be summarized as:

Implemented conversion to Hex using Rust's standard From trait.
Moved parse functionality into the FromStr trait. Removed an unwrap from the implementation, allowing for proper parsing error handling.
Renamed from_str and from_string to from_str_bytes and from_string_bytes, to make way for the FromStr::from_str method and to make their meaning more clear.
Did a more proper implementation of the PartialEq::eq method, removing the need for allocations.
Implemented the marker trait Eq, signifying the true equivalence relation, as Hex matches all criteria. This won't have any visible effect on our current code, but might make interfacing with some methods of the standard library easier.

I'll write up the failed experiments and proposals of what to improve next in the issue.

Codecov Report

Merging #45 (1633cb2) into master (ead30d9) will increase coverage by 0.16%.
The diff coverage is 97.29%.

@@            Coverage Diff             @@
##           master      #45      +/-   ##
==========================================
+ Coverage   64.16%   64.33%   +0.16%
==========================================
  Files          16       16
  Lines        1694     1702       +8
==========================================
+ Hits         1087     1095       +8
  Misses        607      607

Impacted Files
Coverage Δ

src/hex.rs
90.30% <96.87%> (+0.49%)
:arrow_up:

src/inspect.rs
73.80% <100.00%> (ø)

src/ops.rs
87.16% <100.00%> (ø)

src/serialization.rs
91.17% <100.00%> (ø)

src/xml.rs
97.50% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@rultor merge

@rultor merge

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

@rultor merge

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

@UARTman thanks!

authors: UARTman codecov-commenter rultor yegor256

repo: objectionary/sodg