Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
upon doing a  winget search Microsoft.Terminal I get No package found matching input criteria. According to DHowett:autogenerated/Microsoft.WindowsTerminal/0834e42f-73ce-4a99-bbee-7084cbf7b526 which is PR#85492
Steps to reproduce
using winget --version v1.3.2691 do winget search Microsoft.Terminal
Actual behavior
..
Expected behavior
obvious.
Environment
Windows Package Manager v1.3.2691
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.2251
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.2691.0

Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

### Screenshots and Logs

_No response_

For the future you could try more generic search terms like winget search terminal

For the future you could try more generic search terms like winget search terminal

what do you lead me to be in this predicament


[Refactor] Use global constants for Ray versions and Ray image versions in go tests

Why are these changes needed?

Description:
Several Ray version fields and Ray image versions in Go tests are hardcoded and should be replaced with global constants.
Examples of Hardcoded Ray Versions:
https://github.com/ray-project/kuberay/blob/aeba37e58813e0e415cb937fb0c977f2cfb981c4/ray-operator/controllers/ray/rayjob_controller_test.go#L53
https://github.com/ray-project/kuberay/blob/aeba37e58813e0e415cb937fb0c977f2cfb981c4/ray-operator/controllers/ray/rayservice_controller_test.go#L84
Examples of Hardcoded Ray Image Versions:
https://github.com/ray-project/kuberay/blob/aeba37e58813e0e415cb937fb0c977f2cfb981c4/ray-operator/controllers/ray/rayservice_controller_test.go#L107
https://github.com/ray-project/kuberay/blob/aeba37e58813e0e415cb937fb0c977f2cfb981c4/ray-operator/controllers/ray/raycluster_controller_unit_test.go#L228
Proposed Solution:
Replace these hardcoded values with the global constants defined in:
https://github.com/ray-project/kuberay/blob/aeba37e58813e0e415cb937fb0c977f2cfb981c4/ray-operator/test/support/defaults.go#L4-L5
This will enhance code maintainability across tests.
Technical Decisions
Issue
Introducing support.GetRayImage to API test files, such as:
https://github.com/ray-project/kuberay/blob/aeba37e58813e0e415cb937fb0c977f2cfb981c4/ray-operator/apis/ray/v1/rayjob_types_test.go#L48
, causes an import cycle.
Options

Create a separate package to resolve the import cycle.
Avoid introducing support.GetRayImage in API test files.

Decision
Option 2: Avoid introducing support.GetRayImage in API test files.
The added complexity of creating a separate package is not justified for API test files.
Related issue number

Closes #2618
Checks

[x] I've made sure the tests are passing.
Testing Strategy

[x] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

@MortalHappiness can you review this PR? Thanks!


StorPool storage plugin

Description
This PR adds a volume storage plugin for StorPool SDS
The main reason all classes are in one module is to provide maximum driver support even when the version is out of support. When installing the CloudsStack the StorPool's driver will come in a separate jar from the main uber jar. This allows us to provide fixes or enhancements before releases or out-of-support versions. It will only be necessary to override the old jar with the new one that carries the fix or the improvement. This decision has no effect or harm on the CloudStack project itself
Supported operations:
create/resize/delete volumes
take/revert/delete volume snapshots
take/revert/delete group snapshots - VM snapshots without the VM's memory
migrate Ceph/NFS/StorPool volumes to another StorPool primary storage
VM live migration with storage - tested with volumes on NFS/Ceph/StorPool to another StorPool primary storage
create a template from volume/snapshot
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] New feature (non-breaking change which adds functionality)
[ ] 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

How Has This Been Tested?

Environment with 2 Zones
1st Zone:
1 pod
2 clusters with 2 hyprvisors each
2 StorPool clusters with 2 clients in a MultiCluster
2nd Zone:
1 Pod
1 cluster with 1 hyprvisor
1 StorPool cluster

Hi @sureshanaparti can you please review?

@blueorangutan package

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

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

@blueorangutan package

@nvazquez 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 2819

@blueorangutan test

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

Trillian test result (tid-3550)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 31271 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6007-t3550-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_02_list_snapshots_with_removed_data_store
Error
47.78
test_snapshots.py

test_02_list_snapshots_with_removed_data_store
Error
47.78
test_snapshots.py

@blueorangutan package

@slavkap 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 2838

@blueorangutan test

@blueorangutan test

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

Trillian test result (tid-3584)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 37881 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6007-t3584-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 package

@weizhouapache a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

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

Hi @slavkap, agree with your approach around jar bundling, but it isn't needed - you can still have the storpool plugin shaded and still get the benefit of out-of-support jar updates:
The jars and resources 'earlier' on the classpath take precedence over resources that are specified after them, you can still allow for the storpool volume plugin to be shaded into the uber/fat jar and still be able to provide an explicit jar for out-of-support deployment in the lib folder as long as the explicit jar comes first in order (as the default classpath in the /etc/default/cloudstack-management uses lib/*).
CLASSPATH="/usr/share/cloudstack-management/lib/*:

Hi @rohityadavcloud, thank you for your advice! I was thinking about the samе and did some tests. Unfortunately, there are few CloudStack limitations on this. I've built a fat jar with the StorPool driver in it and tried to shade it, but I got this error:

java.io.IOException: Resource [jar:file:/usr/share/cloudstack-management/lib/cloudstack-<IP_ADDRESS>-SNAPSHOT.jar!/META-INF/cloudstack/storage-volume-storpool/module.properties] and [jar:file:/usr/share/cloudstack-m
anagement/cloud-plugin-storage-volume-storpool-<IP_ADDRESS>-SNAPSHOT.jar!/META-INF/cloudstack/storage-volume-storpool/module.properties] do not appear to be the same resource, please ensure the name property is corr
ect or that the module is not defined twice

I had to remove the resource directory (all the module information) from the new jar, and it worked but is this the correct way to shade the StorPool driver from the fat jar?

@rohityadavcloud, thank you for your review and help! I will provide test results

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

Test
Result
Time (s)
Test File

@slavkap can you fix the conflicts?

cc @slavkap
@shwstppr sorry I'll check and fix the github bot msg, not sure why it isn't picking the PR author

Results of the smoke tests executed in my lab

Test to create VM snapshots ... === TestName: test_01_create_vm_snapshots | Status : SUCCESS ===
ok
Test to revert VM snapshots ... === TestName: test_02_revert_vm_snapshots | Status : SUCCESS ===
ok
Test to delete vm snapshots ... === TestName: test_03_delete_vm_snapshots | Status : SUCCESS ===
ok

Test migrate virtual machine from NFS primary storage to StorPool ... === TestName: test_1_migrate_vm_from_nfs_to_storpool | Status : SUCCESS ===
ok
Test migrate volume from NFS primary storage to StorPool ... === TestName: test_2_migrate_volume_from_nfs_to_storpool | Status : SUCCESS ===
ok
Test write on disk before migrating volume from NFS primary storage ... === TestName: test_3_migrate_volume_from_nfs_to_storpool | Status : SUCCESS ===
ok

Test set vc-policy tag to VM with one attached disk ... === TestName: test_01_set_vcpolicy_tag_to_vm_with_attached_disks | Status : SUCCESS ===
ok
Test set vc-policy tag to new disk attached to VM ... === TestName: test_02_set_vcpolicy_tag_to_attached_disk | Status : SUCCESS ===
ok
Test to create VM snapshots ... === TestName: test_03_create_vm_snapshot_vc_policy_tag | Status : SUCCESS ===
ok
Test to revert VM snapshots ... === TestName: test_04_revert_vm_snapshots_vc_policy_tag | Status : SUCCESS ===
ok
Test to delete vm snapshots ... === TestName: test_05_delete_vm_snapshots | Status : SUCCESS ===
ok
Test remove vc-policy tag to disk detached from VM ... === TestName: test_06_remove_vcpolicy_tag_when_disk_detached | Status : SUCCESS ===
ok
Test delete vc-policy tag of VM ... === TestName: test_07_delete_vcpolicy_tag | Status : SUCCESS ===
ok
test_08_vcpolicy_tag_to_reverted_disk (TestTagsOnStorPool.TestStoragePool) ... === TestName: test_08_vcpolicy_tag_to_reverted_disk | Status : SUCCESS ===
ok

Create template from snapshot without bypass secondary storage ... === TestName: test_01_snapshot_to_template | Status : SUCCESS ===
ok
Test Create Template from snapshot bypassing secondary storage ... === TestName: test_02_snapshot_to_template_bypass_secondary | Status : SUCCESS ===
ok
Test Create snapshot and backup to secondary ... === TestName: test_03_snapshot_volume_with_secondary | Status : SUCCESS ===
ok
Test snapshot bypassing secondary ... === TestName: test_04_snapshot_volume_bypass_secondary | Status : SUCCESS ===
ok
Test delete template from snapshot bypassed secondary storage ... === TestName: test_05_delete_template_bypassed_secondary | Status : SUCCESS ===
ok
Test create template bypassing secondary from snapshot which is backed up on secondary storage ... === TestName: test_06_template_from_snapshot | Status : SUCCESS ===
ok
Delete snapshot and template if volume is already deleted, not bypassing secondary ... === TestName: test_07_delete_snapshot_of_deleted_volume | Status : SUCCESS ===
ok
Delete snapshot and template if volume is already deleted, bypassing secondary ... === TestName: test_08_delete_snapshot_of_deleted_volume | Status : SUCCESS ===
ok
Create virtual machine with sp.bypass.secondary.storage=false ... === TestName: test_09_vm_from_bypassed_template | Status : SUCCESS ===
ok
Test to create VM snapshots ... === TestName: test_10_create_vm_snapshots | Status : SUCCESS ===
ok
Test to revert VM snapshots ... === TestName: test_11_revert_vm_snapshots | Status : SUCCESS ===
ok
Test to delete vm snapshots ... === TestName: test_12_delete_vm_snapshots | Status : SUCCESS ===
ok
Attach volume on VM on 2nd zone ... === TestName: test_13_detach_volume | Status : SUCCESS ===
ok
Test Attach Volume To Running Virtual Machine ... === TestName: test_14_attach_detach_volume_to_running_vm | Status : SUCCESS ===
ok
Test Resize Root volume on Running Virtual Machine ... === TestName: test_15_resize_root_volume_on_working_vm | Status : SUCCESS ===
ok
Test Resize Volume  Attached To Running Virtual Machine ... === TestName: test_16_resize_attached_volume_on_working_vm | Status : SUCCESS ===
ok
Test Attach Volume To Stopped Virtual Machine ... === TestName: test_17_attach_detach_volume_to_stopped_vm | Status : SUCCESS ===
ok
Test Resize Volume  Attached To Virtual Machine ... === TestName: test_18_resize_attached_volume | Status : SUCCESS ===
ok
Test Resize Volume Detached To Virtual Machine ... === TestName: test_19_resize_detached_volume | Status : SUCCESS ===
ok
Create volume from snapshot ... === TestName: test_20_snapshot_to_volume | Status : SUCCESS ===
ok
Test Snapshot Detached Volume ... === TestName: test_21_snapshot_detached_volume | Status : SUCCESS ===
ok
Test ROOT Disk Snapshot ... === TestName: test_22_snapshot_root_disk | Status : SUCCESS ===
ok
Create Template From ROOT Volume ... === TestName: test_23_volume_to_template | Status : SUCCESS ===
ok
Migrate VM to another Primary Storage ... === TestName: test_24_migrate_vm_to_another_storage | Status : SUCCESS ===
ok
Migrate Volume To Another Primary Storage ... === TestName: test_25_migrate_volume_to_another_storage | Status : SUCCESS ===
ok
Create Virtual Machine on another StorPool primary StoragePool ... === TestName: test_26_create_vm_on_another_storpool_storage | Status : SUCCESS ===
ok
Create volume from snapshot ... === TestName: test_27_snapshot_to_volume_of_root_disk | Status : SUCCESS ===
ok
test_28_download_volume (TestStorPoolVolumes.TestStoragePool) ... === TestName: test_28_download_volume | Status : SUCCESS ===
ok
Create virtual machine from template which for some reason is deleted from StorPool, but exists in template_spoool_ref DB tables ... === TestName: test_29_create_vm_from_template_not_on_storpool | Status : SUCCESS ===
ok

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. 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 3129

@blueorangutan test

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

Trillian Build Failed (tid-3858)

@blueorangutan test

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

@slavkap
could you please fix the superlinter check ?
2022-04-12 17:45:13 [INFO]   File:[/github/workspace/test/integration/plugins/storpool/TestStorPoolVolumes.py]
2022-04-12 17:45:14 [ERROR]   Found errors in [flake8] linter!
2022-04-12 17:45:14 [ERROR]   Error code: 1. Command output:
------
/github/workspace/test/integration/plugins/storpool/TestStorPoolVolumes.py:895:33: W291 trailing whitespace
/github/workspace/test/integration/plugins/storpool/TestStorPoolVolumes.py:1003:29: W291 trailing whitespace
/github/workspace/test/integration/plugins/storpool/TestStorPoolVolumes.py:1783:28: W291 trailing whitespace
/github/workspace/test/integration/plugins/storpool/TestStorPoolVolumes.py:2097:34: W291 trailing whitespace
------
2022-04-12 17:45:14 [INFO]   ---------------------------
2022-04-12 17:45:14 [INFO]   File:[/github/workspace/test/integration/plugins/storpool/TestTagsOnStorPool.py]
2022-04-12 17:45:14 [ERROR]   Found errors in [flake8] linter!
2022-04-12 17:45:14 [ERROR]   Error code: 1. Command output:
------
/github/workspace/test/integration/plugins/storpool/TestTagsOnStorPool.py:540:28: W291 trailing whitespace
------
2022-04-12 17:45:14 [INFO]   ---------------------------
2022-04-12 17:45:14 [INFO]   File:[/github/workspace/test/integration/plugins/storpool/TestVmSnapshots.py]
2022-04-12 17:45:15 [INFO]    - File:[TestVmSnapshots.py] was linted with [flake8] successfully
2022-04-12 17:45:15 [INFO]   ---------------------------
2022-04-12 17:45:15 [INFO]   File:[/github/workspace/test/integration/plugins/storpool/sp_util.py]
2022-04-12 17:45:15 [ERROR]   Found errors in [flake8] linter!
2022-04-12 17:45:15 [ERROR]   Error code: 1. Command output:
------
/github/workspace/test/integration/plugins/storpool/sp_util.py:609:81: W291 trailing whitespace
------

Thanks @weizhouapache, I will fix it

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. 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 3148

@blueorangutan test

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

@blueorangutan test

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

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

Test
Result
Time (s)
Test File

test_08_migrate_vm
Error
43.78
test_vm_life_cycle.py

test_hostha_enable_ha_when_host_in_maintenance
Error
305.83
test_hostha_kvm.py

@blueorangutan test

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. 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 3160

@blueorangutan test

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

@blueorangutan test

@blueorangutan test

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

Trillian Build Failed (tid-3901)

@blueorangutan test

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

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

Test
Result
Time (s)
Test File

test_disable_oobm_ha_state_ineligible
Error
1512.13
test_hostha_kvm.py

Merging based on approvals, manual tests provided and test results (failure not related to the PR)


Add "bufType" action data for each buffer

I want to filter buffers by 'buftype' option, but the action has no data.
So I propose that add new data "bufType" for each item.
In addition:

I made the data type of item.action explicit.
Using the new 'bufType' to determine the terminal.

@kyoh86
Thank you !


*: allow coprocessor to use yatp

What have you changed?
This PR adds an option to allow coprocessor to use yatp.
What is the type of the changes?

New feature (a change which adds functionality)

How is the PR tested?

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
TO BE ADDED
Does this PR affect tidb-ansible?
It should NOT.
Benchmark result if necessary (optional)
TO BE ADDED.

/release

/release

/release

/release

/release

/run-all-tests

/test

/test

This PR needs some polishment. But before that I think you can review it now first. @BusyJay @breeswish

/bench

/bench +tpch

/bench +tpch

amazing, great work !!!

/release make dist_release

/bench +sysbench +tpch

@breeswish There is little meaning to do sysbench in our framework. All workloads are limited by write speed except point select. However, this PR doesn't enable the new thread pool for point select.

/bench +tpch

Manual benchmark result is posted to the PR description.

Now that three pools are merged into one, how to deal with priority scheduling?

In the leveled pool, high priority tasks are always in L0, normal priority tasks are using the default scheduling strategy and the low priority tasks are always in L2.

/bench +tpch

/bench +tpch
workload:
  queries: 17.sql
  repeat_time: 10

how about the latency affection of the small query when running a big query at the same time?

how about the latency affection of the small query when running a big query at the same time?

Small queries only:
qps: 24416.94
latency (min/avg/max/99th): 4.33/31.45/133.20/64.47
With big queries:
qps: 24205.06
latency (min/avg/max/99th): 5.99/31.73/143.68/65.65
I think the effect is small enough when the small query workload is not heavy.

Any more problems need I resolve in this PR? @BusyJay @breeswish

A potential optimization is to obtain running time from thread pool.

Currently there is no evidence that Instant::now harms performance a lot in this case. A single call to Instant::now takes about 20ns. I think it's not a big problem if it is not called too frequently.


Browser Storage for Code/Page Layout

These changes introduce the 'Save' and 'Load' buttons, which allow saving and loading of the contents of the Code as well as the Page Layout (Orientation and codeBox size) to and from persistent browser storage.
Tested in Chrome/Firefox; persistent storage during a session, across browser sessions, and button tooltips function as desired.

Discussed desired layout changes and such, postponing until implemented

Discussed layout changes have been implemented. Styling leaves a bit to be desired, but that can be worked on later.
Also added a framework for running tasks at startup.
To save Code/Page Layout to browser storage, press 'Save'. If you are on an example or Scratch, you will be asked to input a new name. Otherwise, the save will just happen. If you would like to make a new save from an existing save, you need to copy/paste into Scratch and then make a new save.
To revert your current working document to its last save, press the 'Revert' button.
To load a different save, simply select it from the dropdown menu.
To clear all local saves, scroll to the bottom of the dropdown menu and click Clear Local Saves

Fixed issues that were discussed. Some weirdness with the selected option for the dropdown, but it's solvable.
Adding the "selected" field to the  that we'd like to have displayed should do the trick, but there's no way to do that using Graphics.Element or Graphics.Input from what I can tell. So, it could be done if that section was rewritten in elm-html (which wouldn't be bad, and would just require a bit of time). Might do that tomorrow.


PyPDF2 text extraction

Just minor changes + using the new syntax. The syntax used before this PR is deprecated since PyPDF2==1.28.0

Thank you!


How do I enter text in topbar?

Hey guys,
In the demo -> https://raw.githubusercontent.com/satya164/react-native-tab-view/master/demo/demo.gif
How can i put this text "Text only topbar" on the basic example who is in the project readme?
Thanks,
Sorry my bad english.

Any?

It's just a view. put another view above it like you would do with normal react native components.

But should I put the view over which component? The TabBar or TabViewAnimated?

That's upto you. Both will achieve the same result.

Ok, thanks!

Pass style={{ elevation: 0, shadowOpacity: 0 }} to the TabBar

Oh thanks, man!


Add simple DSU runtime

Implement a Haskell runtime system that can load new versions of a program into memory and unload old versions.

Module unloading is difficult and will be addressed in #12 instead.


Add webgl vizjson flag and tangram script tag

This PR add the webgl flag to the vizjson and the tangram script.
I've added the tangram script as a new script tag because Tangram workers fails if it is not isolated from other scripts. A more detailed explanation here and here
Let me know if it is a better place where put the script tag :)
Fix #11266

I've updated this with a fixed tangram version generated in the assets folder by the build process.
It should be enough for the moment :)

I'd drop webgl flag and keep only vector:

we are not going to have 2 implementations
it can be missleading

@javisantana, It is gonna need another PR in CartoDB.js. I put that second flag to have a comparison at the start, as we talked three months ago.

ok, makes sense to develop but not so sure when we go to production, I don't think we should take previous implementation as reference for vector

Should I remove it?

except we have a stronger reason I'd remote it to avoid to have things we are not going to use

Ok, I'll do!!

Done!! It needs this to be fixed first.

Hey! the whole work necessary on Cartodb.js has been done!
We can move forward with this!! :)

The tests passed a lot of times, just to solve package version number conflict.
What do you think reviewers?
cc/ @juanignaciosl @javisantana

Let's gonna merge!


[Nechronica] Fragments of Memory Issue

As the Fragments of Memory part is set up now, inputting anything into FoM 1's No. field inserts the same thing into FoM 5's Title field and vise versa.
If I understand how the coding works, I would suggest changing "attr_fragment1" to "attr_fragment1title", "attr_fragment5" just below it to "attr_fragment1no", and "attr_fragment11" to "attr_fragment1content", then just continue that trend through the others there mostly for ease of understanding them at a glance, else I guess you could really just make the aforementioned "attr_fragment5" into "attr_fragment16" to continue that strange trend.
Also, according to the rules, there are supposed to be 6 FoM recorded according to the section on recovering Madness points.

I'm going to close this as it looks as though this sheet has been broadly redesigned since this issue was created. If there are lingering issues with this sheet, please create a new issue.


Missing DockerSlim in the Secure Images Category

DockerSlim is an open source container image optimization and security tool. It reduces the attack surface for container images and it also auto-generates seccomp and AppArmor security profiles.
https://github.com/docker-slim/docker-slim
There's no official logo yet, but there's a temporary one for now: https://cdn-images-1.medium.com/fit/c/120/120/1*gkYoyHd2XYRmLiO5dr7xrA.jpeg

Could you please point us to a high res logo that includes your project name.
--
Dan Kohn<EMAIL_ADDRESS>Executive Director, Cloud Native Computing Foundation https://cncf.io
tel:+1-415-233-1000

On Nov 13, 2016, at 15:28, Kyle Quest<EMAIL_ADDRESS>wrote:
DockerSlim is an open source container image optimization and security tool. It reduces the attack surface for container images and it also auto-generates seccomp and AppArmor security profiles.
https://github.com/docker-slim/docker-slim
There's no official logo yet, but there's a temporary one for now: https://cdn-images-1.medium.com/fit/c/120/120/1*gkYoyHd2XYRmLiO5dr7xrA.jpeg
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

ok. will update the ticket once I have a public link for it.

Note that if this isn't an official Docker, Inc. project, you should probably rename it so it doesn't start with "Docker" in the title. I"m not affiliated, but I've seen them go after folks before.

Closing for now. Please reopen when you have a new project name and logo.

Thanks for the reminder @LawrenceHecht ! So far Docker itself has been pretty good about it. The tool was created during one of the official Docker hackathons and they actually promoted it themselves :-)
Updating the logo... It's taking a bit longer.


Feature Request: TypeScript Support

Please add support for TypeScript. ♥

I was hoping to use the vueuse playground as an easy place to drop reproductions in order to report typescript problems with vueuse.


Upgrade QMidi to be compatible with Qt 6.2

I have done this and will submit a PR.
Following the Porting to Qt 6 guide, I first compiled with Qt 5.15 disabling deprecated functionality. This showed that qStableSort() has been deprecated in favour of std::stable_sort.
The only other change needed is the CMakeLists.txt which is specific to Qt 5.

Thanks!


DOS bug while reading attributes in Header::readfrom

I use ImageMagick to convert exr image, and it report allocate memory failure. After took a look, ImageMagick calls ImfOpenInputFile to open exr file, this function only takes filename as argument, so I think it is a openexr bug.
Version :
ImageMagick-7.0.7-4
openexr-2.2.0
Both are built with ASAN
You can get the POC file from https://github.com/noirfate/test/blob/master/test.exr and
run : magick test.exr 1.png
root@test:~# ~/deps/bin/magick test.exr 1.png
==8518==WARNING: AddressSanitizer failed to allocate 0xffffffffffffffff bytes
==8518==AddressSanitizer's allocator is terminating the process instead of returning 0
==8518==If you don't like this behavior set allocator_may_return_null=1
==8518==AddressSanitizer CHECK failed: /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:221 "((0)) != (0)" (0x0, 0x0)
    #0 0x4c898f in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_rtl.cc:69:3
    #1 0x4dc2ef in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/sanitizer_common/sanitizer_termination.cc:79:5
    #2 0x4cbc2f in __sanitizer::ReportAllocatorCannotReturnNull(bool) /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:221:3
    #3 0x41bd9f in ReturnNullOrDieOnBadRequest /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_allocator_combined.h:88:5
    #4 0x41bd9f in __asan::Allocator::Allocate(unsigned long, unsigned long, __sanitizer::BufferedStackTrace*, __asan::AllocType, bool) /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_allocator.cc:398
    #5 0x4c1090 in __interceptor_malloc /home/snd-local/releases/4.0.1/release/final/llvm.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:67:10
    #6 0x7f09bc789e77 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x8de77)
    #7 0x7f09bc789f18 in operator new[](unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x8df18)
    #8 0x7f09bef9619c in Imf_2_2::Array<char>::resizeErase(long) /root/dep_src/openexr-2.2.0/IlmImf/./ImfArray.h:196:14
    #9 0x7f09bef9619c in Imf_2_2::OpaqueAttribute::readValueFrom(Imf_2_2::IStream&, int, int) /root/dep_src/openexr-2.2.0/IlmImf/ImfOpaqueAttribute.cpp:100
    #10 0x7f09bef730c7 in Imf_2_2::Header::readFrom(Imf_2_2::IStream&, int&) /root/dep_src/openexr-2.2.0/IlmImf/ImfHeader.cpp:1219:9
    #11 0x7f09bf0e9cf6 in Imf_2_2::MultiPartInputFile::initialize() /root/dep_src/openexr-2.2.0/IlmImf/ImfMultiPartInputFile.cpp:316:16
    #12 0x7f09bf0ebe9d in Imf_2_2::MultiPartInputFile::MultiPartInputFile(Imf_2_2::IStream&, int, bool) /root/dep_src/openexr-2.2.0/IlmImf/ImfMultiPartInputFile.cpp:161:9
    #13 0x7f09bef8072c in Imf_2_2::InputFile::compatibilityInitialize(Imf_2_2::IStream&) /root/dep_src/openexr-2.2.0/IlmImf/ImfInputFile.cpp:492:32
    #14 0x7f09bef7f688 in Imf_2_2::InputFile::InputFile(char const*, int) /root/dep_src/openexr-2.2.0/IlmImf/ImfInputFile.cpp:362:13
    #15 0x7f09befb68f0 in Imf_2_2::RgbaInputFile::RgbaInputFile(char const*, int) /root/dep_src/openexr-2.2.0/IlmImf/ImfRgbaFile.cpp:1166:21
    #16 0x7f09bef534b2 in ImfOpenInputFile /root/dep_src/openexr-2.2.0/IlmImf/ImfCRgbaFile.cpp:1170:30
    #17 0x7f09c62105c5 in ReadEXRImage /root/dep_src/ImageMagick-7.0.7-4/coders/exr.c:202:8
    #18 0x7f09c5c1c3d8 in ReadImage /root/dep_src/ImageMagick-7.0.7-4/MagickCore/constitute.c:497:13
    #19 0x7f09c5c1eaa4 in ReadImages /root/dep_src/ImageMagick-7.0.7-4/MagickCore/constitute.c:866:9
    #20 0x7f09c55ddc29 in CLINoImageOperator /root/dep_src/ImageMagick-7.0.7-4/MagickWand/operation.c:4760:22
    #21 0x7f09c55e034c in CLIOption /root/dep_src/ImageMagick-7.0.7-4/MagickWand/operation.c:5255:7
    #22 0x7f09c54da6c7 in ProcessCommandOptions /root/dep_src/ImageMagick-7.0.7-4/MagickWand/magick-cli.c:424:13
    #23 0x7f09c54db530 in MagickImageCommand /root/dep_src/ImageMagick-7.0.7-4/MagickWand/magick-cli.c:794:5
    #24 0x7f09c550dc27 in MagickCommandGenesis /root/dep_src/ImageMagick-7.0.7-4/MagickWand/mogrify.c:183:14
    #25 0x4ee15d in MagickMain /root/dep_src/ImageMagick-7.0.7-4/utilities/magick.c:149:10
    #26 0x4ee15d in main /root/dep_src/ImageMagick-7.0.7-4/utilities/magick.c:180
    #27 0x7f09bca9e82f in __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:291
    #28 0x41a2c8 in _start (/root/deps/bin/magick+0x41a2c8)

In my debugging, the allocation size is controlled by attacker, so it not only can cause allocation failure and cause huge memory consumption as well.
In the POC file, 0x159~0x15c is the size
0000150: 0000 0013 2401 0000 0000 00cb 8401 0000

And the debug info :
1182            OPENEXR_IMF_INTERNAL_NAMESPACE::Xdr::read <OPENEXR_IMF_INTERNAL_NAMESPACE::StreamIO> (is, size);
1: size = 203 (0xcb)
(gdb)
1184            AttributeMap::iterator i = _map.find (name);
1: size = -889192448 (0xcb000000)
(gdb)
1186            if (i != _map.end())
1: size = -889192448
(gdb)
1212                if (Attribute::knownType (typeName))
1: size = -889192448
(gdb)
1215                    attr = new OpaqueAttribute (typeName);
1: size = -889192448
(gdb)
1219                    attr->readValueFrom (is, size, version);

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14988

Why are you running binaries as root btw?

@noirfate @fgeek  I wonder if there is an actual issue here. Array::resizeErase uses new to allocate memory which raises an Exception in case there is not enough memory. These are handled in the calling function.

@agx That is what that ASan error usually means. I haven't analyzed this and I didn't request that CVE. I just cross-referenced in here from MITRE's database.

I did a little bit of digging and examined this bug/security issue more.
The problem is that size attribute, that is read in  can have an arbitrarily big value and library than allocates so much memory that it will eighter drain system resources or crash the program altogether.
size is read at:
lmImf/ImfHeader.cpp:1182
Header::readFrom
OPENEXR_IMF_INTERNAL_NAMESPACE::Xdr::read <OPENEXR_IMF_INTERNAL_NAMESPACE::StreamIO> (is, size);
and later used for new allocation:
IlmImf/ImfArray.h:196
T *tmp = new T[size];
However (if I'm not mistaken), there is no way to know if given size is right or wrong and the attribute has no theoretical limit. The library does correctly throw an exception (std:bad_alloc) when it cannot allocate memory and propagates it all the way to the in this case ImageMagick. There is also no way to exploit this "bug" in some more harmful way. Limiting amount of memory, that programs using this library are using, should be enough to prevent anything bug.
The real problem is in ImageMagick, which does not expect that exception can be thrown in openexr library and therefore dies together with the raised exception.
Please correct me if I'm wrong because I don't know the openexr that much and maybe my assumptions about the size attribute are wrong. However, if it really cannot be determined, then there is in my opinion no way to handle this situation better way.

Agreed, I think this could be closed as invalid and CVE rejected.

Agreed, I think this could be closed as invalid and CVE rejected.

You can request it using https://cveform.mitre.org/

I've pushed an update to make an explicit check on the size attribute in this case. This will cause an "Invalid size field in header attribute" exception to be thrown, rather than a "std::badalloc", which should be more informative. It will also prevent address sanitizers treating this as an error.
I believe ImageMagick does handle OpenEXR exceptions correctly as long as an address sanitizer hasn't aborted it first.

Closing the issue for now, feel free to re-open or file a new issue if necessary.


html export broken in latest sketch release.

Having an issue exporting specs/redlines via the export assets function. I am on the latest build of measure and release of sketch.

Me too, when I'm exporting and selected the output folder, nothing happens... the export process seems to do its job, but no folder is created.
It happens since updating sketch to Version 41 (35326), this afternoon.

Plus 1.

Having the same issue here as well

same here.

Please fix this. Unable to export the spec :(

fixed v2.3.1


update README with how to pass DP params on command line

Add documentation to README.md for how to pass a custom epsilon command line or disable the default DP for outputs.

out of scope for this PR, but it would be useful to also have this worked into the report_collector binary for running test queries (used in draft and the in-market-test.)


Subgraph I/O with edges

This PR is another attempt to attack #28 that discusses how we can connect I/O from/to subgraphs.
Contrary to #39, this PR do not introduce a new Project construct, but instead uses edges to feed into/out of parts of the node. To make that explicit, I added two fields to all nodes: shape_input and shape_output. The fields describe exactly what the shape going in and out of the node will be. This allows any outside node to connect to a part of the node using indexing (node[index]). This generalizes to all nodes (including subgraphs), so if there are multiple inputs expected, we can index directly into that.
As an example, consider the following graph
    graph TD;
    A --> C;
    B --> C;

I C has input shape [2, 1], say, then an edge can directly contain information about where to inject the input, like so: ("A", "C[0]"). For B: ("B", "C[1]").
The benefit of the approach is here is that we keep the information about the computation (node) separate from the connections (edges). Specifically, we leave the information about how signals connect out of the nodes, so the only place we can describe connections will be in the edges.
I drew inspiration from the Rockpool and Lava-DL implementations.
Note that the implementation is a proof of concept and incomplete. Currently, the read/write tests are failing and I did not implement the shape_input and shape_output for all the nodes.

How would this look like when you have multiple inputs of larger shapes? For example for element-wise binary operations (something like an adder y=a+b):
input a: shape=(32,64,64)
input b: shape=(32,64,64)

How would this look like when you have multiple inputs of larger shapes? For example for element-wise binary operations (something like an adder y=a+b):
input a: shape=(32,64,64)
input b: shape=(32,64,64)

I think then y would just have the edges ('a', 'y[0]') and ('b', 'y[1]')? And y would have input_shape=(2,32,64,64), right?

That makes sense, I like that. I have two more:
Assume you want to add a scalar value to a tensor: y=a+b, where a.shape=(32,64,64), b.shape=(1,), using broadcast rules like in numpy. I mean this could still be done by adding lots of edges. But is there a more efficient way?
Or a graph that takes two inputs of completely different shapes, e.g. a.shape=(32,64,64), b.shape=(3,13,17,19). Things like this can happen when doing multi modal networks.
How could this look like?

I generally like this approach. However, it assumes that the inputs are all of the same shape right? As @matjobst points out, there are some cases when we would like to have inputs of different shapes feed into the same node, so forcing the inputs to be of the same shape would be a limitation.
To avoid this, we would need something a bit closer to what @matjobst suggested in #28 with string indexing. The connections could look something like ('F', 'C[filter]') and ('A', 'C[data]') where the implementation could be something like
class CrazyConv(NIRNode):
  inputs: Dict[str, np.ndarray]  # {input_name: input_shape}
  outputs: Dict[str, np.ndarray]

(this is somewhat similar to the InPorts/OutPorts in lava)
We could also stick with the assumption that inputs are of the same shape, but I'm afraid that would lead to some ugly work-arounds where this functionality is needed.

I would like to add one slight downside of the named I/O proposal: Concatenating and splitting tensors is not possible that way, so we would need to add dedicated nodes for that. Which I would be fine with.

Yeah we'd need an explicit way to merge/split data. We can do this with nodes like in #39 or with edges (where the edges do some indexing like (A, C[data][:10])).
If we go with #39, we keep our edges simple (which I think is a good idea). Plus, we can enforce that every input port is connected to only one output (if there are more connections, we would need to sum/concat the inputs - but we will enforce this to be done explicitly). A single output port can however be connected to many input ports (no aggregation needed).
This adds more nodes into our graphs, but down the line we could have some Nengo-like visualization that would also visualize these "routing" nodes nicely.

I also want to recall that we previously defined that when multiple edges go into one node input, the data should be added up (which is only clearly defined if they are of the same shape). So if we have a->c and b->c than the outputs of a and b should be added before being processed by c.

Having both name and index in array notation form could be ambiguous if they are optional. Assume data[0]. Does it access the name "0" or the index 0? Hence for this case I would propose using the "." notation for the name, such as:
(A, C.data[:10])
Then data.0 is referring to the name "0", where data[0] refers to the index 0.

Closed in favor of #39


Cust/settings class: ideas

Inventory

[ ] Global ammo pickup counts
[ ] Remove save/load items from inventory
[ ] Remove timex from inventory
[x] Flares: the colour it initially starts on
When my lara was holding a red flare: the light produced was green for a few frames then went to red.

Weapons

[ ] Grenade behaviours, if they could be less bouncy or time out sooner / whether they have shockwaves
think making it possible to have TR2-like grenades (that simply go forward and downard, and explode on contact)

Effects

[ ] Blood color (maybe after Sezz's blood branch is merged)
[ ] Ripple sizes/on/off
[ ] Ricochet sparks/size/sounds
[ ] Explosion shockwaves on/off
[ ] Flame sprouts/emitters's particle size/sprite number?
ie in TR3 the sprites are a lot bigger, and the sprites are using the dust/smoke particles instead of the fire one
[ ] Gunflash muzzle's colour overlay
currently it's forced yellow. maybe the blend mode could be tweaked too, in case we want a TR1 style gunflash where it doesn't light up... speaking of which
[ ] Gunflash colour/on/off/range (say if range is 0 then it means it is off, then we don't need the on/off)
say if we want a TR2 style level we would want all dynamic lights to be white (maybe fires too?)

Audio

[ ] Reverb settings for each settings
[ ] Fade duration for tracks
[ ] Track ducking intensity when tracks play on top of each other

User interface

[ ] Default font size
tricky, as it will also require modifying line spacing multiplications modified everywhere
[ ] Default font styles for menus

Animations / physics

[ ] Mid frame of ladder climbing up/down offset
because it is hardcoded it glitches when replaced with a faster climbing animation
[x] Gravity value
[ ] Jump rotation speed
[ ] Swim speed and rotation speed
can be useful to replicate TR1-like swimming
[x] Hair vertices - both for main hair and secondary hair
so they can be "dehardcoded", and maybe we could have more than 4 vertices
[x] Hair root position for physics
so it can be adjusted whether Lara has a higher or lower braid

Camera

[ ] Chase / battle camera offsets, to create modern camera look (with character on the side rather than in center)
[ ] Items collision toggle on/off
[ ] Movement speed

Rendering

[ ] Mipmapping distance (for textures)

Logo and text positioning in title
Mipmapping distance/on/off

Scope/lasersight's light colour/range/off
Min/max zooming when examining an object in the inventory
(In the future) what state allows Lara's guns out? I’m thinking of my crouch animation sets where Lara's hands will be free.

Scope/lasersight's light colour/range/off Min/max zooming when examining an object in the inventory
(In the future) what state allows Lara's guns out? I’m thinking of my crouch animation sets where Lara's hands will be free.

I think Binoculars should also should have a cust for this, independent like the lasersight.

A few CUST Ideas which should also be moved to Weather:

Change the Wind speed of the world so it can be a bit more gentler or HARSH, this would effect the angle weather comes down at too.
Change the speed of weather, to allow it to be a gentler fall or a more vigious fall.

The water particles that lara spawns when she's wet, if there's an amount (capped to a max value if needed?) that we could choose  then it'd be great!


Privacy-security/timings

Not that this change is wrong but...the point? Is it to hide the plugins/mods a particular server is using?

yes for example, or maybe a server wanting to seek support and share stuff without wanting it to be attached to what server it is

Not that this change is wrong but...the point? Is it to hide the plugins/mods a particular server is using?

No, plugins/mods are always attached to a timings report.
https://github.com/SpongePowered/SpongeCommon/blob/bbb238a3292f5d988dbd0c4e9773ab78f00d778b/src/main/java/org/spongepowered/common/relocate/co/aikar/timings/TimingsExport.java#L195-L201
However the server name is stripped from the report if the privacy toggle is on.
https://github.com/SpongePowered/SpongeCommon/blob/bbb238a3292f5d988dbd0c4e9773ab78f00d778b/src/main/java/org/spongepowered/common/relocate/co/aikar/timings/TimingsExport.java#L124-L129
The point of this PR is stripping the server name from the user agent (and switching to https for the request).
There's no use in the privacy toggle if the server name is always sent in the user agent.

I would of preferred if it stayed in the user agent incase a server is hitting me too hard, to give me a way to potentially identify and contact.
The user agent portion is only for my own logs, but the sponge/ prefix is the important part.

@ImMorpheus Please honor @aikar 's request on this.


GUI error and foreign key errors

Dear Team,
While preparing the gold dataset, the module PyQt doesn't seem to work when we run it on the cloud server. And after manually generating the dataset, while running the em.train_test_split(...) on the training dataset, it throws a foreign key error. Please guide me through this.
Thanks,
Karunakar Chinnabathini.

Hi @karunakarchinnabathini! What component of py_entitymatching are you using? Is this an issue with the labeler? Any context you can provide—traceback, Python version, OS—will help me reproduce the issue on my end.
Thanks!


package_discrepancies: New script

From the script:
# print a diff of common packages between arm64 and amd64 production
# and container images to see if there are packages that have
# differing versions between arches

This may be a useful tool to see which packages need some accept_keywords changes. Currently limited to production images and developer containers, would be nice to have it also for SDK, but there isn't anything yet.

Updated. Used diff -u, added some docs, added comparing the developer builds too.


Completed sum of array in CPP

Why:

Closes #2253
What's being changed:
Finds sum of all numbers in an array implemented in CPP

@Aaronphilip2003
You are pushing changes from the master branch. Please create a separated branch and push your changes! You can refer steps in make changes.
Thank you!


improvementadd some description for show create for 2.1 #39179

Proposed changes
bp: #39179

add location and properties for show create table.
add location for show create database.

run buildall


Monorepo support

Moving from #18 also awesome works in #45 by @leo91000 and #83 by @aa900031

@itpropro: Provide some way to generate changelogs only for one or more specific subfolders/repos in a monoprepo structure.

These are smaller tasks breakdown in order to support mono repos progressively since this is a rather big change in changelogen.

[ ] Configurable git commit template (#82)
[ ] Monorepo utils (https://github.com/unjs/pkg-types/issues/117)
[ ] Expose a new workspaces config object (auto-detected with resolveWorkspace from pkg-types)
[ ] A new subDir config defaulting to / and when is set, filters commits only relevant to this subpath and also operates package.json and CHANGELOG.md in {rootDir}/{subDir} for updating
[ ] Update CLI --release to use workspace config when is set/detected and operate release on each monorepo project with baseDir set (using sorted/ordered graph resolved by pkg-types)
[ ] Extend scopeMap (https://github.com/unjs/changelogen/issues/86) with workspace config to automatically apply scoped changeloges

Note: PRs are more than welcome to implement each task. If you see an improvement in the roadmap for implementation please comment below. 🙏🏼

Configurable git commit template

I believe that this feature has been completed in this PR #68

Expose a new workspaces config object (auto-detected with resolveWorkspace from pkg-types)

Are the values in workspaces in the config file the same as package.json workspaces ?

A new subDir config defaulting to / and when is set, filters commits only relevant to this subpath and also operates package.json and CHANGELOG.md in {rootDir}/{subDir} for updating

Why there is this usecase? or user how to use that?

I think there is another feature that can be implemented - "A filter for monorepos".
Here is the usecase:
We are using pnpm to manage a monorepo, but we only want to automatically generate changelogs for certain packages. Specifically, we need to generate changelogs for awesome-pkg, @awesome-pkg/core, and @awesome-pkg/shared, but not for playground or example.

Are the values in workspaces in the config file the same as package.json workspaces ?

I think we might return an object from resolveWorkspace like { root: '', type: '', workspaces: string[] }

Why there is this usecase? or user how to use that?

Subdir can be used by CLI to run changelog update against each package. Also manually by user to read config from root but update changeloges in a subdir only (even without workspace support)

I think there is another feature that can be implemented - "A filter for monorepos".
Here is the usecase:
We are using pnpm to manage a monorepo, but we only want to automatically generate changelogs for certain packages. Specifically, we need to generate changelogs for awesome-pkg, @awesome-pkg/core, and @awesome-pkg/shared, but not for playground or example.

Yes this also 👍🏼

Hi @azat-io, currently is pending, because I waiting for merge PR's

https://github.com/unjs/pkg-types/pull/118
https://github.com/unjs/changelogen/pull/97

Tips
To manage my monorepo versions and have the advantages of changelogen (beautiful changelog and release publish to github) as use lerna:

Bump version without changelog generation with lerna: lerna version (lerna will bump the version in package.json files if needed, create a commit to push it, create and push the new tag). My lerna config bellow
Then, generate the new changelog with changelogen in a custom script and push it to github to create a new release. Script bellow.

lerna.json
{
  "loglevel": "verbose",
  "version": "0.47.26",
  "yes": true,
  "command": {
    "version": {
      "allowBranch": ["master"],
      "message": "chore(release): bump version %v",
      "conventionalCommits": true,
      "forceGitTag": false,
      "changelog": false,
      "push": true,
      "gitTagVersion": true,
      "tagVersionPrefix": "v",
      "commitHooks": true
    }
  },
  "npmClient": "pnpm",
  "$schema": "node_modules/lerna/schemas/lerna-schema.json"
}

``
import { exec } from 'node:child_process'
import { existsSync, promises as fsp } from 'node:fs'
import { generateMarkDown, getGitDiff, parseCommits, loadChangelogConfig, syncGithubRelease } from 'changelogen'

async function execPromise(command: string): Promise<{ stdout: string; stderr: string }> {
  return await new Promise((resolve, reject) => {
    exec(command, (error, stdout, stderr) => {
      if (error) {
        console.error(`🔴 [cli](${command}) Execution failed - ${error.message}.`)
        reject(error)
      } else {
        resolve({ stdout, stderr })
      }
    })
  })
}

async function updateChangelog() {
  const { stdout: lastTag } = await execPromise("git tag --sort=-v:refname | sed -n '1p'")
  const { stdout: penultimateTag } = await execPromise("git tag --sort=-v:refname | sed -n '2p'")

  const lastTagTrimed = lastTag.trim()
  const penultimateTagTrimed = penultimateTag.trim()

  const config = await loadChangelogConfig(process.cwd(), {
    from: penultimateTagTrimed,
    to: lastTagTrimed,
  })

  const rawCommits = await getGitDiff(penultimateTagTrimed, lastTagTrimed)
  const commits = parseCommits(rawCommits, config).filter((commit) => {
    return (
      config.types[commit.type] &&
      !(commit.type === 'chore' && (commit.scope === 'deps' || commit.scope === 'release') && !commit.isBreaking)
    )
  })

  const newChangelog = await generateMarkDown(commits, config)

  let changelogMD: string

  if (typeof config.output === 'string' && existsSync(config.output)) {
    changelogMD = await fsp.readFile(config.output, 'utf8')
  } else {
    changelogMD = '# Changelog\n\n'
  }

  const lastEntry = changelogMD.match(/^###?\s+.*$/m)

  if (lastEntry) {
    changelogMD = changelogMD.slice(0, lastEntry.index) + newChangelog + '\n\n' + changelogMD.slice(lastEntry.index)
  } else {
    changelogMD += '\n' + newChangelog + '\n\n'
  }

  await fsp.writeFile(config.output as string, changelogMD)

  const changelogWithoutTitle = newChangelog.split('\n').slice(2).join('\n')

  console.log(changelogWithoutTitle)

  await execPromise(`git add -u`)
  await execPromise(`git commit --amend --no-edit`)
  await execPromise(`git push origin HEAD --force`)

  try {
    await syncGithubRelease(config, {
      version: lastTagTrimed.replace('v', ''),
      body: changelogWithoutTitle,
    })

    console.log('Release pushed to GitHub.')
  } catch (error: any) {
    console.error('error', error)
  }
}

updateChangelog()

package.json
{
  "scripts": {
    "release": "pnnp release:bump-version && pnpm release:changelogen",
    "release:bump-version": "lerna version",
    "release:changelogen": "ts-node ./changelog-generate.ts"
  },
}

You have to run
``

How do you handle this use case ATM without native support for monorepos? Is there an alternative tool (expect for "Changesets")?


system tests: group consuming

Description
Group consuming must be tested to ensure that records are consumed based on the apmqueue.DeliveryType.
### Tasks
- [ ] Verify consumption of N records for `AtMostOnceDelivery`.
- [ ] Verify consumption for N records for `AtLeastOnceDelivery`.

Related issues
Depends on #92

moved to ms-04

PR merged


Sema: Remove TypeLoc from ExplicitCastExpr (via TypeExpr)

I'm not sure how I feel about this.

@CodaFi Is the plan to completely get rid of TypeLoc, or just across the CS?

I don't know if we can completely eliminate them in the short or medium term because of SIL, but it would certainly be nice to eventually. They're an attractive nuisance in the AST:

They hide double-diagnostics in TypeCheckType
Different components smuggle type information inside of them
Some components skip checks when the type is filled in
They make an invalid state representable: implicit AST nodes can have null type locs

So, at least in the surface language, eliminating them unlocks a lot of simplifications. We should be able to delete TypeChecker::validateType, have an easier time refactoring TypeCheckType to not return the null Type, and strip CS of its special cases for TypeLocs.

Thanks for the break-up, I'd better unpatch the duplicate diagnostic then.

I don’t know if we can hide the underlying TypeExpr from the constraint system without smuggling the type through something else. All other callers can use the repr or instance type directly, sure.

Constraint system is able to save resolved type of TypeRepr * for its future reference. Do any other parts need to refer to a type of cast instead of type expression which represents a cast?

Constraint system is able to save resolved type of TypeRepr * for its future reference.

How do we cache it? There is no setType(TypeRepr * according to code completion.

We can’t use a raw TypeRepr node for casts because is expressions need the type saved off separately. And if we're just going to store a separate Type alongside a TypeRepr to address that, then we haven’t really won anything from this refactoring. Can we get the best of both worlds by hiding the TypeExpr from all clients except CS?

How do we cache it? There is no setType(TypeRepr * according to code completion.

setType(ASTNode, ...) could be used for that. ASTNode has TypeLoc * at the moment but it could be changed to TypeRepr * which is actually much better and would allow us to remove this special setType(TypeLoc &, ...) accessor.

And if we're just going to store a separate Type alongside a TypeRepr to address that, then we haven’t really won anything from this refactoring

But isn't it true that replacing TypeLoc with TypeExpr does the same?

Since replacing TypeLoc with TypeRepr as a ASTNode seems to be more extensive, would it be acceptable to temporarily define a separate cache for TypeRepr *?

What do you mean by extensive?

I mean larger refactoring, but I could be wrong. Do you want me to try that here?

My understanding is that we use TypeExpr here because we need to store a type of cast somewhere. From API perspective it would be reasonable to use TypeRepr directly for these expressions if we didn't need to deal with a type problem, that should close all of the bullet points in your previous comment even more so about smuggling types because there is a way to do that with TypeExpr but not with TypeRepr.

@swift-ci test

@swift-ci test source compatibility

Build failed
Swift Test Linux Platform
Git Sha - 9d894b1cb5cd7367326a07dd1e7436071c8cb0e4

@CodaFi Are you okay with having a raw TypeRepr if we lay the type caching on the CS? My only concern is whether we need that type info outside the CS.

Oh, I see now, we need the type in RValueEmitter::visitIsExpr, and of course we don't have a CS around.

My only concern is whether we need that type info outside the CS

That's exactly my question as well, if we don't than nothing should prevent us from using TypeRepr here. Previous refactorings use TypeExpr because for those expressions it could be either a Type or TypeRepr, but here it seems to be a different story.

Another question is whether expression itself could be used to indicate a type of a cast instead of it being set on the member...

Build failed
Swift Test OS X Platform
Git Sha - 9d894b1cb5cd7367326a07dd1e7436071c8cb0e4

Looks like there's a test that checks the AST dump for a cast expr., hence the failure.

@xedin We need a way to pass a castTo type for implicit cast expressions, and TypeLoc on IsPattern is on the list too. Would it make sense to express these not-really-type-expressions as a new kind of simple TypeRepr-storing Pattern of instance type? I think we should try to save type info, so as to at least properly dump such expressions without having to depend on a CS.

Yes, that sounds reasonable to me.

@CodaFi Do you have an opinion on expressing this with a Pattern?

I'm leaving this PR intact in case we still decide to go with TypeExpr. The pattern version is implemented in #32202

OK, I've completely hidden the type expression and had CS rely on TypeRepr to do the caching part.

@swift-ci please smoke test

@swift-ci please test source compatibility


Sync store initial file-system cache when idleTimeoutForInitialStore is zero

Feature request

What is the expected behavior?
When parameter idleTimeoutForInitialStore set to 0 for file-system caches, force write initial cache on disk immediately after build, for now it will be still async.
What is motivation or use case for adding/changing the behavior?
We use webpack in jest test suites - have a lot of small SSR applications for testing specific features, and for every test suite in setup hooks we build this application once.
And this tests are unstable, because of unpredictable cache persisting behaviour and timings (no way to wait before it will finished):

we start application build
wait for done hook before start test suite
Jest run test cases
somewhere in the middle of testing process webpack starting write caches on disk
Node.js event loop blocks for 1-2 seconds
requests fails on timeouts

How should this be implemented in your opinion?
When cache: { idleTimeoutForInitialStore: 0 }, run initial cache store synchronously on afterDone hook
Are you willing to work on this yourself?
Not sure because of complex idle tasks flow

Not sure we can use idleTimeoutForInitialStore for this, because it was design in other way, also it will be breaking change

We use webpack in jest test suites - have a lot of small SSR applications for testing specific features, and for every test suite in setup hooks we build this application once.

I think it makes sense to change the approach, such testing does not look good in terms of performance
Why you can bundle everything before tests and cache it? It will be faster also allow to cache it on CI

I see, I think we can implement this using a different name, but it requires to rewrite many things, because our hooks are async for cache for better perf.
In theory it can be solved by a custom plugin, because idle is just a plugin https://github.com/webpack/webpack/blob/main/lib/cache/IdleFileCachePlugin.js#L15, so you can disable cache and enable cache using plugins (like here https://github.com/webpack/webpack/blob/main/lib/WebpackOptionsApply.js#L623) in your configuration with own idle plugin

Interesting idea with plugin, thank you!

bump


Renaming a folder adds it to history

This PR fixes #118080

Code looks good, and I verified it fixes the issue -> approved


Update to TruffleRuby 21.1.0

TruffleRuby 21.1.0 was released: https://github.com/oracle/truffleruby/releases/tag/vm-21.1.0
Could you update to the new version and run the benchmarks?
I think there should be some good improvements there :)

It looks like it's already updated (https://programming-language-benchmarks.vercel.app/ruby).
Sorry, I was looking at a cached page I guess.
Looks like fasta and prime-sieve didn't run for some reason.

@eregon Those 2 are manually disabled due to extremely bad performance.

That's weird, because for me locally for fasta:
$ ruby fasta-6.rb 2500000 >/dev/null
2.7.2: 3.071
21.0.0: 21.545
21.1.0: 4.951

So 21.1.0 is much better here, and quite closer to CRuby 2.7.2.
If I don't do the >/dev/null and let it output to my terminal:
$ ruby fasta-6.rb 2500000
2.7.2: 4.642
21.0.0: 28.985
21.1.0: 6.085

Could you try locally if you observe similar performance?
How long was the run in GitHub Actions, did it timeout somehow?

@eregon Ah u r right! Fasta is much faster with 21.1, I probably only tested the concurrent prime sieve one. It's now enabled, the site will be updated automatically when CI build is done.

Thanks.
You can report it here: https://github.com/oracle/truffleruby/issues
I'm not sure if it's intentional, but that benchmark creates a new coroutine per prime number, which is very expensive.
So for n=2000 that's 1+2000 Fibers/coroutines created and for n=5000 that's 5001 couroutines created (and alive at the same time).
TruffleRuby (and JRuby) currently use native threads for implementing and that's not a great fit when many Fibers are created like here: https://github.com/oracle/truffleruby/blob/master/doc/user/compatibility.md#fibers-do-not-have-the-same-performance-characteristics-as-in-mri
It should be much better once Loom becomes stable and is adopted in TruffleRuby.
There was a recent issue that creating many Fibers is slow, that could potentially be related: https://github.com/oracle/truffleruby/issues/2325
So for now it's probably best to keep excluding prime sieve on TruffleRuby.
I'd recommend renaming the benchmark to include "coroutine" or "coro" in the name, because computing the sieve is basically no work compared to handling all those coroutines and the communication between them.
For a typical sieve implementation you would find very different results and TruffleRuby would be the fastest by far: https://github.com/jtulach/sieve#ruby-speed

I'm not sure if it's intentional

That is intentional, the problem is used on golang home page to demonstrate its goroutine performance, it's not there to demonstrate the best way to build prime-finding program but to stress the essentials of coroutine or virtual/green threads to measure massive coroutine scheduling and communication.
btw, java  loom implementation is also there but it's not performing well so far (it's just ea phase anyway).

I'd recommend renaming the benchmark to include "coroutine" or "coro" in the name

That's a good suggestion! It indeed confusing and missleading to only have prime-sieve in its name but besides the point.
I plan to add more detailed descriptions of the problems on the site, especially those not included in original benchmarks game site.

@hanabi1224 I've taken a quick look at the Java implementations, and Loom is currently on par with MRI 3.0 for a single thread fork join pool and about twice as fast when using the common fork join pool on my laptop. I've taken a look with perf and most of the time is being spent in the SynchronousQueue and ForkJoinPool, the actual running and yielding of continuations is pretty good, as is the freezing and thawing of stacks. On my laptop the Kotlin coroutine version is slightly faster, but this may be due to differences in the channel implementation more than the coroutine implementation.
All this is based on a current development build of loom, which has some improvements compared to the last preview build, but this benchmark is extremely sensitive sensitive to the schedular and virtual thread setup options. Other factors like the size of the coroutine stack, or the garbage generated, might large effects on the performance of all these coroutine implementations, so I'd take a large pinch of salt with any conclusions.

@aardvark179 Thanks for the feedback!

most of the time is being spent in the SynchronousQueue

I believe so, I'm more than glad to switch from SynchronousQueue to any better solution if you can suggest. As I understand, both SynchronousQueue and kotlin channel currently being used are rendezvous queue/channel
ref: kotlin coroutine produce, channel, java SynchronousQueue

extremely sensitive to the schedular and virtual thread setup options

I haven't tried any non-default options, curious to see the best setup if you'd like to share ur findings.

@hanabi1224 Doug Lea is working on a channel implementation for java.util.concurrent (though it probably won't be called channels because NIO channels already exist…) but I don't know exactly how the performance will compare to SynchronousQueue. I haven't tried really digging into the relative performance of the channels and queues, but yes they should both be behaving as rendezvous queues, and I worry that if we tried optimising the queues too much for a benchmark like this we might break other cases.
I don't have anything definitive for the best way to configure the pool and the thread factory, the common pool seems good, but seems to have slightly different performance characteristics to the default schedular or creating separate fork join pool, I'll check with core libs about this. Some aspects might change as there is some scope for changing and optimising what needs to live on the different objects that make up a thread.
I'm afraid we don't produce pre-built libraries except for EA builds, but I'm sure there will be another one before too long.

Doug Lea is working on a channel implementation

Awesome!

I'm sure there will be another one before too long

I will keep an eye on it and have a try as soon as it comes out
I will try to keep the code updated to utilize the best-fit loom api as it involves.


fix: use proper xid types for xpending range

A range that can be used in XPENDING is defined the same way as in XRANGE.
Currently, when calling xpendingCount the start and end arguments have number | "-" type, which prevents users from specifying other valid forms of XIdInput and indicates that the method cannot process an XId object.
Proposed changes

Update type definitions of start and end to XIdNeg and XIdPos accordingly, just like it's done for xrange.
Wrap start and end arguments with xidstr that would transform a valid xIdInput to string ID.

LGTM! Thanks for the contribution!


performance: we have very slow parameter load on widget creator

We have 10-11 queries which executed for 100ms, one of them return 1000+ lines. As result when we click SHOW MORE we should wait upto 10-15 seconds.
It seems like generating dropdown with such values are very slow or queries are executed in non-optimized mode.

Is that query optimization only?

fixed by avoiding huge values list select, i.e. keep them as regular string value to type.
fix already in 4.0.60+


Use feature name in prediction

The model file has stored the feature names. However, the prediction is still based on feature indices.
As a result the prediction will fail when test dataset changes column order of features.

Does this solve your problem?  (Coming from the FAQ page)
Solution 2: Because LightGBM constructs bin mappers to build trees, and train and valid Datasets within one Booster share the same bin mappers, categorical features and feature names etc., the Dataset objects are constructed when construct a Booster. And if you set free_raw_data=True (default), the raw data (with Python data struct) will be freed. So, if you want to:
get label(or weight/init_score/group) before construct dataset, it's same as get self.label
set label(or weight/init_score/group) before construct dataset, it's same as self.label=some_label_array
get num_data(or num_feature) before construct dataset, you can get data with self.data, then if your data is numpy.ndarray, use some code like self.data.shape
set predictor(or reference/categorical feature) after construct dataset, you should set free_raw_data=False or init a Dataset object with the same raw data

@bbennett36
I think we are talking about different topics. I know change the feature order in python/R is easy, so that will be a big problem.
But in CLI version, this is a problem, especially when using weight_column/ignore_column.

@guolinke
I met the same problem.
Can we write more information in the mode file? I think it could be not enough to record only the index. Such as label name, weight name, ignored column and a hashmap( the key is the used feature name and values is the index in the train data).


Update infer_call_arguments_type to accept Scope that has the details of import statements

This is third step to supporting first class worker support.
Currently infer_call_arguments_type is responsible for inferring variants, enums and function calls and attach the right types to these call expressions, by making use of the component_metadata which is the only argument to this function.
Now once the  #1174  is done, we get a scope that has the import statement details, along with component_metadata. With both these references, we are now able to infer whether a call was a aliased call imported or an actual function.
Since we are mutating Expr already in compilation phases, it's fairly easy to mutate these calls with the actual function calls. This will make the behaviour same as before, making sure that we don't need to pollute the interpretation logic (byte code conversion)

This ticket is irrelevant as we have planned to not use imports for first class worker support


Alby should ask in which account I would like to login

Hi,
I have two accounts on Alby, so I disconnected from stacker.news service. then I clicked to login again on stacker.news.
What I expected:
Alby ask in which from the two accounts I would like to login.
What happened:
Alby logged in automatically using the default Alby account

It's very useful to choose an account. I'll try this optimization and improvement

Maybe you think this interesting too: https://github.com/getAlby/lightning-browser-extension/issues/1853

It's very useful to choose an account. I'll try this optimization and improvement

Maybe you think this interesting too: #1853
Yes. Let me take a look at the logics of login and account first.
Time passes quickly. I remember the first time I wrote issues https://github.com/getAlby/lightning-browser-extension/issues/435  It's about login

Added an account selection component, which is used in the authorization page, and the effect is as follows, and the style code and test code are still under development

Refresh the page after logging in, and the page judges whether there is a link to the wallet.
Still execute window.webln.enable()?

I retested again
The wallet has two accounts lnd1 and lnd2
1 wallet default account lnd1
The webpage login gets the account of lnd1
2 Switch the wallet default account to lnd2
3 Web page logout
4 Click to log in on the webpage, there is no authorization dialog box, and the account of lnd2 is obtained
I think the second login, without the authorization dialog box, should get the account of lnd1
I'm going to try to see if I can get the account of lnd1

I think the second login, without the authorization dialog box, should get the account of lnd1

So you would save where the user has logged in before and use that account? What if a user has multiple accounts that he is using on one website?
I think it would make sense to discuss the concept before you start to implement this.

I read a part of the code, but I haven't read it completely. think of a way first
window.webln.enable
const allowance = await db.allowances     .where("host")     .equalsIgnoreCase(host)     .first();
window.webln.lnurl
if (lnurlDetails.tag !== "login")     throw new Error(       "LNURL-AUTH FAIL: incorrect tag: ${lnurlDetails.tag} was used"     );   const connector = await state.getState().getConnector();
Allowance is looking for the first
Can I find a first connector according to the allowance and find an authorized connector
the connector is the first one according to the allowance
If a site need links multiple connector，Add new components in the wallet to link the account with the site，
lookup logic
First find the connector with allowances,
If the found connectors contains the default connector of the wallet, return  the default connector
If not contained, return the first

The current wallet allowance is not specific to the account. There will be multiple accounts in the wallet, and the amount of each account is different. I suggest adding an account ID when recording allowance information
          await db.allowances.add({             host: host,             name: message.origin.name,             imageURL: message.origin.icon,             enabled: true,             lastPaymentAt: 0,             totalBudget: 0,             remainingBudget: 0,             createdAt: Date.now().toString(),             lnurlAuth: false,             tag: "",           })

Do we plan to save or cache multiple Connectors @escapedcat

Do we plan to save or cache multiple Connectors

I don't understand. Can you explain what you mean?

I think the expectation of the original reporter, with logging-out from stacker.news, was that using the login button again would display the Alby popup again (where he could choose an account). However since  the toggle inside the Allowances>Edit, that is labeled:

Enable website login / Automatically log in without confirmation when the website requests.

Has the default value of "ON", then the second login will always try to reuse the account from the last login.

Here is a video reproducing the original report:

https://youtu.be/tdq-qjr3jUI
And here is a video with a workaround:

https://youtu.be/CK4EAFw9A_I


CLOUDSTACK-8981 coded a more obscure host and clear failure message

test fails when port is reachable so prevent it as much as possible
making sure that all kinds of weird developers can work with it

usual ssvm and vpc tests were executed with the usual vpc offering failures only.

Compilation and testing went successfull. As it only involved a change of a unit test, I hadn't ran integration tests.
Running com.cloud.utils.rest.BasicRestClientTest
2015-10-23 18:51:01,522 DEBUG [utils.rest.BasicRestClient] (main:) Executig GET request on https://fakelocalhost.fakelocaldomain:443/path
2015-10-23 18:51:01,525 DEBUG [utils.rest.BasicRestClient] (main:) Executig GET request on https://fakelocalhost.fakelocaldomain:443/path
2015-10-23 18:51:01,584 DEBUG [utils.rest.BasicRestClient] (main:) Executig GET request on https://fakelocalhost.fakelocaldomain:443/path
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.083 sec - in com.cloud.utils.rest.BasicRestClientTest

Ping @DaanHoogland @remibergsma
LGTM :+1:

LGTM, based on a set of tests that I run on this branch:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=true \
component/test_vpc_redundant.py \
component/test_routers_iptables_default_policy.py \
component/test_routers_network_ops.py \
component/test_vpc_router_nics.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py

Result:
[root@cs1 MarvinLogs]# cat test_ssvm_1B9E76/results.txt
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and check default routes ... === TestName: test_02_redundant_VPC_default_routes | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName: test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... === TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Stop existing router, add a PF rule and check we can access the VM ... === TestName: test_isolate_network_FW_PF_default_routes | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_RVR_Network_FW_PF_SSH_default_routes | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName: test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName: test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName: test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === TestName: test02_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS ===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS ===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS ===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 21 tests in 10097.925s

OK

And:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=false \
smoke/test_routers.py \
smoke/test_network_acl.py \
smoke/test_privategw_acl.py \
smoke/test_reset_vm_on_reboot.py \
smoke/test_vm_life_cycle.py \
smoke/test_vpc_vpn.py \
smoke/test_service_offerings.py \
component/test_vpc_offerings.py \
component/test_vpc_routers.py

Result:
Test router internal advanced zone ... === TestName: test_02_router_internal_adv | Status : SUCCESS ===
ok
Test restart network ... === TestName: test_03_restart_network_cleanup | Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status : SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced | Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS ===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS ===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status : SUCCESS ===
ok
test_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_privategw_acl | Status : SUCCESS ===
ok
Test reset virtual machine on reboot ... === TestName: test_01_reset_vm_on_reboot | Status : SUCCESS ===
ok
Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status : SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status : SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm | Status : SUCCESS ===
ok
Test Remote Access VPN in VPC ... === TestName: test_vpc_remote_access_vpn | Status : SUCCESS ===
ok
Test VPN in VPC ... === TestName: test_vpc_site2site_vpn | Status : SUCCESS ===
ok
Test to create service offering ... === TestName: test_01_create_service_offering | Status : SUCCESS ===
ok
Test to update existing service offering ... === TestName: test_02_edit_service_offering | Status : SUCCESS ===
ok
Test to delete service offering ... === TestName: test_03_delete_service_offering | Status : SUCCESS ===
ok
Test create VPC offering ... === TestName: test_01_create_vpc_offering | Status : SUCCESS ===
ok
Test VPC offering without load balancing service ... === TestName: test_03_vpc_off_without_lb | Status : EXCEPTION ===
ERROR
Test VPC offering without static NAT service ... === TestName: test_04_vpc_off_without_static_nat | Status : EXCEPTION ===
ERROR
Test VPC offering without port forwarding service ... === TestName: test_05_vpc_off_without_pf | Status : EXCEPTION ===
ERROR
Test VPC offering with invalid services ... === TestName: test_06_vpc_off_invalid_services | Status : SUCCESS ===
ok
Test update VPC offering ... === TestName: test_07_update_vpc_off | Status : SUCCESS ===
ok
Test list VPC offering ... === TestName: test_08_list_vpc_off | Status : SUCCESS ===
ok
test_09_create_redundant_vpc_offering (integration.component.test_vpc_offerings.TestVPCOffering) ... === TestName: test_09_create_redundant_vpc_offering | Status : SUCCESS ===
ok
Test start/stop of router after addition of one guest network ... === TestName: test_01_start_stop_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test reboot of router after addition of one guest network ... === TestName: test_02_reboot_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to change service offering of router after addition of one guest network ... === TestName: test_04_chg_srv_off_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test destroy of router after addition of one guest network ... === TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to stop and start router after creation of VPC ... === TestName: test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
ok
Test to reboot the router after creating a VPC ... === TestName: test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
ok
Tests to change service offering of the Router after ... === TestName: test_04_change_service_offerring_vpc | Status : SUCCESS ===
ok
Test to destroy the router after creating a VPC ... === TestName: test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
ok
----------------------------------------------------------------------
Ran 40 tests in 7760.937s

FAILED (errors=3)

The 3 errors are due to cleanup problems that are also broken on master. It will be addressed in a separate PR soon.


Setting initial speed via config not working

Cant get it to work. Nothing happens when i change "selected:1". I need it to play at 1.1x at default... but no luck.

I've found a fix for this. Should go in the next release. Probably this weekend.

Can i have the fix? It is really important to me. :)

As soon as I finish another change you’ll have it, yes.

On 16 Apr 2019, at 2:41 am, SrdSrd<EMAIL_ADDRESS>wrote:
Can i have the fix? It is really important to me. :)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

Fixed in v3.5.4 👍


Add test to confirm connection to test fleet

Create a new repo for that

Moved to https://github.com/status-im/waku-tests


Issue with java8 in Mac

The following commit causes an issue when using version 8, since java8 cask does not exist
https://github.com/agileorbit-cookbooks/java/commit/3ac35ae9dfe6b7624502c7cba785ea4403539446

Closing as the issue was figured out in the comments of the commit.


init.lua:35: couldn't parse regex

Error detected while processing /home/tejpapa/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua:                                                                                E5113: Error while calling lua chunk: ...e/pack/packer/start/cmp-cmdline/lua/cmp_cmdline/init.lua:35: couldn't parse regex: Vim:E369: invalid item in %[]                                                                                stack traceback:                                                                                [C]: in function 'create_regex'                                                                                ...e/pack/packer/start/cmp-cmdline/lua/cmp_cmdline/init.lua:35: in main chunk                                           [C]: in function 'require'                                                                                ...ck/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua:1: in main chunk

I am also facing this issue.

also facing this issue when open a file directly, but not happen if I open vim first

can confirm this issue occured after https://github.com/hrsh7th/cmp-cmdline/commit/79456dc113afe8420e08e31f0bb55dfe0eb45903, and only happened with set regexpengine=1
can simply reproduce by add set regexpengine=1 in vimrc, then start vim

Hi @hrsh7th, could you help looking this?

I faced same issue.
E5113: Error while calling lua chunk: ...e/pack/packer/start/cmp-cmdline/lua/cmp_cmdline/init.lua:38: couldn't parse regex: Vim:E369: Invalid item in \%[]
stack traceback:
        [C]: in function 'create_regex'
        ...e/pack/packer/start/cmp-cmdline/lua/cmp_cmdline/init.lua:38: in main chunk
        [C]: in function 'require'
        ...ck/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua:1: in main chunk

As @jiz4oh said,
when I add the vimscript below (for 'Far' plugin), this happens.
set regexpengine=1        " Error occurs.

And if I remove or comment out this line, the error goes away.
" set regexpengine=1        " Error goes away.

Is this the only solution ?
Thank you.


Increase size of command in cron jobs

Hi, would be fine if you can increase the size of command input box in cron jobs as "Input to command" box.
See attach.
Thanks

Thanks for using my theme! Well, sure I could increase it but you could easily do it yourself by using custom styles. Simply add the following to custom style.css to get desired result:
input[name*="cmd"] {
	min-width:400px;
}

Yes but you made a great theme and i'm trying to use it on some VMs, so it's not convenient to make it on every webmin session :)

I see. It that the only place where you think that input's width should be increased?

Description field in same page
View log file field in System Logs
TCP Wrappers -> Edit Deny Rule -> Remote Hosts/Shell commands
Partitions -> Filesystem label
Disk and Network filesystem -> Edit Mount -> all fields in Swap file section

Should be enough for me :D

I will take a look closer to the next release and I will add it to the distro for you. Please keep searching for more and post it here.
Thanks for advising.

Thanks a lot, of course!

+1 for cron job increase hard to see what commands are been run.
Great job of the theme

Yes, yes I will add this for sure in the next release! :) Was releasing quickly a fix.


[WIP] Lots of improvements

Hello, I wanted to share a work-in-progress branch I've been using that has a lot of fixes and improvements.
Bug fixes

Ignore click events when the mouse is being used to control the camera.

Fixed by checking the duration of mousedown => mouseup and ignoring drags over 200ms. (I did it this way so that tiny accidental movements don't prevent clicks, which was a problem with my initial implementation.)

Fixed the default behavior for the hideLevelsMenu option - This should be 'yes' by default when it's missing from config
Ignore clicks on level or zoom area buttons (with ev.stopPropagation()), so that they don't also toggle lights or gestures

Improvements

Added initialLevel option to config, to only show one level and hide all others when the card loads. Very useful when working on a floorplan.
Disable window.prompt popups by default in lovelace edit mode. These can be turned back on with: editModeNotifications: 'yes'
Always log object IDs and camera information in the developer console

Always fire default actions, even in edit mode and when showing prompts. (I found it really confusing that my lights weren't turning on.)

Added a level option for zoom_areas. When set, clicking on a zoom level will also show the specified level and hide other levels.

New Features

Selection Mode: Set `selectionMode: "yes" to visually select multiple objects and show the list of IDs.

When selection mode is enabled, you can click any surface to turn the color blue and add the ID to a list of object IDs that are printed in the console.
I use this mode to select all the floors and walls that I want to click in order to turn on the ceiling lights in a room, and visually confirm that I haven't missed any.
This adds a new buttons bar to the bottom right of the screen where you can clear the selection, or enable/disable the selection mode.

Here's a quick demo video: https://youtu.be/nwvdjvw_oao

Please let me know if you have any feedback! Sorry for the large PR, I thought it would be much easier if I could put all my commits in one branch for now, since it would take lots of time to split it up into separate PRs, and I'm still adding new things. I would be happy to remove or change any commits from this PR, just let me know!
Thanks for working on this awesome project!

Hello Nathan, I will not have full time to test but I like the enhancement and I trust you. Thanks for the effort.
I have some ideas for a version 2.0 but as you have noticed I'm not good at JS coding, so some help is welcome.

Should I release it ? If you feel confident I do a 1.5.0 and add your comments. At the third succesfull pull, I add you as code owner

Thanks a lot! I am using it now and it seems quite stable, but I will continue working on it and might need to fix some issues. I might send another pull in the next few days, maybe it would make sense to do a new release sometime next week once I'm a bit more confident in these changes


lib.version: change pre-git to post-git on the release branch

Motivation for this change
When there is no .version-suffix file in nixpkgs (like when fetching
nixpkgs with builtins.fetchGit), lib.version suffixes the version string
with "pre-git". The "pre" bit is special cased in
builtins.compareVersions which means "20.03pre-git" is interpreted as
"less than 20.03". This is clearly wrong for the release-20.03 branch
after the release has been made.
Change the suffix to "post-git" to make code like this behave the same
whether nixpkgs is fetched from git or the channel (which has
.version-suffix file):
lib.versionOlder lib.version "20.03"
lib.versionAtLeast lib.version "20.03"

(Currently the result depend on how nixpkgs was obtained!)
This change should be made part of the release process.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

CC @worldofpeace @disassembler  (release managers for NixOS 20.03)

Hm, I see now https://nixos.org/nixpkgs/manual/ has the version string "20.03pre-git". Didn't it use to get built with proper version info?

Is the release process documented somewhere? I think it'd be nice to add "set pre-git to post-git" as a step there.

@samueldr sorry for the ping. It seems even if there's a recording saying you're "the other samuel" there's still room for confusion :grin:

@worldofpeace: Ah, thanks to https://github.com/NixOS/nixpkgs/pull/86368 I see the document is here.

How about having something like lib.release.isReleased, which is true on the release branches, but false on master? Then this can be used to conditionally set pre or post, and also other things if necessary.

@Infinisil Sounds good. Something to add later?
Right now I just want to make my config compatible with NixOS 20.03 and 19.09 and I'm somewhat blocked by this.

Merging in 24 hours.


Data is cleared ，when configure columns at sessions of progresql.

At editor of sessions,nothing is selected when I configure columns.

After OK is selected,the editor is showed

I want to show some columns,so I configure columns again.

but all data is cleared at this moment。

Please check. Thanks

Both issues will be fixed in 5.1
Thanks for report


feat(analyzers): Implement base64asciianalyzer

Add new base64asciianalyzer, create test suite for base64asciianalyzer (with all parent tests included), and add more new to base64analyzer.

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- pastepwn/analyzers/base64asciianalyzer.py  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- pastepwn/analyzers/base64asciianalyzer.py  5

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- pastepwn/analyzers/base64asciianalyzer.py  5

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- pastepwn/analyzers/base64asciianalyzer.py  5

See the complete overview on Codacy


Added the Buy Me A Coffee button

Close #8
Minor changes: Aligned all the GitHub repo stats buttons horizontally

Great @aryanprince