test: fix test_configdrive.py and move it to smoke test

Description
This PR fixes some issues in test_configdrive.py and moves it from component test to smoke test.
(sleep 30s as vm crashes after migration in ubuntu 20.04)

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 1436

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2235)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 32221 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2235-kvm-centos7.zip
Smoke tests completed. 89 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

runTest
Error
0.00
test_configdrive.py

runTest
Error
0.00
test_configdrive.py

@nvazquez moved to <IP_ADDRESS>

@weizhouapache Is this PR ready for review?

@weizhouapache Is this PR ready for review?

@sureshanaparti not yet. facing some issue with template registration in smoke test environments. I will look into it.

@weizhouapache Is this PR ready for review?

@sureshanaparti not yet. facing some issue with template registration in smoke test environments. I will look into it.

ok, thanks for the update @weizhouapache

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 1961

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2688)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 30919 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2688-kvm-centos7.zip
Smoke tests completed. 91 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

runTest
Error
0.00
test_configdrive.py

runTest
Error
0.00
test_configdrive.py

Trillian test result (tid-2688) Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7 Total time taken: 30919 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2688-kvm-centos7.zip Smoke tests completed. 91 look OK, 1 have errors Only failed tests results shown below:
Test	Result	Time (s)	Test File
runTest	Error	0.00	test_configdrive.py
runTest	Error	0.00	test_configdrive.py

@weizhouapache can you check these test failures.

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_multiplication_x: suse15. SL-JID 1974

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 1977

@blueorangutan test

@blueorangutan test suse15 kvm-suse15

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan package

@weizhouapache a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 1979

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan test suse15 kvm-suse15

@weizhouapache a Trillian-Jenkins test job (suse15 mgmt + kvm-suse15) has been kicked to run smoke tests

Trillian Build Failed (tid-2703)

@blueorangutan test

@blueorangutan test

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2704)
Environment: kvm-suse15 (x2), Advanced Networking with Mgmt server s15
Total time taken: 41253 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2704-kvm-suse15.zip
Smoke tests completed. 90 look OK, 2 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_migrate_VM_and_root_volume
Error
79.97
test_vm_life_cycle.py

test_02_migrate_VM_with_two_data_disks
Error
49.53
test_vm_life_cycle.py

test_hostha_enable_ha_when_host_in_maintenance
Error
305.99
test_hostha_kvm.py

Trillian test result (tid-2705)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 63548 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2705-kvm-centos7.zip
Smoke tests completed. 91 look OK, 1 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_configdrive_isolated_network
Error
5213.49
test_configdrive.py

test_configdrive_shared_network
Error
1352.46
test_configdrive.py

code looks good to me but it still doesn't seem to work @weizhouapache . Do you have any idea yet?

Trillian test result (tid-2705) Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7 Total time taken: 63548 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2705-kvm-centos7.zip Smoke tests completed. 91 look OK, 1 have errors Only failed tests results shown below:
Test 	Result 	Time (s) 	Test File
test_configdrive_isolated_network 	Error 	5213.49 	test_configdrive.py
test_configdrive_shared_network 	Error 	1352.46 	test_configdrive.py

code looks good to me but it still doesn't seem to work @weizhouapache . Do you have any idea yet?

Trillian test result (tid-2705) Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7 Total time taken: 63548 seconds Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2705-kvm-centos7.zip Smoke tests completed. 91 look OK, 1 have errors Only failed tests results shown below:
Test 	Result 	Time (s) 	Test File
test_configdrive_isolated_network 	Error 	5213.49 	test_configdrive.py
test_configdrive_shared_network 	Error 	1352.46 	test_configdrive.py

@DaanHoogland I am checking

@blueorangutan test keepEnv

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

just run the test on a env with pr 5769, it looks good.
[root@pr5769-t2700-kvm-centos7-marvin ~]# cat /marvin//MarvinLogs//06MT81/results.txt
Test Configdrive as provider for isolated Networks ... === TestName: test_configdrive_isolated_network | Status : SUCCESS ===
ok
Test Configdrive as provider for isolated Networks ... === TestName: test_configdrive_isolated_network_hypervisor_hostname_exposed | Status : SUCCESS ===
ok
Test Configdrive as provider for shared Networks ... === TestName: test_configdrive_shared_network | Status : SUCCESS ===
ok
Test Configdrive for VPC Networks ... === TestName: test_configdrive_vpc_network | Status : SUCCESS ===
ok
Test Configdrive for VPC Networks ... === TestName: test_configdrive_vpc_network_verify_metadata | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 5 tests in 6192.782s

OK

rekick the test

Trillian test result (tid-2715)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 37570 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2715-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan test

@blueorangutan test

@weizhouapache a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@sureshanaparti @DaanHoogland
test passed. this is ready for review.
However, I wonder if neccesary to move it to smoke test (run the tests in 103 minutes in my testing)

Trillian test result (tid-2729)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36873 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5528-t2729-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File

However, I wonder if neccesary to move it to smoke test (run the tests in 103 minutes in my testing)

Wei, can we extract a minimal set into a smoke test and leave the rest in components?


Global Networks

The Problem
A key point that attracted a lot of attention during re:invent is the support for deployments that multiple regions, clouds, and hybrid scenarios, including on-prem nodes. This approach isn’t straightforward with Kubernetes without an additional layer, and we don't support it yet in Bacalhau.
During my discussions, I’ve referred to the hierarchical architecture we’ve discussed in Amsterdam, with a central orchestrator and regional counterparts, which is similar to Central Hub with Edge Leafe Nodes Topology
This feature has been the key point that differentiated us from Kubernetes and similar systems, and what tracked a lot of attention, but we don't have yet.
The Proposal
Start working on Central Hub with Edge Leafe Nodes Topology

replaced by a linear project


Conv fails with "Statistically Allocated Circular Buffers" error in Pipeline

Describe the bug
In the DispNetRes module of Fadnet++ functional model, conv5 fails with the following error in the model pipeline.
Statically allocated circular buffers in program 48 clash with L1 buffers on core range [(x=0,y=0) - (x=11,y=1)]. L1 buffer allocated at 607232 and static circular buffer region ends at 617856
To note: Conv passes in unit test with the same configuration, but fails in model pipeline.
To Reproduce
Steps to reproduce the behavior:

Checkout to the branch harini/dispnet_conv5_unittest
Run the following command to reproduce the issue: pytest tests/ttnn/integration_tests/fadnetpp/test_ttnn_dispnetres.py
Run the command to unit test the conv: pytest tests/ttnn/integration_tests/fadnetpp/test_conv5_unittest.py.

Expected behavior
To run the specified conv without error.
Please complete the following environment information:

OS: [e.g. Ubuntu 20.04]
Device: GS

@HariniMohan0102 have you tried to deallocate memory and re-test?

@HariniMohan0102 i assume this is still the old conv APIs or have we refactored to new conv apis? Also we should test it on WH now

@dvartaniansTT The issue is regarding old conv API. We haven't ported the Fadnet++ model to new conv API on WH yet.

We'll create new issue if the issue persist with new Conv API.


timeout when running network stability test

Seeing timeouts when running systest/network_stability_test.robot

https://gerrit.openbmc-project.xyz/7550


Sticky translucent header issue

First of all, thank you for your themes!

Regards,

I think that's also how it looks without the theme.


Traffic Ops Golang Writes Body Twice for Gzipped Headers

traffic_ops_golang is broken if the client sents Accept-Encoding: gzip. It will write the gzipped body, followed by the un-gzipped body.
wrappers.go wrapHeaders calls gzipResponse with the real Writer, which calls w.Write.  It then calls iw.RealWrite(iw.Body()) which writes to the real writer.
This was a result of merging https://github.com/apache/incubator-trafficcontrol/pull/1146 which I reviewed, and requested a fix for this issue.
https://github.com/apache/incubator-trafficcontrol/pull/1146#discussion_r138130404
The code was changed, so the Review comment was hidden, without fixing the issue.
The Review was then Dismissed without Approval:
https://github.com/apache/incubator-trafficcontrol/pull/1146#event-1251561294
The PR was then merged with this critical regression:
https://github.com/apache/incubator-trafficcontrol/pull/1146#event-1251665312
Incidentally, the breaking commit lists me as the author: https://github.com/apache/incubator-trafficcontrol/commit/8f90a1fc4cbd6f143dad3acfa23c6fc9261f7114
I am not the author of that commit (it may be the result of a merge failure). My original correct commit is here: https://github.com/rob05c/incubator-trafficcontrol/blob/29cc755bcdb2139c9e2c90dced87d9fb1a84c4b7/traffic_ops/traffic_ops_golang/wrappers.go

Fixed with https://github.com/apache/incubator-trafficcontrol/pull/1182


Reproduction of M2track

Dear authors,
I am not able to reproduce the results reported in the paper using the given config at M2_track_kitti.yaml
The paper reports 61.5/88.2 for the pedestrian class on KITTI but I have 52.1/76.5.
I wonder if the same config used for generating the results in the paper is provided. Or is there anything else we can take note of to reproduce the results?
Thanks!

The config file for training KITTI Pedestrian is just the same as that we used for Car. However, since the Pedestrian has much less training data than Car in KITTI, we recommend you use a relatively smaller batch size (eg. 64 in total) to train the pedestrian tracker.

The config file for training KITTI Pedestrian is just the same as that we used for Car. However, since the Pedestrian has much less training data than Car in KITTI, we recommend you use a relatively smaller batch size (eg. 64 in total) to train the pedestrian tracker.

Thanks for your reply. I have tried training with batch size 64 for 180 epochs for the pedestrian class. It seems the performance (55.0/76.6) is still a bit off compared to the reported. I wonder if you can kindly provide the training configs for different classes if the settings are not exactly the same as the default config.

As I said, the config is the same except for the batch size. Could you please provide more details about your platform (e.g. Cuda version, PyTorch version, GPU specs)?
Can you reproduce the results using the provided checkpoints?
By the way, the batch size you set in the command line is used for each GPU. For example, if you are using two GPUs and set the batch size to 64 in the command line, the total batch size becomes 64. Please make sure your setting is correct.

Thanks for your reply. My environment settings are:
pytorch : 1.8.0
CUDA Version: 11.4
GPU : V100 32GB
And I trained all models with only one gpu.
I tested with your provided checkpoints and got 60.7 / 89.4 for Ped, 67.4 / 81.0 for Car. So I assume the data and environment is fine.
Also I trained all categoires with different batch size and epoches and got the results:

cyc
van
ped
car

m2track (from paper)
73.2 / 93.5
53.8 / 70.7
61.5 / 88.2
65.5 / 80.8

m2track (bs64 epoch60)
76.79 / 94.59
50.18 / 63.70
52.1/ 7 6.5.
66.1 / 78.9

m2track (bs256 epoch180)
67.87 / 89.54
46.22 /
50.84 / 78.34
65.48 / 78.57

m2track (bs64 epoch180)
67.11 / 93.46
50.0 / 64.09
55.04 / 79.62
63.55 / 77.85

The performance of cyc and car is quite close to your results but van and ped result is still a bit of to yours.
The hparams.yaml file saved for my Pedestrian experiment is as below, I wonder if you guys can help to see whether is correct and I'm very grateful if you can provide any help.
config: !!python/object/new:easydict.EasyDict
  dictitems:
    IoU_space: 3
    angle_weight: 10.0
    batch_size: 64
    bb_offset: 2
    bb_scale: 1.25
    bc_weight: 1
    box_aware: true
    category_name: Pedestrian
    center_weight: 2
    cfg: cfgs/M2_track_kitti_ped_bs256.yaml
    check_val_every_n_epoch: 1
    checkpoint: null
    coordinate_mode: velodyne
    data_limit_box: true
    dataset: kitti
    degrees: false
    epoch: 180
    from_epoch: 0
    gradient_clip_val: 0.0
    limit_box: false
    log_dir: work_dir/M2_track_kitti_ped_bs64
    lr: 0.001
    lr_decay_rate: 0.1
    lr_decay_step: 20
    motion_cls_seg_weight: 0.1
    motion_threshold: 0.15
    net_model: m2track
    num_candidates: 4
    optimizer: Adam
    path: ./data/kitti/training
    point_sample_size: 1024
    preload_offset: 10
    preloading: true
    save_top_k: -1
    seg_weight: 0.1
    test: false
    test_split: test
    train_split: train
    train_type: train_motion
    up_axis: &id001
    - 0
    - 0
    - 1
    use_augmentation: true
    use_z: true
    val_split: test
    wd: 0
    workers: 10
  state:
    IoU_space: 3
    angle_weight: 10.0
    batch_size: 64
    bb_offset: 2
    bb_scale: 1.25
    bc_weight: 1
    box_aware: true
    category_name: Pedestrian
    center_weight: 2
    cfg: cfgs/M2_track_kitti_ped_bs256.yaml
    check_val_every_n_epoch: 1
    checkpoint: null
    coordinate_mode: velodyne
    data_limit_box: true
    dataset: kitti
    degrees: false
    epoch: 180
    from_epoch: 0
    gradient_clip_val: 0.0
    limit_box: false
    log_dir: work_dir/M2_track_kitti_ped_bs64
    lr: 0.001
    lr_decay_rate: 0.1
    lr_decay_step: 20
    motion_cls_seg_weight: 0.1
    motion_threshold: 0.15
    net_model: m2track
    num_candidates: 4
    optimizer: Adam
    path: ./data/kitti/training
    point_sample_size: 1024
    preload_offset: 10
    preloading: true
    save_top_k: -1
    seg_weight: 0.1
    test: false
    test_split: test
    train_split: train
    train_type: train_motion
    up_axis: *id001
    use_augmentation: true
    use_z: true
    val_split: test
    wd: 0
    workers: 10

Hi there, I've tested the code twice with the same config file on a similar platform as yours (a single v100 with pytorch 1.8.0 and CUDA 11.1).
In my experiments, I did not have your issue. And the two retrained models reached the following results within 30 epochs.

I suppose this may relate to your training data. Could you add the --preloading flag to your training command to generate the preloaded data file? The generated .dat file should have a size of about 1.3GB on a Linux machine.
By the way, compared to Car, the numbers of training frames for Van and Cyclist are much smaller (1994, and 1529 respectively).  So the training is a bit unstable due to the lack of training data. You may need to conduct more experiments to achieve the reported results.
Let me know if you still have a problem.

Thanks a lot for the reply. Did your pass command line parameters like --batch size 64 in your training, because it seems that the batch size in your config file will be overwritten by those argument and the default value for batch size is 100 as in main.py. I wonder maybe that is the difference?
I checked the saved .dat which is 1.3GB as yours.

Yes, I passed it in the command line.  Actually the batch size in the config file is useless and confusing. I will remove it soon.

Thanks a lot for the reply. Did your pass command line parameters like --batch size 64 in your training, because it seems that the batch size in your config file will be overwritten by those argument and the default value for batch size is 100 as in main.py. I wonder maybe that is the difference?
I checked the saved .dat which is 1.3GB as yours.
Also I just randomly choose some checkpoints (~10) for testing instead of all of them. Maybe I just got bad luck.

According to my experience, the precision reaches 80+ usually after the first learning rate decay. I recommend you do the validation after 20 epochs.
Let me know if you have new results.

Below is the result of my bs64 epoch180 Pedestrian experiment

Below is the result of my bs64 epoch180 Pedestrian experiment

Seems that there are better checkpoints in this training and they are close to our reported result.  I think your issue is already solved.
Feel free to contact me if you have further questions.


Make textfield icons align with textfields

Description
When giving a textfield an icon the vertical icon alignment is off.
Repro Steps

    vpn_key
    <input id="token" type="text" class="validate" maxlength="10">
    Anmeldecode

Screenshots / Codepen
https://codepen.io/Fylipp/pen/zzoezO

Please try the code from the CSS tab.
https://codepen.io/anon/pen/rwjVba

That works nicely, why is it not that way by default?

@tomscholz Hm, should we pick this or another value?

I think .5 rem is actually perfect since it is aligned with the label.

@Fylipp right, this is what I tested in the ChromeDevTools but I did not test further how other icons react and if some vertical-align or transform makes more sense.

The @DanielRuf's solution is perfect!

@DanielRuf is this issue going to be addressed in the future? I created a PR that solves the issue the way you proposed.

The team will probably merge the PR.


Use reflection to examine an object for configuration properties

For one of my use cases, I want the user to be able to provide an instance of a POCO containing configuration properties and values.
For example,
class MyConfiguration
{
    public string Foo { get; set; }
    public NestedConfiguration Bar { get; set; }
}

class NestedConfiguration
{
    public int Baz { get; set; }
}

[...]

var customConfig = new MyConfiguration()
{
    Foo = "hello!",
    Bar = new NestedConfiguration()
    {
        Baz = 123
    }
};
builder.AddObject(customConfig);

would produce the keys
["foo"] = "hello!"
["bar.baz"] = "123"

I wrote a ConfigurationProvider for my project to satisfy this requirement. I added support for anonymous types as well.
The code is here: https://github.com/stormpath/stormpath-dotnet-config/tree/master/Microsoft.Extensions.Configuration.Contrib.Stormpath.ObjectReflection
I'm happy to copy my code into a PR for this repo, if this is something that's on the roadmap. :smile:

For now we think this would be a good sample, feel free to submit a PR for the Entropy repo which is where we put our samples like this...

Will do, thanks @HaoK


[Service Bus] Mention the replacement for EntityNameHelper in the migration guide

In Microsoft.Azure.ServiceBus, we had the EntityNameHelper which got used for a few different purposes. It is not covered in the migration guide as to what one would need to do in Azure.Messaging.ServiceBus in these cases.
From https://github.com/Azure/azure-sdk/issues/2463#issuecomment-783603803

We can add a section to the migration guide to explain this.

for anybody that comes here this sample:
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/servicebus/Azure.Messaging.ServiceBus/samples/DeadLetterQueue/Program.cs
around line 168 shows what to do to get to the dead letter queue

The pattern for reading from dead-letter and other subqueues is covered in a migration guide sample.


[JSON-RPC] eth_blockNumber returns misaligned integer

Describe the bug
eth_blockNumber returns integer with leading zero which is not conforming to the spec (pattern: ^0x([1-9a-f]+[0-9a-f]*|0)$). In fact it also breaks tools like cast.
It seems like some sort of serialization problem. I would love to give it a try and fix it.
Steps to reproduce
cast block-number --rpc-url http://localhost:8545

Returns:
Error:
Deserialization Error: invalid length 64, expected a (both 0x-prefixed or not) hex string or byte array containing between (0; 8] bytes at line 1 column 68. Response: "0x00000000000000000000000000000000000000000000000000000000000f4240"

--or--
http localhost:8545 jsonrpc=2.0 id=1 method=eth_blockNumber params:='[]'

returns:
{
    "id": "1",
    "jsonrpc": "2.0",
    "result": "0x00000000000000000000000000000000000000000000000000000000000f4240"
}

Node logs
No response
Platform(s)
Mac (Apple Silicon)
What version/commit are you on?
81fec4b375a1bdfc58a54c30aa15723336e5e98a
Code of Conduct

[X] I agree to follow the Code of Conduct

Probably related: #1486 and linked issues

closing as dup of #1465 and #1486
is being worked on here https://github.com/recmo/uint/pull/225


Highlighting across multiple tabs

Currently highlighting is "sticky" per open file / tab - in other words, if I highlight one word on tab1, and another word on tab2, the work on tab 1 is still highlighted.
I would like the option to modify this behavior. When working on a multiple file project, it's often useful to be able to find all occurrences across all open files. When I highlight a word in one tab, I would like the word to be highlighted in all open files.

You want the functionality to be like with a split pane, but with tabs instead?
This might be tricky as the Tabs keep the selection of your previous state. We'd need double check if an event is fired (on tab change is a selection event fired?)
We would also need to record which selection was last and use that to get the String out of it.

Yes. Thanks for looking at it!


How to extract IMU data from mkv output?

Hi ~ Folks
I'm just starting to understand what is IMU data from Azure Kinect...
But I cound not find how to get IMU data from Kinect.
Cause I'm working on the SDK now.
For now, I just used to use k4arecoder and k4aviewer
But How can I extract IMU data from MKV file.
I just learned how to extract RGB image and Depth image from MKV
But there is no description about extracting IMU Data...
Is there any explanation for that?
Is there any one to help me?
Thank you
Regards
Dennis
Is your feature request related to a problem? Please describe.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

You can retrieve them from a recording using this method:
C API: k4a_playback_get_next_imu_sample
There is also a similiar method in the C++ wrapper that you can invoke on the playback object.


Fixes issue #4

This pull request fixes issue #4
I've tested in on my own machine with protos which import standard google protobuffs, and custom protobuf implementation. python_out adds _pb2 to module name and should be added in imports.

@nipunn1313 is on vacation, he'll look at this when he's back in 1-2 weeks.

This looks great
(nothing wrong with a quick code review from the beach, right?)


Bugfix/fix rcl period arguments

I guess that these modifications should be done in https://github.com/ros2/rcl. Am I right?

I guess that these modifications should be done in https://github.com/ros2/rcl. Am I right?

That's right, I wrote under issue #971 the reason I created that under micro-ros:
"Something that I didn't understand, maybe I am missing something.
I tried to create pull request for ros2/rcl, so I created fork for it, but for some reason it created me a fork for micro-ros/rcl.
I know that ros2/rcl is a fork for micro-ros/rcl, but why can't I edit the fork ros2/rcl?"

I guess that you should clone the ROS 2 repo and make the PR to their origin. I'm closing this.


Schema - Add Required as an explicit property

This would depricate JsonSchemaPropertyDefinition.IsRequired and JsonSchemaPropertyDefinition.IsHidden` properties.
If a Required property is added to the schema implementations, it would make them model the JSON representations better.

Ulitimately, JsonSchemaPropertyDefinition (and it's associated collection) could potentially be completely removed in favor of changing the JsonSchema0x.Properties property to Dictionary<string, IJsonSchema>.
Technically, removing these would be a breaking change, but with the recent additions of implicit casts and indexers, the impact to client code would be minimal.

I think I might just skip the obsolete part and eliminate the definition class.  It makes this change easier.

See branch task/issue-78-required-as-property.

Mostly done, but still unsatisfied with the need to keep JsonSchemaTypeDefinition.  In the end, whatever goes there needs to support a simple type or an array of simple types.
Might be possible to create a flags enum... I'll play with that.

Was able to get the enum working.  Though there is a (very) minor snag in that the type property is considered unordered when it's an array.  This is causing an issue in one of my self-validation tests as my serialization writes it differently than the online document.
See https://github.com/json-schema-org/json-schema-spec/issues/474

I have a workaround that I'll probably end up using until I can get the options merged in.  Basically, the schema internally configures any arrays for "contents equality" while serializing.
I think this feature is ready.


Improve look of Donors list in Editor's About

This PR does a few things to improve how Donors are visualized in the Editor's About section:

Website links are hidden within the donor's name.

Donors with associated websites display an icon.
Hovering over these donors displays their website if it exists.
Double-clicking opens the website on browser.

The "And _ anonymous donors" part is grayed out.
Most donors are always split in 3 equally-spaced columns regardless of size.
Internally, get_logo was removed. It went entirely unused.

Note that the Authors page is not (currently) affected.

Should be all good now. I gave up trying to lazy-load the About section on NOTIFICATION_READY. It would just crash and the debugger was not helpful in troubleshooting it.

When you click an item, it loses its hover highlight:
https://github.com/godotengine/godot/assets/2223172/c04c395f-c882-41e4-bbbd-8289931b3c0c

Updated the PR to use font_disabled_color instead of hardcoded Color(1, 1, 1, 0.5) for the ExternalLink icons.

Thanks!


Support for containers

Support for running applications in containers. Make this a high level app type. Investigate support for reusing cached containers. Investigate support for containers as a sandbox.
Potentially we would want to support different container models for different systems. We'd want to define a single app that could then use different containers on each system.
Perhaps something like the following:
app('container', dfk):
def foo(param1, param2):
return {singularity :  {container-uri: uri, config: foo, run: "param1 param2"},
docker: {container-uri: uri, config: foo, run: "param1 param2"}}
Maybe better to wrap each container type as its own class?

Pushing to 0.6.0

As an intermediate step, we will add support for launching IPP engines within containers. By specifying specific sites that use a particular container, and tying apps to those site, you can execute apps within containers that support them.

0.5.0 added minimal container support. This was done in the IPP executor, by having the ipengine calls wrapped by container calls. This approach however works only when ddocker containers can be launched directly for eg. on a node with docker available. We need this this logic to be pushed down to libsubmit so that containers are launched in a way suitable to the compute resource, (say Kubernetes).
@annawoodard  This is additional work that needs to happen in order to support containers properly.


[AutoPR batch/data-plane/cosmos-db/resource-manager] Cosmos Python (#6172)

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6178

(message created by the CI based on PR content)

(message created by the CI based on PR content)


Cross-platform message deletion tool

Is your feature request related to a problem? Please describe.
PINE64 Community hosts a matterbridge, which bridges over 15 chats rooms between 4 platforms.
Since there is a lot of chatrooms with quite high activity, moderating is very problematic, because there is no way
of deleting a single message between all platforms.
Describe the solution you'd like
Create a way of deleting the messages, which will be deleted on every platform. (Maybe API?)
Describe alternatives you've considered
I created fork of matterbridge, where I integrated HTTP REST endpoint, which can delete message across the platforms by Discord Message ID. This endpoint uses mechanism which is used when user deletes his message, thus endpoint look up into cache, find the message IDs in other platforms and sends the message deletion request into every bridge.
This is working fine, but only for pure text messages. If there is any attachment, it's problematic. In case of Discord, if there is attachment used, the message ID is not saved into cache (I fixed it easily). Although, for example, Telegram deletes only message with file name, not the image/attachment itself, and Matrix doesn't delete image at all (maybe similar problem to Discord one?).
Additional context
I created this issue, because the fork I made contains still more and more core changes, so maintaining latest version of matterbridge and also the cross platform deletion feature will be problematic. Also I found that this tool can be useful for other communities which struggle with same issue, so I think the proper implementation within matterbridge would be best.

Matterbridge should delete the message if the bridge supports it, so deleting the message on eg the discord bridge should already work, if it doesn't do this, this is a bug :)
Of course I'm open for PR's that improves this.
Where can I find your fork?

Matterbridge should delete the message if the bridge supports it, so deleting the message on eg the discord bridge should already work, if it doesn't do this, this is a bug :)
Of course I'm open for PR's that improves this. Where can I find your fork?

The way this works right is that deletes will only propagate if they're deleted from the "canonical" chat.
Eg: a message sent from whatsapp, then deleted from discord will not propogate the message delete.
I have my own little fix here: 655b70f606c4fc9626cc2d270799f8e0bc6a58a2
And it works but for some reason it will delete all messages, except the original message.

I have my own little fix here: 655b70f
And it works but for some reason it will delete all messages, except the original message.

do you have more details on why it needs to exclude the original message? I think this is the last remaining piece for this to be usable for my usecase.


remove conditional shape changes from multivariate_normal

tf.cond breaks things when the shapes are unknown, make multivariate_normal require column vectors or matrices (i.e. 2D input) and raise a warning when the shape is unknown or less than 2D

Codecov Report

Merging #653 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #653      +/-   ##
==========================================
+ Coverage   98.31%   98.33%   +0.02%
==========================================
  Files          46       46
  Lines        3788     3789       +1
==========================================
+ Hits         3724     3726       +2
+ Misses         64       63       -1

Impacted Files
Coverage Δ

gpflow/densities.py
100% <100%> (ø)
:arrow_up:

gpflow/params/parameterized.py
98.67% <0%> (+0.44%)
:arrow_up:

Continue to review full report at Codecov.

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

@awav I think this is ready to be merged

@ialong densities.py:93 needs testing (or a nocover), then all tests should pass.

@awav codecov is finally happy


Documentation: enable parallel builds

This speeds up docs building decently, especially when doing a live preview / iterating on docs.
Needed to bump sphinxcontrib-googleanalytics to v0.4 to enable parallelization.
Note that make update-requirements is hopelessly broken, so I didn't do that.

I hope it's not beyond hope yet.

Hope springs eternal :-). The problem was that rstcheck totally changed the CLI, so scripts broke. I gave up.


remove editor artifacts from .gitignore

contributors should use .gitignore_global instead (ref)

I’m voting against this change. This leads to a much poorer getting started experience by expecting developers to be aware of an obscure power user feature. Looking at GitHub’s own gitignore templates shows that ignoring editor generated files is the norm for this community, and our mantra is to meet developers where they are, not where we think they should be.
https://github.com/github/gitignore
Please revert.


TFTRT: Support new unary ops for TRT 5.1+

TRT 5.1 adds the following unary ops:
Sin, Cos, Tan, Sinh, Cosh, Asin, Acos, Atan, Asinh, Acosh, Atanh, Ceil, Floor
This PR:

Adds support for converting these new ops
Adds validators for all unary ops
Adds unit tests for all unary ops

Also, consider rebase so pick up the following commit.
https://github.com/tensorflow/tensorflow/commit/14abf581047502dc17b8fcbbc5e5ab8bac5311ec

We will also need to update the following. The test is failing after this PR.
https://github.com/tensorflow/tensorflow/blob/95147fbbf7b62b421c3a4da7f770249abc3f1287/tensorflow/compiler/tf2tensorrt/convert/convert_graph_test.cc#L111


User guide

Can anyone leave a guide to use/setup this app on android for beginners and non technical experts like me.  Its even hard to get a model from the huggingface website using cellphone. So pls if anyone has time to put a step by step guide for newbies, it would be great. Thanks!

seems like a dupe of https://github.com/Mobile-Artificial-Intelligence/maid/issues/562

dupe


something error when Run the Hello World desktop example

I followed the installation tutorial to install on ubuntu16.04. When the last step was executed, the following error occurred. May I ask the boss, what is the problem?
`Starting local Bazel server and connecting to it...
DEBUG: Rule 'build_bazel_rules_apple' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "6c9fcae7a3597aabd43f28be89466afe0eab18de", shallow_since = "1565379803 -0700" and dropping ["tag"]
DEBUG: Call stack for the definition of repository 'build_bazel_rules_apple' which is a git_repository (rule definition at /home/chengx/.cache/bazel/_bazel_chengx/03075537009721f8d1bae0d873205506/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):

/home/chengx/CM/HeiHei/mediapipe/WORKSPACE:251:1
INFO: SHA256 (https://github.com/bazelbuild/rules_cc/archive/master.zip) = f977d49a6fb605964661d65c73b930a595f55f1be63d637535e52263a8a5159c
DEBUG: Rule 'rules_cc' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "f977d49a6fb605964661d65c73b930a595f55f1be63d637535e52263a8a5159c"
DEBUG: Call stack for the definition of repository 'rules_cc' which is a http_archive (rule definition at /home/chengx/.cache/bazel/_bazel_chengx/03075537009721f8d1bae0d873205506/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):
/home/chengx/CM/HeiHei/mediapipe/WORKSPACE:28:1
INFO: Analyzed target //mediapipe/examples/desktop/hello_world:hello_world (44 packages loaded, 1181 targets configured).
INFO: Found 1 target...
ERROR: /home/chengx/.cache/bazel/_bazel_chengx/03075537009721f8d1bae0d873205506/external/com_google_protobuf/BUILD:148:1: C++ compilation of rule '@com_google_protobuf//:protobuf' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 39 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from /usr/include/c++/5/random:38:0,
from /usr/include/c++/5/bits/stl_algo.h:66,
from /usr/include/c++/5/algorithm:62,
from external/com_google_protobuf/src/google/protobuf/stubs/common.h:38,
from external/com_google_protobuf/src/google/protobuf/any.h:36,
from external/com_google_protobuf/src/google/protobuf/any.cc:31:
/usr/include/c++/5/cmath:1282:3: internal compiler error: Segmentation fault
copysign(long double __x, long double __y)
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
Target //mediapipe/examples/desktop/hello_world:hello_world failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 35.050s, Critical Path: 12.41s
INFO: 54 processes: 54 linux-sandbox.
 The easiest solution could be either using MediaPipe Docker (an isolated environment) or switching to another gcc compiler, e.g., gcc8.


Fixes Minor bug in rating card dark mode #180

Fixed the minor bug related to the colour of Submit and Stars from black to white in Dark Mode and made the code structure look better in the Rating Dialog Section. Now the display is changed as shown below. Kindly avoid the alignment of the title here because of my device's dimension. If anyone can make this alignment responsive it would be really great!
Fixes #180

BEFORE

AFTER

Do I need to pass all the checks here? If yes, can you guide me on how I can do so?

Do I need to pass all the checks here? If yes, can you guide me on how I can do so?

Don't worry about the checks here, the one failing is not related to your PR.


dom.event.contextmenu.enabled - description needs updating?

i'm not aware of 'dom.event.contextmenu.enabled' breaking JS context menus - rather the JS context menu is placed under the default FF context menu, so you have both - if you want to use the JS menu, press Esc once
current descrip:
'[WARNING] This will break sites' functionality such as Dropbox'
might want to change that to reflect what i stated above?

can u give me an example site, maybe a snapshot?

dropbox: https://imgoat.com/uploads/9f0f895fb9/7149.png
if i click Esc, the FF menu would close leaving only the JS menu - Esc again and that too closes

But right click scripts can do whatever they want. Just because Dropbox or Google Docs is nice about it, doesn't mean others are.

I'm not closing this, and we already brought this up in another issue, about whether or not to move it (and disable it - deferred for now). Now I'm going to have to find example of where it's being used by a-holes. :)

Also not sure about Shift-right-click

But right click scripts can do whatever they want. Just because Dropbox or Google Docs is nice about it, doesn't mean others are.

i may have misled you - my point was that setting 'dom.event.contextmenu.enabled' to 'false' doesn't prevent the context menu - that SS i gave you is with the pref set to 'false'
so it it's 'being used by a-holes', and 'false' doesn't prevent this, then maybe we have a bigger problem?

Ahh, sweet
[TEST] https://swisnl.github.io/jQuery-contextMenu/demo.html
With dom.event.contextmenu.enabled->true, the right click does brings up the JS menu only
With dom.event.contextmenu.enabled->false, the right click does brings up the browser's menu (but, weird, it has the JS menu underneath, and to make the browser one disappear, I just click to another tab and then back again, and voila JS menu).
^^^ so based on THAT test and they are only using onContext events (not onclick, onmouse, up/down whatever) (or at least that's what I think they are doing, or at least that's what the pref covers), then the description is correct
Set true, it dictates the context menu and controls it completely and the browser context menu is not shown
Set false: the browser context menu is shown
The whole thing needs more cowbell

[...] to make the browser one disappear, I just click to another tab and then back again, and voila JS menu

you can just press Esc to hide the FF menu and expose the JS menu - i didn't test all the examples though, just the first one on that page

All the examples there (when you disable JS control on context menu), allow the browser menu, with the JS one underneath. ALL. THE. EXAMPLES. :)
When this pref came out (it goes back to like FF3.6 and maybe earlier), it probably did what it said (but I have seen bug tickets which say otherwise) as in it stopped most sites disabling the right click menu entirely (isn;t that what that add0on "right to click" did?). But now we are 10 or 11 years on or whatever, and web tech has changed. Whatever is being used to trigger those menus is not fully covered by this pref any more. I have a feeling (but lack the right term here) that I read about this being an onSomething event (and its not a mouse one) and that its easily bypassed.
Its been decades since I worked with events (and even then it was a nightmare - on key up/down/press mouse move/up/down/click/double-click, left-middle-right .. on enter, on exit, on focus)
NOTE: Shift-Right-Click leaves the JS menu off, just giving the browser one

I think we need someone to test this in their Outlook.com mail thing (who was it who had that), and other sites that like google docs or gmail. I'm not sure which other sites have featured right clicks. I also wouldn't mind a couple of examples of a-hole sites abusing it.
So I set it to true, and I can bypass a JS menu with shift-rightclick, same in false

Outlook Web Access (Exchange server on-premises):
TRUE
Right click = JS context menu
Shift Right click = FF contect menu
FALSE
Right click or Shift Right click is the same... always shows both, JS and FF, but FF menu is overlapping JS,
I will stay on TRUE. ;)

just throwing it out there
/* 2201: disable website control over browser right-click context menu [SETUP]
 * [NOTE] Shift-Right-Click will always bring up the browser right-click context menu
 * [WARNING] This will break sites' functionality such as dropbox,  google docs, etc
 * where JS context menus are used for extra features or core components.  ***/
   // user_pref("dom.event.contextmenu.enabled", false);

It sounds like it doesn't work at all anymore?! Do we really need a [SETUP] + [WARNING] for something that does jack-shit?

Good point. how's this
/* 2201: disable website control over browser right-click context menu
 * [NOTE] Shift-Right-Click will always bring up the browser right-click context menu
   // user_pref("dom.event.contextmenu.enabled", false);

a quick thumbs up and I can close this

@atomGit Thanks for bringing this up, excellent. Now we've learned/confirmed Shift+Right-Click override and improved website compatibility. Thanks :)


workers are deployed with a healthcheck

For example, deploying example-dockerfile-procfile-http:
><> deis scale worker=1
Scaling processes... but first, coffee!
done in 128s
=== www Processes
--- worker:
www-v2-worker-sy6c2 starting (v2)
--- web:
www-v2-web-dp2h0 up (v2)

From checking the pod:
readinessProbe:
      failureThreshold: 1
      initialDelaySeconds: 5
      periodSeconds: 5
      successThreshold: 1
      tcpSocket:
        port: 80
      timeoutSeconds: 5

The worker process does not run the API server, therefore it will always fail the health check. Non-web processes should not have a healthcheck.

Notice that this is causing worker deployments to be really slowwwwwww (128 seconds, to be exact)

Before we only allowed routable applications through: https://github.com/deis/controller/commit/af7673378061e7a57b6feca7a1fd67f728aa172f#diff-3b6e1f09121075ad67f216aa2bbfc9a6L949
Quick fix is to do that again
Adding tests to ensure only routable apps can get healthchecks would be nice. Note that the old code didn't raise anything, just ignored non-routable types.


Updated tests to work with new test-data organization

the test data folders were changed and some filenames were changed. This PR also includes some other small changes that I needed to make in order to get the tests to pass.
Closes #142

The Vega model should not always be 5000 because other modes need different models, hence the check and making the filename each time.

Yes, I agree, but I found this bug as part of this work; fixing it is beyond the scope of this PR.  I've opened an issue: #150 to address it.

Maybe I am misunderstood.   Did it break?  Or were you just trying to clean up code?

Regarding Vega5000. I don't remember if it broke or not....I think I noticed it because my linter identified those variables (model and file) were not being used.  So I commented out their declarations to call more attention to the problem.  So yes, that change was just me cleaning the code.

I think it would be easier to simply convert whatever the uses to all lowercase letters because eventually there will be other instruments.

Again, I agree, this part of the code needs attention. I just added a "quick fix".  I've opened an issue to address the larger issue more thoughtfully: #151

One thing I am personally working on in all my coding projects is having pull requests address one problem and to try to avoid "coding creep". This makes pull requests easier to review and to merge when they don't touch too many things at once.
Here are some documents which have influenced my approach

https://gist.github.com/sktse/569cb192ce1518f83db58567591e3205
https://google.github.io/eng-practices/review/developer/small-cls.html - where CL = pull reqest.


RNSound.setSpeed

Getting error using "setSpeed" from javascript on release version running on android device. Not seeing error when running on emulator in development.
Android
react-native 0.44.0
Error:
I/ReactNativeJS( 2980): GETTING = null
E/MediaPlayer( 2980): Should have subtitle controller already set
W/dalvikvm( 2980): threadid=13: thread exiting with uncaught exception (group=0x4156eba8)
E/AndroidRuntime( 2980): FATAL EXCEPTION: mqt_native_modules
E/AndroidRuntime( 2980): Process: com.cogplay, PID: 2980
E/AndroidRuntime( 2980): java.lang.RuntimeException: Could not invoke RNSound.setSpeed
E/AndroidRuntime( 2980): 	at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:382)
E/AndroidRuntime( 2980): 	at com.facebook.react.cxxbridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:138)
E/AndroidRuntime( 2980): 	at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
E/AndroidRuntime( 2980): 	at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 2980): 	at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 2980): 	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
E/AndroidRuntime( 2980): 	at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 2980): 	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:208)
E/AndroidRuntime( 2980): 	at java.lang.Thread.run(Thread.java:841)
E/AndroidRuntime( 2980): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 2980): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2980): 	at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 2980): 	at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:368)
E/AndroidRuntime( 2980): 	... 8 more
E/AndroidRuntime( 2980): Caused by: java.lang.NoSuchMethodError: android.media.MediaPlayer.getPlaybackParams
E/AndroidRuntime( 2980): 	at com.zmxv.RNSound.RNSoundModule.setSpeed(RNSoundModule.java:161)
E/AndroidRuntime( 2980): 	... 11 more

cc: @twitwi  @benvium

Any updates?

Android "speed" is listed as both working and not working.  Should this work?
Available in both from the table:

But the description says iOS only:

Which version of Android are you using? The android.media.MediaPlayer.getPlaybackParams() method is available since Android 6.0 (API Level 23), so it could have something to do with this.

@lukecwilliams I created a new issue for your question. #257

@trepidity thanks!

+1 Release build on Android
RNSoundModule.java line 215
com.zmxv.RNSound.RNSoundModule.setSpeed
		"react": "^16.2.0",
		"react-native": "^0.53.3",
		"react-native-sound": "v0.10.2",

Crashlytics

@ghsdh3409 Are you experiencing this issue...?

@esutton Android setSpeed works in the API level >= 23.

@ghsdh3409 Thank you!  My mistake.
Not sure why it threw an exception since it looked like it should have returned on an API 19 device rather than throwing?
  @ReactMethod
  public void setSpeed(final Double key, final Float speed) {
	if (android.os.Build.VERSION.SDK_INT < 23) {
	  Log.w("RNSoundModule", "setSpeed ignored due to sdk limit");
	  return;
	}

    MediaPlayer player = this.playerPool.get(key);
    if (player != null) {
      player.setPlaybackParams(player.getPlaybackParams().setSpeed(speed));
    }
  }

https://github.com/zmxv/react-native-sound/blob/253a35ca6841b8087081ec2d3565cbd2f3ea9612/android/src/main/java/com/zmxv/RNSound/RNSoundModule.java#L355

Now that I look at this code, I wish it had been written without the “return”. Would anyone want to write a PR and write it without the return?

On Mar 10, 2018, at 9:40 AM, Eddie<EMAIL_ADDRESS>wrote:
@ghsdh3409 Thank you! My mistake.
Not sure why it threw an exception since it looked like it should have returned on an API 19 device rather than throwing?
@ReactMethod
public void setSpeed(final Double key, final Float speed) {
if (android.os.Build.VERSION.SDK_INT < 23) {
Log.w("RNSoundModule", "setSpeed ignored due to sdk limit");
return;
}
MediaPlayer player = this.playerPool.get(key);
if (player != null) {
  player.setPlaybackParams(player.getPlaybackParams().setSpeed(speed));
}

}
https://github.com/zmxv/react-native-sound/blob/253a35ca6841b8087081ec2d3565cbd2f3ea9612/android/src/main/java/com/zmxv/RNSound/RNSoundModule.java#L355
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@esutton any update on this issue, we are also facing this issue on android version greater than 4, like android 10,6 and 9.


Added amulet flash animation

Flash animation is 12 frames long. should hold on the last frame for a few frames before returning to prior state.
Also updated amulet texture with new gem color.
Hex values for shades of this gem color:
#ffa493
#e78c62
#ffb7a4
#ed987d
#ff8d73

Reexported hand flash


What is the real purpose of this plug-in?

hi @jeff-french
What is the real purpose of this plug-in?
I can't understand~

Installing New Relic manually is complicated. Not only does this plugin make it simple, it makes it possible to automate the installation of New Relic into any Cordova project.

What informations can i obtain later with NR? Since this is integration of native iOS plugin, i won't see any JS stuff?

RTM


Create Longest Common Subsequence.py

Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
Description
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)

@atriadhiakri2000 Remove necessary files. Rename the program to this Longest_Common_Subsequence.py. Add space and time complexity. Format your code according to PEP 8 rules. You can refer to this http://pep8online.com/.

I have made the necessary changes

Longest_Common_Subsequence

Please Check.

@atriadhiakri2000 Update the README file.

The README is duly updated

@atriadhiakri2000 Update Python/README.md file.

@iamrajiv I have made the changes in the readme. I sincerely apologize for being such an inconvenience.

@all-contributors please add @atriadhiakri2000 for code


Mobile local dev: Move Core SDK version + add iOS and Android artifacts download

Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.

Description
This PR moves Worker SDK version to the one containing artifacts for iOS and Android. It also adds needed Android and iOS packages to downloads.
Tests
Open Unity on clean checkout and verify that all packages are downloaded correctly
Documentation
Primary reviewers
cc @DanailPenev

Shall we merge this into master-merge branch and test it there?


Implements #288: support for two additional version ids (b.min and b.orig)

I took a first stab at implementing the two new version ids (#288 ). I focused on backward compatibility to avoid breaking existing functionality in the 2.0.0 release.
I ended up using b.min and b.orig (as opposed to b-min and b-orig) because I found Lang-2b.min and -v2b.min easier to read.
I added a basic test for checking those new version ids.

@rjust - one minor suggestion/thought:
Should we also add version id <bid>f.orig as an alias for <bid>f? The ideas of "min" and "orig" have no meaning for the fixed version, but it could prevent accidental misuse.
I'm fine accepting this, as is, but the thought occurred to me.

Thanks @rjust.  Quick questions,

Should we also provide the original/unminimized patches as we provide the minimal ones?  I.e., defects4j/framework/projects/Chart/patches/1.src.patch and defects4j/framework/projects/Chart/patches/1.src.patch.orig? I'm aware that D4J can figure out the original patch at checkout, but I'm wondering whether that will be useful for others.  Or perhaps we can create, yet another d4j-command to provide the original patch of a minimized patch.

Don't we have to update the scripts/D4J commands that depend on the metadata of each patch?  Let me give you an example. Suppose that I checkout the original buggy version of Chart-1 and then run the d4j-coverage command.  Quoting the d4j-coverage command:

By default, code coverage is measured only for the classes modified by the bug fix.

In other words, by default, code coverage is measured only for the classes modified by the minimal bug fix.  Because I checkout the original buggy version of Chart-1, shouldn't the d4j-coverage command measure coverage for the classes modified by the original bug fix instead?

@jose @rjust - If we provide a .orig patch, we may also want to do provide .orig versions of modified_classes, loaded_classes, and relevant_tests as well. Any thoughts on this?

Duplicating all meta data for the .orig versions seems a bit overkill and would grow the repo even more quickly. Given that most files would be identical for .min and .orig, maybe symlinks would be an option, though. Also, computing patches and the set of modified files is super quick and could be done on-the-fly.
I agree that the notion of instrumenting modified classes by default is confusing. We could fix this by more precisely documenting the default. Each command does support custom class lists, so a user can always override the default -- having such class lists precomputed would make this easier. Alternatively, we can compute the set of modified files prior to running a command rather than using pre-computed metadata. Computing the set of relevant tests would be more of an issue, though.
Based on the discussions that we had so far, it seems that we have the following goals:

Consistent defaults between .min and .orig: either (1) always use the .min metadata or (2) precompute (where necessary) metadata for .min and .orig
Minimize runtime: computing loaded classes and relevant tests on-the-fly is way too time-consuming.
Convenience: accessing metadata on Github (or locally) allows for quick sanity checks and analyses.

Here is a concrete proposal:

Command: we add a top-level command that can export (any) metadata for a bug.
Consistency: all commands use the metadata for the checked-out project version. For example, coverage will instrument different classes for .min and .orig.
Meta-data repo: we move the precomputed metadata to a dedicated repository and add metadata for .min and .orig.

@rene - I like your proposal. If we have a command that can generate the metadata for the original version, we can actually keep our repo quite clean while still enabling access to data:

Our repo contains artifacts for the min version, as those require curation.
The artifacts for the orig version do not need curation, and can be extracted on-command.

@rjust, I do agree with your proposal.  It would be tricky to keep the metadata repository up-to-date and synchronized with the D4J repository but I think we can manage that.  (I do prefer to have all metadata in place, i.e., without having to run any command or even clone D4J.  It's just easier to consult metadata if it has been pre-computed.)

@jose I was thinking about a submodule solution, but I agree it will be less convenient. As an alternative, having a snapshot of all pre-computed metadata in a dedicated repo (clearly linked from the D4J README) and keeping only necessary metadata in D4J proper might be acceptable.
Btw, I just noticed that the current metadata in D4J proper is not "complete" -- for example, modified_classes directory does not provide the list of modified test classes, but the patches directory does provide all test patches.
Let's group all the metadata into:

Curated (e.g., minimized src patches)
Pre-computed [instant] (e.g., modified files, original src patches, test patches)
Pre-computed [long-running]: (e.g., loaded classes, relevant tests)

We can put all of the above metadata (and possibly more) into a dedicated repo. We need to keep the curated files in D4J proper -- and probably want to keep the results of long-running analyses as well. I don't think we need to store metadata that can be instantly computed with a command (the dedicated metadata repo will still provide immediate access online). If we want to make pre-computed [instant] available locally, then the init script could populate the corresponding folders.
Any thoughts?

@Greg4cr and @jose, for this particular PR, let's make a decision on what the semantics of the -r flag (test, coverage, etc.) should be for b.orig project versions and make sure that this is implemented correctly. This likely involves more code changes and possibly a few metadata changes.
I think that we should tackle the re-org of the metadata, too, but in another PR.

IMO, the -r flag should use .orig metadata whenever the original buggy version is checkout and use .min metadata if the minimized buggy version is checkout.  It might be a good idea to first address the re-org of the metadata in another PR and then revisit this.

I agree with @jose - the current relevant_tests are generated based on the minimized patch. We should have a second relevant_tests generated for the original patch. If -r is used for the original version, we should run the relevant tests for that, not the ones calculated for the minimized version.
Given the growing complexity of the .orig/.min split, we may want to go ahead and tackle the creation of a metadata repo (or, at least, refactor of the metadata in our repo), then refactor to use that.
One suggestion for the metadata repo - maintain separate .orig and .min directories for each type of metadata. This could prevent each folder from becoming too messy. For a given project, we would have the following directory structure:

Project

failing_tests
loaded_classes

orig
min

modified_classes

orig
min

patches

orig
min

relevant_tests

orig
min

trigger_tests
(assuming we create static metadata files instead of generating on the fly)

Yes, lets go ahead and address the metadata repository first.  @Greg4cr, I like your suggestion.

@rjust What is the status of this pull request?


Add Corona Data Scraper project data and loader script

To quote the Corona Data Scraper web page,

Corona Data Scraper pulls COVID-19 Coronavirus case data from verified sources, finds the corresponding GeoJSON features, and adds population data.

We transform this data for use in the Covasim parameter format. It is stored
in CSV-format.
The following columns are present in the data:

name: Apparently, a unique name for the data set
level: level of the data (country, state, county, city)
city: The city name
county: The county or parish
state: The state, province, or region
country:  ISO 3166-1 alpha-3 country code
population: The estimated population of the location
lat: latitude
long: longitude
url: Data source
aggregate
tz: Time zone
recovered: Cumulative number recovered (as of date)
active: Cumulative number active (as of date)
growthFactor:
date: Date in yyyy-MM-dd text format
day: Number of days since first reporting
positives: Cumulative number of positive cases (as of date)
death: Cumulative number of deaths (as of date)
tests: Cumulative number of tests (as of date)
new_positives: New positives on this date
new_active: New active cases on this date
new_death: Number of deaths on this date
new_tests: New tests on this date

As of April 4, 2020, There are apparently 3280 data sets.
Data is in the data directory.
Loader is in the data_loader directory.
Partial completion of https://github.com/InstituteforDiseaseModeling/covasim/issues/43

This is probably a work in progress, but the data is useful right now.

Replacing with simpler PR without data


[bug] data should be a bytes-like object or an iterable

Hi, thanks for your work.
SInce 1.0.1 I'have got on error:
TypeError: data should be a bytes-like object or an iterable, got <class 'NoneType'>
and example don't work:
res = requests_raw.raw(url='http://httpbin.org/', data=b"GET /get HTTP/1.1\r\nHost: httpbin.org\r\n\r\n")
res_json = res.json()
print(json.dumps(res_json, indent=2))

That's weird.
Because that is the reason I created the update in the first place.
Can you check what is the version of requests (and urllib3) with pip freeze and send me?
because the issue was that requests changed their dependencies to urrlib3 and their message was:
⚠ Added support for urllib3 2.0. ⚠
This may contain minor breaking changes so we advise careful testing and
More Information Here: https://github.com/psf/requests/releases/tag/v2.30.0
I will create a patch to requests-raw version 2.0.0 to use the new requests library and I will solve this issue as soon as possible but v1.0.1 was a way an easier transition..
Let me know

this versions in my PyCharm

2.0.0 will be great! :-)

All you need to do is to reinstall requests-raw again or do requests<2.30.
It will downgrade requests…
And disable redirect (it’s disabled in a version I didn’t released yet v1.1)
I will work on v2.0 as soon as I can and add the feature of dev version 1.1
that includes non http / http 0.9 responses and no redirects + updated
version of requests (hopefully)
On Thu, 1 Jun 2023 at 1:03 kuhytitusdlz @.***> wrote:

this versions in my PyCharm
[image: image]
https://user-images.githubusercontent.com/15821799/242422053-2339562e-5510-4e5b-aedc-2863bc968112.png
2.0.0 will be great! :-)
—
Reply to this email directly, view it on GitHub
https://github.com/realgam3/requests-raw/issues/6#issuecomment-1571022918,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABKOSGGQFUVZN7KDNF3MF7TXI653VANCNFSM6AAAAAAYVH6QFU
.
You are receiving this because you commented.Message ID:
@.***>

thank you! reinstall requests-raw helped


Find surface area of a cuboid

Description
Surface area of cuboid = 2 × (Length × Width + Length × Height + Width × Height)
Length : 2
Width  : 3
Height : 4

Surface area : 52

Program added successfully :tada:
Thanks for your contribution :hugs:


No module named 'transformers'

Just added requirements.txt, please run
pip install -r requirements.txt

before training.


:pencil2: typo (cz.sh): remove the "mmessage" typo in printf

Maybe be interesting reduce the types.json to use specifically "semantic commits" only

A bug that was there all the time and wasn't fixed (pure negligence of my part, sorry) is that the colored string I was using to know how long the commit message is has a length of 84 instead of just 80 (I'm not quite sure if thats the length I wanted backthen, maybe it was 85).
Now it has one character less: 83. But what ever, later I fix that too...


csi-cinder-controller: changed NotFound behaviour of ControllerUnpublishVolume

The binaries affected:
IMPORTANT: Please also add the binary name in the title, e.g.
[openstack-cloud-controller-manager]: Add UDP protocol support
unless the PR affects multiple binaries.

[ ] openstack-cloud-controller-manager
[x] cinder-csi-plugin
[ ] k8s-keystone-auth
[ ] client-keystone-auth
[ ] octavia-ingress-controller
[ ] manila-csi-plugin
[ ] manila-provisioner
[ ] magnum-auto-healer
[ ] barbican-kms-plugin

What this PR does / why we need it:
At the moment we have a couple of flaky test in the CSIMigration effort.
During investigation, I found out that we have a race condition in the code in case of unattach a volume from a node. When either the OpenStack VM or Volume is gone, the ControllerUnpublishVolume function returns csi.NotFound. In case of CSIMigration this means being recalled over and over again with always the same result... csi.NotFound.
This PR changes: When either the volume or the instance in openstack is
already gone, the ControllerUnpublishVolume assumes the volume is not
attached any more.
This is is the behaviour DO and the GCP controller implement as well, and a sane implementation, because between any of the code steps, an out of cluster process could have delete the volume. E.g. a test case, where the internal teardown takes longer than reaching out for cinder delete in the cleanup step. We also can't assume to be called only once for a ControllerUnpublishVolume at the time.
Which issue this PR fixes:
fixes https://github.com/kubernetes/kubernetes/issues/87882
Special notes for reviewers:
Like mentioned above: The DO and GCP plugins implement this in the similar way. See

https://github.com/digitalocean/csi-digitalocean/blob/2bb4825cbf9e0fac34a3566e19b939ab378f91e7/driver/controller.go#L425
https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/blob/04e403a9ce733b9a9cc0545f434db0d8db8bc51a/pkg/gce-pd-csi-driver/controller.go#L387

The new implementation also aligns with my understanding of the spec

https://github.com/container-storage-interface/spec/blob/master/spec.md#controllerunpublishvolume-errors

Conditions:

Volume does not exist and volume not assumed ControllerUnpublished from node
Node does not exist and volume not assumed ControllerUnpublished from node

... because we can assume that the volume is not attached if it (or the node) do not exist in OpenStack any more.
Release note:

NONE

Running these flaky tests ...
[Fail] [sig-storage] In-tree Volumes [Driver: cinder] [Testpattern: Dynamic PV (default fs)] subPath [It] should support restarting containers using file as subpath [Slow][LinuxOnly]
/workspace/anago-v1.17.2-beta.0.2+59603c6e503c87/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/storage/testsuites/subpath.go:180
[Fail] [sig-storage] In-tree Volumes [Driver: cinder] [Testpattern: Dynamic PV (default fs)] subPath [It] should support existing directories when readOnly specified in the volumeSource
/workspace/anago-v1.17.2-beta.0.2+59603c6e503c87/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/storage/testsuites/subpath.go:180

...  over and over again over the entire weekend didn't show any failure.

/assign @ramineni

/test cloud-provider-openstack-acceptance-test-keystone-authentication-authorization

Good catch! Thanks for the fix!
/lgtm

/approve

/lgtm
/approve


How do you populate view with map?

Does your helper automatically populate the view with the mapping routes?

No, this gems’s sole purpose is to make requests (authenticated if necessary) to the Google Maps Distance Matrix API and build a result object from the response.
On Fri, Mar 16, 2018 at 20:09, RailsCod3rFuture<EMAIL_ADDRESS>wrote:

Does your helper automatically populate the view with the mapping routes?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/apeiara/google_maps_api-distance_matrix","title":"apeiara/google_maps_api-distance_matrix","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/apeiara/google_maps_api-distance_matrix"}},"updates":{"snippets":[{"icon":"DESCRIPTION","message":"How do you populate view with map? (#3)"}],"action":{"name":"View Issue","url":"https://github.com/apeiara/google_maps_api-distance_matrix/issues/3"}}}


seek issue

streaming play "https://p3.openlanguage.com/obj/ez-data/16469702308217854cf0b0f.mp3"
can not slide progress bar to seek

solved by using
playerService.seek(at: seekTime)


Local web development workflow broken

trunk serve can't be used for local development anymore. I'm getting CORS errors: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at<EMAIL_ADDRESS>(Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 301.
If I understand modern web dev best practices, the "right" answer is to instead grab local copies of our JS dependencies like leaflet and serve them. In osm2streets we're manually vendoring the dependencies here, but it's an unpleasant process. I manually grabbed files from unpkg, and watched browser network requests to find all of the files.
Of the plethora of dependency management + bundler tools out there, what should we use? What'll play nice with trunk? Can https://trunkrs.dev/assets/#script-assets help?

https://github.com/thedodd/trunk/issues/273
https://github.com/thedodd/trunk/issues/32#issuecomment-704603685
Not sure of the easiest path forward today. We have just 2 dependencies (leaflet and a gesture plugin).

I'd also vote for moving away from trunk and towards the straightforward wasm-pack + local python HTTP server. It adds layers of confusing indirection and not much value that I see.

Developing the app itself in rust (trunk) vs vanilla JS vs TS is a matter of preference. If simplicity of architecture is most important, then vanilla JS seems sensible to be - especially for prototyping and dogfooding the JS build of the library.
If we're trying to make a fully featured and polished web app, I think we're going to end up wanting a good templating solution, some third party components, etc. Buying into some level of framework is certainly a time-efficient way of solving a whole bunch of boring problems, but of course they all have their own drawbacks.
I would personally reach for React, because that is the UI paradigm I am familiar with, and I would probably reach for create-react-app so I don't have to think about how to set up the JS tooling.

(from the other thread)

Is there a simple tool out there to grab all the final distribution files for an NPM package?

That sounds like just npm to me :D (or alternative yarn). It can be used to get the packages, then the whole node_modules directory can be added to source control (along with the package.json and yarn.lock).
ben@ben-xps:~/code/blah$ yarn add leaflet
yarn add v1.22.19
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─<EMAIL_ADDRESS>info All dependencies
└─<EMAIL_ADDRESS>Done in 0.90s.
ben@ben-xps:~/code/blah$ ls node_modules/leaflet/dist
images  leaflet.css  leaflet.js  leaflet.js.map  leaflet-src.esm.js  leaflet-src.esm.js.map  leaflet-src.js  leaflet-src.js.map

I'm attempting this in https://github.com/a-b-street/osm2streets/tree/yarn but I suspect something is already going wrong...

When I did yarn init, it didn't recognize the existing git repo, and so I had to manuallyish bring over the files it made
It's generating a few ~2MB files like .pnp.loader.mjs, seemingly part of https://yarnpkg.com/features/zero-installs
yarn add leaflet-osm times out
Nothing actually produces node_modules or similar, like yarn install

yarn --version says 3.2.4, but half of the Google results are for "classic" yarn. So... I'm pretty lost. Am I doing something majorly wrong? Or maybe I'll try npm

Hmm, turns out I am using "yarn classic" 1.22. I guess I had heard about yarn modern back when it was coming out and chosen not to upgrade because it does things differently, before forgetting altogether!
I'd recommend starting fresh and skipping the yarn init step: we don't need anything other than dependencies in package.json. Try to yarn add leaflet-osm without using pnp. If that doesn't work easily, try yarn 1.x, and if that's tricky, just use npm instead!

I got files downloaded locally by using npm: https://github.com/a-b-street/osm2streets/tree/npm/street-explorer/www
But now I guess the bundler problem is next. I changed the .html to just reference node_modules directly. We wouldn't need to commit all 19MB to git necessarily; npm ci should reproduce it from the lockfile on CI or any developer's machine. But just looking for the equivalent files in each directory to include doesn't quite work -- I hit require is not defined     <anonymous> http://<IP_ADDRESS>:8000/node_modules/graphviz/lib/graphviz.js:4 and a few other errors. From googling around, serving the  entire node_modules directory isn't recommended anyway. So as I understand it, we should also use a bundler and call it in serve_locally.py and the github actions workflow. Or even better -- that bundler ought to be able to replace serve_locally.py entirely by also being a tiny HTTP server.
I guess I'm still struggling to detangle the ecosystem of different options. There's a spectrum between full frameworks with scripts that auto-create all the base config, and the totally vanilla JS option using CDNs that we've done so far. We moved onto manually copying dependencies from the CDN. Now we're using a little automation to grab those packages, but they bring in way too much, and not in an immediately servable form.
If you weren't using React or another full framework in one of your projects, but you grew past the point of manually copying files from a CDN, what would your vanilla JS stack be?

I'll admit that I've only got a rudimentary understanding of the full npm and packaging ecosystem.
I haven't worked on any vanilla JS projects of any size recently. One of the benefits of going the vanilla JS route is avoiding any build tooling at all. As we've just discovered npm is not suitable for a tooling-free approach.  I guess each package on npm chooses which systems to support (and tends to support whatever Node expects). I have only looked into this stuff to the extend needed to fix various problems-at-hand in existing build systems that I have been working in.
The way that vanilla JS has worked, is the CDN approach, where each dependency publishes their JS (usually minified) on their website for you to download and add to your www dir. On reflection, your question of "how do we get the files in an npm package" has the false assumption that those files would be useful without a bundler! The example that we looked at - leaflet - has a dist directory in its npm package to serve our workflow, but that is the exception, not the rule! The workflow is to find the "download" section of the website offering the dependency that we're looking at and following any advice given there. Leaflet has https://leafletjs.com/download.html#using-a-downloaded-version-of-leaflet which lets us know we should be serving the images folder that's part of the download offered at the the top of the page.
In the modern ecosystem that approach might limit the dependencies that we have access to more than we like, and maybe we should be looking to set up a bundler and pay the cost of requiring tooling for local dev. If so, I would recommend starting choosing one of the bundler options out there and using whatever module system that expects (treating those details as implementation details that we hopefully don't have to dive into). I'm not across the current bundler landscape, but things to consider would include install/config/cli ergonomics, build features (like tree-shaking, TypeScript, custom build steps, etc.), build speed, community buy-in, ... I don't know how the choice of bundler interacts with the choice of npm vs yarn, but I prefer the ergonomics of Yarn Classic over npm. I'd be interested to try Yarn Modern with a bundler that plays nicely.


Adding BLOB field to XMLPort crashes client when browsing AllObjWithCaption (14.27 to 21.0)

Please include the following with each issue:
1. Describe the bug
If you have an XMLPort published from extension, and that XMLPort has fieldattribute based on BLOB field, browsing AllObjectsWithCaption crashes client with following errors:

Fatal error during metadata load
Requested value 'Blob' was not found

2. To Reproduce
Steps to reproduce the behavior:

Add BLOB field to XMLPort as fieldattribute
Note: I replicated this with custom as well as standard BLOB fields.

tableextension 50100 CustExt extends Customer
{
    fields
    {
        field(50100; MyField; Blob)
        {
            DataClassification = ToBeClassified;
        }
    }

}

xmlport 50100 MyXmlport
{
    schema
    {
        textelement(Root)
        {
            tableelement(Customer; Customer)
            {
                fieldattribute(MyField; Customer.MyField)
                {

                }
            }
        }
    }
}

Open Permission Sets,
create user defined permission set
Try to add XMLPort 50100 to permission set - client crashes with errors as above
Issue also present on BC 14.27.47563.0-nz with same symptoms
Issue also presents if browsing AllObjWithCaption table from custom code.

Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.
3. Expected behavior
Client does not crash. If adding blob field to XMLPort in this manner is not allowed, there should be an AL compiler error raised at runtime.
4. Actual behavior
Client crashes. Following errors found in event log:
Fatal error during metadata load -- Type:XmlPort; Id:50100; MetadataGroup:94;
MetadataLoaded:False; CLRLoaded:False; ThreadGroup:95 ProcessId: 17624 Tag:
00007YQ ThreadId: 32 CounterInformation: CustomParameters: { }
RootException: ArgumentException Requested value 'Blob' was not found. ExceptionStackTrace: at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult) at Microsoft.Dynamics.Nav.Types.Metadata.MetaXmlPortFieldNode..ctor(XmlNode textNode) at Microsoft.Dynamics.Nav.Types.Metadata.MetaXmlPort..ctor(XmlDocument xmlDoc, CreateRequestForm createRequestForm, Int32 metadataAppGroupId, Int32 languageAppGroupId, RemoveItemsOnPageBasedOnLicenseAndApplicationArea removeItemsOnPageBasedOnLicenseAndApplicationArea) at Microsoft.Dynamics.Nav.Runtime.NCLMetaXmlPort.LoadMetadata() at Microsoft.Dynamics.Nav.Runtime.NCLMetaApplicationObject.Populate() at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObjectInternal(ApplicationObjectId appObjectId, Boolean requireCompiled, Int32 appGroupId) CallerStackTrace: at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObjectInternal(ApplicationObjectId appObjectId, Boolean requireCompiled, Int32 appGroupId) at Microsoft.Dynamics.Nav.Runtime.NCLMetadata.GetMetaApplicationObject(ApplicationObjectId appObjectId, Int32 appGroupId, Boolean requireCompiled) at Microsoft.Dynamics.Nav.Runtime.AllObjWithCaptionDataProvider.GetCaptionAndSubtype(NavAppGroup appGroup, ObjectType type, Int32 objectNumber, String objectName) at Microsoft.Dynamics.Nav.Runtime.AllObjWithCaptionDataProvider.d__4.MoveNext() at System.Linq.Enumerable.d__233.MoveNext() at System.Linq.Enumerable.<SelectManyIterator>d__233.MoveNext() at System.Linq.Enumerable.Any[TSource](IEnumerable1 source) at Microsoft.Dynamics.Nav.Runtime.DataAccess.Exists(ExistsCacheRequest request) at Microsoft.Dynamics.Nav.Runtime.RecordImplementation.ValidateNonFlowField(NCLMetaField field, Boolean isUserInput) at Microsoft.Dynamics.Nav.Runtime.NavRecord.ValidateField(FieldTriggerHandler1 fieldEvent, NCLMetaField metaField, Boolean isUserInput, List1 beforeHandlers, List1 afterHandlers) at Microsoft.Dynamics.Nav.Runtime.NavRecord.Validate(NCLMetaField metaField, NavValue newValue, NavRecord callerRecord, Boolean isUserInput) at Microsoft.Dynamics.Nav.Service.NsDataAccess.Validate(Int32 fieldId) at Microsoft.Dynamics.Nav.Service.NSField.<>c__DisplayClass15_0.b__0(NsDataAccess recDataAccess) at Microsoft.Dynamics.Nav.Service.NsFormDataAccess.RunWithFormDataAccess[T](ITreeObject parent, NavForm form, Func2 func) at Microsoft.Dynamics.Nav.Service.NsDataAccess.RunWithDataAccess[T](ITreeObject parent, NavRecordState state, Boolean instantiateNewForm, Guid parentFormHandle, String parentControlName, Boolean& instantiatedForm, Func2 func) at Microsoft.Dynamics.Nav.Service.NsDataAccess.RunWithDataAccess[T](ITreeObject parent, NavRecordState state, Func2 func) at Microsoft.Dynamics.Nav.Service.NSField.Validate(NavSession session) at Microsoft.Dynamics.Nav.Service.NSService.Microsoft.Dynamics.Nav.Types.IClientApi.ValidateField(FieldRequest fieldRequest, NavRecordState dataSetState) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Dynamics.Nav.Service.AspNetCore.ClientService.ServiceOperationPipelineDispatchProxy1.<>c.b__8_0(ServiceOperationContext context) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.AddToThreadSchedulerCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.RunInTransactionCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.TransientErrorRetryCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.ErrorMappingCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.PartnerTelemetryPermissionErrorCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.PushPopCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationTracer.TraceScopeCombinator(Category telemetryCategory, ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.<>c__DisplayClass7_0.b__0() at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.PerformanceCounterCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.InitClientTelemetryIdsCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.ServiceOperationPipeline.TlsClearCombinator(ServiceOperationContext context, ServiceOperation innerOperation) at Microsoft.Dynamics.Nav.Service.AspNetCore.ClientService.ServiceOperationPipelineDispatchProxy`1.Invoke(MethodInfo targetMethod, Object[] args) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.DispatchProxyGenerator.Invoke(Object[] args) at generatedProxy_1.ValidateField(FieldRequest , NavRecordState ) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at StreamJsonRpc.TargetMethod.d__19.MoveNext() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() ProcessId: 17624 Tag: 00007YR ThreadId: 32 CounterInformation: CustomParameters: { }
5. Versions:

AL Language: v10.0.687650
Visual Studio Code: 1.72.2
Business Central: 21.0.46256.47284-nz
List of Visual Studio Code extensions that you have installed: n/a

Final Checklist
Please remember to do the following:

[ ] Search the issue repository to ensure you are reporting a new issue

[ ] Reproduce the issue after disabling all extensions except the AL Language extension

[ ] Simplify your code around the issue to better isolate the problem

Hi, this issue is out of scope of for this repository. You should do one of the following:

Open a support request to CSS through the PartnerSource portal
Open a bug in Collaborate
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

As a reminder, this repository only handles issues to do with the compiler or VSCode development experience for AL.

Hi @thloke,
As I mentioned in my report, if this is not supported scenario, then I would expect AL compiler would raise an error to prevent me from compiling code containing this scenario.
I can imagine this being out of scope if this is a known bug in the system. Can you confirm this is the case? Your response was very much template.
Thanks!

Understandable, it is a template response. The reason why this is out of scope is because it's to do with the runtime behaviour which this repo doesn't handle. We'll need the team who handles how Xmlports work at runtime to look at this, but that has to go through CSS and not here unfortunately.
So in short, this is probably a bug, but we cannot handle it through this channel since this repo is specifically for the AL compiler and dev tools, not the runtime behaviour.
I hope that clears things up!

Thank you @thloke! Much appreciated!


Allow not to freeze other optimizers' parameters

🚀 Feature

When using multiple optimizers, provide a flag which can control whether we should freeze other parameters or not (which is a 'FIX' in here)
Motivation

When implementing BicycleGAN with lightning, I'm having great trouble because it requires something like this:
opt_e.zero_grad()
opt_g.zero_grad()
loss_eg.backward(retain_graph=True)
opt_e.step()
opt_g.step()

opt_g.zero_grad()
loss_g.backward()
opt_g.step()

which means optimize two optimizers in one optimizer_step in lightning. However currently it is not possible because only one optimizer's parameters are not frozen
Pitch

Let's say we have a flag called freeze_other_parameters, then:
for opt_idx, optimizer in enumerate(self.optimizers):
    if freeze_other_parameters:
        # make sure only the gradients of the current optimizer's paramaters are calculated
        # in the training step to prevent dangling gradients in multiple-optimizer setup.
        for param in self.get_model().parameters():
            param.requires_grad = False
        for group in optimizer.param_groups:
            for param in group['params']:
                param.requires_grad = True

Alternatives

A more elegant way might be supporting multiple optimizers optimize at one same optimizer_step, but that would break backward compatibility
Additional context

This is the original repo where I port from.

Hi, would you please give me a response so I can make sure this is the design of pytorch-lightning, and how could I resolve the pitch?

So maybe pytorch-lightning now wants us to handle this specific condition by ourselves? Because it seems that the latest release supports us to re-design the training step completely 😕

I think for this GAN example it would be best to use the manual optimization mode.
https://pytorch-lightning.readthedocs.io/en/stable/optimizers.html#manual-optimization
Then you have the most control over the optimizers.

Any update on this issue ?

I think it will be fine to close this issue now 😆


Feature Request: Publish WrenchStamped Message for Force Torque Information

Description
I would like to request the addition of a feature to the KUKA ROS2 driver to publish the force torque information of the robot arm as a geometry_msgs/msg/WrenchStamped message. This feature would be similar to the common practice (e.g. implementation in this driver), where the controller publishes the wrench measured from the robot at its TCP or other configurable frame on a topic  (e.g. /wrench).
Motivation
Currently, the driver publishes torque data (effort) within the JointState message. While this information is useful, it does not suffice for applications that require force torque data already transformed into a specified frame or TCP. By providing this data in the form of a WrenchStamped message, we can enable a variety of advanced applications, such as:

Probing Surfaces: The transformed force torque data allows precise control and sensing when interacting with surfaces, enhancing the robot's capabilities in tasks such as automatic calibration.

Advanced Control Schemes: Certain control schemes, including force control and impedance control, rely on accurate force torque information relative to a specific frame. Providing this data directly in the desired frame simplifies the implementation and improves control performance.

Calibration Capabilities: Similar to other implementations, the ability to calibrate the wrench to 0 would allow for more accurate and adaptable force measurements, crucial for dynamic environments and changing tasks.

Implementation Suggestion

New Topic: Publish a geometry_msgs/msg/WrenchStamped message on a new topic, such as /ns/wrench, to provide soft real-time force torque data at the TCP or another specified frame.
Calibration Function: Consider implementing a taring function to allow users to reset the wrench measurements as needed.

Additional Information

The WrenchStamped message provides a standardized format that is already widely used in ROS-based systems, ensuring compatibility and ease of integration.
By leveraging internal data already available within the high-speed communication system of iiQKA, this feature can be implemented with minimal overhead while providing significant benefits to users.

Thank you for considering this request. I believe it will add significant value to the KUKA driver and benefit the broader robotics community.

Thanks for the detailed feature request.
It will not be possible in the near future to extend the server side of the driver, so we will consider our options, how we could calculate the wrench on the ROS2 side

Thank you for considering and exploring options for calculating the wrench on the ROS2 side. I appreciate your efforts to find an alternative solution given the constraints on extending the server side.
Please tag me in any follow-ups or discussions related to this request, as I’m eager to stay updated and assist where possible.
Thanks again for your attention and collaboration!

Just wanted to follow up and see if there have been any updates on this. It would be really helpful for our project

Calculating wrench on the ROS2 side was deemed too complex and too much of an effort, now we are investigating the possibilities of adding it to the server side


Unfocus toggled icon

[Issue] #233
[Problem] JSAssistant, HTMLAssistant, StructureElement - after toggle icon is focused #233
[Solution] Use blur() method
Signed-off-by: Lukasz Slachciak<EMAIL_ADDRESS>

Verified. You can merge this.


Line wrap the option descriptions

This enables wrapping the option description and fixes #36.
I'm not quite sure if this is the right approach to fixing this, so I'm waiting on approval to add tests.

Looks good, although I’d like to have tests for this. Where does the length + 10 come from?

The +10 comes from the extra whitespace added in https://github.com/ddfreyne/cri/blob/master/lib/cri/help_renderer.rb#L207 on top of the given length. There are 4 spaces in the beginning of the line and the +6 adds an extra 6.
I'll add some tests to test_string_formatter.rb.

Sounds good. Could you create constants OPT_DESC_SPACING = 4 and OPT_DESC_INDENT = 6 for clarity?

I added the constants you suggested and a test. While I was at it, I also made a constant for the line width (78).

Could you create a def test_help_with_wrapped_options (or somesuch) in test/test_command.rb that provides a high-level test for this feature?
After that, I’ll merge!

If I add the test to test_command.rb, Rubocop complains over the length of the class definition:
Running RuboCop...
Inspecting 30 files
.........................C....

Offenses:

test/test_command.rb:4:3: C: Class definition is too long. [448/436]
  class CommandTestCase < Cri::TestCase
  ^^^^^

30 files inspected, 1 offense detected
RuboCop failed!

    def test_help_with_wrapped_options
      def $stdout.tty?
        true
      end

      cmd = Cri::Command.define do
        name 'build'
        flag     nil, :longflag,     'This is an option with a very long description that should be wrapped'
      end
      help = cmd.help

      assert_match(/^       \e\[33m--longflag\e\[0m      This is an option with a very long description that$/, help)
      assert_match(/^                       should be wrapped$/, help)
    end

Oh, meh. I’m inclined to disable that RuboCop for now. There’s some refactoring that could be done (such as splitting out the help generation tests) but for the time being, I am OK with disabling the cop:
Metrics/ClassLength:
  Enabled: false

All done!

Thanks!