test_wal_acceptor_async.py::test_wal_deleted_after_broadcast is flaky

https://github.com/neondatabase/neon/runs/7839377748?check_suite_focus=true
    assert wal_size_after_checkpoint < 16 * 2.5
E   assert 48.0 < (16 * 2.5)

Test checks that postgres will delete old WAL segments after they're broadcasted to safekeepers and not used anymore. This time it failed in CI because of 3 segments left on disk (expected 2).

python log
=================================== FAILURES ===================================
_______________________ test_wal_deleted_after_broadcast _______________________
[gw3] linux -- Python 3.9.2 /github/home/.cache/pypoetry/virtualenvs/zenith-_pxWMzVK-py3.9/bin/python
test_runner/batch_others/test_wal_acceptor.py:981: in test_wal_deleted_after_broadcast
    assert wal_size_after_checkpoint < 16 * 2.5
E   assert 48.0 < (16 * 2.5)
------------------------------ Captured log setup ------------------------------
2022-08-15 14:14:20.734 INFO [neon_fixtures.py:2234] get_test_output_dir is /tmp/test_output/test_wal_deleted_after_broadcast
2022-08-15 14:14:20.734 INFO [neon_fixtures.py:2255] test_output_dir is /tmp/test_output/test_wal_deleted_after_broadcast
------------------------------ Captured log call -------------------------------
2022-08-15 14:14:20.735 INFO [neon_fixtures.py:832] Config:
default_tenant_id = '42fc3ffa994740e09e31d33e49a7c8ba'

[etcd_broker]
broker_endpoints = ['http://<IP_ADDRESS>:18001']
etcd_binary_path = '/usr/local/bin/etcd'

[pageserver]
id=1
listen_pg_addr = 'localhost:18182'
listen_http_addr = 'localhost:18183'
auth_type = 'Trust'

[[safekeepers]]
id = 1
pg_port = 18184
http_port = 18185
sync = false
[[safekeepers]]
id = 2
pg_port = 18186
http_port = 18187
sync = false
[[safekeepers]]
id = 3
pg_port = 18188
http_port = 18189
sync = false
2022-08-15 14:14:20.736 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local init --config=/tmp/tmpy99brp4b"
2022-08-15 14:14:20.736 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.466 INFO [neon_fixtures.py:1148] Run success: initializing tenantid 42fc3ffa994740e09e31d33e49a7c8ba
initial timeline f594607fd4fc5ca06a8a0cbb55396541 created
pageserver init succeeded

2022-08-15 14:14:23.466 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local pageserver start"
2022-08-15 14:14:23.466 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.551 INFO [neon_fixtures.py:1148] Run success: Starting pageserver at 'localhost:18182' in '/tmp/test_output/test_wal_deleted_after_broadcast/repo'
Pageserver started

2022-08-15 14:14:23.551 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local safekeeper start 1"
2022-08-15 14:14:23.551 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.627 INFO [neon_fixtures.py:1148] Run success: Starting safekeeper at '<IP_ADDRESS>:18184' in '/tmp/test_output/test_wal_deleted_after_broadcast/repo/safekeepers/sk1'
Safekeeper started

2022-08-15 14:14:23.631 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local safekeeper start 2"
2022-08-15 14:14:23.631 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.713 INFO [neon_fixtures.py:1148] Run success: Starting safekeeper at '<IP_ADDRESS>:18186' in '/tmp/test_output/test_wal_deleted_after_broadcast/repo/safekeepers/sk2'
Safekeeper started

2022-08-15 14:14:23.716 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local safekeeper start 3"
2022-08-15 14:14:23.717 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.789 INFO [neon_fixtures.py:1148] Run success: Starting safekeeper at '<IP_ADDRESS>:18188' in '/tmp/test_output/test_wal_deleted_after_broadcast/repo/safekeepers/sk3'
Safekeeper started

2022-08-15 14:14:23.793 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local timeline branch --branch-name test_wal_deleted_after_broadcast --tenant-id 42fc3ffa994740e09e31d33e49a7c8ba"
2022-08-15 14:14:23.793 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.884 INFO [neon_fixtures.py:1148] Run success: Created timeline 'ba22c85612ce2b98e1e8a40d106389e1' at Lsn 0/16960E8 for tenant: 42fc3ffa994740e09e31d33e49a7c8ba. Ancestor timeline: 'main'

2022-08-15 14:14:23.885 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local pg create --tenant-id 42fc3ffa994740e09e31d33e49a7c8ba --branch-name test_wal_deleted_after_broadcast --port 18190 test_wal_deleted_after_broadcast_pg_node"
2022-08-15 14:14:23.885 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:23.911 INFO [neon_fixtures.py:1148] Run success:
2022-08-15 14:14:23.911 INFO [neon_fixtures.py:1817] Starting postgres node test_wal_deleted_after_broadcast_pg_node
2022-08-15 14:14:23.912 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local pg start --tenant-id 42fc3ffa994740e09e31d33e49a7c8ba --port=18190 test_wal_deleted_after_broadcast_pg_node"
2022-08-15 14:14:23.912 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:24.99  INFO [neon_fixtures.py:1148] Run success: Starting existing postgres test_wal_deleted_after_broadcast_pg_node...
Safekeepers synced on 0/0
Extracting base backup to create postgres instance: path=/tmp/test_output/test_wal_deleted_after_broadcast/repo/pgdatadirs/tenants/42fc3ffa994740e09e31d33e49a7c8ba/test_wal_deleted_after_broadcast_pg_node port=18190
Starting postgres node at 'host=<IP_ADDRESS> port=18190 user=cloud_admin dbname=postgres'

2022-08-15 14:14:24.100 INFO [neon_fixtures.py:1932] Postgres startup took 0.21514439582824707 seconds
2022-08-15 14:14:24.849 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:24.853 INFO [test_wal_acceptor.py:948] LSN delta: 22.761741638183594 MB, current WAL size: 16.0 MB
2022-08-15 14:14:26.148 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:26.149 INFO [test_wal_acceptor.py:948] LSN delta: 20.75580596923828 MB, current WAL size: 32.0 MB
2022-08-15 14:14:32.908 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:32.908 INFO [test_wal_acceptor.py:948] LSN delta: 20.68871307373047 MB, current WAL size: 32.0 MB
2022-08-15 14:14:43.289 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:43.290 INFO [test_wal_acceptor.py:948] LSN delta: 20.67340850830078 MB, current WAL size: 32.0 MB
2022-08-15 14:14:52.172 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:52.173 INFO [test_wal_acceptor.py:948] LSN delta: 20.67176055908203 MB, current WAL size: 32.0 MB
2022-08-15 14:14:55.830 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:55.831 INFO [test_wal_acceptor.py:948] LSN delta: 20.667388916015625 MB, current WAL size: 32.0 MB
2022-08-15 14:14:55.831 INFO [test_wal_acceptor.py:976] executing checkpoint
2022-08-15 14:14:55.837 INFO [test_wal_acceptor.py:944] executing INSERT to generate WAL
2022-08-15 14:14:55.838 INFO [test_wal_acceptor.py:948] LSN delta: 0.000335693359375 MB, current WAL size: 48.0 MB
---------------------------- Captured log teardown -----------------------------
2022-08-15 14:14:56.39  INFO [neon_fixtures.py:719] Cleaning up all storage and compute nodes
2022-08-15 14:14:56.39  INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local pg stop --tenant-id 42fc3ffa994740e09e31d33e49a7c8ba test_wal_deleted_after_broadcast_pg_node"
2022-08-15 14:14:56.40  INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:56.166 INFO [neon_fixtures.py:1148] Run success:
2022-08-15 14:14:56.167 INFO [neon_fixtures.py:2042] Stopping safekeeper 1
2022-08-15 14:14:56.167 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local safekeeper stop 1 -m immediate"
2022-08-15 14:14:56.167 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:56.315 INFO [neon_fixtures.py:1148] Run success: Stopping safekeeper 1 immediately...done!

2022-08-15 14:14:56.315 INFO [neon_fixtures.py:2042] Stopping safekeeper 2
2022-08-15 14:14:56.315 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local safekeeper stop 2 -m immediate"
2022-08-15 14:14:56.315 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:56.446 INFO [neon_fixtures.py:1148] Run success: Stopping safekeeper 2 immediately...done!

2022-08-15 14:14:56.447 INFO [neon_fixtures.py:2042] Stopping safekeeper 3
2022-08-15 14:14:56.447 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local safekeeper stop 3 -m immediate"
2022-08-15 14:14:56.447 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:56.600 INFO [neon_fixtures.py:1148] Run success: Stopping safekeeper 3 immediately...done!

2022-08-15 14:14:56.600 INFO [neon_fixtures.py:1356] Stopping pageserver with ['pageserver', 'stop', '-m', 'immediate']
2022-08-15 14:14:56.600 INFO [neon_fixtures.py:1123] Running command "/tmp/neon/bin/neon_local pageserver stop -m immediate"
2022-08-15 14:14:56.600 INFO [neon_fixtures.py:1124] Running in "/tmp/test_output/test_wal_deleted_after_broadcast/repo"
2022-08-15 14:14:56.730 INFO [neon_fixtures.py:1148] Run success: Stopping pageserver immediately...done!

2022-08-15 14:14:56.731 INFO [neon_fixtures.py:672] no remote storage was set up, skipping cleanup
==================================== PASSES ====================================

pageserver log
2022-08-15T14:14:21.012062Z  INFO created directory structure in /tmp/test_output/test_wal_deleted_after_broadcast/repo/tenants/42fc3ffa994740e09e31d33e49a7c8ba
2022-08-15T14:14:21.012220Z  INFO saving tenantconf: save tenantconf to /tmp/test_output/test_wal_deleted_after_broadcast/repo/tenants/42fc3ffa994740e09e31d33e49a7c8ba/config
2022-08-15T14:14:21.012433Z  INFO running initdb in /tmp/test_output/test_wal_deleted_after_broadcast/repo/tenants/42fc3ffa994740e09e31d33e49a7c8ba/tmp-timeline-f594607fd4fc5ca06a8a0cbb55396541...
2022-08-15T14:14:22.873240Z  INFO reached end of WAL at 0/16960E8
2022-08-15T14:14:23.360052Z  INFO created root timeline f594607fd4fc5ca06a8a0cbb55396541 timeline.lsn 0/16960E8
2022-08-15T14:14:23.484760Z  INFO version: git:863784a6debca9e6a63b1305735c4339d3e4c3ea
2022-08-15T14:14:23.484786Z  INFO Starting pageserver http handler on localhost:18183
2022-08-15T14:14:23.485045Z  INFO Starting pageserver pg protocol handler on localhost:18182
2022-08-15T14:14:23.485090Z  INFO daemonizing...
2022-08-15T14:14:23.485832Z  INFO Success, daemonized
2022-08-15T14:14:23.486936Z  INFO Using auth: Trust
2022-08-15T14:14:23.487048Z  INFO Starting wal receiver main thread, etcd endpoints: http://<IP_ADDRESS>:18001/
2022-08-15T14:14:23.488106Z  INFO No remote storage configured, skipping storage sync, considering all local timelines with correct metadata files enabled
2022-08-15T14:14:23.488189Z  INFO load tenantconf from /tmp/test_output/test_wal_deleted_after_broadcast/repo/tenants/42fc3ffa994740e09e31d33e49a7c8ba/config
2022-08-15T14:14:23.489044Z  INFO saving tenantconf: save tenantconf to /tmp/test_output/test_wal_deleted_after_broadcast/repo/tenants/42fc3ffa994740e09e31d33e49a7c8ba/config
2022-08-15T14:14:23.516026Z  INFO loading local timeline: loaded layer map with 1 layers at 0/16960E8, total physical size: 25575424
2022-08-15T14:14:23.541147Z  INFO wal_receiver_main: Processing timeline update: Add(ZTenantTimelineId { tenant_id: 42fc3ffa994740e09e31d33e49a7c8ba, timeline_id: f594607fd4fc5ca06a8a0cbb55396541 })
2022-08-15T14:14:23.541475Z  INFO activating tenant 42fc3ffa994740e09e31d33e49a7c8ba
2022-08-15T14:14:23.542006Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/f594607fd4fc5ca06a8a0cbb55396541}: WAL receiver broker started, connecting to etcd
2022-08-15T14:14:23.542093Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/f594607fd4fc5ca06a8a0cbb55396541}:etcd_subscription: Subscribing to broker value updates, key: SubscriptionKey { cluster_prefix: "neon", kind: Operation(ZTenantTimelineId { tenant_id: 42fc3ffa994740e09e31d33e49a7c8ba, timeline_id: f594607fd4fc5ca06a8a0cbb55396541 }, Safekeeper, Safekeeper(TimelineInfo)) }
2022-08-15T14:14:23.543026Z  INFO Starting an HTTP endpoint at <IP_ADDRESS>:18183
2022-08-15T14:14:23.543592Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/f594607fd4fc5ca06a8a0cbb55396541}: Subscribed for etcd timeline changes, waiting for new etcd data
2022-08-15T14:14:23.543839Z  INFO GET /v1/status 200 OK
2022-08-15T14:14:23.804178Z  INFO /timeline_create{tenant=42fc3ffa994740e09e31d33e49a7c8ba new_timeline=None lsn=None}: branching timeline ba22c85612ce2b98e1e8a40d106389e1 from timeline f594607fd4fc5ca06a8a0cbb55396541 at last record LSN: 0/16960E8
2022-08-15T14:14:23.874926Z  INFO /timeline_create{tenant=42fc3ffa994740e09e31d33e49a7c8ba new_timeline=None lsn=None}: branched timeline ba22c85612ce2b98e1e8a40d106389e1 from f594607fd4fc5ca06a8a0cbb55396541 at 0/16960E8
2022-08-15T14:14:23.875195Z  INFO /timeline_create{tenant=42fc3ffa994740e09e31d33e49a7c8ba new_timeline=None lsn=None}:loading local timeline: loaded layer map with 0 layers at 0/16960E8, total physical size: 0
2022-08-15T14:14:23.875275Z  INFO wal_receiver_main: Processing timeline update: Add(ZTenantTimelineId { tenant_id: 42fc3ffa994740e09e31d33e49a7c8ba, timeline_id: ba22c85612ce2b98e1e8a40d106389e1 })
2022-08-15T14:14:23.875409Z  INFO POST /v1/tenant/42fc3ffa994740e09e31d33e49a7c8ba/timeline 201 Created
2022-08-15T14:14:23.875498Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: WAL receiver broker started, connecting to etcd
2022-08-15T14:14:23.875535Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:etcd_subscription: Subscribing to broker value updates, key: SubscriptionKey { cluster_prefix: "neon", kind: Operation(ZTenantTimelineId { tenant_id: 42fc3ffa994740e09e31d33e49a7c8ba, timeline_id: ba22c85612ce2b98e1e8a40d106389e1 }, Safekeeper, Safekeeper(TimelineInfo)) }
2022-08-15T14:14:23.876391Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Subscribed for etcd timeline changes, waiting for new etcd data
2022-08-15T14:14:23.944833Z  INFO basebackup{timeline=ba22c85612ce2b98e1e8a40d106389e1 tenant=42fc3ffa994740e09e31d33e49a7c8ba}: starting
2022-08-15T14:14:23.944929Z  INFO basebackup{timeline=ba22c85612ce2b98e1e8a40d106389e1 tenant=42fc3ffa994740e09e31d33e49a7c8ba}: taking basebackup lsn=0/16960E8, prev_lsn=0/1696070 (full_backup=false)
2022-08-15T14:14:23.970790Z  INFO basebackup{timeline=ba22c85612ce2b98e1e8a40d106389e1 tenant=42fc3ffa994740e09e31d33e49a7c8ba lsn="0/16960E8"}: done
2022-08-15T14:14:24.835260Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(1), wal_source_connstr: "host=<IP_ADDRESS> port=18184 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: NoExistingConnection }
2022-08-15T14:14:24.835427Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18184 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:24.836433Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:24.836990Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/16BEE30, dbname: None }
2022-08-15T14:14:24.837124Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/16960E8 starting replication from 0/16960E8, safekeeper is at 0/16BEE30...
2022-08-15T14:14:24.846781Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: caught up at LSN 0/16BEE30
2022-08-15T14:14:25.877072Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_source_connstr: "host=<IP_ADDRESS> port=18188 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: LaggingWal { current_commit_lsn: 0/1AC7C88, new_commit_lsn: 0/26493C0, threshold: 10485760 } }
2022-08-15T14:14:25.943913Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection cancelled
2022-08-15T14:14:25.943996Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: walreceiver interrupted
2022-08-15T14:14:25.944157Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18188 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:25.945138Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:25.955966Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/27FDFE0, dbname: None }
2022-08-15T14:14:25.956216Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/19AFFB0 starting replication from 0/19AFFB0, safekeeper is at 0/27FDFE0...
2022-08-15T14:14:31.689479Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: caught up at LSN 0/2800000
2022-08-15T14:14:31.901577Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(2), wal_source_connstr: "host=<IP_ADDRESS> port=18186 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: LaggingWal { current_commit_lsn: 0/2B847E0, new_commit_lsn: 0/3679960, threshold: 10485760 } }
2022-08-15T14:14:31.957209Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection cancelled
2022-08-15T14:14:32.021139Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18186 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:32.022261Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:32.022710Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/3679960, dbname: None }
2022-08-15T14:14:32.022835Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/28BFFD8 starting replication from 0/28BFFD8, safekeeper is at 0/3679960...
2022-08-15T14:14:37.632897Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: caught up at LSN 0/3680000
2022-08-15T14:14:44.049142Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_source_connstr: "host=<IP_ADDRESS> port=18188 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: LaggingWal { current_commit_lsn: 0/4ABF4F0, new_commit_lsn: 0/54E1320, threshold: 10485760 } }
2022-08-15T14:14:44.104163Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection cancelled
2022-08-15T14:14:44.104594Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: walreceiver interrupted
2022-08-15T14:14:44.105037Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18188 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:44.105947Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:44.126369Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/551FFD8, dbname: None }
2022-08-15T14:14:44.126603Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/475FFD0 starting replication from 0/475FFD0, safekeeper is at 0/551FFD8...
2022-08-15T14:14:49.092813Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(1), wal_source_connstr: "host=<IP_ADDRESS> port=18184 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: LaggingWal { current_commit_lsn: 0/57B9FD8, new_commit_lsn: 0/61DFFF8, threshold: 10485760 } }
2022-08-15T14:14:49.105091Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection cancelled
2022-08-15T14:14:49.162997Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18184 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:49.178544Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:49.189462Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/61DFFF8, dbname: None }
2022-08-15T14:14:49.189711Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/539FFC8 starting replication from 0/539FFC8, safekeeper is at 0/61DFFF8...
2022-08-15T14:14:54.974127Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(2), wal_source_connstr: "host=<IP_ADDRESS> port=18186 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: LaggingWal { current_commit_lsn: 0/655DFC8, new_commit_lsn: 0/6FE0A00, threshold: 10485760 } }
2022-08-15T14:14:54.974244Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: walreceiver interrupted
2022-08-15T14:14:54.974436Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18186 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:54.976424Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection cancelled
2022-08-15T14:14:54.978597Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:54.979283Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/6FE0A00, dbname: None }
2022-08-15T14:14:54.979437Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/61C0000 starting replication from 0/61C0000, safekeeper is at 0/6FE0A00...
2022-08-15T14:14:56.149729Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(3), wal_source_connstr: "host=<IP_ADDRESS> port=18188 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: LaggingWal { current_commit_lsn: 0/6FE0A00, new_commit_lsn: 0/7E381A8, threshold: 10485760 } }
2022-08-15T14:14:56.193414Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection cancelled
2022-08-15T14:14:56.193508Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: walreceiver interrupted
2022-08-15T14:14:56.194027Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18188 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:56.195652Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connected!
2022-08-15T14:14:56.196886Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: IdentifySystem { systemid:<PHONE_NUMBER>856323642, timeline: 1, xlogpos: 0/7E381A8, dbname: None }
2022-08-15T14:14:56.197048Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: last_record_lsn 0/649FFD8 starting replication from 0/649FFD8, safekeeper is at 0/7E381A8...
2022-08-15T14:14:56.593570Z  WARN walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}:safekeeper_handle_db: Connection aborted: error communicating with the server: Connection reset by peer (os error 104)
2022-08-15T14:14:56.620864Z  INFO Got SIGQUIT. Terminating in immediate shutdown mode
2022-08-15T14:14:56.638566Z  WARN wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: WAL receiving task failed: walreceiver connection handling failure: connection closed
2022-08-15T14:14:56.638676Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(2), wal_source_connstr: "host=<IP_ADDRESS> port=18186 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: NoExistingConnection }
2022-08-15T14:14:56.638788Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18186 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'
2022-08-15T14:14:56.639138Z  WARN wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: WAL receiving task failed: walreceiver connection handling failure: Failed to open walreceiver conection: error connecting to server: Connection refused (os error 111): Connection refused (os error 111)
2022-08-15T14:14:56.639226Z  INFO wal_connection_manager{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: Switching to new connection candidate: NewWalConnectionCandidate { safekeeper_id: NodeId(1), wal_source_connstr: "host=<IP_ADDRESS> port=18184 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'", reason: NoExistingConnection }
2022-08-15T14:14:56.639321Z  INFO walreceiver_connection{id=42fc3ffa994740e09e31d33e49a7c8ba/ba22c85612ce2b98e1e8a40d106389e1}: connecting to host=<IP_ADDRESS> port=18184 options='-c ztimelineid=ba22c85612ce2b98e1e8a40d106389e1 ztenantid=42fc3ffa994740e09e31d33e49a7c8ba'

There are walreceiver reconnects in pageserver logs that I cannot reproduce locally. It looks like CI is slow and some safekeeper/pageserver processes are not responsive sometimes?

Haven't seen this for a while.

I could get this assert on b21f7382c (dated 2022-08-15) and then on f99ccb504~1, when running 5 parallel test instances in a loop, on iterations 9, 8, 16 as below:
ITERATION 16
5       ============================== 1 passed in 25.80s ==============================
4       ============================== 1 passed in 31.10s ==============================
3       ============================== 1 passed in 31.46s ==============================
1       ============================== 1 passed in 31.66s ==============================
2       >       assert wal_size_after_checkpoint < 16 * 2.5

But it is not reproduced on f99ccb504 (I ran 100+ iterations), so I think this issue should be closed as resolved with https://github.com/neondatabase/neon/pull/2217.

Thanks! Closing.


change desmos api version to 1.7

adds actions, colors, for loop, other stuff that i've become dependent on


Added groups

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
yes

Fixed issues
#1

No support middleware for the group?

https://github.com/yiisoft/router-fastroute/pull/6

@samdark why you don't use typed properties?

Was no time to convert to these in this case. Do you want to help?


BigQueryVectorStore error when retrieving docs with filters (PR proposal)

Hi,
When I follow this I can retrieve my documents with filters.
https://python.langchain.com/v0.2/docs/integrations/vectorstores/google_vertex_ai_vector_search/
But if I instanciate my existing BigQueryVectorStore without adding text in the same environment I cannot retrieve document with filters.
Example:
Create a BigQueryVectorStore  and use add_text to add documents.
In a saparete notebook use:
from langchain_google_vertexai import VertexAIEmbeddings

embedding = VertexAIEmbeddings(
    model_name="textembedding-gecko@latest", project=PROJECT_ID
)
from langchain_google_community import BigQueryVectorStore

store = BigQueryVectorStore(
    project_id=PROJECT_ID,
    dataset_name=DATASET,
    table_name=TABLE,
    location=REGION,
    embedding=embedding,
)
docs = store.similarity_search_by_vector(query_vector, filter={"len": 6})
print(docs)

I get the error:
File c:\Users\geoff\OneDrive\Documents\GitHub\pcd-data-eu-genai-diorastra-orch\.venv\Lib\site-packages\langchain_google_community\bq_storage_vectorstores\_base.py:387, in BaseBigQueryVectorStore.similarity_search_by_vectors(self, embeddings, filter, k, with_scores, with_embeddings, **kwargs)
...
--> [240](file:///C:/Users/XXXX/OneDrive/Documents/GitHub/XXXX/.venv/Lib/site-packages/langchain_google_community/bq_storage_vectorstores/bigquery.py:240)     if self.table_schema[column] in ["INTEGER", "FLOAT"]:  # type: ignore[index]
    [241](file:///C:/Users/XXXX/OneDrive/Documents/GitHub/XXXX/.venv/Lib/site-packages/langchain_google_community/bq_storage_vectorstores/bigquery.py:241)         filter_expressions.append(f"base.{column} = {value}")
    [242](file:///C:/Users/XXXX/OneDrive/Documents/GitHub/XXXX/.venv/Lib/site-packages/langchain_google_community/bq_storage_vectorstores/bigquery.py:242)     else:

TypeError: 'NoneType' object is not subscriptable

It is like using add_text update the store variable with the BQ Schema. And if you don't add the embedding the schema is None
Same behavior when using the retriever:
retriever = store.as_retriever()
retriever.search_kwargs = {"k": 1, "filter": {"len": 6}}
relevant_documents = retriever.invoke(query)

Thanks for your help
UPDATE:
When loading a existing BQ vector store with already embedded documents in it the table_schema variable is None:

But add_text update the schema with the schema of the loaded document:

When it is getting instanciate the BigQueryVectorStore should get the schema of te current table ?
A workaround would be to get the schema and update it mannually:
store.table_schema = {'doc_id': 'STRING', 'content': 'STRING', 'embedding': 'FLOAT', 'len': 'INTEGER'}
Thanks again
Update:
PR: https://github.com/langchain-ai/langchain-google/pull/429

#429


Update to TypeScript

or maybe create a separate starter, as ts is not that popular (yet?) in the vuejs community.

Possible guide using vue-ts-loader: https://herringtondarkholme.github.io/2016/10/03/vue2-ts2/

How do you guys feel about? @anderly @vip32
I mean personally I <3 TypeScript, I'm sure people will change their minds eventually.
Should we leave it at ES6 for now, and maybe just have a small note on TS usage,
Or go full-on TypeScript?

i also love TS, however not convinced to use it together with vuejs. it's not as nicely integrated as with angular nowadays. also the vuejs community mostly seems to use es6. so if we do TS it should best be another template (choice).

maybe if this js template is done we instead can work on a more advanced vuejs template with:

typescript
bootstrap + fonts + icons
full server side rendering
unit + e2e tests

I think separate typescript template is a good idea. I've got a few more minor changes to this one (missed the namespace change in a few files, etc), but then we could move on to TS template.

Separate typescript template is better, I guess, this should be ASP NET Core for VueJS and not VueJS for ASP NET Core.
VueJS side should be ever mantening the project defaults.

So Steve Sanderson from the aspnet team took this template and updated it to TypeScript (with a few other tweaks) but you can find it with npm i -g aspnetcore-spa yo then yo aspnetcore-spa and install the Vue template. I think he merged it like an hour ago, so it might not be updated onto yeoman just yet.


bau: more java versions on travis

Pair: WillPa

I cancelled some of the allowed failure versions and it made the PR travis check go red instead of ignoring those, this should be good to merge


Remember my settings

When you download a video and wish to delete it, you have to select "Also delete this file from my computer" every time. Can. There be a checkbox to remember this setting so I do not need to do it for every download I want to delete?
https://spee.ch/f/IMG20181204152519

Thanks for opening this Oakey! For the download specific one, maybe it can be done along with:https://github.com/lbryio/lbry-desktop/issues/895
We could explore to see what other settings might be in this boat.


Set up automated testing

I'd like to set up automated testing, with Github Actions or Travis or whatever makes sense.
I have not done this on Github before, so I'm happy to have someone with more familiarity do it, but if not I wouldn't mind taking it on as a learning experience.

Huh I'm not sure what triggered this to get closed

Huh I'm not sure what triggered this to get closed

I went a bit crazy with linking PRs. That probably had something to do with it.


Add "protest" button to battleforthenet.com flow, ideally that passes through zipcode

This screen would ideally have a "protest" button in after-action-footer.tsx, like the widget does.

It should link to the same place as the button in the widget, and pass through the zipcode that the user has already entered in the same way.
It would look the same and use the "pin.svg" icon.

@holmesworcester how do we pass through the zipcode?

@tibetsprague https://github.com/fightforthefuture/battleforthenet-widget/blob/master/iframe/script.js#L273-L276

https://github.com/fightforthefuture/battleforthenet/pull/100


import errors.

i am getting the following error since last 3 days. not able to get rid of this.
'gcc' is not recognized as an internal or external command,
operable program or batch file.
Traceback (most recent call last):
File "C:/Users/allud/ocropus_venv/Scripts/ocropus-nlbin", line 15, in
import ocrolib
File "c:\python27\Lib\ocrolib_init_.py", line 12, in
import common
File "c:\python27\Lib\ocrolib\common.py", line 34, in
import lstm
File "c:\python27\Lib\ocrolib\lstm.py", line 38, in
import nutils
File "c:\python27\Lib\ocrolib\nutils.py", line 25, in
lstm_native = compile_and_load(lstm_utils)
File "c:\python27\Lib\ocrolib\native.py", line 69, in compile_and_load
path = compile_and_find(c_string,**keys)
File "c:\python27\Lib\ocrolib\native.py", line 65, in compile_and_find
raise CompileError()
ocrolib.native.CompileError
(ocropus_venv)
please help.

ocropy currently depends on gcc.
Check that gcc is installed on your system.
For ocropy team:
The native code can be dropped and replaced by np.einsum(), which is very fast.

I'm not sure if ocropy was ever tested to work on windows.

a) Ocropy is currently not supported to run on windows directly, also it might work with some hacks. Usually, for windows I would suggest you rather to use this docker container. However, some other people tried to run ocropy on windows already, see https://github.com/tmbdev/ocropy/issues/73.
b) @amitdo wrote:

The native code can be dropped and replaced by np.einsum(), which is very fast.

This sounds interesting. Can you create a PR for this?

This sounds interesting. Can you create a PR for this?

I will do so :-)

Another possible way to run ocropy on windows:
https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
I didn't try it (I only have Linux)

I am running Ocropy on bash for windows 10. It works fine. By default it does not run the GUI and so you cannot see any plots. I am not sure that it can.

solved this issue on windows itself.installed mingw gcc of latest version and compatible with python
eg. 64 bit mngwgcc on 64 bit python 2.7.14 on 64 bit windows 10. thanks for support


Update Code Documentation for core classes

[ ]  src/app/view/
[ ]  src/app/manufacturing
[ ]  src/app/core

@karanmrn this is the issue I was talking about


Implement Error.stackTraceLimit

We default to 10 with a max cap of 64.
Ref: https://v8.dev/docs/stack-trace-api

@bnoordhuis PTAL!
PS: Are you cooking something or shall I make a new release?


How to signup/login

Hi David,
I'm trying out several web stacks for a new project, and this looked real promising, but I couldn't login, am I doing anything obviously wrong?
git clone https://github.com/feathersjs-ecosystem/feathers-chat-react
cd feathers-chat-react
git checkout 36d56cbe80bbd5596f6a108b1de9db343b33dac3
npm install -g yarn
yarn install
yarn start

The server starts, I visit http://localhost:3000/ , I see the "Log in or signup" page, but clicking the buttons doesn't seem to do anything.
Ubuntu 20.10, Node.js v14.15.3<EMAIL_ADDRESS>Chromium 85, Firefox 86.

It works fine for me. Make sure you are running the feathers-chat api on port 3030 (the default for that repo). You can check the network requests to see if anything is wrong. If the server is not running you would probably see CORS failures in the console.

Ops you gotta run https://github.com/feathersjs/feathers-chat first, then it works.

(simultaneous comment oh yeah)


Update CLI description with highlights of browser providers mechanism

I have a feeling that we need to mention browser providers here as well somehow: https://github.com/DevExpress/testcafe/blob/master/src/cli/argument-parser.js#L24

ping @VasilyStrelyaev @MargaritaLoseva

I've updated this 3 hours ago in this pull request - https://github.com/DevExpress/testcafe/pull/725

@MargaritaLoseva Add closes directive to PR name then


Honor lookups during layout normalization for at least marks and kerning

Per f2f and https://github.com/googlefonts/fontc/issues/641#issuecomment-1847847586 we are not correctly handling lookups. We should for at least the layout types we generate for marks and kerning. Multiple lookups can be active and have overlapping rules. Resolution is:

Within a lookup the first matching subtable wins

For example (potential test?), in a lookup with two subtables that kern AW the first value is taken

For marks, the value from the last lookup wins.

That is, marks accumulate by assignment. Each new value overwrites any prior value.

For paripos, the value accumulates by addition

That is, if many lookups kern AW the final value is the sum of the adjustments

a fun detail of this: we can't just combine the lookups as we process them, because different language systems may reference different sets of lookups. This means that it is possible for one lang/script to (for instance) include two different pairpos lookups with adjustments for the same pair (in which case they are summed) but another lang/script to include only one of those lookups.
Basically: for interactions across lookup boundaries we can't do the work ahead of time, and instead need to do it for each language system.

Within a lookup the first matching subtable wins
For example (potential test?), in a lookup with two subtables that kern AW the first value is taken

I think it's more complicated than that at least for PairPos. The first glyph "A" could be in the coverage of multiple subtables, say one PairPosFormat1 contains pair "AW" and then another PairPosFormat1 subtable has the pair "AV"; if we only stop at the first occurence of "A" we will never evaluate the "AV" pair in the subsequent subtable.
Only when we have a match for both glyphs in the pair, not just the first, we can skip any duplicate pairs in following subtables.
I noticed this issue while attempting to use the updated layout-normalizer (following the #650 merge which was supposed to handle subtables) on the ufo2ft's compile-variable-features PR branch https://github.com/googlefonts/ufo2ft/pull/635#issuecomment-1855778142

As @simoncozens noted in chat, "you should stop at the first matching rule, not the first matching subtable. The coverage tables are just there to help you filter out subtables you don't need to process at all."
Quoting https://learn.microsoft.com/en-us/typography/opentype/spec/chapter2#coverage-table (emphasis mine)

If a glyph does not appear in a Coverage table, the client can skip that subtable and move immediately to the next subtable.

so doing this is actually incorrect:
https://github.com/googlefonts/fontc/blob/140c5694f1ebce3a237186d3959dc20bdca9864b/layout-normalizer/src/gpos.rs#L523-L526
... and in fact we are reporting as missing, pairs that are valid and which hb-shape can apply just fine, see https://github.com/googlefonts/ufo2ft/pull/635#issuecomment-1855883712
I attach below two fonts and the respective "markkern.txt" dumps from layout-normalizer, one font was built with regular fontmake, the other using ufo2ft/compile-variable-features branch linked above. The reported differences seem all to be false positive
Oswald-VF-main-vs-vfea-markkern.zip

I think it's more complicated than that at least for PairPos. The first glyph "A" could be in the coverage of multiple subtables, say one PairPosFormat1 contains pair "AW" and then another PairPosFormat1 subtable has the pair "AV"; if we only stop at the first occurence of "A" we will never evaluate the "AV" pair in the subsequent subtable.
Only when we have a match for both glyphs in the pair, not just the first, we can skip any duplicate pairs in following subtables.

Correct. It's a bit special in that sense for PairPosFormat1 in that matching coverage is not enough reason to stop. Only if the pair is found the search is stopped.  With PairPosFormat2 you stop if coverage matched.

With PairPosFormat2 you stop if coverage matched.

This used to be the case in HarfBuzz at least. I think the other engines still do this. Because each glyph2 is assigned a class, even if 0. So the search always "succeeds".
However, a while back, mostly as an optimization I think, I made HB not apply PairPos2 kerning if glyph2's class is 0. This has the effect now that it will cascade to the next subtables.

With PairPosFormat2 you stop if coverage matched.

This used to be the case in HarfBuzz at least. I think the other engines still do this. Because each glyph2 is assigned a class, even if 0. So the search always "succeeds".
However, a while back, mostly as an optimization I think, I made HB not apply PairPos2 kerning if glyph2's class is 0. This has the effect now that it will cascade to the next subtables.

I haven't tested other implementations.

With PairPosFormat2 you stop if coverage matched.

This used to be the case in HarfBuzz at least. I think the other engines still do this. Because each glyph2 is assigned a class, even if 0. So the search always "succeeds".
However, a while back, mostly as an optimization I think, I made HB not apply PairPos2 kerning if glyph2's class is 0. This has the effect now that it will cascade to the next subtables.

@behdad are you correcting yourself here, or are you elaborating? Please confirm if, for pairpos2, I can stop if the there's a glyph in the coverage table that was in a preceding subtable?

The problem here is that what you're doing in terms of dumping out all the rules - for all glyphs that are involved in those rules - is different from what a shaping engine would do to apply the rules, in that the shaping engine has a particular glyph that it's interested in at each position in the buffer. The algorithm for applying a lookup, as a shaping engine, is:

Iterate through all subtables.

You may skip a subtable if the current glyph does not appear in the coverage table.
If you find a rule in the current subtable which applies (that is, all glyphs in your current view of the buffer matches the glyphs involved in the rule - e.g. for single pos, single subst, multiple subst, if current glyph matches glyph in rule; for pair pos, if current and next glyphs match the glyph in the rule or their classes both match; chaining rules: pre and both context matches, etc.) then apply the rule and finish processing this lookup.

But what you're doing is just dumping out all the rules; so I suggest you just dump out all the contexts (single glyph for single pos, single subst and multiple subst; pair of glyph for both pairpos1 and pairpos2; several glyphs for ligature subst, and so on), and de-duplicate the contexts, first one wins.

@behdad are you correcting yourself here, or are you elaborating? Can you confirm that, for pairpos2, I can stop if the there's a glyph in the coverage table that was in a preceding subtable?

Yes, you can assume that you can stop there. HarfBuzz works slightly different but you can ignore that.

I found the clearest expression of the logic in FontForge docs:

Within a lookup, the subtables will be applied in order until one of them actually does something. Then no further subtables will be executed. Note that this is different from the way lookups behave – all active lookups will always be applied, but only one subtable in a lookup will be.

(my emphasis)

I think this was largely addressed in #662; will open new issues for any specific problems if we encounter them.


Jitter in UITableViews

When used UITableView as the next view for Swipeable view, the sweep doesn't work smoothly.
Is there any other way to use this library for TableViews?

did you find any solution for this, actually I am facing this same issue,
please help me out from this.

I ended up forking it and added some commits to fix this issue and also added some more customisation options. You may use it if you like it https://github.com/SandeepAggarwal/ZLSwipeableView

okay, I'll try and let you know, if I'll have any query.

Glad, it helped you.


Add photo to each case

Let users add photo of the client to each case

closing this issue as we're not implementing this


debug: collect-info.sh enhancements

The PR does two things:

Change date format. Exclude colon symbol from the date format which is the name  of the result tarball, because tar utility complains with the following error on attempt to extract the folder:
tar: Cannot connect to eve-info-v7-2023-09-22T14\: resolve failed

Now the resulting tarball name will be as follows:
   eve-info-v8-Tue-26-Sep-2023-10-03-18.tar.gz

which does not cause any nasty errors.

Add read-logs mode. We need a very simple command which can sort and read gzipped logs in one looooong sheet, which can be redirected to a JSON file and processed afterwards. Here it is: call collect-info.sh from the extracted tarball on your machine.
collect-info.sh          : reads all (device and all applications logs) and outputs in JSON
collect-info.sh -d       : reads device logs and outputs in JSON
collect-info.sh -a UUID  : reads application logs and outputs in JSON

Add a few additional command and files outputs: ls -la /dev/, free, vmstat, iomem, /sys/fs/cgroup/memory

arm64 build is failing due to eve-ipxe package. Maybe @jsfakian has some clue about this issue....

arm64 build is failing due to eve-ipxe package. Maybe @jsfakian has some clue about this issue...

I tried it locally on my MacOS, and it seems to compile.
jsfakian@ioanniss-mbp-2 eve % make eve-ipxe
Creating go builder image for user eve
#1 [internal] load build definition from Dockerfile
#1 sha256:871234f00f714bffe35713c7a34e0e7c53cc09ec2f87e860f48026b96ca13f70
#1 transferring dockerfile: 37B done
#1 DONE 0.0s

#2 [internal] load .dockerignore
#2 sha256:292bc7163d5e0c76b61cc9d5d8674f693afd8ea1550f00d7134c6042e92f481f
#2 transferring context: 2B done
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/library/golang:1.20.1-alpine
#3 sha256:b8824521f6804ab725b9546bc2d1925b2388c62a5447343ce12b785b0df9a5a5
#3 DONE 0.6s

#4 [ 1/13] FROM docker.io/library/golang:1.20.1-alpine@sha256:87d0a3309b34e2ca732efd69fb899d3c420d3382370fd6e7e6d2cb5c930f27f9
#4 sha256:86d30c9219a63ea6d0eba48d9cc87e0d9c55e38489e665ca396dfd17cfba1c9a
#4 DONE 0.0s

#5 [ 2/13] RUN apk add --no-cache openssh-client git gcc linux-headers libc-dev util-linux libpcap-dev bash vim make protobuf protobuf-dev sudo tar curl graphviz ttf-freefont patch dnsmasq
#5 sha256:3cacc40d5ebac653f1ad71c078900c83a6be0782971d961326044acaf16fdd67
#5 CACHED

#8 [ 5/13] RUN sed -ie /:1001:/d /etc/passwd /etc/shadow ; sed -ie /:1001:/d /etc/group || :
#8 sha256:d1a8304df497d0a28438bf2bd3b3a9c539ae1dfbbf1f4b85235ad64f0c2df4ea
#8 CACHED

#14 [11/13] RUN go install github.com/seamia/protodot@87817c3d0a8e7af753af15508b51292e941bc7c6
#14 sha256:a5f93f3c1674016af656a64ede4611bc8516d76c467398e57270ad0bc62d78be
#14 CACHED

#7 [ 4/13] RUN deluser eve ; delgroup eve || :
#7 sha256:58f65c959668304ab14ba185a09f8cac19c803829ef069bf6b9d74e8647f9a5d
#7 CACHED

#6 [ 3/13] RUN apk --no-cache --repository https://dl-cdn.alpinelinux.org/alpine/v3.16/main add -U --upgrade zfs-dev zfs-libs
#6 sha256:fe9ad77350dac14c4f613bfe0bb0ca42d38ab166690018b4640cdba732d49e23
#6 CACHED

#12 [ 9/13] RUN go install<EMAIL_ADDRESS>#12 sha256:c327870d9510e660b2ba0004129531c5138ac339a924c6cbdc91349131618ed8
#12 CACHED

#15 [12/13] RUN mv /go/bin/protodot /usr/local/bin
#15 sha256:68d8ff6fe4248268a642fd73df4ee42893a0b54cb29d0222698b1cb69aafcc2a
#15 CACHED

#9 [ 6/13] RUN addgroup -g 1001 eve && adduser -h /home/eve -G eve -D -H -u 1001 eve
#9 sha256:e8648550919e2a92b30d889d5db70dad5e6b0eae39c9cefcac5a04ec39099229
#9 CACHED

#10 [ 7/13] RUN echo "eve ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/eve
#10 sha256:8781aac567f44bd268c530ffc23a7dc510a1e8e4336e35e1f4def4c9b6799cbf
#10 CACHED

#11 [ 8/13] RUN OS="$(uname -o | tr '[:upper:]' '[:lower:]')" && PLATFORM="$(go version | sed 's#^.*'${OS}'/##g')" && curl -o /usr/local/bin/dep -L "https://github.com/golang/dep/releases/download/v0.5.4/dep-${OS}-${PLATFORM}" && chmod +x /usr/local/bin/dep
#11 sha256:356ddfbbe14d96704f0663bc5c9be28d87ca40a19c6c4ddd479b344665568967
#11 CACHED

#13 [10/13] RUN go install<EMAIL_ADDRESS>#13 sha256:67628aabee56edd4c09c2b6cd4895c788893212c358374dc35adfb1ae111fa47
#13 CACHED

#16 [13/13] RUN mv /go/bin/* /usr/bin
#16 sha256:b0076535cce7f07e1e504f82c5614c6e2496811483128680a395af7e289c3e4c
#16 CACHED

#17 exporting to image
#17 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#17 exporting layers done
#17 writing image sha256:a70aa3d06080660e6042f43e0a3c386cb42ad8d22a7e432940b8914a5e63bd5e done
#17 naming to docker.io/library/eve-build-eve done
#17 DONE 0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
eve-build-eve docker container is ready to use
Done building /Users/jsfakian/Documents/src/eve/build-tools/bin/linuxkit
Building "lfedge/eve-ipxe:39473106fdccfc475245c30ab33f640b8cbd5b21"
checking for docker.io/lfedge/eve-ipxe:39473106fdccfc475245c30ab33f640b8cbd5b21 in local cache...
docker.io/lfedge/eve-ipxe:39473106fdccfc475245c30ab33f640b8cbd5b21 arm64 not found in local cache, checking registry
docker.io/lfedge/eve-ipxe:39473106fdccfc475245c30ab33f640b8cbd5b21 arm64 found on registry
Build complete, not pushing, all done.

Difference to the previous version:

Make date format as follows "+%Y-%m-%d-%H-%M-%S"
Check the existence of the 'persist-newlog' directory in the same script folder and switch to extraction if found

Difference to the previous version:

yetus fix (hallelujah!)


Transfers asset_usd_price column errors

Price is being logged multiple times I believe. For example transfer 0xe5323be52c1d29ac02e3da78e7393d36cef13af545e0d1625fc5412d422caa9f is USDC but has 4 prices including ETH in the table.
select transfer_id, origin_transacting_asset, asset_usd_price, update_time from transfers_with_price where transfer_id = '0xe5323be52c1d29ac02e3da78e7393d36cef13af545e0d1625fc5412d422caa9f'
Result

transfer_id
origin_transacting_asset
asset_usd_price
update_time

0xe5323be52c1d29ac02e3da78e7393d36cef13af545e0d1625fc5412d422caa9f
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
1.001
2023-04-16 00:35:15.019869

0xe5323be52c1d29ac02e3da78e7393d36cef13af545e0d1625fc5412d422caa9f
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
1
2023-04-16 00:35:15.019869

0xe5323be52c1d29ac02e3da78e7393d36cef13af545e0d1625fc5412d422caa9f
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
2095.33
2023-04-16 00:35:15.019869

0xe5323be52c1d29ac02e3da78e7393d36cef13af545e0d1625fc5412d422caa9f
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
1.002
2023-04-16 00:35:15.019869

any chance i am writing this query wrong?

Transfers side completed, router liquidity still in progress.

Fixed double volume issues on explorer and DB.


Update serverless3 node20

When merged, I will cut a release to NPM.

Sure will add the details. Testing it internally will merge after the tests have passed.

Should we check for the sls version in the plugin?

@claydanford I've updated the README with version guidance. I checked some serverless plugins and I dont see a version check. Do we still need it?

sls v3 has been out for a while so we are okay to not include the check.


Cannot import order if minimum order amount is set/activated

\Magento\Quote\Model\Quote::validateMinimumAmount()

Hi @JeroenVanLeusden, thx for the PRs we will look into this end of the day.

Hi @JeroenVanLeusden, thanks again for the PR, just merged and releases into 1.4.20


Error: SHA mismatch for heroku-cli

Please help me to solve this error:
Installing Heroku Toolbelt v4... ! Heroku client internal error.
! Search fot help at: https://help.heroku.com
! Or report a bug at: https://github.com/heroku/heroku/issues/new
Error:		SHA mismatch for heroku-cli
Command:	heroku login
Version:		heroku/toolbelt/3.42.20  ruby/1.9.3
More informastion in c:/Users/Administrator/.heroku/error.log
And this is the error.log:
Heroku client internal error.
SHA mismatch for heroku-cli
C:/Program Files/Heroku/lib/heroku/jsplugin.rb:140:in setup' C:/Program Files/Heroku/lib/heroku/cli.rb:24:in start'
C:/Program Files/Heroku/bin/heroku:29:in `'
Thanks...

Could you please try running the command again (it may have been a bad download) and if it does not work, attach the command you are attempting to run as well as the output of heroku version

I observe the same problem on a fresh install of the heroku toolbelt on CentOS 7
$ heroku version
heroku-cli: Installing Toolbelt v4... !    Heroku client internal error.
 !    Search for help at: https://help.heroku.com
 !    Or report a bug at: https://github.com/heroku/heroku/issues/new

    Error:       SHA mismatch for heroku-cli (RuntimeError)
    Command:     heroku version
    HTTP Proxy:  http://corporate.proxy:8080
    HTTPS Proxy: http://corporate.proxy:8080
    Version:     heroku-toolbelt/3.42.37 (x86_64-linux) ruby/2.3.0
    Error ID:    aeb6919219ad4294b056e0b9666b9d18

    More information in /home/user/.heroku/error.log

and the .heroku/error.log:
Heroku client internal error.
SHA mismatch for heroku-cli
/usr/local/heroku/lib/heroku/jsplugin.rb:146:in `setup'
/usr/local/heroku/lib/heroku/cli.rb:27:in `start'
/usr/local/heroku/bin/heroku:24:in `<main>'

I have tried multiple times with different commands, to no avail.
Is there a way to get the download URL so I can try downloading the file directly?

@mhutter The download URLs are available here: https://cli-assets.heroku.com/master/manifest.json .  For your platform, you would want to download https://cli-assets.heroku.com/master/4.27.23-df3c8ac/linux/amd64/heroku-cli and verify it matches the SHA 49f642ecd566dca9222d742bba2e785552c5e4e2 .  Assuming a proper download, you would want to drop it in ~/.heroku/heroku-cli.  In the future you may get errors when you try and update again, please let me know if you do and I can help you debug this.

@ransombriggs thanks for the info. Using the manifest I was able to download the binary and verify it, no problems at all.
I suspect our corporate proxy, which does SSL-scanning by performing a "man in the middle"-attack, to cause the problems. I'll probably be able to verify this next week (I requested *.heroku.com to be whitelisted from the scanning).
I have noticed that heroku maintains its own CA certificates in ~/.heroku/. I tried to add our Proxy CA to that bundle, to no avail. It would be great if the Heroku client would instead use the OS'es CA certificates.

@mhutter Do you happen to know what software your corporate proxy uses?  I have an extra computer with ubuntu that I was going to use as a proxy server so I can recreate proxy issues people have encountered, but want to make sure I match what people are experiencing.

@ransombriggs that would be McAffee Web Gateway :-S

Whitelisting *.heroku.com did resolve the issue for me.

@mhutter Thanks for letting us know.  We have started work on integrating the OS certificates better so that other people do no encounter the same issue.


Bridge | Allowance error

Describe the bug
Bridge gives an unknow error when transfering Horse >> Katla
Steps to reproduce

Go to https://bridge.katla.taiko.xyz/

transfer Horse > Katla network

Additional context
Additional context here.

I just changed the qty from 5 > 10 and after that I could sign the message and bridge the Horse.
FYI

@Azazel020 thanks for the information, a fix is on the way.


Add elastic logging and standardize app startup

I updated ElasticUrl config settings for Web and Api in test and both prod slots.

I updated ElasticUrl config settings for Web and Api in test and both prod slots.


Custom button in entity dialog

Hi @volkanceylan,
I'm trying to add a custom button (in a dialog) that calls a new XYZendpoint method.
So I have:

added the endpoint method like this:

[HttpPost]
public SaveResponse DoSomething(IUnitOfWork uow, SaveRequest request)
{
/* a bit of business logic here */
return new MyRepository().Update(uow, request);
}

added the new button like this (in my XYZDialog):

protected override List GetToolbarButtons()
{
List toolButtons = new List();
TicketDialog entityDialog = this;
toolButtons.Add(new ToolButton()
{
Title = "TEST",
Hint = "TEST 123",
CssClass = "save-and-close-button",
// OnClick = TBD
});
return toolButtons;
}
Then how I should call/bind such method from/to the button? In other words what I have to set on the OnClick attribute in order to call the "DoSomething" method?
I don't know if the right thing to do is use a Q method (like Q.Externals.PostToService() or Q.Externals.PostToUrl()) or there is a better/cleaner approach.
Thanks in advance
Best Regards

Build, transform templates, then you will have XYZService.DoSomething method.

Yes, Q.Confirm("asdada", () => XYZService.DoSomething())

Thank you very much Volkan for your support&patience (all these days I mean).
Your template is simply wonderful but the learning curve is a bit high for me!! ;-)

Forgot to close sorry!!


D2R launches but hangs when connecting to battle net

while trying to help a friend setup/use the loader we came across a weird situation. dont know where else to ask so here goes. we got his accounts.csv working to an extent - we were successfully able to launch at least 2 accounts of his 4. but later we got stuck as d2r would launch and then hang at the "connecting to battle net" prompt. it would not fail (and give only offline options). it would just hang.
i have 2 ideas as to what might be wrong that ill ask as questions.

are there any issues with using battle net accounts using email addresses with the "+" format (so main email is<EMAIL_ADDRESS>and the second is "myemail+abcd@gmail.com")?

he has extracted game files using casc or whatever. i saw the FAQ about it. we did not yet try "-direct -txt" as the cmd line args field. what happens when you do not specify these args and have extracted game files? could this be what is happening and leading to the "connecting to battle net" hang?

thank you to anyone for any info or help in advance i assure you its very appreciated!

Under investigation, as per private messages, this is likely an issue with accounts.csv not being filled out correctly or the password/token being wrong for the account.

Closed. As per direct messages, issue was sorted by your friend resolving mistakes in accounts.csv. Happy NY :)


carpentries-offline.org not resolving

Some systems don't seem to resolve via the Pi/dnsmasq correctly. Check this with a few operating systems.

Check on

[ ] Windows 7
[ ] Windows 10
[ ] Windows 11
[ ] macOS
[ ] Linux: Debian / Ubuntu
[ ] Linux: Fedora


📖 Update documentation for DisableServiceAccountToken

What this PR does / why we need it:
DisableServiceAccountToken is ambiguous about the scope of ServiceAccountTokens that it is disabling(host vs tenant) and could lead to mis-configuration that could lead to security problems as a reasonable person might want service account tokens in their pods, but certainly not HostServiceAccountTokens in most cases.
Usage:

set pod.Spec.AutomountServiceAccountToken.

/ok-to-test

/lgtm
/approve


Please build a new release of version 5 with fix https://github.com/square/okhttp/issues/8154

After fixing bug https://github.com/square/okhttp/issues/8154 there wasn't a new release.
Is it possible to create a new release of version 5?
Thanks.

Version 5.0.0-alpha.14 looks fine. Thanks!


Feature/content hub example

created an anchor ribbon example using the navbar for content hub pages

@remydenton I broke all that out into 2 PRs I put in earlier today:
https://github.com/bolt-design-system/bolt/pull/723 and https://github.com/bolt-design-system/bolt/pull/722
It'd probably make sense to review and OK those two first before merging in this one since @theSadowski's work here depends heavily on the fixes and cleanup I had to put in on Friday which should make the net new changes in this PR quite minimal.

Heads up, I'm planning to rebase and merge this as soon as #723 and $722 get in.

Closing in favor of #731, which is a rebased version of @theSadowski's work.


import error

unable to import Almofire(Xcode 8). So proceeding further is not possible. Please suggest me.

after running "pod install"... build it once by "command + B" to build it...

Sorry, we use our GitHub project for bug reports and feature requests. In the future, you should open questions like this on Stack Overflow and tag alamofire.
Cheers. 🍻

From our Contribution Guidelines
Asking Questions
We don't use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you'll be more likely to quickly solve your problem, and you'll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.


Inserting document with unique key violation

I am running the latest, as of 5.3.2016, minified Lokijs from Lokijs.org and NW.js v0.12.3-win-x64.
I am trying to generate an error when I attempt to insert() a duplicate key value. The collection has a unique constraint set for the 'name' key.  To be clear, I do receive an error when I update() duplicate keys.
When I run the code below, as expected, no additional documents are inserted into the collection and the database is saved. However, no errors are generated.
When I change the key value to something else, the unique document is then inserted and saved properly.
Should an error be thrown on insert() as is, or are there additional steps I need to perform first?
loki.db:
{"filename":"loki.db","collections":[{"name":"test","data":[{"name":"erik","meta":{"revision":0,"created":1462493328062,"version":0},"$loki":1}],"idIndex":[1],"binaryIndices":{},"constraints":null,"uniqueNames":["name"],"transforms":{},"objType":"test","dirty":true,"cachedIndex":null,"cachedBinaryIndex":null,"cachedData":null,"transactional":false,"cloneObjects":true,"cloneMethod":"parse-stringify","asyncListeners":false,"disableChangesApi":true,"autoupdate":false,"ttl":{"age":null,"ttlInterval":null,"daemon":null},"maxId":2,"DynamicViews":[],"events":{"insert":[null],"update":[null],"pre-insert":[],"pre-update":[],"close":[],"flushbuffer":[],"error":[null],"delete":[null],"warning":[null]},"changes":[]}],"databaseVersion":1.1,"engineVersion":1.1,"autosave":false,"autosaveInterval":5000,"autosaveHandle":null,"options":{},"persistenceMethod":"fs","persistenceAdapter":null,"verbose":false,"events":{"init":[null],"loaded":[],"flushChanges":[],"close":[],"changes":[],"warning":[]},"ENV":"NODEJS"}
code:
var loki = require('lokijs-1.3.min.js');
var db = new loki();
var collection = db.addCollection('test', {
    clone: true,
    unique: 'name'
});
collection.on('error', function(error) {
    return console.log(error);
});
collection.insert({ name: 'erik'});
collection.insert({ name: 'erik'});
db.saveDatabase();

Ok so I was unfamiliar to how this was implemented but after looking it over it seems :

an exception is being caught on line 4021
within that catch block it is redirecting to a collection.console which ignores the error even if database verbose is true.

I think we could emit in the catch block of collection.add() which I linked to above.  I will try to work that fix in as time permits or you can submit a p.r.

We should now emit an 'error' event when attempting to insert duplicate key.  Seems to work for my test, feel free to test out and post results.

The 'error' event is now triggered successfully.  However, the error is not caught if you were to use try/catch instead.
try {
            collection.insert(document);
        } catch(error) {
            console.log(error);
        }

alright, verify that works as expected

Verified both methods catch errors as expected, thank you.  However, $loki increments regardless if the inserted document errors or not.  For example, my first document in the database has $loki: 1.  I then try to insert a document which violates the unique constraint which generates $loki: 2.  I then insert a document successfully and save.  The database now contains $loki: 1 and $loki: 3.

@eschlosser thanks for flagging that. I am happy enough with the current state of things, i will look at skipping increment in case of a rollback.

Thanks guys.

Is it possible to bulk insert and skip existing keys? Use case, I am scanning a feed of articles and save the URLs to cache so i don't have to call the service every time something like
 coll.insert([{a},{b}], skipExisting)
I can handle when doing single inserts but doing a bulk insert would be much nicer...

@webmutation it would be possible but - like bulk inserts - under the hood this would just be an iteration of single insert operations, so you wouldn't get much out of it other than syntactic sugar.

Thanks for the quick reply. So i should just use an object instead of an array and in case it exists i continue
I was under the impression that bulk inserts would be faster if that is not the case then i will not use it :)
So I can simply do something like
for(let document in networkCollection){
                try {
                    collection.insert(document);
                } catch(error) {
                    console.log(error);
                    //continue flow...
                }
}


md-modal options not applied

setting md-modal starting-top option is not working as expected
This gist is runing against 0.25.0
in the gist, I show that 2 modals are acting in the same way, even if you set the starting-top to different values.

Interesting, thanks for mentioning. Although I'm not sure what's wrong, the options are simply passed to the Materialize function.

I can reproduce this but until now, I cannot see what's wrong..
The modal is initialized with the following options:
"
{
  "dismissible":false,
  "endingTop":"20%",
  "inDuration":1000,
  "opacity":0.7,
  "outDuration":1000,
  "startingTop":"10%"
}

Which seems to work in "vanilla" Materialize..

I didn't forget about this issue.
But still no idea what's going wrong.. 😕

Maybe this is fixed with v0.100.0:

Fixed bug where modal open did not use initialized options

I will try it.

Fiexed in v0.100.1 ✨


New persistent context - "Switch page" to tab opened by a test cannot see the new tab

Describe the bug
When using new persistent context for the setup, as part of a test it clicks a link and a new tab opens. When trying to use the switch page keyword, it cannot recognise the new page opened. If you use new browser and new context and do the same test steps it can see the new page fine and switch to it.
To Reproduce
Steps to reproduce the behavior:

Use new persistent context for the setup
During the test click a url that will open a new tab in the browser
Use Switch Page keyword to switch the newly opened tab
It doesnt recognise the new page and error in the log is "Error: Tried to activate a new page but no new pages were detected in context."

Expected behavior
Newly opened page is switched to
Desktop (please complete the following information):

OS: MacOS Ventura
Browser chromium

Additional context
If you switch from using new persistent context and use new browser and then new context and run the same test steps, the switch page works fine. Also adding in Get Browser Catalog doesnt return the newly opened page when using new persistent context

@allcontributors please add @ciadoh for bugs


Docs: Remove any mentions of MudStore / MudAcademy

Description
Removes mentions of MudStore and MudAcademy as agreed, people still asking when it will be out, but people that worked on it are not active anymore.
Not sure if it was correct to modify Announcement_MudBlazorIsHereToStay since it's like a blog post.
Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.

Merging then.


⚠ Bofrost.be has degraded performance

In eabdd59, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1753 ms

Resolved: Bofrost.be performance has improved in 19ded29.


factory defined in render causes infinite loop and crash the app

Version
2.6.11
Reproduction link
https://jsfiddle.net/valq/j65gfkq4/47/
Steps to reproduce
just comment  return h(factory_work);
and  uncomment  return h(factory_crash);
What is expected?
component is mounted and rendered
What is actually happening?
infinite loop that crashes the app

Duplicate of #9943


Incompatiblity with WTHIT

https://www.curseforge.com/minecraft/mc-mods/wthit
While trying to post the log so you can check the error, I think I found some other problem with https://www.curseforge.com/minecraft/mc-mods/wthit
https://paste.ee/p/Amo0q#s=0&l=252 (line 252 in case the link does not work properly)
And this is WailaErrorOutput.txt https://paste.ee/p/QipM2
Note: WTHIT is a fork of Hwyla, that is a fork of Waila, and is the currently maintained waila like mod for Fabric

The crash seems to be solved, however the colored blocks aren't being named properly.

The colored blocks names got fixed.
The weird error log got fixed as well by reworking the network node container code (see #42).


[BUG] Dgeni generated docs are unsanitized

:bug: Bug report
Current Behavior
Dgeni generated docs are unsanitized
Expected Behavior
Dgeni generated docs should be sanitized
Minimal reproduction of the problem with instructions
http://next.daff.io/api/design/DaffInputComponent
What is the motivation / use case for changing the behavior?

Environment

Daffodil version: X.Y.Z
Angular version: X.Y.Z

For Tooling issues:
- Node version: XX
- Platform:

Others:

sanitizing the docs will remove links and stuff. We need to write a custom sanitizer that will handle these specific behaviors


add default navigate type for apps that execute navigateAction programmatically

Addresses https://github.com/yahoo/flux-router-component/issues/60
@mridgway @redonkulus

CLA is valid!

Coverage remained the same when pulling 60138c8b8a843b37314b8f5ce784a0afd14efd89 on defaultType into 5d311f9cc3f458e7ed26c8a825d5bf74bc3ab608 on master.

:shipit:


Fix tests in test_scheduler.py that fail with BlockManager V2

In #8718 we identified the tests failing in test_scheduler.py when run with BlockManagerV2. In this pr we are fixing all tests except test_schedule_swapped_simple. We are making the following changes in this pr

We make all tests run with both BlockManager V1 and V2.
In some of the cases we were adding the same request_id multiple times. This is ok in BlockManager V1 but in BlockManger V2 there are asserts to verify the same request is not added. Hence we update the request_id to make it different for every request. E.g. in test_schedule_swapped_max_token_budget we modify the request_id of each prompt.
In all the tests we make the block_size constant and pass it during Sequence creation and to the . Before this change during prompt creation using create_prompt the block_size was being set equal to the size of the prompt. This works for BlockManagerV1 where in can_allocate we use Sequence.n_blocks to compute the number of required blocks. However in BlockManagerV2 can_allocate we use the  BlockTable.get_num_required_blocks which does not use the block_size set in the Sequence.

@comaniac PTAL when you get a chance.


frigholes: wrong destination and added missing optiones for various C type holes

fixed wrong desto (Q003 always lead to 0.0, not C7). To my knowledge every frighole type could spawn in every wormhole system, so they should be all there for every C type (but this should be discussed as I am not 100% sure). In the meantime added them all, especially to the C1 section as this was empty and there is at least the E004 in there.

sorry for the mess. I have no clue what git is saying 3 commits now, where I only wanted to have the init.js changes commited.

Good question. I got my information from this table:
https://docs.google.com/spreadsheets/d/1U-gjbwwgAHAJdrLXudus2upw99CWiXPe87y2F3ZgS_4/edit?usp=sharing
Unfortunately this table does not seem to be up-2-date. Ill check, if i can´t find any reliable information on the web, we should go with your approach and add them all ;)

the line for C1s is def. wrong there, can not say much about the rest though. Guess that table was a nice start when these frig holes where new, but then people all forgot about it and buried it down in the grave named internet.

Were any of those .ini files important?

yes, they are important and I messed this up. The idea was to test git in my fork of pathfinder and get rid of these .inis there, NOT merge them to the main project and get them deleted there. I clearly still need some git lessons... :-(


doc: Update FAQ.md

Closes #277

@sixlycos does this look good to you?

Better adding the screenshot?

Better adding the screenshot?

Screenshot:


Unknown version

I cannot find the version of ONI to use this mod with.

Friend said mod info wasnt needed.


Wiki: small issue

In Debug an Adobe AIR desktop application with Visual Studio Code it says:

If your Adobe AIR mobile application

but should be:

If your Adobe AIR desktop application

Thanks!


Reproducing same results as per ReadME's videos?

Hi
I have successfully installed rmf_obstacle_detectors on ROS2 Humble. Although i have added obstacles into the simulation, but i still can't reproduce the lane closing as per the video attached in the ReadME. I believe i must have missing some package to run, as i read through the office.launch.xml from RMF Demos, there isn't any package that can do the lane closure. Do you know where can i find it?
Best
Samuel

You'll need to run the lane_blocker executable that is available in this branch of rmf_ros2.

Hi @Yadunund
Thanks for the guidance. I have git clone this feature/rmf_obstacle branch of rmf_ros2 and tried colcon build --symlink-install it. However, the package building seems like taking forever, it keep on building at rmf_obstacle_ros2 package. Any idea why the colcon build seems stuck building rmf_obstacle_ros2 pacakge?
Best,
Samuel

if you run top, is the ld processing active/running indefinitely?
If so, we've also noticed this behavior with slow performance of the ld linker. As a result, our recommendation has been to switch to lld linker and optionally clang compiler.
Instructions are already available in the open-rmf/rmf page
https://github.com/open-rmf/rmf#compiling-instructions

Hi @Yadunund
This is the screenshot of top on this ld. Is that what you mean of active/running indefinitely? as it's running 100% CPU since compilation start, even if i only run colcon build --symlink-install --packages-select rmf_obstacle_ros2

Ok, i will go and try the method you suggest. Do i need to do both lld linker and clang compiler? or just lld ?
Best,
Samuel

Hi @Yadunund
I followed the in and installed lld and clang, but when i compile it, these 2 errors popped out and compilation stopped.

How shall i resolved this issue?
Best,
Samuel

I think you might also need to switch to the branch in this PR
https://github.com/open-rmf/rmf_internal_msgs/pull/55

Hi @Yadunund
I have successfully compiled after following your latest instructions. However, i couldn't get it running, and i faced following issues when i ros2 launch it.

Here's how i setup the launch file.

Best,
Samuel

Based on your other ticket, I assume this issue has been resolved?

Hi @Yadunund
So far compiling issue resolved. But for reproducing same result as per video attached in ReadME, not yet. Especially when using human_detector_node, I am still struggling to get it up to work. Need your guidance.
Best
Samuel


Add and updated testcases:

ModelManagerTest.java
TriviaBundleTest.java
FileParserUtilTest.java
ImportFileTest.java

Pull Request Test Coverage Report for Build 626

12 of 12 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.7%) to 83.809%

Totals

Change from base Build 553:
0.7%

Covered Lines:
2350

Relevant Lines:
2804

💛  - Coveralls


ToolBar button management fails on two perspectives when second is initially inactive

Two Perspectives (quickstart archetype), set Perspective 2 as deactivated (in annotation), start the application and press button to switch to Perspective two. In this case all Buttons from Perspective one are visible also they should be hided.

Fixed by checking previous perspective while initializing new perspective


[Issue] Azure MySQL for Databases not Shown in deployment output

Output from azd version
azd version 1.5.1
Describe the bug
I'm using bicep to create an Azure Database for MySQL the bicep is implemented on Azure using azd as you can see below but the output during the deployment process doesn't show anything related to the creation of the database.
Using this template john0isaac/flask-webapp-mysql-db.
You can try it out in codespaces I had configured it for the main branch.

Resources created sucessfully on Azure

To Reproduce

Run azd up or azd provision.

Expected behavior
Showing Azure Databases for MySQL Flexible server like it shows for Postgresql Database.

We have a hard-coded mapping of resource type to what we display in azure_resource_types.go.  https://github.com/Azure/azure-dev/pull/2952 is an example where we updated this previously.
@weikanglim was looking into if we could somehow generate this from the same source of truth that the portal uses, but no luck there yet.
Care to open a PR, @john0isaac?

@ellismg of course!!
Thanks for the clarification, it's really helpful!

I thought of something
What if instead of returning nothing if the name doesn't exist
https://github.com/Azure/azure-dev/blob/278a2525d03400e2f8c196148911c42d3a5392ba/cli/azd/pkg/infra/azure_resource_types.go#L116
We strip the name of the resource type from "Microsoft.Storage/storageAccounts@2827373" we take the "storageAccounts" and return it as the default for the switch case.
It's not going to be aesthetic but it's better than nothing.
Also, this will only be displayed for the names of the services we haven't hard-coded in the file.

One of the reasons we were doing this translation (in addition to providing nicer names that what the resource providers gave us) was that we also used it to filter out "uninteresting" resources, like role assignments.
It might, however, be nice to group the operations that this filter elides today into a single item, especially when these are the only operations "in flight" to make it a little clearer that something is going on behind the scenes.

What you are saying means that even if somehow we managed to pull the names from Azure, we will still need these checks for the "uninteresting" resources.
I'm wondering now which is less? the resources we haven't hard-coded or the resources we have? because if the "uninteresting" resources for example are 10 then I think that we should opt into hard-coding them and returning an empty string if they are being created.
For the rest of the resources if they are not hard-coded and it's a major resource like a database (Azure MySQL DB takes at least 5 mins to be created) then it's better if we show something in the terminal rather than just "creating, updating resources".
TBH, I don't think it's a major issue, it's more of an improvement. LMK what you decide.


Glasses Container Element

I'd like to see a glasses element that's just a container to put other elements in. So that if you move the container the elements inside it move, similar with rotation. Useful for organization and if there's anything complex drawn on the glasses that the coder wants to move.

I believe this is technically already possible with the way elements are constructed in source. I'll look in to it.

I'm already working on it.

Cool. I'll leave you to it.


TS18003 is yielded if config file is in separate directory

Expected behavior:
Silently builds.
Actual behavior:
Error (non critical though) during createProject:
error TS18003: No inputs were found in config file 'tsconfig-base.json'. Specified 'include' paths were '["**/*"]' and 'exclude' paths were '["node_modules","bower_components","jspm_packages"]'.

Your gulpfile:
Include your gulpfile, or only the related task (with ts.createProject).
  var tsProject = ts.createProject('configs/tsconfig-base.json');
  return gulp.src('./src/test/**/*.ts')
    .pipe(tsProject())
    .pipe(gulp.dest('src/lib-test'));

tsconfig.json
The file is placed in configs directory, which only contains configuration json. As it doesn't contain any ts file, the **/*.ts default glob fails to match and yields the error.

Thanks for reporting. The fix is included in the new release, 3.2.1.


Add sku, diskSku and diskCapacity option in Cassandra MI create data …

…center command

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

cosmosdb


Move PyUp to Sunday

https://trello.com/c/mBmxDwfC/823-make-pyup-prs-appear-in-the-morning

👋 Thanks Sam!


Add FileSystem properly references to Core.py

In some block of codes, the full path used instead of reference in FileSystem. To avoid reference wrong location on System:

Backup folder must to be added in FileSystem.py
Samples folder must to be added in FileSystem.py

All changes should be applied in all OS modules (Linux, Mac and Windows)

Implemented in PyBridge 1.5


Doesn't work in Wordpress

I'm using it in Wordpress. I'm already use bootstrap in my wordpress template. I just add de bootstrap wizard file and the example that we can find in http://vadimg.com/twitter-bootstrap-wizard-example/examples/basic-progressbar.html
In my footer, just before the "body" end tag, i put the code: http://pastebin.com/ihuLLEYG
<script>
        jQuery(document).ready(function() {
                jQuery('#rootwizard').bootstrapWizard({onTabShow: function(tab, navigation, index) {
                        var $total = navigation.find('li').length;
                        var $current = index+1;
                        var $percent = ($current/$total) * 100;
                        jQuery('#rootwizard').find('.progress-bar').css({width:$percent+'%'});
                }});
        });
</script>

But it doesn't work. Is there a known bug with this on Wordpress?

@sanmen1593 any errors in console?

@VinceG Nope. Just doesn't work the effects. I'm not using bootstrap wizard any more, i develop my own "script" that aproach a little with de wizard.
Thanks anyway.
A clue can be the version of bootstrap and jQuery, but didn't have time to check.

Yes, I'm using with WordPress. It is the version conflict I bet.


Duplicate identifier error when dependent project supplies its own type definitions for a shared library

TypeScript Version:  2.0.2

I have two directories containing typescript projects: proj1, proj2.
Both projects depend on React, and definitions are installed for each through npm install @types/react
They compile independently.

The problem: I get a "duplicate identifier" error when compiling proj2:

when the compiler processes a proj2 file it resolves module 'react' to proj2's proj2/node_modules/@types/react. All good.
when the compiler processes a proj1 file it resolves 'react' to proj1/node_modules/@types/react which would be fine, and hits the duplicate identifier error

Simplified Repro:

Unzip bugreport.zip
cd bugreport/proj1
./node_modules/.bin/tsc
cd ../proj2
./node_modules/.bin/tsc

Expected behavior: succeeds. All is good.
Actual behavior:
../proj1/node_modules/@types/react/index.d.ts(7,21): error TS2300: Duplicate identifier 'React'.
index.ts(4,17): error TS2345: Argument of type 'typeof Proj1Comp' is not assignable to parameter of type 'ReactElement<{}>'.
  Property 'type' is missing in type 'typeof Proj1Comp'.
node_modules/@types/react/index.d.ts(7,21): error TS2300: Duplicate identifier 'React'.

How are we supposed to handle these situations where a dependency brings its own type definitions for a shared library?

I can't reproduce this using the latest compiler version. Looks like a duplicate of #9771?

I can still repro with the above repro steps. Here's a simpler repro:
Here are easier steps:

Copy and paste the following into your shell

mkdir dup-id-bug
cd dup-id-bug
mkdir A B
cd A
npm install @types/react
echo "import 'react';" > a.ts
cd ../B
npm install<EMAIL_ADDRESS>@types/react
echo "import '../A/a';" > b.ts
./node_modules/.bin/tsc b.ts

Here's all my output with the errors at the bottom. Note the specific versions<EMAIL_ADDRESS><EMAIL_ADDRESS>Downloads >mkdir dup-id-bug
Downloads >cd dup-id-bug
dup-id-bug >mkdir A B
dup-id-bug >cd A
A >npm install @types/react
/Users/mattyork/Downloads/dup-id-bug/A
└──<EMAIL_ADDRESS>
npm WARN enoent ENOENT: no such file or directory, open '/Users/mattyork/Downloads/dup-id-bug/A/package.json'
npm WARN A No description
npm WARN A No repository field.
npm WARN A No README data
npm WARN A No license field.
A >echo "import 'react';" > a.ts
A >cd ../B
B >npm install<EMAIL_ADDRESS>@types/react
/Users/mattyork/Downloads/dup-id-bug/B
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
npm WARN enoent ENOENT: no such file or directory, open '/Users/mattyork/Downloads/dup-id-bug/B/package.json'
npm WARN B No description
npm WARN B No repository field.
npm WARN B No README data
npm WARN B No license field.
B >echo "import '../A/a';" > b.ts
B >./node_modules/.bin/tsc b.ts
../A/node_modules/@types/react/index.d.ts(7,21): error TS2300: Duplicate identifier 'React'.
node_modules/@types/react/index.d.ts(7,21): error TS2300: Duplicate identifier 'React'.`

Ah, by "latest compiler version" you meant the nightlies, not version 2.0.2.
Looks like this was fixed on 8/26, which included merge #10354.
B >npm install<EMAIL_ADDRESS>&>/dev/null && ./node_modules/.bin/tsc b.ts
B >npm install<EMAIL_ADDRESS>&>/dev/null && ./node_modules/.bin/tsc b.ts
../A/node_modules/@types/react/index.d.ts(7,21): error TS2300: Duplicate identifier 'React'.
node_modules/@types/react/index.d.ts(7,21): error TS2300: Duplicate identifier 'React'.

However, the bug still repros in version 2.0.2, which is the original milestone for the bug #9771.
Is it possible to get this backported to hit the official 2.0 release? Us folks at Tableau really want TypeScript 2 goodness, but we need this fix, and we're too conservative to be using nightly builds for our core modules.

[default] Checking started in a separate process...
[default] /Users/gui/ng2-admin/node_modules/.0.1.27@@types/source-map/index.d.ts:7:21
Duplicate identifier 'sourceMap'.
[default] /Users/gui/ng2-admin/node_modules/@types/source-map/index.d.ts:7:21
Duplicate identifier 'sourceMap'.
[default] Checking finished with 2 errors

2.0.5, which will the official 2.0 release, will have this fix

Just saw that 2.0.3 was released, but looks like the fix is not in there yet. :(. Will have to wait for 2.0.5

Fix should be in the 2.0.5

Yep, looks like it's there:
> git branch -a --contains 0116abdcf2cc57174a839deb29e6c4419c576dfd | grep 2.0.5
  remotes/origin/release-2.0.5

I have similar issue with jquery and knockout.
I'm using TS 2.0.6 and still get the following errors:
node_modules@types\jquery\index.d.ts(623,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\jquery\index.d.ts(2872,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\jquery\index.d.ts(2873,5): error TS2375: Build:Duplicate number index signature.
node_modules@types\jquery\index.d.ts(3246,5): error TS2300: Build:Duplicate identifier 'export='.
node_modules@types\knockout\index.d.ts(8,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\knockout\index.d.ts(14,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\knockout\index.d.ts(18,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\knockout\index.d.ts(38,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\knockout\index.d.ts(160,5): error TS2374: Build:Duplicate string index signature.
node_modules@types\knockout\index.d.ts(682,2): error TS2300: Build:Duplicate identifier 'export='.

@mKlus please file a new issue and give us more info to be able to diagnose the issue you are running into.

@mhegazy I have created new issue #12286.

In case someone encounters and everything doesn't work.
I had to manually specify exclude and typeRoots in new tsconfig.json, not sure if it is a bug or intended behavior.
{
  "exclude": [
    "node_modules",
    "out"
  ],
  "compilerOptions": {
    "typeRoots": [ "./node_modules/@types" ]
  },
  "extends": "../library/tsconfig.json"
}

I've fixed my problem with this workaround
https://github.com/Microsoft/TypeScript/issues/11916#issuecomment-257130001


Use Specific HTTP Status Codes [150] Denies PATCH -> 204

Need to update Zally in accordance with: https://github.com/zalando/restful-api-guidelines/issues/341
(feel free to assign to me)

I guess, we can close that


Work on Issue: Support to create a fork when user has no commit rights

A common OSS scenario is that someone from the community with no commit rights to a repository would like to contribute a fix to an issue. To support this scenario the 'Work on Issue' support should offer to create a fork when the user has no commit rights.

This is a large feature, and I'd like to give it time to be tested in the nightly build for a few weeks before it is released in the stable build. Because of this, I'm moving it to the July 2020 Milestone to be merged after we make the next release.


Loosen up protobuf a bit more

Flipping up the protobuf requirement to be loosened, but greater than or equal to 3.20.3
For @artificial-aidan (since this is related to your suggestion) - realized that in my haste - some users of the library (myself included) are using protobuf > 4.  I figure than 3.20.3 is fair given that per the protobuf version support chart - 3.21.x is going out of support in Q1 of 2024, and then then 4 version line will be what's supported going forward.

Good idea with the >3.20. We use 4 in some places too. I think in my original suggestion I meant to say <=4 (don't know what's coming in 5) but this works. Thanks for the quick turnaround!


Wasm: Change boolean logic for gc.cpp find_object

This PR implements the suggestion in #8205.  I'm submitting the PR as with this change and #8171 its possible to run 100 iterations of the Generics test without a memory access failure.
Fixes #8210
Closes #8205
Draft as depends on #8171

Would you mind submitting the gc.cpp change to dotnet/runtime ?

Closing as replaced by https://github.com/dotnet/runtime/pull/39905


Minor Services module issue

Services module should display correctly with its two titles empty. That way we can use the bottom scrolling part without having to announce the section ("Services", "What Can I Do For You").
At the moment one empty field leads to an unsightly "_services" text and the other just leaves empty white space on the page.

It is all due to grav settings. Normally we don't have an option to disable modular section title completely. If you would like deeper customization of hola we can provide it. You can contact us at<EMAIL_ADDRESS>


WEB-4315: Adding ability to generate a static gallery site

The idea is that this takes a directory of images, and turns them into a really simple gallery site.  Naming of the files provides categorisation.
Primarily used for razefaces.

I'm going to go ahead and merge this so that we can get it building on staging, so we can use it to generate a site we can actually see.

Here is is live: https://pablo.raywenderlich.com
rwteam/tutteam


WIP: only run k8s 1.11 tests

Testing to see if any 'Number of “Goroutine took lock for more than' messages appear with a non-zero amount by reducing the load on the packet.net machines we use to run tests.

This change is

test-me-please

test-me-please

The motivation behind this PR was to test to see if we were putting too much pressure on the baremetal machines used in CI, but this is not the case. Closing.


Fixes Password in RD Config

          2 Errors

:no_entry_sign:
Please provide a summary of your Pull Request.

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger