fix: TXE logs in docker

Closes https://github.com/AztecProtocol/aztec-packages/issues/8270
Changed strategy when running TXE from aztec binary, now using compose to avoid logs being swallowed. Env variables DEBUG and LOG_LEVEL can be used as usual to control verbosity.
This allows using dep::aztec::oracle::debug_log::debug_log_format and variants when running aztec test.

Docs Preview
Hey there! 👋 You can check your preview at https://66d836e5fe09147b5b50f209--aztec-docs-dev.netlify.app

Benchmark results
Metrics with a significant change:

protocol_circuit_simulation_time_in_ms (private-kernel-tail-to-public): 1,112 (-19%)
avm_simulation_time_ms (FeeJuice:_increase_public_balance): 252 (+448%)
avm_simulation_time_ms (Token:mint_public): 64.5 (-86%)
avm_simulation_time_ms (Token:assert_minter_and_mint): 473 (+937%)
avm_simulation_time_ms (AuthRegistry:set_authorized): 45.8 (+30%)
avm_simulation_time_ms (Token:transfer_public): 33.0 (+146%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,763
1,561
715 (-1%)
774 (+2%)
778 (+1%)

proof_construction_time_sha256_30_ms
11,467
3,101 (+1%)
1,391 (+1%)
1,449 (+2%)
1,456

proof_construction_time_sha256_100_ms
44,157
11,904
5,480 (-2%)
5,430 (-1%)
5,725 (+1%)

proof_construction_time_poseidon_hash_ms
78.0
35.0 (+3%)
34.0
57.0 (-3%)
88.0

proof_construction_time_poseidon_hash_30_ms
1,528
422
203 (-1%)
229 (+5%)
267

proof_construction_time_poseidon_hash_100_ms
5,647
1,514
678
723 (-2%)
754 (+1%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
4,356
7,876
14,884

l1_rollup_calldata_gas
50,244
93,002
178,096

l1_rollup_execution_gas
843,085
1,576,739
3,361,889

l2_block_processing_time_in_ms
254 (-1%)
442
826 (-2%)

l2_block_building_time_in_ms
11,245 (+1%)
22,080
43,551

l2_block_rollup_simulation_time_in_ms
11,244 (+1%)
22,080
43,550

l2_block_public_tx_process_time_in_ms
9,587 (+1%)
20,418
41,861

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
3,004
3,789 (-2%)

node_database_size_in_bytes
12,623,952
16,740,432

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Circuit
simulation_time_in_ms
witness_generation_time_in_ms
input_size_in_bytes
output_size_in_bytes
proving_time_in_ms

private-kernel-init
76.7 (-3%)
379 (-1%)
21,390
44,898
N/A

private-kernel-inner
152 (-2%)
676 (-1%)
72,372
45,020
N/A

private-kernel-reset-tiny
296 (+1%)
688 (-1%)
65,095
44,886
N/A

private-kernel-tail
159
133 (+1%)
50,608
52,921
N/A

base-parity
5.57
N/A
160
96.0
N/A

root-parity
35.2
N/A
73,948
96.0
N/A

base-rollup
3,092 (+1%)
N/A
189,207
664
N/A

block-root-rollup
41.0
N/A
58,205
2,448
N/A

public-kernel-setup
80.6 (-1%)
N/A
105,085
71,222
N/A

public-kernel-app-logic
94.0 (-1%)
N/A
104,899
71,222
N/A

public-kernel-tail
839
N/A
390,582
16,414
N/A

private-kernel-reset-small
297 (+1%)
N/A
66,341
45,629
N/A

private-kernel-tail-to-public
:warning: 1,112 (-19%)
593
453,751
1,825
N/A

public-kernel-teardown
80.4
N/A
105,349
71,222
N/A

merge-rollup
20.1 (-1%)
N/A
38,174
664
N/A

undefined
N/A
N/A
N/A
N/A
82,003

Stats on running time collected for app circuits

Function
input_size_in_bytes
output_size_in_bytes
witness_generation_time_in_ms

ContractClassRegisterer:register
1,344
11,731
345

ContractInstanceDeployer:deploy
1,408
11,731
18.1 (-2%)

MultiCallEntrypoint:entrypoint
1,920
11,731
403 (-1%)

FeeJuice:deploy
1,376
11,731
390 (+1%)

SchnorrAccount:constructor
1,312
11,731
62.7 (-2%)

SchnorrAccount:entrypoint
2,336
11,731
369 (-1%)

FeeJuice:claim
1,344
11,731
37.6 (+10%)

Token:privately_mint_private_note
1,280
11,731
74.7 (+1%)

FPC:fee_entrypoint_public
1,344
11,731
28.2 (+17%)

Token:transfer
1,312
11,731
215 (+1%)

Benchmarking:create_note
1,344
11,731
74.2 (-2%)

SchnorrAccount:verify_private_authwit
1,280
11,731
26.5

Token:unshield
1,376
11,731
505 (+1%)

FPC:fee_entrypoint_private
1,376
11,731
673

AVM Simulation
Time to simulate various public functions in the AVM.

Function
time_ms
bytecode_size_in_bytes

FeeJuice:_increase_public_balance
:warning: 252 (+448%)
2,431

FeeJuice:set_portal
13.3 (-7%)
2,930

Token:constructor
79.3 (+6%)
15,813

FPC:constructor
51.0 (+2%)
9,720

FeeJuice:check_balance
35.7 (-1%)
2,357

Token:mint_public
:warning: 64.5 (-86%)
5,011

Token:assert_minter_and_mint
:warning: 473 (+937%)
3,155

AuthRegistry:set_authorized
:warning: 45.8 (+30%)
924

FPC:prepare_fee
73.1 (+1%)
4,245

Token:transfer_public
:warning: 33.0 (+146%)
10,812

FPC:pay_refund
45.7 (+7%)
5,195

Benchmarking:increment_balance
1,198
3,496

Token:_increase_public_balance
40.0 (+4%)
2,408

FPC:pay_refund_with_shielded_rebate
51.6 (-5%)
5,195

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.152

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
2.15 (-2%)
3.95 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.112 (-2%)
0.112 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
11.1 (-1%)
17.7 (-1%)
31.1 (+1%)
58.9
115 (-3%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.106
0.103 (-1%)
0.101 (+1%)
0.101 (-1%)
0.103 (-3%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
14.2 (-1%)
25.5 (-2%)
44.2
83.0 (+1%)
164 (-1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
107 (-1%)
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.109 (-1%)
0.103 (-2%)
0.107 (+1%)
0.102
0.103 (-3%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
16.5
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
132
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.106
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
64,838
668,997

Transaction size based on fee payment method
| Metric |  |
| - |  |


Add support for 384 well plate schemas

Closes #13

Seems to work well in the FMI deployment, we can now process 384 well plates. The examples there now fail later due to missing metadata. Thus, merging this now.


More info and workflow details recommended

A customer of mine was unable to find details about the authentication workflow as a result of this setup.
Here's what I sent them. I recommend adding some information to flush out the authentication workflow details
The steps in the article describe running the Set-AzureADKerberosServer and deploying a KDC proxy configuration to clients.
Running the Set-AzureADKerberosServer command:

Creates a RODC-type computer object with the name AzureADKerberos
Creates an associated Kerberos ticket-granting ticket user account named krbtgt_AzureAD.

These two objects extend the on-premises Kerberos realm to Azure active directory. A key derived from the password of this TGT account is securely published to Azure AD.
As with all RODC objects, the password replication policy prevents members of built-in active directory groups from authenticating against Azure AD
This configuration is secure and used to set up FIDO2 security keys as a MFA method for hybrid environments, and to enable Windows Hello for Business in cloud trust deployment. If FIDO2 security keys or WH4B cloud trust were to be used, this would be the workflow:

Device logons using FIDO2 security keys authenticate against Azure active directory.
Upon successful authentication, Azure AD provides a Kerberos TGT for the user's on-premises AD domain, encrypted with the key derived from the password of the krbtgt_AzureAD account, along with an Azure AD Primary Refresh Token (PRT).
The TGT is then exchanged for a fully formed TGT from an on-premises active directory domain controller.
The client machine now has an Azure AD PRT and a full Active Directory TGT and can access both cloud and on-premises resources.

The SetupCloudTrust parameter also creates a one-way incoming forest trust from the kerberos.microsoftonline.com realm to your active directory forest. This trust object also contains a name suffix routing for *.windows.net. This enables accounts in your AD forest to access resources with the windows.net domain name by authenticating against kerberos.microsoftonline.com realm and clients are issued a Kerberos TGT for this realm.
Configuring the Specify KDC proxy servers for Kerberos clients setting creates a mapping to the Kerberos endpoint of your own Azure AD tenant for the kerberos.microsoftonline.com DNS suffix.
This means when clients request a service ticket for SPNs that contains windows.net, the requests are sent to https://login.microsoftonline.com/<tenantid>/kerberos
This configuration allows users in your active directory domain to access resources in your Azure AD tenant. It will not allow users in the Azure AD tenant to access resources in your active directory domain.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: cbce09dd-18c2-214e-230f-b0537170d627
Version Independent ID: 0790eff1-c5c5-11bd-6244-ab19727a59b2
Content: How to set up Windows Authentication for Azure Active Directory with the incoming trust-based flow - Azure SQL Managed Instance
Content Source: azure-sql/managed-instance/winauth-azuread-setup-incoming-trust-based-flow.md
Service: sql-managed-instance
Sub-service: deployment-configuration
GitHub Login: @sravanisaluru
Microsoft Alias: srsaluru

@LijuV-MSFT Thank you for the above comment. We are reviewing and will get back shortly.

@LijuV-MSFT , could you please provide the details about which document we need to update . you can even a create a pull request and assign to me

@LijuV-MSFT , could you please provide the details about which document we need to update . you can even a create a pull request and assign to me

It is the document to which I added this comment - https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/winauth-azuread-setup-incoming-trust-based-flow?view=azuresql

@LijuV-MSFT, there is a detailed blog which explain how Azure AD Kerberos works, I will attach a reference in our documentation for more information about Azure AD Kerberos, see (https://techcommunity.microsoft.com/t5/itops-talk-blog/deep-dive-how-azure-ad-kerberos-works/ba-p/3070889).

#please-close


Inference on a custom data

Hi,
Are you planning to share the inference (testing) script for a custom dataset (single image)?
What data is needed to run inference on single image in current version?
Thanks.

Hello, may I ask if you have successfully tested it on your proprietary data? I tested it on our proprietary data, and the output for the lane lines doesn't seem quite normal. I'm not sure what the issue might be.

I am trying to run it on NuScenes and apparently I am getting the vis output fixed to a values less than zero, and all the predictions are masked off, do you have idea why?


docker for macOS

watch.sh in docker. Works as expected.
Fixes #7

great stuff, thanks for updating the makefiles as well!
So when I run the demo and do a docker attach watcher, I see the following output
Every` 1s:                                                                                [0/1610]
for i in $(seq 1 4);
do
curl -s -m 1 http://172.77.5.:80$i/Stats |
tr -d "{}"" |
awk -F "," '{gsub (/[,]/," "); print;}'
done;
2017-12-04 08:39:13
consensus_events:91 consensus_transactions:40 events_per_second:0.00 id:1 last_consensus_round:9 num_peers:3 round_events:12 rounds_per_second:0.00 state:Babbling sync_rate:1.00 transaction_pool:0 undetermined_events:20
consensus_events:91 consensus_transactions:40 events_per_second:0.00 id:2 last_consensus_round:9 num_peers:3 round_events:12 rounds_per_second:0.00 state:Babbling sync_rate:1.00 transaction_pool:0 undetermined_events:21
consensus_events:91 consensus_transactions:40 events_per_second:0.00 id:0 last_consensus_round:9 num_peers:3 round_events:12 rounds_per_second:0.00 state:Babbling sync_rate:1.00 transaction_pool:0 undetermined_events:17
consensus_events:91 consensus_transactions:40 events_per_second:0.00 id:3 last_consensus_round:9 num_peers:3 round_events:12 rounds_per_second:0.00 state:Babbling sync_rate:1.00 transaction_pool:0 undetermined_events:20
Also I have to restart the container because it exits with an error code when running the demo on the first make call.
I m going to look into it but this is awesome

ok forget what I said about the watcher exiting with an error code..
I hadnt seen that the container wasnt run in the background.. so I was killing it myself with ctl-C.
There remains that
Every` 1s: [0/1610]
for i in $(seq 1 4);
do
curl -s -m 1 http://172.77.5.:80$i/Stats |
tr -d "{}"" |
awk -F "," '{gsub (/[,]/," "); print;}'
done;
2017-12-04 08:39:13
message in the output

Cool.
Btw, drew this up on Sketch. Based on your answers to my earlier questions seeking clarification.
Will be using it in a babble/swirds demo tomorrow. Feel free to use it too.

www.calvinx.com
On Mon, 04 Dec 2017 at 4:53 PM Martin Arrivets < Martin Arrivets ( Martin Arrivets<EMAIL_ADDRESS>) > wrote:

ok forget what I said about the watcher exiting with an error code..
I hadnt seen that the container wasnt run in the background.. so I was
killing it myself with ctl-C.
There remains that
Every` 1s: [0/1610]
for i in $(seq 1 4);
do
curl -s -m 1 http://172.77.5.:80$i/Stats ( http://172.77.5.%24i:80/Stats )
|
tr -d "{}"" |
awk -F "," '{gsub (/[,]/," "); print;}'
done;
2017-12-04 08:39:13
message in the output
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub (
https://github.com/babbleio/babble/pull/8#issuecomment-348897847 ) , or mute
the thread (
https://github.com/notifications/unsubscribe-auth/AAF1Sw2BLfdXqDVNeStpOFCv9cq90o5Aks5s87L6gaJpZM4QzyG8
).

ah very nice!


Delay of statusbar "mode" change after popup use

I'm not sure if this is related to how noice interacts with lualine, but after I use popups there's a noticeable delay in the mode indicator. This makes my brain think something (else) happened at the bottom, which is distracting. It doesn't seem to be affected by the values of timeoutlen or updatetime.

Is this normal?

config.lualine.refresh.statusline = 1000
Defaults to one second. Not related to Noice. Check the lualine docs


Add a field to set the path to the Ansible binaries directory

Hi all,
I made this PR to resolve the issue #51, and be able to choose the version of Ansible used by a job.
The proposed change is to add an optional variable Ansible binaries directory path to set the path to a specific version of Ansible (e.g. installed within a virtualenv). This variable is then used by the AnsibleRunner to build the command line that is runned by the plugin. This change is made in a backward compatible way, and you can let this field empty to keep the current behavior (i.e. use Ansible binaries from the PATH).
I updated the Dockerfile to use a more recent version of Ansible (2.9), and installed another version of Ansible (2.10) in a virtualenv.
Also, I added a docker-compose file, a Dockerfile-ssh-node file (with priv/pub SSH keys) to make the local testing easier.
Thanks & feel free to comment

Hello Pierre, i am very interested with this PR. I succeed to build from your PR the new plugin version using "gradle clean build". I install the new plugin (snapshot version) but "ansible-binaries-dir-path" doesn't not display when I add a task with ansible_module. Do i do something wrong? Thanks for your help. Regards

Hello Pierre, i am very interested with this PR. I succeed to build from your PR the new plugin version using "gradle clean build". I install the new plugin (snapshot version) but "ansible-binaries-dir-path" doesn't not display when I add a task with ansible_module. Do i do something wrong? Thanks for your help. Regards

Hello @Leopol35, depending on the way you run your Rundeck, and the version you use, a version of rundeck-ansible-plugin could be already provided in rundeck.war. That's why I did some modifications on the Dockerfile, to be able to load the right version of the plugin (here: https://github.com/Batix/rundeck-ansible-plugin/pull/288/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R50).

Hello @Leopol35, depending on the way you run your Rundeck, and the version you use, a version of rundeck-ansible-plugin could be already provided in rundeck.war. That's why I did some modifications on the Dockerfile, to be able to load the right version of the plugin (here: https://github.com/Batix/rundeck-ansible-plugin/pull/288/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R50).

Hello @pierrecarre,
I am running Rundeck from binaries installed on a virtual machine not from Docker. I create the ansible-plugin-SNAPSHOT.jar using "gradle build" from your forck then I upload the jar file to my rundeck server in plugin folder, eq to "COPY --chown=rundeck:rundeck build/libs/ansible-plugin-*.jar ${RDECK_BASE}/libext/" in your Dockerfile. I remove the old ansible-plugin version 3.1.1. But no change. "3.1.1 jar" plugin and your jar haven't the same size (yours is a little bigger) but no new properties when adding a job in rundeck. I will check again next friday. Thanks for your work, using venv for ansible in rundeck should be great!!

Hello @pierrecarre,
I am running Rundeck from binaries installed on a virtual machine not from Docker. I create the ansible-plugin-SNAPSHOT.jar using "gradle build" from your forck then I upload the jar file to my rundeck server in plugin folder, eq to "COPY --chown=rundeck:rundeck build/libs/ansible-plugin-*.jar ${RDECK_BASE}/libext/" in your Dockerfile. I remove the old ansible-plugin version 3.1.1. But no change. "3.1.1 jar" plugin and your jar haven't the same size (yours is a little bigger) but no new properties when adding a job in rundeck. I will check again next friday. Thanks for your work, using venv for ansible in rundeck should be great!!

Hello @pierrecarre ,
I uninstall and reinstall properly the plugin, and all is working now. I am able to use ansible binaries installed in a venv. Thanks for your job!!

Hello @pierrecarre ,
I uninstall and reinstall properly the plugin, and all is working now. I am able to use ansible binaries installed in a venv. Thanks for your job!!

Hello @Leopol35,
Pleased to hear this is working for you, thanks for your feedback !

Hello @Leopol35,
Pleased to hear this is working for you, thanks for your feedback !

Hi @pierrecarre,
I invited you as a collaborator. Feel free to merge and release a new version. ;)
Also, feel free to merge other PRs.

Hi @pierrecarre,
I invited you as a collaborator. Feel free to merge and release a new version. ;)
Also, feel free to merge other PRs.

Who are the reviewers who would need to review this?

Who are the reviewers who would need to review this?

@frozenice ?

@Leopol35 I did a build as we https://github.com/holynakamoto/rundeck-ansible-plugin/actions and installed the jar but also not seeing any new properties.


Benchmark strings update

Update on the benchmarks for String, four micro-benchmarks are now available:

chain_concat: measures the performance of concatenation
index_bench: measures random access in a String
iteration_bench: measures the performance of iteration on a string
substr_bench: measures the performance of substring on a string

The logic for the benches has changed a lot, instead of working locally with the different structures and having a directory with all the variations (more to come in a near future), now a patch directory is included with the benches for Strings, and will work with all the variants one by one on the chosen benchmark.

for whitespace error, please stack a new commit that appends the line
*.patch                 -whitespace

to the toplevel file .gitattributes

Reroll: added extra safeguards before and after git am

+1

$ make
[...]
  Trying variant linear_substring for benchmark basic
---------------------------------------------------------
Application : Patch: Removed constant-time substring in text
error: le patch a échoué : lib/standard/bytes.nit:145
error: lib/standard/bytes.nit : le patch ne s'applique pas
error: le patch a échoué : lib/standard/text/flat.nit:39
error: lib/standard/text/flat.nit : le patch ne s'applique pas
error: le patch a échoué : lib/standard/text/ropes.nit:436
error: lib/standard/text/ropes.nit : le patch ne s'applique pas
Le patch a échoué à 0001 Patch: Removed constant-time substring in text

Testé avec head 267f08b et merge e942903, meme resultat dans les deux cas

Changes in upstream cause these issues, I'm working on a reroll to fix all these

Reroll: Should fix the issues with git am

good enough. +1

+1

Maybe you should document the basic mode in the README.
+1


Portman generates wrong Accept header in request when a responce has an empty content type

We have noticed an issue in generated Postman collections if there is a response without content type defined. It seems very similar to issue reported in https://github.com/apideck-libraries/portman/issues/392.
Here is an example of a specification, where one of responses has no content (204):
openapi: 3.0.0
info:
  title: Test
  version: '1.0'
paths:
  /test/endpoint:
    post:
      summary: Test endpoint
      responses:
        '204':
          description: 204 description
        '401':
          description: 401 description
          content:
            application/problem+json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string

Generated Postman collection will contain:
      "request": {
        "name": "Test endpoint",
...
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/problem+json"
          }
        ],
...
      }

Note an "Accept: application/problem+json" in request part of a generated file.
Though if we add at least one responce with "application/json" content (201), then generated Postman collection contains "Accept: application/json".
openapi: 3.0.0
info:
  title: Test
  version: '1.0'
paths:
  /test/endpoint:
    post:
      summary: Test endpoint
      responses:
        '204':
          description: 204 description
        '201':
          description: 201 description
          content:
            application/json:
              schema:
                type: string
        '401':
          description: 401 description
          content:
            application/problem+json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string

Generated Postman collection will contain:
      "request": {
        "name": "Test endpoint",
...
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "Accept",
            "value": "application/json"
          }
        ],
...
      }

We are using Portman 1.18.0.
Is that an expected behavior?

hi @theold190
We will look into this, since it seems not the default behaviour.
If possible could you share your the Portman config as well? That will allow us to try to reproduce the issue locally.

Thanks for a fast reply.
We are not using any extra configuration. Here is how we execute portman command:
$ portman --local testPortmanBug.yml --output testPortmanBug.json --baseUrl https://some-internal-url
================================================================================
 Local Path:            testPortmanBug.yml
 Output Path:           testPortmanBug.json
 Portman Config:        portman-config.default.json
 Postman Config:        postman-config.default.json
 Environment:           .env
 Inject Tests:          true
 Run Newman:            false
 Newman Iteration Data: false
 Upload to Postman:     false
================================================================================
- Converting OpenApi to Postman Collection
  √ Conversion successful
================================================================================
🚀 Collection written to: testPortmanBug.json 🚀
================================================================================

If I read documentation right, it means we are using default configuration.
Also, there are no extra environment variables defined:
$ env | grep "PORTMAN_"
$

We are running it both on Windows and Linux and get same results.
Please write if you need any more info or if you have questions when reproducing the issue.

hi @theold190
We were able to reproduce the issue.
Behind the scenes Portman is using Postman library openapi-to-postman for doing the initial conversion. It seems like an issue in the library, for which I created a Github item. We will monitor it for feedback and depending on that review the options.

Great! Glad that it is helping to make a better tool and reduce the confusion users might have.
I have subscribed to new issue and if needed can provide more info.


Add repeating boolean flag to splitByLengths() to use a single argument to repeat the split

Change from original bug issue to enhancement request:
splitByLengths() could have a more useful enhancement to meet my expectations which would be to...

Introduce a new boolean (true/false) flag for repeating the split by the length argument which if indicated true would take the first length argument and use it to create substrings by that length argument where the remainder of any substring that could not fit into the splitting by that length would be the last element in the array.

"1234567890".splitByLengths(4,true)
would output
 ["1234", "5678", "90"]

"1234567890".splitByLengths(4,1,3,7,true)
would return an error in Expression preview where a user accidentally added too many arguments to align with the single repeating flag
error - too many arguments - only single integer allowed when repeating=true

If you look at the definition here, and the example that follows, my understanding is that the number of items in the array would be equal to the number of parameters you pass. Hence, to get your desired output, your function call should look like this:
"University of Washington".splitByLengths(4, 4, 4, 4, 4, 4)

Calling "University of Washington".splitByLengths(4) splits the first 4 characters from the string and discards the rest.
Examples

input
"University of Washington".splitByLengths(4)
output
[ "Univ" ]

input
"University of Washington".splitByLengths(4, 6)
output
[ "Univ", "ersity"]

input
"University of Washington".splitByLengths(4, 4, 4)
output
[ "Univ", "ersi", "ty o"]

@nfazlay Thanks, then let's improve the documentation descriptions in our code which will automatically show in the HELP tab in the Expression editor dialog.  We'll also need to update our docs section for the function.

I think a more useful enhancement then to meet my expectations would be to:

Introduce a new boolean flag for repeating (true/false) which if indicated true would take the single first argument (ignoring additional ones) and use it to create substrings by that argument where the remainder of any substring that could not fit into that length would be the last element in the array.

"1234567890".splitByLengths(4,true)
would output
["1234", "5678", "90"]

Is this issue up for grabs?

Yes it is, thanks for volunteering!

will begin this tomorrow.

I think that the documentation on the current functionality is the first thing to fix. I'd suggest @Maezzzzz that you start with that as it's own PR so we can get the documentation up to scratch first.
I feel like the suggestion for extending the function might benefit from a bit more work on the desired functionality before it's developed. @Maezzzzz perhaps you could think through the suggestions and come up with a full proposal before starting development? That way we can get comments on it before your start diving into the code
For example an immediate question I'd have for the repeating (true/false) suggestion is whether it should only be valid if there is one number (3, true) or whether it should be possible to have multiple sets repeating so (3,4,5,true) would lead to taking the first three chars, the second four characters, the third five characters and then start to repeat with the next three chars, next four, next five, etc. etc.
I also wonder what the behaviour should be if the repeated pattern doesn't fit the string length exactly - should the last part of the string be included, or dropped? And if we are allowing multiple repeating lengths then should we stop at the point where we've done the last possible complete set of spilts, or should we just carry on until we run out of characters.

@ostephens  thank you for the insight ill work on the documentation first, then move onto this.
Before moving onto the functionality would I feel as though both approaches are very good ideas ((3,4,5, true) and (3, true))
if anyone has suggestions in the meantime as I fix documentation please feel free to let me know!

@ostephens I definitely can see usefulness for multiple repeating lengths (I.E. substring(3).substring(4).substring(5) doesn't let you output an array of elements like splitByLengths() can)
As for the question about last part not fitting a length argument... I think including in the array output would be wise, that way the user has ultimate control on if they want to later output or not
value:
123456789012345678901234567890

grel:
splitByLengths(3,4,5,true)

output:
["123", "4567", "890"]

grel:
["123", "4567", "890"][0,2]

output:
[ "123", "4567" ]

grel:
["123", "4567", "890"][0,3]

output:
[ "123", "4567", "890" ]

It's also currently supported now without the proposed repeating flag:
value:
123456789012345678901234567890

grel:
value.splitByLengths(3,4,5)

output:
[ "123", "4567", "89012" ]

grel:
value.splitByLengths(3,4,5)[0,2]

output:
[ "123", "4567" ]

@thadguidry just to clarify, the program currently supports inputting
value.splitByLengths(3,4,5)[0,2]
and return the split string within the indices? if so how would you denote [0,2] in technical documents?
This is my first time contributing to open source as well as writing documentation.

@thadguidry my understanding is the program can currently take
value.splitByLengths(3,4,5)[0,2]
and return the first and second indices so I have written up documentation for such.
Are there any other cases that may not be currently documented?

@Maezzzzz With zero-based indexing, which OpenRefine GREL uses, the [0] denotes the 1st element in an array, [1] denotes the 2nd element, etc.
Beyond that, we get into what is known as Array slicing, where there are various syntax used in various programming languages as shown in all the various examples in that link.
OpenRefine's GREL borrows the syntax from Python-style slicing.
But I have never had it explained to me why it skips elements during the slicing. (Bug? I don't know, something to look into and our commit history)
For example:
"123456789012345678901234567890".splitByLengths(3,4,5)
outputs
[ "123", "4567", "89012" ]
"123456789012345678901234567890".splitByLengths(3,4,5)[0,2]
outputs with lower bound 0 (1st) and upper bound 2 (3rd)
[ "123", "4567", "89012" ]
I would think it should slice the array to output the 1st, 2nd, 3rd elements
but it currently outputs
[ "123", "4567" ]

@thadguidry thanks for the clarification.
Seems to be a few little bugs with this one which I can hopefully get cleaned up.

@Maezzzzz Hmm, maybe this is a general documentation issue all around!
["123", "4567", "890"][0,3]
outputs
[ "123", "4567", "890" ]
["123", "4567", "890"][1,3]
outputs
[ "4567", "890" ]
So maybe our GREL for array slicing is more like D language, the first index of the slice is inclusive, the second is exclusive?
Do our slice bounds saturate like D does or like Python?
My brain hurts now... need a dev to dive into our code to make sense of the iterations of the GREL parsing.
My brain hurts now...

@thadguidry oh man. Glad to take a deeper look at that but not sure how good of a solution I can come up with. From your description it seems to pull from the first index and then the 2nd index - 1 as it was iterating through the indices such that i < last index with no regard for the indices between the range.

Does the problem seem to get worse if we add more indices than the range given?

What's more... if we actually use our GREL slice() following our docs...we seem to get semi-consistent behavior...until
["123", "4567", "890"].slice(0,1)
outputs only
[ "123" ]
Where the hell did the 2nd element go?!?!?

Haha, it seems to disregard the 2nd element as if the program is doing iterations up until that number specified but not for the number itself.

Yeah, I don't know if this is the whole "our array slicing is like D language, the first index of the slice is inclusive, the second is exclusive...until it isn't...then it's Python like".  What a mess.

Seems to pick and choose when it wants to work correctly which is always a fun debug nightmare.

I think we are dealing with lazy evaluation versus eager evaluation in our GREL parsing.  We've had this issue mentioned before by me.  We do have an issue # somewhere to make this consistent where @tfmorris goes into some detail. Which would fix silent errors like this:
["123", "4567", "890"].slice(0,0,0,0)
outputs
No syntax error null
and should be an error for slice() as it only takes 3 arguments

@thadguidry little bit of digging brought me to this open issue: https://github.com/OpenRefine/OpenRefine/issues/2507
seems as though it stems from here in a way and is far past my scope of understanding but may help you with the issue.

Feels like this issue has got a bit off track. If we can try to keep issues cleanly focussed then it will really help those getting involved. If there are additional related issues they can always be raised in separate issues. Unfortunately here we've lost the text of the original report - which is making addressing the documentation issue harder, and we've now got a huge discussion about how array slicing works which is a reasonable question but unrelated to how we might enhance "splitByLengths".
I'm inclined to suggest this issue is closed and a new clean one opened for the enhancement because at this point I can't see the wood for the trees.

@thadguidry @mgutierrez98 apologies for closing this on you, but it just felt we were getting into some weeds.
I've done a new write up the enhancement proposal as #3948 based on Thad's original text taking into account my questions and Thad's responses about repeated sets and dealing with strings whose length didn't fit the repeated pattern. I hope this is a clear write up of the proposal which will allow for development and reflects the desired outcomes. Feel free to add comments to the proposal if you think it can be improved.


OWNERS: Move AlonaKaplan to the emeritus approvers

What this PR does
Based on the project governance [1], maintainers that are idle for 6 months or more are to be moved to the emeritus list.
Unfortunately, it seems Alona has changed focus and is no longer active [2] in the project.
Therefore, Alona is moved to the emeritus approvers list.
[1] https://github.com/kubevirt/community/blob/main/GOVERNANCE.md#removing-maintainers
[2] https://github.com/AlonaKaplan?tab=overview&from=2024-05-10&org=kubevirt

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer
This is a sad PR :/

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

NONE

Thank you @AlonaKaplan for all of your contribution!
Would you like to be the one approving this PR? :)
/lgtm

/approve
Thanks.

@EdDev I just want to point out that [1] https://github.com/kubevirt/community/blob/main/GOVERNANCE.md#removing-maintainers is about maintainers and we don't define approvers as one. So the rule/guidance doesn't really apply. Maybe we have a better reference to provide? (Or we need to make one)

From my point of view the rules are the same and we can apply them to approvers.
While organization maintainers are the ones mentioned in that list, the approvers are maintainers of projects/repos.
@aburdenthehand  mentioned that he already prepared the needed changes to apply it for repos "approvers", so I hope he will post it soon.

Correct, what's holding it up is we don't yet have an easy and universal way of demonstrating that an approver has been inactive in a repo.


Feat timeseries carbon charts

Summary

Y-Axis not overlapping on 0 y-axis

Updates for Y max value in data points

:tada: This PR is included in version 1.71.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0-beta.9 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.71.4 :tada:
The release is available on npm package (@release-1.x dist-tag)
Your semantic-release bot :package::rocket:


Failed demangling of Lambdas

This symbol:
_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv

Comes from
namespace {
	int hello() {
                ([] { printf("test"); })();
		return 0;
	}
}

Not sure what it should demangle to as c++filt also has problems with it.

With an extra underscore, c++filt __ZN12_GLOBAL__N_15helloEv gives (anonymous namespace)::hello().

@mstange note that i originally copied the wrong identifier into the issue and edited it later. However I just realized that i have an ancient c++filt so most likely it works in new ones.

Oh, I see. The c++filt version I have isn't able to demangle _ZZN12_GLOBAL__N_15helloEvENK3$_0clEv either, extra underscore or not.

FWIW, clang's own abi::__cxa_demangle (cxxabi.h) demangles it to (anonymous namespace)::hello()::$_0::operator()() const.

Here's a minimal example to reproduce:
#include <cxxabi.h>
#include <iostream>

using namespace std;

int main() {
  char *buf = (char *)malloc(1024);
  int status;
  size_t size;
  abi::__cxa_demangle("_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv", buf, &size, &status);
  cout << "status " << status << endl << buf << endl;
  return 0;
}

Thanks for the bug report!
FWIW, my binutils' c++filt will demangle the same as the llvm demangler:
$ c++filt --version
GNU c++filt (GNU Binutils for Ubuntu) 2.28
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

$ echo '_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv' | c++filt
(anonymous namespace)::hello()::$_0::operator()() const

Looks like we're failing to parse the symbol:
(MangledName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
    (Encoding "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        (Name "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            (NestedName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            )
            (UnscopedName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                (UnqualifiedName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    (OperatorName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        (SimpleOperatorName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                    )
                    (CtorDtorName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    )
                    (SourceName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    )
                    (UnnamedTypeName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    )
                )
            )
            (UnscopedTemplateNameHandle "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                (UnscopedName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    (UnqualifiedName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        (OperatorName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            (SimpleOperatorName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                        )
                        (CtorDtorName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                        (SourceName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                        (UnnamedTypeName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                    )
                )
                (Substitution "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    (WellKnownComponent "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    )
                )
            )
            (LocalName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                (Encoding "N12_GLOBAL__N_15helloEvENK3$_0clEv"
                    (Name "N12_GLOBAL__N_15helloEvENK3$_0clEv"
                        (NestedName "N12_GLOBAL__N_15helloEvENK3$_0clEv"
                            (CvQualifiers "12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                            (RefQualifier "12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                            (PrefixHandle "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                (PrefixHandle iteration "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                    (UnqualifiedName "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                        (OperatorName "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                            (SimpleOperatorName "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                            )
                                        )
                                        (CtorDtorName "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                        )
                                        (SourceName "12_GLOBAL__N_15helloEvENK3$_0clEv"
                                            (Identifier "_GLOBAL__N_1"
                                            )
                                        )
                                    )
SubstitutionTable::insert @ 0: Prefix(Unqualified(Source(SourceName(Identifier { start: 6, end: 18 }))))
                                )
                                (PrefixHandle iteration "5helloEvENK3$_0clEv"
                                    (SourceName "5helloEvENK3$_0clEv"
                                        (Identifier "hello"
                                        )
                                    )
SubstitutionTable::insert @ 1: Prefix(Nested(BackReference(0), Source(SourceName(Identifier { start: 19, end: 24 }))))
                                )
                                (PrefixHandle iteration "EvENK3$_0clEv"
                                )
                            )
SubstitutionTable::pop @ 2: Some(Prefix(Nested(BackReference(0), Source(SourceName(Identifier { start: 19, end: 24 })))))
                        )
                    )
                    (BareFunctionType "vENK3$_0clEv"
                        (TypeHandle "vENK3$_0clEv"
                            (BuiltinType "vENK3$_0clEv"
                                (StandardBuiltinType "vENK3$_0clEv"
                                )
                            )
                        )
                        (TypeHandle "ENK3$_0clEv"
                            (BuiltinType "ENK3$_0clEv"
                                (StandardBuiltinType "ENK3$_0clEv"
                                )
                            )
                            (ClassEnumType "ENK3$_0clEv"
                                (Name "ENK3$_0clEv"
                                    (NestedName "ENK3$_0clEv"
                                    )
                                    (UnscopedName "ENK3$_0clEv"
                                        (UnqualifiedName "ENK3$_0clEv"
                                            (OperatorName "ENK3$_0clEv"
                                                (SimpleOperatorName "ENK3$_0clEv"
                                                )
                                            )
                                            (CtorDtorName "ENK3$_0clEv"
                                            )
                                            (SourceName "ENK3$_0clEv"
                                            )
                                            (UnnamedTypeName "ENK3$_0clEv"
                                            )
                                        )
                                    )
                                    (UnscopedTemplateNameHandle "ENK3$_0clEv"
                                        (UnscopedName "ENK3$_0clEv"
                                            (UnqualifiedName "ENK3$_0clEv"
                                                (OperatorName "ENK3$_0clEv"
                                                    (SimpleOperatorName "ENK3$_0clEv"
                                                    )
                                                )
                                                (CtorDtorName "ENK3$_0clEv"
                                                )
                                                (SourceName "ENK3$_0clEv"
                                                )
                                                (UnnamedTypeName "ENK3$_0clEv"
                                                )
                                            )
                                        )
                                        (Substitution "ENK3$_0clEv"
                                            (WellKnownComponent "ENK3$_0clEv"
                                            )
                                        )
                                    )
                                    (LocalName "ENK3$_0clEv"
                                    )
                                )
                            )
                            (Substitution "ENK3$_0clEv"
                                (WellKnownComponent "ENK3$_0clEv"
                                )
                            )
                            (FunctionType "ENK3$_0clEv"
                                (CvQualifiers "ENK3$_0clEv"
                                )
                            )
                            (ArrayType "ENK3$_0clEv"
                            )
                            (PointerToMemberType "ENK3$_0clEv"
                            )
                            (TemplateParam "ENK3$_0clEv"
                            )
                            (TemplateTemplateParamHandle "ENK3$_0clEv"
                                (Substitution "ENK3$_0clEv"
                                    (WellKnownComponent "ENK3$_0clEv"
                                    )
                                )
                                (TemplateParam "ENK3$_0clEv"
                                )
                            )
                            (Decltype "ENK3$_0clEv"
                            )
                            (CvQualifiers "ENK3$_0clEv"
                            )
                        )
                    )
                )
                (Name "NK3$_0clEv"
                    (NestedName "NK3$_0clEv"
                        (CvQualifiers "K3$_0clEv"
                        )
                        (RefQualifier "3$_0clEv"
                        )
                        (PrefixHandle "3$_0clEv"
                            (PrefixHandle iteration "3$_0clEv"
                                (UnqualifiedName "3$_0clEv"
                                    (OperatorName "3$_0clEv"
                                        (SimpleOperatorName "3$_0clEv"
                                        )
                                    )
                                    (CtorDtorName "3$_0clEv"
                                    )
                                    (SourceName "3$_0clEv"
                                        (Identifier "$_0"
                                        )
                                    )
                                    (UnnamedTypeName "3$_0clEv"
                                    )
                                )
                            )
                        )
                    )
                    (UnscopedName "NK3$_0clEv"
                        (UnqualifiedName "NK3$_0clEv"
                            (OperatorName "NK3$_0clEv"
                                (SimpleOperatorName "NK3$_0clEv"
                                )
                            )
                            (CtorDtorName "NK3$_0clEv"
                            )
                            (SourceName "NK3$_0clEv"
                            )
                            (UnnamedTypeName "NK3$_0clEv"
                            )
                        )
                    )
                    (UnscopedTemplateNameHandle "NK3$_0clEv"
                        (UnscopedName "NK3$_0clEv"
                            (UnqualifiedName "NK3$_0clEv"
                                (OperatorName "NK3$_0clEv"
                                    (SimpleOperatorName "NK3$_0clEv"
                                    )
                                )
                                (CtorDtorName "NK3$_0clEv"
                                )
                                (SourceName "NK3$_0clEv"
                                )
                                (UnnamedTypeName "NK3$_0clEv"
                                )
                            )
                        )
                        (Substitution "NK3$_0clEv"
                            (WellKnownComponent "NK3$_0clEv"
                            )
                        )
                    )
                    (LocalName "NK3$_0clEv"
                    )
                )
            )
        )
        (SpecialName "ZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        )
    )
    (TypeHandle "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        (BuiltinType "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            (StandardBuiltinType "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            )
        )
        (ClassEnumType "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            (Name "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                (NestedName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                )
                (UnscopedName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    (UnqualifiedName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        (OperatorName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            (SimpleOperatorName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                        )
                        (CtorDtorName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                        (SourceName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                        (UnnamedTypeName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                    )
                )
                (UnscopedTemplateNameHandle "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                    (UnscopedName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        (UnqualifiedName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            (OperatorName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                                (SimpleOperatorName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                                )
                            )
                            (CtorDtorName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                            (SourceName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                            (UnnamedTypeName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                            )
                        )
                    )
                    (Substitution "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        (WellKnownComponent "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                        )
                    )
                )
                (LocalName "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                )
            )
        )
        (Substitution "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            (WellKnownComponent "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            )
        )
        (FunctionType "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            (CvQualifiers "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            )
        )
        (ArrayType "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        )
        (PointerToMemberType "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        )
        (TemplateParam "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        )
        (TemplateTemplateParamHandle "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            (Substitution "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                (WellKnownComponent "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
                )
            )
            (TemplateParam "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
            )
        )
        (Decltype "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        )
        (CvQualifiers "_ZZN12_GLOBAL__N_15helloEvENK3$_0clEv"
        )
    )
)

I think its the $. If I replace the $ with z, then we parse and format the symbol, but it isn't quite formatted correctly:
(anonymous namespace)::hello()()::z_0::operator() const

I have a fix for the $ parsing, but don't have time to look into the formatting at the moment: https://github.com/fitzgen/cpp_demangle/pull/98

Fixed in 0.2.6


Can't change background-color on a-gui-label with setAttribute

There is no way to change the color of the label with the setAttribute method.
This doesn't work:
aGuiLbelElement.setAttribute("background-color", "red");
This works:
aGuiLbelElement.setAttribute("material", "color:red");

This is now fixed in version 0.2.1.   Setting an attribute on the label triggers a redraw of the label.


Browser unit tests do not show reason of failure

For example in https://github.com/microsoft/vscode/issues/114028#issuecomment-758479329, there is no output visible for why a test failed. This is not a problem for tests that fail reliable, but for flaky tests you have no chance to figure out why a browser test failed.

Thanks 👏

Thanks 👏


Adding reference name to output

The reference name is an unique and readable id that can be used as anchor id, to scroll to the right section. For now the fetchElement function doesn't provide this attribute and an extra api call is required.
It would be great if the reference is part of the output.
This is the field I mean:

Thank you for bringing this up here. We will discuss the topic in our next week planning session.
Internal reference: TNG-1344


Fix a bug where the unary and response streaming requests aren't timed out

Motivation:
Unary and response streaming requests were not being timed out when they failed to receive the body within the specified timeout.
Modifications:

Refactored Http1RequestDecoder, Http2RequestDecoder, and HttpServerHandler:

Created ServiceRequestContext in the request decoders. - Timeout for a request now initiates in the request decoders upon header creation. - ServiceRequestContext is immediately set to the DecodedHttpRequest in the decoder.
Extracted the logic for handling Netty objects in Http1RequestDecoder into methods.

Result:

Unary and response streaming requests are now properly timed out if they fail to receive the body within the designated timeout period.

Superseded by #5614


Provider version

There is a provider version for this module? I need to check the existence of a cookie inside the .config() in my application.

Is there already any standard for that?

No that I know, but I've "solved" the problem by changing the cookie check step to inside the .run() block in my app, in this step you can access any service that you may need, like the cookies service created by this module.

Closed by accident, sorry.

+1 for provider version.


add eppuz.txt

the university official website URL, if it is different from the domain you are submitting:  https://ppuz.edu.pl/
a URL of a page on the official website where a long-term (>1 year) IT related course is offered by the university: https://ppuz.edu.pl/kandydat/kierunki-studiow/studia-i-stopnia/_informatyka_ekonomiczna_i/
a URL of a page or some other proof (.pdf or a screenshot are OK) showing that the university recognizes the domain which you are submitting as an official email domain for the enrolled students: https://ppuz.edu.pl/student/ppuz-online-ksztalcenie-zdalne/
(google classroom section)

@MacPal2002 First stage of verification passed, official domain is ppuz.edu.pl as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://ppuz.edu.pl/student/ppuz-online-ksztalcenie-zdalne/


reimplement destroy and format in terms of Lwt_unix, get rid of Sys.c…

…ommand, add tests

just out-of-curiosity, why are everyone seems to start using that library? :-)

I'm using it for mirage-net-pcap , which really likes appending to files
and reading at offsets.
On 05/15/2015 04:48 PM, Thomas Gazagnaire wrote:

just out-of-curiosity, why are everyone seems to start using that
library? :-)
—
Reply to this email directly or view it on GitHub
https://github.com/mirage/mirage-fs-unix/pull/12#issuecomment-102442910.

I use it in tls-demo-server (back last year)... and was motivated by @yomimono changes to put it into a state where I actually feel comfortable with it (removing Sys.command, adding missing tests) :)

@dsheets addressed your comments..


[C++][Python] A metadata standard for sorted datasets.

Describe the enhancement requested
Split off from #34153.
In order to take advantage of sorted columns, it would be necessary for arrow to standardize on a way to represent sorting in datasets/table metadata. Akin to to pandas' index_columns.
Component(s)
C++, Python

We're pretty close in Acero to the point where we can use this for real advantage internally.  For example, there is a PR (https://github.com/apache/arrow/pull/34311) up for a more RAM-efficient aggregation if we know the data is segmented / sorted.  Currently, the node expects you to declare which columns are sorted ahead of time and, if they aren't, if will give you bad data.
However, if we had a metadata standard in place then pyarrow/R (for in-memory tables) and datasets (for on-disk tables) could automatically detect this condition and apply the more efficient aggregation.  There are probably a few unknowns about how exactly that should happen (An optimization pass based on data statistics (e.g. orderedness)?  Detected on the fly while running a plan?) but getting a standard in for representing this information would be a good first step.

In some work I'm doing I plan on putting metadata keys that are system-specific. It seems that part of the requirement here would be a way of "namespacing" metadata attributes for cooperative system design. I would also think that, at minimum, the following namespaces would always potentially co-exist:

acero (or arrow, generally)
substrait
"the system" (top-level system managing arrow data)
some application (whatever is interacting with the data stored in an arrow object)

With the following possible caveats:

(3) and (4) could be the same (maybe some large application such as duckdb that doesn't share the data with any other system).
(2) and (4) could be the same (maybe an application funnels all intent through a substrait producer).
If acero is never actively used, then conflicts with its namespace are moot (though prone to refactoring if acero is every adopted in the future)

Not sure if there has been any other proposal of metadata management in arrow that should be leveraged.

Not sure if there has been any other proposal of metadata management in arrow that should be leveraged.

Sortedness metadata has been discussed on the ML before.  The reception seemed generally favorable though no proposal was ever put forward.  Similarly with min/max metadata.
In many systems I believe sortedness is often recorded outside of the files themselves as part of some catalog or table format (e.g. Iceberg)
As for namespacing, there is some precedent in the spec:

The colon symbol : is to be used as a namespace separator. It can be used multiple times in a key.
The ARROW pattern is a reserved namespace for internal Arrow use in the custom_metadata fields. For example, ARROW:extension:name.

I don't think there is a need at the moment for an Acero namespace as the only thing (so far) that Acero would be interested in would be sortedness and min/max statistics and/or index information.  All of this should be universally applicable and ideally agreed upon across all implementations and not just in Acero (though we could start there while doing initial work with the hope of making a proposal for the wider community).

Sortedness metadata has been discussed on the ML before

this is super helpful. This is the relevant PR for datafusion: https://github.com/apache/arrow-datafusion/pull/1776. @alamb , if you have extra input it'd be nice to hear.

As for namespacing, there is some precedent in the spec

I think this addresses the aspect I was most concerned with, though namespace reservation hadn't totally occurred to me (awkward if multiple projects have conflicting namespaces). Probably in the short term this can be assumed to not be problematic (so acero can claim an arbitrary namespace when it's reasonable to do so).

In many systems I believe sortedness is often recorded outside of the files themselves as part of some catalog or table format

The interesting thing here seems to be that for substrait plans that reference a table (e.g. NamedTable), perhaps there will/should be an operator that actually just merges metadata (perhaps metadata, managed by different systems, will be maintained in separate catalogs/locations and want to be merged at some point in query execution).

I won't commit yet to proposing a particular standard, but maybe I can help guide the discussion to consider a couple ways sorted information is represented and which aspects we would like to preserve in a standard.

this is super helpful. This is the relevant PR for datafusion: https://github.com/apache/arrow-datafusion/pull/1776. @alamb , if you have extra input it'd be nice to hear.

Currently, the node expects you to declare which columns are sorted ahead of time and, if they aren't, if will give you bad data.

Yes, I think this is the standard situation (I have debugged many bugs in various past lives related to sortedness)
DataFusion has gotten quite a bit more sophisticated in its sortedness handling / removing Sorts if not required based on metadata such as https://github.com/apache/arrow-datafusion/blob/928662bb12d915aef83abba1312392d25770f68f/datafusion/core/src/physical_optimizer/sort_enforcement.rs#L18 and https://github.com/apache/arrow-datafusion/blob/928662bb12d915aef83abba1312392d25770f68f/datafusion/core/src/physical_optimizer/global_sort_selection.rs
In terms of metadata, I recommend adding something to the Arrow standard as sorting is so important (and doesn't really vary from system to system)
Things that should be covered:

where do nulls sort (first or last)
ASC / DESC
Any collation considerations  (ideally we would keep it as simple as possible)

wanted to mention that #32884 likely has some relevance


chore: update environment variable property names

Resolves #

Just wanted you guys to be aware that I just did this because we briefly discussed it.

looks safe


Update di version & usage

The main changes on the di side are caching of execution plans.
This is important because di will dynamically modify the DAG, e.g. to remove branches that are cached or passed in by value. So, for example, a dependency might be establishing a DB connection -> which depends on loading a config from a file. If the DB connection is cached between executions (this is a fundamental part of di's design), we don't want to load the config from the file for no reason. This requires dynamically modifying the DAG each execution (or at least checking if we can use the cached state).
This completely eliminates unnecessary computation / calling of user functions, but does add some overhead during the first execution at least (hence the addition of warmup run).
I am also using validate_scopes=False to put di on more even footing w/ the other frameworks (which do not do that validation AFAIK).
I am now getting ~30 µs, which is a pretty solid improvement over the previous benchmarks, despite the added complexity.
It's still not close to rodi (~5 µs), but the overhead is relatively constant, so as soon as you throw in something like establishing a DB connection (~ 1ms) it falls within the margin of error (just anecdotal benchmarks, not tested here).

Hi @adriangb
Thanks for your PR and detailed information. rodi does validation of scopes by the way, once when the service provider is built and "activator" functions are created. This is why it works, like the .NET implementation, on two steps: first registration of services, then building a service provider that can activate services.
Good work! As a side note, sometimes in the future I would like to refactor blacksheep to support different implementations of DI, but most likely this won't happen soon.

rodi does validation of scopes by the way, once when the service provider is built and "activator" functions are created. This is why it works, like the .NET implementation, on two steps: first registration of services, then building a service provider that can activate services.

Ah cool! I will have to look through the docs again, apologies.
In di, it is possible to build a "provider" (really just a solved DAG w/ binds taken into account) without actually being in the scopes (because scopes are arbitrary hashable identifiers managed via context managers). Hence scopes can only be validated at runtime.
I opened #4 to hopefully clarify the comment in the di example. Does it sound like the combination of container.solve and container.execute_ will achieve about the same as rodi's build_provider (aside from the pointless execution of the dependencies in the warmup)? Perhaps I need to split up things in di even further, so that the "warmup" can be done w/o executing anything.


Request support for Thermobeacon WS03 Thermo Hygrometer

Describe the solution you'd like
I've added support for Thermobeacon/brifit/thermoplus WS03 in ble_monitor. Should be easy to add it here. Leaving this here as reference. device_id = 0x18.
https://github.com/custom-components/ble_monitor/issues/1048
https://github.com/custom-components/ble_monitor/pull/1049

You are lightning fast. I was thinking about adding it myself......, :-)


'application/json; charset=utf-8' is rejected as an invalid header

If I do a local patch for #1, and run the tool again, I get a complaint about Content-Type headers:
$ python -m swaggerconformance 'https://api.wellcomecollection.org/catalogue/v1/swagger.json'
AssertionError: application/json not in ['application/json; charset=utf-8']

I’ve included the traceback below. Also, this error message should explain what the significance of the quoted header is, rather than having me poke around in the traceback to discover it‘s the Content-Type header.
Same versions as in #1.

Complete traceback
```
Validation failed of operation: Operation(id=None, method='get', path='/works', params={'page': Parameter(name='page', type='integer', format='int32', required=False), 'pageSize': Parameter(name='pageSize', type='integer', format='int32', required=False), 'query': Parameter(name='query', type='string', format=None, required=False), 'includes': Parameter(name='includes', type='array', format=None, required=False)})
Traceback (most recent call last):
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 34, in api_conformance_test
    operation_conformance_test(client, operation, num_tests_per_op)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 86, in operation_conformance_test
    single_operation_test(client, operation) # pylint: disable=E1120
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
    max_examples=num_tests,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 1054, in wrapped_test
    state.run()
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 822, in run
    falsifying_example.__expected_traceback,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 583, in execute
    result = self.test_runner(data, run)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/executors.py", line 58, in default_new_style_executor
    return function(data)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 575, in run
    return test(*args, **kwargs)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
    max_examples=num_tests,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 522, in test
    result = self.test(*args, **kwargs)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 76, in single_operation_test
    result = client.request(operation, params)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/client.py", line 70, in request
    result = client.request(operation._pyswagger_operation(**parameters))  # pylint: disable=protected-access
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/contrib/client/requests.py", line 74, in request
    raw=six.BytesIO(rs.content).getvalue()
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/io.py", line 417, in apply_with
    self.__data = r.schema._prim_(data, self.__op._prim_factory, ctx=dict(read=True))
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/spec/v2_0/objects.py", line 92, in _prim_
    return prim_factory.produce(self, v, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_model.py", line 29, in apply_with
    self[k] = ctx['factory'].produce(pobj, v)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_array.py", line 48, in apply_with
    self.extend(map(functools.partial(ctx['factory'].produce, obj.items), val))
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_model.py", line 29, in apply_with
    self[k] = ctx['factory'].produce(pobj, v)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_model.py", line 23, in apply_with
    for k, v in six.iteritems(val):
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/six.py", line 587, in iteritems
    return iter(d.items(**kw))
AttributeError: 'list' object has no attribute 'items'
Validation failed of operation: Operation(id=None, method='get', path='/works/{id}', params={'id': Parameter(name='id', type='string', format=None, required=True), 'includes': Parameter(name='includes', type='array', format=None, required=False)})
Traceback (most recent call last):
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 34, in api_conformance_test
    operation_conformance_test(client, operation, num_tests_per_op)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 86, in operation_conformance_test
    single_operation_test(client, operation) # pylint: disable=E1120
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
    max_examples=num_tests,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 1054, in wrapped_test
    state.run()
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 822, in run
    falsifying_example.__expected_traceback,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 583, in execute
    result = self.test_runner(data, run)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/executors.py", line 58, in default_new_style_executor
    return function(data)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 575, in run
    return test(*args, **kwargs)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
    max_examples=num_tests,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 522, in test
    result = self.test(*args, **kwargs)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 82, in single_operation_test
    "application/json not in {}".format(result.headers['Content-Type'])
AssertionError: application/json not in ['application/json; charset=utf-8']
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/__main__.py", line 38, in
    main()
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/__main__.py", line 32, in main
    _run_comformance_test(parsed_args)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/__main__.py", line 27, in _run_comformance_test
    num_tests_per_op=parsed_args.num_tests_per_op)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 45, in api_conformance_test
    '\n'.join(hit_errors)))
Exception: 2 operation(s) failed conformance tests - check output in logging and tracebacks below for details
Traceback (most recent call last):
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 34, in api_conformance_test
    operation_conformance_test(client, operation, num_tests_per_op)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 86, in operation_conformance_test
    single_operation_test(client, operation) # pylint: disable=E1120
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
    max_examples=num_tests,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 1054, in wrapped_test
    state.run()
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 822, in run
    falsifying_example.__expected_traceback,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 583, in execute
    result = self.test_runner(data, run)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/executors.py", line 58, in default_new_style_executor
    return function(data)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 575, in run
    return test(*args, **kwargs)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
    max_examples=num_tests,
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 522, in test
    result = self.test(*args, **kwargs)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 76, in single_operation_test
    result = client.request(operation, params)
  File "/Users/chana/repos/swagger-conformance/swaggerconformance/client.py", line 70, in request
    result = client.request(operation._pyswagger_operation(**parameters))  # pylint: disable=protected-access
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/contrib/client/requests.py", line 74, in request
    raw=six.BytesIO(rs.content).getvalue()
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/io.py", line 417, in apply_with
    self.__data = r.schema._prim_(data, self.__op._prim_factory, ctx=dict(read=True))
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/spec/v2_0/objects.py", line 92, in _prim_
    return prim_factory.produce(self, v, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_model.py", line 29, in apply_with
    self[k] = ctx['factory'].produce(pobj, v)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_array.py", line 48, in apply_with
    self.extend(map(functools.partial(ctx['factory'].produce, obj.items), val))
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_model.py", line 29, in apply_with
    self[k] = ctx['factory'].produce(pobj, v)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/__init__.py", line 192, in produce
    val = _2nd(obj, ret, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/comm.py", line 40, in _2nd_pass_obj
    return ret.apply_with(obj, val, ctx)
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/pyswagger/primitives/_model.py", line 23, in apply_with
    for k, v in six.iteritems(val):
  File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/six.py", line 587, in iteritems
    return iter(d.items(**kw))
AttributeError: 'list' object has no attribute 'items'
Traceback (most recent call last):
File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 34, in api_conformance_test
operation_conformance_test(client, operation, num_tests_per_op)
File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 86, in operation_conformance_test
single_operation_test(client, operation) # pylint: disable=E1120
File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
max_examples=num_tests,
File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 1054, in wrapped_test
state.run()
File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 822, in run
falsifying_example.__expected_traceback,
File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 583, in execute
result = self.test_runner(data, run)
File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/executors.py", line 58, in default_new_style_executor
return function(data)
File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 575, in run
return test(*args, **kwargs)
File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 62, in single_operation_test
max_examples=num_tests,
File "/Users/chana/.virtualenvs/swcon/lib/python3.6/site-packages/hypothesis/core.py", line 522, in test
result = self.test(*args, **kwargs)
File "/Users/chana/repos/swagger-conformance/swaggerconformance/_basictests.py", line 82, in single_operation_test
"application/json not in {}".format(result.headers['Content-Type'])
AssertionError: application/json not in ['application/json; charset=utf-8']
Falsifying example: single_operation_test(client=Client(schema_path='https://api.wellcomecollection.org/catalogue/v1/swagger.json'), operation=Operation(id=None, method='get', path='/works', params={'page': Parameter(name='page', type='integer', format='int32', required=False), 'pageSize': Parameter(name='pageSize', type='integer', format='int32', required=False), 'query': Parameter(name='query', type='string', format=None, required=False), 'includes': Parameter(name='includes', type='array', format=None, required=False)}), params={})
Falsifying example: single_operation_test(client=Client(schema_path='https://api.wellcomecollection.org/catalogue/v1/swagger.json'), operation=Operation(id=None, method='get', path='/works/{id}', params={'id': Parameter(name='id', type='string', format=None, required=True), 'includes': Parameter(name='includes', type='array', format=None, required=False)}), params={'id': '0'})
</details>

(the trackback formatting is broken; you need more newlines to fit a literal block inside details)

Thanks for raising Alex.
My lack of any real interop testing showing through.
It seems that from here the syntax for the header is:
Content-Type := type "/" subtype *[";" parameter]

So I'll change the check to a startswith instead, clarify the assertion output, and update the tests.

Closed by #5?


[C2] Implement Layer-wise Adaptive Rate Scaling (LARS)

@caffe2bot test this please

@caffe2bot retest this please


Ember.String.htmlSafe throws exception

validator('presence', {
  presence: true,
  message: Ember.String.htmlSafe('’')
});

throws an exception.
At work ATM, I might have time to work on this later, but I pushed a failing test as an example.

👍 Ill take a look at this!


Nav Bar: Home Button Redirect

On the page where clients view "My Documents" and "My Applications", there is an option to click Home on the navigation bar. When clicking on this Home Button, I would expect to be directed to the Keep.id Landing Page but nothing happens because it indicates that the client is already directed to the Home Page—the "My Documents" and "My Applications" page.
To reiterate, this is confusing because ideally, the Home Button should direct the users to our landing page (via https://keep.id/home). We could change the wording of the Home Button to "View Dashboard" or something similar to clarify what the button directs the users to.

I think the Home button is supposed to take the user to the page you screenshotted because you can't reach the landing page (the one with "Safeguarding identities of those experiencing homelessness") unless you're logged out, the way the website is programmed now, I believe. @crchong1 please confirm. Should I just remove the Home button then?


Reverting mock sohm to just sohm

This should set everything back to a usable form for when we deploy to mainnet. Would love a second pair of eyes on this @0xJem

@0xLienid You'll want to rebase/merge the tyche branch into this, as there have been some significant changes.

@0xLienid I tried merging tyche into this, and there were conflicts in some of the Slice/Thunk files. As you're more familiar, can you get it up to date with tyche? It will make it quicker to merge when needed.
Also, when is the right time to merge this?

@0xJem Think this is not needed anymore. Closing, but will hold off on deleting the branch


AtlasTexture on Sprite3D displays inverted margin height

Godot version: 3.3.0

OS/device including version:

GLES2, Windows 10,  Intel (R) Graphics 630
Issue description:

When rendering an AtlasTexture in 3D through a Sprite3D or AnimatedSprite3D, the margin height is calculated in reverse of that from 2D, pushing the image downwards instead of upwards
This will cause any animations (such as those using an AnimatedSprite3D) to constantly shift positions up and down with unexpected behaviour, making sprite animations in 3D impossible with AtlasTextures
Steps to reproduce:

Create a Sprite3D
Give it an Atlas Texture
Change the AtlasTexture's margin "h" value and watch the sprite go down instead of up

Results:
3D (goes downwards below the plane)

2D (goes upwards above the plane)

Workarounds:

Render to a separate viewport and then use that viewport as a viewport texture. This works, but requires a lot of overhead and will cause significant slowdown on mobile
Bite the bullet and readjust manually the position of every Sprite3D to match your desired margin
???????
Recompile godot and fix the issue yourself before someone tells you that AtlasTextures are getting an overhaul in 4.0

Minimal reproduction project:

AtlasTextureTest.zip

Atlas textures are not supported in 3D.


More single-file fixes

Add a ICLRRuntimeLocator impl to DAC data target so single-file runtime can be found.
Fix single-file module names. The DAC GetPEFileName() GetAssemblyName() don't return a module/assembly file path for single file apps.

@leculver is there anyway you could take a look this week?  Thanks!
Also, the "ArityTest" test is failing on TypeTests.cs line 183. I really don't think my changes caused this.
actual:
Microsoft.Diagnostics.Runtime.Tests.TypeTests+GenericTest[[System.String, System.Private.CoreLib],[System.Collections.Generic.List[[System.Collections.Generic.IEnumerable[[System.Int32, System.Private.CoreLib]][,], System.Private.CoreLib]][], System.Private.CoreLib]]

expected:
Microsoft.Diagnostics.Runtime.Tests.TypeTests+GenericTest<System.String, System.Collections.Generic.List<System.Collections.Generic.IEnumerable<System.Int32>[,]>[]>

Also, the "ArityTest" test is failing on TypeTests.cs line 183. I really don't think my changes caused this.

Yes, please ignore that.


#2 : Updates the debug statement to only write out the node name and not the whole node

Closes #2
@masroormohammed, @pgoodrich can you guys test this out when you get a chance? This is per the suggestion from @mzgubin in https://github.com/TWCable/grabbit/issues/2#issuecomment-398075823
To test this, it should be enough to try sending very large files (like large DAM uploads 50MB +) from Grabbit Server to Client.

I also have some more changes that improve resiliency like catching some of the errors encountered to keep the jobs running. It would be great if that was perhaps put into a configuration whether to fail-fast or just log those errors as warnings and go on. I don't know enough about the best approach for something like that would be.
I also converted the servlet on the source being pulled from to handle post requests instead of get. That way the requests won't be limited by the GET URL length. This can be useful if there are a ton of exclusions as we've encountered.
Also I made a change to how the exclusion filters are matching the paths. Currently the paths will be searched to find the exclusion string in any part of the path, instead I've made it so that the string is matched against just the startsWith instead. Not sure if that's how it's intended to be used, but perhaps that can also be configured somehow in the exclusion filter section itself.
So I have my code in a fork but I will go ahead and create a 7.1.4 branch and create a PR to be merged into there. That way you can review.


Question:Please Help Me...I feel like I am in danger, do not trust archive.org/archive.today ...

I cannot figure out how to use your archive.....Please help me

My computer has been compromised...


[Bug]: Generated modules are suggested to users

Description
At least for modules generated for client declarations we shouldn't suggest importing the module.
Steps to Reproduce
client "openapi.yaml" as weather;

public function main() {
    wea<cursor>
}

Affected Version(s)
2201.3.0-RC1
Related area
-> Editor

Closing this since the IDL feature was removed


docs(root): documentation about testing with RTL

Summary of the changes
Testing documentation with using RTL has been added to the guidance site in order to assist development teams test ukic/react components within their applications
Related issue
https://github.com/mi6/ic-ui-kit/issues/282
Checklist

[ ] I have manually accessibility tested any changes, if relevant.
[x] I have raised this pull request against the develop branch

https://animated-fiesta-gvyom1k.pages.github.io/branches/282--testing-documentation/get-started/install-components/testing-with-react-testing-library


strange design when wallet widget is minimized

Is this the intended behavior/design for the widget? See screenshot below:

Running on iPhone7/10.1 breadwallet v0.6.4-46

That's strange, I also have an iPhone7/10.1 and mine looks like this:

Does tapping Show More/Show Less, or removing and re-adding the widget make any difference?

I tried but still the same thing

Ah, I bet it's because it's using the QR image cached from the previous version of the widget. When you receive funds and it will generate a new one for the new address that I think is a little larger.

Interesting train of thought. Okay, that would make sense in my case. So just a matter until someone wires some satoshis 😂 LOL

In the interest of science...

Yeah to science! Thanks for that! Here's what happened: QR code/address within app changed. I swiped to see the Widget, the old QR was shown for a second then replaced with the new one. - Same 'broken' layout though, and I did remove the widget, and pressed show less/more a couple of times. Should I reimburse you?

Darn... so strange that I can't reproduce it on the same device and OS version.
No you can keep the buck... don't spend it all in one place.

I just took a quick look into the repo - Some weird constrains behaving mysteriously upon messing with self.preferredContentSize - I will try to tinker with it a little over the weekend. The minified widget has some room for improvement, right?

yes, I quickly reworked it to get something that didn't look like ass with the new iOS 10 widgets, and maybe didn't succeed.

If you're feeling ambitious and want to re-do it in swift 3, then it would likely make it into the swift 3 rewrite we're doing.

@voisine Where can we help contribute to the Swift version?


feature request: is it available to support windows?

Hi, is it available to support windows?

Probably not by me, duplicate of #585, #613

Windows is now supported follow #1038 and the windows branch for more info.


Syndication: Instagram

generate "memeable" image for every Article
save it to an easy to get space for manual Instagram posting
consider auto-emailing to social media team
consider auto-posting in Slack to social media team
consider building an in browser image builder for Articles for manual control
fallback plan: create a reusable and style guide for photoshop/illustrator

We've been banned.

I'll reopen since there's an account again.


Potential infinite loop in type checking

In cb89a08412b0badcc39dc2ec27dc8e2f158e5554
:NewDefs
:GADTs

abstract class Foo[type T]: Bar | Baz
class Bar extends Foo[Int]
class Baz[T](val x: Foo[T]) extends Foo[[T]]

fun foo[T](f: Foo[T]): Int = if f is
    Bar then 0
    Baz(x) then foo(x : Foo[x.T])
//│ ╔══[ERROR] Subtyping constraint of the form `([?a]) -> ?b <: ?c -> ?d` exceeded recursion depth limit (250)
//│ ║  l.14: 	fun foo[T](f: Foo[T]): Int = if f is
//│ ║        	                                ^^^^
//│ ║  l.15: 	    Bar then 0
//│ ║        	^^^^^^^^^^^^^^
//│ ║  l.16: 	    Baz(x) then foo(x : Foo[x.T])
//│ ║        	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//│ ╙── Note: use flag `:ex` to see internal error info.
// (some more errors)

Update: an even smaller example:
class Box[type A](val get: A)
abstract class F[type A]: MkF
class MkF[T](t: T) extends F[Box[T]]

fun f[T](x: F[T]): T = if x is MkF(t) then Box(t) as x.A
//│ ╔══[ERROR] Subtyping constraint of the form `?a <: ?b` exceeded recursion depth limit (250)
//│ ╙── Note: use flag `:ex` to see internal error info.
//│ fun f: forall 'T. (x: F['T]) -> 'T

So as we've discussed before, this seems to be happening during reconstraining after type extrusion. Recornstraining is basically a hacky plug on top of extrusion to detect type mismatches introduced by approximated skolems (in the context of first-class polymorphism).
The solution is not a low-hanging fruit. We need to rearchitect extrusion so it's done in a more principled way, accumulating all level-mismatched bounds first and extruding them all together, only reconstraining what's actually neede.

Ok so it turns out the issue was not what I thought it was. There was a bug in extrusion, fixed in 55ae3631be9cd7a7d34c6b20701864858364b6a5.


In case of multiple NRPZS use reservations for the last 7 days

After an analysis I think that it makes sense to use last reservations for adjusting speed of vaccination places.
It will show the o2 Universe, Mlada Boleslav and some other important places.
We have to change the description to the oclumn as well.

Done


Merge upstream

Resolved conflict:

upstream added dedicated branding (conflicted with our okdvirt)

Squash and merge is not a good way for us in merging upstream changes. Revert is needed.


Error when trying to run Fusion360

I installed the snap and ran Fusion360. It installed a few things and there was a big download, but then it stops with an error.
Here is the error:

And here's what it's trying to do when the error comes up:

Here's my system info:

please try v0.8


Adds requests-mock package for testing

Issues:
Fixes #738
Problem:
This change supplies the python requests-mock package in the
test pip and docker files so that it can be used in tests
Analysis:
Contributors asked that this package be included for writing
unit and functional tests. The change updates the dockerfiles
and the pip requirements file to support version 1.1.0 of
the requests-mock package
Tests:
none

shall I merge? ignoring the pep8 violations :) ?

uhh, whoops. no, that is a breaking error. lemme fix