text:
Slow first start

When I install Jupyterhub + JupyterLab + jupyterlab-lsp, then the first spawn of the server is always incredibly slow.
All subsequent spawns are as expected. Also when I restart jupyterhub or restart the server it does not change anymore.
It seems for me that some actions are performed with the initial spawn. In case this is as expected, is there a way to manually trigger this action? That way I could initially pre-warm the installation so that the first login is not so horribly snow.
Log output (fresh installation with jupyterlab-lsp)
Installation
conda create --name jupyterhub2 jupyterhub jupyterlab jupyterlab_widgets jupyterlab-git 'jupyterlab-lsp=3.10.1'

Logfile
[D 2022-04-26 13:21:19.232 JupyterHub roles:454] Assigning default role to User uidk9081
[I 2022-04-26 13:21:19.250 JupyterHub roles:366] Adding role user for User: uidk9081
[D 2022-04-26 13:21:19.267 JupyterHub roles:454] Assigning default role to User uidk9081
[D 2022-04-26 13:21:19.300 JupyterHub base:565] Setting cookie jupyterhub-session-id: {'httponly': True, 'secure': True, 'path': '/'}
[D 2022-04-26 13:21:19.300 JupyterHub base:569] Setting cookie for uidk9081: jupyterhub-hub-login
[D 2022-04-26 13:21:19.301 JupyterHub base:565] Setting cookie jupyterhub-hub-login: {'httponly': True, 'secure': True, 'path': '/hub/'}
[I 2022-04-26 13:21:19.301 JupyterHub base:813] User logged in: uidk9081
[I 2022-04-26 13:21:19.309 JupyterHub log:189] 302 POST /hub/login?next=%2Fhub%2F -> /hub/ (uidk9081@10.22.46.185) 2652.92ms
[D 2022-04-26 13:21:19.351 JupyterHub base:281] Recording first activity for <User(uidk9081 0/1 running)>
[D 2022-04-26 13:21:19.380 JupyterHub user:399] Creating <class 'jupyterhub.spawner.LocalProcessSpawner'> for uidk9081:
[I 2022-04-26 13:21:19.407 JupyterHub log:189] 302 GET /hub/ -> /hub/spawn (uidk9081@10.22.46.185) 59.34ms
[D 2022-04-26 13:21:19.425 JupyterHub scopes:491] Checking access via scope servers
[D 2022-04-26 13:21:19.426 JupyterHub scopes:402] Argument-based access to /hub/spawn via servers
[D 2022-04-26 13:21:19.426 JupyterHub pages:215] Triggering spawn with default options for uidk9081
[D 2022-04-26 13:21:19.436 JupyterHub base:931] Initiating spawn for uidk9081
[D 2022-04-26 13:21:19.436 JupyterHub base:935] 0/100 concurrent spawns
[D 2022-04-26 13:21:19.437 JupyterHub base:940] 0 active servers
[D 2022-04-26 13:21:19.448 JupyterHub roles:477] Checking token permissions against requested role server
[I 2022-04-26 13:21:19.456 JupyterHub roles:482] Adding role server to token: <APIToken('dba4...', user='uidk9081', client_id='jupyterhub')>
[I 2022-04-26 13:21:19.492 JupyterHub provider:607] Creating oauth client jupyterhub-user-uidk9081
[D 2022-04-26 13:21:19.550 JupyterHub user:728] Calling Spawner.start for uidk9081
[I 2022-04-26 13:21:19.552 JupyterHub spawner:1561] Spawning jupyterhub-singleuser
[D 2022-04-26 13:21:19.602 JupyterHub spawner:1256] Polling subprocess every 30s
[I 2022-04-26 13:21:20.439 JupyterHub log:189] 302 GET /hub/spawn -> /hub/spawn-pending/uidk9081 (uidk9081@10.22.46.185) 1015.50ms
[D 2022-04-26 13:21:20.523 JupyterHub scopes:491] Checking access via scope servers
[D 2022-04-26 13:21:20.524 JupyterHub scopes:402] Argument-based access to /hub/spawn-pending/uidk9081 via servers
[I 2022-04-26 13:21:20.524 JupyterHub pages:401] uidk9081 is pending spawn
[I 2022-04-26 13:21:20.536 JupyterHub log:189] 200 GET /hub/spawn-pending/uidk9081 (uidk9081@10.22.46.185) 17.56ms
[D 2022-04-26 13:21:20.643 JupyterHub scopes:491] Checking access via scope read:servers
[D 2022-04-26 13:21:20.644 JupyterHub scopes:402] Argument-based access to /hub/api/users/uidk9081/server/progress via read:servers
[W 2022-04-26 13:21:29.438 JupyterHub base:1092] User uidk9081 is slow to become responsive (timeout=10)
[D 2022-04-26 13:21:29.438 JupyterHub base:1097] Expecting server for uidk9081 at: http://127.0.0.1:45877/user/uidk9081/
[I 2022-04-26 13:22:19.212 JupyterHub log:189] 200 GET /hub/api (@127.0.0.1) 0.77ms

Installed packages

Click to expand!
$ conda list -n jupyterhub2
# packages in environment at /opt/miniconda/envs/jupyterhub2:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
alembic                   1.7.7              pyhd8ed1ab_0    conda-forge
anyio                     3.5.0           py310hff52083_0    conda-forge
argon2-cffi               21.3.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py310h5764c6d_2    conda-forge
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
async_generator           1.10                       py_0    conda-forge
attrs                     21.4.0             pyhd8ed1ab_0    conda-forge
babel                     2.9.1              pyh44b312d_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.11.1             pyha770c72_0    conda-forge
bleach                    5.0.0              pyhd8ed1ab_0    conda-forge
blinker                   1.4                        py_1    conda-forge
brotlipy                  0.7.0           py310h5764c6d_1004    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2021.10.8            ha878542_0    conda-forge
certifi                   2021.10.8       py310hff52083_2    conda-forge
certipy                   0.1.3                      py_0    conda-forge
cffi                      1.15.0          py310h0fdd8cc_0    conda-forge
charset-normalizer        2.0.12             pyhd8ed1ab_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
configurable-http-proxy   4.5.1           node17_h7e777a6_1    conda-forge
cryptography              36.0.2          py310h597c629_1    conda-forge
debugpy                   1.6.0           py310hd8f1fbe_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
flit-core                 3.7.1              pyhd8ed1ab_0    conda-forge
gitdb                     4.0.9              pyhd8ed1ab_0    conda-forge
gitpython                 3.1.27             pyhd8ed1ab_0    conda-forge
greenlet                  1.1.2           py310hd8f1fbe_2    conda-forge
icu                       70.1                 h27087fc_0    conda-forge
idna                      3.3                pyhd8ed1ab_0    conda-forge
importlib-metadata        4.11.3          py310hff52083_1    conda-forge
importlib_metadata        4.11.3               hd8ed1ab_1    conda-forge
importlib_resources       5.7.1              pyhd8ed1ab_0    conda-forge
ipykernel                 6.13.0          py310hfdc917e_0    conda-forge
ipython                   8.2.0           py310hff52083_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
jedi                      0.18.1          py310hff52083_1    conda-forge
jinja2                    3.1.1              pyhd8ed1ab_0    conda-forge
json5                     0.9.5              pyh9f0ad1d_0    conda-forge
jsonschema                4.4.0              pyhd8ed1ab_0    conda-forge
jupyter-lsp               1.5.1              pyhd8ed1ab_0    conda-forge
jupyter-server-mathjax    0.2.5              pyhc268e32_0    conda-forge
jupyter_client            7.2.2              pyhd8ed1ab_1    conda-forge
jupyter_core              4.9.2           py310hff52083_0    conda-forge
jupyter_server            1.16.0             pyhd8ed1ab_1    conda-forge
jupyter_telemetry         0.1.0              pyhd8ed1ab_1    conda-forge
jupyterhub                2.2.2              pyhd8ed1ab_1    conda-forge
jupyterhub-base           2.2.2              pyhd8ed1ab_1    conda-forge
jupyterlab                3.3.4              pyhd8ed1ab_0    conda-forge
jupyterlab-git            0.37.0             pyhd8ed1ab_0    conda-forge
jupyterlab-lsp            3.10.1             pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge
jupyterlab_server         2.13.0             pyhd8ed1ab_1    conda-forge
jupyterlab_widgets        1.1.0              pyhd8ed1ab_0    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libcurl                   7.82.0               h7bff187_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 11.2.0              h1d223b6_16    conda-forge
libgomp                   11.2.0              h1d223b6_16    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_16    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.43.0               h7f98852_0    conda-forge
libzlib                   1.2.11            h166bdaf_1014    conda-forge
mako                      1.2.0              pyhd8ed1ab_1    conda-forge
markupsafe                2.1.1           py310h5764c6d_1    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mistune                   0.8.4           py310h6acc77f_1005    conda-forge
nbclassic                 0.3.7              pyhd8ed1ab_0    conda-forge
nbclient                  0.6.0              pyhd8ed1ab_0    conda-forge
nbconvert                 6.5.0              pyhd8ed1ab_0    conda-forge
nbconvert-core            6.5.0              pyhd8ed1ab_0    conda-forge
nbconvert-pandoc          6.5.0              pyhd8ed1ab_0    conda-forge
nbdime                    3.1.1              pyhd8ed1ab_0    conda-forge
nbformat                  5.3.0              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
nest-asyncio              1.5.5              pyhd8ed1ab_0    conda-forge
nodejs                    17.9.0               h96d913c_0    conda-forge
notebook                  6.4.11             pyha770c72_0    conda-forge
notebook-shim             0.1.0              pyhd8ed1ab_0    conda-forge
oauthlib                  3.2.0              pyhd8ed1ab_0    conda-forge
openssl                   1.1.1n               h166bdaf_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pamela                    1.0.0                      py_0    conda-forge
pandoc                    2.18                 ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       22.0.4             pyhd8ed1ab_0    conda-forge
prometheus_client         0.14.1             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.29             pyha770c72_0    conda-forge
psutil                    5.9.0           py310h5764c6d_1    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pycurl                    7.45.1          py310h2aed498_1    conda-forge
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.3.0              pyhd8ed1ab_1    conda-forge
pyopenssl                 22.0.0             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.8              pyhd8ed1ab_0    conda-forge
pyrsistent                0.18.1          py310h5764c6d_1    conda-forge
pysocks                   1.7.1           py310hff52083_5    conda-forge
python                    3.10.4          h9a8a25e_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.15.3             pyhd8ed1ab_0    conda-forge
python-json-logger        2.0.1              pyh9f0ad1d_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pytz                      2022.1             pyhd8ed1ab_0    conda-forge
pyzmq                     22.3.0          py310h330234f_2    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
requests                  2.27.1             pyhd8ed1ab_0    conda-forge
ruamel.yaml               0.17.21         py310h5764c6d_1    conda-forge
ruamel.yaml.clib          0.2.6           py310h5764c6d_1    conda-forge
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setuptools                62.1.0          py310hff52083_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     3.0.5              pyh44b312d_0    conda-forge
sniffio                   1.2.0           py310hff52083_3    conda-forge
soupsieve                 2.3.1              pyhd8ed1ab_0    conda-forge
sqlalchemy                1.4.35          py310h5764c6d_0    conda-forge
sqlite                    3.38.2               h4ff8645_0    conda-forge
stack_data                0.2.0              pyhd8ed1ab_0    conda-forge
terminado                 0.13.3          py310hff52083_1    conda-forge
tinycss2                  1.1.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tornado                   6.1             py310h5764c6d_3    conda-forge
traitlets                 5.1.1              pyhd8ed1ab_0    conda-forge
typing_extensions         4.2.0              pyha770c72_1    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
urllib3                   1.26.9             pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
websocket-client          1.3.2              pyhd8ed1ab_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zeromq                    4.3.4                h9c3ff4c_1    conda-forge
zipp                      3.8.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h166bdaf_1014    conda-forge

Log output (fresh installation w/o jupyterlab-lsp)
Installation
conda create --name jupyterhub2 jupyterhub jupyterlab jupyterlab_widgets jupyterlab-git

Logfile
[D 2022-04-26 12:37:20.390 JupyterHub roles:454] Assigning default role to User uidk9081
[I 2022-04-26 12:37:20.403 JupyterHub roles:366] Adding role user for User: uidk9081
[D 2022-04-26 12:37:20.413 JupyterHub roles:454] Assigning default role to User uidk9081
[D 2022-04-26 12:37:20.421 JupyterHub base:565] Setting cookie jupyterhub-session-id: {'httponly': True, 'secure': True, 'path': '/'}
[D 2022-04-26 12:37:20.422 JupyterHub base:569] Setting cookie for uidk9081: jupyterhub-hub-login
[D 2022-04-26 12:37:20.422 JupyterHub base:565] Setting cookie jupyterhub-hub-login: {'httponly': True, 'secure': True, 'path': '/hub/'}
[I 2022-04-26 12:37:20.422 JupyterHub base:813] User logged in: uidk9081
[I 2022-04-26 12:37:20.424 JupyterHub log:189] 302 POST /hub/login?next=%2Fhub%2F -> /hub/ (uidk9081@10.22.46.185) 2457.96ms
[D 2022-04-26 12:37:20.523 JupyterHub base:281] Recording first activity for <User(uidk9081 0/1 running)>
[D 2022-04-26 12:37:20.534 JupyterHub user:399] Creating <class 'jupyterhub.spawner.LocalProcessSpawner'> for uidk9081:
[I 2022-04-26 12:37:20.536 JupyterHub log:189] 302 GET /hub/ -> /hub/spawn (uidk9081@10.22.46.185) 15.28ms
[D 2022-04-26 12:37:20.582 JupyterHub scopes:491] Checking access via scope servers
[D 2022-04-26 12:37:20.582 JupyterHub scopes:402] Argument-based access to /hub/spawn via servers
[D 2022-04-26 12:37:20.583 JupyterHub pages:215] Triggering spawn with default options for uidk9081
[D 2022-04-26 12:37:20.583 JupyterHub base:931] Initiating spawn for uidk9081
[D 2022-04-26 12:37:20.583 JupyterHub base:935] 0/100 concurrent spawns
[D 2022-04-26 12:37:20.584 JupyterHub base:940] 0 active servers
[D 2022-04-26 12:37:20.589 JupyterHub roles:477] Checking token permissions against requested role server
[I 2022-04-26 12:37:20.592 JupyterHub roles:482] Adding role server to token: <APIToken('8c7c...', user='uidk9081', client_id='jupyterhub')>
[I 2022-04-26 12:37:20.603 JupyterHub provider:607] Creating oauth client jupyterhub-user-uidk9081
[D 2022-04-26 12:37:20.626 JupyterHub user:728] Calling Spawner.start for uidk9081
[I 2022-04-26 12:37:20.628 JupyterHub spawner:1561] Spawning jupyterhub-singleuser
[D 2022-04-26 12:37:20.644 JupyterHub spawner:1256] Polling subprocess every 30s
[I 2022-04-26 12:37:21.585 JupyterHub log:189] 302 GET /hub/spawn -> /hub/spawn-pending/uidk9081 (uidk9081@10.22.46.185) 1004.34ms
[D 2022-04-26 12:37:21.643 JupyterHub scopes:491] Checking access via scope servers
[D 2022-04-26 12:37:21.644 JupyterHub scopes:402] Argument-based access to /hub/spawn-pending/uidk9081 via servers
[I 2022-04-26 12:37:21.644 JupyterHub pages:401] uidk9081 is pending spawn
[I 2022-04-26 12:37:21.649 JupyterHub log:189] 200 GET /hub/spawn-pending/uidk9081 (uidk9081@10.22.46.185) 8.44ms
[D 2022-04-26 12:37:21.783 JupyterHub scopes:491] Checking access via scope read:servers
[D 2022-04-26 12:37:21.784 JupyterHub scopes:402] Argument-based access to /hub/api/users/uidk9081/server/progress via read:servers
[I 2022-04-26 12:37:23.576 JupyterHub log:189] 200 GET /hub/api (@127.0.0.1) 0.87ms

Installed packages

Click to expand!
$ conda list -n jupyterhub2
# packages in environment at /opt/miniconda/envs/jupyterhub2:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
alembic                   1.7.7              pyhd8ed1ab_0    conda-forge
anyio                     3.5.0           py310hff52083_0    conda-forge
argon2-cffi               21.3.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0          py310h5764c6d_2    conda-forge
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
async_generator           1.10                       py_0    conda-forge
attrs                     21.4.0             pyhd8ed1ab_0    conda-forge
babel                     2.9.1              pyh44b312d_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.11.1             pyha770c72_0    conda-forge
bleach                    5.0.0              pyhd8ed1ab_0    conda-forge
blinker                   1.4                        py_1    conda-forge
brotlipy                  0.7.0           py310h5764c6d_1004    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
ca-certificates           2021.10.8            ha878542_0    conda-forge
certifi                   2021.10.8       py310hff52083_2    conda-forge
certipy                   0.1.3                      py_0    conda-forge
cffi                      1.15.0          py310h0fdd8cc_0    conda-forge
charset-normalizer        2.0.12             pyhd8ed1ab_0    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
configurable-http-proxy   4.5.1           node17_h7e777a6_1    conda-forge
cryptography              36.0.2          py310h597c629_1    conda-forge
debugpy                   1.6.0           py310hd8f1fbe_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
flit-core                 3.7.1              pyhd8ed1ab_0    conda-forge
gitdb                     4.0.9              pyhd8ed1ab_0    conda-forge
gitpython                 3.1.27             pyhd8ed1ab_0    conda-forge
greenlet                  1.1.2           py310hd8f1fbe_2    conda-forge
icu                       70.1                 h27087fc_0    conda-forge
idna                      3.3                pyhd8ed1ab_0    conda-forge
importlib-metadata        4.11.3          py310hff52083_1    conda-forge
importlib_metadata        4.11.3               hd8ed1ab_1    conda-forge
importlib_resources       5.7.1              pyhd8ed1ab_0    conda-forge
ipykernel                 6.13.0          py310hfdc917e_0    conda-forge
ipython                   8.2.0           py310hff52083_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
jedi                      0.18.1          py310hff52083_1    conda-forge
jinja2                    3.1.1              pyhd8ed1ab_0    conda-forge
json5                     0.9.5              pyh9f0ad1d_0    conda-forge
jsonschema                4.4.0              pyhd8ed1ab_0    conda-forge
jupyter-server-mathjax    0.2.5              pyhc268e32_0    conda-forge
jupyter_client            7.2.2              pyhd8ed1ab_1    conda-forge
jupyter_core              4.9.2           py310hff52083_0    conda-forge
jupyter_server            1.16.0             pyhd8ed1ab_1    conda-forge
jupyter_telemetry         0.1.0              pyhd8ed1ab_1    conda-forge
jupyterhub                2.2.2              pyhd8ed1ab_1    conda-forge
jupyterhub-base           2.2.2              pyhd8ed1ab_1    conda-forge
jupyterlab                3.3.4              pyhd8ed1ab_0    conda-forge
jupyterlab-git            0.37.0             pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge
jupyterlab_server         2.13.0             pyhd8ed1ab_1    conda-forge
jupyterlab_widgets        1.1.0              pyhd8ed1ab_0    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
libcurl                   7.82.0               h7bff187_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 11.2.0              h1d223b6_16    conda-forge
libgomp                   11.2.0              h1d223b6_16    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-ng              11.2.0              he4da1e4_16    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.43.0               h7f98852_0    conda-forge
libzlib                   1.2.11            h166bdaf_1014    conda-forge
mako                      1.2.0              pyhd8ed1ab_1    conda-forge
markupsafe                2.1.1           py310h5764c6d_1    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mistune                   0.8.4           py310h6acc77f_1005    conda-forge
nbclassic                 0.3.7              pyhd8ed1ab_0    conda-forge
nbclient                  0.6.0              pyhd8ed1ab_0    conda-forge
nbconvert                 6.5.0              pyhd8ed1ab_0    conda-forge
nbconvert-core            6.5.0              pyhd8ed1ab_0    conda-forge
nbconvert-pandoc          6.5.0              pyhd8ed1ab_0    conda-forge
nbdime                    3.1.1              pyhd8ed1ab_0    conda-forge
nbformat                  5.3.0              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
nest-asyncio              1.5.5              pyhd8ed1ab_0    conda-forge
nodejs                    17.9.0               h96d913c_0    conda-forge
notebook                  6.4.11             pyha770c72_0    conda-forge
notebook-shim             0.1.0              pyhd8ed1ab_0    conda-forge
oauthlib                  3.2.0              pyhd8ed1ab_0    conda-forge
openssl                   1.1.1n               h166bdaf_0    conda-forge
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pamela                    1.0.0                      py_0    conda-forge
pandoc                    2.18                 ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pip                       22.0.4             pyhd8ed1ab_0    conda-forge
prometheus_client         0.14.1             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.29             pyha770c72_0    conda-forge
psutil                    5.9.0           py310h5764c6d_1    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pycurl                    7.45.1          py310h2aed498_1    conda-forge
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.3.0              pyhd8ed1ab_1    conda-forge
pyopenssl                 22.0.0             pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.8              pyhd8ed1ab_0    conda-forge
pyrsistent                0.18.1          py310h5764c6d_1    conda-forge
pysocks                   1.7.1           py310hff52083_5    conda-forge
python                    3.10.4          h9a8a25e_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.15.3             pyhd8ed1ab_0    conda-forge
python-json-logger        2.0.1              pyh9f0ad1d_0    conda-forge
python_abi                3.10                    2_cp310    conda-forge
pytz                      2022.1             pyhd8ed1ab_0    conda-forge
pyzmq                     22.3.0          py310h330234f_2    conda-forge
readline                  8.1                  h46c0cb4_0    conda-forge
requests                  2.27.1             pyhd8ed1ab_0    conda-forge
ruamel.yaml               0.17.21         py310h5764c6d_1    conda-forge
ruamel.yaml.clib          0.2.6           py310h5764c6d_1    conda-forge
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setuptools                62.1.0          py310hff52083_0    conda-forge
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     3.0.5              pyh44b312d_0    conda-forge
sniffio                   1.2.0           py310hff52083_3    conda-forge
soupsieve                 2.3.1              pyhd8ed1ab_0    conda-forge
sqlalchemy                1.4.35          py310h5764c6d_0    conda-forge
sqlite                    3.38.2               h4ff8645_0    conda-forge
stack_data                0.2.0              pyhd8ed1ab_0    conda-forge
terminado                 0.13.3          py310hff52083_1    conda-forge
tinycss2                  1.1.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tornado                   6.1             py310h5764c6d_3    conda-forge
traitlets                 5.1.1              pyhd8ed1ab_0    conda-forge
typing_extensions         4.2.0              pyha770c72_1    conda-forge
tzdata                    2022a                h191b570_0    conda-forge
urllib3                   1.26.9             pyhd8ed1ab_0    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
websocket-client          1.3.2              pyhd8ed1ab_0    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zeromq                    4.3.4                h9c3ff4c_1    conda-forge
zipp                      3.8.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.11            h166bdaf_1014    conda-forge

Thank you for the detailed issue. I suggested potential workarounds and a listed few areas that might be contributing to this (together with suggestions on how those could be fixed) in https://github.com/jupyter-lsp/jupyterlab-lsp/issues/851#issuecomment-1242809361.

@senfbrot would you mind testing with jupyterlab-lsp 4.0 which includes #882?

@senfbrot do you think that we can close this one?

Closing as inactive.

authors: krassowski senfbrot

repo: jupyter-lsp/jupyterlab-lsp


text:
Allow CellEditorWidget model to be changed after instantiation

closes #85

Thanks!

source: gharchive/pull-request

repo: jupyter/jupyterlab

license_type: permissive

license_source: bigquery


text:
Add page on our "supporters" and donation infrastructure

In https://github.com/jupyterhub/team-compass/issues/508 we discussed a new supporters and donation infrastructure for mybinder.org. We should document these practices in the about section of our documentation, in order to make it explicit and to be transparent about these practices.
Since we've also discussed adding a list of sponsors/supporting institutions/etc to mybinder.org, I suggest that we leave that as the "source of truth" and in these docs we can just document the system itself and link to the home page for the official list.

Update: maybe supporters should be on docs.mybinder.org
The process of updating our banner on mybinder.org suggests to me that this is actually not the easiest place to keep regularly updated with new content, since we need to hard-code HTML when we update the mybinder.org home page.
Alternate proposal
How about instead of using mybinder.org as the source of truth for our "supporters" page, we instead use docs.mybinder.org for this. We could:

Create a new page called Supporters of the Binder Project that lists team members, institutional partners, etc
Create a YAML file that auto-populates that page with supporters of various kinds
That YAML file is the source of truth, and we update it as our support network changes
We could then programmatically generate the HTML needed on the mybinder.org page by pulling from that YAML file, and the source of truth would remain the same
We could also update the banner on mybinder.org to be more "noticeable" and link to this "supporters of mybinder.org" page

Yeah, I think that's probably the best place to do it.

source: gharchive/issue

authors: choldgraf minrk

repo: jupyterhub/binder

license_source: github-api


text:
Minor clean-up

Remove some trailing whitespace and gitignore *.pyc files.

For future reference, in what for do you want whitespace cleanup?

@rschroll If the changes to whitespace are small like this PR, that's fine. With larger PRs, please try to avoid whitespace changes. Here are the guidelines that we typically follow: https://github.com/ipython/ipython/blob/master/CONTRIBUTING.md#pull-requests

authors: rschroll willingc

repo: jupyterhub/nbserverproxy


text:
Allow adding/removing lists of words

rn, we can just add or remove a single word at a time.
let's allow working with lists of words as well.
and if we change this, maybe we should rename the functions from [add_word, remove_word] to [add, remove]
lm.add(['მართლა', 'გულწრფელად', 'არ', 'უფრთხილდებით', 'ხალხის', 'ნერვებს'])
lm.remove(['თუ', 'მართლა', 'გულწრფელად', 'არ', 'უფრთხილდებით', 'ხალხის', 'ნერვებს'])

That's nice feature I will do it!

authors: jupyterjazz vakhokoto

repo: jupyterjazz/wordninja

license: MIT


text:
Disable conflicting JSpreadsheet export

Fixes https://github.com/jupyterlab-contrib/jupyterlab-spreadsheet-editor/issues/70.
Since its shortcut conflicts with JupyterLab's default save shortcut, and users can always use the Download option in JupyterLab's menu, I believe the simplest solution is to disable JSpreadsheet's export feature.

Hi @krassowski, sorry for the ping, but I noticed you recently worked on this repo to add support for JupyterLab 4 (thanks a lot, btw) and thought you might be the right person to ask. Would you be able to take a look at this small change? Thanks!

@renan-r-santos released in https://github.com/jupyterlab-contrib/jupyterlab-spreadsheet-editor/releases/tag/v0.7.2

authors: krassowski renan-r-santos


text:
Ignore does not work for file extensions

To reproduce:

Create a markdown cell with text: "test.csv"
See csv highlighted as an unknown word
Try to ignore it from context menu
See that it gets added to ignore list as ".csv" but it does not get ignored after all

Okay, I've checked this, there are two issues:

.csv is added but only csv is highlighted, so we should only add words without leading/ending punctuations
after any word is added we should trigger a recheck, then the word is correctly ignored.
maybe it is wise to provide some default ignores which includes all file extensions ...

authors: krassowski ocordes

repo: jupyterlab-contrib/spellchecker


text:
Cannot change log level

Description
This extension generates more than 100 lines of build output in my terminal, which makes it harder to find other output that I'm more interested in (e.g. sphinx warnings). I want to set the log level somehow, but can't figure out how. I have placed a jupyterlite_config.json in the same directory as conf.py and it's getting loaded:
[LiteBuildApp] Loaded config file: /opt/pydata-sphinx-theme/docs/jupyterlite_config.json

Here's the content of that file:
{
    "LiteBuildConfig": {
        "Application": {
            "log_level": 40
        }
    }
}

Inspired by this I also tried
{
    "LiteBuildConfig": {
        "log_level": 40
    }
}

but that gives a warning:
[LiteBuildApp] WARNING | Config option `log_level` not recognized by `LiteManager`.

Any guidance on how to actually suppress the terminal output of LiteBuildApp?
Reproduce
Sorry this is a complicated reproducer, I haven't had time to boil it down:

clone https://github.com/drammock/pydata-sphinx-theme/tree/silence-warnings
install nox
run nox -s docs
see the 100+ lines of LiteBuildApp output in the terminal that is not getting suppressed.

Expected behavior
the 100+ lines of output will be suppressed
Context
$ mamba list jupyterlite
# packages in environment at /opt/mambaforge/envs/pst:
#
# Name                    Version                   Build  Channel
jupyterlite-core          0.1.3              pyhd8ed1ab_0    conda-forge
jupyterlite-sphinx        0.9.3              pyhd8ed1ab_0    conda-forge
$ uname -a
Linux agelaius 5.15.0-58-generic #64-Ubuntu SMP Thu Jan 5 11:43:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Browser: N/A, this is about terminal output during build

I believe this was taken care of by #153

@steppi, would it be a good idea to add a three-level (or less) logger and configure it? I feel it can be taken up in #162

@steppi, would it be a good idea to add a three-level (or less) logger and configure it? I feel it can be taken up in #162

There's some prep work needed for that to actually help because the vast majority of noisy output comes upstream and can't  be controlled with a logger.
Some of the output comes for doit from within jupyterlite_core, the verbosity is hard coded, and we'd need to get them to allow this to be configured. See https://github.com/jupyterlite/jupyterlite/issues/1351.
Another source of noisy output is unguarded print statements in jupyterlite_core/addons/ as described in https://github.com/jupyterlite/jupyterlite-sphinx/issues/149#issuecomment-2004635037. These would need to be changed to use a logger upstream.
If we actually want the log level to be configurable, this stuff needs to be changed upstream.

authors: Carreau agriyakhetarpal drammock steppi

repo: jupyterlite/jupyterlite-sphinx


text:
xeus-python: Python 3.12 is showing up in the launcher, not Python 3.11

Description
Not technically related to jupyterlite-xeus, but I think we should fix it before releasing the 0.1.0 and replacing jupyterlite-xeus-python, hence opening it here.
This may require a fix in xeus-python, or an ugly patch of the kernel spec in emscripten-forge/recipes

fixed via https://github.com/jupyter-xeus/xeus-python/pull/609, needs to be merged and released

authors: DerThorsten martinRenou

repo: jupyterlite/xeus


text:
Use Ok To cancel request doesn't work

Hi
I use last beta version (3.0.398-beta). I use ExplicitProxyEndPoint with (decryptSsl = flase)
Now I need block or cancel request from the requset hostname. so i use explicitEndPoint.BeforeTunnelConnectRequest
and :
private async Task ExplicitEndPoint_BeforeTunnelConnectRequest(object sender, Titanium.Web.Proxy.EventArguments.TunnelConnectSessionEventArgs e)
{
    string hostname = e.WebSession.Request.RequestUri.Host;
     if (hostname != "google.com")
     {
         e.Ok("Blocked");
   }
 }

but this code has no effect and all request just send :(

This Ok (and other similar Respond) method should be called from the BeforeRequest (or BeforeResponse) events, not from the TunnelConnect event.
I think those methods should not be available in that event, or at least they should throw and exception. Currently there is not way to block the connect. I'll try to implement something.

Thanks a lot 👍
I test BeforeRequest but when decryptSsl = false this event never called

I just clone project and test it, It is ok. but with last nuget version (3.0.398-beta) this event never called

It will never get called if decryptSsl is false. If you don't decrypt then you cannot block the website with a message. You can terminate the request abruptly without any message by implementing proxyServer.AuthenticateUserFunc event handler by returning false.
https://github.com/justcoding121/Titanium-Web-Proxy/blob/develop/Titanium.Web.Proxy/ProxyServer.cs#L211
@honfika I think we should add one more property inside BeforeTunnelConnectRequest that would let users to terminate the connection with a negative connect response like what we do with proxyServer.AuthenticateUserFunc

@justcoding121 Thank you. I think we can access the host address even with SSL enabled and maybe other things like request size (limit user bandwidth) and so on...
I try this event but I need filter request by host address this function provide username and password.
So there is not any solution to filter client request by host address when decryptSsl is false?

If you don't decrypt the only detail available will be the host address of server. Limiting bandwidth is not supported, you can however write code to keep track of how much data a client sent/received using TunnelConnectEventArgs.DataSent/DataReceived events when decryptSsl is enabled and by keeping track of client Ip address from TunnelConnectEventArgs.ClientEndPoint. @honfika Not sure how reliable these events are, I would think it gets fired on all data whether relayed or decrypted.

So there is not any solution to filter client request by host address when decryptSsl is false?

By filter if you mean deny/drop client connection, we don't support this yet. We will support this one we implement BlockConnect.

Yes, you are right. Thank you.
I just mentioned an example (Limiting bandwidth) for how can this event be useful.
Ok, thanks. Can I help? Suggestion to PR?

In the latest beta package you can block a conection in the BeforeTunnenConnectRequest event with:
            if (hostname.Contains("google"))
            {
                e.BlockConnect = true;
            }

It sends:
https://github.com/justcoding121/Titanium-Web-Proxy/blob/26d815c31609b6ba68353bcae373298308698741/Titanium.Web.Proxy/RequestHandler.cs#L88-L93
I don't know what is the correct reponse status code,  but it works in Chrome. Maybe it will be configurable later.

@honfika Thank you so much this is great.

Fyi. Albeit my suggestion BlockConnect sounds little strong, I just renamed it to DenyConnect for future releases.

Same issue in BeforeRequest

I found that the same request will trigger BeforeRequest twice.

authors: GF-Huang PejmanNik honfika justcoding121

license: mit


text:
Add JustList: {JustList name}

Before submission deletes this line:
THIS IS NOT A TOKEN LISTING REQUEST FORM. IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/blob/main/example.justlists.ts
Checklist

[ ] I understand that this is not the place to request a token listing.
[ ] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[ ] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:
JustList Name:
Link to the official homepage of the JustList manager:

Please submit the correct information, invalid information will cause the issue to close

repo: justswaporg/justlists


text:
Create a module for each Component

I want to create a module for each component, so I can import it into my Application separately. Anyone have any idea how to do it?

+1

You can have a look at how the Angular Material library is structured right here:
https://github.com/angular/material2/blob/master/src/lib/module.ts
It exports multiple modules, which can then be imported selectively by the consuming application 👍

i did the exact thing but couldnt get it running, i get the following error in my app
Module not found: Error: Can't resolve 'sample-library/maps/sample.maps.module'

When importing the submodule into the application it is generating the following error in the Angular application.
ERROR in Error: [module] is not an NgModule
And the import was from a simple module I created just to test this. With the new versions of Angular + AngularCLI + Your Generator

hi @abalad @pratikthecook  ,Can you tell me what should i do? I tried but failed.

authors: abalad deepthan jvandemo pratikthecook vinayakpatil


text:
soap 1.2 action

Hello, I stumbled across an issue with the action header parameter when using wslite with a Soap1.2 .Net service. I created a patch that fixed that issue. Also the gradle repository url needed updating.

Thanks for the fix.

authors: jladenfors jwagenleitner

repo: jwagenleitner/groovy-wslite


text:
Can't use it as Android Library

Hi, i'm trying to use this library on my android project but the build is not successful.
build error message shows up: Invalid build configuration. Attempt to create a global synthetic for 'Record desugaring' without a global-synthetics consumer.
it says error while dexing

Mąkę sure you are using Java version 16 in your project

extensive discussion is on discord channel

Currently I'm not planning to support android

authors: jwdeveloper khrlimam

repo: jwdeveloper/TikTokLiveJava


text:
Add minimize action

Fixes #2534
PR is blocked by winit bump, however it's reviewable, since after winit bump we should change only 1 name(we should call set_minimized(minimized) instead of  set_maximized(minimized) in alacritty/src/window.rs).

Once winit is bumped, we also need to add change log entries for the other things that have been fixed and close the appropriate issues.

@chrisduerr I'd like to bump winit separately, since it closes a lot of unrelated issues, etc.

I'd like to bump winit separately, since it closes a lot of unrelated issues, etc.

Yeah, good idea.

This only works when decorations are enabled. See https://github.com/rust-windowing/winit/issues/1361.
I've created a follow-up issue here: https://github.com/jwilm/alacritty/issues/3150

authors: chrisduerr kchibisov

repo: jwilm/alacritty


text:
Add API to disable incomplete features

For incomplete features, such as #151 , they haven't been thoroughly verified and may be unstable.  These features should be disabled unless specifically enabled.
Add a flag to XMLParser::Options to disable experimental features.

Fixed by https://github.com/jwmcglynn/donner/commit/7430a006e973fcafcca6ef2c2ea1f86301095744

repo: jwmcglynn/donner

license: ISC


text:
CUDA_PATH Error. Why is that?

running build_ext
skipping 'model/utils/bbox.c' Cython extension (up-to-date)
skipping 'pycocotools/_mask.c' Cython extension (up-to-date)
Compiling nms kernels by nvcc...
Traceback (most recent call last):
File "build.py", line 10, in
cuda_root = os.environ['CUDA_PATH']
File "/usr/lib/python2.7/UserDict.py", line 40, in getitem
raise KeyError(key)
KeyError: 'CUDA_PATH'
Compiling roi pooling kernels by nvcc...
Traceback (most recent call last):
File "build.py", line 10, in
cuda_root = os.environ['CUDA_PATH']
File "/usr/lib/python2.7/UserDict.py", line 40, in getitem
raise KeyError(key)
KeyError: 'CUDA_PATH'
Compiling roi align kernels by nvcc...
Traceback (most recent call last):
File "build.py", line 10, in
cuda_root = os.environ['CUDA_PATH']
File "/usr/lib/python2.7/UserDict.py", line 40, in getitem
raise KeyError(key)
KeyError: 'CUDA_PATH'
Compiling roi crop kernels by nvcc...
Traceback (most recent call last):
File "build.py", line 10, in
cuda_root = os.environ['CUDA_PATH']
File "/usr/lib/python2.7/UserDict.py", line 40, in getitem
raise KeyError(key)
KeyError: 'CUDA_PATH'

I successfully run this version: https://github.com/ruotianluo/pytorch-faster-rcnn. Can you help me please?

try which nvcc
I get the following output /usr/local/cuda/bin/nvcc
then export CUDA_PATH=/usr/local/cuda/

I tried this which nvcc and I got  /usr/local/cuda-9.0/bin/nvcc
then I changed CUDA_PATH to = /usr/local/cuda-9.0/
But error is still the same

Hi, @EldorIbragimov , I have changed a line in make.sh, now you just need to specify your cuda path at line 6. Let me you if you still have problem.

@EldorIbragimov also, update your code and try again

Now I am using older version of your code with pytorch 0.3.0 and it is working fine
BTW, have you updated your code for pytorch 0.4 version?

@EldorIbragimov not sure, i will work on it when having time, should be in this summer. closing this issue.

authors: 3ZA EldorIbragimov jwyang


text:
[Question] Avoiding apropcalypse using styled-system

So I've been working with styled-system for a while already, but unfortunately, I often struggle with making my components too modular which ends up having a real "apropcalypse".
Consider having a primitive ListItem component:
const ListItem = styled.ul`
    ${space};
}

Everything is awesome for now, I can put a ListItem easily and add some paddings and margins. But now I want to use it in my Nav element, and it needs to be inline-flex. And we also want to show a dropdown on the ListItem hover right below it, so I'd need a relative.
What would you do in this situation?

Add additional style functions to ListItem and use it explicitly in Nav:

const ListItem = styled.ul`
    ${space};
    ${display};
    ${position};
`;

...

<Nav>
    <ListItem display="inline-flex" position="relative">
        ...
    </ListItem>
</Nav>

or

Create a NavListItem component which extends the ListItem one:

const ListItem = styled.ul`
    ${space};
`;

...

const NavListItem = styled(ListItem)`
    display: inline-flex;
    position: relative;
`;

...

<Nav>
    <NavListItem>
        ...
    </NavListItem>
</Nav>

The thing is, styled-system gives a lot of flexibility and I guess It's so big that I'm getting lost in it :smile:
So, my question is: what pattern would you recommend to go with styled-system - to create minimal primitives and use them to create context-specific components by extending the primitive ones, or rather create big, extensive primitives and just build up context-specific components out of them (composing with available props)?

I think for one-off contextual styles like in your example, I'd tend to either extend the base component like your second example or use the css prop, which is really great for one-off styling. Generally I wouldn't recommend adding style props unless they are really, truly reusable props (e.g. spacing and color). Also for positioning, I tend to prefer explicit <Relative /> and <Absolute /> type components since CSS positioning is a footgun.
That said, it really just comes down to your team's preference and there are a lot of different ways to handle these sorts of things

@jxnblk Thanks a lot for your answer!
The problem I have with explicit <Relative /> and <Absolute /> components is that I often end up needing a specific markup, i.e. creating a nav, where I need a li with position: relative to show an absolute dropdown below it, but I can't do <Relative><li>...</li></Relative> as ul's with div descendants is not semantically correct. (The dropdown also shouldn't be wrapped with <Absolute /> as it should be another ul). But that's just an example - I often get things like that if I want the semantics right.
Do you maybe know more projects with styled-system usage (except the ones listed in the docs - rebass and priceline) to look at and grasp some inspiration?

For <li> you can nest the <Relative /> inside the item or use the as prop if needed. You should be able to follow css-in-js and react patterns while maintaining semantic markup

One more question: do you rather aim for the reuse of primitives with style props i.e. const ProductCard = styled(Card)``` or add them explicitly when needed? I often wonder if I should extend a style-prop-rich primitive to create a new component (even if I won't use most of the style props) or just do const MyComponent = styled.div${neededStyleProp};.
Sorry if the questions may sound trivial, I just don't know much people with experience with this kind of approach and would like to hear about experiences and get some guidance :smiley:

@sarneeh I found myself dealing with a codebase where styled-system was used. My solution eventually was to not use styled-system 😉

@simoneb Could you elaborate why? :)

@sarneeh, i reuse the primitives. otherwise you're recreating different types of cards over and over.
also, lol @ coming in a thread just to say you don't want use styled-system, @simoneb. nice.

@nicholaai Thanks for your answer! Can I ask what kind of primitives you usually introduce? And how do you handle specific styling like position or hiding things around for different media with display: none? Do you bundle a position and display to the primitives, or style it ad-hoc?

@sarneeh @nicholaai didn't mean to troll 😅  Here's a more elaborate answer.
Take @sarneeh's example. In the first case, you end up filling your styled-component definition with so many styled-system props for each individual use case you need to cover that the result is a generic component which could do pretty much anything.
If you then imagine that you could use styled-component's as property, you can build your entire application with a single React component which can transform into any DOM element with any properties. That's clearly not what you want to do.
In the second case, which in my opinion is a more correct way to implement a component hierarchy, you are extending ListItem with NavListItem. Now, are you really sure that you need the flexibility that the space helper gives you on the ListItem component? I mean, what do you need it for?
If you want to get rid of the user agent default padding/margin on the ul element then you probably want to do it consistently across the application, meaning that you don't need to use styled-system helpers and you can hardcode your values, either in a base component or with global styles. If that's for contextual spacing for layout, then that's probably not where you should put paddings and margins, but rather in a layout container which wraps your ul.
Either way, you don't need any styled-system helpers.
The other feature that styled-system has are the spacing, font sizes, ..., arrays, which you can reference by array indexes. I found this very hard to use because you have to remember all the time what an index in that array corresponds to. Then at some point you come across a value for spacing that doesn't exist in your array and if you want to modify it you have to change all places in the application where you were using the array indexes. I find this problem better solved by using a consistent typography (i.e. using Typography.js, material-ui, or simply global styles), and consistent spacing. Defining a base spacing unit configured in the theme and using multipliers of it does the trick for me, and it's also the approach used in other libraries.
Because of this, the only real feature which styled-system offers that is not built into styled-components is responsiveness, but using it I figured that you can easily do without. First of all, using arrays for specifying responsive CSS properties can easily turn into a nightmare in the same way as described above. Then, I'm not sure it's great to have to provide all those verbose properties when the components are used. Instead, I simply use responsive utilities for styled-components or if you need greater flexibility just use a UI toolkit like material-ui.
Hope it helps!

@sarneeh until we get some better examples up, you might have better luck asking some questions on Spectrum: https://spectrum.chat/styled-system – or maybe opening more specific questions as new issues since this conversation has derailed a bit. Styled System is intentionally very flexible so there's no real right or wrong way to use it, just how you and your team prefer
Possibly relevant thread here as well: https://spectrum.chat/styled-components/general/using-styled-system-vs-pure-styled-components~b9afb6f3-a675-4f97-bc78-66411292fab1

@simoneb Thanks a lot for this answer! Actually, according to the responsive props, you can now use object notation like: width={{ sm: 1, xl: '50%' }} which eliminates the index issue (which really was a pain).
@jxnblk Sure thing! I'll maybe move the discussion there :smile:
Thanks everyone for your insights!

authors: jxnblk nicholaai sarneeh simoneb

repo: jxnblk/styled-system


text:
Update dependencies and validator to the latest versions

@jzaefferer: if you want me to split this or make any changes just let me know.
This fixes #86.

:+1: Need this for Bootstrap (https://github.com/twbs/bootstrap/pull/18668).

@jzaefferer: bump

:+1:

Thanks! Merged and published as v6.0.0.

authors: XhmikosR cvrebert jzaefferer lawrencecushman

repo: jzaefferer/grunt-html


text:
"Turn Off" default validation based on input type

Is there a way to turn off default validation based on input type.  For example, if I have  I don't want this field to be validated as a number, but I want the input type to remain number for mobile friendliness.
WORKS
rules:{
ssn: {
number: false,
ssn: true
}
}
DOESN'T WORK
But doing it through addClassRules doesn't work (which is super inconvenient)
$.validator.addClassRules("ssn", {
number: false,
ssn: true
});

That should have included delete, I've updated my comment above.

I'm sorry for the lack of activity on this issue. Instead of leaving it open any longer, I decided to close old issues without trying to address them, to longer give the false impression that it will get addressed eventually, especially after several years with no activity. It doesn't mean I'm abandoning the project, just that I'm unable to work through 200+ open issues with the little time I can afford to spend on this project.
To the reporter (or anyone else interested in this issue): If you're still affected by the same issue, please consider opening a new issue, with a testpage that demonstrates the issue with a current version of the plugin. Even better, make an attempt to fix the issue yourself, and improve the project by sending a pull request. This may seem daunting at first, but you'll likely learn some useful skills that you can apply elsewhere as well. And you can help keep this project alive. We've documented how to do these things, too. A patch is worth a thousand issues!

repo: jzaefferer/jquery-validation


text:
Short array syntax is allowed in php 5.4 Only..

Hello,
I just update my forked version and i got this in phpStorm.
I will propose a PR this day to fix this.

Regards

This is not a syntax error, version 5.4 of php already supports array creation in this way.
See the documentation: https://secure.php.net/manual/en/language.types.array.php

@henri9813 in composer.json file, increase the php required version from <5.4 to something more recent like 7.2
"require": {
-	"php": ">=5.3.7"
+	"php": ">=7.2"
},

repo: jzonta/FakerRestaurant


text:
Kroxylicious junit extension development version 0.10.0

Release version 0.10.0

Hey, that's the 0.10.0 release prepared and its artefacts successfully staged to Sonatype. This PR contains a commit for 0.10.0 and a commit for 0.11.0-SNAPSHOT which will reopen main for new work.
There are a couple of steps to do before the release is completed.

[ ] Let the CI workflow on this PR complete.
[ ] Review the "[Sonatype] iokroxylicious-nnnn repository report" email for unexpected threats.
[ ] Kick the tyres on the Maven artefacts.

Once done, comment @kroxylicious-robot promote-release on this PR. This will release the artefacts to Maven Central and merge this PR to main.
If things don't look good, abort the release by saying @kroxylicious-robot drop-release.
Thank you,
Your friendly Kroxylicious Github Robot.

@kroxylicious-robot drop-release

Release dropped


text:
[overlay] collect few examples of kustomize vs ytt overlay to be included in docs

comparison comes up pretty often so it would be nice to document some common comparisons.

AFAIK:
ytt:

terraform provider
better templating ( usually infrastructure secrets referenced in terraform for boostraping )

kustomize:

better support for cloud native well-known toolset ( flux, argo, etc ), it does not need to be direct integration, but examples..
kustomize integration in kubectl ( old version, but still )

no official terraform provider ( no templating without leaking secrets in tf diffs )

Did You consider to distribute ytt as krew plugin ?

better support for cloud native well-known toolset ( flux, argo, etc ), it does not need to be direct integration, but examples..

that's worth mentioning in docs on how to integrate with argo, and others.

Did You consider to distribute ytt as krew plugin ?

not really. what do you think will be main advantage vs just using ytt binary directly?

authors: cppforlife lukasmrtvy


text:
Recipes for release

I'm thinking what are the recipes we can show at the tutorial, and whether we need to add more. AFAIK we have the following ready (and can use roughly any combination of them):
Corpora

LibriSpeech
Aishell

Architectures

tdnn-lstm
conformer
contextnet

Topologies

CTC

Criterions

CTC
MMI 2-gram dens

AM targets

phones + blank
BPEs + blank

I am thinking about adding a recipe for something conversational, to illustrate the need for/benefits of multiple supervision segments with actual acoustic context. I could prepare a recipe for this, e.g. on Switchboard? Not sure if there's a similar corpus that is also open (maybe GigaSpeech, possibly a subset of it).

Cool!
Yes, those features look good.  And also your thing about multiple
segments, although my focus right now is to simply have something --
anything-- ready by  the time we give the Interspeech tutorial.
Dan
On Sun, Jul 4, 2021 at 6:31 AM Piotr Żelasko @.***>
wrote:

I am thinking about adding a recipe for something conversational, to
illustrate the need for/benefits of multiple supervision segments with
actual acoustic context. I could prepare a recipe for this, e.g. on
Switchboard? Not sure if there's a similar corpus that is also open (maybe
GigaSpeech, possibly a subset of it).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/k2-fsa/icefall/issues/2#issuecomment-873479178, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZFLO25FP64K2KBNMEL4EDTV6FTNANCNFSM47YRLOOQ
.

Don't worry, we'll make it ;)
Do you think we should copy the code from snowfall and adjust it somehow or just work on the snowfall repo for the time being? I think given that we're trying to limit the scope, maybe it makes sense to just stick to snowfall for now. Do you envision any serious changes to how the code is organized there by the tutorial deadline?

I think we should take the opportunity to clean up interfaces a little and rework the directory structure a bit,
and get rid of any old versions of code that we don't want.  But we don't need to make very fundamental changes, I think.

authors: danpovey pzelasko


text:
Support fine-tuning

This PR adds a fine-tune script for recipe pruned_transducer_stateless7.
It fine-tunes a model trained with LibriSpeech on GigaSpeech. To do fine-tuning, you need to provide the path to the checkpoint from which the training will resume. You also need to set --do-finetune True. Below is an example of fine-tuning on the GigaSpeech subset S:
base_lr=0.005
lr_epochs=100
lr_batches=100000

./pruned_transducer_stateless7/finetune.py \
    --world-size 2 \
    --master-port 18181 \
    --num-epochs 20 \
    --start-epoch 1 \
    --exp-dir pruned_transducer_stateless7/exp_giga_finetune_S_baselr_${base_lr}_lrepochs_${lr_epochs}_lrbatches_${lr_batches} \
    --subset S \
    --use-fp16 1 \
    --base-lr $base_lr \
    --lr-epochs $lr_epochs \
    --lr-batches $lr_batches \
    --bpe-model data/lang_bpe_500/bpe.model \
    --do-finetune True \
    --finetune-ckpt /ceph-data4/yangxiaoyu/softwares/icefall_development/icefall_finetune/egs/librispeech/ASR/icefall-asr-librispeech-pruned-transducer-stateless7-2022-11-11/exp/pretrained-epoch-30-avg-9.pt \
    --max-duration 500

The WERs on the GigaSpeech dev&test set after fine-tuning are shown below. As a reference, the WERs of the same model trained on GigaSpeech subset S are also shown:

model
dev
test

fine-tune from Libri
13.63
13.59

train from scratch
14.88
15.04

To do fine-tuning on another dataset or your own dataset, you just need to replace gigaspeech.py with your own script for creating train/test dataloaders.

Here are a few experiments with different learning rate schedule/initializations:

Fine-tune
init modules
base_lr
lr_epoch
lr_batches
Epoch-avg
Dev
Test

No
None
0.05
3.5
5000
30-13
14.88
15.04

Yes
all
0.05
3.5
5000
15-10
15.52
15.61

Yes
all
0.01
3.5
5000
15-10
13.85
13.96

Yes
all
0.005
3.5
5000
15-10
13.63
13.81

Yes
all
0.001
3.5
5000
15-10
13.82
13.89

Yes
all
0.005
100
1e6
11-10
13.59
13.49

Yes
all
0.001
100
1e6
17-10
13.63
13.69

Yes
encoder
0.005
100
1e6
13-10
13.62
13.62

Yes
encoder+decoder
0.005
100
1e6
13-10
13.65
13.61

@marcoyang1998 can you upload the tensorboard logs of the finetuning experiment

See https://tensorboard.dev/experiment/5xPOGv6CQHO02YEApc1jxg/. @pingfengluo
It's from the experiment with base_lr=0.005, lr_epoch=100, lr_batches=1e6.

See https://tensorboard.dev/experiment/5xPOGv6CQHO02YEApc1jxg/. @pingfengluo
It's from the experiment with base_lr=0.005, lr_epoch=100, lr_batches=1e6.

ok， thank you

@marcoyang1998 hello, I found that using the same config, I can not reproduce the result, my running command is ./finetune.py --num-epochs 20 --start-epoch 1 --exp-dir exp/ft_giga_lr5e-3 --use-fp16 1 --base-lr 0.005 --lr-epochs 100 --lr-batches 100000 --do-finetune True --use-mux false --finetune-ckpt exp/pretrained-pt7/pretrained.pt --max-duration 500
But my result only gets 14.66/15.04

my tensorboard logs are as follows:

min valid_pruned_loss: 0.055
min valid_simple_loss: 0.297

Compared with https://tensorboard.dev/experiment/5xPOGv6CQHO02YEApc1jxg/#scalars, I found that my valid loss is smaller, but performance is worse?

Could you please prvoide a checkpoint of epoch11 avg 10 ?

@marcoyang1998 By the way, can you provide the result of GigaSpeech that is decoded from LibriSpeech pretrained model (without finetuning)? So I can validate my pretrained model is correct or not, THX.
From the results above in #944 and #1059, there is no result without finetuning.

@HsunGong How many GPUs are you using? And are you using decode_gigaspeech.py for decoding?
The model without finetuning has 20.19/19.58 with greedy_search

I got 20.74/19.99 without ft.
Two 3090 are used with max-duration=500.

LR scale: it changes from 5e-3 to 1.5e-3 during training (while mine only to 4.5e-3)

This seems to be caused by this change, it skips the warmup period and sets the batch count to a very large number:
https://github.com/yfyeung/icefall/blob/9df058f05c356eb411e1d6db53d29c1690d59ac5/egs/librispeech/ASR/pruned_transducer_stateless7/finetune.py#L923-L927
If you want to reproduce my results, you might need to remove the above few lines so that warmup is not skipped. But theoretically, warmup is not needed during finetuning as long as a small enough learning rate is used.

training step: the max steps is ~50K (while mine is ~20K)

At 20k updates, my exp only reached the 8-th epoch. Since we are using using 2 GPUs with the same max-duration, this looks a bit weird to me.
But overall I think the WER discrepancy is reasonable, as your initialization is worse than mine.

THX, I think the main problem is from the dataset scale, as the max-dur is the same, there is no reason that the total steps per epoch is different (mine is ~900, yours is ~2800), and that might be the issue. I'll recheck my dataset setup to see if it is using the total train-S(250h).

We are using 3x speed perturb, which explains the total step difference.

@marcoyang1998 I want to train on a new dataset (which is larger than the previous dataset) based on a previous checkpoint (I think that it's quite similar to fine-tuning). The previous checkpoint used to take 4-5 days to train for one epoch. However, I've found that now it takes only about 2 days to train for one epoch (which is larger than the previous dataset).
Therefore, I suspect there might be a problem somewhere in the dataloader's iteration in the training in terms on the larger dataset, causing the model to not actually traverse all the data during the actual training.

I haven't used the finetune.py. I just used the previous train.py, but I tried to comment the following in the load_checkpoint_if_available:
# keys = [
    #     "best_train_epoch",
    #     "best_valid_epoch",
    #     "batch_idx_train",
    #     "best_train_loss",
    #     "best_valid_loss",
    # ]
    # for k in keys:
    #     params[k] = saved_params[k]

    # if params.start_batch > 0:
    #     if "cur_epoch" in saved_params:
    #         params["start_epoch"] = saved_params["cur_epoch"]
    #
    #     if "cur_batch_idx" in saved_params:
    #         params["cur_batch_idx"] = saved_params["cur_batch_idx"]

I think the load_checkpoint_if_available is used to continue training on the previous checkpoints also on the same dataset. But the load_model_params in finetune.py is used to continue training on the previous checkpoints but on the different dataset. Am i correct? @marcoyang1998

Yes, in most cases.

authors: HsunGong OswaldoBornemann marcoyang1998 pingfengluo


text:
[WIP] implement encoder f0 condition

Condition cF0 and uv to encoder auxiliary feature.

comparison

[x] encoder F0
[ ] decoder F0
[x] encoder and decoder F0

It looks no big gap.


text:
etcd-snapshot-schedule-cron Parameter does not take effect

k3s version: v1.21.13
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server --docker --cluster-init --etcd-snapshot-schedule-cron "*/2 * * * *" --disable servicelb,traefik,local-storage,metrics-server' K3S_TOKEN=SECRET K3S_NODE_NAME="node1" ./k3s-install.sh
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='server --docker --cluster-init --etcd-snapshot-schedule-cron "*/2 * * * *" --disable servicelb,traefik,local-storage,metrics-server' K3S_TOKEN=SECRET K3S_NODE_NAME="node1" ./k3s-install.sh
https://docs.rancher.cn/docs/k3s/installation/install-options/server-config/_index/
After the configuration in the official document, the ETCD periodic backup parameter does not take effect in the above two methods. Is it because I installed the wrong command? Or something else.
Below is a screenshot of my successful manual backup
What if I specify the timing of a scheduled task during installation

Passing a quoted string inside another quoted string is hard to get right. You can play around with it, but you might find it easier to write that bit of config to /etc/rancher/k3s/config.yaml prior to installing K3s, rather than trying to pass it as part of the INSTALL_K3S_EXEC args.


text:
[Release-1.24] - dynamiclistener adds unwanted SubjectAlternativeName entries to certificate

Backport fix for dynamiclistener adds unwanted SubjectAlternativeName entries to certificate

#7312

Validated on release-1.24 branch using commit id https://github.com/k3s-io/k3s/commit/9fc75e74e03fbd4987cb0b4e80866ad78dd864f0
Environment Details
Infrastructure:
Cloud EC2 instance
Node(s) CPU architecture, OS, and Version:
> cat /etc/os-release
NAME="SLES"
VERSION="15-SP4"
VERSION_ID="15.4"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP4"

Cluster Configuration:
Single node
Steps to reproduce the issue  and validate the fix

Copy config.yaml
Install k3s
Pass a hostname to servername and verify if it listed in the example command below under X509v3 Subject Alternative Name
echo QUIT | openssl s_client -servername foo.example.com -connect HOSTNAME:6443 | openssl x509 -noout -text

Replication results:
ip-172-31-5-45:~ #  echo QUIT | openssl s_client -servername foo.example.com -connect ip-172-31-5-45:6443 | openssl x509 -noout -text
...
            X509v3 Subject Alternative Name:
                DNS:fake.fqdn.value, DNS:foo.example.com, DNS:ip-172-31-5-45, DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local, DNS:localhost, IP Address:10.43.0.1, IP

Logs:
ip-172-31-5-45:~ # journalctl -u k3s|grep foo.example.com
Aug 08 21:55:46 ip-172-31-5-45 k3s[14668]: time="2023-08-08T21:55:46Z" level=info msg="Updating TLS secret for kube-system/k3s-serving (count: 13): map[listener.cattle.io/cn-10.43.0.1:10.43.0.1 listener.cattle.io/cn-127.0.0.1:127.0.0.1 listener.cattle.io/cn-172.31.5.45:172.31.5.45 listener.cattle.io/cn-18.117.189.25:18.117.189.25 listener.cattle.io/cn-__1-f16284:::1 listener.cattle.io/cn-fake.fqdn.value:fake.fqdn.value listener.cattle.io/cn-foo.example.com:foo.example.com listener.cattle.io/cn-ip-172-31-5-45:ip-172-31-5-45 listener.cattle.io/cn-kubernetes:kubernetes listener.cattle.io/cn-kubernetes.default:kubernetes.default listener.cattle.io/cn-kubernetes.default.svc:kubernetes.default.svc listener.cattle.io/cn-kubernetes.default.svc.cluster.local:kubernetes.default.svc.cluster.local listener.cattle.io/cn-localhost:localhost listener.cattle.io/fingerprint:SHA1=9DD09376D588E8D4A22887D9C583E3132A81888C]"

Validation results
ip-172-31-9-185:~ # echo QUIT | openssl s_client -servername foo1.example.com -connect ip-172-31-9-185:6443 | openssl x509 -noout -text
...
            X509v3 Subject Alternative Name:
                DNS:fake.fqdn.value, DNS:ip-172-31-9-185, DNS:kubernetes, DNS:kubernetes.default, DNS:kubernetes.default.svc, DNS:kubernetes.default.svc.cluster.local, DNS:localhost, IP Address:10.43.0.1, IP Address:127.0.0.1, IP Address:172.31.9.185, IP Address:3.137.217.236, IP Address:0:0:0:0:0:0:0:1

Logs:
ip-172-31-9-185:~ # journalctl -u k3s|grep foo.example.com
ip-172-31-9-185:~ #

authors: ShylajaDevadiga brandond


text:
[Release 1.27] Bump latest kube-router version

Backport for #9306

Validated on go mod job
https://github.com/rancher/distros-test-framework/actions/runs/7920539587


text:
Add embedded etcd support

This PR will swap dqlite for etcd for the embedded HA option.  sqlite is the default storage option.  The UX for using etcd is the exact same as dqlite.  This means to enable etcd you must run one server with server --cluster-init and then join other servers with server -s URL -t token.
This PR needs a lot more testing and some bumpy edges rounded out still.

This looks good, I feel like this is a more dependable solution in the context of Kubernetes because the interaction between etcd and Kubernetes is also tested upstream, unlike dqlite :-)

What's the migration path to convert a dqlite to an etcd cluster?

@aarononeal there are not currently any tools to perform datastore migration. You're basically rebuilding the cluster and redeploying your manifests.

@aarononeal I don't think anyone was running a dqlite cluster for anything serious anyway, it didnt work so well and didnt give high availability due to the implementation being experimental and having some shortcomings :)

@aarononeal I don't think anyone was running a dqlite cluster for anything serious anyway, it didnt work so well and didnt give high availability due to the implementation being experimental and having some shortcomings :)

Well I was about to... I know, can't wait forever... and that along with the missing migration part... so just in time.
Is there a (rough) timeline available for the embedded etcd support? If I can assist in testing, count me in.

Dqlite aside, is there a K3S migration path from single master to HA cluster and back or does that kind of move also require rebuilding the cluster?
I could imagine folks starting with a single master and wanting to move to HA later without such pains.
Could have also made for a good migration path here because then I could have dumped dqlite back to sqlite before moving forward to etcd again.

@aarononeal you can go from single master to multi-master and back again with any external datastore. Using the built-in sqlite datastore limits you to only a single master.

Since I have to move from embedded to external, I was considering using lxd and juju as a fast way to deploy etcd.
Is that a bad idea given lxd clustering relies on dqlite? I'm not up to speed on the problems.
Eventually I would prefer to stick with the embedded k3s option to avoid the added lxd and operational dependencies.

dqlite comes from lxd, but it appears that they don't have the same issues with master transitions as kine. I haven't played with juju, I just run etcd as a systemd unit on each of my nodes alongside k3s.

Since #1760 is closed I am including @brandond his concerns here

My biggest surprise when I switched from dqlite to etcd is how demanding etcd is of low-latency disk. For my tiny 3-node cluster that's basically doing nothing (7 etcd events/sec) etcd issues 40 write ops/sec and 15 fsync/sec. It also expects these to reliably execute in less than 10ms, or nodes start getting evicted from the cluster due to election timeouts. 7200 RPM rotational disks could not reliably deliver this; I had to put the etcd database and journal on ramdisk until I was able to get some additional SSD to throw at it.
https://github.com/rancher/k3s/pull/1760#issuecomment-624478828

This could be a major turnoff for people running SD cards or eMMC flash since these notorious for failing due to excess write operations. A parameter to run ETCD in memory might be an option for devices with 4GB of RAM?
Also referencing this discussion over at kubernetes-sigs/kind#845

Yeah, etcd is crazy demanding of low IO latency, and issues about 14 fsyncs/second on my 3 node cluster with basically nothing going on. Definitely not as easy to run on low-end hardware as kine with sqlite.

Possibly relevant recent change to etcd:
https://github.com/etcd-io/etcd/pull/11946

just wondering... was rqlite ever considered ?

@srdjan rqlite was considered but we preferred dqlite at the time. The exact reasoning I don't remember. At this point it doesn't really matter because the key take away is that it's infeasible for the core k3s team to maintain alternative raft based systems. We are switching to etcd primarily for the fact it's well tested and known. Not really because it's technically superior or even liked. 😀

We are going to go ahead with merging this PR but there still a lot of testing to do, handling upgrade, improving cluster bootstrap procedure. We are very concerned about the I/O demands of etcd and will continue to look at that. Right now dqlite is broken (due to our integration, not dqlite itself) and not really usable, so moving to etcd at least gets us to a functioning embedded option. sqlite or mysql is still a much better option for less resource usage.
This work is targeted to be included in k3s 1.19 (which should be released first half of August according to the k8s 1.19 release schedule).

Thank you for the timeline!
Quick question (don't know if this is an obvious one or even a rhetoric one, but):
For the time being, why can't we use an etcd docker/container - that forms a dedicated etcd cluster - on each of the k3s master nodes which than kind of mimic/resemble an "embedded" etcd support?
In my reasoning we don't have to buy/administer/etcetera dedicated separate additional hardware to run an etcd cluster.

@remkolems I think having a separate etcd cluster, even if running on the same nodes as the K8s master, would introduce considerable operation complexity which goes against the goals of k3s. I think embedding etcd in k3s is a great idea, as long as etcd can be tuned to work on lower powered devices that don't have the fastest storage.

@remkolems I think having a separate etcd cluster, even if running on the same nodes as the K8s master, would introduce considerable operation complexity which goes against the goals of k3s. I think embedding etcd in k3s is a great idea, as long as etcd can be tuned to work on lower powered devices that don't have the fastest storage.

Thanks for your reply. Appreciated. I'm going to run high availability k3s on my development cluster:

Master nodes: 5x UP Squared: Intel Atom x5-E3940 w/ 4GB RAM, bonded 1GbE LAN and enterprise SATA SSD Samsung SM863a (960GB)
Worker nodes:
-- 5x Nvidia Jetson Nano w/ Crucial MX500 500GB (USB 3)
-- 1x Nvidia Jetson AGX Xavier w/ 1TB SSD + 10GbE SFP+ (extended in future to a triple setup)

So probably not really the average setup. The SSD's were bought relatively cheap.
As of this moment in time, I can't afford to wait and to spend more money. However etcd is notorious, therefore the anticipation of UP Squared w/ SATA, or mPCIE and/or mSATA possibilities.
In due time I would get on par with the embedded etcd, but for now I presumed that a derivative like docker/container on the master nodes w/ etcd cluster would more or less mimic the expected load and stress of k3s on the nodes overall.

This is going to be a kubeadm killer...yet you will also have to pay the price of getting a bigger binary...

We'll have to wait and see what the binary impact is, but I imagine it won't be a deal breaker in reality. Many container images are fairly sizeable in their own right.
At a pinch, I imagine there might be a way to tweak the builds scripts to exclude it. (Go build tags maybe?)

Why was dqlite dropped in k3s? microk8s is still "happily" using it and claiming HA.

dqlite and microk8s are both made by Canonical, it makes sense they want to dog food it. Besides that when k3s was using dqlite it was very unstable for me, what's wrong with using plain ol' reliable etcd?

@cawoodm dqlite support, or actually a simple wrapper of dqlite for the Kine sqlite backend, is pretty shitty to say the least. It does not handle most of the etcd operations, no user support, no proper mvvc support and only supports essential sync based CRUD operations. The database support is real bad for a real cluster. No wonder it was switched away from dqlite and use embedded etcd instead. Considering this would you still use microk8s as your main cluster?
Spoiler alert: I worked on a PR for switching Kine to use a GORM backend. And I found out the egregious details. By the way, one can actually easily implement etcd because it is gRPC-based. I have a simple Rust implementation of Kine that I'm hoping to replace the current shit we have today.

Adrian Goins mentioned in his HA video that dqlite was not reliable but no details. Then he proceeds to create a HA K3S cluster but it's a very complex process. We're trying to decide whether K3S is the way to go for HA on-prem Kubernetes. Seemingly better support by Canonical had us leaning towards microk8s until we heard vague doubts about dqlite.

The process is really not hard to use k3s and etcd, in fact etcd is the default now in k3s so there's no special configuration needed unless you need to tweak etcd settings.

I too found dqlite incredibly unstable. Botched syncing took down 4 different clusters during node reboots. It wasn't stable for production.

Start one node with --cluster-init. Start more nodes (either server or agent) with --server pointed at the first node. Not sure how that's complex?

The process is really not hard to use k3s and etcd, in fact etcd is the default now in k3s so there's no special configuration needed unless you need to tweak etcd settings.

I'm trying to setup 2-node HA with external postgres. Several days of trying have not been successful.
https://github.com/k3s-io/k3s/issues/5406

That doesn't have anything to do with etcd or dqlite nor you are giving enough information to help debug the issue. I suggest you open an issue with more information.

Yeah I'm not sure what your problem has to do with etcd since you're not using etcd. I'm going to lock this conversation; anyone who is having problems (with etcd or otherwise) should open an issue instead of commenting on this PR.

authors: aarononeal brandond cawoodm ibuildthecloud jamesorlakin leolb-aphp nustiueudinastea onedr0p remkolems srdjan stevefan1999-personal wilmardo


text:
operators external-secrets-operator (0.4.4)

bump external-secrets-operator 0.4.4
fixes: https://github.com/external-secrets/external-secrets/issues/746

/merge possible

/merge possible

authors: framework-automation moolen


text:
Cannot import grafana dashboard for TLS connections chart

I am not using grafana stack, creating config maps for this doesn't work for me.
I tried to just use the json for import TLS connections graph.
Seems like I am unable to import it, no matter I try it manually or via API or just copy paste the json.
Any suggestions? By default Data source goes to Prometheus but after changing it o json all queries are lost.

When I use explore option and pass all the values manully it works

Hi @akramwaseem
Your issue is similar to #18
Fixed in #21
Try to pull the new master version and install dashboards one more time:
kubectl -n $GRAFANA_NS apply --recursive -f ./dashboards

@akramwaseem
This thread is inactive for 10 days.
I'm going to close this issue.


text:
K8SSAND-1468 ⁃ num_tokens cannot be set

Hi all!
I'm trying to deploy cassandra 3.11.7 cluster using the latest k8ssandra-operator.
Setting the num_tokens value in the cassandra config won't do anything, but if I don't set that property the default (256) is set correctly and the cluster is deployed succesfully.
They way I'm setting the value:

I'm actually using k8ssandra-operator 1.0.2 and kubernetes v1.20.11.
I'm doing something wrong? or is it a bug?
Thanks in advance!
┆Issue is synchronized with this Jira Task by Unito
┆friendlyId: K8SSAND-1468
┆priority: Medium

There is test coverage of the webhook around num_tokens (see here). It should be updated as part of the fix since it didn't catch this bug as it should have.

@sinohC The fix for this will be available in the upcoming 1.1 release.

authors: jsanda sinohC


text:
Should skip kube-system namespace early in MutatingWebhookConfiguration

We came across an error case that when kube-proxy and k8tz pod are scheduled to the same K8s node, creating kube-proxy pod fails as the k8s apiserver is not able to connect to k8tz webhook server. It's because the k8tz webhook Service depends on kube-proxy to write the routing rule via iptables.
This error might happen since the lastest k8tz code skips injecting kube-system namespace in the webhook handleFunc(), but not in MutatingWebhookConfiguration via namespaceSelector.
cc @klzsysy

Hi @jessehu,
you can make the webhook ignore the namespace with a simple annotation, i.e:
kubectl annotate namespace kube-system k8tz.io/controller-namespace=true

but, k8tz is designed to inject timezones to all pods on cluster, including kube-system. when used in production, it is recommended to spin up at least 3 replicas of k8tz to make sure the admission controller is highly available and prevent such chicken-and-egg cases.
i do thinking about adding another annotation that will allow users to make their namespaces ignored on the webhook level. k8tz.io/controller-namespace is not intuitive and made for internal usage. i'm thinking something like k8tz.io/webhook-ignore=true. i'm in a bit of a busy time, if you'd like to jump in and add the annotation in the helm chart and update the README accordingly - feel free and invited!

Hi @yonatankahana , a bit confused on "k8tz is designed to inject timezones to all pods on cluster, including kube-system. when used in production", as this code explicitly ignores kube-system: https://github.com/k8tz/k8tz/blob/master/pkg/admission/admission.go#L147-L148

We just faced the same issue. Basically we deleted all node groups in an EKS cluster and after creating a new one nothing was able to start up (the nodes were stuck in a NotReady state because pods required to initialize the nodes were not able to start up because of the failed webhook) because of the missing admission controller service.
So I really think you should consider adding the option to the helm chart @jessehu is proposing, and since you actually do ignore and pods starting up in the kube-system namespace it makes sense to ignore that namespace by default. In the meantime we will do the same workaround as proposed in the previous comment.

If you are interested I have created a PR based on the suggested solution.

@jessehu

this code explicitly ignores kube-system

yes, you are right. i missed it.
@tothdavid
thanks, ill take a look!

authors: jessehu tothdavid yonatankahana


text:
STMP free service, to use with k9

Hi, i need an smtp to use with k9, but all that i used gmail, yahoo, outlook ecc. seem
does not work with k9, can you suggest one?
bye

Please use the mailing list for support requests.


text:
allow installation to external media (micro SD) #3539

This change will enable installation of the app to external as well as internal flash memory which is important for devices where internal memory is limited but external memory is cheap and abundant in form of micro SD cards (Closes: #3539). Thank you for your consideration.

Thanks!

Thanks, much appreciated.

authors: cketti leggewie


text:
Merge changes from PGP/MIME repository

I feel this is a reasonably stable state of the PGP/MIME repository that should be merged into master.
This also adds Espresso tests that are unrelated to PGP/MIME.

This pull request touches a lot of code that is likely to be touched again in the near future. So I'm merging it now to avoid merge conflicts later.
The branch should be stable enough to not cause problems. The (in my opinion) minor issues raised here can be fixed later.


text:
Got Antlr4.Runtime.InputMismatchException while adapting template example

Hi,
I was able to generate a template using dotnet new csharp-combine. I was able to build and run that example, and got the expected results from parsing the simple calculator language.
Now I have modified my own project using the template code to walk through the same sequence: read file, lex, parse, check errors.
I am getting an exception during the first call to the parser now:
Exception thrown: 'Antlr4.Runtime.InputMismatchException' in Antlr4.Runtime.Standard.dll
Looking at the documentation for this exception doesn't clarify much, it just says that the current input doesn't match the expected token.
If this was just my grammar resulting in a parse-error, I would think this would present as the flag had_error being true. Therefore, I assume this is a case of me misusing ANTLR, rather than anything being wrong in my grammar or my program source text being parsed.
Here is the function doing the work:
public Program Compile(string path)
        {
            var prog = new Program();

            String input = File.ReadAllText(path);
            var str = new AntlrInputStream(input);
            var lexer = new ML2Lexer(str);
            var tokens = new CommonTokenStream(lexer);
            var parser = new ML2Parser(tokens);
            var listener_lexer = new ML2ErrorListener<int>();
            var listener_parser = new ML2ErrorListener<IToken>();
            lexer.RemoveErrorListeners();
            parser.RemoveErrorListeners();
            lexer.AddErrorListener(listener_lexer);
            parser.AddErrorListener(listener_parser);

            parser.BuildParseTree = true;
            var tree = parser.program();

            if (listener_lexer.had_error || listener_parser.had_error)
            {
                Trace.WriteLine("Error in parse.");
            }
            else
            {
                Trace.WriteLine("Parse completed.");
            }

            Trace.WriteLine(tree.ToStringTree(parser));

            return prog;
        }

You can ignore the object Program since it's unused for now. The rest of the code, as far as I can see, follows the template example exactly, except that I am parsing a different grammar.
The exception happens at the line:
 var tree = parser.program();
Do you have any suggestions for debugging this exception?

My mistake, it appears that this exception does result from my text input not being parsed correctly by my grammar. I am now debugging my grammar to understand where it is incorrect.


text:
SPV Endorsements

See #443

[x] yield/endorsement code implemented
[x] yield native updated to reflect endorsements and new Yield object
[ ] typechecker breakages

@emilypi Looked at the TC stuff in hopes of giving you a breadcrumb to follow ... since you wanted to pair up on it ...
... but TC output is almost entirely illegible thanks to the excessively verbose Show instances introduced in the prettify stuff. I'll look at fixing that in a separate PR.
Anyway, it's pretty hard to find a smoking gun and so I had to go off intuition of "well, what changed?", since you didn't change tc.repl, and the answer is: "added an overload to yield". If you run void $ _inferTestFun "tc-yield-resume-1", the real indication of something being wrong is the following:
--------------------------------
Assoc Yield/Resume:

assocYRSchemas: (yield8::TyVar {_tyVar = TypeVar {_tvName = TypeVarName {_typeVarName = "yield8"}, _tvConstraint = []}},TyVar {_tyVar = TypeVar {_tvName = TypeVarName {_typeVarName = "if4_a"}, _tvConstraint = []}},BindSchema {_bType = TyAny}16schema25::TyAny,TySchema {_tySchema = TyBinding, _tySchemaType = TyVar {_tyVar = SchemaVar {_tvName = TypeVarName {_typeVarName = "resume15_r"}}}, _tySchemaPartial = FullSchema})
assocYRSchemas: (yield24::TyVar {_tyVar = TypeVar {_tvName = TypeVarName {_typeVarName = "yield24"}, _tvConstraint = []}},TyVar {_tyVar = TypeVar {_tvName = TypeVarName {_typeVarName = "resume26_a"}, _tvConstraint = []}},BindSchema {_bType = TyAny}35schema38::TyAny,TySchema {_tySchema = TyBinding, _tySchemaType = TyVar {_tyVar = SchemaVar {_tvName = TypeVarName {_typeVarName = "resume34_r"}}}, _tySchemaPartial = FullSchema})

What's wrong is what's missing. The assocYRSchemas debug is right before a call to assocParams which is a noop if it doesn't find schemas in both arguments; the expected outcome is to see some assocTy debugs following, and instead we're hitting the return () cases in assocParams, which inspecting those debugs confirms.
Flailing, I decided to try wholesale reorganization, and moved the overload solving phase before the assocYR and applySchemas phases. Aaaand .... it worked!!
... but then it broke cp.repl and accounts.repl (nothing else, worryingly), which failed to resolve + and other overloads.
So going forward:

It might be that assocParams should try harder, or better that the assocYRSchema phase should just do straight assocAST calls which can handle the Var <-> Schema resolution. I can't remember if there's a reason I went that low-level there for YR.
Failing that, it might be possible to do two overload phases, but that would require some changes and seems kind of gross -- select is the other special form that has overloads, although I think that was a nightmare to get working.
Failing everything, we might have to not overload yield and go with two functions. I hope not as the special-form would now have to track the two types, and yuck.

authors: emilypi slpopejoy

repo: kadena-io/pact


text:
FlowRouter.subscriptions not working if there are 7 subscriptions inside

FlowRouter.subscriptions = ->
  @register 'myUserData', allSubs.subscribe('userData')
  @register 'fActiveGroup', allSubs.subscribe('activeGroup')
  @register 'myuserPhotos', allSubs.subscribe('userPhotos')
  @register 'fUserManagerList', allSubs.subscribe('userManagerList')
  @register 'fuserPhotoManager', allSubs.subscribe('userPhotoManager')
  @register 'fGroupNameList', allSubs.subscribe('groupNameList')
  @register 'fGroupManager', allSubs.subscribe('groupManager')
  return

Don't know why but It will remove the first subscription (myUserData)

I tried to remove any one subscription, then it works fine with 6 remaining subscriptions

@arunoda

May be one of your subscription is getting failed. Could you work on a sample repo for this.

This may be since one of your subscription is not getting completed. So, I'm closing this issue since I don't have any way to check this.

repo: kadirahq/flow-router


text:
Mounting Folder with Limited Permissions

Is it possible to mount a folder using an IAM role that only allows access that specific folder, and not the entire bucket?

Yes this is what I mean, I had tried this but was getting permission denied errors but I believe I had my IAM Role policy defined incorrectly

repo: kahing/goofys


text:
restoring default credentials object

Fix for #84
Restoring default credentials object to "a chain of credential providers to search for credentials in environment variables, shared credential file, and EC2 Instance Roles"
http://docs.aws.amazon.com/sdk-for-go/api/aws/Config.html#Credentials-field
Previously, the "Credentials" field was left nil if there was no "--profile" argument. Now the Credentials field will be left at the default.

I was always under the assumption that the default value for a struct pointer is nil, is that not the case?

I am a Go novice, so I don't quite understand everything that is going on yet. But this documentation leads me to believe otherwise:
http://docs.aws.amazon.com/sdk-for-go/api/aws/Config.html#Credentials-field
I also tested this change, and it behaves exactly the way the above documentation describes.

Perhaps it is the case that a nil value induces the desired behavior in the SDK, as in:
if( field is nil) then { use default chain };
In either case, it appears to work.

I found this difficult to believe because if --profile is not used, awsConfig.Credentials is nil before and after the patch.
I will accept this anyway because it makes the config handling more consistent with other overrides.

authors: jfwarner kahing


text:
Dicionário de dados

Atividades a serem feitas:

[x] Coletar inicialmente os dados, seja por meio de download manual ou criando um script para download automático. Após a coleta, salve os dados em um arquivo na pasta data/raw.

[x] Criar um dicionário de dados, uma estrutura que explicará os dados que serão trabalhados. Para cada variável do conjunto de dados, crie um dicionário Python contendo as seguintes informações:

Variável: Nome da coluna no pandas

Descrição: Descrição da coluna

Tipo: Quantitativo ou qualitativo

Subtipo: Nominal, ordinal, discreto, contínuo

Ótimo trabalho!

repo: kailanyas/avanti-bootcamp-cdd


text:
/etc/systemd/system/kubelet.service.d does not exist

riday 26 April 2019  10:43:12 +0300 (0:00:01.133)       0:00:41.830 **********
fatal: [192.168.0.14]: FAILED! => {"changed": false, "checksum": "eecc1bfa10de9cbc7a8bc88d9bc9911558e4a949", "msg": "Destination directory /etc/systemd/system/kubelet.service.d does not exist"}
to retry, use: --limit @/root/workspace/github/kubeadm-ansible/site.retry
[root@k8s-redhat-master1 kubeadm-ansible]#  rpm -qa | grep kube
kubeadm-1.14.1-0.x86_64
kubelet-1.14.1-0.x86_64
kubernetes-cni-0.7.5-0.x86_64
kubectl-1.14.1-0.x86_64
I thanks it's version wrong. then set special version, always still failed
Thanks!
Br, Cody

you need change this file ./roles/commons/pre-install/tasks/main.yml
template: src=20-extra-args.conf.j2 dest=/etc/systemd/system/kubelet.service.d/20-extra-args.conf
-->
template: src=20-extra-args.conf.j2 dest=/usr/lib/systemd/system/kubelet.service.d/20-extra-args.conf

https://github.com/kairen/kubeadm-ansible/pull/64

authors: codyzhang kilerkarol

repo: kairen/kubeadm-ansible