[URGENT] api_z1/uaa_z1 not running when deploy cloudfoundry

I am trying to deploy Cloud Foundry to vShpere.
Below is my env:

cf release: 220
stemcell: 3098
bosh: 1.3087.0

The steps I follow is: http://docs.cloudfoundry.org/deploying/vsphere/deploy_cf_vsphere.html (I have deleted all z2 related fields both in the example stub file and the template yml files)
In the creating stub file step
- I left all the secret, user, password as it is. That is to say, for all the secret, user, password field, I kept the value of the example file given by the sample (I am suspecting this most likely has something to do with my failure)
- The step i flow is in this page: http://docs.cloudfoundry.org/deploying/cf-stub-vsphere.html
I met some errors about the cf-development.yml when i strictly follow the steps given by below page:
http://docs.cloudfoundry.org/deploying/cf-stub-vsphere.html
And I add some modification to fix those errors  After that, the deploy can go on until below error which I am now stuck at:
`api_z1/0' is not running after update
I logged into the api_z1 vm and run "monit summary" which gave below resp:
Process 'cloud_controller_ng'                            running
Process 'cloud_controller_worker_local_1'        running
Process 'cloud_controller_worker_local_2'        running
Process 'nginx_cc' running Process 'cloud_controller_migration'              running
Process 'routing-api' not monitored Process 'metron_agent'                     running
Process 'statsd-injector'                   running
Process 'consul_agent'                    running
File 'nfs_mounter'                            accessible
Process 'route_registrar'                  running
System 'system_1c92abca-f53d-4895-ba78-c01f000f2fd9'                       running
I will attach the logs in the job vm and my manifest file    I have been working on this failure for many days. I will appreciate it very much if you can reply to me

routing-api template is optional afaik at the moment; perhaps remove it from the job
On Fri, Oct 9, 2015 at 7:43 AM, yyl8815<EMAIL_ADDRESS>wrote:

I am trying to deploy Cloud Foundry to vShpere.
Below is my env:

cf release: 220
stemcell: 3098
bosh: 1.3087.0
The steps I follow is: http://docs.cloudfoundry.org/deploying/vsphere/deploy_cf_vsphere.html (I have deleted all z2 related fields both in the example stub file and the template yml files)
In the creating stub file step
- I left all the secret, user, password as it is. That is to say, for all the secret, user, password field, I kept the value of the example file given by the sample (I am suspecting this most likely has something to do with my failure)
- The step i flow is in this page: http://docs.cloudfoundry.org/deploying/cf-stub-vsphere.html
I met some errors about the cf-development.yml when i strictly follow the steps given by below page:
http://docs.cloudfoundry.org/deploying/cf-stub-vsphere.html
And I add some modification to fix those errors  After that, the deploy can go on until below error which I am now stuck at:
`api_z1/0' is not running after update
I logged into the api_z1 vm and run "monit summary" which gave below resp:
Process 'cloud_controller_ng'                            running
Process 'cloud_controller_worker_local_1'        running
Process 'cloud_controller_worker_local_2'        running
Process 'nginx_cc' running Process 'cloud_controller_migration'              running
Process 'routing-api' not monitored Process 'metron_agent'                     running
Process 'statsd-injector'                   running
Process 'consul_agent'                    running
File 'nfs_mounter'                            accessible
Process 'route_registrar'                  running
System 'system_1c92abca-f53d-4895-ba78-c01f000f2fd9'                       running
I will attach the logs in the job vm and my manifest file    I have been working on this failure for many days. I will appreciate it very much if you can reply to me

Reply to this email directly or view it on GitHub:
https://github.com/cloudfoundry/cf-release/issues/806

Hi drnic,
Thanks for replying.
By remove routing-api template, do you mean removing the api_z1 job?

No, removing the routing-api section from the templates: section of the api_z1/api_z2 job in your final manifest.
Or, look at its logs on the failing VM and try to figure out what properties you're missing to make it work.
On Fri, Oct 9, 2015 at 8:08 AM, yyl8815<EMAIL_ADDRESS>wrote:

Hi drnic,
Thanks for replying.
By remove routing-api template, do you mean removing the api_z1 job?
Reply to this email directly or view it on GitHub:
https://github.com/cloudfoundry/cf-release/issues/806#issuecomment-146898263

Hi @drnic
Thanks for you response.
I managed to got all the vms running by removing the routing-api section.
Now I am facing below new problem:
When I try to push an app to my cloud foundry, it never succeeds.
I am using you repo of : https://github.com/cloudfoundry-community/cf-env.
Errors are:
- Though I can create new users, I cannot set the org/space role of any user.
- There will be error if I try to list all the users of an org or space
- cf logs never works. It complains about authority
- The push never succeeds and it complains about buildpack compile. I have listed all the buildpacks i have in my cf.
Below are some logs.

c:\workspace\develop\cf-env>cf space-users qaiaas staging
Getting users in org qaiaas / space staging as admin
SPACE MANAGER
FAILED
Failed fetching space-users for role SPACE MANAGER.
Server error, status code: 500, error code: 10001, message: An unknown error occ
urred.
c:\workspace\develop\cf-env>cf apps
Getting apps in org qaiaas / space staging as admin...
OK
No apps found
c:\workspace\develop\cf-env>cf push
Using manifest file c:\workspace\develop\cf-env\manifest.yml
Creating app cf-env in org qaiaas / space staging as admin...
OK
Creating route cf-env.<IP_ADDRESS>.xip.io...
OK
Binding cf-env.<IP_ADDRESS>.xip.io to cf-env...
OK
Uploading cf-env...
Uploading app files from: c:\workspace\develop\cf-env
Uploading 121.6K, 13 files
Done uploading
OK
Warning: error tailing logs
Unauthorized error: You are not authorized. Error: Invalid authorization
Starting app cf-env in org qaiaas / space staging as admin...
FAILED
BuildpackCompileFailed
TIP: use 'cf logs cf-env --recent' for more information

@yyl8815 Can you please post your Manifest with any secrets redacted?
Thanks,
@zaksoup
CF Release Integration

Hi @zaksoup ,
Sorry for late response.  I planned to attach the manifest file when I found I don't know how to do that. below is my stub file. I generate my manifest file with below command.
./scripts/generate_deployment_manifest vsphere my-stub.yml > my-deployment.yml

The following line helps maintain current documentation at http://docs.cloudfoundry.org.
code_snippet cf-stub-vsphere start

director_uuid: 7e2b1e01-5d9a-4d80-8673-24dab43a01a2
name: privateCF
meta:
environment: privateCF
releases:

name: cf
version: latest

networks:

name: cf1
subnets:

cloud_properties:
name: CF Network
static:

<IP_ADDRESS> - <IP_ADDRESS>
range: <IP_ADDRESS>/24
gateway: <IP_ADDRESS>
reserved:
<IP_ADDRESS> - <IP_ADDRESS>
<IP_ADDRESS> - <IP_ADDRESS>

name: cf2
subnets:

cloud_properties:
name: VM Network
static:

<IP_ADDRESS> - <IP_ADDRESS>
gateway: <IP_ADDRESS>
range: <IP_ADDRESS>/24
dns: [<IP_ADDRESS>, <IP_ADDRESS>]
reserved:
<IP_ADDRESS> - <IP_ADDRESS>
<IP_ADDRESS> - <IP_ADDRESS>
<IP_ADDRESS> - <IP_ADDRESS>

jobs:
ha_proxy_z1:
properties:
ha_proxy:
disable_http: false
properties:
consul:
encrypt_keys:
-  usViJoq03lNlnTzQ27QQww==
ca_cert: |
-----BEGIN CERTIFICATE-----
MIIFBzCCAu+gAwIBAgIBATANBgkqhkiG9w0BAQsFADATMREwDwYDVQQDEwhjb25z
dWxDQTAeFw0xNTEwMTgwNjE0NTJaFw0yNTEwMTgwNjE1MDFaMBMxETAPBgNVBAMT
CGNvbnN1bENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxiCpLh8O
NveeLcrb9sfe9lUxh4kZkgPd8eYIpII59MFMf3/wbTO9iPkM3MCop2G7/gtSayhH
GvzPJt5Rm3HarMLrINhfIgho7bkyFIpGZV5QxukLYlLIjxQsPBK4vuUxWbppFrlU
PHi5bcU4CH1I2++sSRLvl1CSRW6eOseNgqAFfo9xH4dJOUyh3uOto60Mu64pf07Z
jXOmxhlvifPBzrp5Wfsmlnl8IJDM8zeU1lbVD4oyZJbk/QL2Baliu1PNKDX2E49m
DCx42h6WJZzDk0m5optGIAOe2QGTtBNgL0Y7TC375WCQexpTwgvc0Pn0oBFl17ss
rENNTjuor3bMyhPqE7zQTp+aTqj935FFTuoeLNqG0VaNJvyHEidm8wkKccOxxGGD
e1X/4IRUhJjI8/s+ds23hIGw0mLbW2tsxjeDeQuvT6PG0K/iFWrin4xfBfWx1YnE
l6Q0uAL4m/hjEAjiboDJXVjYbH9d3S7Qai2GFeBrdaJCU9VKlYOdugQnCMu+bCdc
Bd27VF9Wbgkai3/H/df9MYIct0RmtcYrkx7fMAO1zw4PPMKgIDsfZLVxE0ZVKJik
yj7piJrBtxHX/32P5BVqRMG4a68NZWUeYEk+m14VkljZjSxrNcTsEdDPYwnBg5Up
xxJpBKdQ/ZI3bQObyKZH3Z19Q9Zd/JUTyucCAwEAAaNmMGQwDgYDVR0PAQH/BAQD
AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFE98B1U0Pgj5MWp3hJbv
SI7S2CzhMB8GA1UdIwQYMBaAFE98B1U0Pgj5MWp3hJbvSI7S2CzhMA0GCSqGSIb3
DQEBCwUAA4ICAQC7FnYEfd6oUiU0xfB1dN/sZlIStpm4JhZO3cjt2BHpskploZst
Otid/5eEJeslxkYH6YOmDBQlyqxNVKYIMuGcMkVuGgS2wUKpcR+JNAXjsXkuiiAD
Av6YXaWC7cbb6OaQru69VAHqRnXXpAQ3ShczvCfvlRjTII/UdmRPoRW+vdVU92T6
GAKtTzjJ+3MNDewBQGMhP6RpMv0DeYa9MyZNkPUWOf7gG9Xhc+TsYMxi8WANeVhr
/LK8NLL1ZuCwxIG03ZfkGBtV38olcbp/qmN9+DAKD1WqIdk5zigoNN85B3YSQZzc
G44NExdsE2ydxicImqB1eCE4p4xT/GbEPIBHuh7us/pIChWpb6wz5ACSTfnu4UR3
TkdZdx+vmO+P7PU3MXGC8dBDb+Kf7h+xkj0OqtFaqZ/u/Uv1DZq/Cw5ithR7KB30
yyQuI4h4XW9eRha10L8aMAeaIG4qEer13TQfKHqzG2Va1MojzVB/cCl+wnEPOiyl
FgWrwj96Bt9kSUAiKefQkZq01gZZa2QNtZ+PxIRThGL0X3kmnpSeZTl6pxrGYaMs
uNAAbaYnazkGKMY525noD2BBuFTkObU33+FpsZ+ZsTaDh2J9+uYGIEuIq4s37ZsE
DtOb3Zul4vf+c14Z4hsthyDSD+puTQ5HZqfpHBRfYoHln5lVrkmNWPYy0w==
-----END CERTIFICATE-----
agent_cert: |
-----BEGIN CERTIFICATE-----
MIIEJjCCAg6gAwIBAgIRAK7qA+czwRDFSwDwSlC7FCwwDQYJKoZIhvcNAQELBQAw
EzERMA8GA1UEAxMIY29uc3VsQ0EwHhcNMTUxMDE4MDYxNTAyWhcNMTcxMDE4MDYx
NTAyWjAXMRUwEwYDVQQDEwxjb25zdWwgYWdlbnQwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQC+wt0xBR4RPJuPTfpg6r+LkSBMr+FgLTMpUd7VaXPcbc92
Qx45+d471TqIahYbhWL/Opgs1xV08GDiCjk3idbuGEaaWViugq02KBL56UZfidUk
1SPicg47ha/+UVPooDvuSHXEzgp1KRk3pnkXZo7FBBOcfIP+o/NzyiW8ZFxUP+hG
6iPq6SdVl5T4hOUPypt37Cuz1OCvNlFtSKdeivVSK0UwVx+u7OuTfrYCrZKjCfgv
8acCsmBUnu37awHFwNYJyKT+wiEAFRHdLy7vUS7MfSrtpyzE5Pr+m+d6ADI7ot0/
OrDYzqgbgsX8ErEsLyaCrnszajtyh0C9CaNbmZ8xAgMBAAGjcTBvMA4GA1UdDwEB
/wQEAwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYE
FCZesB2DUyEY+szy/MjnwJ7g2NpqMB8GA1UdIwQYMBaAFE98B1U0Pgj5MWp3hJbv
SI7S2CzhMA0GCSqGSIb3DQEBCwUAA4ICAQBuCw1ebDcxnyYWGRTcbTixHlfKDy9T
IXboXxHQbMEI8T3Mqygb3JmkL6CV2xM4TM0eRL3VazyI0338HsoA85UsaakJPT2U
NxOmrqrW8QTye51t0wflq+qG2HGa2lg3hSBEl2viyc/gfleJ3Y562WZBTc4f+KX8
NzwNtaY2ATgq+G/kugvj4hpCAG/BfxrusVjgF5bqLJ2Q/ICUVmsMMeIKhZjcPUV4
QjothFaZBHWL+RrYucnYRlWzkrMIhM13BURBViFABKWwhItIVp4yPJOoDnwvMQjR
KWL5uHBiJfSr0RmtKtqXE9DKnbr0Gycm5m6LL5TG1EvnK6iuYV1G0/OMBleCxVx+
bcIEOzhxAz7aBW+LmGwl0o7Abo9Pm9ohH5iU9MsYZnMLM621+yQ1RykcMEn3kKKs
rmLzSzMw21Amfi1oa63ArltHZUJ67aMxNK0pZsjBeEskjlJX1xZigGRhpy/mg3hw
4uU2lDp5owLg8ABUw7TEz8CEfnmzxwlmshNH6C00dFhG1Aas3+zsuIesiRbc/iIz
mtSXhVuvZ9jIZM8F/49SS80KW3UOdcogz0SaaiH3p4Y/YONMhOlmHjRZtd+Qgprb
rr5vbDQ/2T3x0U0sbYgefUQSItUuExJ3zk+yDlkrrA2xItSlOUTacQmxplqejhbd
+8IJD0HzqE7Rpg==
-----END CERTIFICATE-----
agent_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAvsLdMQUeETybj036YOq/i5EgTK/hYC0zKVHe1Wlz3G3PdkMe
OfneO9U6iGoWG4Vi/zqYLNcVdPBg4go5N4nW7hhGmllYroKtNigS+elGX4nVJNUj
4nIOO4Wv/lFT6KA77kh1xM4KdSkZN6Z5F2aOxQQTnHyD/qPzc8olvGRcVD/oRuoj
6uknVZeU+ITlD8qbd+wrs9TgrzZRbUinXor1UitFMFcfruzrk362Aq2Sown4L/Gn
ArJgVJ7t+2sBxcDWCcik/sIhABUR3S8u71EuzH0q7acsxOT6/pvnegAyO6LdPzqw
2M6oG4LF/BKxLC8mgq57M2o7codAvQmjW5mfMQIDAQABAoIBAQC4XcVB11xT9Gu0
eP0AJmGyFjVNaL8+IPFNgh8Hy796z3avKfdQuTocQd0scrujJaukWZEx5T6LordA
P/lEwCfGPhgenTOklg+qQ9jzSI4HUEN8MbNY7DrtNCwAc8HRFuxVRBruduSMj4gb
zP1DrI9XwrThjUZVGUf2JO2LwsOpd97a2YR/geNK+WSifdAfE/Oz3ygzdvGiubHB
BTVIgQUSy41un3oT9VL4MFSg/+UY593JJgY9TIGbZSF8ZsVg7PRc63af7BKiKt0U
xdD6xQBV3gBJtQv8w4eQmhDhdU4QBwLqNqspaquq2PwiyJj+fcZzOhG3Aw6NIj5R
jheqgjsBAoGBANG1B3OUVz5Glw1kXD/Ip69cwiDrqkzSvCeK0Cxw/AZyveqa06FZ
Yvrp2YJ1T0SuEHAMYP6r7R2s1d0Ptdfkhzt07tp5fdp8ZxmAEVqRZL6YzNZ72ksu
ZAgut2B+ETNbYUhqq8q9GFPu7YowKQ5c538ISr8HsMn4suWDn+IYWLl5AoGBAOjf
KTHMD151NI5BjZihxEmIx3ksgBx6vGWPqzwACzNGX9JGDPCq3oM1Nya14UuDNKSB
5g17DcGhFNHdRQ5uD18EA4kQYvc5RjcXkl5MiU69yqgf6RXU2DLtwx7v4WrhZlEB
hxGQZW0Y215xV/2rmtxKa7vX1QiV4CTjhIWnUV15AoGBALY7wWDv/KySfTtXBk8r
WISsb8pZ4ODnlDgsieDEwk38MguIRfYFjl0LEEgtFxhQxtoH99X3o5NRGXwD5frZ
jabeY54ZS4Os7Y8cWnhAtrJmaELO2BDTHHx71EEW7G2bsDtU7zq7/kMZ8vROC69+
jnE2zHWbAkdRRmzqZ+r7S0bJAoGAGdi7D8XgZtGHdcqc1rYNvUOrMC3aQk71Hiim
DtDKbXSAKiyQPx4X+GQtrOQ/D0yOyTuJtzFTQ4yHbQusIH/iwN8HLW1eLqZyvqal
HkZMbyrtlV+FVWD8Zhqxr3tcf6po2tDalv5543QA1SirZYJoe87eykiYYo2QBUgj
a1o407ECgYATs8hr+ES9xqG2WsmPkRemVILcKYodD7luSmwSU81LgkNXgvOffaiH
bdgbzIHdyzliDFb47aA1oRpFwmx60WPkkBPfNPrHUTHAO0G2emVRyretFvuRQEKx
Z6KColfnOERoYZgCd//3RQSGwr5hOegJX4SOE2mqsb7cnCIZYyRVqg==
-----END RSA PRIVATE KEY-----
server_cert: |
-----BEGIN CERTIFICATE-----
MIIELzCCAhegAwIBAgIQA+c2Z8iYlD1T8wKqiFfecDANBgkqhkiG9w0BAQsFADAT
MREwDwYDVQQDEwhjb25zdWxDQTAeFw0xNTEwMTgwNjE1MDFaFw0xNzEwMTgwNjE1
MDFaMCExHzAdBgNVBAMTFnNlcnZlci5kYzEuY2YuaW50ZXJuYWwwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkbztxPtg+LkniDWsFdEziaae9yKrPtpta
aBRieTnhfwmrYRirMxd0yNLiWt36Fy2y2WGbqlSEzL5U24vBV05aMyoNPQpcUzc2
XcvsnlLRQC6yrvu5INdgXFOAPBuQdS4UmgC/Cs8Qb9bfbDdBpYmM8AhpqTzNavXJ
nU2gUgE0TJCjbmgxXnR+vR3tnnxRoqBh3w5NCam3oauH2iibN45Hhwv/DdI/FcSC
ocGEISCRA38MR8YzZKR1e/zwDLdMOptV/8Pu28t17YBuKmennmT4M7Yi6gNizz+M
7ckr1fk9MCKeb2XLKmbQ8wQP27Q2lb1DwH5F67W0qAqMf5FBrkd7AgMBAAGjcTBv
MA4GA1UdDwEB/wQEAwIDuDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
HQYDVR0OBBYEFHA4lEL/btey0xALExCJLarRfOSmMB8GA1UdIwQYMBaAFE98B1U0
Pgj5MWp3hJbvSI7S2CzhMA0GCSqGSIb3DQEBCwUAA4ICAQAW8hWifinV95ny2y6f
6ukeKXSLvggig4zl9CVyu+s91WCxq3K4Nyot4GFuPZm6xH8c/4i3loPWNuiA9buu
Ysn4i3KUlGWWtGHFErsDBh/nvy8agkNXXv3Hf16NjzUAYPL4KA+u1ErYvuTGzqiz
I7WeigyJZNw0PcnlbAzyibTSpYfXDaYrfd3W926kFmLaDACgfX+CxCXadLRCCYXA
x77c6vH3UdMxirOi1arFRs5vcYmCMny2ze4+Z6zTScQrZZ+Kzl6SuPR2zDxBzUwg
Xn3fkDJajEVO/T3bYAbiZXsTTxYM+/9nmEcpBxd1cEH2ve1GaoRAYnKc01t+psda
5UDxtdJbd1wL9KNnqMB58KTNvaP3qqGhfFk1YVduTSp2cHZ0edqpvNhcgRJwhpCX
P5FaqLCLAcqgCNnXKQIqS0Ax/perre8EHcIObgaNLuYFtonX9dTuawTsHshaDcjn
5xUPQO0M8Nnq4pP3INyWeSduH0MGfoHD8Z/cOc8ylDyx7K86TPhgfUfFiTBSZgbP
QttOTfQwb5T6WrOvYlTaxP2IUcVuJuAfDBuPPFIEiOCx/qAi1cKB8hihq1d51LQ5
fWSbNwGsUw7iWXka11F0UQ9swb6FEkehPXVGPb4YTa9Y/ItvxtkU0TQLBOCjjND1
/KMrqKVcCrhjGfgMhTET6QR/QA==
-----END CERTIFICATE-----
server_key: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA5G87cT7YPi5J4g1rBXRM4mmnvciqz7abWmgUYnk54X8Jq2EY
qzMXdMjS4lrd+hctstlhm6pUhMy+VNuLwVdOWjMqDT0KXFM3Nl3L7J5S0UAusq77
uSDXYFxTgDwbkHUuFJoAvwrPEG/W32w3QaWJjPAIaak8zWr1yZ1NoFIBNEyQo25o
MV50fr0d7Z58UaKgYd8OTQmpt6Grh9oomzeOR4cL/w3SPxXEgqHBhCEgkQN/DEfG
M2SkdXv88Ay3TDqbVf/D7tvLde2Abipnp55k+DO2IuoDYs8/jO3JK9X5PTAinm9l
yypm0PMED9u0NpW9Q8B+Reu1tKgKjH+RQa5HewIDAQABAoIBAAwIP91LLiC4V3Ps
uQJkidgzMH6ynyypta0hZlF5iS7zfhLk3mPGISopmdIKbz7JEcMl6BpG8oS8NBpM
JiRc8OeXYlOoL2+Fgpb+gctI25viAZOv29p4fF+6/Tr374vAYFj9c6SccSOwgGTs
UkzG52PhENBf9a/sPl4MRxZ2u1GBzW8S742XqEeqMZXykYpdkNfMCtU7j3RqU4Od
7q3ZzKXT8ENiij0JZuIy9zHCRAb7CLRgmx6xuwBaBQ/A1FuL+LyjMKUHBUe6LUL6
oN9FFYdU1bGO06PkYB9Ulbe9O3YGn44LVF69reyjNOPLYlJLj3sLGtOYkff1/sdM
gnqrneECgYEA6b3IqRzcgcJa6KPPCiWiTV8iOJiP8hj+PXum4DW4mrM+yk3pCbOX
VrPFigUl/mjowxBl+ABpyTD0R8hFkmkglmA4mjERwA5VfCLDlWSiFqhs6e+muIS4
5wJXssqrPyx1BKcdLKyP4bSQfRjauGizinmPqSSuhC7mb0gdxMdHMe0CgYEA+jAT
mtnU3lFo8CkrJUXgDJslDpCzgtHTMa+KnwgE2OjH9AXGVOMHe3up+zl1g1yt5BLs
OaJ0Dm6Tw9saycp0xSMrVQjdJ62kGwzRn2VALVqTsxrmWvsoJKa278rZNdGwUiAL
Ja82NNiqy0QcHhcDlkSC3PBWlqMgU/pGYEP2UgcCgYEAgqzOZPU0tfqRVmRWGGcn
0Lex6xAn0YJ1iKv7hHekKCCzpuhds0XLAvboJhxwvEWsc3lUeIzKl2cd+o+VjZ/m
TwumOVXbhZK96fOJgpjLIX2xvitz+s6AjO27V8KEcIILPbmrztD+c4G+EaH2jYhD
b9Q8I6TVSCLsQyR/OAbs35UCgYEAppKv2t/BfKuTRKMEWPKm832wNHxfKHBvPptz
neKG56xExNG7dPUbHDn/uIZPGUDxffKjWNQylRFGTJZqxYOIL2D1Ds6yACL6KhBk
2M1e51NxF0SHrneeCJj/H7Rc3hpYXLV89oArhQ/k1yTn25jTCI9g2Z0i6XR+p6rw
hFN7gq0CgYAxMLAUVYSBiiKcms9NYPuXUWyD+ECvNQ00VtNl/zmrhmJaxTudUXvg
z2vZ+xXz0F0lgY4YGZjXtxFmsi9Eq9FBrJPCfJl3CC2XYRFsPN5/bNmjlGU7IDJO
RPhG8v3TiX781gWsTI4OPCfEcxRRSNrQV9BJDaAqelyehp9pbYrUCQ==
-----END RSA PRIVATE KEY-----
ha_proxy:
ssl_pem: |
-----BEGIN CERTIFICATE-----
MIICVzCCAcACCQD4kYoBZOwBwjANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJD
TjERMA8GA1UECAwIU2hhbmdoYWkxETAPBgNVBAcMCFNoYW5naGFpMQwwCgYDVQQK
DANFTUMxDDAKBgNVBAsMA0VNQzEfMB0GA1UEAwwWKi4xOTIuMTY4LjEuMTA0Lnhp
cC5pbzAeFw0xNTEwMTgwNjI1MDFaFw0xNTExMTcwNjI1MDFaMHAxCzAJBgNVBAYT
AkNOMREwDwYDVQQIDAhTaGFuZ2hhaTERMA8GA1UEBwwIU2hhbmdoYWkxDDAKBgNV
BAoMA0VNQzEMMAoGA1UECwwDRU1DMR8wHQYDVQQDDBYqLjE5Mi4xNjguMS4xMDQu
eGlwLmlvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsvWZY5iTQqqA8m/I8
PMUnUss+6FU+lOijFIAOTku9kFda/Ea0kQCcjKeLHAM/PMokEsG9UNrsMxyOX+Sv
mlJOMzLJrp2Ek+cM9/JrMFaYJsLowPqSFFCzznhavKPBCQN6WKm32/wKl5z9oOGF
EN7+U/806tGhZncp21O+IqD2LQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBADpaZaxD
pSLwPewfPOnOXJi4xlMNiKAA1r3q10WfvpyijqZ8ixd9bNETxm4gkN/m+BLrlzly
wlKj+SV3uK+D1i/57L/W025VoUsgcNhzHakd3RWOo+mW82U2+hhfnDsCjRO6F6ip
xNnnKzstVNnGL/vC3crmXDfvJX0FK2No6VXW
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQCsvWZY5iTQqqA8m/I8PMUnUss+6FU+lOijFIAOTku9kFda/Ea0
kQCcjKeLHAM/PMokEsG9UNrsMxyOX+SvmlJOMzLJrp2Ek+cM9/JrMFaYJsLowPqS
FFCzznhavKPBCQN6WKm32/wKl5z9oOGFEN7+U/806tGhZncp21O+IqD2LQIDAQAB
AoGBAKh0P6X8MfTIIGFa1vzFaqJxjEE5wz+3abL3n/XThutDIt1Y3f7i1UzVoeH4
HHaD6sEJBaSAgC4NnhB+FX7mKNH9fXX/Le5Ev2lgaAO5g2yInZ80ZEmwWcQX+53w
M6i51pt8OaNKZeZGSue8etoXSxWHsPm3WwBr6HN95SVQVbMlAkEA2y9RY/VKUCfW
iHd7x4ht003hyoexx8rafpcuY2VaIh2UGtxuxOw5vb/8lmDXdcz8rLZpHDh1Nb7z
k7/d/vZy9wJBAMnBAOYnVqxl0eBY/Mo2Um37PRHjkIaCeXKd9s6PfbMc2bqK+ajT
5dbmASTE0ZEyJuDMXpTxevXQbZha/NNGMvsCQCrpnbbDTHRbCF6Zfgt3w4DOS7ma
TY0/Qv3r3XIqYrYxMlD7/Vfio/9peit69FQk+Qdbg0K6LwCBzTCNLQqA98sCQQCX
hCzqq+x5uFXwCKSAMF+jXSU2BBMMEXynyV4LLtQV6brST4DDe6+GvmFpfa5tPp7Y
AGOfs+LGLOvBmcN536R1AkEAkaK15ZoOh81sIefcdTQSz27qIghuicuXrnKc+QSN
KGi6R9ZNR3zRLuLoLsCUACkP3TXjCFwVlbQ0PWCg7fVWKw==
-----END RSA PRIVATE KEY-----
cc:
diego:
staging: disable
running: disable
droplets:
droplet_directory_key: the_key
buildpacks:
buildpack_directory_key: bd_key
staging_upload_user: admin
staging_upload_password: admin
bulk_api_password: admin
db_encryption_key: the_key
ssl:
skip_cert_verify: true
dea_next:
disk_mb: 20480
memory_mb: 10240
loggregator_endpoint:
shared_secret: loggregator_endpoint_secret
nats:
user: admin
password: admin
router:
logrotate:
freq_min: 20
rotate: 5
size: 3M
enable_ssl: true
ssl_cert: |
-----BEGIN CERTIFICATE-----
MIICVzCCAcACCQD4kYoBZOwBwjANBgkqhkiG9w0BAQsFADBwMQswCQYDVQQGEwJD
TjERMA8GA1UECAwIU2hhbmdoYWkxETAPBgNVBAcMCFNoYW5naGFpMQwwCgYDVQQK
DANFTUMxDDAKBgNVBAsMA0VNQzEfMB0GA1UEAwwWKi4xOTIuMTY4LjEuMTA0Lnhp
cC5pbzAeFw0xNTEwMTgwNjI1MDFaFw0xNTExMTcwNjI1MDFaMHAxCzAJBgNVBAYT
AkNOMREwDwYDVQQIDAhTaGFuZ2hhaTERMA8GA1UEBwwIU2hhbmdoYWkxDDAKBgNV
BAoMA0VNQzEMMAoGA1UECwwDRU1DMR8wHQYDVQQDDBYqLjE5Mi4xNjguMS4xMDQu
eGlwLmlvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsvWZY5iTQqqA8m/I8
PMUnUss+6FU+lOijFIAOTku9kFda/Ea0kQCcjKeLHAM/PMokEsG9UNrsMxyOX+Sv
mlJOMzLJrp2Ek+cM9/JrMFaYJsLowPqSFFCzznhavKPBCQN6WKm32/wKl5z9oOGF
EN7+U/806tGhZncp21O+IqD2LQIDAQABMA0GCSqGSIb3DQEBCwUAA4GBADpaZaxD
pSLwPewfPOnOXJi4xlMNiKAA1r3q10WfvpyijqZ8ixd9bNETxm4gkN/m+BLrlzly
wlKj+SV3uK+D1i/57L/W025VoUsgcNhzHakd3RWOo+mW82U2+hhfnDsCjRO6F6ip
xNnnKzstVNnGL/vC3crmXDfvJX0FK2No6VXW
-----END CERTIFICATE-----
ssl_key: |
  -----BEGIN RSA PRIVATE KEY-----
  MIICXgIBAAKBgQCsvWZY5iTQqqA8m/I8PMUnUss+6FU+lOijFIAOTku9kFda/Ea0
  kQCcjKeLHAM/PMokEsG9UNrsMxyOX+SvmlJOMzLJrp2Ek+cM9/JrMFaYJsLowPqS
  FFCzznhavKPBCQN6WKm32/wKl5z9oOGFEN7+U/806tGhZncp21O+IqD2LQIDAQAB
  AoGBAKh0P6X8MfTIIGFa1vzFaqJxjEE5wz+3abL3n/XThutDIt1Y3f7i1UzVoeH4
  HHaD6sEJBaSAgC4NnhB+FX7mKNH9fXX/Le5Ev2lgaAO5g2yInZ80ZEmwWcQX+53w
  M6i51pt8OaNKZeZGSue8etoXSxWHsPm3WwBr6HN95SVQVbMlAkEA2y9RY/VKUCfW
  iHd7x4ht003hyoexx8rafpcuY2VaIh2UGtxuxOw5vb/8lmDXdcz8rLZpHDh1Nb7z
  k7/d/vZy9wJBAMnBAOYnVqxl0eBY/Mo2Um37PRHjkIaCeXKd9s6PfbMc2bqK+ajT
  5dbmASTE0ZEyJuDMXpTxevXQbZha/NNGMvsCQCrpnbbDTHRbCF6Zfgt3w4DOS7ma
  TY0/Qv3r3XIqYrYxMlD7/Vfio/9peit69FQk+Qdbg0K6LwCBzTCNLQqA98sCQQCX
  hCzqq+x5uFXwCKSAMF+jXSU2BBMMEXynyV4LLtQV6brST4DDe6+GvmFpfa5tPp7Y
  AGOfs+LGLOvBmcN536R1AkEAkaK15ZoOh81sIefcdTQSz27qIghuicuXrnKc+QSN
  KGi6R9ZNR3zRLuLoLsCUACkP3TXjCFwVlbQ0PWCg7fVWKw==
  -----END RSA PRIVATE KEY-----

cipher_suites: TLS_RSA_WITH_RC4_128_SHA:TLS_RSA_WITH_AES_128_CBC_SHA
status:
  user: admin
  password: admin

login:
logout:
redirect:
parameter:
disable: false
uaa:
no_ssl: true
admin:
client_secret: admin_secret
batch:
username: admin
password: admin
cc:
client_secret: cc_client_secret
clients:
app-direct:
secret: app-direct_secret
developer_console:
secret: developer_console_secret
login:
secret: login_client_secret
notifications:
secret: notification_secret
doppler:
secret: doppler_secret
cloud_controller_username_lookup:
secret: cloud_controller_username_lookup_secret
cc_routing:
secret: cc_routing_secret
gorouter:
secret: gorouter_secret
jwt:
  verification_key: |
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFPs8SlmvDDToZTJ64N3
    +WUVMlj+AW+gj8jsM99OXLC/KRSgWZs0TAQ7BCu2xx+PLhkt/tRYk1Wit0xi9dUD
    giroxUQiQM16/k4qxNzvcZdg/kNZS9bpDs3bNzWK6ADahFizj++TWFj7xtaGtbFV
    TbargnyacR85lH2RtC6QnS6qSaIAXGtM6MwbXow7Br/IUGtYL3ZDBztIXWNImApb
    enGpucY6j8WZx0CI6SJ3S4cun5t6LjvIaNhmV2j3DIJOu18apbeL0HlSQq+VwPbG
    iaSA0y+0/XwbWulURIpwHezGre9MzAgLw5eA6wlhPI48M3rxm7IMa7h9YIJeemCf
    xwIDAQAB
    -----END PUBLIC KEY-----

  signing_key: |
    -----BEGIN RSA PRIVATE KEY-----
    MIIEogIBAAKCAQEAvFPs8SlmvDDToZTJ64N3+WUVMlj+AW+gj8jsM99OXLC/KRSg
    WZs0TAQ7BCu2xx+PLhkt/tRYk1Wit0xi9dUDgiroxUQiQM16/k4qxNzvcZdg/kNZ
    S9bpDs3bNzWK6ADahFizj++TWFj7xtaGtbFVTbargnyacR85lH2RtC6QnS6qSaIA
    XGtM6MwbXow7Br/IUGtYL3ZDBztIXWNImApbenGpucY6j8WZx0CI6SJ3S4cun5t6
    LjvIaNhmV2j3DIJOu18apbeL0HlSQq+VwPbGiaSA0y+0/XwbWulURIpwHezGre9M
    zAgLw5eA6wlhPI48M3rxm7IMa7h9YIJeemCfxwIDAQABAoIBAGbHDopWY+DUbMrD
    3qaPKwyKI9VER+sUtnWB25Y7ihJ/yvNqdFAyqYnKzUJrcOaezI8F4totnOFbXN/X
    6jHrPGzvafUuR9tByJu8oQ6q3GoLiT16F+ORt8MCiV5J9DLFNHwBxI0K3Ejc1xse
    vImv67PruxINWmPd/JiTJs9EkluUyYbtVKQV2L+2EOa8fWRg6yaoIl8HJ+7Zoa3K
    aBNaOYNKyiTq26qW3V6c8tUKHIZfEiSf/IBssNFUUBnypEYIT9utu5/CVgItlqsq
    39MWIRqH7GMJl7fCeg5PaGct6+QJL55KZQFH56XBqIznxrPWApQY0yyxYvXs7P8I
    fciiZmECgYEA7xDKIWK38L9p1NtLKEp1I5kEnKyzUSErCdwF2YCIriP167wzKgNV
    Wo21EmuHIa47KleeyvcrtA49lUh9QJeBO5n8fu1unBHBtoi+C5IUD30njcSmlm9y
    Xzw8WLikTx82xX00igajIJJA95O8U0gHneWGsELB4aagsxFeBmLkDbkCgYEAyasP
    BDpYS2p74Y5Ar42XyrKnW8piWlfF1GBEeBViv/rSDY6REhWTMNsiHujvmOSMBEE3
    Civfwa7e48uMOnBj9yTlNiRv49hm1eJF3StHSvMOiyKmEuDSZLDaUF/kN6Cx4mM7
    1RUnA0mqJljNQCW1QSsocIxecKl3G+u54CZ82X8CgYANCYdcZrvNP0MQPp1MpzLY
    LCIaQTjONdbZBMy03dOWW5OvtWW85s2i0JONW5vU9GF5n6mjO/OAMD6fg4KBIUIE
    9BLXAS/FBxrfT3m9u8uoRJUBoDXNgmpkUy6fUAJ15ifggUF6PX5r6k3ssnvUttrj
    e37q4dkc6y9cVJgiFQaG0QKBgHYgUKd1VYq3UOEJ5jHuil8czpMhtQKeLy77RJ/i
    RvmU/b0bKTailJklgpMAdnfkR2+mk4rNsD9PIxfjfrwsYSG+5tQT+8ZGV9YouCuY
    0iXAwWAWZ5jfP93jCb3SrWc4JXoqDj3+Kd/vIk9b7L4KWGVX1lQ2pIrxeOdN6I63
    fKIZAoGAFjCeveVInerDr8BgAIptLcG++ZK4dMruMauMjj9ygu2ZM+4BptOC/xle
    fu+fa7emI+ih7N4vQTypITG24mxRSOPgJiIKo5tRHBDSqfXcNU6mBVIMwcqE4HkL
    k2qjB+CntXmOhmQcMDPZsPP8NMkvOsg9saN/TEAHE2jcYXnbzZ8=
    -----END RSA PRIVATE KEY-----

scim:
  users:
  - admin|admin|scim.write,scim.read,openid,cloud_controller.admin,doppler.firehose

code_snippet cf-stub-vsphere end
The previous line helps maintain current documentation at http://docs.cloudfoundry.org.

@zaksoup
I have update my release to:
cf-release: 221
stemcell: 3098
I refer to below places for key/cert generation:
uaa.jwt: https://github.com/cloudfoundry/uaa/blob/master/docs/Sysadmin-Guide.rst
consul_z1: http://docs.cloudfoundry.org/deploying/consul-security.html
ha_proxy: https://github.com/cloudfoundry/cf-release/tree/master/example_manifests
(I use the same key pair for ha_proxy and router)
And I made below modification with no luck:
properties.ssl.skip_cert_verify: false -> true
properties.uaa.no_ssl: null -> true
jobs.ha_proxy_z1.properties.ha_proxy.disable_http: true -> false

Hi @zaksoup
Currently all of our machines are in running status and:

I can create/delete orgs/spaces
I can create/delete users
I can run set-org-role with admin user
However, I cannot:
run: cf org-users
run: cf push
run: cf logs

I really want to know how to debug such failure.
I want to know when I run cf org-users, how this command is executed

Hi @yyl8815,
Your full deployment manifest is output by the ./scripts/generate_deployment_manifest as specified by the user. In your case the command you gave us:

./scripts/generate_deployment_manifest vsphere my-stub.yml > my-deployment.yml

This indicates that your full deployment manifest is being output into the my-deployment.yml file in your working directory. If you are having trouble pasting the manifest into a github comment you can create it as a file on http://gist.github.com and paste the link here. Please remember to redact any sensitive passwords, though it looks like you're using our defaults so that shouldn't be a problem.

I want to know when I run cf org-users, how this command is executed

The first step to debug whether this is an issue in your deployment or in the communication between the cf cli and the Cloud Controller is to run these commands with the env variable CF_TRACE set to true.
$ CF_TRACE=true cf logs [app_name]
If you could run the failing commands with CF_TRACE=true set and give us the output that would also be helpful.
In the mean time we're going to attempt to deploy your stub to one of our VSphere environments and replicate your issue. We will get back to you soon.

@yyl8815 have you had any luck with the steps described in the above comment from @zaksoup?
Running CF_TRACE=true cf logs [app_name] is probably the best way to see what is going wrong.

@yyl8815 there has been no activity on this issue for over a week now, we're going to close this issue. Feel free to reopen if you have anything you wish to add.
Rob & @medvedzver


Multiple Roles for Users

Laravel Version: 5.4
Voyager Version:0.11.12
PHP Version:
Database Driver & Version:

Description:
Is there an option to add multiple roles for the same user? Currently it only allows to assign one role for   ##user.
Would be nice to allow multiple roles for the same user, and inherited the higher permissions, so a manager can do all the things user can, and admin can do all the manager things, and so on.
Probably set some permission levels to the role, or dependency tree, so we can identify the level for each role and it's inherited permission

Hi @nunomsh, multi roles is not implemented, but there is some work in progress.
Thanks.

This is an absolute must. ACL systems are designed with the assumption that users will be members of one or more roles. Making a user a customer, for example, should never preclude them from being a supplier too. Whatever ACL package you are using, will almost certainly support multiple roles out of the box, making this fix a UI issue.

Voyager's RBAC system does not have the concept of a hierarchical role system, so there's no way to "inherit" permissions.  This would be a significant undertaking, with many requirements to be fleshed out, which is why it's not currently there.  Adding multiple roles is easy.  Adding multiple roles with multiple permissions that need to be resolved is much more significant.
I don't disagree that it's a strongly desired feature, but we have to maintain "stability" at the top of our priority list, and we're not there yet.

Yes I agree hierarchical roles is another level again, and a pretty difficult thing to do efficiently in a relational database.


Maps

Hi, absolutely love the speed, robustness, and elegance of S.js.
I am building something with S.js that requires me to keep a large data structure that looks something like a Map<string, DataSignal<any>>.   I would like the insertions and deletions to the Map to be reactive because some of the computations in the map rebuild their computed values based on other values in the map being available or not available .
I don't need Mobx in this application, or else I would use it's reactive Map, because it's a very low level app, where the performance of S.js is desired.   Any idea for a simple way to achieve observing some kind of keyed data structure with S.js?   It doesn't have to a true ES6 Map, just some way to achieve the desired effect.

I don't think there is an existing library for Maps. But perhaps @adamhaile would know.
But to create this yourself, each value is already a data signal, you only need one additional signal to represent the whole Map.  One that gets set whenever you need to indicate the Map is dirty (needs it's dependencies to recalculate) and is accessed whenever the Map is read.
Generally if you want this obscured you are going to have to wrap the data structure in some way so that you can intercept at minimum the get and set methods. There are so many different approaches to this from Getter/Setters to Proxies but the simplest might just be to wrap the Map with your own Class that wraps the native methods. Look at S-Array for an example of how this is achieved for Arrays.
class SMap {
    constructor() {
        this.map = new Map();
        this.dirty = S.data(false);
    }

    get(key) {
        // track dependency
        this.dirty();
        return this.map.get(key);
    }

    set(key, value) {
        this.map.set(key, value);
        // trigger dependencies
        this.dirty(true);
    }
}

However, it's a matter of how far you want to take this. Solving these nested structures is one of a few reasons libraries like MobX has been moving to using Proxies.

That’s helpful, thanks!  Adding one additional signal per entry so that its addition or deletion can be observed makes obvious sense for my use case now that I think about it this way.    Not sure how to judge the performance of this approach vs mobx maps without testing, but I suspect it will still be faster.

On Dec 22, 2018, at 7:41 PM, Ryan<EMAIL_ADDRESS>wrote:
I don't think there is an existing library for Maps. But perhaps @adamhaile would know.
But to create this yourself, each value is already a data signal, you only need one additional signal to represent the whole Map. One that gets set whenever you need to indicate the Map is dirty (needs it's dependencies to recalculate) and is accessed whenever the Map is read.
Generally if you want this obscured you are going to have to wrap the data structure in some way so that you can intercept at minimum the get and set methods. There are so many different approaches to this from Getter/Setters to Proxies but the simplest might just be to wrap the Map with your own Class that wraps the native methods. Look at S-Array for an example of how this is achieved for Arrays.
class SMap {
constructor() {
this.map = new Map();
this.dirty = S.data(false);
}
get(key) {
    // track dependency
    this.dirty();
    return this.map.get(key);
}

set(key, value) {
    this.map.set(key, value);
    // trigger dependencies
    this.dirty(true);
}

}
However, it's a matter of how far you want to take this. Solving these nested structures is one of a few reasons libraries like MobX has been moving to using Proxies.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Something like this is what I was thinking but perhaps this is completely wrong.
import S, { DataSignal } from "s-js"

export function ObservableMap<T>(values?: { [id: string]: T }) {
  const keySignals: { [key: string]: DataSignal<string | null> } = {}
  const valueSignals: { [key: string]: DataSignal<T | null> } = {}

  if (values) {
    Object.keys(values).forEach(key => {
      const value = values[key]
      valueSignals[key] = S.data(value)
      keySignals[key] = S.data(key)
    })
  }

  function set(key: string, value: T) {
    let keySignal = keySignals[key]
    if (!keySignal) {
      keySignal = S.data(key)
    }
    let valueSignal = valueSignals[key]
    if (!valueSignal) {
      valueSignal = S.data(value)
      valueSignals[key] = valueSignal
    } else valueSignal(value)
  }

  function get(key: string): T | null {
    const valueSignal = valueSignals[key]
    return valueSignal ? valueSignal() : null
  }

  function remove(key: string) {
    const keySignal = keySignals[key]
    if (keySignal) keySignal(null)
    const valueSignal = valueSignals[key]
    if (valueSignal) valueSignal(null)
    else throw new Error(`Cannot find key ${key}`)
  }

  return {
    get,
    set,
    remove
  }
}

I've come to prefer a pretty minimalist approach for maps:
function SMap<T, U>() {
    const map = new Map<T, DataSignal<U | null>>(); // I use null for unset, could be undefined
    return function SMap(key : T) { // function stmt gives friendly name in stack traces
        if (!map.has(key)) map.set(key, S.data(null));
        return map.get(key)
    };
}

Really all that does is make sure that readers and writers are working on the same data signal for the same key, no matter which runs first.
A couple subtleties around synchronicity and reactivity.  (Just for background, "synchronous" here is not the same meaning as when we talk about asynchronous code like promises, etc.  Synchronous in this usage comes from Synchronous Reactive Programming and means that all computations affected by a data change run in the same "logical instant".  This means there are no observable data changes during execution of the round.  If there were, then there would be a "before" and "after" that change, meaning two instants):

Ryan, you may have realized this, but your first version isn't synchronous, in that sets take effect immediately, rather than with the next tick.
The second version has a subtle race condition: if a setter gets to a key before a reader, then the reader gets the just-set value in the first tick the key exists, but if the reader gets there first, it gets null in the first tick then the updated value in the following tick.  So you end up with an implicit dependency on the execution order of the reader and setter.
John, your version's .exists(key) isn't reactive -- if a computation reads it and gets false, then the key is later created, it won't update.  Also, it assumes that if a key is .remove()'d, then computations that had read that key should not update if the same key is later re-set.  In my minimalist version, these methods become just map(key)() !== null for exists() and map(key)(null) for remove().

All that said, in most of my S apps, the data structure I've found myself reaching for isn't a map but an index, i.e. it takes an array signal and a key function and 'indexes' the items in the array by the key function.  I can post up code if you're interested.
-- Adam

Please share code for the array indexing of keys approach.  Thank you so much!!  Still processing.

On Dec 24, 2018, at 12:19 PM, Adam Haile<EMAIL_ADDRESS>wrote:
I've come to prefer a pretty minimalist approach for maps:
function SMap<T, U>() {
const map = new Map<T, DataSignal<U | null>>(); // I use null for unset, could be undefined
return function SMap(key : T) { // function stmt gives friendly name in stack traces
if (!map.has(key)) map.set(key, S.data(null));
return map.get(key)
};
}
Really all that does is make sure that readers and writers are working on the same data signal for the same key, no matter which runs first.
A couple subtleties around synchronicity and reactivity. (Just for background, "synchronous" here is not the same meaning as when we talk about asynchronous code like promises, etc. Synchronous in this usage comes from Synchronous Reactive Programming and means that all computations affected by a data change run in the same "logical instant". This means there are no observable data changes during execution of the round. If there were, then there would be a "before" and "after" that change, meaning two instants):
Ryan, you may have realized this, but your first version isn't synchronous, in that sets take effect immediately, rather than with the next tick.
The second version has a subtle race condition: if a setter gets to a key before a reader, then the reader gets the just-set value in the first tick the key exists, but if the reader gets there first, it gets null in the first tick then the updated value in the following tick.  So you end up with an implicit dependency on the execution order of the reader and setter.
John, your version's .exists(key) isn't reactive -- if a computation reads it and gets false, then the key is later created, it won't update. Also, it assumes that if a key is .remove()'d, then computations that had read that key should not update if the same key is later re-set. In my minimalist version, these methods become just map(key)() !== null for exists() and map(key)(null) for remove().
All that said, in most of my S apps, the data structure I've found myself reaching for isn't a map but an index, i.e. it takes an array signal and a key function and 'indexes' the items in the array by the key function. I can post up code if you're interested.
-- Adam
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for pointing that out Adam. It's not something that I have particularly thought about much. To this point I've been using S much the way I've always used similar looking libraries. I am usually much more concerned with trackable state that I'm not thinking about non-tracked (ie not in signal changes), but as you point out in the second scenario it can cause an unnecessary recalculation before settling in the right place.  I suppose it's time I freshen up on SRP.
I will say the one thing that led me to the dirty signal approach was the comment in the original post that said:

I would like the insertions and deletions to the Map to be reactive because some of the computations in the map rebuild their computed values based on other values in the map being available or not available

I've sort of done a similar approach to the 2nd version in Solid proxies where I don't use Maps but keyed objects. Like the data output from Normalizr with say GraphQL where I'm using Base64 ids made from concatting Model Name and Database Ids. If I iterate over that list say for a view the dependencies for keys not yet there aren't being made explicitly so I need a way to tell that computation to retrigger. But if iteration isn't a concern I do see that any explicit key access would always create the right dependencies here since you are creating them on get (including the get that fails to find). Which makes this much much simpler.
So in any case I'm interested in any alternative approaches, since while maybe not directly applicable can serve as inspiration on further optimizations, or better correctness when handling these sort of scenarios.

In regards to the dirty tracking you could do it that way. For arrays we are pretty used to using rest operators, concating, or other immutable methods to clone the array and set the Signals so it's why I feel less awkward setting it. If I were to make a pure Map option I'd expect this handled for me, But I think this is probably more inspired from the desire of encapsulating existing data structure uses than what makes the most sense to how to pattern code with Signals.


docs: add a doc page about best practices for plugin development

Signed-off-by: Jason Dellaluce<EMAIL_ADDRESS>Co-authored-by: Leonardo Grasso<EMAIL_ADDRESS>What type of PR is this?
/kind documentation
Any specific area of the project related to this PR?
/area documentation
What this PR does / why we need it:
This introduces a docs directory meant to become the right place of pieces of documentation about this repository and plugins in general. As a first contribution, this adds a doc page for best/bad practices for plugin development.
Which issue(s) this PR fixes:
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks @leogr! Added all of them.

LGTM label has been added.  Git tree hash: b204109e8a37bc90dd029f8d9fe4603ee4db606a


deploy on zkfair

Chain Name
ZKFair Testnet
Chain ID
43851
RPC URL
https://testnet-rpc.zkfair.io
Block Explorer URL
https://testnet-scan.zkfair.io/
Deployment Funds
Yes

The current balance of the deployer account appears to be too low, which looks like is because chain has a very high gas price:

You do not have enough USDC in your account to pay for transaction fees on ZKFair Testnet network. Deposit USDC from another account.

The estimated total cost is ~45 USDC, and the deployer has 5 USDC
(I don't know if USDC is actually the right native token, but that's what I got from https://chainlist.org/?search=zkfair&testnets=true)

Closing as stale due to no reply


Fix unescaped character literals

Fix a warning that occurs in emacs 27.0+ (unescaped string literals)
Remove minor extraneous whitespace to satisfy flycheck

Pull Request Test Coverage Report for Build 273

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
62 unchanged lines in 1 file lost coverage.
Overall coverage remained the same at 68.491%

Files with Coverage Reduction
New Missed Lines
%

cmake-ide.el
62
68.49%

Totals

Change from base Build 272:
0.0%

Covered Lines:
363

Relevant Lines:
530

💛  - Coveralls

Please write tests for this.

Coveralls declares my change is already tested, and indeed it's covered by
(ert-deftest test-unquote ()
  (should (equal (cide--unquote "\"foo\"") "foo")))

in test\utils-test.el.
What more would you need?


[Improvement] Increase retry times for Hive container

What would you like to be improved?
In some cases, Hive container can't be luanched within a short time, it seems that the current retry count (5) is not enough.
The following is a case:
CI: https://github.com/datastrato/gravitino/actions/runs/8610140778/job/23595195265?pr=2820
HDFS data node log：
hadoop-root-datanode-gravitino-ci-hive.log

The Data node instance is not ready until 2024-04-09 04:17:44,603.
Integration-test log:
integration-test-integration-test.log

Retry logic stops at 2024-04-09 04:17:14.144 and throw an exception that 'Hive container is not ready'
How should we improve?
Increase the retry limits.

@mchades @jerryshao
What's your opinion on it?

I think we can increase the timeout, as well as using awaitability to control poll interval to avoid waiting for so long time.

I intend to refactor the checkContainerStatus method to pass the timeout parameter instead of the retry count.

Is this issue duplicated with https://github.com/datastrato/gravitino/issues/2270 ?

It's close to duplicating others.


Test output should include GC details

Motivation:
Our tests are often asynchronous and have timeouts to avoid hanging indefinitely. However sometimes the timeouts maybe set to low for the CI servers. It would be helpful to confirm if the application was busy with GC and if that was a contributing factor to the test timing out.
Modifications:

Unit tests should run with -XX:+PrintGCDetails by default

Result:
More visibility into GC behavior in unit tests.

Cherry-picked into 4.1 (e17f438b104f7488fc18ff6c180f1eb5f58744a0) and 4.0 (db787ff5326500764487f0521a19257c4a0ae75d)


Use qualify  row_number() ... not support select *

When I execute the following SQL statement.
select a.* from tablea a qualify row_number() over (partition by a.id order by a.date desc) = 1;
I will receive an exception message.
ERROR 1064 (HY000): Getting syntax error. Detail message: Can't support result other than column..
Adjust the statement to
select a.id,a.name from tablea a qualify row_number() over (partition by a.id order by a.date desc) = 1;
The statement can run normally.

good enhancement

I am interested in this issue. Could you assign to me? @wangsimo0

Hi, I'd like to try it. Could you please assign this to me? Thanks! @wangsimo0


Enable the :set-timezone driver feature; allow to change the reporting timezone in the Localization settings

Summary
This PR enables the :set-timezone Metabase feature so that it is now possible to change the reporting timezone in Admin -> Localization settings.

Resolves #200.
Excluded :convert-timezone from the scope of this PR, as :set-timezone seems to be of a higher priority, and proper :convert-timezone implementation requires additional investigation, as some tests still indicate that the implementation (currently, commented out) is not entirely correct.
:convert-timezone issue for tracking: https://github.com/ClickHouse/metabase-clickhouse-driver/issues/254
Checklist

[x] Unit and integration tests covering the common scenarios were added
[x] A human-readable description of the changes was provided to include in CHANGELOG
[ ] For significant changes, documentation in https://github.com/ClickHouse/clickhouse-docs was updated with further explanations or tutorials

Excluded :convert-timezone from the scope of this PR, as :set-timezone seems to be of a higher priority, and proper :convert-timezone implementation requires additional time.
Created a new issue: https://github.com/ClickHouse/metabase-clickhouse-driver/issues/254

Hi All,
I wanted to extend a huge thank you to you and the team for enabling the timezone function in Metabase! This enhancement is incredibly useful for our workflows.
I also wanted to ask about the timeline for implementing this feature in Metabase Cloud. Could you please provide any insights or updates on when we can expect it to be available there?

That functionality will be available on Metabase version 50 ... Metabase Cloud is still running 1.49 ... The Cloud would be updated in the coming weeks. You should get a notification when that happens


Fix the docker daemon restart command for ubuntu.

- What I did
Fix an instruction in the documentation.
- How I did it
Tried the incorrect instruction.
- How to verify it
Tried the correct instruction.
- Description for the changelog
Fix the docker daemon restart instruction.
🐳

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "docfixes/ubuntu_install" git@github.com:orsenthil/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

What version of Ubuntu did you try it on? Original version worked for me;
sudo restart docker
docker start/running, process 3662

@thaJeztah , I am on 16.04
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
$ sudo restart docker
sudo: restart: command not found
$ sudo service docker restart
$

@orsenthil hm, strange; looks to be working on one of my 16.04 boxes, but not on another; possibly it's an optional install. Ubuntu suggests installing upstart, but that doesn't make sense on a system using systemd.
Alright, this should work on both upstart and systemd, so  LGTM

LGTM


PHP: update package.xml to prepare for 0.6.1 release

PHP extension release 0.6.1, which contains the bug fix for #2275
updated package.xml
some whitespace fixes in the php_grpc.c file

I'm not sure what's happening here, but all of the Linux tests are failing.

@jtattermusch Any idea about the Jenkins failure?
[linux] $ /bin/sh -xe /tmp/hudson7742363563541480493.sh
+ tools/jenkins/run_jenkins.sh --allow_flakes
tools/jenkins/run_jenkins.sh: 37: tools/jenkins/run_jenkins.sh: [[: not found
tools/jenkins/run_jenkins.sh: 42: set: Illegal option -o igncr
Build step 'Execute shell' marked build as failure

All linux build are failing on the release-0_11 branch with this error. Is the release-0_11 branch missing a fix from master?

There are a few commits to the run_jenkins.sh script in the master branch that are not present in the release-0_11 branch. Should they be ported back to the release-0_11 branch?
commit bd7682fe9954200e9806fd6714ca420fd6d35916
Author: Jan Tattermusch<EMAIL_ADDRESS>Date:   Mon Sep 28 15:07:48 2015 -0700

    dont propagate --allow_flakes to run_interop_tests.py

commit 8266c67127912a7b53dac1b6a4f7823db4bcb67b
Author: Jan Tattermusch<EMAIL_ADDRESS>Date:   Thu Sep 17 09:18:03 2015 -0700

    enable cloud_to_cloud tests with servers in a separate container

commit 320bd614994a04dd36d829ecfe498584b3bb6872
Author: Jan Tattermusch<EMAIL_ADDRESS>Date:   Tue Sep 15 12:44:35 2015 -0700

    simplify running of interop tests on jenkins

commit 6ec5d6f63a177a66decd963de3cd5523f6b2eca6
Author: Craig Tiller<EMAIL_ADDRESS>Date:   Mon Sep 28 12:53:05 2015 -0700

    Make run_jenkins script forward arguments to run_tests.py

commit c95eead416aa1cad9f7b08c87975a3ca9a597421
Author: Jan Tattermusch<EMAIL_ADDRESS>Date:   Fri Sep 18 13:03:50 2015 -0700

    use_docker support for run_tests.py

commit 901b0f1a53f837038a87f1cfe28807265343275f
Author: Jan Tattermusch<EMAIL_ADDRESS>Date:   Tue Sep 15 09:46:18 2015 -0700

    Remove traces of running zookeeper on jenkins master

Jenkins issue fixed with #3742. Rebuilding this PR on Jenkins.

Jenkins mostly green now. PHP all green. Merging.


Fix release image select width and enable batch update

Signed-off-by: Sho Weimer<EMAIL_ADDRESS>

/retest


File download not working anymore 2.5.0

Windows 10 64 bit;
RocketChat server 0.53.0;
Rocket.Chat.Electron 2.5.0;
File download not working. File download links and icon don't work. You can't download files.

Having the same issue with a few of my colleagues, server is set to accept any file type and uses GridFS, permissions of files have been double checked, issue still occurs.

Same thing on Mac app (2.5.0).
Server 0.54.0.
macOS 10.12.4 Beta

Same here from Mac, Windows and Linux.

When will 2.6.0 version will be released????????? You know, that this is f-king extra MEGA big bug and 99,9% user all telling everyone, that you client sux. This must be fixed not after 666 days but this fix should be released after 1 day after your failing 2.5 version! SO, please turn on your heads and do it now!!!!!

I can't confirm that... RocketChat+ Client v2.5.0 on Windows 10 is working fine for us.

You can download files from client? In what way?

Ri100 - what server version do you have?

Download works as expected by clicking on the dl icon (the highlighted one in the pic).
I will need to check about the server version with my colleague, who will be back in office tomorrow.

--Best

There is very important what server version do you have. From 0.53.0 version 2.5.0 client can´t download files. Workaround is to use 2.4.0 client, but then why to release 2.5.0? :)

I´ve seen that the bug is allready fixed in dev. could you please release a subversion like 2.5.1 with this bugfix.

I agree, for me and my company this bug is really annoying.


Allow for different TCXO control voltages for 126X

The TCXO control voltage is hard coded in set_oscillator to be 1.7V, but it's normally configurable because different radios use different voltages.
It would be nice to have it controllable.
I'm happy to make a PR if you tell me how you want it to work :)

Your query is timely.  I will be making updates this weekend to focus on board type (Stm32wlSx1262, Stm32l0Sx1276, and Rak4631Sx1262 are the initial ones) rather than chip type (Sx1261, Sx1262, Sx1276, etc.) within a radio kind (Sx1261/2, Sx1276/7/8/9).  This will allow us to better account for differences in LoRa boards even with the same LoRa chip.  As we add more LoRa boards to the mix, we will discover variations on a theme that can be captured in a better manner than adding a bunch of board type checks.

There is a LoRa/LoRaWAN group chat using Element:
https://app.element.io/#/home
It is currently not public, but I would be glad to invite you if you have (or create) an Element account and let me know the name of the account.

The latest update supports board type (and within board type, chip type).
pub enum BoardType {
    GenericSx1261, // placeholder for Sx1261-specific features
    Rak4631Sx1262,
    Stm32l0Sx1276,
    Stm32wlSx1262,
}

pub enum ChipType {
    Sx1261,
    Sx1262,
    Sx1276,
    Sx1277,
    Sx1278,
    Sx1279,
}

impl From<BoardType> for ChipType {
    fn from(board_type: BoardType) -> Self {
        match board_type {
            BoardType::GenericSx1261 => ChipType::Sx1261,
            BoardType::Rak4631Sx1262 => ChipType::Sx1262,
            BoardType::Stm32l0Sx1276 => ChipType::Sx1276,
            BoardType::Stm32wlSx1262 => ChipType::Sx1262,
        }
    }
}

which prevents generic chip type checks from having to be modified each time a new board is added:
       match self.radio_kind.get_board_type().into() {
            ChipType::Sx1261 | ChipType::Sx1262 => {
                ModulationParams::new_for_sx1261_2(spreading_factor, bandwidth, coding_rate, frequency_in_hz)
            }
            ChipType::Sx1276 | ChipType::Sx1277 | ChipType::Sx1278 | ChipType::Sx1279 => {
                ModulationParams::new_for_sx1276_7_8_9(spreading_factor, bandwidth, coding_rate, frequency_in_hz)
            }
        }

while making true board type checks evident:
    async fn init_rf_switch(&mut self) -> Result<(), RadioError> {
        if self.board_type != BoardType::Stm32wlSx1262 {
            let op_code_and_indicator = [OpCode::SetRFSwitchMode.value(), true as u8];
            self.intf.write(&[&op_code_and_indicator], false).await?;
        }
        Ok(())
    }

The chip type name is included in the board type name in case the same board type may include different chip types.
Therefore:

in mod_params.rs, add your board type and update the From specification for the board's chip type;
update the pertinent radio kind function as in the init_rf_switch() sample above.

Awesome.
I'll take a whack at it, and making the Tcxo control part of the board type this weekend


Adds credential wrapper to launcher-backend build

Needed for integration tests.
Fixes https://gitlab.cee.redhat.com/dtsd/housekeeping/issues/1385
@kbsingh can you review it?

See if that works now

[test]


OptionButton text property doesn't load

Operating system or device - Godot version:
Godot 2.1 stable 64 bit, Windows 7
Issue description (what happened, and what was expected):
OptionButton text property filled through editor doesn't load. It is saved to scene but when you load it again, it doesn't show. Setting text property in GDScript works fine.

Can you provide a minimal sample project?

It's easy to test but yeah, no problem.

Looking better I'm not sure if this is really a bug. The text of an OptionButton is the selected option. Since you can't add options via editor, there's no text at all. This property is only available because it's inherited from the Button node.

I see. Thought it's the name of selector what is shown when nothing is selected. I'll close the issue then.


[WIP] Add support for providing voters as an iterator

This can allow lazy-loading them until they are needed.
I'm wondering whether addVoter should be deprecated instead of silently breaking lazy-loading, forcing voters to be provided in the constructor.
For people using the bundle, such deprecation would have no impact (unless they register custom voters manually with a compiler pass rather than using the tag, but they would just see a deprecation warning), as voter registration is handled by the bundle (and next version of the bundle will use the constructor, and provide lazy-loading for Symfony 3.3+).
For people using the Silex 1 integration, this would just require me to provide the necessary hook in https://github.com/KnpLabs/KnpMenuServiceProvider, but the hook available in the legacy service provider in KnpMenu is deprecated anyway in the new package, so it is a matter of updating the doc of this package before releasing its new version.
What do you think @dbu @flug ?

looks reasonable. i think we should then refactor all framework integrations to change to constructor injection. triggering a deprecation warning should probably only be done if the bundle integrations are released at the same time as the library, to avoid confusing the users with a deprecation they did not cause themselves...

@dbu I made this PR precisely to use the contructor in KnpMenuBundle, (to use an IteratorArgument in Symfony 3.3+ for lazyness support).
Users of the bundle would not get any deprecation if they update both the bundle and the library.
For Silex, the existing integration does not have a hook to collect voters. Instead, people are expected to extend the service definition (which does not allow changing the constructor). But as explained in the description of the PR, adding a new way to provide voters is possible (and we already do similar things for other hooks).

here we go. Deprecation is there


Fix rustfmt use

Try format code
fn main()
{
	let f = g;
}

On Windows it replaced with
fn main() {
    let f = g;
}
}

Thanks for reporting. Is this whole file?

Yes.

It is fixed in


Explorer Card shows no Data

installed it via HACS, HA in a Docker Container.
when i choose an entitiy no data is being displayed.
Any hints on this?

I'm afraid not without more details. Post your logs to begin with.

Sorry for the question, are there more than the homeassistant.log?

For the purpose of this card, any error should be reported in the homeassistant log.

searched the log, it shows no error regarding history card explorer

This is a picture how the card looks

You did hit the add button (the plus sign next to the name), right ?

yes, was this wrong?

No that was fine. Did you check the logs after clicking the button ?
Please check:

Make sure the entity_id is spelt correctly and actually exists within HA. Check in the developer settings and post a screenshot of the entity in there with all its attributes.
Post  your YAML config for the card

Got it working now, tried the sample config from the readme. Thougt it would work by just selecting the entity.
Thanks for helping, and good work with the card!!

Yes, normally it does work by selecting the entity in the dropdown and then pressing the add button.
Anyway, great you got it to work.


[Feature Request] Filter by number of chapters

Would it be possible to add this?
I don't like to start a manga with too few chapters so it would be nice to say search for only ones with 20, 30 or 50+ chapters.

Sort by unread works right?

I'm not sure, i haven't used that yet.
why?

If you sort by unread you will see how many chapters to read there are for each manga. It's what the left number on covers is

okay well i finally got around to trying this but i don't even see an option for sorting by unread.
i also don't see any numbers on the covers either
https://i.imgur.com/7Tu6AOj.png

Oh you meant in the browse screen. No plans to add this. As it would required extra network calls to get the numbers


fix: list constrainst on Pydantic V1

What's being fixed
As a user of Pydantic V1, there are some models that use constraints on Pydantic List fields that fail on import:
ValueError: On field "annotations" the following field constraints are set but not enforced: max_length.
For more details see https://docs.pydantic.dev/usage/schema/#unenforced-field-constraints

Reproduction steps
On the root of the project, with the venv populated and activated:
$ pip install "pydantic<2"

$ python
> import githubkit.versions.v2022_11_28.models.group_0932

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/juan/Documentos/OpenSource/githubkit/githubkit/versions/v2022_11_28/models/group_0932.py", line 21, in <module>
    class ReposOwnerRepoCheckRunsPostBodyPropOutput(GitHubModel):
  File "pydantic/main.py", line 197, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 502, in pydantic.fields.ModelField.infer
  File "pydantic/schema.py", line 1021, in pydantic.schema.get_annotation_from_field_info
ValueError: On field "annotations" the following field constraints are set but not enforced: max_length.
For more details see https://docs.pydantic.dev/usage/schema/#unenforced-field-constraints

Solution
To palliate this issue, a ternary operator might be injected on the Pydantic Field constructor to disable or enable the constraints depending on the library version:
from githubkit.compat import PYDANTIC_V2
annotations: Missing[
        List[ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems]
    ] = Field(
-        max_length=50,
        default=UNSET,
        description='Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)".',
    )

from githubkit.compat import PYDANTIC_V2
annotations: Missing[
        List[ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems]
    ] = Field(
+        max_length=50 if PYDANTIC_V2 else None,
        default=UNSET,
        description='Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)".',
    )

Maybe we need to add a custom Field in the compat module to handle the gap between v1 and v2.

Thank you @yanyongyu for the fast response and maintaining this library.
I've tried your proposal of changing the kwarg name to max_items and sadly the issue persists. I think this is related to https://github.com/samuelcolvin/pydantic/issues/3745 linked in the comment at _get_field_args. AFAIK, this was fixed in Pydantic V2 but it wasn't back-ported to V1. That's the reason why I'm proposing to disable completely the constraints on Pydantic V1 through the operator.
I understand that this is sub-optimal as we are effectively not respecting the JSON schema but I see no other option as the models have ForwardReferences that will break the implementation in V1. Fortunatly, V2 will be unaffected.

i see the comments in the code. this issue has occured before when using pydantic v1, and was fixed when pydantic v2 released. i will change the comments to describe the problem better.

I will add some test cases later.


Add validation for -sanitize-coverage=

This fixes Driver/sanitize_coverage.swift

@swift-ci please test


update install docs to avoid pip confusion

Fixes #962
cc @alimanfoo

Thanks, looks good.

Thanks for raising it as an issue.   A few other users have run into this in the past.  Merging.


Docs: Documentation for the AG Grid

Description
This PR contains the documentation for the AG Grid feature - it replaces https://github.com/mckinsey/vizro/pull/269.
This PR contains the code changes from https://github.com/mckinsey/vizro/pull/289 - so any changes inside src/vizro can be ignore as that PR will be reviewed separately and merge before this one
Open ToDos

[ ] Exchange Screenshots

@AnnMarieW I took your stylings on the CSS PR as an example on how to style and individual AG Grid - the "advanced" docs examples. Thanks!
Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not referenced individuals, products or companies in any commits, directly or indirectly.
I have not added data or restricted code in any commits, directly or indirectly.

Do a find of "table" in the docs on AG Grid to make sure there's no left over copy and paste errors

I could not really find any, were there any specific ones you had in mind?

Make sure we are consistent with "AG Grid" over "AGGrid" etc.

I decided now for AG Grid instead of AGGrid as it seems the more popular choice

Make sure the docs are up to date with whatever names we ultimately use in the code

Yes, I anticipated AGGrid when writing, but we have changed to AgGrid so changed it just now


Config - Arena/Game Config Updates

Make the following elements configurable:
Wood Barrier HP
Steel Barrier HP
Zakano HP
Wombat HP
Collision Damage Amount
Food Bonus
Poison Damage
Score for Food Collection
Score for Accurate Shooting:
-- Hit Wombat
-- Hit Zakano
-- Hit Wood Barrier
-- Hit Steel Barrier
Shot Distance
Non-Transparent Types - what items cause fog of war (we may keep this as a constant)
Partial View Radius - default now is 3

Wood HP, Steel HP, Zakano HP,  and Wombat HP have been completed.

This is now a duplicate, closing


Response body support

Response bodies were not being included in the HAR file.
The bodies need to be extracted from the asynchronous getContent function.
Converted the sanitizeHARData to async, to allow the extraction of the response bodies.
The exported HAR now matches closely to the one obtained from downloading directly on the network tab.

Thank you for your contribution.
Happy to publish it once the CI is building. Let me know if I can help.

New version is out, thanks once again - https://chromewebstore.google.com/detail/sanitizhar/olljgcknknokkfcchffamflmcicapofi


watchAll not running tests on save.

Do you want to request a feature or report a bug?
Bug
What is the current behavior?
When running --watchAll the test don't run on file save.  They do if i use --watch.
If the current behavior is a bug, please provide the steps to reproduce and either a repl.it demo through https://repl.it/languages/jest or a minimal repository on GitHub that we can yarn install and yarn test.
https://github.com/truckingsim/jest_bug_example
Install the packages and then in separate tabs side by side ( or one at a time this happens either way) run npm test in one and npm run test-changes in the other.  Edit add.js to fix the ReferenceError on line 2, and save.  Thetest-changes command is the expected behavior with --watch.  The tests run on file save.  The test command is watchAll the tests don't re-run on save.
What is the expected behavior?
Jest should run the tests on file save.
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.
No jest config,  versions are:
Jest - 21.0.1,
Node - 8.4.0
npm - 5.3.0
OS - MacOS Sierra 10.12.6
This happens with or without watchman, but I also have watchman version 4.9.0 installed.

This was working on Jest 20.0.4, this only happened after upgrading to 21.0.1.

I'm also able to reproduce it, seems like a regression in 21.0.1

@rogeliog Do I still need to create a jest bug example like @truckingsim asked for or is it not necessary at this point ?

Hi i'm getting the same bug with "jest": "^21.1.0", :(

@GiancarlosIO if you update to the latest version of jest it should fix the watchAll for you.


Charuco not showing in Gazebo

Hi @miguelriemoliveira, @manuelgitgomes, and @Analtino2021,
When I run these commands:
roslaunch simplebot_gazebo simplebot.launch
and
roslaunch simplebot_bringup bringup.launch
I get this:

I think I have 2 problems:

The charuco isn't showing in gazebo
I think @manuelgitgomes  was having this problem in #1, but the solution is not working for me.
Odometry Error:
Topic Message contained invalid floating point values (nans or infs)

Another thing I noticed is that the gazebo takes almost 20 seconds to spawn, this only happens with this world... Does this happen to anyone else?
@miguelriemoliveira  when you can, please put me as a collaborator.

Hello! Im not currently at home, so I will look further into this later. The problem is that you are either misreferencing the charuco or it does not exist. That is why the gazebo takes so long to launch, it's searching for a file that is not there. Verify the references of your charuco, if you can't find the problem I will try and help you later

Thanks @manuelgitgomes .
I remember you had a similar problem. @DanielCoelho112 do you have this in your .bashrc?
export GAZEBO_MODEL_PATH="rospack find simplebot_gazebo/models:${GAZEBO_MODEL_PATH}"

@DanielCoelho112 do you have this in your .bashrc?

That was the problem!
Thanks @manuelgitgomes  and @miguelriemoliveira


httpVueLoaderRegister is not defined

I get this error:
Uncaught ReferenceError: httpVueLoaderRegister is not defined

Should it be httpVueLoader.register in README?

I forgot to change the documentation when I made this change.
thanks !


SQLite: stress test shows reading after a commit does not always work

Bug Description
I have created a stress test which shows that after inserting into a table, subsequent read from the table not always succeeds. I first though this was a SQLite bug so I created a bugreport there but further digging shows that it's likely in sqxl-sqlite, or more particularly in the flume. I tried with the most version (0.10.14) of the flume library but the problem persisted.
What seems to be happening is that after the commit, when we do a SELECT the operation goes like this:

sqlx creates a flume channel here and sends Command::Execute to the connection thread.
The connection thread executes the action here and creates an iter which will correctly iterate over two values here. One of the values is Either::Right and the other is Either::Left, that seems correct.
The problem is that the flume::Receiver occasionally fails to receive the value.

I've been digging into flume (latest master) a bit but haven't yet managed to find a fix. If I have more time I'll try to write them an issue as well.
Minimal Reproduction
I created a small project on github/database-bug. In pseudo code, the rust part does this:
1. Create two databases A and B, both with one connection for reading
    and one for writing (although the one for reading in B isn't used).
2. Create table `a_table` in A and `b_table` in B.
3. Create 200 entries in `a_table` in a single transaction, then commit.
4. In parallel:
   a. Do unrelated write IO on `b_table`
   b. Read the last entry from the `a_table`

The problem is that 4.b. sometimes returns nothing even though the entry has been committed into the table in step #3. Without 4.a. I can't reproduce the issue, but I think it's just there just mess with thread scheduling.
To reproduce the issue I have to run many (200) instances of the above algorithm in parallel. I wrote this shell script to help me with it. I usually need to run the test for up to 10 minutes.
Info

SQLx version: 0.5.5, but also the latest main 1ff6a2ac94b4716f32
SQLx features enabled: default-features = false, features = ["runtime-tokio-rustls", "sqlite"]
Database server and version: SQLite, the one used by the main branch (3.35.4), but I also tried to update to libsqlite3-sys to the latest which uses 3.41.0 currently latest.
Operating system: Ubuntu 22.04.1 LTS; 64bit; Intel® Core™ i7-4790K CPU @ 4.00GHz × 8; 16GB RAM; The database is stored on disk with Ext4 (version 1.0)
rustc --version: rustc 1.65.0 (897e37553 2022-11-02)

Created an issue on github/flume


Inconsistencies when host has multiple IP addresses

Our docker hosts have 2 IP adresses that Dockers might get ports forwarded from : internal (LAN) and public.
So far we were only using the LAN IPs and since our Consul agents are bound to those IPs as well, registrator did its job perfectly.
However, if we map Dockers ports from the public IPs, the services are registered in Consul with the IP of the agent, which is the LAN one.
This is because  Registrator uses consulapi.AgentServiceRegistration, which registers the service as one of an existing Agent(node).
With Consul K/V or ETCD (I guess, not tested) the correct IP is registered.
Obviously, Consul DNS resolution for those services is incorrect.
I see 3 ways to address this:

Completely skip service registration for the container based on an environment variable (SERVICE_IGNORE). This doesn't really solve the problem, but it might be useful for other purposes and is quite easy to implement. I'll be submitting a PR shortly.
Don't register services for port mappings with a service.IP that's different from the host's IP. Again, it doesn't completely solve the issue, but at least we would be able to keep registering other services that bind to the LAN IP for the same container.
Register services mapped to an IP that's different from the host's IP as External Services (http://www.consul.io/docs/guides/external.html)

I'll try and submit a PR for the second option as well.
Just need to dive into Golang a bit more.
The third option would be the best one, but it implies the creation of a new node.
I'm not sure how it could be named, so that it could be reused for other services bound to that same IP.
Perhaps it could simply be named after the IP (eg. 8-8-8-8).
I'm open to suggestions.

Support for this is in Consul 0.5.0 (https://github.com/hashicorp/consul/pull/570) and registrator master branch (https://github.com/gliderlabs/registrator/pull/91).

+1 for registering external services (using the IP of the container itself)


Simplify models

At the moment, there is a lot of duplication in the models. Essentially, raw, validated, hourly, monthly and yearly have the very same models with really minor differences.
There are three options, essentially:

Live with it: This is not ideal as there will be a lot of code to maintain which is, essentially, the same. Adding a new variable will mean repeating the same code in several places.
Combine all tables in just 2 or 3 and add extra fields to indicate the variable and the type of data (raw or processed): This will be ideal if it where not because the table will become huge and queries will take quite long. Might be sorted using table partitioning, but that might be challenging and come with its own drawbacks. This option might not be available, either, as we are using TimescaleDB and not plain Postgresql.
Get creative with model creation and inheritance such that when a new variable is added, appropriate models are created of the other types.

The last one is the easiest to try, although it might result in cumbersome, brittle code, so care must be taken to ensure it doesn't overengineer the problem.

Fixed in version 1.0.0


Is there an known incompalibility with other plugins

I love your gallery-plugin.
Installed on my GRAV v1.6.25 site.
The images are displayed fine, but the navigation does not seem to work.
I've also got UniteGallery and Featherlight plugin active. Disabling them does not solve the problem.
Enabling and disabling the page cache does not make any difference.
I hope you can shed some light on the matter.

The reason is your user/themes/quark-open-publishing/js/my.js script.
When I block it, the lightbox works as intended.
If I'm not mistaken, this script catches clicks on all links without the class external-link, gets the link url and opens it in a blank window.
Maybe you can extend the a:not(.external-link):not([href^="#"]) block with something like a:not([class^="glightbox"]). (I'm no javascript expert)
I'd love to hear if that solves your problem.
Anyway, I don't think there's anything I can do with my plugin.
Cheers!

sal0max,
Great! I already have a plugin for that (opening a link in a blank
window/tab, https://github.com/hibbitts-design/grav-plugin-external-links)
So I've disabled /quark-open-publishing/js/my.js (it works great now!)
Thanks for having a look at it!
Arno Rog
On Sat, Feb 13, 2021 at 5:52 PM sal0max<EMAIL_ADDRESS>wrote:

The reason is your user/themes/quark-open-publishing/js/my.js script.
When I block it, the lightbox works as intended.
If I'm not mistaken, this script catches clicks on all links without the
class external-link, gets the link url and opens it in a blank window.
Maybe you can extend the a:not(.external-link):not([href^="#"]) block
with something like a:not([class^="glightbox"]). (I'm no javascript
expert)
I'd love to hear if that solves your problem.
Anyway, I don't think there's anything I can do with my plugin.
Cheers!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sal0max/grav-plugin-shortcode-gallery-plusplus/issues/6#issuecomment-778644446,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC4XGQ5ATDBOW2GGYNU3JOTS62U3XANCNFSM4XSGL65Q
.

--
Met vriendelijke groet,
Arno Rog

Glad you found a workaround @awrog! That was a suggestion I was going to make🙂 BTW, that JS code is only needed if you use the chromless feature in QOP for embedding Grav pages into other systems etc.


Option to define the version of compass gem to use

If you have different version of compass installed and would like to switch between them you can use bundler or rvm. But in some cases it is not trivial.
Because of this I would like to propose another, convinient way to set a version of compass to run. I've added an option, which sets _version_ after compass executable, like compass _1.0.1_ compile. If this version of gem is installed it will be run, otherwise the task is aborted.

No thanks. As you said, that's a job for bundler/rvm.


Defaults in erga_env.yaml

Hi all,
Due to the policy changes by Anaconda, we (Sanger at least) are avoiding use of the defaults channel. Is it possible to specify conda-forge (I've just checked and they do provide these packages) rather than defaults.
Thanks
Damon

Hi Damon! Please see #123

Hi Diego
Thanks for the quick work, looks great!


Rescale dicom image incorrectly when intensity can be negative

Describe the bug
When redactoring an dicom image in dicom_image_radactor_engine.py,  the image intensity are rescaled using the function _rescale_dcm_pixel_array().  This function rescales the gray scale to be 0 to 255; however the rescale formula (below) assumes the smallest intensity value of the image array is 0, which is not usually not the case for medical CT images.  CT image have negative intensity value.
                       image_2d_scaled = (                 np.maximum(image_2d_float, 0) / image_2d_float.max()             ) * 255.0
Instead, a more robust formula would be
                       image_2d_scaled = (                 (image_2d_float.max() - image_2d_float) / (image_2d_float.max() - image_2d_float.min())             ) * 255.0
As a consequence of this bug, the scaled image filtered out some text which were in negative intensity, and the text were not detected downstream.

Thank you, would you be interested in creating a pull request?

Yes.  What do I need for a successful PR?

This covers our contribution guidelines: https://github.com/microsoft/presidio/blob/main/CONTRIBUTING.md


testing against php 7.4 final, upgrading phpstan, removing ignored error

Codecov Report

Merging #18 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #18   +/-   ##
=========================================
  Coverage     92.45%   92.45%
  Complexity      370      370
=========================================
  Files            19       19
  Lines           901      901
=========================================
  Hits            833      833
  Misses           68       68

Continue to review full report at Codecov.

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


DG-1942 Fix task fetching inconsistency causing excessive lock churn and memory heap buildup in pods

Change description

Due to ES<>Cassandra mismatch in Task Statuses, no valid tasks are being picked up. As 0 valid tasks are fetched, the lock is shifted to another pod for fetching. Same cycle repeats itself, thus increasing memory heap of all pods simultaneously.

Before fix memory graph

After the fix

Picking only targeted 1 task at a time.

Type of change

[ ] Bug fix (fixes an issue)

Related issues

Fix Ticket
Ticket 2 (https://atlanhq.atlassian.net/browse/PLT-529)

Checklists
Development

[ ] Lint rules pass locally
[ ] Application changes have been tested thoroughly
[ ] Automated tests covering modified code pass

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

Code review

[ ] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary
[ ] "Ready for review" label attached and reviewers assigned
[ ] Changes have been reviewed by at least one other contributor
[ ] Pull request linked to task tracker where applicable

Can you simulate one example where a ES doc with mismatched attribute gets updated correctly after this. You can manually update ES doc to have mismatched attribute then test.

Add few test cases where we can see tasks are getting executed properly even after this change without any issue.


issue with source compiling

Describe your problem here.
when compiling the source version of PE, I get this error.
source/Main.hx:85: characters 61-65 : Float should be Int
source/Main.hx:85: characters 61-65 : ... For optional function argument 'updateFramerate'
source/Main.hx:85: characters 61-65 : ... For function argument 'child'
source/PlayState.hx:75: characters 8-22 : Type not found : vlc.MP4Handler
source/PlayState.hx:1620: characters 13-23 : Type not found : MP4Handler
can anyone help fix?
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
no

Replace Main.hx with a new one https://github.com/ShadowMario/FNF-PsychEngine/blob/main/source/Main.hx
And use
haxelib remove hxCodec
haxelib install hxCodec 2.5.1

thanks for the help. i tried and now theres a different error:
source/Achievements.hx:132: characters 30-54 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
C:\Users\me\Downloads\FNF-PsychEngine-0.6.3\export\release\windows\obj>setlocal enabledelayedexpansion
Warning: Could not find Visual Studio 2017 VsDevCmd
Missing HXCPP_VARS
Error: Could not automatically setup MSVC

install vsc 2019 burj

Alright, I fixed it.
I had to reinstall visual studio. (2017 version)


Fix Compliance Test Failures for BMP581

Hello @MeisterBob,
I see that in the pull request you created in zephyr project. It was failing in compliance tests due to author email mismatch. I have amended my commits to fix this issue. You will see the amended commits here. I have also realized that it is failing again due to no body content in some of your commits, do you want to amend those? Or should I take the freedom to squash your commits to the first commit?
And I have updated the i2c.dtsi to fix the duplicated id issue for bmp581 do you see any issues with it?

Thanks for fixing the author email mismatch error.  All the commits needs to be squashed before the final merge so they will get reworded. I left the commits seperate that one can see what is your work and what I did on top of that.

Hi @MeisterBob,
When I look at the logs vith git log --decorate=short, I see that commit 05d7ff61963b4498ec1b1b5bbb86c966beb1c6c9 is still has author email of<EMAIL_ADDRESS>commit 05d7ff61963b4498ec1b1b5bbb86c966beb1c6c9
Author: Talha Can Havadar<EMAIL_ADDRESS>Date:   Tue Nov 1 10:57:47 2022 +0100

    drivers: bmp581: Add support for bmp581 ic

    This commit adds source and header files required for bmp581 I2C driver.
    I have used bmp581_user.h to add more usage related definitions
    but bmp581.h to add hardware related definitions.

    Signed-off-by: Talha Can Havadar<EMAIL_ADDRESS>    Signed-off-by: Gerhard Jörges<EMAIL_ADDRESS>
I have amended it in this pr but since it is not merged directly, this issue still there in your branch.
To fix this you need to rebase with git rebase -i --rebase-merges d11c0a1664 and edit the first commit
label onto

reset onto
edit 05d7ff6196 drivers: bmp581: Add support for bmp581 ic
pick ff5984c6bb drivers: bmp581: update code format
pick ddebbdc603 drivers: bmp581: remove i2c_addr from structs
pick bb968c0492 drivers: bmp581: remove unused variable
pick efd18bdc31 drivers: bmp581: fix soft-reset
pick ed6ea9a9f1 driver: bmp581: add altitude interpolation
pick 12c0dd1ec4 drivers: bmp581: Update i2c.dtsi
``
After that you need to amend the commit with `git commit --amend --author="Talha Can Havadar<EMAIL_ADDRESS>then you need to finalize the rebase `git rebase --continue` and then force push the changes. That way you will see that the author field of the first commit will be fixed as following

commit 0084c56d63bc478f27fe75e31f48f4fb3377e0b7
Author: Talha Can Havadar<EMAIL_ADDRESS>Date:   Tue Nov 1 10:57:47 2022 +0100
drivers: bmp581: Add support for bmp581 ic

This commit adds source and header files required for bmp581 I2C driver.
I have used bmp581_user.h to add more usage related definitions
but bmp581.h to add hardware related definitions.

Signed-off-by: Talha Can Havadar<EMAIL_ADDRESS>Signed-off-by: Gerhard Jörges<EMAIL_ADDRESS>


Loading native library in JNI

Describe the bug && To Reproduce
Hi all,
i'm testing the features of the library and i imported the library from maven in a Java 8 project. So far so good, but when im launching a simple main it returns this:
...
Hello world!
Exception in thread "main" java.lang.UnsatisfiedLinkError: dev.onvoid.webrtc.media.audio.AudioDeviceModule.initialize(Ldev/onvoid/webrtc/media/audio/AudioLayer;)V
	at dev.onvoid.webrtc.media.audio.AudioDeviceModule.initialize(Native Method)
	at dev.onvoid.webrtc.media.audio.AudioDeviceModule.<init>(AudioDeviceModule.java:40)
	at Main.initFactory(Main.java:44)
	at Main.main(Main.java:21)

Process finished with exit code 1

Expected behavior
the webrtc-java.dll contained in the maven library webrtc-java-0.8.0-windows-x86_64.jar is not found. For a workaround i extracted it manually in the root project an loaded it with System.loadLibrary("webrtc-java"); (this is OK). It is an expected behavior?
btw i'm using IntellJ 2023.1, from the project structure/library i can specify the dll only like classpath and not like native library path...
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 11 & IntellJ 2023.1
Version 0.8.0

Additional context
Add any other context about the problem here.

resolved


WalletConnect scanning QR code does not work

Looks like this issue has surfaced up on both iOS and Android platforms.
After scanning the app (tried on OpenSea and UniSwap) the WalletConnect goes to the loading screen where remains stuck The screen did not get to 'approve' at all.

Works now if both platforms. Could be a WalletConnect issue


Add coming soon message to untranslated sections

This pr adds a "coming soon" message to untranslated sections of the platform

[x] "Adult Star Page" (Analytics index) /schools/:school/analysis
[x] Analytics pages /schools/:school/analysis/:id
[x] Find out more pages /:school/find_out_more/:id
[x] Compare schools pages (/benchmarks)

The message will be display in a neutral blue bar, prominently at the top of the page. See _prompt_to_review_target.html.erb as a reference for styling.
With suggested initial text:
"We're still working towards having Energy Sparks fully translated into Welsh. We've prioritised translating our educational activities and pupil facing activities. Translating this section of the site is still in progress, so for now we are defaulting to English."


Workflows: HTTP Download throws "java.net.unknownHostException: Unable to resolve host"

Hey,
when I try to test to download a file with the HTTP Download action, it always throws "java.net.unknownHostException: Unable to resolve host", no matter what domain I specify.

That's local dns issue, not sure why, I can't reproduce this, it shows 301 which means connected fine.

Uninstall & Reinstall solved the problem, now working fine.


fix unintended modification of source when parsing input file

head and tail should be based on copies of the actual src.
this fixes unintended modification of the underlying shared byte array which results in diffs and unncecessary writes.
should fix https://github.com/daixiang0/gci/issues/125

@mhofstetter thanks for your contribution!