change ServiceName to include spaces again

resolves #41 but I can't try it myself because I don't have TopShelf Services

V4 has been reverted back to it's original state.
I have moved your features and done some refactoring in feature/refactor. Feel free to check out that branch and poke around. I believe there is still an issue with the match pattern for a path like Program Files (x86)


[ci] Add new hyperjump capability to request reviews

This adds a new hyperjump called request-review which can request reviews from individuals or teams. This will be used by the dependency verification action to request review from @libra/dep-audit.

Yes, the user libra-action has triage permissions only, and the token only repo scope.

/land


[MGDOBR-693] : Add attach-kubernetes-resources profile

Jira : https://issues.redhat.com/browse/MGDOBR-693
This profile is require in CPaas onboarding to create operator bundle
PR owner checklist
Please make sure that your PR meets the following requirements:

[ ] Your code is properly formatted according to this configuration.
Run mvn clean verify -DskipTests so that imports are correctly set.
[ ] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[ ] The layers in the kustomize folder have been updated accordingly.
[ ] All new functionality is tested
[ ] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

PR reviewer(s) checklist

[ ] Check if code and Github action workflows have been modified and if the modification is safe
[ ] If the modification is safe, add the safe to test label

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

@danielezonca I had created below jira ticket to improve this process.
https://issues.redhat.com/browse/MGDOBR-696


Hello World - Frontend

Two Apps Setup Project

Link to Backend PR

✅ All linters passed

Setup App component with react-router-dom and redux-toolkit.

Created store and messageSlice to get the Random Message from the server.

React - Rails apps showcasing

@Whoistolu Thanks for taking the time to review my App!


Fix Typos in JavaDoc,Comments and Tests

This PR fixes a number of smaller typos (none affecting compiled results).

A question regarding some other typos that are left: What is the stance on messages of exceptions and backwards compatibility? while technically fixing a typo in an exception message could break existing code testing the message for a substring but I would argue that that is a rather exotic case.

Coverage remained the same at 89.25% when pulling 54a425387d56d3633f79c1f1d4cb6c846eb58fad on FelixRilling:master into 40b9af504c8c9cb313869786516348775443c086 on apache:master.

A question regarding some other typos that are left: What is the stance on messages of exceptions and backwards compatibility? while technically fixing a typo in an exception message could break existing code testing the message for a substring but I would argue that that is a rather exotic case.

I say fix the typos.


Add an option to override the icon which already has been set.

Initially thank you for this awesome work that you've created. It brings joy to me and my family.
I am hosting my server on AWS and I have realized that I cannot change the icon that I've initially set. I have made a change to allow the server icon to be overridden.

This change is now available on Docker Hub

This change is now available on Docker Hub


For a 0.6.5 release

#121

Codecov Report

Merging #123 (41cbe8b) into master (a5c2fd4) will decrease coverage by 3.12%.
The diff coverage is 20.37%.

@@            Coverage Diff             @@
##           master     #123      +/-   ##
==========================================
- Coverage   89.72%   86.60%   -3.13%
==========================================
  Files          11       11
  Lines         555      575      +20
==========================================
  Hits          498      498
- Misses         57       77      +20

Impacted Files
Coverage Δ

src/plotrecipes.jl
0.00% <0.00%> (ø)

src/tuned_models.jl
91.75% <91.66%> (ø)

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 a5c2fd4...41cbe8b. Read the comment docs.


nontification bar does not disappear when play games while on messenger call.

I am not a coding guy so don't know what to put here ;_; ask me if you need anything!

send ss but hide call info

Had you checked in other games

Its working fine for me in games while calls

I think the problem is with the Fullscreen mode. I found that it wouldn't go away whenever I'm using Fullscreen. Yes I'm using the latest version just updated few days ago.
Dunno maybe it's specific just for my device even tho I doubt the possibility :)

I think the problem is with the Fullscreen mode. I found that it wouldn't go away whenever I'm using Fullscreen.For example watching YouTube. Yes I'm using the latest version just updated few days ago. Dunno maybe it's specific just for my device even tho I doubt the possibility :)

Using nav gestures


Update OPA to v0.49.1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 21.45%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
284

Relevant Lines:
1324

💛  - Coveralls


Map component error: Google Maps JavaScript API could not load

Please list the package(s) involved in the issue, and include the version you are using
  "dependencies": {
    "@shopify/ui-extensions": "2024.4.2",
    "@shopify/ui-extensions-react": "2024.4.2",
    "react": "18.3.1"
  },

Describe the bug
I'm using the Map Component to display some pickup points on the Thank You and Order status pages. On my development store it works fine, but for some merchants (at least 2 different) the map doesn't load because of the following error: Unhandled Promise rejection error: The Google Maps JavaScript API could not load, because it does not appear in the script-src directive of the Content Security Policy..
Steps to reproduce the behavior:
Unfortunately I'm not able to reproduce this bug on my development stores.
Expected behavior
Map should load without any issues.
Screenshots

Additional context
Does specifying a wildcard domains on the Google Maps API key has anything to do with it?

@mkupiniak I spoke to soon, sorry! Will update when it's live.


Referring a typescript file outside of project directory is not working

OS: Windows 10
angular-cli version: 1.0.0-rc.0
Node version: 6.9.5
Npm version: 3.10.10
Following is my directory structure:

├── MainProject
│   ├── package.json
│   ├── .angular.cli.json
│   ├── src (folder)
├── Shared
│   ├── package.json
│   ├── Service
│   │   ├── Service.ts

My angular-cli project is in MainProject directory. In MainProject, I am trying to refer Shared/Service/Service.ts file (file is outside of MainProject folder). Service.ts file has import { Injectable, Injector } from "@angular/core"; and import { Router } from "@angular/router"; in it. I was getting @angular/core and @angule/router not found error while compiling therefore I included package.json in Shared folder which has reference to these packages and did npm install in Shared directory. Developer build of MainProject is working fine but prod build is giving following error. Please if someone can help in resolving it.

ERROR in Error encountered resolving symbol values statically. Calling function 'makeDecorator', function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol Injectable in<EMAIL_ADDRESS>resolving symbol OpaqueToken in<EMAIL_ADDRESS>resolving symbol OpaqueToken in<EMAIL_ADDRESS>
ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/modules/uci.app.module.ngfactory' in 'C:\Apps\MainProject\src'
 @ ./src/main.ts 4:0-85
 @ multi ./src/main.ts

This is by design, kind of. This is a typescript limitation. You need to change your rootDirs in your tsconfig.json to be able to access files; typescript does not compile typescript files outside the rootDir of your project.
Alternatively, you should build your Shared library and add the output of that in your tsconfig.json under paths. If you're planning to release Shared separately that's how I would do it.

I am also facing the same issue, is there any sample reference

@hansl Looking for some clarification here. I have an interfaces.ts file that is generated external to my project. The location of this file is static, but well outside my src folder. What's the correct method for importing this file for consumption?

My nodejs microservices share *.d.ts (actual names are specific, not glob patterns) files outside of the root.  The nodejs microservices, also using typescript, have no problem loading this file when specified in the tsconfig.json files array.  When the *.d.ts files are added to angular's tsconfig.json file array, Angular fails to server/compile.

For others trying to find a way to share resources between ts projects, the best method I've found is to make symbolic links

@lukepighetti that's definitely a good idea.  My primary dev environment is windows host for Docker.  I'm trying to think through it, and I think it can still be done with a little creativity.
For now, the quick and less desirable solution is to put my shared d.ts files within the Angular src scope and then use the tsconfig files setting in microservices to use the d.ts files from there.

one note about symbolic links, this works well in a monorepo but I would not use it across repos


Catalog natural variation

While in a lot of regions P. pyralis has low variation, I've definitely run into some situations where the gene I've cloned has coding differences from the reference, and it is unclear to me if these coding differences are natural variants or PCR/cloning induced mutations.
Having a catalog of all the natural variation in our numerous RNA-Seq & Genomic seq datasets would be a useful contribution to the OGS.

Ran into with this PPYR_09240-PA.  The alternate allele from SRR6345449 is the one I keep running into with cDNA cloning.


RUNTIME EXCEPTION: Unacceptable property key: VS

The set up is an "empty" 3D velocity model in netcdf format ie: all velocity variations (dvp,dvs drho) are 0 compared to a 1D reference model defined in the grid mesh (just to try and understand what an acceptable velocity model input format looks like in terms of structure). Values  set to 0 for ever depth in a range of 0 to 6371km in steps of 10km (set up using the short python code at end of message.)
This results in the following error when attempting to run (full verbose output at end):
!!!!!!!!!!!! AxiSEM3D ABORTED UPON RUNTIME EXCEPTION !!!!!!!!!!!
FROM: Material::getProperty
WHAT: Unacceptable property key: VS
Rheology type: Fluid
TIME: 2020-11-19T15:18:02
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I assume that this has something to do with the fact that the 3D velocity model is trying to sample Vs velocity in the outer core where shear waves do not propagate. Maybe something to do with defining the velocity model over a full depth range where dvs is set to 0 at outer core depths? Are there any examples of the necessary format needed for 3D spherical velocity models to assist users with building their own in the right format?
Any help understanding the error and how to fix it are greatly appreciated!
Jenny
(AxiSEM3D_env) jj405@syrma:/raid1/jj405/OTHER/AxiSEM3D2/AxiSEM3D/examples/CMBtopo_run$ ./axisem3d
[[12759,1],0]: A high-performance Open MPI point-to-point messaging module
was unable to find any relevant network interfaces:
Module: OpenFabrics (openib)
Host: syrma
Another transport will be used instead, although this may result in
lower performance.
NOTE: You can disable this warning by setting the MCA parameter
btl_base_warn_component_unused to 0.

      A            |i .|'''.|'||''''E'||    ||'  ____'||''|.
     |||   ... ...... ||..  ' ||  .   |||  |||   ` // ||   ||
    |  ||   '|..'  ||  ''|||. ||''|   |'|..'||    //  ||    ||
   .''''|.   .x.   ||      '||||      | 'M' ||    \\  ||    ||
  .|.  .||..|  ||..||.|'...|S.||....|.|. | .||.    3' D|...|'
  .............................................   //
                                                 /'     v 1.0

  Copyright (c) 2019 Kuangdai Leng & friends, MIT License
  Source, docs and issues: github.com/kuangdai/AxiSEM-3D

********************* WARNING FROM AxiSEM3D ********************
FROM: io::verifyDirectories
WHAT: Output directory exists; old output renamed to
./output__backup@2020-11-19T15:17:55
TIME: 2020-11-19T15:17:55

========================== Exodus Mesh =========================
Overview________________________________________________________
Exodus file           =  global_mesh__prem_ani__50s.e
mesh CS               =  spherical
model name            =  prem_ani
isotropic             =  false
attenuation           =  true
storage type          =  element_nodes
discontinuities     =  13
Mesh geometry___________________________________________________
elements            =  6400
nodes               =  6589
range of r-axis       =  [0, 6.371e+06]
range of θ-axis       =  [0, 3.14159]
Global variables________________________________________________
attenuation_f_max     =  1
attenuation_f_min     =  0.001
attenuation_f_ref     =  1
attenuation_w_0       =  0.00917372
attenuation_w_1       =  0.0717368
attenuation_w_2       =  0.375987
attenuation_w_3       =  1.66062
attenuation_w_4       =  8.66427
attenuation_y_0       =  1.6904
attenuation_y_1       =  1.13579
attenuation_y_2       =  0.987234
attenuation_y_3       =  0.924253
attenuation_y_4       =  1.46136
dist_tolerance        =  9.4
dt (nPol = 1)         =  0.829412
min_edge_length       =  9400
minimum_period        =  48.8647
nr_lin_solids         =  5
radius                =  6.371e+06
crdsys                =  spherical
model                 =  prem_ani
Element geometry________________________________________________
linear                :  768
semi-spherical        :  256
spherical             :  5376
Element medium__________________________________________________
fluid                 :  768
solid                 :  5632
Material properties_____________________________________________
ETA                   ∈  [0.90039, 1]
QKAPPA                ∈  [1327.7, 57827]
QMU                   ∈  [0, 600]
RHO                   ∈  [2600, 13088.5]
VPH                   ∈  [5800, 13716.6]
VPV                   ∈  [5800, 13716.6]
VSH                   ∈  [0, 7265.97]
VSV                   ∈  [0, 7265.97]
Side sets_______________________________________________________
r1                    :  256 sides
solid_fluid_boundary  :  256 sides
t0                    :  120 sides
Miscellaneous___________________________________________________
ellipticity curve     :  2398 knots
Mesh generation command line:

python -m salvus_mesh_lite.interface AxiSEM --basic.model prem_ani
--basic.period 50 --output_file global_mesh__prem_ani__50s.e
================================================================

============================ Geodesy ===========================
model in Cartesian     =  false
surface radius         =  6.371e+06
solid surface radius   =  6.371e+06
bottom radius          =  0
a reference geographic location on the positive z-axis
latitude             =  90
longitude            =  0
radius               =  6.3706e+06
flattening on surface  =  0.00335281
flattening at discontinuities___________________________________
f = 0.00335281    at  6.371e+06
f = 0.00334821    at  6.356e+06
f = 0.00334533    at  6.3466e+06
f = 0.00332839    at  6.291e+06
f = 0.00328615    at  6.151e+06
f = 0.003233      at  5.971e+06
f = 0.00317513    at  5.771e+06
f = 0.00315503    at  5.701e+06
f = 0.00312593    at  5.6e+06
f = 0.00257612    at  3.63e+06
f = 0.0025605     at  3.48e+06
f = 0.00243364    at  1.2215e+06
f = 0.00242322    at  0

Correcting for ellipticity in latitude-θ conversions.
================================================================

#PYTHON SCRIPT USED TO CREATE EMPTY VEL MOD:
#requires netCDF4 install with:
#pip install netCDF4
#script to create topograpghy/velocity netCDF 3D models
import netCDF4 as nc
import numpy as np
import matplotlib.pyplot as plt
import os
from numpy import dtype
#--------Create an empty netCdf velocity model file---------------
latlonstep=1 #lat lon sampling per degree
depstep=1 #depth samplign in km
grid_lons=np.arange(-180,180,latlonstep)
nlon=len(grid_lons)
grid_lats=np.arange(-90,90,latlonstep)
nlat=len(grid_lats)
grid_deps=np.arange(0,6371,depstep)
ndep=len(grid_deps)
velPgrd=np.zeros([len(grid_lons),len(grid_lats),len(grid_deps)])
velSgrd=np.zeros([len(grid_lons),len(grid_lats),len(grid_deps)])
rhogrd=np.zeros([len(grid_lons),len(grid_lats),len(grid_deps)])
#Adjust empty grids as required to include hetrogeniety as % variation from prem
open a netCDF file to write
fname='PREM_empty3Dvel.nc'
if os.path.isfile(fname):
os.remove(fname)
ncout = nc.Dataset(fname, 'w', format='NETCDF4')
define axis sizes
ncout.createDimension('lat', nlat)
ncout.createDimension('lon', nlon)
ncout.createDimension('dep', ndep)
create latitude axis
lat = ncout.createVariable('lat', dtype('double').char, ('lat'))
lat.standard_name = 'lat'
lat.long_name = 'latitude'
lat.units = 'degrees_north'
lat.axis = 'Y'
lat[:]=grid_lats
create longitude axis
lon = ncout.createVariable('lon', dtype('double').char, ('lon'))
lon.standard_name = 'lon'
lon.long_name = 'longitude'
lon.units = 'degrees_east'
lon.axis = 'X'
lon[:]=grid_lons
create depth axis
dep = ncout.createVariable('dep', dtype('double').char, ('dep'))
dep.standard_name = 'depth'
dep.long_name = 'depth'
dep.units = 'km'
dep.axis = 'Z'
dep[:]=grid_deps
create dVp array
vout = ncout.createVariable('dvp', dtype('double').char, ('lon', 'lat','dep'))
vout.long_name = 'dvp'
vout.units = '%'
vout[:] = velPgrd
create dVs array
vout = ncout.createVariable('dvs', dtype('double').char, ('lon', 'lat','dep'))
vout.long_name = 'dvs'
vout.units = '%'
vout[:] = velSgrd
create drho array
vout = ncout.createVariable('drho', dtype('double').char, ('lon', 'lat','dep'))
vout.long_name = 'drho'
vout.units = '%'
vout[:] = rhogrd
close and save file
ncout.close()
'''
#open written file to check
fn = fname
ds = nc.Dataset(fn,'r+')
print(ds)
ds.close()

'''

First, about the error. The medium type,  solid or fluid, is determined by mesher. So, when adding 3D models in the solver, AxiSEM3D checks the consistency. For example, the code prohibits changing VS in the fluid, even it is zero in your nc file -- it could be non-zero.
Second, about model implementation: the nc file for a 3D model does not have to cover the whole domain. It only needs to cover a region that contains the 3D model. For example, for a Hawaii ULVZ, the depth range can be [2850, 2891], and latitude range [15, 25] and longitude range  [-165, -145].

Thanks Kuangdai. I didn't realize the velocity model only needed to be defined within the region of interest.
However defining the model in the depth range 0-2891km leads to the error below (more complete output below).  Could you tell me what this one means?
!!!!!!!!!!!! AxiSEM3D ABORTED UPON RUNTIME EXCEPTION !!!!!!!!!!!
FROM: Material::getProperty
WHAT: Unacceptable property key: VP
Rheology type: Transversely isotropic solid
TIME: 2020-11-23T18:27:57
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Happily - it runs fine with just variable CMB topography alone, but it would be nice to include both variable topography and 3D velocity structure if possible!
Another question would be if you define variable velocity structure at the base of the mantle and then input a CMB topography file, what velocity will be used to fill in the depressions on the CMB?  Will it just be set to the mantle velocity that is defined above?
FULL OUT PUT:
(AxiSEM3D_env) jj405@syrma:/raid1/jj405/OTHER/AxiSEM3D2/AxiSEM3D/examples/CMBtopo_run$ ./axisem3d
[[5454,1],0]: A high-performance Open MPI point-to-point messaging module
was unable to find any relevant network interfaces:
Module: OpenFabrics (openib)
Host: syrma
Another transport will be used instead, although this may result in
lower performance.
NOTE: You can disable this warning by setting the MCA parameter
btl_base_warn_component_unused to 0.

      A            |i .|'''.|'||''''E'||    ||'  ____'||''|.
     |||   ... ...... ||..  ' ||  .   |||  |||   ` // ||   ||
    |  ||   '|..'  ||  ''|||. ||''|   |'|..'||    //  ||    ||
   .''''|.   .x.   ||      '||||      | 'M' ||    \\  ||    ||
  .|.  .||..|  ||..||.|'...|S.||....|.|. | .||.    3' D|...|'
  .............................................   //
                                                 /'     v 1.0

  Copyright (c) 2019 Kuangdai Leng & friends, MIT License
  Source, docs and issues: github.com/kuangdai/AxiSEM-3D

********************* WARNING FROM AxiSEM3D ********************
FROM: io::verifyDirectories
WHAT: Output directory exists; old output renamed to
./output__backup@2020-11-23T18:27:31
TIME: 2020-11-23T18:27:31

========================== Exodus Mesh =========================
Overview________________________________________________________
Exodus file           =  global_mesh__prem_ani__50s.e
mesh CS               =  spherical
model name            =  prem_ani
isotropic             =  false
attenuation           =  true
storage type          =  element_nodes
discontinuities     =  13
Mesh geometry___________________________________________________
elements            =  6400
nodes               =  6589
range of r-axis       =  [0, 6.371e+06]
range of θ-axis       =  [0, 3.14159]
Global variables________________________________________________
attenuation_f_max     =  1
attenuation_f_min     =  0.001
attenuation_f_ref     =  1
attenuation_w_0       =  0.00917372
attenuation_w_1       =  0.0717368
attenuation_w_2       =  0.375987
attenuation_w_3       =  1.66062
attenuation_w_4       =  8.66427
attenuation_y_0       =  1.6904
attenuation_y_1       =  1.13579
attenuation_y_2       =  0.987234
attenuation_y_3       =  0.924253
attenuation_y_4       =  1.46136
dist_tolerance        =  9.4
dt (nPol = 1)         =  0.829412
min_edge_length       =  9400
minimum_period        =  48.8647
nr_lin_solids         =  5
radius                =  6.371e+06
crdsys                =  spherical
model                 =  prem_ani
Element geometry________________________________________________
linear                :  768
semi-spherical        :  256
spherical             :  5376
Element medium__________________________________________________
fluid                 :  768
solid                 :  5632
Material properties_____________________________________________
ETA                   ∈  [0.90039, 1]
QKAPPA                ∈  [1327.7, 57827]
QMU                   ∈  [0, 600]
RHO                   ∈  [2600, 13088.5]
VPH                   ∈  [5800, 13716.6]
VPV                   ∈  [5800, 13716.6]
VSH                   ∈  [0, 7265.97]
VSV                   ∈  [0, 7265.97]
Side sets_______________________________________________________
r1                    :  256 sides
solid_fluid_boundary  :  256 sides
t0                    :  120 sides
Miscellaneous___________________________________________________
ellipticity curve     :  2398 knots
Mesh generation command line:

python -m salvus_mesh_lite.interface AxiSEM --basic.model prem_ani
--basic.period 50 --output_file global_mesh__prem_ani__50s.e
================================================================

============================ Geodesy ===========================
model in Cartesian     =  false
surface radius         =  6.371e+06
solid surface radius   =  6.371e+06
bottom radius          =  0
a reference geographic location on the positive z-axis
latitude             =  90
longitude            =  0
radius               =  6.3706e+06
flattening on surface  =  0.00335281
flattening at discontinuities___________________________________
f = 0.00335281    at  6.371e+06
f = 0.00334821    at  6.356e+06
f = 0.00334533    at  6.3466e+06
f = 0.00332839    at  6.291e+06
f = 0.00328615    at  6.151e+06
f = 0.003233      at  5.971e+06
f = 0.00317513    at  5.771e+06
f = 0.00315503    at  5.701e+06
f = 0.00312593    at  5.6e+06
f = 0.00257612    at  3.63e+06
f = 0.0025605     at  3.48e+06
f = 0.00243364    at  1.2215e+06
f = 0.00242322    at  0

Correcting for ellipticity in latitude-θ conversions.
================================================================

====================== Absorbing Boundary ======================
user-specified boundaries  =  [RIGHT, BOTTOM]

The mesh contains none of these boundaries.
================================================================

============================ Nr(s,z) ===========================
type   =  CONSTANT
value  =  5
====================== Computed Nr on Mesh =====================
min Nr  =  5
max Nr  =  5
ave Nr  =  5
sum Nr  =  32945

Nr has been limited by inplane resolution.
Nr has been rounded up to FFTW lucky numbers.
================================================================

=========================== 3D Models ==========================
Prem_3D ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class name   =  StructuredGridV3D
NetCDF file  =  /raid1/jj405/OTHER/AxiSEM3D2/AxiSEM3D/examples/CMBtopo_run/input/PREM_empty3Dvel.nc
Coordinates___________________________________________________
COORD     | NC-VAR | SCOPE
* latitude  | lat    | [-90, 89]
* longitude | lon    | [-180, 179]
* depth     | dep    | [0, 2.891e+06]
ellipticity correction         =  false
depth below solid surface      =  true
force element center in scope  =  true
Properties____________________________________________________
KEY | NC-VAR | REF KIND | RANGE
* VP  | dvp    | REF1D    | [0, 0]
* VS  | dvs    | REF1D    | [0, 0]
* RHO | drho   | REF1D    | [0, 0]
leader-only storage  =  true
CMBtopo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class name   =  StructuredGridG3D
NetCDF file  =  /raid1/jj405/OTHER/AxiSEM3D2/AxiSEM3D/examples/CMBtopo_run/input/CMB_UNDULATION.nc
Coordinates___________________________________________________
COORD     | NC-VAR | SCOPE
* latitude  | lat    | [-90, 89.5]
* longitude | lon    | [-180, 179.5]
* depth     | N/A    | [2.89e+06, 2.9e+06]
interface depth            =  2.891e+06
ellipticity correction     =  false
depth below solid surface  =  true
Undulation data_______________________________________________
NetCDF variable      =  depth
data range           =  [-4.96654, -0]
leader-only storage  =  true
!!!!!!!!!!!! AxiSEM3D ABORTED UPON RUNTIME EXCEPTION !!!!!!!!!!!
FROM: Material::getProperty
WHAT: Unacceptable property key: VP
Rheology type: Transversely isotropic solid
TIME: 2020-11-23T18:27:57
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

You may or may not see output from other processes, depending on
exactly when Open MPI kills them.

The bug is fixed on transverse isotropy. Please re-download and compile.
commit: https://github.com/kuangdai/AxiSEM-3D/commit/b8f7fca9689095aac78a037282e2f1d6e2c444f8


Create 2023-05-25-seans-blog-post

Wrote a blog post for Armin's Conul blog.

Wrote a blog post for the Conul blog.


Update terraform version

Trello card URL
https://trello.com/c/iwkQeYKF/577-upgrade-teaching-vacancies-paas-terraform
The terraform upgrade was required to deploy to AKS.
Changes in this PR:
updated terraform version to 1.5.1
Test
cd teaching-vacancies

aws-vault exec Deployments -- make review terraform-app-apply pr_id=12345 VERBOSE=1 tag=main-cf410e84e8fd6e46e34f93b37b7f56585cd4fe09  passcode=YOURPASSCODE

 Upgrade teaching-vacancies paas terraform


Add Unit Testing

:"""D has low priority

we have simple smoke test cases, maybe we need to add more in the future.

So we need this in future let's reopen it to remember


Incorrect Default Values

Any of the action variables should default to [""] otherwise even if you set alb_groupd_alarms_enabled = false you will get errors about empty list of strings:
https://github.com/cloudposse/terraform-aws-ecs-web-app/blob/9d868399eaf3f7b1326ef9cda4fee505f9a292d3/variables.tf#L307-L407
Sorry don't have time right now to fix, test and pr.

Out tests are passing so I do not think we are experiencing the same issue, have you looked at the new updates? @stormmore


App crashes when global-text-search

Steps to reproduce
I can searching in the pinned repo, but when i switch to all the App chrashes:
Expected behavior
No crash
Actual behavior
App chrashes when searching with Text in all repos.
Crash logs
App version: 0.16.5-6674 (standard, dbcc4a7d7, 7, 2024-05-04T21:34:28Z)
Android version: 13 (SDK 33; build TKQ1.221013.002 test-keys)
Device brand: Xiaomi
Device manufacturer: Xiaomi
Device name: nabu (nabu_eea)
Device model: 21051182G
WebView: Android System WebView 124.0.6367.123
java.lang.Throwable: java.lang.NoSuchMethodError: No direct method (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V in class Lokhttp3/MultipartBody$Builder; or its super classes (declaration of 'okhttp3.MultipartBody$Builder' appears in base.apk!classes3.dex)
at eu.kanade.tachiyomi.extension.en.digitalcomicmuseum.DigitalComicMuseum.searchMangaRequest(DigitalComicMuseum.kt:72)
at eu.kanade.tachiyomi.source.online.HttpSource$$ExternalSyntheticLambda5.call(Unknown Source:27)
at rx.internal.operators.OnSubscribeDefer.call(SourceFile:2)
at rx.internal.operators.OnSubscribeDefer.call(SourceFile:1)
at rx.Observable.unsafeSubscribe(Unknown Source:9)
at rx.internal.operators.OnSubscribeMap.call(SourceFile:4)
at rx.internal.operators.OnSubscribeMap.call(SourceFile:1)
at rx.internal.operators.OnSubscribeLift.call(SourceFile:4)
at rx.internal.operators.OnSubscribeLift.call(SourceFile:1)
at rx.Observable.subscribe(SourceFile:24)
at tachiyomi.core.common.util.lang.RxCoroutineBridgeKt.awaitSingle(Unknown Source:27)
at eu.kanade.tachiyomi.source.online.HttpSource.getSearchManga(Unknown Source:4)
at eu.kanade.tachiyomi.ui.browse.source.globalsearch.SearchScreenModel$search$3$1$1$page$1.invokeSuspend(Unknown Source:34)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:11)
at kotlinx.coroutines.DispatchedTask.run(Unknown Source:110)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(Screen#691dc89e-b45b-491a-b3a8-1477f83eb89e:eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchScreenModel:default), StandaloneCoroutine{Cancelling}@762db04, Dispatchers.IO]
--------- beginning of system
05-10 14:20:14.075 27703 27703 E MiuiMultiWindowUtils: initFreeFormResolutionArgs failed, device is nabu
05-10 14:20:37.747 27711 27711 E MiuiMultiWindowUtils: initFreeFormResolutionArgs failed, device is nabu
--------- beginning of main
05-10 15:39:08.884 27711 27711 E FileUtils: err write to mi_exception_log
05-10 15:39:09.047 27711 27711 E FileUtils: err write to mi_exception_log
05-10 15:39:09.087 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.119 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.160 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.178 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.193 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.201 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.209 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.221 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.229 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.235 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.244 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.253 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.261 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.269 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.276 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.287 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.293 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.303 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.310 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.320 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.328 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.335 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.345 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.354 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.361 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.369 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.379 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.387 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:09.393 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
05-10 15:39:11.577 27711 27711 E FileUtils: err write to mi_exception_log
05-10 15:39:11.668 27711 27711 E FileUtils: err write to mi_exception_log
05-10 15:39:11.692 27711 21351 E FrameEvents: updateAcquireFence: Did not find frame.
Mihon version
Beta R6647
Android version
13
Device
Mi Pad 5
Other details
I have removed all repos i dont use and cleared the App Cache.
I cant add the full log it is too big and cant add a File.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version 0.16.5.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

That's an issue with that "DigitalComicMuseum" extension you have installed. Go ask your repo maintainer for help with this issue as Mihon itself has nothing to do with extension development.
Closing as not related to Mihon.

Tank you @MajorTanya !
Good that i didnt have anything  fromm this extension and could Just delete it.
Thank you very much!!

Tank you @MajorTanya !
Good that i didnt have anything  fromm this extension and could Just delete it.
Thank you very much!!

Would still be nice if you could report the issue to the repo maintainers so other people won't have the crash too.

Yeah i did, didnt Had in mind that  the "default"repo was not integrated anymore since the fork.


Publish to Windows Package Manager (WinGet)

This action automatically generates manifests for WinGet Community Repository (microsoft/winget-pkgs) and submits them.
Before merging this:

Please add a GitHub token with public_repo scope as a repository secret and rename the secret name in the workflow.
Fork microsoft/winget-pkgs under @4gray.

Thank you for the PR, will check it for the next release.

@4gray you had made a new release 2 days ago, but I guess you had forgot this.

@vedantmgoyal2009 yeah, sorry, it's merged now.


Cannot get pyo3 to output anything in Kubernetes.

🐛 Bug Reports
Missing all output from python side if run in Kubernetes. Hopefully someone can give me some pointers on how stdout/stderr are handled in the pyo3 intepretor, or other doors that I can knock on, although in theory it's using Python C API under the hood is as much as I know. I know use of Kubernetes must be part of the issue, but I wanted to hear from both sides and I believe this is an edge case only occurs when both k8s and py03 are involved.
We tried to use unbuffered io and flush stdio/stderr as well.
Cases we tested:
local machine (5.0.4-arch1-1-ARCH+3.7.2+rustc 1.34.0-nightly (097c04cf4 2019-02-24)) + pyO3 => ok
docker image (ubuntu:18.04 on above system) + pyO3 => ok
k8s (see versions below) + pyO3 => fail
k8s + rust => can print
k8s + python => can print
Here are some results
~/Code/sturdy-engine(master*) » cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.03s
     Running `target/debug/sturdy-engine`
==============
Acquire GIL
Modifying sys.path
Importing
call_method1()
0
1
2
3
4
flush_stdio()
Flushing I/O
==============

~/Code/sturdy-engine(master*) » docker run -it --rm aleozlx/sturdy-engine target/debug/sturdy-engine
==============
Acquire GIL
Modifying sys.path
Importing
call_method1()
0
1
2
3
4
flush_stdio()
Flushing I/O
==============

~/Code/sturdy-engine(master*) » kubectl create -f main.yml
job.batch/debug-stdout-qp8sd created
~/Code/sturdy-engine(master*) » kubectl logs job.batch/debug-stdout-qp8sd -n bluecheese -f
==============
Acquire GIL
Modifying sys.path
Importing
call_method1()
flush_stdio()
==============

All output since call_method1 is missing. In conclusion, we can't get pyo3 to output anything in Kubernetes.
🌍 Environment

Your operating system and version: ubuntu:18.04 container in Kubernetes 1.12.4 version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.4", GitCommit:"f49fa022dbe63faafd0da106ef7e05a29721d3f1", GitTreeState:"clean", BuildDate:"2018-12-14T06:59:37Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"} on CentOS7 3.10.0-957.5.1.el7.x86_64
Your python version: 3.6.7
How did you install python (e.g. apt or pyenv)? Did you use a virtualenv?: apt & no
Your rust version (rustc --version): rustc 1.35.0-nightly (53f2165c5 2019-04-04)
Are you using the latest pyo3 version? Have you tried using latest master (replace version = "0.x.y" with git = "https://github.com/PyO3/pyo3")? Tried 0.5 & 0.6

💥 Reproducing
Please provide a minimal working example. This means both the rust code and the python.
This repo is a minimum example:
https://github.com/aleozlx/sturdy-engine/tree/4dacbf6ed9f2b6c56bf0ac58436b2546a979b367
Please also write what exact flags are required to reproduce your results.

I tried to have PYTHONUNBUFFERED turned on as well, which is usually the fix for Python. Should this env variable be effective to PyO3 as well??
https://github.com/aleozlx/sturdy-engine/blob/4dacbf6ed9f2b6c56bf0ac58436b2546a979b367/main.yml#L19

You mean you call a python script which includes print using PyO3, and then have no output?

Exactly, except I emphasize this only happens when I wrap the whole thing in a container image and run from Kubernetes. That's why I created that repo for an example. Just to clarify if it wasn't obvious from the minimum example... call is here https://github.com/aleozlx/sturdy-engine/blob/4dacbf6ed9f2b6c56bf0ac58436b2546a979b367/src/main.rs#L43
and print is here https://github.com/aleozlx/sturdy-engine/blob/4dacbf6ed9f2b6c56bf0ac58436b2546a979b367/src/payload.py#L4
I couldn't find anything out of the ordinary that can cause this so far. Any suggestion/points would be appreciated.

Can anyone please check the strace below and give me some hints to why there weren't write() system calls issued for python codes in the presence of io redirection?
https://github.com/kubernetes/kubernetes/issues/76231#issuecomment-481977489

See https://github.com/kubernetes/kubernetes/issues/76231


Add prefer-arrow-shorthand-return rule

PR checklist

[ ] Addresses an existing issue: #0000
[X] New feature, bugfix, or enhancement

[X] Includes tests

[X] Documentation update
[X] Enable CircleCI for your fork (https://circleci.com/add-projects)

What changes did you make?
Added the expression-valued-functions rule, which suggests to change () => { return x; } to () => x.

#2004 fixes tests.

@andy-hanson thanks!

no-floating-promises requires type checking

This is missing in the rules documentation.


Exception in thread Thread-4: asyncio.exceptions.CancelledError & asyncio.exceptions.TimeoutError

I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
I am trying to run the template code from the Github ReadMe page. My code is below:
from datasets import Dataset
import os
from ragas import evaluate
from ragas.metrics import faithfulness

os.environ["OPENAI_API_KEY"] = "sk-proj-*****B3" <HIDDEN>

data_samples = {
    'question': ['When was the first super bowl?', 'Who won the most super bowls?'],
    'answer': ['The first superbowl was held on Jan 15, 1967', 'The most super bowls have been won by The New England Patriots'],
    'contexts' : [['The First AFL–NFL World Championship Game was an American football game played on January 15, 1967, at the Los Angeles Memorial Coliseum in Los Angeles,'],
    ['The Green Bay Packers...Green Bay, Wisconsin.','The Packers compete...Football Conference']],
    'ground_truth': ['The first superbowl was held on January 15, 1967', 'The New England Patriots have won the Super Bowl a record six times']
}

dataset = Dataset.from_dict(data_samples)

score = evaluate(dataset,metrics=[faithfulness])
score.to_pandas()

Ragas version: I use the latest one.
Python version: 3.10.14.
Error trace
The error I encountered is below: (with my username hidden in the file paths)
**Exception in thread Thread-4:**
Traceback (most recent call last):
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/metrics/_faithfulness.py", line 248, in _ascore
    statements = await self.llm.generate(
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/llms/base.py", line 93, in generate
    return await agenerate_text_with_retry(
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/site-packages/tenacity/asyncio/__init__.py", line 189, in async_wrapped
    return await copy(fn, *args, **kwargs)
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/site-packages/tenacity/asyncio/__init__.py", line 121, in __call__
    await self.sleep(do)  # type: ignore[misc]
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/asyncio/tasks.py", line 605, in sleep
    return await future
**asyncio.exceptions.CancelledError**

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
...
    score = await asyncio.wait_for(
  File "/Users/*****/anaconda3/envs/ragas/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
    raise exceptions.TimeoutError() from exc
**asyncio.exceptions.TimeoutError**

Additional context
And the error report of the code is here:
---------------------------------------------------------------------------
ExceptionInRunner                         Traceback (most recent call last)
Cell In[1], [line 18](vscode-notebook-cell:?execution_count=1&line=18)
      [8](vscode-notebook-cell:?execution_count=1&line=8) data_samples = {
      [9](vscode-notebook-cell:?execution_count=1&line=9)     'question': ['When was the first super bowl?', 'Who won the most super bowls?'],
     [10](vscode-notebook-cell:?execution_count=1&line=10)     'answer': ['The first superbowl was held on Jan 15, 1967', 'The most super bowls have been won by The New England Patriots'],
   (...)
     [13](vscode-notebook-cell:?execution_count=1&line=13)     'ground_truth': ['The first superbowl was held on January 15, 1967', 'The New England Patriots have won the Super Bowl a record six times']
     [14](vscode-notebook-cell:?execution_count=1&line=14) }
     [16](vscode-notebook-cell:?execution_count=1&line=16) dataset = Dataset.from_dict(data_samples)
---> [18](vscode-notebook-cell:?execution_count=1&line=18) score = evaluate(dataset,metrics=[faithfulness])
     [19](vscode-notebook-cell:?execution_count=1&line=19) score.to_pandas()

File ~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:255, in evaluate(dataset, metrics, llm, embeddings, callbacks, in_ci, is_async, run_config, raise_exceptions, column_map)
    [252](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:252)     if not evaluation_group_cm.ended:
    [253](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:253)         evaluation_rm.on_chain_error(e)
--> [255](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:255)     raise e
    [256](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:256) else:
    [257](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:257)     result = Result(
    [258](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:258)         scores=Dataset.from_list(scores),
    [259](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:259)         dataset=dataset,
    [260](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:260)         binary_columns=binary_metrics,
    [261](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:261)     )

File ~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:237, in evaluate(dataset, metrics, llm, embeddings, callbacks, in_ci, is_async, run_config, raise_exceptions, column_map)
...
--> [237](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:237)     raise ExceptionInRunner()
    [239](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:239) # convert results to dataset_like
    [240](https://file+.vscode-resource.vscode-cdn.net/Users/*****/Library/CloudStorage/OneDrive-DukeUniversity/029.%20SRS%202024/Paul%20Weng%20_%20LLM/Evaluation/~/anaconda3/envs/ragas/lib/python3.10/site-packages/ragas/evaluation.py:240) for i, _ in enumerate(dataset):

ExceptionInRunner: The runner thread which was running the jobs raised an exeception. Read the traceback above to debug it. You can also pass `raise_exceptions=False` incase you want to show only a warning message instead.

Can anyone help me out? Thanks!

I also encounter this problem when evaluating, but I don't want to change ragas code inside.
I found increasing the time-related parameters(timeout, thread_timeout, max_wait, max_retries) in run_config will have a certain effect, but I don't know if it can solve the problem fundamentally.
result = evaluate(
            dataset,
            llm=model,
            embeddings=embeddings,
            metrics=[
                context_precision,
                faithfulness,
                answer_relevancy,
                context_recall,
            ],
            run_config=RunConfig(timeout, thread_timeout, max_wait, max_retries)
        )

Is there a reasonable explanation for this problem? Guess: I adapt evaluation metrics to Chinese, does the segmenting and processing time of Chinese increase the processing time compared to English?

context_precision,

Hello, I have the same problem, do you have a new solution?

@jmgu0212 evaluate on current master does not accept run_config. See my PR#1085

I also encounter this problem when evaluating, but I don't want to change ragas codebase inside. I found increasing the time-related parameters(timeout, thread_timeout, max_wait, max_retries) in run_config will have a certain effect, but I don't know if it can solve the problem fundamentally.
        result = evaluate(
            dataset,
            llm=model,
            embeddings=embeddings,
            metrics=[
                context_precision,
                faithfulness,
                answer_relevancy,
                context_recall,
            ],
            run_config=RunConfig(thread_timeout=thread_timeout)
        )

Is there a reasonable explanation for this problem? Guess: I adapt evaluation metrics to Chinese, does the segmenting and processing time of Chinese increase the processing time compared to English?

Hello, I would like to ask about the thread_timeout setting in your run_config=RunConfig(thread_timeout=thread_timeout). My configuration is as follows: run_config = ragas.RunConfig(timeout=60, max_retries=3, max_wait=20). However, when calculating metrics, such as context_relevancy, the final results are all NA. I wonder why this is happening and if there are any solutions. Is it because the timeout I set is too short?

I also encounter this problem when evaluating, but I don't want to change ragas codebase inside. I found increasing the time-related parameters(timeout, thread_timeout, max_wait, max_retries) in run_config will have a certain effect, but I don't know if it can solve the problem fundamentally.
        result = evaluate(
            dataset,
            llm=model,
            embeddings=embeddings,
            metrics=[
                context_precision,
                faithfulness,
                answer_relevancy,
                context_recall,
            ],
            run_config=RunConfig(thread_timeout=thread_timeout)
        )

Is there a reasonable explanation for this problem? Guess: I adapt evaluation metrics to Chinese, does the segmenting and processing time of Chinese increase the processing time compared to English?

Hello, I would like to ask about the thread_timeout setting in your run_config=RunConfig(thread_timeout=thread_timeout). My configuration is as follows: run_config = ragas.RunConfig(timeout=60, max_retries=3, max_wait=20). However, when calculating metrics, such as context_relevancy, the final results are all NA. I wonder why this is happening and if there are any solutions. Is it because the timeout I set is too short?

I wonder if you also adapt evaluation metrics to Chinese? If yes, you need to deal with the language option fixed in source code. Take context_relevancy as an example, you will find seg = pysbd.Segmenter(language="en", clean=False).

seg = pysbd.Segmenter(language="en", clean=False)

Thank you very much for your answer. The data set I used was given in Chinese. Could you please tell me in more detail where to adapt evaluation metrics to Chinese? Where do I find seg = pysbd.Segmenter(language="en", clean=False), and how do I modify it? Thank you very much!

I also encounter this problem when evaluating, but I don't want to change ragas codebase inside. I found increasing the time-related parameters(timeout, thread_timeout, max_wait, max_retries) in run_config will have a certain effect, but I don't know if it can solve the problem fundamentally.
        result = evaluate(
            dataset,
            llm=model,
            embeddings=embeddings,
            metrics=[
                context_precision,
                faithfulness,
                answer_relevancy,
                context_recall,
            ],
            run_config=RunConfig(thread_timeout=thread_timeout)
        )

Is there a reasonable explanation for this problem? Guess: I adapt evaluation metrics to Chinese, does the segmenting and processing time of Chinese increase the processing time compared to English?

Hello, I would like to ask about the thread_timeout setting in your run_config=RunConfig(thread_timeout=thread_timeout). My configuration is as follows: run_config = ragas.RunConfig(timeout=60, max_retries=3, max_wait=20). However, when calculating metrics, such as context_relevancy, the final results are all NA. I wonder why this is happening and if there are any solutions. Is it because the timeout I set is too short?

I wonder if you also adapt evaluation metrics to Chinese? If yes, you need to deal with the language option fixed in source code. Take context_relevancy as an example, you will find seg = pysbd.Segmenter(language="en", clean=False).

Thank you very much for your answer. The data set I use is given in Chinese form. So far, I only run one index context_relevancy. I found context_relevancy source code set to seg = pysbd.Segmenter(language="zh", clean=False), but it still ran with the following error:  Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\site-packages\httpx_transports\default.py", line 69, in map_httpcore_exceptions
yield
File "C:\Program Files\Python311\Lib\site-packages\httpx_transports\default.py", line 373, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpcore_async\connection_pool.py", line 216, in handle_async_request
raise exc from None
File "C:\Program Files\Python311\Lib\site-packages\httpcore_async\connection_pool.py", line 196, in handle_async_request
response = await connection.handle_async_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpcore_async\http_proxy.py", line 317, in handle_async_request
stream = await stream.start_tls(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpcore_async\http11.py", line 383, in start_tls
return await self._stream.start_tls(ssl_context, server_hostname, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpcore_backends\anyio.py", line 68, in start_tls
with map_exceptions(exc_map):
File "C:\Program Files\Python311\Lib\contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "C:\Program Files\Python311\Lib\site-packages\httpcore_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1548, in _request
response = await self._client.send(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpx_client.py", line 1661, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpx_client.py", line 1689, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpx_client.py", line 1726, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpx_client.py", line 1763, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\httpx_transports\default.py", line 372, in handle_async_request
with map_httpcore_exceptions():
File "C:\Program Files\Python311\Lib\contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "C:\Program Files\Python311\Lib\site-packages\httpx_transports\default.py", line 86, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\site-packages\ragas\executor.py", line 104, in wrapped_callable_async
result = await callable(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\ragas\metrics\base.py", line 134, in ascore
raise e
File "C:\Program Files\Python311\Lib\site-packages\ragas\metrics\base.py", line 127, in ascore
score = await asyncio.wait_for(
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 489, in wait_for
return fut.result()
^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\ragas\metrics_context_relevancy.py", line 77, in ascore
result = await self.llm.generate(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\ragas\llms\base.py", line 93, in generate
return await agenerate_text_with_retry(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\tenacity\asyncio_init.py", line 189, in async_wrapped
return await copy(fn, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\tenacity\asyncio_init_.py", line 111, in call
do = await self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\tenacity\asyncio_init_.py", line 153, in iter
result = await action(retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\tenacity_utils.py", line 99, in inner
return call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\tenacity_init_.py", line 398, in
self._add_action_func(lambda rs: rs.outcome.result())
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures_base.py", line 401, in __get_result
raise self.exception
File "C:\Program Files\Python311\Lib\site-packages\tenacity\asyncio_init.py", line 114, in call
result = await fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\ragas\llms\base.py", line 170, in agenerate_text
return await self.langchain_llm.agenerate_prompt(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\langchain_core\language_models\chat_models.py", line 691, in agenerate_prompt
return await self.agenerate(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\langchain_core\language_models\chat_models.py", line 651, in agenerate
raise exceptions[0]
File "C:\Program Files\Python311\Lib\site-packages\langchain_core\language_models\chat_models.py", line 836, in _agenerate_with_cache
result = await self._agenerate(
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\langchain_openai\chat_models\base.py", line 674, in _agenerate
response = await self.async_client.create(**payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai\resources\chat\completions.py", line 1289, in create
return await self._post(
^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1816, in post
return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1514, in request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1572, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1641, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1572, in _request
return await self._retry_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1641, in _retry_request
return await self._request(
^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\site-packages\openai_base_client.py", line 1582, in _request
raise APIConnectionError(request=request) from err
openai.APIConnectionError: Connection error.   Do you have a better solution? Thank you very much

same issue

same issue

"Hello, do you have a solution yet?"

Waiting for a solution too

@djanito @kmr666 @JANHMS @jmgu0212 @larry-ziyue-yin my sincere apologies for the delay in responding but this will be addressed with #1156 do check that out


How should I implement MinkSelenium2Driver in a Behat configuration?

Hello, this might be pretty simple but I can't manage to correctly implement MinkSelenium2Driver in a Behat configuration.
I actually need it in a way bigger project, but I created a small / simple project so that I have the control on everything without breaking anything.
Here is my behat.yml file:
default:
  suites:
    default:
      contexts:
        - Behat\Mink\Driver\Selenium2Driver
  gherkin:
     cache: ~
  extensions:
    Behat\MinkExtension:
      browser_name: chrome
      base_url: http://www.website.net
      sessions:
        default:
          goutte: ~
        javascript:
          selenium2: ~

Here is my FeatureContext file:
<?php

use Behat\MinkExtension\Context\MinkContext;

/**
 * Defines application features from the specific context.
 */
class FeatureContext extends MinkContext {

  /**
   * FeatureContext constructor.
   */
    public function __construct()
    {
    }
}

And here is my dummy feature file:
Feature: Dummy test

    Scenario: Test some stuff idk
        Given I am on the homepage
        Then I should see "Login"

Without adding the - Behat\Mink\Driver\Selenium2Driver line to the behat file, everything works. However, adding it returns the following error:

Every context class must implement Behat Context interface, but Behat\Mink\Driver\Selenium2Driver does not.

And since your example is pretty much outdated, I can't find any good example
So my question is: how can I implement it correctly?
Thank you in advance

Behat\Mink\Driver\Selenium2Driver is not a Behat context at all. what you need in your contexts configuration is your FeatureContext class

Soooo... I made it work, I don't know how, but I just made sure that composer.json required the MinkSelenium2Driver, I added @javascript to my test and... it worked. I can't figure out how nor why but it works. So, thank you I guess, I can close this :')


Allows checking multiple queues

Regarding #8.

Fixed conflicts due to merging #7 into master.

@mylk thank you very much! 👍


ImageResizer Name and Description tags

ImageResizer needs a description. On the original repo it was Lets you resize images by right-clicking.
Currently the name being used in the codebase is ImageResizer (without space, like FancyZones and PowerRename). Are there any changes to be made to this?

@crutkas We also need some verbiage here to indicate that the settings are within the ImageResizer application.

Added Resolution-Fix-Committed since this and its linked threads of work are done.

The fix is now available in 0.16 https://github.com/microsoft/PowerToys/releases


[ ] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[x] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
I have configured rtsp-simple-server with RTSPS to allow connections from Amazon Echo video device (RTSPS reader)
This works fine with version 0.17.17.
I tried upgrading to the latest version 0.19.1 and the Amazon device initiates the connection but will not play the stream (says Buffering... forever).
The breaking change is somewhere in version 0.18.0. The Amazon device doesn't provide any logs so I don't know what it doesn't like. Could you speculate about differences between 17.17 and 18.0 that might cause failure?
Describe how to replicate the issue

start the server
publish with on demand ffmpeg source
read with Amazon Echo video device using RTSPS

Hello, the main different between v0.17.17 and v0.18.0 is that the latter parses all incoming RTP/RTCP packets and re-encodes them. Anyway, please post a sample configuration and a server log with logLevel: debug, maybe it contains something useful.

this can't be solved without help from the author.


PAAS-183: Update curator

Looks good. Before we push this version out to docker service base maybe we can test in denvertest instance.


Load Templates From Classpath

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


Several Adjustments

Hi there
I've got a task to decrypt data using AES GCM algorithm. Data are encrypted using GOlang application. Unfortunately there is no AES GCM support in the .Net yet. I was lucky enough to find you sample in the inet.
It works like a charm however I've made small adjustment to use it from the external application and to set the key (256 bit), mac (128) and nonce (96 bit) from calling code. It should be Also I've set private DecryptWithKey to public since working with byte arrays not strings.
Please take a look on my pull request and merge it if you find it useful.

new constructor with parameters
decryption exception is not hidden
key check was refactored

Regards

Thank you for the PR @oleksabor, merged 👍


Hover of Self in structs should return an exact target

The following
struct Thing {};
impl new() -> Self {
    Self<|> {}
}

should return an exact NavigationTarget of Thing

Working on this


[releases] PCA Optimization for Column-Major Tables

Some optimizations for PCA have been done in Correlation

make test


docs(zh-cn): Reviewed 68_data-collators-a-tour.srt

docs(zh-cn): Reviewed 68_data-collators-a-tour.srt #390

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


test: Ratify repo move validation

What would you like to be added?
We are moving Ratify repository to a new home. This issues will document the areas and result of validation.
Anything else you would like to add?
No response
Are you willing to submit PRs to contribute to this feature?

[ ] Yes, I am willing to implement it.

A test repo move has been performed to validate the impact:
Ratify Installation
Active Links

Published packages are still reachable,  e.g. docker pull ghcr.io/susanshi/ratify-dev:dev.20240407.c01a617
Github Releases were transferred, and binary can be downloaded.
Github Packages were transferred to the new repository , image were retagged, e.g. docker pull ghcr.io/evantravers18/ratify-dev:latest

Broken links

github pages are no longer available through the old path.  https://susanshi.github.io/ratify/charts/ratify/values.yaml

Action Items

User content link needs to be updated to the new path. E.g.
https://raw.githubusercontent.com/susanshi/ratify/main/test/testdata/notation.crt
Publish helm charts at new repo
Update doc links to point to new repo path
republish previous release of ratify ghcr images to new path

Ratify Plugins Authoring
Dev workflows

Adding checklist from @akashsinghal to see if we have answers to all items:
Ratify Repository Transfer Open Questions

Ratify Packages

Are existing binaries published still accessible via old repo path?

Will existing binary assets automatically publish under new repository?
- Ratify's module is current github.com/deislabs/ratify. When do we plan to update this? For previously published packages visible in pkg.go.dev, do we need to take steps so user's can find future versions under the new repo path? If we update the module name, will it break out-of-tree plugins that import it?

Ratify Registry Artifacts

Are existing images still accessible via ghcr.io/deislabs/ratify?

Do all existing artifacts transfer to new repo?

Ratify Helm Charts

Do we need to re release our helm charts with an updated CRD + core ratify images?

Do we need to update artifact hub?

Ratify github published page

The helm chart is published to repo's github pages. Will the existing helm charts at deislabs.github.io still be accessible?

Ratify Github Actions

Will the repo transfer re trigger releases? As in when the new tags come over, will they count as tag push events that will trigger are auto release workflows?

Do any release actions have hardcoded dependency on deislabs/ratify?

Do we need to update the helm publishing action to point to a new github.io page?

Ratify Website

Do we need to update all links referencing deislabs/ratify or will github redirect to new repo location?

Do we need to make any updates to the GH action that auto publishes new main branch changes to website?

Tokens

Do we need to regenerate tokens for GH actions?

CRDs (not blocking)

The Ratify CRDs are pinned to the group config.ratify.deislabs.io. What is the plan to migrate?

Adding action item: after repo move, run workflow to publish quick start sample

Discussed from community meeeting, we should publish our chart to doc site in the future.


Add sha2 to upload detailed summary

[x] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

Link to relevant PR: https://github.com/jfrog/jfrog-cli/pull/1068


Add support in models for dictionary types

@darrelmiller can you add a YAML sample for that on the repo please?

This is blocked on OpenAPI 3.1 support as the patternedProperties keyword is not supported in OpenAPI 3.0

https://github.com/microsoft/api-guidelines/blob/vNext/graph/patterns/dictionary.md
https://github.com/microsoft/api-guidelines/blob/vNext/graph/patterns/dictionary-client-guidance.md

Implementation guidance.
There are two cases dictionary, and patterns.
For dictionary, we just want to represent the model as a dictionary, with no other property.
For patterns, there can be multiple pattern per model, each pattern will map to a property on the model. (e.g. odata instance fields would map to a dedicated dictionary property on the model)
deserialization for dictionaries
At generation time

add a * entry in the field deserializers which would contain the code to insert into the dictionary.
make the model inherit from map/dictionary.

At runtime

look for a * entry.
call the deserializer for every json value we find.

serialization for dictionaries
generation time

update the serialization method to loop on every entry and call the right serialization method.

deserialization for patterns
generation time
This case is a bit more advanced but similar to the dictionary

generate a property for each pattern
generate a deserializer for each pattern

at runtime

if a json value has an exact match, call the deserializer
if a json value matches one of the patterns (do the detection of them, and regex generation once outside of the loop), call the pattern deserializer
if the model supports additional data, stick if there

serialization of patterns
at runtime
Iterate over the entries found in the properties

@LockTar yes it seems this is impacting your client generation. Are you trying to access the data in this dictionary or could you ignore it in your application?

Yes I need the data in the dictionary. My api has fluentvalidation and when it has validation errors I convert them to a ValidationProblemDetails. That is a class in .net and is an industry standard for communication of errors/ProblemDetails. The ValidationProblemDetails object is inheriting ProblemDetails and is extending it with an Errors property of the type Dictionary<string, string[]>. So you will get a list of Validation errors with the key as the field and a string[] with all the errors of that field.
My client (user interface) binds the errors dictionary to my form... I have a workaround by deserializing the object to a string[] first but if it can be optimized it would be nice. Also I don't understand the extra class in between.
Also, how could we change the name of the exception? The exception is now called ValidationProblemDetails. But can we change it to something like in example ValidationException? Maybe with an attribute or something? The docs are a bit unclear about models and serialization.
Sorry for the strange format but typing on mobile. Thanks!

I'm not sure I follow the comment about the extra class in between?
As for the class name, it's driven by the component name in the API description or the properties/endpoint names if inline. So you can tweak those to change the end class name.

I needed some time to figure everything out...

As for the class name, it's driven by the component name in the API description or the properties/endpoint names if inline. So you can tweak those to change the end class name.

Ok so I played a bit with it. Because I generate the OpenAPI  spec with Swashbuckle. I haven't figured out a way to change the name of the component with an attribute. So I created a new class called ValidationProblemDetailsException (originally I used the ValidationProblemDetails class from .net) that has exactly the same properties as the class in .net. But now I can add some things like example values and nice titles. So my class in example has the [SwaggerSchema(Title = "Validation Problem Details")] attribute.

I'm not sure I follow the comment about the extra class in between?

To focus on the Errors dictionary:
My API in example returns the following response (.net ValidationProblemDetails):
{
    "title": "One or more validation errors occurred.",
    "status": 400,
    "detail": "Please refer to the errors property for additional details.",
    "instance": "/api/address/here",
    "errors": {
        "Prop1": [
            "Error for prop1"
        ],
        "Code": [
            "'Code' must not be empty.",
            "'Code' must be 6 characters in length. You entered 0 characters."
        ]
    }
}

My response in the swagger file is generated from that same class (or see above from ValidationProblemDetailsException that is exactly the same).
So this is the complete C#:
[SwaggerSchema(Title = "Validation Problem Details")]
public class ValidationProblemDetailsException : ProblemDetailsException
{
    ///
    /// Gets the validation errors associated with this instance.
    ///
    /// <example>{"prop1": ["error1","error2"], "prop2": ["error1","error2"]}</example>
    public IDictionary<string, string[]> Errors { get; } = new Dictionary<string, string[]>(StringComparer.Ordinal);
}

public class ProblemDetailsException
{
    ///
    /// A URI reference [RFC3986] that identifies the problem type. This specification encourages that, when
    /// dereferenced, it provide human-readable documentation for the problem type
    /// (e.g., using HTML [W3C.REC-html5-20141028]).  When this member is not present, its value is assumed to be
    /// "about:blank".
    ///
    [JsonPropertyName("type")]
    public string? Type { get; set; }

    ///
    /// A short, human-readable summary of the problem type.It SHOULD NOT change from occurrence to occurrence
    /// of the problem, except for purposes of localization(e.g., using proactive content negotiation;
    /// see[RFC7231], Section 3.4).
    ///
    /// <example>One or more validation errors occurred.</example>
    [JsonPropertyName("title")]
    public string? Title { get; set; }

    ///
    /// The HTTP status code([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
    ///
    /// <example>400</example>
    [JsonPropertyName("status")]
    public int? Status { get; set; }

    ///
    /// A human-readable explanation specific to this occurrence of the problem.
    ///
    /// <example>Please refer to the errors property for additional details.</example>
    [JsonPropertyName("detail")]
    public string? Detail { get; set; }

    ///
    /// A URI reference that identifies the specific occurrence of the problem.It may or may not yield further information if dereferenced.
    ///
    /// <example>/api-resource/v1/action</example>
    [JsonPropertyName("instance")]
    public string? Instance { get; set; }

    ///
    /// Gets the <see cref="IDictionary{TKey, TValue}"/> for extension members.
    /// <para>
    /// Problem type definitions MAY extend the problem details object with additional members. Extension members appear in the same namespace as
    /// other members of a problem type.
    /// </para>
    ///
    /// <remarks>
    /// The round-tripping behavior for <see cref="Extensions"/> is determined by the implementation of the Input \ Output formatters.
    /// In particular, complex types or collection types may not round-trip to the original type when using the built-in JSON or XML formatters.
    /// </remarks>
    [JsonExtensionData]
    public IDictionary<string, object?> Extensions { get; } = new Dictionary<string, object?>(StringComparer.Ordinal);
}

The response in the swagger file is:
"ValidationProblemDetailsException": {
  "title": "Validation Problem Details",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "A URI reference [RFC3986] that identifies the problem type. This specification encourages that, when\r\ndereferenced, it provide human-readable documentation for the problem type\r\n(e.g., using HTML [W3C.REC-html5-20141028]).  When this member is not present, its value is assumed to be\r\n\"about:blank\".",
      "nullable": true
    },
    "title": {
      "type": "string",
      "description": "A short, human-readable summary of the problem type.It SHOULD NOT change from occurrence to occurrence\r\nof the problem, except for purposes of localization(e.g., using proactive content negotiation;\r\nsee[RFC7231], Section 3.4).",
      "nullable": true,
      "example": "One or more validation errors occurred."
    },
    "status": {
      "type": "integer",
      "description": "The HTTP status code([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.",
      "format": "int32",
      "nullable": true,
      "example": 400
    },
    "detail": {
      "type": "string",
      "description": "A human-readable explanation specific to this occurrence of the problem.",
      "nullable": true,
      "example": "Please refer to the errors property for additional details."
    },
    "instance": {
      "type": "string",
      "description": "A URI reference that identifies the specific occurrence of the problem.It may or may not yield further information if dereferenced.",
      "nullable": true,
      "example": "/api-resource/v1/action"
    },
    "errors": {
      "type": "object",
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "description": "Gets the validation errors associated with this instance.",
      "nullable": true,
      "readOnly": true,
      "example": {
        "prop1": [
          "error1",
          "error2"
        ],
        "prop2": [
          "error1",
          "error2"
        ]
      }
    }
  },
  "additionalProperties": {}
}

The client is generated is as follow:
public class ValidationProblemDetailsException : ApiException, IAdditionalDataHolder, IParsable {
    /// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
    public IDictionary<string, object> AdditionalData { get; set; }
    /// A human-readable explanation specific to this occurrence of the problem.
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
    public string? Detail { get; set; }
#nullable restore
#else
    public string Detail { get; set; }
#endif
    /// Gets the validation errors associated with this instance.
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
    public ValidationProblemDetailsException_errors? Errors { get; private set; }
#nullable restore
#else
    public ValidationProblemDetailsException_errors Errors { get; private set; }
#endif
    /// A URI reference that identifies the specific occurrence of the problem.It may or may not yield further information if dereferenced.
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
    public string? Instance { get; set; }
#nullable restore
#else
    public string Instance { get; set; }
#endif
    /// The HTTP status code([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.
    public int? Status { get; set; }
    /// A short, human-readable summary of the problem type.It SHOULD NOT change from occurrence to occurrenceof the problem, except for purposes of localization(e.g., using proactive content negotiation;see[RFC7231], Section 3.4).
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
    public string? Title { get; set; }
#nullable restore
#else
    public string Title { get; set; }
#endif
    /// A URI reference [RFC3986] that identifies the problem type. This specification encourages that, whendereferenced, it provide human-readable documentation for the problem type(e.g., using HTML [W3C.REC-html5-20141028]).  When this member is not present, its value is assumed to be"about:blank".
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
    public string? Type { get; set; }
#nullable restore
#else
    public string Type { get; set; }
#endif
    ///
    /// Instantiates a new ValidationProblemDetailsException and sets the default values.
    ///
    public ValidationProblemDetailsException() {
        AdditionalData = new Dictionary<string, object>();
    }
    ///
    /// Creates a new instance of the appropriate class based on discriminator value
    ///
    /// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
    public static ValidationProblemDetailsException CreateFromDiscriminatorValue(IParseNode parseNode) {
        _ = parseNode ?? throw new ArgumentNullException(nameof(parseNode));
        return new ValidationProblemDetailsException();
    }
    ///
    /// The deserialization information for the current model
    ///
    public IDictionary<string, Action<IParseNode>> GetFieldDeserializers() {
        return new Dictionary<string, Action<IParseNode>> {
            {"detail", n => { Detail = n.GetStringValue(); } },
            {"errors", n => { Errors = n.GetObjectValue<ValidationProblemDetailsException_errors>(ValidationProblemDetailsException_errors.CreateFromDiscriminatorValue); } },
            {"instance", n => { Instance = n.GetStringValue(); } },
            {"status", n => { Status = n.GetIntValue(); } },
            {"title", n => { Title = n.GetStringValue(); } },
            {"type", n => { Type = n.GetStringValue(); } },
        };
    }
    ///
    /// Serializes information the current object
    ///
    /// <param name="writer">Serialization writer to use to serialize this model</param>
    public void Serialize(ISerializationWriter writer) {
        _ = writer ?? throw new ArgumentNullException(nameof(writer));
        writer.WriteStringValue("detail", Detail);
        writer.WriteStringValue("instance", Instance);
        writer.WriteIntValue("status", Status);
        writer.WriteStringValue("title", Title);
        writer.WriteStringValue("type", Type);
        writer.WriteAdditionalData(AdditionalData);
    }
}

So it generates an extra ValidationProblemDetailsException_errors class for the Errors property.  This is the part that I don't understand. That class has a property public IDictionary<string, object> AdditionalData { get; set; } which is actually the original Dictionary<string, string[]>.
So to catch the exception and really get the errors for my API I have to do this:
catch (ValidationProblemDetailsException ex)
{
    Dictionary<string, string[]> errors = ex.Errors.AdditionalData.ToDictionary(d => d.Key, d => JsonSerializer.Deserialize<string[]>(d.Value.ToString()));

    // See errors for actual errors! Display errors in userinterface here

    throw;
}

Thanks for the extensive details here. Yes that extra error class is because Kiota doesn't know what to do with the dictionary (it doesn't get parsed properly by OpenAPI.net at this point) and it results in generating an extra class. It's also because the definition is inline with the property, if it was a component schema, at least the name would be "cleaner".

Your welcome 👍🏻. You now have a good unit test haha.
So this will be fixed in the future? Any timeline when because this ticket is already open for a long time... Would be very nice to have. Thanks!

Yep, thanks :)
We're really dependent on OpenAPI.net adding support for 3.1 here. My team also works on that library and the work for 3.1 has already started a while ago. But it's a significant undertaking. You can follow progress of that with this milestone and although the release date is set to the end of the month, it's probably going to take at least another few more months.
Meanwhile we're focusing on making most of the existing languages here stable BEFORE we take that change in, that's because this change will be breaking (addition to interfaces so we can serialize/deserialize dictionaries properly).

@LockTar We are making reasonable progress on OpenAPI 3.1 but as @baywet says it is going to a take another couple of months.  As we have to make breaking changes anyway to support OpenAPI  3.1 we are taking advantage of the opportunity to make a number of other fixes that will resolve performance issues and hopefully fix external references.
@baywet We have never discussed schemas with additionalProperties that define a schema for the additional properties.  I wonder if we could leverage that schema during deserialization of AdditionalData so that AdditionalData doesn't just contain strings of JSON?

@darrelmiller the challenge being we materialize that property with a non generic interface today, and changing that would also be a breaking change https://github.com/microsoft/kiota-abstractions-dotnet/blob/main/src/serialization/IAdditionalDataHolder.cs

Hey @baywet,
I also just stumbled across this issue. I'm not 100% getting behind why the OpenAPI 3.1. update and the support for dictionaries is related. I tried to identify, why e.g. this example does not generate correct code.
openapi: 3.0.0
info:
  title: Sample API
  version: 0.1.9
paths:
  /users:
    get:
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  schema:
                    type: object
                    properties:
                      data:
                        type: string

And from my quick reading of the Microsoft.OpenAPI code, there exists a branch that tries to parse the schema of the additionalProperties field (cf. OpenApiSchemaDeserializer.cs#L161), but that seems not to work. Is this a bug?
I would expect the deserializer to return the schema information of the additionalProperties, but that is not the case:
using Microsoft.OpenApi.Models;
using Microsoft.OpenApi.Readers;

var document = new OpenApiStreamReader().Read(File.OpenRead("example.yml"), out var diagnostics);

var additionalProperties = document.Paths["/users"].Operations[OperationType.Get].Responses[
    "200"
].Content["application/json"]
    .Schema
    .AdditionalProperties;

Console.WriteLine(additionalProperties.Properties.Count); // prints 0

From my rough understanding of kiota, it should in principle be able to generate the correct dictionary types in this case, if the OpenApi deserializer would work correctly, shouldn't it?

Hi @fpoppinga
Thanks for looking into this and sharing your findings here.
The fact that you're not getting the schema properties in OpenAPI.net seems like a bug to me as well, would you mind opening an issue over there so we can have a focused discussion on this please?
As to Darrel's earlier comment, when additional properties are schematized, we haven't defined what should happen in kiota from a generation perspective. What would you expect to happen?
Lastly, dictionary types (the original issue of this topic) were introduced with 3.1, so we'll need the implementation to be complete before we can benefit from those improvements in kiota.

Thanks for the quick reply, I appreciate it!

The fact that you're not getting the schema properties in OpenAPI.net seems like a bug to me as well, would you mind opening an issue over there so we can have a focused discussion on this please?

I did that, see #OpenAPI.NET/1427

As to Darrel's earlier comment, when additional properties are schematized, we haven't defined what should happen in kiota from a generation perspective. What would you expect to happen?

I would expect the generated AdditionalData field to be of type IDictionary<string, Dummy> and Dummy being generated from schema, instead of IDictionary<string, object> as it is now:
    public class UsersResponse : IAdditionalDataHolder, IParsable {
        /// Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
        public IDictionary<string, object> AdditionalData { get; set; }
// ...

Lastly, dictionary types (the original issue of this topic) were introduced with 3.1, so we'll need the implementation to be complete before we can benefit from those improvements in kiota.

Maybe I'm confusing something here, but when I talk about dictionaries, I was meaning dictionaries as defined here, and that's the OAS 3.0.

Now that the work to support OpenAPI 3.1 is complete, is there a new timeline for this particular issue? We just hit a situation where one of our endpoints relies on returning a model with a Dictionary inside it and using Kiota with that model is not working for us.

As mentioned by @julealgon, it would be great to have a new timeline for this.
We're looking to the possibility of moving all our generated http clients to use Kiota. However, this is currently a blocker for us.

@julealgon can you provide more context around OAS 3.1 support being completed please?

@julealgon can you provide more context around OAS 3.1 support being completed please?

I was alluding to this being in completed state:

https://github.com/microsoft/OpenAPI.NET/issues/795

Right, As per my last comment on this thread, although most of the implementation work is done, there's remaining work to be done before a preview version is published and we can grab that in kiota.
The better thing to follow for progress is this milestone AFAIK

Hi， Has this issue been resolved?

Not yet, see the update I provided on OAS 3.1 implementation progress.


chore: Adding Complex Decisions & Subprocesses Charts in playground

I saw @ad1992 tweet and decided to contribute to the project after I saw the scope of the project. I've added a more complex Decision Box & to continue it forward, more subprocesses have been added. You can see the attached Image of the new Chart I said.
*Added TestCase 44
Gallery -->

@DYNAMICMORTAL thanks for adding the test case. In case you are interested in adding a new diagram type you can refer to the docs

Yes @ad1992 !!! I'm building a parser for Pie Charts. I hope to complete it soon and pull a request!!!


Cannot make on CentOS 7.1 ?

$ sudo yum install git
$ git clone https://github.com/grpc/grpc.git
$ cd grpc
$ git submodule update --init

# All this went fine, and then....

$ make
[MAKE]    Generating cache.mk
[MAKE]    Building zlib
Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).
** ./configure aborting.
make: *** [/home/jjg/grpc/libs/opt/zlib/libz.a] Error 1

Any ideas what's up here?

We're now shipping pre-compiled binaries and packages - is that one still an issue ?

Closing for now - we'll reopen if necessary on updates.


Allow globally loaded javascript libs

Some javascript libraries need to be loaded on the global scope, especially older ones. A great, common example is bootstrap, which needs jquery to be globally available.
Different build systems have different ways to allow this. Webpack has several alternatives to shimming modules, and so does SystemJS.
Angular-CLI needs to provide a way to load these files in order to provide interop with the simplest way of loading javascript files.

In case anyone really needs this NOW, in Webpack, the solution is to do:
window['jQuery'] = require('jquery')
I don't know if this works with SystemJS too.

@iamyojimbo very good advice, thank you!

https://github.com/angular/angular-cli/pull/1747 adds instructions on how to use libs that need global scope using @iamyojimbo's technique.
It should be enough for now but if people start having more problems with libs, we can add more functionality to address global scripts.

We looked into it a bit more and decided to take another approach to the global libs issue. We decided to provide a config item to specify javascript files that should be loaded outside of the module ecosystem, as if they were in a script tag.
We feel this should make it easier for people to add libs since they won't have to poke around for the exports, and also make it more compatible with all kinds of libs.

@filipesilva by, "poke around the the exports", what do you mean exactly?

Using your method, you need to know the exact names of the needed exports. For jquery this is jQuery and $. These are well known enough but for many libraries that isn't so clear, so a user would have to look into the source to figure out what exports they should put in window.


Suggestion: Further CSS Optimization

I was looking at https://raw.githubusercontent.com/AndiDittrich/EnlighterJS/master/Build/EnlighterJS.min.css and I ran the code through http://csscompressor.com/ . Then, I saw that you already compressed and optimized the code as much as it can be optimized. However, I do see one possible improvement that you may want to consider.
Is there an easy way (or would it be a good idea) to allow WordPress users to select which themes to enable/disable and then only use the needed CSS code? In other words, if a user disabled the "Twilight" theme, then the "Twilight" classes would not be in the CSS file that is loaded by WordPress.
Background Info
./Build/EnlighterJS.min.css contains CSS classes for each of the themes supported by EnlighterJS. Obviously, the WordPress plugin (which I use on DCJTech.info) allows a user/poster to select a theme. However, on my website, I reduced the size of the plugin's files by deleting the themes I did not want users/posters to use. Thus, I could remove the CSS classes for themes my website does not use.
One reason why I offer this as a mere suggestion is because I do not know how you feel about "nit-picky" optimizations. On my website, I use many micro-optimizations. True, one micro-optimization may not contribute much performance improvement, but many micro-optimizations on a website that is visited by hundreds of people per day adds up quickly and yields significant results.

Thank's for your suggestion.
Such feature is scheduled for the next major release of the WordPress plugin. I have to implement a lot of improvements and optimization. therefore it will not be added to the current release.
but for your use-case i would recommend you to include the Enlighter-Themes into your global theme and disable the "default" themes. i use the same method within my blog. this allows you to add a several optimizations.

Thanks for your feedback. Yes, on my website, I edited some of EnlighterJS's code and moved all of the CSS to my theme's CSS file.


It's still too complex to init a ceph cluster. Maybe a docker-swarm.yml would help a lot.

Then users will only need to specify no of each kinds of nodes and 1-2 env variable.

I don't know anything about Docker Swarm. What's the issue? Where is the stuggle?

I just hope there's a one-line command to start the ceph cluster. users just need to specify the storage location and running nodes .

Well we currently have one command line per Ceph daemon.

Unfortunately Swarm deployment doesn't look so easy:
https://github.com/sepich/ceph-swarm

If this can help, this is how a docker swarm users would like to try ceph on his docker swarm. https://firepress.org/blog/the-complete-guide-to-attach-a-docker-volume-with-minio-on-your-docker-swarm-cluster/

@pascalandy Unfortunately your link is not accessible anymore :(

Just updated the link :)

@pascalandy Thanks for the re-post.  Minio is excellent for Object Storage but unfortunately MinFS was deprecated and I was not able to find a decent alternative :(


Bug: No autofix when imports contain an unnamed import

To replicate the problem
Create a file with the following content:
import moment from 'moment';

import 'moment/locale/nb';
import react from 'react';

You should get the following linting error There should be no empty line within import group. This requires the following manual fix:
import moment from 'moment';
import react from 'react';
import 'moment/locale/nb';

It would be good if this fixed as part of the normal autofix.

This can't be done safely with autofixing, because we can't know if the react import relies on side effects in the moment locale import.