refactor(scheduler): make findInsertionIndex return -1

Background
findInsertionIndex method will never return -1, so the else branch in queueJob will never be executed
Original code
// This method will never return -1, so the else branch in `queueJob` will never be executed
function findInsertionIndex(job: SchedulerJob) {
  let start = flushIndex + 1
  let end = queue.length
  const jobId = getId(job)

  while (start < end) {
    const middle = (start + end) >>> 1
    const middleJobId = getId(queue[middle])
    middleJobId < jobId ? (start = middle + 1) : (end = middle)
  }

  return start
}

export function queueJob(job: SchedulerJob) {
  if (
    (!queue.length ||
      !queue.includes(
        job,
        isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
      )) &&
    job !== currentPreFlushParentJob
  ) {
    const pos = findInsertionIndex(job)
    if (pos > -1) {
      queue.splice(pos, 0, job)
    } else { // never be executed
      queue.push(job)
    }
    queueFlush()
  }
}

Solutions

Remove the else branch of the queueJob method

export function queueJob(job: SchedulerJob) {
  if (
    (!queue.length ||
      !queue.includes(
        job,
        isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex
      )) &&
    job !== currentPreFlushParentJob
  ) {
    const pos = findInsertionIndex(job)
    queue.splice(pos, 0, job)

    queueFlush()
  }
}

Or modify the findInsertionIndex method to return -1 when it is not found

function findInsertionIndex(job: SchedulerJob) {
  let len = queue.length
  let start = flushIndex + 1
  let end = len
  const jobId = getId(job)

  while (start < end) {
    const middle = (start + end) >>> 1
    const middleJobId = getId(queue[middle])
    middleJobId < jobId ? (start = middle + 1) : (end = middle)
  }

  return start !== len ? start : -1
}

Finally
I chose the first solution. Because the behavior is more in line with the semantics of findInsertionIndex. It’s easier to understand.
Choose solution 2. as Evan said: splice is significantly slower than push though. so I refactor the findInsertionIndex to return -1.

splice is significantly slower than push though, so I actually prefer returning -1 from findInsertionIndex whenever we can.

Yes, I thought about it the same way before, let me do it!

I'm wondering whether this should now be closed?
The original if (pos > -1) { check was removed in:

https://github.com/vuejs/core/commit/d810a1a56943aeba5160b42bc917187e99cdfb8e#diff-6142a09a188ff9ccb70f2ac08cb772e3ad9798386f3af4c95dd1567d9ab376ce

I believe that's essentially equivalent to solution 1.

Yes, I believe this PR is stale now, sorry for letting it hang and thanks for the PR regardless 🙏


Adding Contribution Guideline for Amphion

✨ Description:
Adding contribution guidelines, pull request template, and code of conduct.
🚧 Related Issues:
No related issues.
👨💻 Changes Proposed:

[1] Add contribution guidelines (CONTRIBUTING.md)
[2] Add pull request template (pull_request_template.md)
[3] Add code of conduct (CODE_OF_CONDUCT.md)
[4] Updated main README.md

🧑🤝🧑 Who can review?
@RMSnow @lmxue
🛠 TODO
No TODO.
✅ Checklist:

[X]  Code has been reviewed
[X]  Code complies with the project's code standards and best practices
[X]  Code has passed all tests
[X]  Code does not affect the normal use of existing features
[X]  Documentation has been updated

Nice work!

Hi Xueyao, thank you so much for reviewing my pr. I've updated this pr according to your feedback, please check the latest commit!

Thanks for your efforts. Please check the comment.

Hi Liumeng, thank you so much for reviewing my pr. I've resolved your comments. Please check the latest commit!


Exchange 7-day for 5-day forecast from API

7-day forecast is now only under the "paid" option of this API.

👍


Add support for 4.19 LTS kernel

Currently build on buster is broken
release/ebpf_exporter-1.2.1-dev/ebpf_exporter: symbol lookup error: release/ebpf_exporter-1.2.1-dev/ebpf_exporter: undefined symbol: bcc_prog_load
build with that diff to Dockerfile
diff --git a/Dockerfile b/Dockerfile
index 9c8a01f..f926190 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.12.6-stretch
+FROM golang:1.12.14-buster

 # Doing mostly what CI is doing here
 RUN apt-get update && \
@@ -6,7 +6,7 @@ RUN apt-get update && \
     apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648A4A16A23015EEF4A66B8E4052245BD4284CDD && \
     echo "deb https://repo.iovisor.org/apt/xenial xenial main" > /etc/apt/sources.list.d/iovisor.list && \
     apt-get update && \
-    apt-get install -y libbcc=0.10.0-1 linux-headers-amd64
+    apt-get install -y libbcc=0.10.0-1 linux-headers-amd64 libtinfo5

 COPY ./ /go/ebpf_exporter

This has nothing to do with the kernel and everything to do with dynamic linking.
We install libbcc provided by bcc project and it's built on Ubuntu Xenial, where ncurses5 is used. You can see it linked to /bin/bash (libtinfo.so.5):
$ docker run --rm ubuntu:xenial ldd /bin/bash
	linux-vdso.so.1 =>  (0x00007ffedc69b000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f33d90af000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f33d8eab000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f33d8ae1000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f33d92d8000)

You are trying to build it on Debian Buster, which upgraded to ncurses6 (libtinfo.so.6):
$ docker run --rm debian:buster ldd /bin/bash
	linux-vdso.so.1 (0x00007ffce038b000)
	libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f2988c0f000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2988c0a000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2988a49000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f2988d69000)

You can still install ncurses5 which your fix is all about.
The proper way of isolating this issue is to link everything statically, so you don't care which distro is used for building and binary can run on any.
Unfortunately there are no archives produced in debian packages for libbcc for us to do so:

https://github.com/iovisor/bcc/issues/1938

The next best thing to static linking is building ebpf_exporter in the environment where you want to run it, but we can't really do this for everybody and you have to do it yourself. It appears that it's what you're doing and if the fix works for you, then you should stick to that.
The binary provided in releases is on best effort basis and currently it may work on both Stretch and Buster (with ncurses5 additionally installed). If we upgrade to Buster, then Stretch would't be able to use that binary at all.


A11y_AzureToolsStorageExplorer_Manage Access Policies _Keyboard:When hit on enter button keyboard focus does not go to Id edit box, it remains on Add button.

GitHubTags: #A11y_AzureToolsStorageExplorer; #A11yMAS; #A11YTCS; #DesktopApp; #WCAG2.1.1;#Keyboard; #Win32;
Environment Details:
Application Name: Azure Tools Storage Explorer
Application Version: 1.10.0
Windows10
Repro Steps:

Launch Storage Explorer
Navigate to "Open Connect dialog" pane and Sign in to Azure.
Go to "Manage Accounts" pane and Select the subscriptions you will use. Once selected, click on "Apply" button.
Navigate to "Blob Containers" of the selected subscription, right click and Select "Create Blob Container" and hit enter.
Right Click on newly created blob container and select "Manage Access Policies" and hit enter.
6.Check whether the keyboard focus goes to the added row after click on Add button.
Actual:
When hit on enter button keyboard focus does not go to Id edit box, it remains on Add button.

Expected:
Keyboard focus should go to the added row after click on Add button.
UserImpact:
Keyboard user unable to get the updated data after click on Add button.

The focus goes to the newly added row .So,the issue is no longer reproduce. Hence close this bug.

GithubTags:#Closed;

GitHubTags:#BM-TCS-StorageExplorer-Win32-Sep2019;


v2 error when hovering/displaying tooltips if using gradient as a background colour

I've encountered an issue with hover/tooltips in v2 using the "undocumented" approach of passing in a CanvasGradient instance as the background colour - a Javascript error gets thrown when hovering over a point.
I have tracked it down to this line: https://github.com/nnnick/Chart.js/blob/v2.0-dev/src/controllers/controller.line.js#L275 - backgroundColour is not a valid colour to pass to Color.js which causes it to throw an exception when helpers.color(point._model.backgroundColor) is evaluated (which in JS, it always will be, even if we don't need the default value).
After thinking for a bit about a fix, I decided upon making the color helper detect CanvasGradient instances and just return a default Color instance instead - this minimises changes in calling code, as they can still call .saturate() etc. on it: https://github.com/tomduncalf/Chart.js/commit/ac4c837c79b8101a3de6a621f141ddfc5ae98429
The user would then be expected to override hoverBackgroundColor if required.
If you are happy with this approach, please let me know and I'll submit the commit as a PR.
Cheers, great library :)

@tomduncalf great job tracking down the issue! I like your fix. Please submit it as a PR

:+1: done, thanks

Merged


Append transfer progress indication to output

If the -quiet flag isn't set, the tool should print the progress stages of the transfer, i.e.:
Transfering...

Done

Canceled

I would like to work on this

Hi @mb-14, thanks for taking care of this! Looking forward to seeing your implementation. Any questions, let me know.


[DE153] Probe failure error handle

If a probe produces some error during filling disk details or some other works. It was not retrying to put those details againg or rescan system again. This PR will add capability to return custom error from probe and probe handler will take action depending on error.
Signed-off-by: Shovan Maity<EMAIL_ADDRESS>Signed-off-by: Akhil Mohan<EMAIL_ADDRESS>Co-authored-by: Akhil Mohan<EMAIL_ADDRESS>

Fixes issue #178  and similar cases in all probes

This PR has been inactive for a long time. Please raise another PR on top of the latest changes.


Update the dependency on urllib3 to >2.0?

Could the dependency for urllib3 be updated to work with urllib 2.x?
This is one of the modules in my dependency chain, and it seems to be the only one still requiring urllib <2.
Unfortunately, I am not a python guy, so I cannot be of help with the actual implementation...

@pquentin @sethmlarson is this something that will be worked on? 👀
I can probably help out here if outside contributors are welcome.

@aqeelat If you could contribute a PR fixing this issue that would be great!

Any news on this one? There was a patch in #105 but that PR got closed without merging.

Ask the same. We are blocked by this issue.

Working on it in https://github.com/elastic/elastic-transport-python/pull/121 - I need to test it more.

8.10.0 supports urllb3 1.26.x and 2.x. This makes me happy as an elastic-transport-python and urllib3 maintainer. :) Closing, thanks for your patience!


ZEPPELiN-654 Improvement to SparkSqlInterpreter

What is this PR for?
Improve performance of Sparksqlinterpreter
Use StringBuilder instead of String when building the results returned by SparksqlInterpreter
What type of PR is it?
Improvement
Todos
NA
Is there a relevant Jira issue?
How should this be tested?
Try to run a Sparksql command that returns large number of rows(make sure zeppelin.spark.maxResult is set to a larger value) with and without fix.
Keep note of the time taken in each case.
The time taken with this change  is significantly lesser.
Screenshots (if appropriate)
NA
Questions:

Does the licenses files need update?  No
Is there breaking changes for older versions? No
Does this needs documentation? No

Removing some unused imports in ZeppelinContext.java in this PR

When SparkSqlinterpreter returns the result , ZeppelinContext constructs a String out of it for displaying on UI.
The logic to construct result string uses String Class for each column value in each row.
If result has x rows and each row has y columns, it creates x * y String objects for constructing the result string.
For large values of x and y, the number of String objects created is enormous and is time consuming.
Instead we could use StringBuilder, which will reduce number of objects created and will be faster.

@karup1990 Could you provide a table showing multiple time differences depending on results size?
That would be quite useful for us to review without having to run every cases possible.

I have tested following code
%spark
case class Test(n:Int, s:String)
val data = sc.parallelize(1 to 10000).map(i=>Test(i, "aaaaaaaaaaaabbbbbbbbbbbbcccccccccccddddddddd")).toDF
data.registerTempTable("test")

and
%sql
select * from test

took 20 sec before this patch but only 1 sec after this patch in my machine.
significant performance improvement.
It looks good to me.

Merge if there're no more discussions

looks good


Clarify private subnets requirement for AWS MachinePools in API field.

/assign @2uasimojo

/hold pending design

Will be superseded by #1984


Using custom Rem to true duplicates the output

Hi
Not sure why this is happening, or am I doing something wrong in the grid config, but if I use :
use-custom: (
rem: true,
)
@include container();
The css outputs :
max-width: 100%;
max-width: 100%;
margin-left: auto;
margin-left: auto;
margin-right: auto;
margin-right: auto;
Why is it duplicating ?
Thanks

Hard to say, since you are telling Susy to use a custom rem() mixin — and I don't know what that mixin looks like. Are you using Compass? If so, that could be a bug in the Compass rem mixin.

hi
Ups, there was a custom mixing that I already forgot about. Now that I removed it, it's no longer duplicating.
However, now, nothing happens, or, I still don't understand the use of this config.
In the doc, says that will use compass if available. I'm using compass, with the vertical ryhthm config, base line, use rem, etc...
So, does, Susy get's that config, or there's something else I need to do ?
thanks

I can't recreate this.

Closing for now. We can re-open if there are more updates.


Translation status pulling in impossible number of translations

https://thor.dosomething.org/admin/content/search/translation?title=Momm-o-grams&type=campaign&field_cause_tid=All&status=All

cant reproduce?

@mikefantini this looks ok to me now, closing out


no instance

I would like to use eureka-js-client in my test code. As such, I do not need (nor want) to register an instance with Eureka. How might I be able to make a read-only Eureka client with eureka-js-client? Thanks.

Never mind, I found registerWithEureka.
FYI: I got TypeError: Missing "instance.app" config value. when I first tried. It might be good to include in the error message a note/hint that registerWithEureka can be used if the user does not want to register an instance.

Could you explain what  you did? I don't find instances too


Inheritance and polymorphism in  C++

Inheritance and polymorphism in  C++
Inheritance and polymorphism in  C++
Proposed article introduction
Inheritance is the procedure in which one class uses the attributes and methods of another class. The class whose attributes and methods are being used is known as the Parent class. And the class that uses the properties of the parent class is the Child class.
Polymorphism is the method in an object-oriented programming language that performs different things as per the object's class, which calls it. With Polymorphism, a  message is sent to multiple class objects, and every object responds appropriately according to the properties of the class.
The above concepts are core in C++ programming and are used to achieve different objectives. In this article ill be discussing in detail what inheritance and polymorphism are and how they are implemented in object oriented programming. I’ll the go ahead and discuss the different forms of inheritance and polymorphism used in C++ . Finally I’ll discuss the goal of inheritance and polymorphism in C++ programming.
Key takeaways

The reader should be able to clearly understand and comprehend what polymorphism and inheritance are  a in C++ program.
The reader will be able to adequately and correctly  implement inheritance and polymorphism in their C++ programs.
The reader should understand the different forms/types of inheritance and polymorphism and also be clear on when to use what type/form .
The reader should be able to definitively  understand the role of inheritance and polymorphism in C++ programming.

References
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

I am closing due to the feedback here -> https://github.com/section-engineering-education/engineering-education/issues/4114
These topic suggestions are the same.


Integrate python dependencies into dependabot

We should use dependabot to keep our python packages up to date.

working on it

Closed via #1251
Thank you for your contribution!


[FEAT] - Feature Info

Hello guys, thats my portfolio, can you add in the list? Thanks!!
URL : shivampanchal.vercel.app

Requesting for portfolios to be added by the community should be done in #104. Kindly respond with the appropriate parameters in that issue. Thanks.


Improve report-left-recursion performance, do not create a new array copy at each step

report-left-recursion.js compile step can require excessive amounts of time for some grammars. Almost 50% of that time is spent copying arrays around, fixed by this change.

I ended up solving this slightly differently, closing.


Deprecate the overwrite option from github workflow add command

CI/CD pipline is rather made to continuously redeploy and overwrite existing package with new one.
We should deprecate overwrite option from the command and make overwrite default behavior.
Then in v8 we should remove it
related issue #5765

on it

@waldekmastykarz, @martinlingstuyl  just having some second thoughts on this. Shouldn't we only mark the overwrite options as deprecated (add info in docs and add a warning when someone will be using it).
If we also make the change to make overwrite as default won't this be a change in the current behavior which is rather considered a breaking change thing 🤔?
Or do we consider this a bug?

Hmmm, I see what you mean. This option should be removed in v8, but to mark it deprecated right now seems to signal the wrong thing. In the new version we'll set the overwrite behavior as default and remove the option. In the current version we should just leave it in (of course) and not mark it deprecated, I guess...

exactly.
on one hand we will mark it as deprecated so someone may think it is not recommended to use this option
but on the other hand the intention is actually to use it always and we want to make it as default but since it will be a change in the behavior we may not do that just yet but with v8 🤦♂
it's just so confusing

I totally agree with what you proposed @martinlingstuyl, leave it as it is now and just remove the option and change the behavior for v8.
@pnp/cli-for-microsoft-365-maintainers any additional feedback on this one?

Since the actual change that we want to do is to change the default behavior, what if we:

not deprecate the overwrite option now
in v8 make overwrite the default behavior
in v8 remove overwrite
right now, if you don't use overwrite, we show a warning saying that this behavior is deprecated and will be equal to overwrite in v8

Thoughts?

yep, that will work as well. Let's proceed this way


LXD creates lxdbr0 if it does not exist, despite being initialized without it.

Required information

Distribution: Ubuntu
Distribution version: 22.04.1 LTS
The output of "lxc info" or if that fails:

config:
  images.auto_update_interval: "0"
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- snapshot_schedule_aliases
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
- storage_api_remote_volume_snapshots
- network_nat_address
- container_nic_routes
- rbac
- cluster_internal_copy
- seccomp_notify
- lxc_features
- container_nic_ipvlan
- network_vlan_sriov
- storage_cephfs
- container_nic_ipfilter
- resources_v2
- container_exec_user_group_cwd
- container_syscall_intercept
- container_disk_shift
- storage_shifted
- resources_infiniband
- daemon_storage
- instances
- image_types
- resources_disk_sata
- clustering_roles
- images_expiry
- resources_network_firmware
- backup_compression_algorithm
- ceph_data_pool_name
- container_syscall_intercept_mount
- compression_squashfs
- container_raw_mount
- container_nic_routed
- container_syscall_intercept_mount_fuse
- container_disk_ceph
- virtual-machines
- image_profiles
- clustering_architecture
- resources_disk_id
- storage_lvm_stripes
- vm_boot_priority
- unix_hotplug_devices
- api_filtering
- instance_nic_network
- clustering_sizing
- firewall_driver
- projects_limits
- container_syscall_intercept_hugetlbfs
- limits_hugepages
- container_nic_routed_gateway
- projects_restrictions
- custom_volume_snapshot_expiry
- volume_snapshot_scheduling
- trust_ca_certificates
- snapshot_disk_usage
- clustering_edit_roles
- container_nic_routed_host_address
- container_nic_ipvlan_gateway
- resources_usb_pci
- resources_cpu_threads_numa
- resources_cpu_core_die
- api_os
- container_nic_routed_host_table
- container_nic_ipvlan_host_table
- container_nic_ipvlan_mode
- resources_system
- images_push_relay
- network_dns_search
- container_nic_routed_limits
- instance_nic_bridged_vlan
- network_state_bond_bridge
- usedby_consistency
- custom_block_volumes
- clustering_failure_domains
- resources_gpu_mdev
- console_vga_type
- projects_limits_disk
- network_type_macvlan
- network_type_sriov
- container_syscall_intercept_bpf_devices
- network_type_ovn
- projects_networks
- projects_networks_restricted_uplinks
- custom_volume_backup
- backup_override_name
- storage_rsync_compression
- network_type_physical
- network_ovn_external_subnets
- network_ovn_nat
- network_ovn_external_routes_remove
- tpm_device_type
- storage_zfs_clone_copy_rebase
- gpu_mdev
- resources_pci_iommu
- resources_network_usb
- resources_disk_address
- network_physical_ovn_ingress_mode
- network_ovn_dhcp
- network_physical_routes_anycast
- projects_limits_instances
- network_state_vlan
- instance_nic_bridged_port_isolation
- instance_bulk_state_change
- network_gvrp
- instance_pool_move
- gpu_sriov
- pci_device_type
- storage_volume_state
- network_acl
- migration_stateful
- disk_state_quota
- storage_ceph_features
- projects_compression
- projects_images_remote_cache_expiry
- certificate_project
- network_ovn_acl
- projects_images_auto_update
- projects_restricted_cluster_target
- images_default_architecture
- network_ovn_acl_defaults
- gpu_mig
- project_usage
- network_bridge_acl
- warnings
- projects_restricted_backups_and_snapshots
- clustering_join_token
- clustering_description
- server_trusted_proxy
- clustering_update_cert
- storage_api_project
- server_instance_driver_operational
- server_supported_storage_drivers
- event_lifecycle_requestor_address
- resources_gpu_usb
- clustering_evacuation
- network_ovn_nat_address
- network_bgp
- network_forward
- custom_volume_refresh
- network_counters_errors_dropped
- metrics
- image_source_project
- clustering_config
- network_peer
- linux_sysctl
- network_dns
- ovn_nic_acceleration
- certificate_self_renewal
- instance_project_move
- storage_volume_project_move
- cloud_init
- network_dns_nat
- database_leader
- instance_all_projects
- clustering_groups
- ceph_rbd_du
- instance_get_full
- qemu_metrics
- gpu_mig_uuid
- event_project
- clustering_evacuation_live
- instance_allow_inconsistent_copy
- network_state_ovn
- storage_volume_api_filtering
- image_restrictions
- storage_zfs_export
- network_dns_records
- storage_zfs_reserve_space
- network_acl_log
- storage_zfs_blocksize
- metrics_cpu_seconds
- instance_snapshot_never
- certificate_token
- instance_nic_routed_neighbor_probe
- event_hub
- agent_nic_config
- projects_restricted_intercept
- metrics_authentication
- images_target_project
- cluster_migration_inconsistent_copy
- cluster_ovn_chassis
- container_syscall_intercept_sched_setscheduler
- storage_lvm_thinpool_metadata_size
- storage_volume_state_total
- instance_file_head
- instances_nic_host_name
- image_copy_profile
- container_syscall_intercept_sysinfo
- clustering_evacuation_mode
- resources_pci_vpd
- qemu_raw_conf
- storage_cephfs_fscache
- network_load_balancer
- vsock_api
- instance_ready_state
- network_bgp_holdtime
- storage_volumes_all_projects
- metrics_memory_oom_total
- storage_buckets
- storage_buckets_create_credentials
- metrics_cpu_effective_total
- projects_networks_restricted_access
- storage_buckets_local
- loki
- acme
- internal_metrics
- cluster_join_token_expiry
- remote_token_expiry
- init_preseed
- storage_volumes_created_at
- cpu_hotplug
- projects_networks_zones
- network_txqueuelen
- cluster_member_state
- instances_placement_scriptlet
- storage_pool_source_wipe
- zfs_block_mode
- instance_generation_id
- disk_io_cache
- amd_sev
- storage_pool_loop_resize
- migration_vm_live
- ovn_nic_nesting
- oidc
- network_ovn_l3only
- ovn_nic_acceleration_vdpa
- cluster_healing
- instances_state_total
- auth_user
- security_csm
- instances_rebuild
- numa_cpu_placement
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
auth_user_name: root
auth_user_method: unix
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIICBTCCAYqgAwIBAgIRAMLtDk1V9Uc5K8YdtcsByZowCgYIKoZIzj0EAwMwNDEc
    MBoGA1UEChMTbGludXhjb250YWluZXJzLm9yZzEUMBIGA1UEAwwLcm9vdEBzZXJ2
    ZXIwHhcNMjMwNjI4MjMzMzEzWhcNMzMwNjI1MjMzMzEzWjA0MRwwGgYDVQQKExNs
    aW51eGNvbnRhaW5lcnMub3JnMRQwEgYDVQQDDAtyb290QHNlcnZlcjB2MBAGByqG
    SM49AgEGBSuBBAAiA2IABFNy47IrI5NcFnBfkHMmvh/0qG0cK9s4AEGYhOlKm9AT
    88JKys484z1SQ6fmwOoydWn+m4bO0BrpM2DERzDvDHRL+am4eyAAA25eSyDiY8vw
    S8jBrgZXl+y7Xgdfj1mq3aNgMF4wDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoG
    CCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwKQYDVR0RBCIwIIIGc2VydmVyhwR/AAAB
    hxAAAAAAAAAAAAAAAAAAAAABMAoGCCqGSM49BAMDA2kAMGYCMQCqruZVv+j5burX
    dGs+7IC4SnzW/VycM5NQKa77Us85MRGj88WTO4cgZ9eUwc+TxY8CMQCMhtJJiZJN
    nvoJrloy4gkY/enfF4HKeCFZcQi9pFuYaFq9bO9Ir0zBePekXHasioM=
    -----END CERTIFICATE-----
  certificate_fingerprint: 6328dbcdbe459cc022544936ade2bfcfacff27197b49e6a6e65ae567c7c9dbb8
  driver: lxc | qemu
  driver_version: 5.0.2 | 8.0.0
  firewall: nftables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    idmapped_mounts: "true"
    netnsid_getifaddrs: "true"
    seccomp_listener: "true"
    seccomp_listener_continue: "true"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "true"
  kernel_version: 5.15.0-75-generic
  lxc_features:
    cgroup2: "true"
    core_scheduling: "true"
    devpts_fd: "true"
    idmapped_mounts_v2: "true"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    pidfd: "true"
    seccomp_allow_deny_syntax: "true"
    seccomp_notify: "true"
    seccomp_proxy_send_notify_fd: "true"
  os_name: Ubuntu
  os_version: "22.04"
  project: default
  server: lxd
  server_clustered: false
  server_event_mode: full-mesh
  server_name: server
  server_pid: 28554
  server_version: "5.15"
  storage: dir
  storage_version: "1"
  storage_supported_drivers:
  - name: cephobject
    version: 17.2.5
    remote: true
  - name: dir
    version: "1"
    remote: false
  - name: lvm
    version: 2.03.11(2) (2021-01-08) / 1.02.175 (2021-01-08) / 4.45.0
    remote: false
  - name: zfs
    version: 2.1.5-1ubuntu6~22.04.1
    remote: false
  - name: btrfs
    version: 5.16.2
    remote: false
  - name: ceph
    version: 17.2.5
    remote: true
  - name: cephfs
    version: 17.2.5
    remote: true

Issue description
LXD is creating an lxdbr0 interface and reconfiguring the default profile if it does not exist on restart, even if it is not wanted, even if it was not asked for during lxd init.
Steps to reproduce

Install lxd: snap install lxd
Run lxd init but use an existing bridge (i.e. lxdbr1) instead of creating a new one:

Check lxc network ls and lxc profile show default. There is no lxdbr0 and the profile is configured as desired.

Restart lxd: snap restart lxd
Check again lxc network ls and lxc profile show default. A new lxdbr0 now exists and the default profile was changed to use it. The user is now very angry.

Information to attach

[ ] Any relevant kernel output (dmesg)
[ ] Container log (lxc info NAME --show-log)
[ ] Container configuration (lxc config show NAME --expanded)
[ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)
[ ] Output of the client with --debug
[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

so to deal with it (as a work-around), there has to be an interface called lxdbr0, either leave the unneeded one it creates, or name your unmanaged interface lxdbr0 if you can. otherwise it'll create it and mess up your default profile

Confirmed issue. This is really odd.
I've confirmed that killing the lxd process after initializing it with the existing lxdbr1 interface and then triggering the process to be restarted by running lxc ls doesn't create it. So I think we can rule this out as an actual LXD issue, but rather an external or packing issue.
Additionally doing snap stop lxd and then snap start lxd doesn't trigger it either.
Further more its even easier to reproduce:
snap install lxd
lxc network ls # No lxdbr0
snap restart lxd
lxc network ls # Shows lxdbr0 managed network

So its something triggered from snap restart lxd.
I've also confirmed that we can actually see an API request coming into LXD upon snap restart lxd that inspects the existing networks and creates lxdbr0:
# Getting network list
Jun 29 06:58:13 vtest lxd.daemon[9910]: time="2023-06-29T06:58:13Z" level=debug msg="Handling API request" ip=@ method=GET protocol=unix url="/1.0/networks?recursion=1" username=root
Jun 29 06:58:13 vtest lxd.daemon[9910]: time="2023-06-29T06:58:13Z" level=debug msg="WriteJSON\n\t{\n\t\t\"type\": \"sync\",\n\t\t\"status\": \"Success\",\n\t\t\"status_code\": 200,\n\t\t\"operation\": \"\",\n\t\t\"error_code\": 0,\n\t\t\"error\": \"\",\n\t\t\"metadata\": [\n\t\t\t{\n\t\t\t\t\"config\": {},\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"name\": \"lo\",\n\t\t\t\t\"type\": \"loopback\",\n\t\t\t\t\"used_by\": [],\n\t\t\t\t\"managed\": false,\n\t\t\t\t\"status\": \"\",\n\t\t\t\t\"locations\": null\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"config\": {},\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"name\": \"enp5s0\",\n\t\t\t\t\"type\": \"physical\",\n\t\t\t\t\"used_by\": null,\n\t\t\t\t\"managed\": false,\n\t\t\t\t\"status\": \"\",\n\t\t\t\t\"locations\": null\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"config\": {},\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"name\": \"lxdbr1\",\n\t\t\t\t\"type\": \"bridge\",\n\t\t\t\t\"used_by\": null,\n\t\t\t\t\"managed\": false,\n\t\t\t\t\"status\": \"\",\n\t\t\t\t\"locations\": null\n\t\t\t}\n\t\t]\n\t}" http_code=200

# Create lxdbr0 request
Jun 29 06:58:13 vtest lxd.daemon[9910]: time="2023-06-29T06:58:13Z" level=debug msg="Handling API request" ip=@ method=POST protocol=unix url=/1.0/networks username=root
Jun 29 06:58:13 vtest lxd.daemon[9910]: time="2023-06-29T06:58:13Z" level=debug msg="API Request\n\t{\n\t\t\"config\": {},\n\t\t\"description\": \"\",\n\t\t\"name\": \"lxdbr0\",\n\t\t\"type\": \"bridge\"\n\t}" ip=@ method=POST protocol=unix url=/1.0/networks username=root

FWIW we dont tend to recommend using snap restart lxd because it will stop any running instances, instead we tend to use:
sudo systemctl reload snap.lxd.daemon

Which just restarts the running LXD daemon and not the instances.

@stgraber any ideas here, im at a bit of a loss. My only guess is that its something to do with either lxd-user or lxd-migrate (the lxd-migrate inside the snap that migrates from apt package) as that does create a bridge.
I also observe, but not sure if relevant this in the logs:
Jun 29 07:29:44 vtest audit[3869]: AVC apparmor="STATUS" operation="profile_load" profile="unconfined" name="snap.lxd.migrate" pid=3869 comm="apparmor_parser"
Jun 29 07:29:49 vtest audit[3966]: AVC apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.lxd.migrate" pid=3966 comm="apparmor_parser"

Suggesting it may be being run.
There is something that is create a lxdbr0 bridge on snap restart lxd if there are not managed networks exist.
It then goes on to add/replace an eth0 NIC device connected to that network to the default profile.

Speaking with @stgraber he confirmed this is a bug in the snap restart command as it starts sub-units (like the lxd-user process) even if it wasn't previously running (because normally it starts by socket activation).
@gabrielmougard please can you open a bug with the snapd team for this https://bugs.launchpad.net/snapd/+filebug ?
Thanks

@ru-fu @gabrielmougard we should change the reference in the docs to snap restart --reload lxd to snap restart --reload lxd.daemon so we don't instruct users on discovering this external bug in snapd.

@ru-fu I don't see any mentions of snap restart --reload lxd in our doc, but there is the Install LXD from a package section here. Should we add a Restart a snap LXD deployment sub-title below this section ?

I believe @ru-fu fixed it already

I fixed the snap restart occurrences, yes.
It might be a good idea to add a section about how to restart LXD. But I'm not sure if the installing page is the best place for it ... Is there a common scenario where you need to restart LXD? Maybe after server config changes?


Added timeoutInterval to AFHTTPClient

I exposed the NSTimeInterval timeoutInterval property of NSURLRequest to AFHTTPClient to make it accessible in AFHTTPClient subclasses.

Thanks for your patch. This is a good suggestion, but I think that since requestWithMethod:path:parameters: and multipartFormRequestWithMethod:path:parameters:constructingBodyWithBlock: both return NSMutableURLRequest objects, it is already pretty simple to setTimeoutInterval and pass that into an operator constructor when necessary. As it were, Apple doesn't really respect that timeout interval like one would expect anyway, so perhaps this isn't a major priority anyway...
Thoughts?

It wasn't clear to me how I can set the timeout interval for - (void)getPath:... in my HTTPClient subclass (and still isn't ;-)). If that can be done somehow like you suggested please close this pull request.
The timeout worked very well in the test I did, but that was just a GET request, nothing else.

I think this is a good change, I have the same problem as Shukuyen, can't find a way to set the timeoutInterval from a HTTPClient subclass.

AFHTTPClient generates requests and operations, and enqueues them. getPath:..., postPath:..., and the like do all three of those automatically. If you want to change their behavior, you could do this:
NSMutableURLRequest *request = [client requestWithMethod:@"GET" path:@"/" parameters:nil];
[request setTimeoutInterval:120];

AFHTTPRequestOperation *operation = [client HTTPRequestOperationWithRequest:request success:^{...} failure:^{...}];
[client enqueueHTTPRequestOperation:operation];


Refactoring organize 1.1

Added a few more docstrings to public functions

Hi @cflynn3 I added a few more docstrings along with Andy. Hope it's one last merge before we move on.

Codecov Report

Merging #298 (0548baf) into integration (147639b) will increase coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           integration     #298   +/-   ##
============================================
  Coverage        61.73%   61.73%
============================================
  Files               98       98
  Lines            26687    26685    -2
============================================
- Hits             16475    16474    -1
+ Misses           10212    10211    -1

Impacted Files
Coverage Δ

resqpy/organize/_utils.py
61.11% <ø> (ø)

resqpy/organize/fault_interpretation.py
62.50% <ø> (ø)

resqpy/organize/geobody_boundary_interpretation.py
61.95% <ø> (ø)

resqpy/organize/geobody_interpretation.py
17.02% <ø> (ø)

resqpy/olio/factors.py
97.14% <0.00%> (-0.08%)
:arrow_down:

resqpy/olio/load_data.py
22.97% <0.00%> (ø)

resqpy/olio/ab_toolbox.py
42.85% <0.00%> (ø)

resqpy/surface/__init__.py
100.00% <0.00%> (ø)

resqpy/olio/write_faults.py
0.00% <0.00%> (ø)

resqpy/olio/box_utilities.py
42.51% <0.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


RabbitMQ - support Kubernetes internal DNS routing

**Output of the info page **
    rabbitmq (5.18.1)
    -----------------
      - instance #0 [OK]
      - Collected 0 metrics, 0 events & 1 service check

and from logs:
2017-10-31 14:22:10 UTC | ERROR | dd.collector | checks.rabbitmq(rabbitmq.py:190) | Error executing check: Cannot open RabbitMQ API url: queues Invalid URL 'queues': No schema supplied. Perhaps you meant http://queues?
2017-10-31 14:22:10 UTC | ERROR | dd.collector | checks.rabbitmq(rabbitmq.py:193) | error while contacting rabbitmq (rabbitmq-management.default.svc.cluster.local:443/api/), setting aliveness to CRITICAL for vhosts: {}

Additional environment details (Operating System, Cloud provider, etc):

CoreOS
AWS

Steps to reproduce the issue:

Override datadog docker image to support RabbitMQ
Enter address following convention <your_service>.<your_namespace>:<port>
Start pod with datadog Daemon Set

Describe the results you received:
I got the logs described above meaning that somewhere in the process URL is changed to empty string. That's why I got message Invalid URL 'queues': No schema supplied. Perhaps you meant http://queues?
Describe the results you expected:
Be able to route your traffic internally without the need to use external DNS
Additional information you deem important (e.g. issue happens only occasionally):
curl https://rabbitmq-management.default results in read timeout.
curl rabbitmq-management.default:443 results in proper response so we are able to connect from the machine.
If I add AWS ELB alias or IP I am able to get traffic.
I know it's more of a feature request but I hope you will look into it.
Cheers,
Sebastian

Hey @sdomagala! Thanks for your report!
I think I might know what's wrong. What does your config file look like?

Hello @gmmeyer, thanks for looking into it.
Here is my config:
init_config:

instances:
  # for every instance a 'rabbitmq_api_url' must be provided, pointing to the api
  # url of the RabbitMQ Managment Plugin (http://www.rabbitmq.com/management.html)
  # optional: 'rabbitmq_user' (default: guest), 'rabbitmq_pass' (default: guest),
  # and 'tag_families' (default: false) to tag queue "families" based off of regex
  # matching.
  - rabbitmq_api_url: <service_name>.<namespace>:443
    rabbitmq_user: <user>
    rabbitmq_pass: <password>
    # The (optional) ssl_verify can be used to tell the check
    # to skip the verification of the SSL certificate of the
    # RabbitMQ management web endpoint.
    # This is mostly useful when checking SSL connections signed with
    # certificates that are not themselves signed by a public authority.
    # When false, the check logs a warning in collector.log
    # Defaults to true; set to false if you want to disable
    # SSL certificate verification.
    #
    ssl_verify: false

and Dockerfile:
FROM datadog/docker-dd-agent:latest

ADD ./rabbitmq.yaml /etc/dd-agent/conf.d/rabbitmq.yaml

CMD ["supervisord", "-n", "-c", "/etc/dd-agent/supervisor.conf"]

Make sure that you include the protocol in the url. rabbitmq_api_url: <service_name>.<namespace>:443 should be rabbitmq_api_url: https://<service_name>.<namespace>:443 or rabbitmq_api_url: http://<service_name>.<namespace>:443.

This is the issue, adding http/s results in read timeout
curl https://rabbitmq-management.default results in read timeout. (adding port doesn't matter)
curl rabbitmq-management.default:443 results in proper response so we are able to connect from the machine.

Can you try rabbitmq_api_url: http://<service_name>.<namespace>:443? The url parser is expecting a protocol, which is why it's giving a weird response.

I did, issue is that no protocol works with Kubernetes routing.
I don't know if that's how kube-dns works or if I did something wrong but from what I've seen it can be done in two ways:

in headless services you can use _https._TCP.<service>.<namespace>
in internet-facing service you can do <service>.<namespace>
but none of those approaches mention http:// nor https://.

Curl doesn't do requests without a protocol, though. If you're reaching the service it's using something:
If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with "ftp." curl will assume you want to speak FTP.

Can you please tell me the output of curl -vvvvv rabbitmq-management.default:443?

Sure, here it is:
Sorry about blacking out IP and HTML Response, I don't know how much I can disclose :)
* Rebuilt URL to: rabbitmq-management.default:443/
* Hostname was NOT found in DNS cache
*   Trying {{IP}}...
* Connected to rabbitmq-management.default ({{IP}}) port 443 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.38.0
> Host: rabbitmq-management.default:443
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 1419
< Content-Type: text/html
< Date: Mon, 06 Nov 2017 19:20:13 GMT
< last-modified: Fri, 03 Nov 2017 13:34:17 GMT
* Server MochiWeb/1.0 (Any of you quaids got a smint?) is not blacklisted
< Server: MochiWeb/1.0 (Any of you quaids got a smint?)
{{HTML RESPONSE}}
* Connection #0 to host rabbitmq-management.default left intact

Can you do the same for
curl -vvvvv http://rabbitmq-management.default:443

Hello @gmmeyer,
sorry for the late reponse.
It appears the link you provided works!
I don't know why http is served over 443 in Kubernetes, it didn't cross my mind to check it :/
Thanks for the help!

I'm glad to have helped you resolve this!


Replaced misleading function call 'createtableIfNotExists'

@chill117 Unfortunately I wasn't paying enough attention when you explained the preferred approach in the database file; did I get it right?

@victorbrender  I think it was more like the code below (but I am not 100 % sure)
var db = module.exports.knex = {
                require('knex')({
 		    client: 'mysql',
 		    connection: config.dbOptions
 	        })
},

What I understood is that with that we will call knex only with db.whatever() instead of db.knex.whatever().
But after changing this we will have to change almost all the files in controllers folder  :)

Like this:
var db = module.exports = require('knex')({
	client: 'mysql',
	connection: config.dbOptions
});


Safe underscore replacement

There are a couple of issues with the change from https://github.com/uselagoon/lagoon-charts/pull/140

the result of record.dig() may be nil, so calling sub() will raise an exception (and cause the worker thread to restart). This PR fixes that by using the lonely operator.
sub() only replaces the first match. This PR changes it to use gsub() instead.

The result of this logic is:

the project part of the index names in Elasticsearch will have their underscores replaced by hyphens.
the field lagoon_sh/project within the log record will still have the original project name with any underscores.

Is that the way it should be @Schnitzel?

I found https://github.com/amazeeio/lagoon/blob/main/services/api/src/resources/group/opendistroSecurity.ts#L18-L22 which seems to confirm that this logic is correct.


Allow error msg configuration

I may be thinking about using twirp.Error the wrong way and if so please ignore me ;).
I noticed that twirp.Error() always returns a string in the form twirp error <Type>: <Msg> per the docs: https://godoc.org/github.com/twitchtv/twirp#Error
Example from a cli using a generated JSON client:
2018/01/28 15:24:57 twirp error already_exists: entity must be unique

It would be nice if I could somehow configure the format of this error message to not include twirp error. This seems somewhat related to #55 in that the name twirp may throw some people off or you may want to 'hide' implementation details (twirp).
I realize that we can always check for twirp.Errors and then provide our own error message like what is shown in your docs:
if err != nil {
    if twerr := err.(twirp.Error) {
        switch twerr.Code() {
        case twirp.InvalidArgument:
            log.Error("invalid argument "+twirp.Meta("argument"))
        default:
            log.Error(twerr.Error())
        }
    }
}

But it may be helpful to not have to do this every time if you just want to print out the error message without twirp error <Type>: being prepended.

I agree for the most part it is better to prefix errors with their type, because that's really the only reliable "stacktrace" that can be used in Go. If an error is wrapped and looks like "http error: twirp error internal: github error: actual error message", then you know at some point in the "stack" it went through a Twirp error.
But it is true that the prefix can be confusing. For example, someone writing a service implementation could see an error like this:
twirp error internal: failed to do request: Post http://localhost:8080/twirp/my.package.MyService/MyMethod: dial tcp [::1]:8080: connect: resource temporarily unavailable

This error has nothing to do with Twirp, it is an issue with tcp connections in your OS. However the "twirp" prefix may be misleading the developer to think this is a problem with the Twirp framework. This happens because every non-twirp error returned by a Twirp service is wrapped as a Twirp Internal error.


how do i fix this? what's the problem in this?

it says permission denied

Please check the port conflict.


Rename Get-RsRestItemDataModelParameters to Get-RsRestItemDataModelParameter

Corrected the typos (or recent changes in the PowerShell ReportingServicesTools module) of Get-RsRestItemDataModelParameter query and some numbering mistakes

@Lexy2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@Lexy2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Fixed #3313

#label:"aq-pr-triaged"


Not compiling for arm based processor

When i install this on a raspberry pi, i get this error:
runtime/cgo
# runtime/cgo
gcc: error: unrecognized command-line option '-marm'

I think it's related to setting the wrong C-compiler

Can you share the go version, OS, and commands you tried? It works for me on Ubuntu 20.04 64bit using golang installed via snap:
❯ go version
go version go1.21.6 linux/arm64

❯ go env
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='<HOME>/.cache/go-build'
GOENV='<HOME>/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='<HOME>/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='<HOME>/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/snap/go/10482'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/snap/go/10482/pkg/tool/linux_arm64'
GOVCS=''
GOVERSION='go1.21.6'
GCCGO='gccgo'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='<HOME>/src/osc/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3911884110=/tmp/go-build -gno-record-gcc-switches'

❯ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

My bad! I probably must have misconfigured something somewhere.
I had installed go manually, but since then i've installed the apt version and reinstalled the package, the error seems to be gone now. Thanks for making this btw.


nixos/tmp: enable cleanOnBoot by default

Description of changes
Hi, I think it should be a saner default to clean /tmp/ upon boot. Systemd should have /tmp/ as a tmpfs, so users are used to have a clean /tmp. On NixOS, with nix using /tmp/ to build, it make sense to not use tmpfs, but it should be cleaned regularly, every boot seems fine to me.
Any use case that would require to keep this disabled by default?
Would this require a release note entry?
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Overall I like the idea of cleaning up /tmp by default, but it definitely needs an entry in the release notes.

Systemd should have /tmp/ as a tmpfs

What's your source for this?

On NixOS, with nix using /tmp/ to build, it make sense to not use tmpfs

Someone recently suggested that Nix should probably be using /var/tmp and not /tmp for builds, which sounds right to me; maybe doing that and enabling tmpOnTmpfs by default would be better?

I imagine this can probably add significant delay during boot, which would be a very unpleasant surprise for anyone on slower storage or with a particularly large amount of stale data in /tmp. It's easy enough to enable manually that IMO surprising those users is not worth it.

Soft disagree; it's a more sensible default, and users who are upgrading an existing system can be informed of the potential performance impact and opt out upon reading the release notes.

Is it a more sensible default though? To me, the sensible default is /tmp on tmpfs combined with moving Nix's build directory out of /tmp and into something that's on-disk (since many systems wouldn't tolerate the size of a nix build in a tmpfs).

I close this PR as there are pros and cons, I doubt the defaults will likely to change anytime soon. Instead, I'll write a NixOS module enabling "beginners friendly" defaults, and see how it goes.
See https://discourse.nixos.org/t/should-i-use-nix-os/29215/19


feat(prisma): upgrade to V4

Information

Type
Breaking change

Chore
Yes

I think it require a bit further investigations actually. But according to prisma there's not much changes to deal with.
Todos

[ ] Tests
[ ] Coverage
[ ] Example
[ ] Documentation

/rebase

:tada: This PR is included in version 6.118.0-rc.1 :tada:
The release is available on:

v6.118.0-rc.1
GitHub release

Your semantic-release bot :package::rocket:

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

v6.120.0
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 7.0.0-beta.13 :tada:
The release is available on:

v7.0.0-beta.13
GitHub release

Your semantic-release bot :package::rocket:


HBASE-21467 Fix flaky test TestCoprocessorClassLoader.testCleanupOldJars

TestCoprocessorClassLoader.testCleanupOldJars fails when run by itself.
This can be fixed by calling CoprocessorClassLoader.getClassLoader, which initializes the jar file needed by testCleanupOldJars.
Link to issue: HBASE-21467

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
278
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ master Compile Tests _

+1
mvninstall
319
master passed

+1
compile
25
master passed

+1
checkstyle
29
master passed

+1
shadedjars
332
branch has no errors when building our shaded downstream artifacts.

+1
findbugs
51
master passed

+1
javadoc
25
master passed

_ Patch Compile Tests _

+1
mvninstall
315
the patch passed

+1
compile
25
the patch passed

+1
javac
25
the patch passed

+1
checkstyle
28
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
334
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
654
Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0.

+1
findbugs
59
the patch passed

+1
javadoc
23
the patch passed

_ Other Tests _

+1
unit
188
hbase-common in the patch passed.

+1
asflicense
14
The patch does not generate ASF License warnings.

2763

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-100/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/100

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux a38276c593df 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / 11547b79f3

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-100/1/testReport/

Max. process+thread count
290 (vs. ulimit of 10000)

modules
C: hbase-common U: hbase-common

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-100/1/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
21
Docker mode activated.

_ Prechecks _

+1
hbaseanti
0
Patch does not have any anti-patterns.

+1
@author
0
The patch does not contain any @author tags.

+1
test4tests
0
The patch appears to include 1 new or modified test files.

_ master Compile Tests _

+1
mvninstall
254
master passed

+1
compile
21
master passed

+1
checkstyle
21
master passed

+1
shadedjars
262
branch has no errors when building our shaded downstream artifacts.

+1
findbugs
42
master passed

+1
javadoc
19
master passed

_ Patch Compile Tests _

+1
mvninstall
270
the patch passed

+1
compile
23
the patch passed

+1
javac
23
the patch passed

+1
checkstyle
24
the patch passed

+1
whitespace
0
The patch has no whitespace issues.

+1
shadedjars
281
patch has no errors when building our shaded downstream artifacts.

+1
hadoopcheck
534
Patch does not cause any errors with Hadoop 2.7.4 or 3.0.0.

+1
findbugs
50
the patch passed

+1
javadoc
19
the patch passed

_ Other Tests _

+1
unit
156
hbase-common in the patch passed.

+1
asflicense
10
The patch does not generate ASF License warnings.

2064

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-100/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/100

Optional Tests
dupname  asflicense  javac  javadoc  unit  findbugs  shadedjars  hadoopcheck  hbaseanti  checkstyle  compile

uname
Linux a9816267dd7e 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 GNU/Linux

Build tool
maven

Personality
/testptch/patchprocess/precommit/personality/provided.sh

git revision
master / f30d6c958a

maven
version: Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z)

Default Java
1.8.0_181

findbugs
v3.1.11

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-100/2/testReport/

Max. process+thread count
358 (vs. ulimit of 10000)

modules
C: hbase-common U: hbase-common

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-100/2/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.


Automate CDN Publish

Publishing msal js versions to the cdn is automated and can be extended for other packages

Update: This ended up evolving into something totally different. We had to completely rework the way we use and make uploads to our CDN in order to facilitate keeping the same domain that we were on previously. Today, we are able to make manual uploads again with our new method by directly accessing Azure storage with a CDN connected to it. I'll be closing this ticket in reference to that untracked task and be making a new one for the automation of our new method of using the CDN.


optimize.brute range doesn't work correctly

I set range as [1, 3], but output is 4.71240234
Reproducing code example:

opt.brute(np.sin, [(1, 3)])
array([4.71240234])
opt.brute(np.sin, [(1, 5)])
array([4.71241648])
opt.differential_evolution(np.sin, [(1, 3)])
fun: 0.14112716960409583
message: 'Optimization terminated successfully.'
nfev: 212
nit: 13
success: True
x: array([2.99999277])

Scipy/Numpy/Python version information:

import sys, scipy, numpy; print(scipy.version, numpy.version, sys.version_info)
...
1.3.1 1.17.2 sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0)

I encountered the same problem and found this thread. Shouldn't finish be None by default?  Or at least the documentation updated to explain the polishing procedure?
My objective function raises an error when the value is outside the bounds (0,1), and I had set the bounds at (0,1), but encountered an error because, I found out after digging: the default brute polishing procedure pushes outside the (0,1) range. This is very confusing default behavior.

The documentation fully describes this behaviour.

The documentation currently states:

Minimize a function over a given range by brute force.

Uses the “brute force” method, i.e., computes the function’s value at each point of a multidimensional grid of points, to find the global minimum of the function.

The function is evaluated everywhere in the range with the datatype of the first call to the function, as enforced by the vectorize NumPy function. The value and type of the function evaluation returned when full_output=True are affected in addition by the finish argument (see Notes).

The brute force approach is inefficient because the number of grid points increases exponentially - the number of grid points to evaluate is Ns ** len(x). Consequently, even with coarse grid spacing, even moderately sized problems can take a long time to run, and/or run into memory limitations.

There is nothing stated about polishing, there is only a reference to the notes.
In my view it would be much clearer to set finish to None by default.


Add more margin to an open position to move the liquidation

At the moment you can't change the leverage on an existing position, which does prevent a user from adding more margin to a position to move the liquidation price.

Note, the user may also want to reduce the margin in a position. Increasing the leverage on an existing position.


Feature 11

@JVonderwell and I have made some simple formatting changes

merged, leaving branch open for now since we might strictly enforce 80 chars per line


Increase Echidna tests coverage for the OUSD contract

Our current Echidna tests for the OUSD contract are fairly basic. It would be great to expand their coverage.
A good place to look at for inspiration for adding new tests would be our Certora tests suite which is more comprehensive.
For more details about how to run Echidna on the OUSD repo, see this link.

We may want to base these fuzzing/invariant tests off forge for wider compatibility with modern tools.

We did it!


PR2 - HTML Files

yeah the desc class thing is just a mistake of copy n' paste

I fixed the black header text bug in the master branch (my local one, I'll push it here soon).
I'll also delete the other files, and only keep extras.html and reference.html, then I'll merge!

Oh whoops, I deleted the file. I only meant to remove it from this PR. Do you know how to do that?


link to online documentation is broken

The top-level README.md in the repository states "The spot documentation can be found here" and links to http://nlesc.github.io/spot/doc/spot/0.1.0/index.html, but that link is broken.

This is actually specifically for the https://github.com/NLeSC/spot/tree/0.1.0 tagged version, which is the one published on zenodo, where I arrived after following the DOI that is linked on https://www.research-software.nl/software/spot.
The master version does  not have the broken link.

The master README.md contains "SPOT api documentation can be found here" which links to https://spot-demo.netlify.com/docs/api. That URL is also broken.

@robertoostenveld thank you for reporting. I have updated the links.


[release-v1.15] Add Konflux configurations

Add Konflux components and pipelines

/assign @dsimansk

/retest-required
Retest as https://github.com/openshift-knative/serverless-operator/pull/2835 was merged.

/retest-required

/retest

See for this failure here

/test 415-test-e2e-aws-415

Image generation seems broken. cc @mgencur

I see, so let's merge https://github.com/openshift-knative/serving/pull/847 first. We can override the TLS tests, as they'll be covered with https://github.com/openshift-knative/serving/pull/801 (I'm working on that).

/override "ci/prow/415-test-e2e-tls-aws-415"


[Fix] Update MoeHybridParallelPlugin;

📌 Checklist before creating the PR

[ ] I have created an issue for this PR for traceability
[ ] The title follows the standard format: [doc/gemini/tensor/...]: A concise description
[ ] I have added relevant tags if possible for us to better distinguish different PRs

🚨 Issue number

Link this PR to your issue with words like fixed to automatically close the linked issue upon merge
e.g. fixed #1234, closed #1234, resolved #1234

📝 What does this PR do?

Summarize your work here.
if you have any plots/diagrams/screenshots/tables, please attach them here.

💥 Checklist before requesting a review

[ ] I have linked my PR to an issue (instruction)
[ ] My issue clearly describes the problem/feature/proposal, with diagrams/charts/table/code if possible
[ ] I have performed a self-review of my code
[ ] I have added thorough tests.
[ ] I have added docstrings for all the functions/methods I implemented

⭐ Do you enjoy contributing to Colossal-AI?

[ ] 🌝 Yes, I do.
[ ] 🌚 No, I don't.

Tell us more if you don't enjoy contributing to Colossal-AI.

1.Update MoeHybridParallelPlugin;
2.Use MoeHybridParallelPlugin to replace MoEManager;
3.Remove dependency on MoEManager of test_moe_checkpoint.py;


Linker issues with SymbolicOperator and SymbolicOperatorUtils

When compiling an example problems on the most current version of main; compilation will fail with linker errors similar to:
ld.lld: error: undefined symbol: hybrid::quantum::core::SymbolicOperator::addTerm(std::set<std::pair<int, char> …
For symbols declared in SymbolicOperator.hpp and SymbolicOperatorUtils.hpp.
When reverting to 0.4.0 it works with the same recommended compilation script (in the file) and build steps (from the README).
My expectation is something small changed breaking the linker.

Thanks for reporting the issue! It has been fixed now.


Support getting results using indices instead of Column to improve performance, and integrate with "exposed-vertx-sql-client" by getting column values directly from io.vertx.sqlclient.Row instead of org.jetbrains.exposed.sql.ResultRow

related to #1


[Req] File export from search

https://codimd.web.cern.ch/0p-ZhZDnTAycgWGNULBXBQ#UC-Inventory
export as csv file the searches results - in every resource type
Documents
Items
Eitems
Loans
Series
❓ Patrons ❓
We dont export refs for now

Needs changes in ReactSearchKit.
Blocked by: https://github.com/inveniosoftware/react-searchkit/issues/65

Full implementation in #446


ice40: bad port maps generated for post-synthesis verilog of SB_RAM40_4K

Hi,
This verilog code correctly synthesizes an SB_RAM40_4K:
module top(
    output reg [7:0] dbr,   // Data bus READ
    input  [7:0] addr,  // Address bus - eight bits
    input  clk          // Clock
    );

    reg [7:0] rom_data[0:255];

    always @(posedge clk)
        dbr <= rom_data[addr];

endmodule

By using yosys -q -p 'synth_ice40 -top top -blif top.blif' top.v  to generate a BLIF file and then yosys -o top_syn.v top.blif to generate a post-synthesis  verilog file, the resulting verilog file is invalid, as it contains port declarations like:
    .\MASK[0] (_10_),
    .\MASK[10] (_10_),
    .\MASK[11] (_10_),
    .\MASK[12] (_10_),

The correct syntax should be .MASK( { _10_, _10_, etc.
In a more complex design, if I manually fix the MASK, RADDR, RDATA, WADDR and WDATA port declarations I can successfully run a simulation of the synthesized code.

Adding -wideports to read_blif when reading in the BLIF will merge the ports and thus produce the Verilog output that you expect.

Adding -wideports to read_blif when reading in the BLIF will merge the ports and thus produce the Verilog output that you expect.

Thanks!
I used yosys -o top_syn.v -p 'read_blif -wideports  top.blif'  and works.
Should I close this?


Fix task history page size on refresh

Any refreshing in the UI tends to break the user experience paging through lots of task history. Resetting them to the beginning. Pull in the current page + page size when doing this

🚢


Add the number of pending states to the close event when a runaway container is detected

ADO:357
Description
Per the action items described in the original issue, we would also need to know the number of pending ops whenever a runaway container is detected. It could be useful for debugging individual incidents and cross-referencing these values with other metrics.
PR Checklist

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] My code follows the code style of this project.
[x] I ran the lint checks which produced no new errors nor warnings for my changes.
[x] I have checked to ensure there aren't other open Pull Requests for the same update/change.

Does this introduce a breaking change?

[ ] Yes
[x] No

Task mentions problem with counter being incremented on disconnect & connect. Is it going to be addressed in another PR?

@Vlad Sudzilouski  yes, by Fix reconnection threshold for the container runtime progress tracking by andre4i · Pull Request #10517 · microsoft/FluidFramework (github.com)https://github.com/microsoft/FluidFramework/pull/10517
Get Outlook for iOShttps://aka.ms/o0ukef

From: Vlad Sudzilouski @.>
Sent: Thursday, June 2, 2022 7:52:27 PM
To: microsoft/FluidFramework @.>
Cc: Nicholas Couri @.>; Review requested @.>
Subject: Re: [microsoft/FluidFramework] Add the number of pending states to the close event when a runaway container is detected (PR #10523)
Task mentions problem with counter being incremented on disconnect & connect. Is it going to be addressed in another PR?
—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FFluidFramework%2Fpull%2F10523%23issuecomment-1145534449&data=05|01|nichoc%40microsoft.com|cf2ddba78806401dd55e08da450c18aa|72f988bf86f141af91ab2d7cd011db47|0|0|637898215511047051|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=OStsCeC6OjeCASdU8QmKtE8C44iYsMfAGDoqtLtPEyY%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAGIMYCEEW6D4WRFIFN4VAQLVNFXOXANCNFSM5XWTKVNQ&data=05|01|nichoc%40microsoft.com|cf2ddba78806401dd55e08da450c18aa|72f988bf86f141af91ab2d7cd011db47|0|0|637898215511047051|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=ATgKzbGhHmqgqejiohWKwlJiAoyMPa5pOZ23dx%2FawLY%3D&reserved=0.
You are receiving this because your review was requested.Message ID: @.***>


bump classgraph from 4.8.43 to 4.8.78

Bumps classgraph from 4.8.43 to 4.8.78.

Release notes
Commits

FINERACT-963

Definitely LGTM!


Request: Load/Show subdirectories added to the project with add_subdirectory

Hi,
I've used VSCode with Cmake Tools and I'm starting to love it. Actually the only reason stopping me from switching from QtCreator is the lack of this feature. If possible would be nice to have this feature. QtCreator loads also the Cmake files for the sub-projects and builds them if necessary. The attached image shows how QtCreator displays them.
Thanks,
Catalin

Thanks for your patience. I haven't had the opportunity to check back for a while.
This particular use case is one that I'm wanting to implement but will require support from VSCode upstream. They have an unstable/proposed API for custom tree views, and I'm hoping that it will get merged specifically so I can support project tree-views just like this. The API is currently in-development. This type of use-case will be the first thing I look at when (if) it gets merged.

This is great news, I can hardly wait :D

Good news: The May update should finally publicize a new custom-tree-explorer API. Should see this implemented in CMakeTools soon after. (Depending on how long it takes to get sorted)

Any news on this?
I am in the same situation as heretique. Lot of subprojects in parent directories ...

I was able to get a simple tree view for cmake projects started, but I never got the whole thing worked out. I'm hoping to address this after a current refactor.

Hey! I've actually got a PR open for this now! Should see it done in 1.1.0.


Not retrieving bluetooth mobile devices

only finds devices like my tv, laptop, external desktop adapter, mi band. But no mobile device ever. plz provide setting to scan mobile devices too. Thx

You can do this by startDiscovery() in android. and listen to broadcast receiver.
It returns all classic Bluetooth devices.

I see a bunch of devices but only the once which I have names are BLE devices. At least that is what I think. The documentation of this lib is rather thin.
utter: ------- Scan result: 9 ------------
2020-04-13 16:29:26.131 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 19:91:E9:35:91:CA
2020-04-13 16:29:26.133 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 74:C0:56:C6:C5:98
2020-04-13 16:29:26.136 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: VEEPEAK Device id: 34:81:F4:CE:33:05
2020-04-13 16:29:26.139 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 51:97:50:CD:57:4C
2020-04-13 16:29:26.142 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 55:AC:23:23:EC:0F
2020-04-13 16:29:26.144 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 54:14:14:D2:E8:11
2020-04-13 16:29:26.148 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 0B:B4:47:83:3B:80
2020-04-13 16:29:26.151 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: - no Name - Device id: 7E:CC:65:4D:4A:18
2020-04-13 16:29:26.153 28107-28161/com.cobd.chkobd.debug I/flutter: Device name: Charge 3 Device id: C1:FC:78:AA:52:05

I am also facing same problem. The example app can not list other phones with bluetooth but can get my laptop in the list. Please helpme to fix out


TCP connections issues using golang net.textproto

Some TCP services don't work when the sidecar is injected
TCP services that work through kube-proxy should work with the sidecar enabled
The problem
We have Mailhog installed in our staging environment to test email, when we enable the sidecar on this container email stops working, as in our golang services can no longer send SMTP commands to the server. If we disable the sidecar the same code in the clients can connect just fine. This leads us to believe istio is doing something strange with these types of text based protocols. The strange thing is if we enable the sidecar and then send the appropriate SMTP commands to Mailhog with say nodejs or telnet, the message is sent without a hitch. I wrote a rudimentary client to connect to mailhog service via golangs net library. As in setup a net connection, then setup a net.textproto connection. The first connection works correctly, the 3-way handshake happens correctly and I've confirmed this with tcpdump. The net.textproto connection is the thing that fails. Istio seems to block the response from the initial textproto connection. It expects a return code of 220, but always times out with a EOF error.
Here's the tcpdump output when it times out
tcpdump: listening on vethcfc9a17f, link-type EN10MB (Ethernet), capture size 262144 bytes
15:25:42.420055 IP (tos 0x0, ttl 64, id 5369, offset 0, flags [DF], proto TCP (6), length 60)
    <IP_ADDRESS>.45522 > <IP_ADDRESS>.smtp: Flags [S], cksum 0x29fd (incorrect -> 0xa0a4), seq<PHONE_NUMBER>, win 28400, options [mss 1420,sackOK,TS val 641033982 ecr 0,nop,wscale 7], length 0
15:25:42.420468 IP (tos 0x0, ttl 62, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    <IP_ADDRESS>.smtp > <IP_ADDRESS>.45522: Flags [S.], cksum 0x72b1 (correct), seq 562815188, ack<PHONE_NUMBER>, win 28160, options [mss 1420,sackOK,TS val<PHONE_NUMBER> ecr 641033982,nop,wscale 7], length 0
15:25:42.420518 IP (tos 0x0, ttl 64, id 5370, offset 0, flags [DF], proto TCP (6), length 52)
    <IP_ADDRESS>.45522 > <IP_ADDRESS>.smtp: Flags [.], cksum 0x29f5 (incorrect -> 0x0e77), seq 1, ack 1, win 222, options [nop,nop,TS val 641033983 ecr<PHONE_NUMBER>], length 0
15:25:57.422659 IP (tos 0x0, ttl 62, id 49022, offset 0, flags [DF], proto TCP (6), length 52)
    <IP_ADDRESS>.smtp > <IP_ADDRESS>.45522: Flags [F.], cksum 0xd3df (correct), seq 1, ack 1, win 220, options [nop,nop,TS val<PHONE_NUMBER> ecr 641033983], length 0
15:25:57.422927 IP (tos 0x0, ttl 64, id 5371, offset 0, flags [DF], proto TCP (6), length 52)
    <IP_ADDRESS>.45522 > <IP_ADDRESS>.smtp: Flags [F.], cksum 0x29f5 (incorrect -> 0x9943), seq 1, ack 2, win 222, options [nop,nop,TS val 641048984 ecr<PHONE_NUMBER>], length 0
15:25:57.424135 IP (tos 0x0, ttl 62, id 49023, offset 0, flags [DF], proto TCP (6), length 52)
    <IP_ADDRESS>.smtp > <IP_ADDRESS>.45522: Flags [.], cksum 0x9942 (correct), seq 2, ack 2, win 220, options [nop,nop,TS val<PHONE_NUMBER> ecr 641048984], length 0

What's stranger still is if I try to send another text command to the SMTP server while the connection is waiting for a response it forces the original response to finally return, and I get a 220 back. So it's like there's a buffer of responses and Istio is returning the response late.
Steps to reproduce
I've been able to reproduce this across namespaces in our cluster with the following steps.
Install mailhog in a namespace with injection enabled
kind: Deployment
metadata:
  labels:
    run: mailhog
  name: mailhog
spec:
  replicas: 1
  selector:
    matchLabels:
      run: mailhog
  template:
    metadata:
      labels:
        run: mailhog
    spec:
      containers:
      - image: mailhog/mailhog
        imagePullPolicy: Always
        name: mailhog
        ports:
        - containerPort: 1025
          protocol: TCP
        - containerPort: 8025
          protocol: TCP

apiVersion: v1
kind: Service
metadata:
  labels:
    run: mailhog
  name: mailhog
spec:
  ports:
  - name: smtp
    port: 25
    protocol: TCP
    targetPort: 1025
  - name: http
    port: 8025
    protocol: TCP
    targetPort: 8025
  selector:
    run: mailhog
  type: ClusterIP

start a golang container inside the same namespace with a shell (we'll run the default mailhog replacement for sendmail here)
kubectl run -i --tty --rm debug --image=golang:1.12-alpine --restart=Never -- sh
inside the shell install git with apk add git and then install mhsendmail with go get github.com/mailhog/mhsendmail
mhsendmail should now be in the container path. We can try send an email to mailhog e.g.
mhsendmail --smtp-addr="mailhog:25"<EMAIL_ADDRESS><<EOF
From: App<EMAIL_ADDRESS>To: Test<EMAIL_ADDRESS>Subject: Test message

Some content!
EOF

This will hang and produce the referenced tcpdump output, but you can send a SMTP message manually with telnet via the following from the golang container. So this seems to be a golang specific problem with lower level TCP protocols.
install telnet via apk add busybox-extras
Now run
telnet mailhog:25
ehlo localhost
mail<EMAIL_ADDRESS>rcpt<EMAIL_ADDRESS>data
test
.
quit

The strange thing is if you then disable injection on the mailhog pod (injection can still be enabled on your golang container) and run the same command it will send without a problem. So it has to do with ingress traffic to the destination pod, in this case mailhog.
Version
istioctl version --remote
version.BuildInfo{Version:"1.1.2", GitRevision:"2b1331886076df103179e3da5dc9077fed59c989", User:"root", Host:"35adf5bb-5570-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.1"}

kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.7", GitCommit:"65ecaf0671341311ce6aea0edab46ee69f65d59e", GitTreeState:"clean", BuildDate:"2019-01-24T19:32:00Z", GoVersion:"go1.10.7", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.7-gke.12", GitCommit:"06f08e60069231bd21bdf673cf0595aac80b99f6", GitTreeState:"clean", BuildDate:"2019-02-25T20:37:10Z", GoVersion:"go1.10.8b4", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
helm template then kubectl apply -f manifests.yaml
This is the helm template command
helm template ../helm/istio --name istio --namespace istio-system \
    --set ingress.enabled=false \
    --set gateways.istio-ingressgateway.enabled=false \
    --set gateways.istio-egressgateway.enabled=false \
    --set global.proxy.envoyStatsd.enabled=false \
    --set tracing.enabled=false \
    --set certmanager.enabled=false \
    --set prometheus.enabled=true \
    --set security.enabled=true \
    --set kiali.enabled=true \
    --set galley.enabled=true \
    --set galley.enabled=true \
    --set mixer.enabled=true \
    --set pilot.enabled=true \
    --set sidecarInjectorWebhook.enabled=true \
    --set kiali.dashboard.grafanaURL="http://dashboards" \
    --set global.proxy.includeIPRanges="<IP_ADDRESS>/20\,<IP_ADDRESS>/16"

Environment where bug was observed (cloud vendor, OS, etc)
GCP GKE v1.11.7-gke.12

I'm currently facing exactly the same issue. Did you figured out a solution @zoltrain?


Select All keyboard shortcut fails in save dialog

VSCode Version: 1.16.0 (1.16.0) 27492b6bf3acb0775d82d2f87b25a93490673c6d
OS Version: macOS 10.12.6 (16G29)

Steps to Reproduce:

Create new file with ⌘N
Save file with ⌘S
In the save dialog, the ⌘A keyboard shortcut does not select all text in neither the "Save as:" nor "Tags:" fields.

Reproduces without extensions: Yes

We fixed this for 1.17.


Add a js_footer block

This can be useful in case one needs to add extra JS in the footer on all pages apart from the Google Analytics block.

Thank you


[FEAT] Allow to define includePaths in styleOptions for Angular compiler plugin

Which scope/s are relevant/related to the feature request?
vite-plugin-angular
Information
Problem:
I want to be able to define custom path aliases for import paths in my scss stylesheets and I am not able to.
Angular+Webpack alternative:
@nrwl/angular:webpack-browser executor and Angular CLI allows me to define stylePreprocessorOptions.includePaths to define custom paths (except node_modules) to search for scss modules at.
Solution:
createCompilerPlugin function accepts 2nd parameter styleOptions, that can contain includePaths property. That option is consumed by sass plugin.
My proposed solution has two parts:

automatic inclusion of resolve.alias from user Vite config here: https://github.com/analogjs/analog/blob/main/packages/vite-plugin-angular/src/lib/angular-vite-plugin.ts#L85
manual configuration through new plugin option includePaths that would push new paths to the includePaths option mentioned above

Please let me know if you are ok with this solution 🙏
Describe any alternatives/workarounds you're currently using
No alternative exists except of patching the package
I would be willing to submit a PR to fix this issue

[X] Yes
[ ] No

Thanks @miluoshi. We don't use the sass plugin included with createCompilerPlugin. This is handled by Vite itself. We had a discussion about this here with included solutions for includePaths
https://twitter.com/brandontroberts/status/1581824172547665920
You can fix it in your Vite config
"Fixed the imports by adding includePaths with a relative path to the root of the workspace in the Vite config."
    css: {
      preprocessorOptions: {
        scss: {
          includePaths: ['node_modules', `../../assets/scss`]
        }
      }
    },

Hi @brandonroberts, thanks for your reply! I don't see very deep into the Vite + Angular build system so take my findings with a grain of salt.
TL;DR: css.preprocessorOptions.scss.includePaths doesn't work for me
With the new proposed includePaths plugin option there are together 3 options that influence resolution of aliased sass modules: resolve.alias, css.preprocessorOptions.scss.includePaths and the new proposed option.
After debugging the build pipeline I have found that without the proposed new option our app won't build. I get errors like this:
✘ [ERROR] [plugin angular-sass] Can't find stylesheet to import.
  ╷
1 │ @use 'ui-common-styles/variables/colors';
  │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The option is needed to compile a scss file with custom path alias in angular-cli/packages/angular_devkit/build_angular/src/builders/browser-esbuild/sass-plugin.ts call to sass.compile (@angular-devkit/build-angular@14.2.9). I also needed to define the same custom path in resolve.alias so the vite config looks like this:
// vite.config.ts
import angular from '@analogjs/vite-plugin-angular';
import { workspaceRoot } from '@nrwl/devkit';

const commonStylesLocation = path.resolve(workspaceRoot, 'libs/ui/src/lib');

export default defineConfig(({ mode }) => ({
  resolve: {
  alias: {
    'ui-common-styles': `${commonStylesLocation}/ui-common-styles`,
  },
  plugins: [
    angular({
      includePaths: [commonStylesLocation],
      workspaceRoot,
      inlineStylesExtension: 'scss',
    }),
  ],
});

// libs/ui/src/lib/ui-common-styles/variables/colors.scss
@import 'ui-common-styles/variables/colors';

Maybe it's obvious, but I found it interesting during my debugging session that there are 2 pipelines that process the same sass files in our app. At first the stylesheets are processed by @angular-devkit/build-angular:browser-esbuild builder and then they are processed by Vite's CSS transformer. Maybe it's related to #142?

Here's the call sequence for processing scss by<EMAIL_ADDRESS>:

angular-vite-plugin.ts: createCompilerPlugin call
browser-esbuild/compiler-plugin.ts: bundleStylesheetFile call
browser-esbuild/stylesheets.ts: bundleStylesheet call + options.includePaths assigned to loadPaths + createSassPlugin call

By following this sequence I can see that passing includePaths to createCompilerPlugin's styleOptions would eventually pass them to createSassPlugin's loadPaths.

Call sequence for Vite CSS transformer<EMAIL_ADDRESS>
packages/vite/src/node/plugins/css.ts: preprocessorOptions you've suggested to use are assigned to opts and then those opts are passed to preProcessor that is in our case scss preprocessor function that uses Vite config's resolve.alias option to resolve a file.

I see. The esbuild compiler plugin is also processing SCSS, along with Vite. The fix seems reasonable to me. I've moved the plugin inside the @analogjs/platform package, so we can add it to the vite options and pass it to both plugins.


Unable to create topic subscription with default rule

I'm trying to create new topic subscription with default rule using this:
https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.servicebus.management.managementclient.createsubscription?view=azure-java-legacy#com_microsoft_azure_servicebus_management_ManagementClient_createSubscription_SubscriptionDescription_RuleDescription_
The error I'm getting:
Cannot create an abstract class
I'm using azure-servicebus 3.4.0.
Code sample:
SubscriptionDescription subscriptionDesc = new SubscriptionDescription(topicName, subName);
subscriptionDesc.setDefaultMessageTimeToLive(Duration.ofDays(14));
subscriptionDesc.setLockDuration(Duration.ofMinutes(5));
subscriptionDesc.setMaxDeliveryCount(20);
// Auto-forward messages to queue.
subscriptionDesc.setForwardTo(getServiceBusQueuePath(queueName));
// Set subscription as active
subscriptionDesc.setEntityStatus(EntityStatus.Active);

// Create default rule.
RuleDescription defaultRule = new RuleDescription("ContentRule", new SqlFilter("Content='abc'"));

// Connect to management client.
ConnectionStringBuilder connStrBuilder = new ConnectionStringBuilder(namespace, topicName, sharedAccessKeyName, sharedAccessKey);
ManagementClient mgmtClient = new ManagementClient(connStrBuilder);
// Create subscription to the metadata-events topic.
mgmtClient.createSubscription(subscriptionDesc, defaultRule);
mgmtClient.close();

It works if I just do this:
mgmtClient.createSubscription(subscriptionDesc);
Stack trace:
com.microsoft.azure.servicebus.primitives.ServiceBusException: Cannot create an abstract class. TrackingId:91b4c0b8-3388-412c-9e8a-7d1143d17198_G42, Topic:metadata-events, Timestamp:2020-08-28T05:02:51; Status code: 500
	at com.microsoft.azure.servicebus.management.ManagementClientAsync.validateHttpResponse(ManagementClientAsync.java:1127)
	at com.microsoft.azure.servicebus.management.ManagementClientAsync.lambda$sendManagementHttpRequestAsync$21(ManagementClientAsync.java:1055)
	at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822)
	at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Hi @deejay220989, someone from the Mgmt team will follow up on this github issue shortly.
/cc @yungezz

hi @joshfree I think this is part of data plane operation of service bus management client, the management is not management client :) here's the source code matching namespace from error stacktrace: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/servicebus/microsoft-azure-servicebus/src/main/java/com/microsoft/azure/servicebus/management/ManagementClientAsync.java.
Let me know if this is not the right library. I'll remove Mgmt for now.

What's the status of this issue?

hi @joshfree could you pls help to route to right owner? thanks.

@deejay220989
Thanks for raising this issue. We will investigate internally.

@axisc  Ashish , Following up on this, if we have update on why this issue happened ?

@deejay220989 I am investigating this issue. I haven't been able to reproduce this issue.
All I can tell you is the exception came from service bus service. Could you reproduce it again? If you can, please give us more info about your namespace like

Namespace name - this tells us the clusters, SKU.
Tracking Id and timestamp of the error,  that you can find in the exception message. TrackingId:91b4c0b8-3388-412c-9e8a-7d1143d17198_G42, Topic:metadata-events, Timestamp:2020-08-28T05:02:51; Status code: 500

@deejay220989 I am investigating this issue. I haven't been able to reproduce this issue.
All I can tell you is the exception came from service bus service. Could you reproduce it again? If you can, please give us more info about your namespace like

Namespace name - this tells us the clusters, SKU.
Tracking Id and timestamp of the error,  that you can find in the exception message. TrackingId:91b4c0b8-3388-412c-9e8a-7d1143d17198_G42, Topic:metadata-events, Timestamp:2020-08-28T05:02:51; Status code: 500

I am closing it as I haven't heard from you. Even if it could be reproduced, it is most likely a service side issue.

I am closing it as I haven't heard from you. Even if it could be reproduced, it is most likely a service side issue.

@yvgopal , we also started facing this issue:
Caused by: com.microsoft.azure.servicebus.primitives.ServiceBusException: Cannot create an abstract class. TrackingId:7d965850-9b1d-4082-997d-c25fd81914ac_G0, SystemTracker::Topic: Timestamp:2021-03-19T10:02:16; Status code: 500
at com.microsoft.azure.servicebus.management.ManagementClientAsync.validateHttpResponse(ManagementClientAsync.java:1127)
at com.microsoft.azure.servicebus.management.ManagementClientAsync.lambda$sendManagementHttpRequestAsync$21(ManagementClientAsync.java:1055)
at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
we are using service bus version client sdk: 3.6.0

The root cause is a bug in the following JAR (it may not be specific to v2.7.2).  Please check if your application uses this library.
JAR name: xalan:serializer:jar:2.7.2
Namespace: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.
Class name: org.apache.xalan.processor.TransformerFactoryImpl
This XSLT processing library mangles the XML that is sent by our SDK.  It strips out the namespace information on the Filter element:
Good Request that doesn't use Xalan:

PT5M
.......

Content='abc'

Active

Bad Request that uses Xalan:

PT5M
...

Content='abc'

@lchew7
https://github.com/Azure/azure-sdk-for-java/blob/026664ea871586e681ab674e0332b6cc2352c655/sdk/servicebus/microsoft-azure-servicebus/src/main/java/com/microsoft/azure/servicebus/management/SubscriptionDescriptionSerializer.java#L123
try {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty("omit-xml-declaration", "yes");
transformer.transform(new DOMSource(doc), new StreamResult(output));
} catch (TransformerException var9) {
throw new ServiceBusException(false, var9);
}
javax.xml.transform.TransformerFactory#newInstance(), it'll use FactoryFinder to find an implementation of TransformerFactory, if there is no match, it will fall back to "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"
public static TransformerFactory newInstance() throws TransformerFactoryConfigurationError {
return (TransformerFactory)FactoryFinder.find(TransformerFactory.class, "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");
}
I read source code of javax.xml.transform.FactoryFinder, here are the steps how it finds an implementation of TransformerFactory.

Is there system property named TransformerFactory.class.getName(), aka "javax.xml.transform.TransformerFactory", if yes, load the class specified in the property. If no, go to next.
Does this file "%JAVA_HOME%\lib\jaxp.properties" exist? If yes, load the property file and find a property named as "javax.xml.transform.TransformerFactory", if found a match, load the class specified in the property. If no, go to next.
Use class loader to find any class implements "javax.xml.transform.TransformerFactory", if found a match, load the class. If we import xalan, it'll load org.apache.xalan.processor.TransformerFactoryImpl. Otherwise it'll use "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl".

For ServiceBus SDK, it must use "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl" to avoid corruption of XML transformation.
There is another implementation of newInstance we can use to load specific class com.microsoft.azure.servicebus.management.SubscriptionDescriptionSerializer.
try {
TransformerFactory transformerFactory = TransformerFactory.newInstance("com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl", TransformerFactory.class.getClassLoader());
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty("omit-xml-declaration", "yes");
transformer.transform(new DOMSource(doc), new StreamResult(output));
} catch (TransformerException var9) {
throw new ServiceBusException(false, var9);
}
Right now, we have a workaround before we make any fix on SDK.
String oldTransformerFactory = System.getProperty(TransformerFactory.class.getName());
System.setProperty(TransformerFactory.class.getName(), "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");
mgmtClient.createSubscription(subscriptionDesc, defaultRule);
if (oldTransformerFactory != null) {
System.setProperty(TransformerFactory.class.getName(), oldTransformerFactory);
} else {
System.clearProperty(TransformerFactory.class.getName());
}

Hey Rachel:
Interesting.  Great work!
A few comments with the proposed SDK fix:

It's not that we must use any specific library.  We can use any TransformerFactory provider.  It's that some providers are buggy (e.g., org.apache.xalan.processor.TransformerFactoryImpl).
TransformerFactory allows the user to specify different providers.  If we directly specify it in newInstance(), that would remove their ability to do so right?  For example, if a user set the system property "javax.xml.transform.TransformerFactory", it seems your fix would override/ignore that?

Ultimately, this is a client issue, and not a ServiceBus SDK issue.  They should not use this buggy library by either removing it from their dependencies, or by specifying a specific library as in your workaround solution (which is actually a proper solution).

@lchew7 Well, my point is that if we specify it in newInstance() (called in com.microsoft.azure.servicebus.management.SubscriptionDescriptionSerializer), that'll only affect ServiceBus SDK to transform SubscriptionDescription into XML, it won't affect whatever providers user specifies in their application. We don't actually want other ability of different providers from SDK perspective.
Anyway, workaround will work. :)


feat(http-service): introduce http-service package

this commit only adds the http-service to package.json. nothing fancy (yet 😎)

@juliangieseke please run shrinkwrap to make sure everyone gets the very same version.

not sure if this was correct 🤔  pls check!

Looks good! We already have the package in shrinkwrap :)