[cinder-csi-plugin] scheme "" not registered, fallback to default scheme

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
Every about 2 mins getting these messages:
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.544974   21344 clientconn.go:106] parsed scheme: ""
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.545020   21344 clientconn.go:106] scheme "" not registered, fallback to default scheme
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.545128   21344 passthrough.go:48] ccResolverWrapper: sending update to cc: {[{/var/lib/kubelet/plugins/cinder.csi.openstack.org/csi.sock  <nil> 0 <nil>}] <ni
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.545177   21344 clientconn.go:933] ClientConn switching balancer to "pick_first"
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.545244   21344 clientconn.go:882] blockingPicker: the picked transport is not ready, loop back to repick
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.551915   21344 clientconn.go:106] parsed scheme: ""
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.551951   21344 clientconn.go:106] scheme "" not registered, fallback to default scheme
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.551980   21344 passthrough.go:48] ccResolverWrapper: sending update to cc: {[{/var/lib/kubelet/plugins/cinder.csi.openstack.org/csi.sock  <nil> 0 <nil>}] <ni
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.551995   21344 clientconn.go:933] ClientConn switching balancer to "pick_first"
апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.552042   21344 clientconn.go:882] blockingPicker: the picked transport is not ready, loop back to repick

What you expected to happen:
No such messages.
Environment:

openstack-cloud-controller-manager(or other related binary) version: latest
K8s: 1.18.0

@ramineni could you please take a look? thanks!

@yerzhant seeing from the error messages,

апр 03 23:43:58 worker-1 kubelet[21344]: I0403 23:43:58.545128   21344 passthrough.go:48] ccResolverWrapper: sending update to cc: {[{/var/lib/kubelet/plugins/cinder.csi.openstack.org/csi.sock   0 }] <ni

This path is actually used in node-driver-registrar sidecar and is required argument for registering driver with kubelet, https://github.com/kubernetes-csi/node-driver-registrar#required-arguments ,
And secondly , in this case looks like we want to go with the default scheme , as none is passed .
Either way, I dont think this is not in scope of this project.


NTR: infection assay evidence

Many papers in microbiology (e.g. PMID:19236707, PMID:25170934) make use of animal/plant models to assess the virulence or pathogenic ability of microorganisms (e.g. viruses, bacteria). The animal/plant model is exposed to the pathogen and some type of phenotypic outcome is measured in the host (e.g. mortality, immune response...).
The proposed definition would be as follows:

Infection assay evidence is a type of experimental phenotypic evidence in which the virulence or infection capacity of a pathogen is determined by assessing phenotypic changes in the host.

Most likely parent term would be: ECO:0000059 - experimental phenotypic evidence, but it must be noted that ECO:0000179 - animal model system study evidence might be a better parent term for the term here proposed when applied to animal hosts.
In the case that specific terms were to be derived from "infection assay evidence" based on the type of host used for the experiment (e.g. "plant infection assay evidence), corresponding terms equivalent to ECO:0000179 should be derived (e.g. "plant model system study evidence", "cell culture model system study evidence") to act as parents.

Hi @ivanerill,
Thank you for the NTR.  We discussed this at our last ECO meeting and I will update the ticket shortly with some ideas.
James

Hi @ivanerill,
Apologies for the delay.  Moving forward with new terms as noted below.  I will have this pushed to GitHub shortly.  I am closing the ticket but please feel free to re-open it if need be.
James
NTR: host colonization assay evidence
child of: experimental evidence
def: A type of v experimental evidence in which the colonization or adhesion capacity is measured.
comment: Has to do with the ability of the bacterium or virus to bind to a host.
exact syn.: adhesion assay evidence
NTR: host colonization assay evidence used in automatic assertion
def: A type of host colonization assay evidence that is used in an automatic assertion.
NTR: host colonization assay evidence used in manual assertion
def: A type of host colonization assay evidence that is used in a manual assertion.
NTR: infection assay evidence
child of: host colonization assay evidence
def: A type of host colonization assay evidence in which the infection capacity is measured by assessing changes in the host.
comment: Has to do with the outcome of a bacterial or viral / host interaction, be it a measure of cell death, cytotoxicity, invasion, etc.
NTR: infection assay evidence used in automatic assertion
def: A type of infection assay evidence that is used in an automatic assertion.
NTR: infection assay evidence used in manual assertion
def: A type of infection assay evidence that is used in a manual assertion.

Just wondering if "NTR: host colonization assay evidence" should be a child
of ECO:0000059 instead?
On Mon, May 6, 2019 at 6:54 PM jbmunro<EMAIL_ADDRESS>wrote:

Hi @ivanerill https://github.com/ivanerill,
Apologies for the delay. Moving forward with new terms as noted below. I
will have this pushed to GitHub shortly. I am closing the ticket but please
feel free to re-open it if need be.
James
NTR: host colonization assay evidence
child of: experimental evidence
def: A type of v experimental evidence in which the colonization or
adhesion capacity is measured.
comment: Has to do with the ability of the bacterium or virus to bind
to a host.
exact syn.: adhesion assay evidence
NTR: host colonization assay evidence used in automatic assertion
def: A type of host colonization assay evidence that is used in an
automatic assertion.
NTR: host colonization assay evidence used in manual assertion
def: A type of host colonization assay evidence that is used in a
manual assertion.
NTR: infection assay evidence
child of: host colonization assay evidence
def: A type of host colonization assay evidence in which the infection
capacity is measured by assessing changes in the host.
comment: Has to do with the outcome of a bacterial or viral / host
interaction, be it a measure of cell death, cytotoxicity, invasion, etc.
NTR: infection assay evidence used in automatic assertion
def: A type of infection assay evidence that is used in an automatic
assertion.
NTR: infection assay evidence used in manual assertion
def: A type of infection assay evidence that is used in a manual assertion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/evidenceontology/evidenceontology/issues/184#issuecomment-489692261,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHWLKLARNR3KHQDMXILKZLPUBPGDANCNFSM4F7MPJLA
.

I've been avoiding putting things under ECO:0000059 'experimental phenotypic evidence' because I don't think there is a clear distinction between what belongs under 'direct assay ' and what goes under 'experimental phenotype'. I need to think about it some more -but I kind of feel that most things are phenotypic observations so I'm not sure it's useful to have a separate grouping term. But that is still on our 'to do' list to review in depth.

The way I see it this harks back to the question of what evidence is, leading you to adopt an intentional stance. If you "use" the phenotype to make your assertion (i.e. you just observe it directly, you measure some aspect of it (e.g. concentration of a protein), etc.) then it should be some kind of 'phenotypic evidence'.
For instance, if you measure growth of a cell population and a mutant population to determine some role of the knocked out protein in certain conditions, then this is obviously 'mutant phenotype' evidence.
It is hard to conceive of a case in which the phenotype is "used" in the above sense in an IDA-like context.  You can only "use" the phenotype if you perform an in vivo experiment (although there might be some final in vitro stages involved in reading out the phenotype). Both the references cited in my original NTR use mutants, so should probably inherit from ECO:0000015 or one of its offspring (or may already be covered by one of those).
I've been trying to come up with an IDA-like instance of experimental evidence where the phenotype is used in the sense above, but I have not been able to. If you guys can't either I would probably suggest obsoleting ECO:0000059.

Hi @ivanerill
In fact, I've been wanting to obsolete ECO:0000059 'experimental phenotypic evidence' - but didn't want to state that until we had time to review things more.
We can't put 'infection assay evidence' under ECO:0000015 'mutant phenotype evidence' since it will not always be mutants that are involved.
Perhaps you can solve this by doing two annotations, one to 'infection assay evidence' and one to 'mutant phenotype evidence'.
We're happy to get on a call and chat on this if you'd like.

Re-opening issue as there was further discussion.
@ivanerill - let us know if discussing this over the phone / online meeting would be helpful.
James

Summary:
'host colonization assay evidence' and its child term 'infection assay evidence' were created under 'experimental evidence' and the ticket was closed.
Ivan questioned the 'experimental evidence' parentage and suggested 'experimental phenotypic evidence'.   As noted, there is hesitation on the part of ECO to do this as this branch is under review with the probable outcome of finding new parents for the children and obsoleting the term (GitHub #174).  Additionally, it was noted that the parent 'mutant phenotype evidence' is inappropriate since it will not always be mutants that are involved.
Given that there has been no further discussion for over 3 weeks, I am closing this ticket with the understanding that it can be opened again if need be.


Nginx location rules doesn't work with  preset: 'service-worker'

Environment

Operating System: Linux
Node Version:     v19.0.0
Nuxt Version:     3.4.2
Nitro Version:    2.3.3
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      app, modules, css, ssr, nitro, vite, pinia, runtimeConfig
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction

Build nuxt project with ssr: false and nitro.preset: 'service-worker'

Configure nginx config like
`
server {
 server_name site.ru www.site.ru;

 root   /var/www/site/public;
 index index.html;

 location /api/ {
         proxy_pass http://localhost:3000/api;
 }

 location / {
         try_files $uri $uri/ @rewrites;
 }

 location @rewrites {
         rewrite ^(.+)$ /index.html last;
 }
 access_log /var/log/nginx/vue-app-access.log;
 error_log  /var/log/nginx/vue-app-error.log;

}
`

If app fetches http://site.ru/api/auth, then I get html, but not correct response from http://localhost:3000/api

Describe the bug
Hello eveeryone!
I use nginx as my reverse proxy to get access to my frontend (which is nuxt3 built with nitro.preset: 'service-worker') and some backend on localhost:3000.
When my app tries to get "/api/auth", I get response with html content (I think this happens from serviceworker).
Is there any ways to exclude paths "/api/....." from routing inside serviceWorker?
P.S. If I use default nitro.preset and use proxy_pass for my frontend, it works great. So nginx routing also works correctly
Additional context
Logs
No response

I think the service worker preset wouldn't work in your case as your serving your Nuxt server with node. Have you tried one of the node presets ? https://nitro.unjs.io/deploy/node


Fix FeeTracker not tracking min ada deposit gains

Little edge case that I missed since it's actually not tested for much at all!
Currently, the FeeTracker doesn't actually account for the fact that when "own user" loses ada to min ada deposits, some other user actually gains that deposit as "extra unexpected ada" (unexpected by the smart contract). So if we perform multi user tests and try to make sure all users balances changed as expected (not just own user) - the test will fail because some user actually got more ada than expected.
This patch fixes it.
Also adds withoutFeeTracking in light of the removal of submitted tx tracking. We now assume that all buildTxBody (or sister functions) are called with the intent of submitting the transaction. If this is not the case, the user can explicitly wrap said call with a withoutFeeTracking.

I tested it on another internal project where I originally found the bug and it works well!  Especially since it can work with literally any GYTxMonad implementation (emulation, privnet, or even real testnet/mainnet)


I can't compile polybar

I tried different strategies to compile polybar, however, I get the following problem:
-- The CXX compiler identification is GNU 7.5.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No build type specified; using Release
-- Couldn't locate ccache, disabling ccache...
-- Performing Test HAS_SUGGEST_OVERRIDE
-- Performing Test HAS_SUGGEST_OVERRIDE - Success
-- Using supported compiler GNU-7.5.0
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Checking for module 'cairo-fc'
--   Found cairo-fc, version 1.15.10
-- Found CairoFC: /usr/include/cairo;/usr/include/glib-2.0;/usr/lib/x86_64-linux-gnu/glib-2.0/include;/usr/include/pixman-1;/usr/include/freetype2;/usr/include/libpng16;/usr/include/freetype2;/usr/include/libpng16 (found version "1.15.10")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target "Cairo::CairoFC".
Call Stack (most recent call first):
  cmake/modules/FindCairoFC.cmake:13 (create_imported_target)
  cmake/libpoly.cmake:49 (find_package)
  CMakeLists.txt:49 (include)

-- Found ALSA: /usr/lib/x86_64-linux-gnu/libasound.so (found version "1.1.3")
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.58.0")
-- Checking for module 'libmpdclient'
--   Found libmpdclient, version 2.11
-- Found LibMPDClient: /usr/include (found version "2.11")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target
  "LibMPDClient::LibMPDClient".
Call Stack (most recent call first):
  cmake/modules/FindLibMPDClient.cmake:13 (create_imported_target)
  cmake/libpoly.cmake:62 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'libnl-genl-3.0'
--   Found libnl-genl-3.0, version 3.2.29
-- Found LibNlGenl3: /usr/include/libnl3 (found version "3.2.29")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target
  "LibNlGenl3::LibNlGenl3".
Call Stack (most recent call first):
  cmake/modules/FindLibNlGenl3.cmake:13 (create_imported_target)
  cmake/libpoly.cmake:68 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'libpulse'
--   Found libpulse, version 11.1
-- Found LibPulse: /usr/include (found version "11.1")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target
  "LibPulse::LibPulse".
Call Stack (most recent call first):
  cmake/modules/FindLibPulse.cmake:13 (create_imported_target)
  cmake/libpoly.cmake:76 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'xcb-randr'
--   Found xcb-randr, version 1.13
-- Found Xcb_RANDR: /usr/include (found suitable version "1.13", minimum required is "1.12")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target "Xcb::RANDR".
Call Stack (most recent call first):
  cmake/modules/FindXcb.cmake:55 (create_imported_target)
  cmake/libpoly.cmake:100 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'xcb-composite'
--   Found xcb-composite, version 1.13
-- Found Xcb_COMPOSITE: /usr/include (found version "1.13")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target "Xcb::COMPOSITE".
Call Stack (most recent call first):
  cmake/modules/FindXcb.cmake:55 (create_imported_target)
  cmake/libpoly.cmake:101 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'xcb-xkb'
--   Found xcb-xkb, version 1.13
-- Found Xcb_XKB: /usr/include (found version "1.13")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target "Xcb::XKB".
Call Stack (most recent call first):
  cmake/modules/FindXcb.cmake:55 (create_imported_target)
  cmake/libpoly.cmake:101 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'xcb-cursor'
--   Found xcb-cursor, version 0.1.1
-- Found Xcb_CURSOR: /usr/include (found version "0.1.1")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target "Xcb::CURSOR".
Call Stack (most recent call first):
  cmake/modules/FindXcb.cmake:55 (create_imported_target)
  cmake/libpoly.cmake:101 (find_package)
  CMakeLists.txt:49 (include)

-- Checking for module 'xcb-xrm'
--   Found xcb-xrm, version 1.0
-- Found Xcb_XRM: /usr/include (found version "1.0")
CMake Error at cmake/common/utils.cmake:121 (target_include_directories):
  Cannot specify include directories for imported target "Xcb::XRM".
Call Stack (most recent call first):
  cmake/modules/FindXcb.cmake:55 (create_imported_target)
  cmake/libpoly.cmake:101 (find_package)
  CMakeLists.txt:49 (include)

-- The C compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking for module 'xcb-proto'
--   Found xcb-proto, version 1.13
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3.5")
-- XCB[XCB]: Found component XCB
-- Found XCB_XCB: /usr/lib/x86_64-linux-gnu/libxcb.so
-- XCB[ICCCM]: Found component ICCCM
-- Found XCB_ICCCM: /usr/lib/x86_64-linux-gnu/libxcb-icccm.so
-- XCB[EWMH]: Found component EWMH
-- Found XCB_EWMH: /usr/lib/x86_64-linux-gnu/libxcb-ewmh.so
-- XCB[UTIL]: Found component UTIL
-- Found XCB_UTIL: /usr/lib/x86_64-linux-gnu/libxcb-util.so
-- XCB[IMAGE]: Found component IMAGE
-- Found XCB_IMAGE: /usr/lib/x86_64-linux-gnu/libxcb-image.so
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so
-- Searching for xcbgen with /usr/bin/python3
-- Searching for xcbgen with python3
-- Searching for xcbgen with python
-- Found xcbgen in /usr/lib/python2.7/dist-packages
-- XCB[RANDR]: Found component RANDR
-- Found XCB_RANDR: /usr/lib/x86_64-linux-gnu/libxcb-randr.so
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so;/usr/lib/x86_64-linux-gnu/libxcb-randr.so
-- XCB[COMPOSITE]: Found component COMPOSITE
-- Found XCB_COMPOSITE: /usr/lib/x86_64-linux-gnu/libxcb-composite.so
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so;/usr/lib/x86_64-linux-gnu/libxcb-randr.so;/usr/lib/x86_64-linux-gnu/libxcb-composite.so
-- XCB[XKB]: Found component XKB
-- Found XCB_XKB: /usr/lib/x86_64-linux-gnu/libxcb-xkb.so
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so;/usr/lib/x86_64-linux-gnu/libxcb-icccm.so;/usr/lib/x86_64-linux-gnu/libxcb-ewmh.so;/usr/lib/x86_64-linux-gnu/libxcb-util.so;/usr/lib/x86_64-linux-gnu/libxcb-image.so;/usr/lib/x86_64-linux-gnu/libxcb-randr.so;/usr/lib/x86_64-linux-gnu/libxcb-composite.so;/usr/lib/x86_64-linux-gnu/libxcb-xkb.so
-- xpp: including xcb proto composite.xml
-- xpp: including xcb proto randr.xml
-- xpp: including xcb proto xkb.xml
-- xpp: including xcb proto xproto.xml
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Font not found: fixed:pixelsize=10
-- Font not found: unifont:fontformat=truetype
-- Font not found: siji:pixelsize=10
--  Build:
--    Version: 3.5.4-103-gcd71b96c
--    Type: Release
--    CXX: /usr/bin/c++  -Wall -Wextra -Wpedantic -Wsuggest-override -O3 -DNDEBUG
--    LD: /usr/bin/ld
--    sphinx-build: /usr/bin/sphinx-build
--  Install Paths:
--    PREFIX:  /usr/local
--    BINDIR:  /usr/local/bin
--    DATADIR: /usr/local/share
--    DOCDIR:  /usr/local/share/doc/polybar
--    MANDIR:  /usr/local/share/man
--  Targets:
-- [X]   polybar
-- [X]   polybar-msg
-- [ ]   testsuite
-- [X]   documentation
-- [X]      html
-- [X]      man
-- [X]   sample config
-- [X]   shell files
--  Module support:
-- [X]   alsa (1.1.3)
-- [X]   curl (7.58.0)
-- [X]   i3
-- [X]   mpd (2.11)
-- [X]   network (libnl) (3.2.29)
-- [X]   pulseaudio (11.1)
-- [X]   xkeyboard (1.13)
--  X extensions:
-- [X]   xcb-randr (1.13)
-- [X]   xcb-randr (monitor support) (1.13)
-- [X]   xcb-composite (1.13)
-- [X]   xcb-xkb (1.13)
-- [X]   xcb-xrm (1.0)
-- [X]   xcb-cursor (0.1.1)
--  Log options:
-- [X]   Trace logging
-- Configuring incomplete, errors occurred!
See also "/home/sander/Downloads/polybar/polybar/build/CMakeFiles/CMakeOutput.log".
See also "/home/sander/Downloads/polybar/polybar/build/CMakeFiles/CMakeError.log".

I tried with the clang, clang++, g++, etc and I get the same problem.

What distro are you using?

I am using Linux Mint T19.2 (Tina), my kernel is: Linux 4.15.0-135-generic x86_64, and the version of cmake is 3.10.2.

I think I was able to fix it in #2388. Can you check out the PR and see if it works for you?

I upgraded cmake to the version 3.19.5, and errors similar to the #463 appeared with different compilers and branches. I downgraded the libxcb-randr0-dev to the 1.11.1, and didn't work again. Finally I tried with other branches and other errors appeared.
Furthermore, I reverted the changes, build/installed python3-xcbgen and then only the branch 3.4.0 worked.
So my best advice for this kind of troubles is to build python3-xcbgen from scratch, and try with different c++ compilers and branches.

I downgraded the libxcb-randr0-dev to the 1.11.1, and didn't work again.

This is only necessary when the other randr packages are also version 1.11 otherwise it won't work and we never had this issue in ubuntu 18.04.
I also have not had any issues with python-xcbgen (instead of python3-xcbgen) on a clean ubuntu 18.04 docker image.
Did you try to build the PR I linked?

I got the following with the PR you linked me:
Scanning dependencies of target doc_html
[  1%] Generating generated-sources/include/xpp/proto/composite.hpp
[  2%] Generating generated-sources/include/xpp/proto/xkb.hpp
Scanning dependencies of target polybar-msg
Scanning dependencies of target doc_man
[  3%] Generating generated-sources/include/xpp/proto/randr.hpp
[  4%] Generating generated-sources/include/xpp/proto/x.hpp
Scanning dependencies of target i3ipc++
[  4%] sphinx-build html: see doc/builder-html.log
[  5%] Building CXX object bin/CMakeFiles/polybar-msg.dir/ipc.cpp.o
[  6%] sphinx-build man: see doc/builder-man.log
[  7%] Building CXX object lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc.cpp.o
[  8%] Building CXX object bin/CMakeFiles/polybar-msg.dir/utils/env.cpp.o
Configuration error:
There is a syntax error in your configuration file: invalid syntax (conf.py, line 234)
list: size, ['red', 'green', 'blue']
doc/CMakeFiles/doc_html.dir/build.make:76: recipe for target 'doc/CMakeFiles/doc_html' failed
make[2]: *** [doc/CMakeFiles/doc_html] Error 1
CMakeFiles/Makefile2:477: recipe for target 'doc/CMakeFiles/doc_html.dir/all' failed
make[1]: *** [doc/CMakeFiles/doc_html.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Configuration error:
There is a syntax error in your configuration file: invalid syntax (conf.py, line 234)
list: size, ['red', 'green', 'blue']
[  9%] Building CXX object bin/CMakeFiles/polybar-msg.dir/utils/file.cpp.o
doc/CMakeFiles/doc_man.dir/build.make:76: recipe for target 'doc/CMakeFiles/doc_man' failed
make[2]: *** [doc/CMakeFiles/doc_man] Error 1
CMakeFiles/Makefile2:450: recipe for target 'doc/CMakeFiles/doc_man.dir/all' failed
make[1]: *** [doc/CMakeFiles/doc_man.dir/all] Error 2
[ 10%] Building CXX object bin/CMakeFiles/polybar-msg.dir/utils/string.cpp.o
[ 11%] Building CXX object lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc-util.cpp.o
[ 12%] Linking CXX executable polybar-msg
[ 12%] Built target polybar-msg
[ 13%] Linking CXX static library libi3ipc++.a
[ 13%] Built target i3ipc++
Scanning dependencies of target xpp
[ 14%] Linking CXX static library libxpp.a
[ 14%] Built target xpp
Makefile:148: recipe for target 'all' failed
make: *** [all] Error 2

I used cmake (default) .. and the clang cmake option.

There is a syntax error in your configuration file: invalid syntax (conf.py, line 234)

What python version are you using? That syntax should be supported in all python 3 versions.
As a workaround you can disable building the documentation with cmake -DBUILD_DOC=OFF ..

I am going through a similar issue except after building with #2388 I get the following output.
Scanning dependencies of target doc_man
Scanning dependencies of target doc_html
[  1%] sphinx-build man: see doc/builder-man.log
[  1%] sphinx-build html: see doc/builder-html.log
[  1%] Built target doc_man
[  2%] Generating generated-sources/include/xpp/proto/x.hpp
[  2%] Built target doc_html
[  3%] Generating generated-sources/include/xpp/proto/composite.hpp
[  4%] Generating generated-sources/include/xpp/proto/randr.hpp
list: size, ['red', 'green', 'blue']
list: size, ['red', 'green', 'blue']
Scanning dependencies of target i3ipc++
[  5%] Building CXX object lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc.cpp.o
[  6%] Building CXX object lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc-util.cpp.o
[  7%] Generating generated-sources/include/xpp/proto/xkb.hpp
Scanning dependencies of target xpp
[  8%] Linking CXX static library libxpp.a
[  8%] Built target xpp
Scanning dependencies of target polybar-msg
[  9%] Building CXX object bin/CMakeFiles/polybar-msg.dir/ipc.cpp.o
[ 10%] Linking CXX static library libi3ipc++.a
[ 10%] Built target i3ipc++
[ 11%] Building CXX object bin/CMakeFiles/polybar-msg.dir/utils/env.cpp.o
Scanning dependencies of target doc
[ 11%] Built target doc
Scanning dependencies of target poly
[ 12%] Building CXX object bin/CMakeFiles/poly.dir/__/generated-sources/settings.cpp.o
[ 13%] Building CXX object bin/CMakeFiles/polybar-msg.dir/utils/file.cpp.o
[ 14%] Building CXX object bin/CMakeFiles/poly.dir/cairo/utils.cpp.o
[ 15%] Building CXX object bin/CMakeFiles/poly.dir/components/bar.cpp.o
[ 16%] Building CXX object bin/CMakeFiles/polybar-msg.dir/utils/string.cpp.o
[ 17%] Linking CXX executable polybar-msg
[ 17%] Built target polybar-msg
[ 18%] Building CXX object bin/CMakeFiles/poly.dir/components/builder.cpp.o
[ 19%] Building CXX object bin/CMakeFiles/poly.dir/components/command_line.cpp.o
[ 20%] Building CXX object bin/CMakeFiles/poly.dir/components/config.cpp.o
[ 21%] Building CXX object bin/CMakeFiles/poly.dir/components/config_parser.cpp.o
[ 22%] Building CXX object bin/CMakeFiles/poly.dir/components/controller.cpp.o
[ 23%] Building CXX object bin/CMakeFiles/poly.dir/components/ipc.cpp.o
[ 24%] Building CXX object bin/CMakeFiles/poly.dir/components/logger.cpp.o
[ 25%] Building CXX object bin/CMakeFiles/poly.dir/components/renderer.cpp.o
[ 26%] Building CXX object bin/CMakeFiles/poly.dir/components/screen.cpp.o
[ 27%] Building CXX object bin/CMakeFiles/poly.dir/components/taskqueue.cpp.o
[ 28%] Building CXX object bin/CMakeFiles/poly.dir/drawtypes/animation.cpp.o
[ 29%] Building CXX object bin/CMakeFiles/poly.dir/drawtypes/iconset.cpp.o
[ 30%] Building CXX object bin/CMakeFiles/poly.dir/drawtypes/label.cpp.o
[ 30%] Building CXX object bin/CMakeFiles/poly.dir/drawtypes/progressbar.cpp.o
[ 31%] Building CXX object bin/CMakeFiles/poly.dir/drawtypes/ramp.cpp.o
[ 32%] Building CXX object bin/CMakeFiles/poly.dir/events/signal_emitter.cpp.o
[ 33%] Building CXX object bin/CMakeFiles/poly.dir/events/signal_receiver.cpp.o
[ 34%] Building CXX object bin/CMakeFiles/poly.dir/modules/backlight.cpp.o
[ 35%] Building CXX object bin/CMakeFiles/poly.dir/modules/battery.cpp.o
[ 36%] Building CXX object bin/CMakeFiles/poly.dir/modules/bspwm.cpp.o
[ 37%] Building CXX object bin/CMakeFiles/poly.dir/modules/counter.cpp.o
[ 38%] Building CXX object bin/CMakeFiles/poly.dir/modules/cpu.cpp.o
[ 39%] Building CXX object bin/CMakeFiles/poly.dir/modules/date.cpp.o
[ 40%] Building CXX object bin/CMakeFiles/poly.dir/modules/fs.cpp.o
[ 41%] Building CXX object bin/CMakeFiles/poly.dir/modules/ipc.cpp.o
[ 42%] Building CXX object bin/CMakeFiles/poly.dir/modules/memory.cpp.o
[ 43%] Building CXX object bin/CMakeFiles/poly.dir/modules/menu.cpp.o
[ 44%] Building CXX object bin/CMakeFiles/poly.dir/modules/meta/base.cpp.o
[ 45%] Building CXX object bin/CMakeFiles/poly.dir/modules/script.cpp.o
[ 46%] Building CXX object bin/CMakeFiles/poly.dir/modules/systray.cpp.o
[ 47%] Building CXX object bin/CMakeFiles/poly.dir/modules/temperature.cpp.o
[ 48%] Building CXX object bin/CMakeFiles/poly.dir/modules/text.cpp.o
[ 49%] Building CXX object bin/CMakeFiles/poly.dir/modules/xbacklight.cpp.o
[ 50%] Building CXX object bin/CMakeFiles/poly.dir/modules/xwindow.cpp.o
[ 50%] Building CXX object bin/CMakeFiles/poly.dir/modules/xworkspaces.cpp.o
[ 51%] Building CXX object bin/CMakeFiles/poly.dir/tags/action_context.cpp.o
[ 52%] Building CXX object bin/CMakeFiles/poly.dir/tags/context.cpp.o
[ 53%] Building CXX object bin/CMakeFiles/poly.dir/tags/dispatch.cpp.o
[ 54%] Building CXX object bin/CMakeFiles/poly.dir/tags/parser.cpp.o
[ 55%] Building CXX object bin/CMakeFiles/poly.dir/utils/actions.cpp.o
[ 56%] Building CXX object bin/CMakeFiles/poly.dir/utils/bspwm.cpp.o
[ 57%] Building CXX object bin/CMakeFiles/poly.dir/utils/color.cpp.o
[ 58%] Building CXX object bin/CMakeFiles/poly.dir/utils/command.cpp.o
[ 59%] Building CXX object bin/CMakeFiles/poly.dir/utils/concurrency.cpp.o
[ 60%] Building CXX object bin/CMakeFiles/poly.dir/utils/env.cpp.o
[ 61%] Building CXX object bin/CMakeFiles/poly.dir/utils/factory.cpp.o
[ 62%] Building CXX object bin/CMakeFiles/poly.dir/utils/file.cpp.o
[ 63%] Building CXX object bin/CMakeFiles/poly.dir/utils/inotify.cpp.o
[ 64%] Building CXX object bin/CMakeFiles/poly.dir/utils/io.cpp.o
[ 65%] Building CXX object bin/CMakeFiles/poly.dir/utils/process.cpp.o
[ 66%] Building CXX object bin/CMakeFiles/poly.dir/utils/socket.cpp.o
[ 67%] Building CXX object bin/CMakeFiles/poly.dir/utils/string.cpp.o
[ 68%] Building CXX object bin/CMakeFiles/poly.dir/utils/throttle.cpp.o
[ 69%] Building CXX object bin/CMakeFiles/poly.dir/x11/atoms.cpp.o
[ 70%] Building CXX object bin/CMakeFiles/poly.dir/x11/background_manager.cpp.o
[ 70%] Building CXX object bin/CMakeFiles/poly.dir/x11/connection.cpp.o
[ 71%] Building CXX object bin/CMakeFiles/poly.dir/x11/ewmh.cpp.o
[ 72%] Building CXX object bin/CMakeFiles/poly.dir/x11/extensions/composite.cpp.o
[ 73%] Building CXX object bin/CMakeFiles/poly.dir/x11/extensions/randr.cpp.o
[ 74%] Building CXX object bin/CMakeFiles/poly.dir/x11/icccm.cpp.o
[ 75%] Building CXX object bin/CMakeFiles/poly.dir/x11/registry.cpp.o
[ 76%] Building CXX object bin/CMakeFiles/poly.dir/x11/tray_client.cpp.o
[ 77%] Building CXX object bin/CMakeFiles/poly.dir/x11/tray_manager.cpp.o
[ 78%] Building CXX object bin/CMakeFiles/poly.dir/x11/window.cpp.o
[ 79%] Building CXX object bin/CMakeFiles/poly.dir/x11/winspec.cpp.o
[ 80%] Building CXX object bin/CMakeFiles/poly.dir/x11/xembed.cpp.o
[ 81%] Building CXX object bin/CMakeFiles/poly.dir/adapters/alsa/control.cpp.o
[ 82%] Building CXX object bin/CMakeFiles/poly.dir/adapters/alsa/mixer.cpp.o
[ 83%] Building CXX object bin/CMakeFiles/poly.dir/modules/alsa.cpp.o
[ 84%] Building CXX object bin/CMakeFiles/poly.dir/modules/github.cpp.o
[ 85%] Building CXX object bin/CMakeFiles/poly.dir/utils/http.cpp.o
[ 86%] Building CXX object bin/CMakeFiles/poly.dir/modules/i3.cpp.o
[ 87%] Building CXX object bin/CMakeFiles/poly.dir/utils/i3.cpp.o
[ 88%] Building CXX object bin/CMakeFiles/poly.dir/adapters/mpd.cpp.o
[ 89%] Building CXX object bin/CMakeFiles/poly.dir/modules/mpd.cpp.o
[ 90%] Building CXX object bin/CMakeFiles/poly.dir/adapters/net.cpp.o
[ 90%] Building CXX object bin/CMakeFiles/poly.dir/modules/network.cpp.o
[ 91%] Building CXX object bin/CMakeFiles/poly.dir/adapters/net_nl.cpp.o
[ 92%] Building CXX object bin/CMakeFiles/poly.dir/adapters/pulseaudio.cpp.o
[ 93%] Building CXX object bin/CMakeFiles/poly.dir/modules/pulseaudio.cpp.o
[ 94%] Building CXX object bin/CMakeFiles/poly.dir/x11/cursor.cpp.o
[ 95%] Building CXX object bin/CMakeFiles/poly.dir/modules/xkeyboard.cpp.o
[ 96%] Building CXX object bin/CMakeFiles/poly.dir/x11/extensions/xkb.cpp.o
[ 97%] Building CXX object bin/CMakeFiles/poly.dir/x11/xresources.cpp.o
[ 98%] Linking CXX static library ../libs/libpoly.a
[ 98%] Built target poly
Scanning dependencies of target polybar
[ 99%] Building CXX object bin/CMakeFiles/polybar.dir/main.cpp.o
[100%] Linking CXX executable polybar
../libs/libpoly.a(alsa.cpp.o): In function `polybar::modules::alsa_module::teardown()':
alsa.cpp:(.text+0x858): undefined reference to `snd_config_update_free_global'
../libs/libpoly.a(alsa.cpp.o): In function `polybar::modules::module<polybar::modules::alsa_module>::stop()':
alsa.cpp:(.text._ZN7polybar7modules6moduleINS0_11alsa_moduleEE4stopEv[_ZN7polybar7modules6moduleINS0_11alsa_moduleEE4stopEv]+0x229): undefined reference to `snd_config_update_free_global'
../libs/libpoly.a(http.cpp.o): In function `polybar::http_downloader::http_downloader(int)':
http.cpp:(.text+0x192): undefined reference to `curl_easy_init'
http.cpp:(.text+0x1ab): undefined reference to `curl_easy_setopt'
http.cpp:(.text+0x1c1): undefined reference to `curl_easy_setopt'
http.cpp:(.text+0x1d9): undefined reference to `curl_easy_setopt'
http.cpp:(.text+0x1ed): undefined reference to `curl_easy_setopt'
http.cpp:(.text+0x2ab): undefined reference to `curl_easy_setopt'
../libs/libpoly.a(http.cpp.o):http.cpp:(.text+0x2e7): more undefined references to `curl_easy_setopt' follow
../libs/libpoly.a(http.cpp.o): In function `polybar::http_downloader::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
http.cpp:(.text+0x5ec): undefined reference to `curl_easy_perform'
http.cpp:(.text+0x8bb): undefined reference to `curl_easy_setopt'
http.cpp:(.text+0xa6e): undefined reference to `curl_easy_strerror'
../libs/libpoly.a(http.cpp.o): In function `polybar::http_downloader::response_code()':
http.cpp:(.text+0xcb8): undefined reference to `curl_easy_getinfo'
../libs/libpoly.a(http.cpp.o): In function `polybar::http_downloader::~http_downloader()':
http.cpp:(.text+0x3d4): undefined reference to `curl_easy_cleanup'
../libs/libpoly.a(control.cpp.o): In function `polybar::alsa::control::wait(int)':
control.cpp:(.text+0x112): undefined reference to `snd_ctl_wait'
control.cpp:(.text+0x11c): undefined reference to `snd_ctl_event_sizeof'
control.cpp:(.text+0x131): undefined reference to `snd_ctl_event_sizeof'
control.cpp:(.text+0x14f): undefined reference to `snd_ctl_read'
control.cpp:(.text+0x15c): undefined reference to `snd_ctl_event_get_type'
control.cpp:(.text+0x184): undefined reference to `snd_ctl_event_elem_get_mask'
../libs/libpoly.a(control.cpp.o): In function `polybar::alsa::control::test_device_plugged()':
control.cpp:(.text+0x20e): undefined reference to `snd_ctl_elem_value_sizeof'
control.cpp:(.text+0x223): undefined reference to `snd_ctl_elem_value_sizeof'
control.cpp:(.text+0x241): undefined reference to `snd_hctl_elem_read'
control.cpp:(.text+0x250): undefined reference to `snd_ctl_elem_value_get_boolean'
../libs/libpoly.a(control.cpp.o): In function `polybar::alsa::control::control(int)':
control.cpp:(.text+0x30c): undefined reference to `snd_ctl_open'
control.cpp:(.text+0x31a): undefined reference to `snd_config_update_free_global'
control.cpp:(.text+0x327): undefined reference to `snd_hctl_open_ctl'
control.cpp:(.text+0x338): undefined reference to `snd_config_update_free_global'
control.cpp:(.text+0x341): undefined reference to `snd_hctl_load'
control.cpp:(.text+0x34f): undefined reference to `snd_ctl_elem_id_sizeof'
control.cpp:(.text+0x364): undefined reference to `snd_ctl_elem_id_sizeof'
control.cpp:(.text+0x37f): undefined reference to `snd_ctl_elem_id_set_numid'
control.cpp:(.text+0x384): undefined reference to `snd_ctl_elem_info_sizeof'
control.cpp:(.text+0x399): undefined reference to `snd_ctl_elem_info_sizeof'
control.cpp:(.text+0x3b5): undefined reference to `snd_ctl_elem_info_set_id'
control.cpp:(.text+0x3c1): undefined reference to `snd_ctl_elem_info'
control.cpp:(.text+0x3d5): undefined reference to `snd_ctl_elem_info_get_id'
control.cpp:(.text+0x3e1): undefined reference to `snd_hctl_find_elem'
control.cpp:(.text+0x3fc): undefined reference to `snd_ctl_subscribe_events'
control.cpp:(.text+0x52a): undefined reference to `snd_ctl_elem_id_get_numid'
control.cpp:(.text+0x5d1): undefined reference to `snd_ctl_elem_id_get_numid'
control.cpp:(.text+0x699): undefined reference to `snd_ctl_close'
../libs/libpoly.a(control.cpp.o): In function `polybar::alsa::control::~control()':
control.cpp:(.text+0xca): undefined reference to `snd_hctl_close'
../libs/libpoly.a(control.cpp.o): In function `void polybar::alsa::throw_exception<polybar::alsa::control_error>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, int)':
control.cpp:(.text._ZN7polybar4alsa15throw_exceptionINS0_13control_errorEEEvONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi[_ZN7polybar4alsa15throw_exceptionINS0_13control_errorEEEvONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi]+0x1e): undefined reference to `snd_strerror'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::~mixer()':
mixer.cpp:(.text+0xcd): undefined reference to `snd_mixer_close'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::get_volume()':
mixer.cpp:(.text+0x169): undefined reference to `snd_mixer_selem_get_playback_volume_range'
mixer.cpp:(.text+0x17f): undefined reference to `snd_mixer_selem_has_playback_channel'
mixer.cpp:(.text+0x198): undefined reference to `snd_mixer_selem_get_playback_volume'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::get_normalized_volume()':
mixer.cpp:(.text+0x25a): undefined reference to `snd_mixer_selem_get_playback_dB_range'
mixer.cpp:(.text+0x270): undefined reference to `snd_mixer_selem_has_playback_channel'
mixer.cpp:(.text+0x28a): undefined reference to `snd_mixer_selem_get_playback_dB'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::set_volume(float)':
mixer.cpp:(.text+0x40f): undefined reference to `snd_mixer_selem_has_playback_channel'
mixer.cpp:(.text+0x429): undefined reference to `snd_mixer_selem_get_playback_switch'
mixer.cpp:(.text+0x47f): undefined reference to `snd_mixer_selem_get_playback_volume_range'
mixer.cpp:(.text+0x4cc): undefined reference to `snd_mixer_selem_set_playback_volume_all'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::set_normalized_volume(float)':
mixer.cpp:(.text+0x51f): undefined reference to `snd_mixer_selem_has_playback_channel'
mixer.cpp:(.text+0x539): undefined reference to `snd_mixer_selem_get_playback_switch'
mixer.cpp:(.text+0x5ab): undefined reference to `snd_mixer_selem_get_playback_dB_range'
mixer.cpp:(.text+0x64c): undefined reference to `snd_mixer_selem_set_playback_dB_all'
mixer.cpp:(.text+0x67c): undefined reference to `snd_mixer_selem_set_playback_dB_all'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::toggle_mute()':
mixer.cpp:(.text+0x6c4): undefined reference to `snd_mixer_selem_get_playback_switch'
mixer.cpp:(.text+0x6d9): undefined reference to `snd_mixer_selem_set_playback_switch_all'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::is_muted()':
mixer.cpp:(.text+0x73f): undefined reference to `snd_mixer_selem_has_playback_channel'
mixer.cpp:(.text+0x759): undefined reference to `snd_mixer_selem_get_playback_switch'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::process_events()':
mixer.cpp:(.text+0x7ca): undefined reference to `snd_mixer_handle_events'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::mixer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)':
mixer.cpp:(.text+0x901): undefined reference to `snd_mixer_open'
mixer.cpp:(.text+0x90f): undefined reference to `snd_config_update_free_global'
mixer.cpp:(.text+0x91b): undefined reference to `snd_mixer_attach'
mixer.cpp:(.text+0x930): undefined reference to `snd_mixer_selem_register'
mixer.cpp:(.text+0x941): undefined reference to `snd_mixer_load'
mixer.cpp:(.text+0x94f): undefined reference to `snd_mixer_selem_id_sizeof'
mixer.cpp:(.text+0x968): undefined reference to `snd_mixer_selem_id_sizeof'
mixer.cpp:(.text+0x97f): undefined reference to `snd_mixer_selem_id_set_index'
mixer.cpp:(.text+0x98b): undefined reference to `snd_mixer_selem_id_set_name'
mixer.cpp:(.text+0x996): undefined reference to `snd_mixer_find_selem'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::wait(int)':
mixer.cpp:(.text+0xbbd): undefined reference to `snd_mixer_wait'
mixer.cpp:(.text+0xbca): undefined reference to `snd_mixer_handle_events'
../libs/libpoly.a(mixer.cpp.o): In function `polybar::alsa::mixer::set_mute(bool)':
mixer.cpp:(.text+0x699): undefined reference to `snd_mixer_selem_set_playback_switch_all'
../libs/libpoly.a(mixer.cpp.o): In function `void polybar::alsa::throw_exception<polybar::alsa::mixer_error>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, int)':
mixer.cpp:(.text._ZN7polybar4alsa15throw_exceptionINS0_11mixer_errorEEEvONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi[_ZN7polybar4alsa15throw_exceptionINS0_11mixer_errorEEEvONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi]+0x1e): undefined reference to `snd_strerror'
collect2: error: ld returned 1 exit status
bin/CMakeFiles/polybar.dir/build.make:105: recipe for target 'bin/polybar' failed
make[2]: *** [bin/polybar] Error 1
CMakeFiles/Makefile2:589: recipe for target 'bin/CMakeFiles/polybar.dir/all' failed
make[1]: *** [bin/CMakeFiles/polybar.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

@l4dbill8745 Please open a separate issue and use the build issue template. This is likely a different issue.

My mistake will do.


unprovable checks with size constraint for successor

The following RecordFlux spec results in unprovable overflow checks and unprovable conditions:
package Over is
   type Byte is range 0 .. 2 ** 8 - 1 with Size => 8;
   type Length_16 is mod 2 ** 16;

   type My_Seq is sequence of Byte;

   type Repr is
      message
         Count : Byte;
         Length : Length_16;
         Hash : My_Seq
            with Size => 32
            then Structs
               with Size => 8 * Length - 16 - (Hash'Last - Count'First + 1)
               if 8 * Length >= 16 + (Hash'Last - Count'First + 1);
         Structs : My_Seq;
      end message
         with Byte_Order => Low_Order_First;
end Over;

One example is the postcondition of Set, indeed I don't see any conditions that would protect the computation against overflow, and I don't see any reason for the condition to hold.
Could it be that the condition should be for the Structs field and not the Hash field in the postcondition? That would seem more reasonable at first glance.

rflx-test-message.ads:501:99: medium: overflow check might fail
  501 |               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
      |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  reason for check: result of subtraction must fit in a 64-bits machine integer
  possible fix: use pragma Overflow_Mode or switch -gnato13 or unit Ada.Numerics.Big_Numerics.Big_Integers

rflx-test-message.ads:501:145: medium: overflow check might fail
  501 |               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
      |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
  reason for check: result of addition must fit in a 64-bits machine integer
  possible fix: use pragma Overflow_Mode or switch -gnato13 or unit Ada.Numerics.Big_Numerics.Big_Integers

rflx-test-message.ads:626:99: medium: overflow check might fail
  626 |               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
      |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  reason for check: result of subtraction must fit in a 64-bits machine integer
  possible fix: use pragma Overflow_Mode or switch -gnato13 or unit Ada.Numerics.Big_Numerics.Big_Integers

rflx-test-message.ads:626:145: medium: overflow check might fail
  626 |               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
      |                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
  reason for check: result of addition must fit in a 64-bits machine integer
  possible fix: use pragma Overflow_Mode or switch -gnato13 or unit Ada.Numerics.Big_Numerics.Big_Integers

rflx-test-message.ads:820:128: medium: overflow check might fail
  820 |                              and then RFLX_Types.U64 (Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Cursors (F_Hash).Last) - RFLX_Types.U64 (Cursors (F_Count).First) + 17)))
      |                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  reason for check: result of subtraction must fit in a 64-bits machine integer
  possible fix: add precondition (RFLX_Types.U64 (Cursors (F_Hash).Last) >= U64'First + RFLX_Types.U64 (Cursors (F_Count).First)) to subprogram at line 780
  780 |   function Valid_Context (Buffer_First, Buffer_Last : RFLX_Types.Index; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length; Verified_Last : RFLX_Types.Bit_Length; Written_Last : RFLX_Types.Bit_Len
gth; Buffer : RFLX_Types.Bytes_Ptr; Cursors : Field_Cursors) return Boolean is
      |            ^ here

rflx-test-message.ads:820:171: medium: overflow check might fail
  820 |                              and then RFLX_Types.U64 (Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Cursors (F_Hash).Last) - RFLX_Types.U64 (Cursors (F_Count).First) + 17)))
      |                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
  reason for check: result of addition must fit in a 64-bits machine integer
  possible fix: add precondition (RFLX_Types.U64 (Cursors (F_Hash).Last) - RFLX_Types.U64 (Cursors (F_Count).First) <= U64'Last - 17) to subprogram at line 780
  780 |   function Valid_Context (Buffer_First, Buffer_Last : RFLX_Types.Index; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length; Verified_Last : RFLX_Types.Bit_Length; Written_Last : RFLX_Types.Bit_Len
gth; Buffer : RFLX_Types.Bytes_Ptr; Cursors : Field_Cursors) return Boolean is
      |            ^ here

rflx-test-message.ads:905:83: medium: precondition might fail, cannot prove Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld)
  905 |             RFLX_Types.U64 (Ctx.Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Ctx.Cursors (F_Count).First) + 17,
      |                                                                                ^~~~~~~~~~~~~~~~~~~~~~~

No failing checks occur, if the condition if 8 * Length >= 16 + (Hash'Last - Count'First + 1) is replaced by if 8 * Length >= 16 + 32 + 16 + 8. The problem seems to be that the field bounds Hash'Last and Count'First are not correctly inferred in those places. It is not yet clear to me why this is the case. The field bounds are encoded in the context predicate (in the message structure invariant part), but that seems not to be sufficient.

At least all overflow checks vanish when removing unnecessary type conversions to U64:
@@ -498,7 +498,7 @@
        and Structural_Valid (Ctx, F_Hash)
        and Invalid (Ctx, F_Structs)
        and (if
-               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
+               RFLX_Types.Bit_Length (Get_Length (Ctx)) * 8 >= Field_Last (Ctx, F_Hash) - Field_First (Ctx, F_Count) + 17
             then
                Predecessor (Ctx, F_Structs) = F_Hash
                and Valid_Next (Ctx, F_Structs))
@@ -553,7 +553,7 @@
        and Structural_Valid (Ctx, F_Hash)
        and Invalid (Ctx, F_Structs)
        and (if
-               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
+               RFLX_Types.Bit_Length (Get_Length (Ctx)) * 8 >= Field_Last (Ctx, F_Hash) - Field_First (Ctx, F_Count) + 17
             then
                Predecessor (Ctx, F_Structs) = F_Hash
                and Valid_Next (Ctx, F_Structs))
@@ -623,7 +623,7 @@
                Context_Cursors_Index (Context_Cursors (Ctx), F) = Context_Cursors_Index (Context_Cursors (Ctx)'Old, F)),
         others =>
            (if
-               RFLX_Types.U64 (Get_Length (Ctx)) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Field_First (Ctx, F_Count)) + 17
+               RFLX_Types.Bit_Length (Get_Length (Ctx)) * 8 >= Field_Last (Ctx, F_Hash) - Field_First (Ctx, F_Count) + 17
             then
                Predecessor (Ctx, F_Structs) = F_Hash
                and Valid_Next (Ctx, F_Structs))
@@ -817,7 +817,7 @@
                           then
                              (Structural_Valid (Cursors (F_Hash))
                               and then Cursors (F_Structs).Predecessor = F_Hash
-                              and then RFLX_Types.U64 (Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Cursors (F_Hash).Last) - RFLX_Types.U64 (Cursors (F_Count).First) + 17)))
+                              and then RFLX_Types.Bit_Length (Cursors (F_Length).Value) * 8 >= Cursors (F_Hash).Last - Cursors (F_Count).First + 17)))
       and then ((if Invalid (Cursors (F_Count)) then Invalid (Cursors (F_Length)))
                 and then (if Invalid (Cursors (F_Length)) then Invalid (Cursors (F_Hash)))
                 and then (if Invalid (Cursors (F_Hash)) then Invalid (Cursors (F_Structs))))
@@ -841,7 +841,7 @@
                                              and then Cursors (F_Hash).First = Cursors (F_Length).Last + 1
                                              and then (if
                                                           Structural_Valid (Cursors (F_Structs))
-                                                          and then RFLX_Types.U64 (Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Cursors (F_Hash).Last) - RFLX_Types.U64 (Cursors (F_Count).First) + 17
+                                                          and then RFLX_Types.Bit_Length (Cursors (F_Length).Value) * 8 >= Cursors (F_Hash).Last - Cursors (F_Count).First + 17
                                                        then
                                                           Cursors (F_Structs).Last - Cursors (F_Structs).First + 1 = RFLX_Types.Bit_Length (Cursors (F_Length).Value) * 8 - 16 + ((-RFLX_Types.Bit_Length (Cursors (F_Hash).Last)) + RFLX_Types.Bit_Length (Cursors (F_Count).First) - 1)
                                                           and then Cursors (F_Structs).Predecessor = F_Hash
@@ -895,14 +895,14 @@
           when F_Initial | F_Count | F_Length | F_Structs | F_Final =>
              True,
           when F_Hash =>
-             RFLX_Types.U64 (Ctx.Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Ctx.Cursors (F_Hash).Last) - RFLX_Types.U64 (Ctx.Cursors (F_Count).First) + 17));
+             RFLX_Types.Bit_Length (Ctx.Cursors (F_Length).Value) * 8 >= Ctx.Cursors (F_Hash).Last - Ctx.Cursors (F_Count).First + 17));

    function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.U64) return Boolean is
      ((case Fld is
           when F_Count | F_Length =>
              True,
           when F_Hash =>
-             RFLX_Types.U64 (Ctx.Cursors (F_Length).Value) * 8 >= RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) - RFLX_Types.U64 (Ctx.Cursors (F_Count).First) + 17,
+             RFLX_Types.Bit_Length (Ctx.Cursors (F_Length).Value) * 8 >= Field_Last (Ctx, F_Hash) - Ctx.Cursors (F_Count).First + 17,
           when F_Structs =>
              True));

I also observed that SPARK is able to easily prove Field_Last (Ctx, F_Hash) > Field_First (Ctx, F_Count), but RFLX_Types.U64 (Field_Last (Ctx, F_Hash)) > RFLX_Types.U64 (Field_First (Ctx, F_Count)) was not provable even with a high timeout value. @kanigsson Is that expected? I don't see why the conversion to U64 should impact the validity of that expression.
There are still some unproved checks after that change:
rflx-test-message.adb:295:32: medium: postcondition might fail, cannot prove Path_Condition (Ctx, Fld)
  295 |                           and Valid_Next (Ctx, F_Structs)),
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
  in inlined expression function body at rflx-test-message.ads:954

rflx-test-message.ads:503:16: medium: postcondition might fail, cannot prove Predecessor (Ctx, F_Structs) = F_Hash
  503 |               Predecessor (Ctx, F_Structs) = F_Hash
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  possible fix: call at rflx-test-message.adb:363 should mention Buffer (for argument Ctx) in a postcondition
  363 |      Test.My_Seq.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last));
      |                 ^ here

rflx-test-message.ads:624:16: medium: contract case might fail
  624 |        others =>
      |               ^ here

rflx-test-message.ads:905:74: medium: precondition might fail, cannot prove Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld)
  905 |             RFLX_Types.Bit_Length (Ctx.Cursors (F_Length).Value) * 8 >= Field_Last (Ctx, F_Hash) - Ctx.Cursors (F_Count).First + 17,
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~~~

Indeed SPARK doesn't like mixing signed and unsigned arithmetic, and would rather stay in one or the other. That's something I discussed with Yannick last week, it could be generally beneficial to reduce the amount of signed integer types in generated code. I will try your patch.

I FINALLY made some progress on this ticket. As I said, SPARK doesn't like the mix of signed/unsigned computations which result from the fact that the data is unsigned (in U64), but computations happen in signed types. In particular cvc4 struggles with this and doesn't prove much on this code (z3 copes remarkably well). As an experiment, I replaced U64 by a kind of "S63" type, that is something like that:
type S63 is range 0 .. 2 ** 63 - 1;

and use it in the same way that we use U64 in the file for the repr message. This resulted in cvc4 proving almost all VCs immediately.
I realize this is the opposite of what I said in my previous message, that is, we try to eliminate unsigned instead of signed types.
This approach can't fully work as it doesn't interface well with Insert/Extract. But at least it seems that if we can go in this direction, we can expect some improvements. Let's discuss this on monday.
The one VC that's still unproved is this:
rflx-over-repr.ads:899:75: medium: precondition might fail, cannot prove Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld)
  899 |             RFLX_Types.Bit_Length (Ctx.Cursors (F_Length).Value) * 8 >= (Field_Last (Ctx, F_Hash)) - (Ctx.Cursors (F_Count).First) + 17,

cvc4 and z3 both return "unknown" immediately, which makes me think there is information missing. To be checked.

Glad you have made some progress. I'm wondering if it would be possible to let SPARK interpret the U64 as a mathematical integer instead of a bitvector. Maybe the default behavior of SPARK could be overridden by some annotation. The U64 is already annotated to have No_Wrap_Around semantics. Would it be possible to add such functionality or are there fundamental reasons not to do so?

It's possible (unsigned integers were mapped to mathematical integers before provers supported bitvectors), but it's quite ingrained in the tool and I expect it's difficult to add the functionality you describe. I wouldn't expect it in the short term.


Doc - Describe src > cli > commands > list functions and modules using Rustdoc comments (three slashes: ///)

In an effort of having fully documented code, we need the way we list files in a repository to be documented.
In src > cli > commands > list, please proceed to comment above the functions and modules declarations in an equivalent way as pub fn compile is documented.

Hi, I'd like to contribute on this

closed by #71


RegisterTableFunction errors handling

It is a bit unclear what to do if something inside resultCallback goes wrong.
For example, let's assume that some TVFs uses another ADO.NET provider to execute an SQL query (via ExecuteReader) -- this is performed inside resultCallback -- and each mapperCallback call moves forward a data reader. An error can occur in both handlers, and currently when an exception is thrown inside resultCallback this simply crushes a NET8 app (at least, on Windows).
Two things in this regard:

Maybe RegisterTableFunctionInternal should wrap resultCallback with own function with try-catch block to guarantee that app will not suddenly crush?
What is the most appropriate behaviour should be in case of exception inside resultCallback? As a variant, this can be return of the 'stub' result - like zero ColumnInfo list (or 1 string column if zero columns are not allowed), and mapperCallback that re-throws an exception that occurs inside resultCallback as it is thrown correctly when DuckDB.NET.Data.DuckDBCommand.ExecuteDbDataReader is called.

Both these things can be implemented outside DuckDB.NET, however it makes sense to implement them inside the library to make its usage more safe.

Sure, let me try it - to check that it works as we expect :)

@Giorgi what I'm trying to do in Bind:
		TableFunction tableFunctionData;
		try {
			tableFunctionData = functionInfo.Bind(parameters);
		} catch (Exception ex) {
			using (var errMsgHandle = ex.Message.ToUnmanagedString())
			{
				NativeMethods.TableFunction.DuckDBFunctionSetError(info, errMsgHandle);
			}
			return;
		} finally {
			foreach (var parameter in parameters) {
				((DuckDBValue)parameter).Dispose();
			}
		}

However, test fails with the following exception:
DuckDB.NET.Data.DuckDBException : INTERNAL Error: Failed to bind "demo_err": Table function must return at least one column
This error signals an assertion failure within DuckDB. This usually occurs due to unexpected conditions or errors in the program's logic.
For more information, see https://duckdb.org/docs/dev/internal_errors

You definitely know DuckDB C API better, have I missed something obvious? I may commit changes I made to my fork if you would like to try it by yourself.
Does this means that in the case of exception I should anyway call DuckDBBindAddResultColumn (add some 'stub' string column for instance) and DuckDBBindSetBindData anyway?

Yes, you should provide at least one column.

duckdb_bind_set_error works like a charm. Only inconsistency I see that when exception occurs inside resultCallback exception type is lost (DuckDBException is thrown) and exception inside mapperCallback comes as is (it just works without any changes). Maybe it makes sense to wrap
            if (tableFunctionBindData.DataEnumerator.MoveNext())
            {
                tableFunctionInfo.Mapper(tableFunctionBindData.DataEnumerator.Current, writers, size);
            }

too and re-throw DuckDBException too?..


Improve performance of NWChem harvester

Description
Reduces performance issues in the NWChem harness by using atoms_map=True. I had hit an edge-case (script to reproduce below) that caused memory usage to spike during molecular alignment.
Changelog description
Improve performance of NWChem harness
Status

[x] Code base linted
[x] Ready to go

from qcengine import compute_procedure
from qcelemental.models import Molecule
import json

# Re-create the problematic task task
mol = Molecule.from_data('''17
1 2 CC(C)(C)C_oxidized
C                    -0.018590000703     1.534862999948     0.010398998953
C                     0.002102997861    -0.004137001598     0.001969999753
C                     0.746440000483    -0.513907998052     1.248875997535
C                    -1.441902000132    -0.536735999114     0.013115000987
C                     0.722350001733    -0.500496001647    -1.264456001221
H                     0.997769001867     1.944204999076     0.004355001441
H                    -0.541819000228     1.928414001853    -0.868198998732
H                    -0.527584000967     1.918884001840     0.901485002006
H                     0.255496002037    -0.176026999637     2.168331000349
H                     0.778153998185    -1.608924001759     1.270889002192
H                     1.779648000149    -0.149758002595     1.269439998571
H                    -1.998718999074    -0.188888000854    -0.864080999888
H                    -1.459568999361    -1.632271998808     0.006498999953
H                    -1.980888002537    -0.199795999491     0.905615997443
H                     1.754825001002    -0.135540000506    -1.301181000186
H                     0.753970001687    -1.595239997685    -1.298223000122
H                     0.213582002473    -0.153439001607    -2.170672000953
''', molecular_charge=1.0)
task = {
    "initial_molecule": mol,
    "input_specification": {
        "driver": "gradient",
        "model": {"method": "b3lyp", "basis": "6-31g(2df,p)"},
    },
    "keywords": {"program": "nwchem"}
}

compute_procedure(task, 'geometric', raise_error=True)

FYI: I added a test that makes sure that symmetrizing the atomic coordinates does not break the NWChem output parser.

good for merge on both PRs?

Yes, I think they are both ready.


Question about the pre-trained denoiser

Hi! I'd like to get more details about the pre-trained denoise-net. Is the pre-trained denoise-net trained using the same model architecture and hyperparameters as the downstream-task denoiser, and only the dataset is different (as explained in issue 3? Specifically, does the pre-trained denoiser have the following training setting:
• Batch size = 1
• Patch size = 512x512
• Initial lr = 2 * 10^-4
• Milestones at 100, 180
• # of epochs = 200
• Model architecture: UNetSeeInDark
• For the SID Sony dataset, trained and validated on: Sony_train_list.txt, Sony_val_list.txt
Please correct me if I'm wrong. Thank you very much!

Sorry for the late reply.
That's correct. We utilize the same training setting.


Adds left and right block border styles

Adds border-left and border-right styles to the CF block component.
Additions

Added block__border-left and block__border-right CF enhancements.

Removals

Extraneous EOF topdoc comment in CF enhancements.

Testing

Should be able to add left and right borders to blocks.

Review

@sebworks
@jimmynotjim
@KimberlyMunoz

Notes

Spun off from DF-2099, which needs left, top, and right borders on blocks.

:+1:


Don't override AudioNode.prototype

AudioNode.prototype override creates a problem of possibly unexpected way of how Web Audio works and that is considered as a bad practice in JS.

We have to do this if we want to override the connect/disconnect methods of the standard AudioNode interface in the CompositeAudioNode we create, that will allow a WebAudio subgraph/plugin to be usable like a standard one. This method is borrowed from @hongchan original CompositeNode implementation. How would you do that with overriding connect/disconnect? If you have a better proposal we'd be glad to try it.


[🐞] Light mode code blocks

Which component is affected?
Starters / CLI
Describe the bug

Reproduction
https://qwik.builder.io/qwikcity/action/
Steps to reproduce
Use light mode and look at code block in the docs
System Info
Mac M1 in Chrome browser

Additional Information
No response

Thanks for mentioning @jweb89 🙏 i have it also on dark mode on all browser also on OSX / iOS.

Same on firefox

@vladinator1000 @jweb89 : can you please try this URL and tell me if the situation keeps the same on your end pls?
https://qwik.builder.io/qwikcity/api?t=82304505305
@manucorporat : this is what i had on my end before using the cache buster:

(left = local docs | right = prod docs)
you see that the correct color was overwritten by a darker blue coming from the same file.

@vladinator1000 @jweb89 : can you please try this URL and tell me if the situation keeps the same on your end pls? https://qwik.builder.io/qwikcity/api?t=82304505305
@manucorporat : this is what i had on my end before using the cache buster:  (left = local docs | right = prod docs) you see that the correct color was overwritten by a darker blue coming from the same file.

That does seem to work now. Although it does seem a little weird that the font size of the code changes when switching from light mode to dark mode

Should be fixed already! thanks for all the help!


feat: add php 8.3 compatibility

As in ticket
https://github.com/matchish/laravel-scout-elasticsearch/issues/265

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (ddc0d97) 96.08% compared to head (a54dac0) 96.08%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##             master     #266   +/-   ##
=========================================
  Coverage     96.08%   96.08%
  Complexity      193      193
=========================================
  Files            36       36
  Lines           638      638
=========================================
  Hits            613      613
  Misses           25       25

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Validate softwire for missing PSID mapping

This now will validate softwires which are added via snabb config add or snabb config set and ensure that every softwire has a corresponding PSID mapping and that invalid softwires are not silently accepted. It also checks that when you start the lwaftr the config file it is started with is valid. This occurs by having validation in the leader to validate softwires prior to them being sent to the data plane.
This fixes the problem described in #727.

The tests are not passing. I pulled the PR and run make test to see what's happening. At least the soaktest is failing:
$ sudo ./program/lwaftr/tests/soaktest/selftest.sh
Testing: Regression test: make sure end-addr works
../data/icmp_endaddr.conf: loading compiled configuration from ../data/icmp_endaddr.o
../data/icmp_endaddr.conf: compiled configuration is up to date.

What's happening is that icmp_endaddr.conf has a PSID map configured using end-addr. PSID maps can defined as a range of IPv4 addresses using the end-addr attribute. Here's how psid_map is defined in icmp_endaddr.conf:
psid-map {
   addr <IP_ADDRESS>;
   end-addr <IP_ADDRESS>;
   psid-length 0;
   shift 16;
}

Which is the same as defining 4 independent psid-maps for IPv4 addresses <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS> and <IP_ADDRESS>.
Hope this shed some light.

I have pushed a commit which shows my work today. This now builds the binding table in the leader which is then used to perform the lookups allowing for the range support. This does it in a smilier fashion to how the data-plane does it. The code doesn't yet maintain the binding table (planning to add it tomorrow) so it currently just rebuilds it every time it needs it which is obviously in-effeiciant.
Let me know what you think @wingo. This is the only solution I can think of without involving the data-plane (which we obviously can't do for timing concerns).

I think this is ready to merge, if someone can PTAL that'd be great :)


Fix ES256 signing.

Fixes #36

CC @lukasa

@t089 over here now.

The tests run with OpenSSL 1.1.1
openssl is already the newest version (1.1.1-1ubuntu2.1~18.04.4).
openssl set to manually installed.


mkpr

Applied mkpr on package.json
sed s/\^6.8.1/\^6.9.0/

Coverage increased (+35.9%) to 71.811% when pulling 99e540a193fac1643d2102fc17a0f975991a5b95 on mkpr/1 into 3496558ff53e8d5f9c453c6dcee3210bcf8e628c on master.


Bundle problem -Custom component undefined !

admin-bro 3.3.1
i try to build custom component :
in the options:
const options = {
properties: {
	photo: {
		components: {
			edit: AdminBro.bundle("../../src/photo"),//the path is right !
		},
	},
},

};
the photo edit componenet:
import React from "react";
const Edit = () => {
return
hello
;
 };
export default Edit;

and the created entry of admin bro:
AdminBro.UserComponents = {}
import Component1 from '../controllers/resources/photo'
AdminBro.UserComponents.Component1 = Component1

i dont know why i get:
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports. Check the render method of `BasePropertyComponent`.

See development console for more details...
.
react_devtools_backend.js:2430 Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of BasePropertyComponent........

This path AdminBro.bundle("../../src/photo") and this path import Component1 from '../controllers/resources/photo' are different. Either you copied this code in different times and meanwhile you did some change, or something is not right. You can try and delete .admin-bro directory.

This path AdminBro.bundle("../../src/photo") and this path import Component1 from '../controllers/resources/photo' are different. Either you copied this code in different times and meanwhile you did some change, or something is not right. You can try and delete .admin-bro directory.

@roeigr7 any luck solving this problem? I have the same problem and I don't know what should I do.

@roeigr7 @kevseroz is your component file a .jsx? I've had this issue when I used .js for the extension by mistake.

I have also the same issue with the following basic code:
CustomJSONViewer.tsx
import React from "react";
import { InputGroup, Label } from "@admin-bro/design-system";

const CustomJSONViewer = (props) => {
  const { record, property } = props;
  const value = record.params[property.path];
  return (
    <InputGroup>
      {property.label}
      {JSON.stringify(value)}
    </InputGroup>
  );
};

**export default CustomJSONViewer;**

admin-bro-setup.ts
  const Feedback: ResourceWithOptions = {
    resource: FeedbackModel,
    options: {
      properties: {
        infos: {
          isVisible: {
            list: false,
            edit: true,
            filter: false,
            show: true,
          },
          components: {
            show: AdminBro.bundle('./CustomJSONViewer'),
          },
        },
    },
  };

Both files are on the same path.
According to the documentation, it should work!
https://adminbro.com/BasePropertyComponent.html
admin-bro version:  3.4.0

I have also the same issue with the following basic code:
CustomJSONViewer.tsx
import React from "react";
import { InputGroup, Label } from "@admin-bro/design-system";

const CustomJSONViewer = (props) => {
  const { record, property } = props;
  const value = record.params[property.path];
  return (
    <InputGroup>
      {property.label}
      {JSON.stringify(value)}
    </InputGroup>
  );
};

**export default CustomJSONViewer;**

admin-bro-setup.ts
  const Feedback: ResourceWithOptions = {
    resource: FeedbackModel,
    options: {
      properties: {
        infos: {
          isVisible: {
            list: false,
            edit: true,
            filter: false,
            show: true,
          },
          components: {
            show: AdminBro.bundle('./CustomJSONViewer'),
          },
        },
    },
  };

Both files are on the same path.
According to the documentation, it should work!
https://adminbro.com/BasePropertyComponent.html
admin-bro version: 3.4.0

Fixed! I had to manually delete the .adminBro folder.
I suggest the following fix: delete/regenerate .adminBro when user components change.

Anyone has still this issue? Deleting .adminBro folder didn't help in my case. Error started to occurred when I've update adminBro package version.

Closing because the issue is old. If you still need help, please reopen.


HaC 2.9 with OpenCanopy boots BootCamp into "AutoRepair"

updated HaC Mini 2.9 from 2.6 and BootCamp now boots into AutoRepair, cannot boot into Windows.
device: nuc8i7hnk
SSD 1 with macos Catalina 10.15 installed
SSD 2 with BootCamp Windows 10 installed.
BootCamp is installed via opencore & has always been boot via opencore.
Now using opencanopy I didnt find anywhere to modify the boot entry.
macos boots fine.

Maybe issue irrelevant,
if you have multiple ssd/hdd driver in your machine, how can you use bootcamp to install windows?

I've re-uploaded v2.9 with this fix.

I've re-uploaded v2.9 with this fix.

Proved fixed with this. Thanks
Also @goodbest

Had the same issue. Can confirm that it is fixed with the update. Thanks!


Document AudioEffectChorus methods

To better fit the other audio effect classes, I removed methods from  AudioEffectChorus.xml as all of the methods in the current version of the class files are "Getter" and "Setter" methods,.
These methods are already shown an explained in the Property Descriptions of the variables their accompanying variables, in turn cleaning up the class reference and removing those pesky There is currently no description for this method. Please help us by contributing one! messages

You can't do this, they are generated automatically, this isn't a valid change
Instead you please fill in the descriptions if you want to help here

Just filled them out accordingly! Thank you so much for the pointer!

Hi, I accidentally created a competing PR (this is my first, so forgot to check). Mine are a little more detailed than the ones you've got here (at least for the setters), so it might be worthwhile to combine. I'll paste my suggestions here, unless there's a better way to do it:
		<method name="set_voice_cutoff_hz">
			<return type="void" />
			<param index="0" name="voice_idx" type="int" />
			<param index="1" name="cutoff_hz" type="float" />
			<description>
				Sets an individual [param voice_idx]'s [param cutoff_hz] frequency in hertz (number of samples per second). Cutoff frequency refers to the top-most frequency beyond which the signal is blocked. This can be used to create a low pass filter to simulate a "muffled" sound. The recommended range is 0 to 20500.
			</description>
		</method>
		<method name="set_voice_delay_ms">
			<return type="void" />
			<param index="0" name="voice_idx" type="int" />
			<param index="1" name="delay_ms" type="float" />
			<description>
				Sets an individual [param voice_idx]'s [param delay_ms] in milliseconds. Longer delay creates more audible separation between the voices. The recommended range is 0 to 50. [b]Note: [/b] the maximum recommended value can be exceeded to create longer delays.
			</description>
		</method>
		<method name="set_voice_depth_ms">
			<return type="void" />
			<param index="0" name="voice_idx" type="int" />
			<param index="1" name="depth_ms" type="float" />
			<description>
				Sets an individual [param voice_idx] filter's modulation [param depth_ms], or intensity, in milliseconds. The recommended range is 0 to 20. [b]Note:[/b] The maximum value can be exceeded to create distortions.
			</description>
		</method>
		<method name="set_voice_level_db">
			<return type="void" />
			<param index="0" name="voice_idx" type="int" />
			<param index="1" name="level_db" type="float" />
			<description>
				Sets an individual [param voice_idx]'s [param level_db] in decibels. This is the base volume before attenuation. The recommended range is -60 to 24, with 0.1 being the default value.
			</description>
		</method>
		<method name="set_voice_pan">
			<return type="void" />
			<param index="0" name="voice_idx" type="int" />
			<param index="1" name="pan" type="float" />
			<description>
				Sets an individual [param voice_idx]'s [param pan] level. Values range from -1.0 (left ear) to 1.0 (right ear). [b]Note:[/b] This effect does not work with stereo sounds, but mono can be forced in import settings.
			</description>
		</method>
		<method name="set_voice_rate_hz">
			<return type="void" />
			<param index="0" name="voice_idx" type="int" />
			<param index="1" name="rate_hz" type="float" />
			<description>
				Sets an individual [param voice_idx]'s sample rate to [param rate_hz] in hertz (number of samples per second). The recommended range is 0.1 to 20.
			</description>
		</method>

This might be easier to read:
set_voice_cutoff_hz: 	Sets an individual voice's cutoff frequency in hertz (number of samples per second). Cutoff frequency refers to the top-most frequency beyond which the signal is blocked. This can be used to create a low pass filter to simulate a "muffled" sound. The recommended range is 0 to 20500.
set_voice_delay_ms: Sets an individual voice's delay in milliseconds. Longer delay creates more audible separation between the voices. The recommended range is 0 to 50. [b]Note: [/b] the maximum recommended value can be exceeded to create longer delays.
set_voice_depth_ms: Sets an individual voice filter's modulation depth, or intensity, in milliseconds. The recommended range is 0 to 20. [b]Note:[/b] The maximum value can be exceeded to create distortions.
set_voice_level_db: Sets an individual voice's level in decibels. This is the base volume before attenuation. The recommended range is -60 to 24, with 0.1 being the default value.
set_voice_pan: Sets an individual voice's pan level. Values range from -1.0 (left ear) to 1.0 (right ear). [b]Note:[/b] This effect does not work with stereo sounds, but mono can be forced in import settings.
set_voice_rate_hz: Sets an individual voice's sample rate in hertz (number of samples per second). The recommended range is 0.1 to 20.


Update DataDriftMonitor to show statistical test and generalize metric

Currently, the DataDriftMonitorMetrics class defines a p_value variable with a hardcoded p_value tag. This doesn't generalize to other statistical tests like the Wasserstein distance or the Jensen-Shannon distance since they don't return p-values (and it's especially confusing for the Wasserstein distance since the metric is not bounded by 1 like Jensen-Shannon).
Moreover, currently the metrics method of the DataDriftMonitor class doesn't yield the statistical test's name to DataDriftMonitorMetrics, which I think would be immensely useful in distinguishing between metrics that come from chi-square and KS vs Jensen-Shannon for example.
So I propose replacing
p_value = ModelMonitoringMetric(f"{_tag}:p_value", ["feature", "feature_type"])
with
value = ModelMonitoringMetric(f"{_tag}:value", ["feature", "feature_type", "stat_test"])
and
feature_metric.p_value, dict(feature=feature_name, feature_type=feature_metric.feature_type)
with
feature_metric.p_value, dict(feature=feature_name, feature_type=feature_metric.feature_type, stat_test=feature_metric.stattest_name)
I have a local build with those changes and believe that's all that's required to change in the source code, however some unit tests will break.
I will note that the DataDriftAnalyzer class does make use of hardcoded "p_value" variables which is technically also inaccurate since it works for more than just chi-square and KS, but that doesn't impact functionality.
Let me know if you'd like me to introduce the change in a PR!
Thanks

Hello, thank you for the report.
I think it will be great to get a stat test name in the metric, the PR will be very useful!

Hello @Tapot , I just created the PR! I followed the contribution guidelines and tested locally, all good on my end. Let me know if you have any questions!

Hello, thank you a lot, I've merged the PR!


SOLR-14920: contrib/ltr/src/java: apply & enforce 'spotless' code formatting

https://issues.apache.org/jira/browse/SOLR-14920
src/java code only in this pull request, src/test code to follow separately after this pull request is reviewed and merged, to keep review sizes manageable-ish hopefully.

converting to draft until #192 and #228 are both merged into main and then into this branch.

Hmmm I saw this after putting together https://github.com/apache/solr/pull/664 from SOLR-16029 - @cpoerschke do you plan to update this?

Hmmm I saw this after putting together #664 from SOLR-16029 - @cpoerschke do you plan to update this?

Thanks @risdenk for the ping! Update done.

Thanks @cpoerschke!

I am currently away with limited connectivity, I'll check it later, in 2 weeks, but I see you merged already!


transformers memory

Checks need to pass

@michaelsdr it is very possible that you had already moved on to other work since this paper
but did you ever complete any experiments combining momentum net with transformers? i'm interested if you saw anything remarkable (or not)

@michaelsdr in particular, interested in replacing the revnet in https://openreview.net/pdf?id=rkgNKkHtvB with momentum net


Implement logout modal responsive view

Implement the logout modal responsive view.

This issue has been mentioned in #1269


Correct topojson file for county map

So far the only topojson files I've been able to use as a dataUrl for a custom geographyConfig are from https://github.com/jgoodall/us-maps/tree/master/topojson. The rendering times for these files are very slow (~10 seconds), something that doesn't seem to be as much of a problem here http://bl.ocks.org/mbostock/4122298 for example. Is this a problem inherent with datamaps, or these topojson files + datamaps?

Well, doesn't appear to be Datamaps related. Set up a working block here http://bl.ocks.org/dmachat/ff5ebd3be950d377586e/9ed225875bd8ddd4b82ab2953206619c20a8e6d8, but it's doing something funky in my local environment. Maybe a dependency version issue.

Turned out to be old version dependency from outdated bower.json in datamaps (fix: https://github.com/markmarkoh/datamaps/pull/210). Using the npm installer or manually specifying d3 and topojson versions made the smaller, faster topojson data render properly.


Support for android plugin 1.3.0

Compile task names are called compileJavaWithJavac since android plugin 1.3.0. Method replaceFirst is used to transform task "compileJavaWithJavac" to "compileUnitTestJavaWithJavac" but not to "compileUnitTestJavaWithUnitTestJavac".

Thanks!

I have just tested it using jitpack in my project. Works well.


Is HEVC supported?

I tried to enforce h265 encoding by setting the arguments to Reading through docs of moonlight-qt to -codec h265.
With this, the stream never starts and it stays on the LibreELEC screen.
Reading through some moonlight-qt docs , I wonder if this is at all possible on 9.x?
Is there some way to have a look at logs written by moonlight-embedded or other debugging options?

I don't think moonlight-embedded supports h265 on raspberry pi but moonlight-qt does.  Try using this plugin instead for running with h265.  I'm guessing you will have to run LibreELEC 10 as well.
https://github.com/veldenb/plugin.program.moonlight-qt
The best way to view what moonlight is doing inside the container is to execute it from the commandline. Maybe add the -debug and/or -verbose flags to see more output.  You can base your command off of these lines:
https://github.com/clarkemw/script.moonlight-embedded-launcher/blob/61d68a164ce0949f9ef16a6ddaf5232185f95e9a/resources/lib/bin/launch_moonlight.sh#L44-L49


Put business case in a separate tab.

Could we separate the business case from the load page? Just to keep things in scope. We could than choose to only 'enable' the business case tab when somebody calculates the full year load of a LES.

Yes please!

I like the idea!


Not working?

Hi, I use your Plugin and very nice work but it doesn't work (for me)
I followed the Tutorial and it seems right (see screenshot)
Please help me.

Hello and thank you! I think your problem is that you haven't defined your game instance in the project settings. Project Settings -> Maps & Modes -> Game Instance Class)

Hi, I had it already

Did you execute the Set Rich Presence Info and the Send Presence ?

Execute? How to execute it? In the "tutorial" is nothing

Simply need to connect at the suite of the execution or anywhere in your code but to work you must connect it.

So I can place it behind the init and connect the set Rich Presence with the back of the init, right?

Exactly !

Oh yea nice!! Please add it to the Tutorial.
It works

Perfect ! I'll add it.


test: Box AI integration tests (box/box-codegen#482)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

10 of 12 (83.33%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 89.361%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

box_sdk_gen/internal/utils.py
2
4
50.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.3%

Covered Lines:
8609

Relevant Lines:
9634

💛  - Coveralls


Remove flake-utils from the README / docs

Great to see the ‘real’ flake doesn’t include unnecessary downstream dependencies, and while that is setting a good example(!), maybe the README docs should be updated as well so that folks that want a copy-paste solution don’t incur additional dependencies to audit or unknowingly cause downstream users of their projects to also have more dependencies than needed infecting their lockfiles. My question would actually be if genAttrs or similar would be considered more helpful, or noisy/confusing to those users.

I'd accept a PR that removes flake-utils in favor of genAttrs. I don't really mind either way — just want a simple little copy/paste example people can use.


postcss-each

Explanation https://www.npmjs.com/package/postcss-each.
Being a Sass author and advocate I really miss having this ability as it's very powerful and really handy for iterating over multiple values. https://sass-lang.com/documentation/at-rules/control/each

@derezed I'm going to re-assign this to you!
@dennisgaebel was suggesting this as an additional plugin for PostCSS in Pura. I'm open to it, but I also want to make sure it's adding useful functionality that can be easily understood by others and doesn't create a significant amount of overhead (in performance and maintenance). I'll let you and @asuh evaluate this!

Just to add this could be used on a per-project basis if we don't wanna add it to Pura directly

Forgot all about this!
Honestly, I think this is a good addition. This would solve things I've come across a handful of times, so it's got my vote for approval!
@asuh Thoughts?

🎉 🍺 🍻 🌭


Level Difficulty

The user has the choice to choose between different levels, each with their own difficulty.
Done:

Easier levels are a shorter distance for the user's sprite to travel
Harder levels are a much longer distance for the user's sprite to travel

Given the user wants to play a certain level difficulty,
when they click the 'play game' button of the title screen,
then they will be taken to a screen with different level difficulty options to play

Given the user wants a certain difficulty of level,
when they click on the difficulty option they desire,
they will be directed to a level representing that difficulty


chore: implement Eq & PartialEq common traits

Also reorder some derive fields to be more consistent:
Debug, Default, Clone, Copy, Eq, PartialEq, Ord, PartialOrd, Hash

see: https://github.com/ratatui-org/ratatui/issues/307

The CI / check failed at:
error: package `time v0.3.24` cannot be built because it requires rustc 1.67.0 or newer, while the currently active rustc version is 1.65.0
Either upgrade to rustc 1.67.0 or newer, or use
cargo update -p<EMAIL_ADDRESS>--precise ver
where `ver` is the latest version of `time` supporting rustc 1.65.0
[cargo-make] ERROR - Error while executing command, exit code: 101
[cargo-make] WARN - Build Failed.
Error: Process completed with exit code 1.

But I didn't have this error at my local env because I have higher version of rust tool chain:
~/rusty/ratatui> rustup --version                                                                                08/01/2023 10:56:42 AM
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.71.0 (8ede3aae2 2023-07-12)`
~/rusty/ratatui> cargo --version                                                                                08/01/2023 10:58:37 AM
cargo 1.71.0 (cfd3bbd8f 2023-06-08)
~/rusty/ratatui> rustc --version                                                                                08/01/2023 10:58:43 AM
rustc 1.71.0 (8ede3aae2 2023-07-12)

@joshka I suppose we should working on bump-up the rust version in other PR.

https://github.com/ratatui-org/ratatui/pull/361 bumps the MSRV.

LGTM thanks again


Create a const constructor for Guid

Often times users will define their own Guid's.
Allow for const constructors so that static const can be used:
static const MY_CHARACTERISTIC_UUID = Guid('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')

Related to #10

This would currently only work if you calculate & memoize the _hashCode field on demand. Is that the way it should be implemented?


chore: bump to argocd 2.0-rc & kubernetes 0.20.4

Getting as close to ArgoCD master as possible.
The repo server client config now requires tlsconfig. Configuring the same is outside the scope of this PR.

Signed-off-by: Shoubhik Bose<EMAIL_ADDRESS>

FYI @sbose78 I'm intentionally keeping this ApplicationSet v0.1.0 release on a fixed version of v1.8.x, so as to continue to support* both v1.8 and v2.0 versions with ApplicationSet controller v0.1.0, and so as not to regress existing functionality.
We can definitely merge this after v0.1.0 is out.

= support in the sense of automated and manual tests against these versions, to varying degrees.

Sounds perfect!
On Mon, Mar 29, 2021, 14:54 Jonathan West @.***> wrote:

FYI @sbose78 https://github.com/sbose78 I'm intentionally keeping this
ApplicationSet v0.1.0 release on a fixed version of v1.8.x, so as to
continue to support* both v1.8 and v2.0 versions with ApplicationSet
controller v0.1.0, and so as not to regress existing functionality.
We can definitely merge this after v0.1.0 is out.

= support in the sense of automated and manual tests against these
versions, to varying degrees.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/argoproj-labs/applicationset/pull/172#issuecomment-809628104,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEFEADIT2HI6CTKO65GCDDTGDEF5ANCNFSM4Z4TJNCQ
.

(And ApplicationSet controller no longer communicates with or uses the repo server, hence why we have not had to add support for the new repo server client TLS configuration in Argo CD, I reviewed this back when @jannfis was proposing the Argo CD PR)

Gotcha, we can skip exposing config for that then. I'll update the PR.

Issue opened to track the work in next milestone: https://github.com/argoproj-labs/applicationset/issues/174

This was handled in https://github.com/argoproj-labs/applicationset/pull/281


Custom Blueprinter Transformer to hide restricted fields

Why
As an alternative to the spike in #950, this solution uses a custom blueprinter transformer as a way to hide
restricted attributes based on pundit policies.
How
Blueprinter supports custom transformers (see documentation in the 'Transform Classes' section). Here, we use that feature to

[x] create a HideRestrictedFieldsTransformer which, when specified in a serializer, looks up a pundit Policy for the object being serialized and uses that to hide restricted fields, which are
[x] specified by a new custom method an policies named restricted_attributes. This method mirrors the canonical permitted_attributes. The latter restricts attributes being submitted while the latter restricts attributes being serialized.

Testing
Added an initial spec to smoke test the solution but probably need a few more to see how associations works
Next Steps

[x] Add specs for association fields and views.
[ ] Add documentation for this custom pattern.

Outstanding Questions, Concerns and Other Notes
My initial reaction is that this feels cleaner than the presenter solution in #950.
Comparative Negatives:

It is a custom hook, which  certainly incurs a long term maintenance cost
There's some 'convention magic' involved (we have to know/document that the transform will look for a restricted_attributes method, and that it has to be explicitly invoked in the blueprint).

Positives:

The overall boilerplate and impact on the codebase is much less than having to create presenters for every object being serialized.
Is a cleaner, simpler solution than having to override every restricted attribute individually in the presenter.
Is likely more performant that decorating each object.

Pre-Merge Checklist

[x] Security & accessibility have been considered
[x] Tests have been added, or an explanation has been given why the features cannot be tested
[ ] Documentation and comments have been added to the codebase where required
[ ] Entry added to CHANGELOG.md if appropriate
[ ] Outstanding questions and concerns have been resolved
[ ] Any next steps have been turned into Issues or Discussions as appropriate

Update @maebeale, @svileshina, @h-m-m : while adding specs for associations and views, ran into one of those edges we were concerned about with this approach. Turns out that specifying a transform in a blueprint doesn't propagate to its views, meaning we'd have to explicitly specify the transform in each separate view (as show in 6fb7742).
That didn't feel serviceable to me so i've refactored to apply the transformer by default to all blueprints, and have it no-op if the policy doesn't implement restricted_attributes. See ba58552 for the significant changes and please lmk what you think of this change to what we discussed.

@h-m-m , @svileshina: i've refactored based on Howard's idea of overriding blueprinter's view macro to ensure it applies the transformer to views as well as the root blueprint. Please give the updated code another look.


Fix a line on all f/e & data viz projects to correctly introduce user…

Pre-Submission Checklist

[X] Your pull request targets the staging branch of FreeCodeCamp.
[X] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[X] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[X] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[X] Tested changes locally.
[X] Closes currently open issue (replace XXXX with an issue no): Closes #11750

Description

I change the line "Fulfill the below user stories" to "Fulfill the following user stories" on all front end and data visualization challenges, to be grammatically correct and to be clearly (and consistent). I didn't touch the back end projects, because they use an entirely different phrasing, and are consistent amongst themselves already.

Perfect!
@ubershibs thanks a lot.
P.S : Here is a bonus tip for you : https://forum.freecodecamp.com/t/writing-good-git-commit-messages/13210