19_training_and_deploying_at_scale.ipynb error

I tried to run the subject notebook in Colab and received the below error at [this section]. (https://colab.research.google.com/github/ageron/handson-ml3/blob/main/19_training_and_deploying_at_scale.ipynb#scrollTo=Querying_TF_Serving_through_the_REST_API). Please help. Thanks.
Codes caused the error:
`import requests
server_url = "http://localhost:8501/v1/models/my_mnist_model:predict"
response = requests.post(server_url, data=request_json)
response.raise_for_status()  # raise an exception in case of error
response = response.json()`
Error messages:
ConnectionRefusedError                    Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/urllib3/connection.py in _new_conn(self)
158             conn = connection.create_connection(
--> 159                 (self._dns_host, self.port), self.timeout, **extra_kw)
160
19 frames
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
NewConnectionError                        Traceback (most recent call last)
NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f129a2f4550>: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
MaxRetryError                             Traceback (most recent call last)
MaxRetryError: HTTPConnectionPool(host='localhost', port=8501): Max retries exceeded with url: /v1/models/my_mnist_model:predict (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f129a2f4550>: Failed to establish a new connection: [Errno 111] Connection refused'))
During handling of the above exception, another exception occurred:
ConnectionError                           Traceback (most recent call last)
/usr/local/lib/python3.7/dist-packages/requests/adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
514                 raise SSLError(e, request=request)
515
--> 516             raise ConnectionError(e, request=request)
517
518         except ClosedPoolError as e:
ConnectionError: HTTPConnectionPool(host='localhost', port=8501): Max retries exceeded with url: /v1/models/my_mnist_model:predict (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f129a2f4550>: Failed to establish a new connection: [Errno 111] Connection refused'))

Hi @BuggieCoder, you're right. I've got the same error when running notebook in Colab.
A quick look at the server's log suggests that the problem might be in the older version of the libraries on the host machine compared to the ones required by tensorflow_model_server (2.9.0). You can check it yourself by running:
with open('my_server.log') as f:
  print(f.read())

I get the following result:
tensorflow_model_server: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by tensorflow_model_server)
tensorflow_model_server: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by tensorflow_model_server)
tensorflow_model_server: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by tensorflow_model_server)

To fix it, replace the following snippet in the notebook:
if "google.colab" in sys.modules or "kaggle_secrets" in sys.modules:
    url = "https://storage.googleapis.com/tensorflow-serving-apt"
    src = "stable tensorflow-model-server tensorflow-model-server-universal"
    !echo 'deb {url} {src}' > /etc/apt/sources.list.d/tensorflow-serving.list
    !curl '{url}/tensorflow-serving.release.pub.gpg' | apt-key add -
    !apt update -q && apt-get install -y tensorflow-model-server
    %pip install -q -U tensorflow-serving-api

with
if "google.colab" in sys.modules or "kaggle_secrets" in sys.modules:
    url = "https://storage.googleapis.com/tensorflow-serving-apt"
    !wget 'https://storage.googleapis.com/tensorflow-serving-apt/pool/tensorflow-model-server-2.4.4/t/tensorflow-model-server/tensorflow-model-server_2.4.4_all.deb'
    !dpkg -i tensorflow-model-server_2.4.4_all.deb
    %pip install -q -U tensorflow-serving-api

You can try more recent versions (can be found here) and see if they work too.

Hi @BuggieCoder ,
Thanks for your feedback.
It looks like the official installation instructions for TensorFlow Serving currently do not work on Google Colab, but luckily the workaround proposed by @vi3itor (thanks! 🙏) works fine. It looks like TensorFlow Serving assumes that some recent libraries are present, but Google Colab does not have them yet. Hopefully this will be fixed the next time the Google Colab runtime is updated.
I'll update the notebook to point to this issue.

@ageron, I checked that the latest working version is 2.5.4 (I got the same error when tried installing 2.6.5). I'll edit the code snippet above.

Thank you so much for your response. I tried the replacement codes and that error has gone. But now I got another error.

The new error is from this block of code:
`import grpc
from tensorflow_serving.apis import prediction_service_pb2_grpc
channel = grpc.insecure_channel('localhost:8500')
predict_service = prediction_service_pb2_grpc.PredictionServiceStub(channel)
response = predict_service.Predict(request, timeout=10.0)`

and here is the error message:
InactiveRpcError                         Traceback (most recent call last)
 in ()
4 channel = grpc.insecure_channel('localhost:8500')
5 predict_service = prediction_service_pb2_grpc.PredictionServiceStub(channel)
----> 6 response = predict_service.Predict(request, timeout=10.0)
1 frames
/usr/local/lib/python3.7/dist-packages/grpc/_channel.py in _end_unary_response_blocking(state, call, with_call, deadline)
847             return state.response
848     else:
--> 849         raise _InactiveRpcError(state)
850
851
_InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "input tensor alias not found in signature: flatten_input. Inputs expected to be in the set {flatten_1_input}."
debug_error_string = "{"created":"@1656964752.590421454","description":"Error received from peer ipv4:<IP_ADDRESS>:8500","file":"src/core/lib/surface/call.cc","file_line":952,"grpc_message":"input tensor alias not found in signature: flatten_input. Inputs expected to be in the set {flatten_1_input}.","grpc_status":3}"

Hi @BuggieCoder, you're welcome!
I'm not getting the error above. Everything should work fine. Are you running the code from Colab or have you made some changes?

Thanks. I am running the code from Colab. Let me try it one more time.

When I ran up to this block of code:
`from google.cloud import aiplatform
server_image = "gcr.io/cloud-aiplatform/prediction/tf2-gpu.2-8:latest"
aiplatform.init(project=project_id, location=location)
mnist_model = aiplatform.Model.upload(
display_name="mnist",
artifact_uri=f"gs://my_fashion_model/my_mnist_model/0002",
serving_container_image_uri=server_image,
)`
I got the error below:

ContextualVersionConflict                 Traceback (most recent call last)
 in ()
----> 1 from google.cloud import aiplatform
2
3 server_image = "gcr.io/cloud-aiplatform/prediction/tf2-gpu.2-8:latest"
4
5 aiplatform.init(project=project_id, location=location)
11 frames
/usr/local/lib/python3.7/dist-packages/pkg_resources/init.py in resolve(self, requirements, env, installer, replace_conflicting, extras)
775                 # Oops, the "best" so far conflicts with a dependency
776                 dependent_req = required_by[req]
--> 777                 raise VersionConflict(dist, req).with_context(dependent_req)
778
779             # push the new requirements onto the stack
ContextualVersionConflict: (protobuf 3.17.3 (/usr/local/lib/python3.7/dist-packages), Requirement.parse('protobuf<4.0.0dev,>=3.19.0'), {'google-cloud-aiplatform', 'google-cloud-resource-manager'})
Please see if you can help. Thanks!

Hi @BuggieCoder,
ContextVersionConflict tells you that you need to Restart the Runtime to activate the packages you installed. In particular, when you run cell number 3 with the following code block:
if "google.colab" in sys.modules or "kaggle_secrets" in sys.modules:
    %pip install -q -U google-cloud-aiplatform

you might have noticed the warning from @ageron:

Warning: On Colab, you must restart the Runtime after the installation, and continue with the next cells.

So you should select from the top menu "Runtime -> Restart runtime". But start running the cells from the beginning, otherwise, you'll meet some errors that either tf or sys models are not imported.


update get-pnpfolder to remove reference to Get-PnPFolderFile and Get-PnPFolderFolder

Type

[ ] Bug Fix

What is in this Pull Request ?
Remove the following from docs as cmdlets Get-PnPFolderFile and Get-PnPFolderFolder does not exist
Use [Get-PnPFolderFile](Get-PnPFolderFile.md) to retrieve only files and [Get-PnPFolderFolder](Get-PnPFolderFolder.md) to retrieve only folders allowing additional properties of the returned items to be requested.

Thanks @reshmee011 , good catch. We had renamed these cmdlets before, so made the necessary changes.

@gautamdsheth : I can access the page https://pnp.github.io/powershell/cmdlets/Get-PnPFolderFolder.html but can't find it in the solution, does it need to be removed?


PASSWORD Improvements

Add options:

faillock_enable
faillock

admin_group
audit
deny
dir
even_deny_root
fail_interval
local_users_only
no_log_info
nodelay
root_unlock_time
silent
unlock_time

login_defs

login_retries
login_timeout
pass_max_days
pass_min_days
pass_warn_age

password_remember

Change options:

pwquality

dcredit
dictcheck
dictpath
difok
enforce_for_root
enforcing
gecoscheck
lcredit
local_users_only
maxclassrepeat
maxrepeat
minclass
minlen
ocredit
retry
ucredit
usercheck
usersubstr

Improvements of password algorithm

Add e change templates

Remove pam_tally2

Verify hash of passwords with mkpasswd with yescrypt support

There are many changes and a more detailed test is necessary, especially in the molecule test, in terms of using mkpasswd. If anyone knows a simpler alternative, feel free to help, as unfortunately yescrypt is not yet supported by Ansible.

Thanks yet again. It looks good when glancing over the changes, but I'll start testing as soon as possible.

TASK [Install mkpasswd] ********************************************************
fatal: [focal]: FAILED! => {"changed": false, "msg": "No package matching 'mkpasswd' is available"}
fatal: [bookworm]: FAILED! => {"changed": false, "msg": "No package matching 'mkpasswd' is available"}
fatal: [jammy]: FAILED! => {"changed": false, "msg": "No package matching 'mkpasswd' is available"}
fatal: [almalinux8]: FAILED! => {"changed": false, "failures": ["No package mkpasswd available."], "msg": "Failed to install some of the specified packages", "rc": 1, "results": []}
changed: [almalinux9]

and I think that the package should be added to the normal package list, not as a separate task

TASK [Install mkpasswd] ********************************************************
fatal: [focal]: FAILED! => {"changed": false, "msg": "No package matching 'mkpasswd' is available"}
fatal: [bookworm]: FAILED! => {"changed": false, "msg": "No package matching 'mkpasswd' is available"}
fatal: [jammy]: FAILED! => {"changed": false, "msg": "No package matching 'mkpasswd' is available"}
fatal: [almalinux8]: FAILED! => {"changed": false, "failures": ["No package mkpasswd available."], "msg": "Failed to install some of the specified packages", "rc": 1, "results": []}
changed: [almalinux9]

it's oddly named whois on Ubuntu, don't know about AlmaLinux8.

As they are specific tools for this test, I believe that installing them only on the test machines is ideal.
In the redhat family, the package is only available in version 9 with the name "mkpasswd" and the encryption "yescrypt" is also only available in this version.

As they are specific tools for this test, I believe that installing them only on the test machines is ideal. In the redhat family, the package is only available in version 9 with the name "mkpasswd" and the encryption "yescrypt" is also only available in this version.

Indeed, just install them when verifying

The Set rounds task isn't idempotent on AlmaLinux.
Idempotence test failed because of the following tasks:
*  => ansible-role-hardening : Set rounds

Will debug this...
Test machine:
~$ lsb_release -d
Description:	Ubuntu 22.04.3 LTS
~$ echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt --rounds=11
crypt: Invalid argument
~$ echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt
$y$j9T$fKUyYvKRu7J3pTcdOV0DG0$amcL1DWCQqGvhbnnU83bxQEK4pPphDBRKjz8CBNYdN.
~$ mkpasswd --version | head -n1
mkpasswd 5.5.13

My laptop:
$ lsb_release -d
Description:	Ubuntu 22.04.3 LTS
$ echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt --rounds=11
$y$jFT$TNDsck0dtL/n6LLXNmAeh0$wJycEcIihrHDz5raItc4egQmsVV7YcmM7cifEO7bwm6

Will debug this...
Test machine:
~$ lsb_release -d
Description:	Ubuntu 22.04.3 LTS
~$ echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt --rounds=11
crypt: Invalid argument
~$ echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt
$y$j9T$fKUyYvKRu7J3pTcdOV0DG0$amcL1DWCQqGvhbnnU83bxQEK4pPphDBRKjz8CBNYdN.
~$ mkpasswd --version | head -n1
mkpasswd 5.5.13

My laptop:
$ lsb_release -d
Description:	Ubuntu 22.04.3 LTS
$ echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt --rounds=11
$y$jFT$TNDsck0dtL/n6LLXNmAeh0$wJycEcIihrHDz5raItc4egQmsVV7YcmM7cifEO7bwm6

This is very strange. Functional on my machine and an Ubuntu VM. Is it limited to resource settings (CPU and RAM)?
For yescrypt, it is limited to 11, try reducing this number and see if the error persists, if it does, I will remove the option in the test.

Yes, reducing the rounds fixed this, tested on VMs and on RPis.
Since the default is 6 rounds, https://github.com/openwall/yescrypt/blob/main/yescrypt.h#L113, I'll suggest we up it to 8 just to be safe.

diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 23fadaa..e602e6c 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -933,9 +933,9 @@
             - ansible_os_family == "Debian"

         - name: Create yescrypt password hash
-          ansible.builtin.shell: |-
+          ansible.builtin.shell: |
             set -o pipefail
-            echo -n '{{ item }}' | mkpasswd --stdin --method=yescrypt --rounds=11 | tr -d '\n'
+            echo -n '{{ item }}' | mkpasswd --stdin --method=yescrypt --rounds=8
           args:
             executable: /bin/bash
           register: mkpasswd
@@ -949,7 +949,7 @@
         - name: Set passwords
           ansible.builtin.set_fact:
             passwords: "{{ mkpasswd.results | map(attribute='stdout') | list }}"
-          when: mkpasswd.rc != 0
+          when: mkpasswd and password_algorithm == "yescrypt"

         - name: Create sha512 password hash
           vars:
diff --git a/tasks/password.yml b/tasks/password.yml
index a6965c7..29d41e7 100644
--- a/tasks/password.yml
+++ b/tasks/password.yml
@@ -117,7 +117,7 @@
       ansible.builtin.replace:
         path: "{{ item }}"
         regexp: '(\s+{{ password_algorithm }}\s+(?!rounds=)\S*)(\s+rounds=[0-9]+)*'
-        replace: '\1 rounds={{ "65536" if (password_algorithm == "sha512") else "11" }}'
+        replace: '\1 rounds={{ "65536" if (password_algorithm == "sha512") else "8" }}'
         mode: "0644"
         owner: root
         group: root
diff --git a/templates/etc/pam.d/common-password.j2 b/templates/etc/pam.d/common-password.j2
index 5f85189..9d13203 100644
--- a/templates/etc/pam.d/common-password.j2
+++ b/templates/etc/pam.d/common-password.j2
@@ -2,6 +2,6 @@
 # Generated by Ansible role {{ ansible_role_name }}

 password requisite pam_pwquality.so retry=3
-password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass {{ password_algorithm }} rounds={{ '65536' if (password_algorithm == 'sha512') else '11' }} remember={{ password_remember }}
+password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass {{ password_algorithm }} rounds={{ '65536' if (password_algorithm == 'sha512') else '8' }} remember={{ password_remember }}
 password requisite pam_deny.so
 password required pam_permit.so

The Set rounds task isn't idempotent on AlmaLinux.
Idempotence test failed because of the following tasks:
*  => ansible-role-hardening : Set rounds

Do you have any suggestions for this issue? the old regex for the remember parameter was removing extra predefined parameters.
    - name: Set system-auth remember
      ansible.builtin.replace:
        regexp: use_authtok(\s+.*)
        replace: use_authtok remember=5

The Set rounds task isn't idempotent on AlmaLinux.
Idempotence test failed because of the following tasks:
*  => ansible-role-hardening : Set rounds

Do you have any suggestions for this issue? the old regex for the remember parameter was removing extra predefined parameters.
    - name: Set system-auth remember
      ansible.builtin.replace:
        regexp: use_authtok(\s+.*)
        replace: use_authtok remember=5

Anyway the regex is wrong:
TASK [/home/cleberson/CodeAndGo/arquivos_de_configuracoes/DEVOPS/CI-CD/ansible-role-hardening : Set rounds] **************************************************************************************
sexta 20 outubro 2023  19:26:27 -0300 (0:00:01.730)       0:00:23.776 *********
--- before: /etc/pam.d/password-auth
+++ after: /etc/pam.d/password-auth
@@ -8,7 +8,7 @@
 account     required      pam_unix.so

 password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
-password    sufficient    pam_unix.so try_first_pass use_authtok sha512 remember=10 shadow rounds=65536
+password    sufficient    pam_unix.so try_first_pass use_authtok sha512 remember=10 rounds=65536 shadow rounds=65536

-password    sufficient    pam_unix.so try_first_pass use_authtok sha512 remember=10 shadow rounds=65536
+password    sufficient    pam_unix.so try_first_pass use_authtok sha512 remember=10 rounds=65536 shadow rounds=65536

yeah, this is why the role need to be idempotent but I haven't had the time to dig deeper

https://docs.ansible.com/ansible/latest/collections/community/general/pamd_module.html
Could using this module be an option? Do you have any observations?

There are no issues with using that module. It just seems messy, but if you're okay with working with it

I made a change to the regex, I believe the replace solved it, but I need you to perform the molecule test to see if it will be identified as idempotent.

"Idempotence completed successfully."

update the testing.
diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml
index 9e4fb37..f545b19 100644
--- a/molecule/default/verify.yml
+++ b/molecule/default/verify.yml
@@ -938,49 +938,46 @@
         - name: Create yescrypt password hash
           ansible.builtin.shell: |
             set -o pipefail
-            echo -n '{{ item }}' | mkpasswd --stdin --method=yescrypt --rounds=8
+            echo -n 'Ansible Role Test User' | mkpasswd --stdin --method=yescrypt --rounds=8
           args:
             executable: /bin/bash
           register: mkpasswd
           changed_when: false
           failed_when: mkpasswd.rc != 0
-          loop:
-            - 'Ansible Role Test User'
-            - 'Change Ansible Role Test User'
           when: password_algorithm == "yescrypt"

         - name: Set passwords
           ansible.builtin.set_fact:
-            passwords: "{{ mkpasswd.results | map(attribute='stdout') | list }}"
-          when:
-            - password_algorithm == "yescrypt"
-            - mkpasswd.rc == 0
+            passwords: "{{ mkpasswd.stdout }}"
+          when: password_algorithm == "yescrypt"

         - name: Create sha512 password hash
           vars:
             salt: "{{ lookup('password', '/dev/null chars=ascii_lowercase,ascii_uppercase,digits length=16') }}"
           ansible.builtin.set_fact:
-            passwords: "{{ passwords | default([]) | union([item | password_hash('sha512', salt, rounds=65536)]) }}"
-          loop:
-            - 'Ansible Role Test User'
-            - 'Change Ansible Role Test User'
+            passwords: "{{ 'Ansible Role Test User' | password_hash('sha512', salt, rounds=656000) }}"
           when: password_algorithm == "sha512"

+        - name: Print passwords
+          ansible.builtin.debug:
+            msg: "{{ passwords }}"
+          when: passwords
+
     - name: Create test user
       become: true
       ansible.builtin.user:
         name: roletestuser
-        password: "{{ passwords[0] }}"
+        password: "{{ passwords }}"
         state: present
         shell: /bin/bash

-    - name: Change test user password
+    - name: Get test user password
       become: true
-      ansible.builtin.user:
-        name: roletestuser
-        password: "{{ passwords[1] }}"
-      register: test_user_pass
+      ansible.builtin.command:
+        cmd: grep roletestuser /etc/shadow
+      register: roletestuser_pass
+      changed_when: false

-    - name: Debug test user password
+    - name: Print test user
       ansible.builtin.debug:
-        msg: "{{ test_user_pass }}"
+        msg: "{{ roletestuser_pass.stdout }}"

Thanks again!


Subtitles does not show up while in fullscreen.

This is a browser limitation, since I'm using the default HTML video player the browser provides. You can use F11 and hide the sidebar though with 'B' if you want though. Gets the same effect as fullscreen.


Unexpected error due to failing unique constaint in SQLLite database

Error in Maestral
RuntimeError in .local/lib/python3.6/site-packages/maestral_qt/main.py:535
IntegrityError
View on Bugsnag
Stacktrace
Traceback (most recent call last):
File "~/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1277, in _execute_context
cursor, statement, parameters, context
File "~/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
cursor.execute(statement, parameters)
sqlite3.IntegrityError: UNIQUE constraint failed: index.dbx_id
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint failed: index.dbx_id
[SQL: INSERT INTO "index" (dbx_path_cased, dbx_path_lower, dbx_id, item_type, last_sync, rev, content_hash) VALUES (?, ?, ?, ?, ?, ?, ?)]
[parameters: ('/Bierbrauen/Technik/kleiner_brauhelfer/kb_daten_2.sqlite', '/bierbrauen/technik/kleiner_brauhelfer/kb_daten_2.sqlite', 'id:2hHHRx4nu_YAAAAAAAAzmA', 'File', None, '015b033e0d3f1c300000001a97a5d60', 'bd4e5d0bc09c709275d11924354e1a80661dc0a2914f499429cca20df975a2bf')]
(Background on this error at: http://sqlalche.me/e/13/gkpj)
View full stacktrace
Created by Sam Schott via Bugsnag

fixed in v1.2.1


The valueType is mapped to Boolean if the column type is TINYINT

if the column type is TINYINT, the valueType of the column is mapped to Boolean, when I getValue().toString(), the value is true or false, I want to the value will be returned to the real value.
request.getRow(0).getColumnValue("current_status").getValue().toString();

hi @RanchoLi , thanks for your feedback.
Normally TINYINT should mapped to Number.
Can you send me a small sample to reproduce your issue ?


Nested layouts

It would be nice to be able to do nested layouts, just like jekyll. This is probably a long-shot given layouts are not parsed by Metalsmith, but hey, why not.
# src/index.html
---
layout: default.html
title: Home page
---

---
layout: html5.html
body_class: 'default'
---

...

{{{ contents }}}

<!doctype html>

  <meta charset='utf-8'>
  <title>{{ title }}</title>

  {{{ contents }}}

Nested layouts are possible. But I'd recommend metalsmith-in-place for that. A language like swig (which is supported) does template nesting for example: https://paularmstrong.github.io/swig/docs/#inheritance.

hmm, i guess. shame swig doesn't support partials though :(

Well you could use handlebars and handlebars-layouts. Then you've got both.
Closing, since metalsmith-in-place makes this possible.


Looking for browser object

I'm trying to use this in a nativescript project, and on startup I'm getting the following error: Cannot read property 'browser' of undefined

The only place this project references browser is in the test scripts.   Issue is not in this module.

I'm getting the same issue with this module.
TypeError: Cannot read property 'browser' of undefined JS:     at Object.../node_modules/pbkdf2/lib/default-encoding.js (file: node_modules/pbkdf2/lib/default-encoding.js:3:11) JS:     at __webpack_require__ (file: src/webpack/bootstrap:816:0) JS:     at fn (file: src/webpack/bootstrap:120:0) JS:     at Object.../node_modules/pbkdf2/index.js (file: node_modules/pbkdf2/index.js:4:22) JS:     at __webpack_require__ (file: src/webpack/bootstrap:816:0) JS:     at fn (file: src/webpack/bootstrap:120:0) JS:     at Object.../node_modules/crypto-browserify/index.js (file: node_modules/crypto-browserify/index.js:14:8) JS:     at __webpack_require__ (file: src/webpack/bootstrap:816:0) JS:     at fn (file:///data/data/org.nativescript.D3...

@jbouloux1

Edited your comment to format stacktrace so it's readable
Stack trace does not mention uuid anywhere.  I.e. this ain't our problem.

In the future, please take a bit more time to verify that the first hit Google returns when you search for an error message is actually relevant before commenting.

@jbouloux1 while I 💯% agree with what @broofa said…
This looks like a problem with your webpack resolve.mainFields config: Apparently you are bundling for the browser but webpack seems to be using the Node.js variant of this library which causes it to pull in a Node.js crypto polyfill. Please check your webpack config.


Fix/some type hints

Better type hints.

What is the motivation for those changes?

What is the motivation for those changes?

Seems to be for python 3.7 support. :) I personally welcome this effort! :+1: At least until we officially drop support for 3.7. What do you guys (asyncio-mqtt authors/maintainers) think? It is a step backwards so an alternative to this PR is to drop support for old versions of python.
@vvanglo thanks for another great PR! We (the authors/maintainers) have to align on the direction first.

I think this is a general method of type hinting, whether it is python3.7 or later.  And the delay detection is removed. Personally, I don't like to use delay detection very much.

There is another motivation because of this. 😄
Tips for pylance in vscode:

What do you guys (asyncio-mqtt authors/maintainers) think?

I'm not a good authority on typing because I don't use it that much, I'm fine with both versions 👍
Apart from that, Python 3.7 is almost at end-of-life so I think it's reasonable to drop support as well if it's extra effort for us.

There is another motivation because of this. smile Tips for pylance in vscode:

It should just not be split into multiple lines.

There is another motivation because of this. smile Tips for pylance in vscode:

It should just not be split into multiple lines.

Beautiful misunderstanding😂

I think this is a general method of type hinting, whether it is python3.7 or later

I wish that was true! However, the "recommended" approach to type annotations change depending on the target python version. At least in my opinion. Here is an quick primer:
Untyped (python 3.4 and below)
self._pending_subscribes = {}

Typed (python 3.5; when we first got the typing module)
import paho.mqtt.client as mqtt
import asyncio
from typing import Dict, List, Tuple  # These were deprecated in 3.9 in favor of `dict`, `list` and `tuple`.
from typing import Union

self._pending_subscribes: Dict[int, asyncio.Future[Union[Tuple[int, ...], List[mqtt.ReasonCodes]]]] = {}

Quite verbose! 😅
Typed (python 3.9; built-ins now supports subscripting via [])
import paho.mqtt.client as mqtt
import asyncio
from typing import Union

self._pending_subscribes: dict[int, asyncio.Future[Union[tuple[int, ...], list[mqtt.ReasonCodes]]]] = {}

Looks a bit more natural but still quite verbose.
Typed (python 3.10; Unions via |)
import paho.mqtt.client as mqtt
import asyncio
from typing import Union

self._pending_subscribes: dict[int, asyncio.Future[tuple[int, ...] | list[mqtt.ReasonCodes]]] = {}

This is the state of the art. :) At least as far as I know. 😅
Sooo, if we want to do state-of-the-art typing, we need Python 3.10 and above. Dropping support for python 3.7 alone doesn't really give us much in term of typing.
We can do tricks to get new-style type annotations in older python versions. E.g., to wrap the annotations in strings.
Basically, what I see that this PR accomplishes is to make asyncio-mqtt compatible with python 3.7 via the use of old-style (e.g., pre-3.9) typing. I say 3.7 (and not 3.5) because we use other, non-typing features of 3.7 so that's the minimum version as of now.
Am I missing something or is this the intend of this PR? :) Let me know if I'm wrong!

And the delay detection is removed. Personally, I don't like to use delay detection very much.

What do you mean by this mean? :) I can't find the relevant code change (it's all typing related).

Yes, I went and read PEP585 and currently the project is using the latest type hinting methods from py39 upwards.
List and Dict in typing will be removed until the end of py39 life. At least this is the plan in the PEP585 proposal.
At present, there are still types such as List Dict Union in py37-11, So I say this is a general type hint.
I call it latency detection:
from __future__ import annotations

I call it latency detection:
from __future__ import annotations

Ah, now it makes sense. I guess that we used it as a workaround. That is, so we can have nice, state-of-the-art typing (ala 3.9 and above) while being backwards-compatible with 3.7. It's not consistent though. I wonder if from __future__ import annotations has the same effect (gives us backwards compatibility but without the strings). That would be a lot cleaner!

from __future__ import annotations
Importing it only works in this case:

Import it and include type hints with strings to make some higher version hints available for lower versions.
But this is only for static type checking, Doesn't work at runtime.
It is explained in this article: https://dev.to/tiangolo/the-future-of-fastapi-and-pydantic-is-bright-3pbm

Refer to:

https://peps.python.org/pep-0563/
https://peps.python.org/pep-0649/

Thanks for linking the tiangolo article. I remember when I first saw that issue on the pydantic bug tracker way back.

But this is only for static type checking, Doesn't work at runtime.

Doesn't work if you do advanced stuff like declaring the class inside a function. For our use case of "runtime types" via dataclass it works just fine. That's because we declare our dataclasses on the top level (globally).
In any case, I vote that we (asyncio-mqtt team):

Use starte-of-the-art type annotations as per the python 3.10 style (this is the status quo).
Keep from __future__ import annotations to be backwards compatible with earlier python versions (below 3.10)
On a case-by-case basis: Wrap our type annotations in strings to make IDEs, type checkers, linters, etc. happy.

@JonathanPlasse and @empicano: What do you think?
On the issue of runtime tying
There is no runtime problem for us (asyncio-mqtt) because we have a simple use case for runtime typing: top-level dataclasses. E.g.:
@dataclass(frozen=True)
class TLSParameters:
    ca_certs: str | None = None  # python 3.10 style type annotations
    ...

I just did a test on python 3.7 to verify that the type hints are indeed backwards compatible:
fpa@sbt-fpa-desktop1:/projects/asyncio-mqtt$ poetry run python -c "import sys; print(sys.version); from asyncio_mqtt.client import TLSParameters; x = TLSParameters(ca_certs='something'); print(x)"
3.7.16 (default, Dec  7 2022, 01:12:19)
[GCC 9.4.0]
TLSParameters(ca_certs='something', certfile=None, keyfile=None, cert_reqs=None, tls_version=None, ciphers=None, keyfile_password=None)

It works! Python 3.7 magically understands the 3.10-style type hints. Honestly, I don't understand why (I can't find any mention in the python changelog for 3.7x) but I'm glad it works.
If I remove the from __future__ import annotations like, I get the expected error:
fpa@sbt-fpa-desktop1:/projects/asyncio-mqtt$ poetry run python -c "import sys; print(sys.version); from asyncio_mqtt.client import TLSParameters; x = TLSParameters(ca_certs='something'); print(x)"
3.7.16 (default, Dec  7 2022, 01:12:19)
[GCC 9.4.0]
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/projects/asyncio-mqtt/asyncio_mqtt/__init__.py", line 3, in <module>
    from .client import (
  File "/projects/asyncio-mqtt/asyncio_mqtt/client.py", line 58, in <module>
    @dataclass(frozen=True)
  File "/projects/asyncio-mqtt/asyncio_mqtt/client.py", line 60, in TLSParameters
    ca_certs: str | None = None
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

The CI runs for all current Python versions.
It works on Python 3.7 because the types are never evaluated as types but as strings.

It works on Python 3.7 because the types are never evaluated as types but as strings.

Still doesn't explain why the 3.10 style type hints work for the runtime dataclasses in 3.7. I mean, the dataclass must inspect the type (stringified or not) to deduce how to parse it's arguments. It does work in 3.7 but it's an undocumented feature as far as I can see. :)

All annotations with from __future__ import annotations become strings.
Dataclasses do not generally inspect types https://docs.python.org/3/library/dataclasses.html#class-variables.

Ah, you're right. 👍 I thought dataclasses where more pydantic.BaseModel-like than they actually are. 😅 Now it all makes sense. :)


How to add an image on notification

This used to work, displays text only now.

Try this on your Renderer process
let notification = new Notification('Fancy Title', {
  body: text,
  icon: img
});

Notification.Icon


run e2e tests in the gh action's container, instead of on preview

Codecov Report

Merging #477 (1d9ece2) into main (df7d1c6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #477   +/-   ##
=======================================
  Coverage   96.52%   96.52%
=======================================
  Files          29       29
  Lines         317      317
  Branches       71       71
=======================================
  Hits          306      306
  Misses         11       11

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 df7d1c6...1d9ece2. Read the comment docs.


Mark types conforming to FileSystem as Sendable

None of these types store internal mutable state, so this should be safe. This resolves some of the sendability warnings that we currently have.

@swift-ci smoke test

@swift-ci smoke test


Getsockname Error on any SSL connection

Dear Espressif team
With my ESP32_DevKitC and the actual AT-Command set the SSL handling is not working at all (independent with or without certificates). Connection gives back a successfull connection (and with Wireshark I can confirm the connection succeeded) but then the AT-Stack somehow internaly doesn't handle the connection any more. With AT+CIPSTATUS there is no connection listed and Status:4 is sent back.
In monitor console I see the message Getsockname Error! when connecting. Opening a plain TCP connection with AT+CIPSTART works and I get the connection status with AT+CIPSTATUS
Probably there is a routing issue in AT-Library when distinguish between SSL/MbedTLS and TCP LWIP.
I think it could be related to issue #229.
Here are the commands to try (it happen to all SSL / TLS connections with or without certificate so it is realy a systematic problem which is 100% reproducable and therefore likely easy to fix):
-> WIFI CONNECTED, WIFI GOT IP (WIFI connection is made wand working)
AT+CIPSSLCCONF=0
->OK (No certificate needed at All)
AT+CIPSTART="SSL","espressif.com",443,120
->Connect (Monitor Console: Getsockname Error!)
->OK (I can confirm with wireshark, the connection succeeded)
AT+CIPSTATUS
->STATUS:4 (No Connection made, but connection is still there, I can see it in Wireshark)
AT+CIPSEND=10
->Error (link not valid in monitor console, but connection is still there, I can see it in Wireshark)
Please fix this soon since a working TLS connection is an essential part of using ESP32 in our (and I guess in other) product. Thank you in advance

Last release fixed it. Thx


no-unused-expression gives lint error on expressions like o && o.foo()

Bug Report

TSLint version: 3.13.0
TypeScript version: 1.8.10
Running TSLint via: CLI

TypeScript code being linted
  let el: ng.IAugmentedJQuery;
  ...
  afterEach(() => {
    el && el.remove();
  });

with tslint.json configuration:
{
    "rules": {
        "no-unused-expression": true
    }
}

Actual behavior
test.ts[67, 5]: expected an assignment or function call - on the line el && el.remove();
Expected behavior
I expected this to not produce any errors. It seems like a valid usage and perfectly readable.

Something like a && <call expression> or even a && b && ... && <call expression> are easy to fix.
@adidahiya, @JKillian is there any need for support of a || <call expression> or different combinations with parenthesis something like (a || required('a')) && (b || required('b'))?

It's a little tricky, because someObj.someFunc() may not have side-effects and the expression may actually be unused. However, I'd okay with a feature that allows the use cases you mentioned above @IllusionMH.
(Sidenote: what's the correct term for a function that is without side-effects but not necessarily pure?)

Fixed with #1638 - allow-fast-null-checks option added.


[docs-infra] Fix React Compiler ESLint issues in website components

Part of https://github.com/mui/material-ui/issues/42564
Fixes or silences errors reported by eslint-plugin-react-compiler in the website components.
Apart from that, add a missing React key.
How to test
Make sure the parts of the docs that are affected by the changes work as expected. Half of the changes are just silencing the corresponding ESLint rule.

Looking into the reported ESLint errors:

Definition for rule 'react-compiler/react-compiler' was not found  react-compiler/react-compiler

We use the --report-unused-disable-directives ESLint flag so we can't disable rules that are not configured and we only enable the eslint-plugin-react-compiler manually on local development for now.

I've pushed a change commenting the ESLint disable comments for the react-compiler rules e.g.
- // eslint-disable-next-line react-compiler/react-compiler -- useEnhancedEffect uses useEffect under the hood
+ // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- useEnhancedEffect uses useEffect under the hood

We can't have disabled rules that are not configured because we use the --report-unused-disable-directives ESLint flag.


check zombie build in queue

Codecov Report

Merging #50 (0d01724) into master (714083c) will not change coverage.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##           master      #50   +/-   ##
=======================================
  Coverage   67.87%   67.87%
=======================================
  Files          18       18
  Lines         937      937
=======================================
  Hits          636      636
  Misses        301      301

Flag
Coverage Δ

integration
67.87% <50.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

api4jenkins/queue.py
66.66% <0.00%> (ø)

api4jenkins/__version__.py
100.00% <100.00%> (ø)

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 714083c...0d01724. Read the comment docs.


Update the userSettings format

We don't want to read old electrum settings from the old plugin, since those won't work. We also want to change disableFetchingServers into the less-confusing enableCustomServers.

/autosquash


ARROW-4885: [WIP][C++/Python] Enable Decimal parsing in CSV

Create a new Decimal128 converter in csv (copies some code for eliminating white space, please let me know if this should be factored out).
Add python unit test
Refactor Decimal128::FromString to eliminate string copies.  A side effect of this is that the exponent is always parsed, (before it was only validated as digits if scale wasn't requested) but I think most real world use-cases will probably trigger this code path anyways.

Codecov Report

Merging #4660 into master will increase coverage by 0.56%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4660      +/-   ##
==========================================
+ Coverage   88.38%   88.95%   +0.56%
==========================================
  Files         904      713     -191
  Lines      112252    97095   -15157
  Branches     1420        0    -1420
==========================================
- Hits        99216    86372   -12844
+ Misses      12674    10723    -1951
+ Partials      362        0     -362

Impacted Files
Coverage Δ

python/pyarrow/tests/test_csv.py
98.34% <100%> (ø)
:arrow_up:

cpp/src/arrow/csv/converter-test.cc
100% <100%> (ø)
:arrow_up:

cpp/src/arrow/csv/converter.cc
96.72% <100%> (-1.02%)
:arrow_down:

go/arrow/ipc/writer.go

go/arrow/math/uint64_amd64.go

go/arrow/memory/memory_avx2_amd64.go

go/arrow/ipc/file_reader.go

js/src/builder/index.ts

js/src/enum.ts

... and 187 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 ba4e0f3...86e03f9. Read the comment docs.


Some broken links

While looking around, i made two observations you might want to take a look at: first is i was having issues with the demo on thr website. When i click send, it says "page not found,
and the second is that the docs link in the "official links" channel seems broken. It also says "page not found"

cc: https://discord.com/channels/@me/1221614372284006481/1222293529741492256

Fixed


Failed to run InferAnalyze binary, exiting When the infer run

On  unbuntu ,I git clone the source code ,and updated the bashrc for Infer
I met "Failed to run InferAnalyze binary, exiting" and the infer run fail
and How can I do static analysis the android code with android eclipse project
Thanks~

Hello @oatsuper,
About the "Failed to run InferAnalyze binary, exiting" error, you have to compile the binaries of Infer first, please follow the instructions here.
About Eclipse, there's no plugin to run Infer from the UI, but you can still run Infer on your source code through the command-line. If your project builds with gradle, and the task to build it is build, then you can simply run the following command:
infer --incremental -- gradle build

Same rule applies to other build systems like buck, maven, ant and make.
Thanks.

Thanks you very much~

Feel free to open this issue again if the problem persists.
Thanks!

Still getting this same error.

@igorcanadi what steps did you follow to compile infer? Also, there's no need to comment on multiple closed issues.

I followed every single step I could find about Infer.  Installed
everything.  And yes, comments need to happen on multiple issues until
problem is resolved.
On Mar 7, 2016 6:44 AM, "Jules Villard"<EMAIL_ADDRESS>wrote:

@igorcanadi https://github.com/igorcanadi what steps did you follow to
compile infer? Also, there's no need to comment on multiple closed issues.
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/infer/issues/198#issuecomment-193217488.

Can you be more specific about the steps you followed? For instance, did you run ./build-infer.sh successfully? What version of Infer are you trying to use?
I disagree that comments should be posted on several issues, because one issue should correspond to one problem only. The symptoms may be the same (eg, "it crashes"), but the causes are likely to be different.

Multiple issues were found through Google search engine pointing at the
same error.  Yea, I ran the commands you are specifying, trying to use
latest version of Infer last night.
On Mar 7, 2016 7:27 AM, "Jules Villard"<EMAIL_ADDRESS>wrote:

Can you be more specific about the steps you followed? For instance, did
you run ./build-infer.sh successfully? What version of Infer are you
trying to use?
I disagree that comments should be posted on several issues, because one
issue should correspond to one problem only. The symptoms may be the same
(eg, "it crashes"), but the causes are likely to be different.
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/infer/issues/198#issuecomment-193231249.


Silences docker-machine env command on Windows.

Fixes #3232.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "env-silent-in-cmd" git@github.com:AndreLouisCaron/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "env-silent-in-cmd" git@github.com:AndreLouisCaron/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Nice catch @AndreLouisCaron. Haven't thought about that once adding the cmd support. LGTM.

LGTM


Split does not take effect in the newest jupyterlab 4.1.2

In the newest jupyterlab 4.1.2, the cell metadata is changed, but the visual effect does not show:

@parmentelat Please check if you have the same issue :) Some of my extensions have unexpected displaying behavior too...

hey @firezym
now that you mention it I do see this problem in some of my virtual envs too
I won't be in a position to closely look into this in the very near future, but what I have seen on one failing instance is

the css class is properly set by jupyterlab-celltagsclasses
however the corresponding css rule does not seem to have been loaded
and curiously enough - this might be a red herring but it's troubling - I see at least one other rule being applied twice - see attached; the level_intermediate thingy is a tag/class defined in another extension that also uses jupyterlab-celltagsclasses

because all the css files show up as simply base.css it's hard to see at first glance what's going on; however I would start with rebuilding the jupyter lab app just in case it helps ?

@parmentelat thanks! There is some important bug fix updates in jupyterlab 4.1.12. Do we really need to rebuild the gridwidth app? I think this broken thing issue is universal for a lot of extensions. Should we submit such issues to the jupyterlab repo?

this should be fixed in version 0.3.0 to be reeased shortly

It's available right away at pypi

I did not see any code change in this repo. Is it open source or does it just need a repack on the most recent jupyterlab extension backbone?

hey - sorry I had not pushed the recent commits - that's done now
however the latest release has been published on pypi a few days ago
https://pypi.org/project/jupyterlab-gridwidth/


[core] Add support for universal binaries

Is your feature request related to a problem? Please describe.
The only way to distribute a platform-independent artifact with JReleaser is currently by using a distribution of type BINARY. This works fine as long as no packager is used, which then requires the use of a platform, which makes the configuration a little bit confusing (why use a platform in case of a platform-independent artifact?).
Describe the solution you'd like
It would be nice if JReleaser would provide some sort of UNIVERSAL distribution type, which describes a platform-independent distribution.
For such a distribution, packagers would no longer require a platform.
Describe alternatives you've considered
I've used the BINARY distribution type and set the platform to osx-x86_64 so that the Homebrew packager no longer complains.
Additional context
https://github.com/sdkman/sdkman-cli/pull/1070

I think the current restriction should stay in place however perhaps it could be bypassed by setting an extra property such as
distributions:
  app:
    type: BINARY
    artifacts:
      - path: target/distributions/{{distributionName}}/{{distributionName}}-{{projectVersion}}.zip
        extraProperties:
            universal: true

WDYT @helpermethod ?


TypeScript/JavaScript Doublets Adapter via GraphQL client

500 RUB reward can be claimed by anyone who completes this task.
This adapter should provide standard Doublets CRUD operations API in the native to JavaScript code style (the most commonly used one).
The libraries' architecture should take in account the ability to swap GraphQL with a native library that will be shipped later (when we finish translation to C++).
The GraphQL client layer should be usable separately as well as native to JavaScript's API.
It should be made as package for NPM.

@Konard via WebAssembly?

@uselessgoddess it is not required to use WebAssembly, but if you feel it can be useful, you can try it.

https://github.com/deep-foundation/deeplinks/blob/main/imports/client.ts - looks like this client is exactly what we need.


Add support for issue severity.

It would be nice to have a feature which only opens tickets with a certain severity (i.e critical, high, and medium).

is there any way to achieve this right now?

Any updates on this? Seems like very crucial and basic functionality


multiple forwards on a post

Multi-way Forward Splits for Posts
This PR is to address #399, namely allowing users to configure zaps/sats forwarding on posts to up to 5 users, not just 1 user.
Approach taken:

Introduce a "ItemForward" model that represents the forwarding of a specific percentage of sats from a particular post to a particular user. There can be up to 5 forward entries for each post
Remove the existing "fwdUserId" field on the Item model (migrate existing forwards to the new model as part of the DB migration script)
When items and polls are created and updated, ItemForward entries are created/updated accordingly.
When a zap occurs on a post with a forwarded item, the item_act function will distribute sats accordingly, based on the forward rules configured.
If not 100% of sats are forwarded to other users, the remaining sats go to OP of the post.
Referral bonuses are applied to forwarded sats, as they were before. The forward percentage scales the referral bonus accordingly.
Forward percentages must be specified in integer amounts, the sum of all forward percentages for an item must be 0<=sum<=100

I think most of the changes are pretty straight-forward, aside from the updated queries in the wallet history resolver. Those were a pain.
There's probably more to call out, but that's the highlights. Happy to answer questions, refactor, etc.

@huumn I've got one more place to remove the existing fwdUserId usage (api/resolvers/wallet.js), but the rest is looking pretty good. I want to spend some time polishing the PR, especially the UI, but I wanted to check on one thing:
As I was updating the item_act function, I ran into the referral functions and wasn't sure how we wanted to handle them with multi-way forwarding now. If I follow the existing code correctly, it looks like we apply referral bonuses to OP if no forwarding is in place, or the forwarded user if they exist. Do we want to follow that pattern still?

As a follow up, I went ahead and maintained the current referral functionality, meaning referral bonuses will get paid out for the referrer of each forwarded user, according to their forward percentage. So it should be basically the same as it is now, just with multi-forward support.

The general referral rule is the referrer gets 21% of SN's fee (which is 10% and you identify as 2.1% of the tip amount). If we need to make an exception for forwards we can (it's not super deduper common to forward although I'm sure this will increase its usage). Implementer's choice!
btw been following along and it looks great!

Hot dog! I'm looking forward to getting this merged.
I'm going to start blocking off sat/sundays for code review so I should have feedback (or just merge this) by then.

As I said on SN, these changes are solid and I'm really impressed with how well you handled our quirky code. You made all the postgres stored procedure stuff look easy. I'm very excited to get this merged - so many people have asked for this over the SN's short life.
I left some line by line feedback that you can choose to ignore if you want
Most of it is last mile stuff; contextual performance stuff and opportunities for code consistency/reuse, etc.
If you choose I can take it the last mile if you want. Let me know.

Thank you for the kind words and the detailed feedback!
I'll go through each item and address them. If I leave any unaddressed, I'll let you know in the corresponding comment thread.

OK, I think I addressed everything aside from combining the satistics queries.
I did some refactor on the UI to use the VariableInput component. I do think this UX is much better now.
Let me know if there's anything else that needs attention! 🙏

Hot Dog! I'll probably merge this and the other pr today.

I'm not going to be able to get this merged today. I most went through and refined the UI.
I was able to dropkick one of those subqueries in satistics. Still trying to figure out if I can get it to one query in a readable way.
Otherwise, I mostly just need to do a more thorough test of everything and maybe add some db constraints.

I'm still messing around with postgres stuff a little. Busy day. Last leg.

Okay, I think this good enough to merge (there's a few remaining issues that are merely nice-to-haves). @ekzyis would you mind giving it a once over and a little q&a too?
It touches the wallet and I want to be extra sure.
Great work @SatsAllDay!

I'm going to merge to proceed with other work, but please do a pass @ekzyis when you get a chance.


fix(monitoring): remove datasource hardcode (#256)

Described here: https://github.com/dragonflydb/dragonfly-operator/issues/256#issuecomment-2556772429
These changes will allow grafana to select datasource of type prometheus automatically

The formatting is broken due to mixing tabs and spaces =( But overall the whole file is crooked, I would suggest formatting according to the standard, but that's up to you


npm 6.13.4 and node 12.13.1

same error occured ,i try to solve upto 5hours,can u help to me solve this problem.

Please fill out the issue template.


Fully statically linked skyscope binary

This uses rules_haskell's capability for fully static linking together with static libraries and an appropriate GHC provided by static-haskell-nix and patched as described in this blog post.
A build on Linux confirms that the resulting library is fully static and is functional.
$ file bazel-bin/backend/skyscope
bazel-bin/backend/skyscope: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped

What's missing to be able to merge this is (at least) to have the appropriate GHC, GCC, zlib, etc. in a Nix cache.
Warning: If you test this locally this will build GHC via Nix. You can use a remote builder configured in /etc/nix/machines to speed it up.
cc @nh2 @jonathanlking

This is awesome, thanks!

What's missing to be able to merge this is (at least) to have the appropriate GHC, GCC, zlib, etc. in a Nix cache.

Even having to build GHC etc in full, the convenience of distributing a single statically linked binary is worth it IMO.


Investigate - 10MB file transfer from gcs to redshift is taking too much time

Describe the bug
Currently, the data transfer from GCS to Redshift is taking too much time.
For a 100KB file time taken was 6min
For the 10Mb file Process was getting killed.
Version

Astro: [1.0.2]

To Reproduce
Steps to reproduce the behavior:

Update the conf.json file with the datasets of size 10MB/100kb and database to redshift
run run.sh in terminal

Expected behavior
Data should load in a reasonable time and the process shouldn't be killed.

Is it still the case @utkarsharma2 ?


Create Homebrew formula

To ease adoption and installation on MacOS computers, it would be most helpful to be able to install tgenv via Homebrew (much like tfenv).
Consider publishing a Homebrew formula, either under homebrew-core, or even a separate tap.

Ah never mind, looks like there's a Homebrew formula for tgenv here: https://github.com/alextodicescu/homebrew-tgenv

(Closing as not-an-issue)


Improve author's name parsing

Make the code accept the same keys as Inara:
authors:
  - name: John Doe
    affiliation: '1'
  - given-names: Ludwig
    dropping-particle: van
    surname: Beethoven
    affiliation: '3'
  # not recommended, but common aliases can be used for name parts.
  - given: Louis
    non-dropping-particle: de
    family: Broglie
    affiliation: '4'

authors:
  - name:
      given-names: Kari
      surname: Nordmann
  - name:
      literal: 立花 瀧
      given-names: 瀧
      surname: 立花

Resolved by the 1.3.6 release


Recording positions

Hi, first of all thanks for the work!
I want to record the robot pose while "teaching", is there a suggested way or examples on how to do this with panda-py?
I currenly am getting the the pose with panda.get_robot().read_once().O_T_EE

Hi there!
There is a teaching mode that can be activated by calling panda.teaching_mode(True). This will basically only run gravity compensation and allows you to move the robot freely, similarly to the built-in guiding mode. There are also short-hands to read the joint positions or pose, i.e. panda.q and panda.get_pose(). The later will directly return a 4 by 4 numpy array representing the end-effector pose. However, all the short-hands as well as panda.get_state()are only updated while controllers, motion generators or teaching mode is active. By calling read_once directly, the current state will be retrieved, even without an active controller.
I added a simple example to show how to simply read positions and record a trajectory and play them back. The example is in joint space but the same principle applies to Cartesian poses.

That's great, many thanks!

Thanks for your great work! Now my robot is holding a extra load, how can I  compensate the gravity of the load when doing teaching? Then when I am doing the impedance control, how can I change the impedance?

You can set the load by calling Panda.get_robot().set_load(). This function uses the libfranka interface to set the end-effector load, i.e. mass, COM and inertia matrix. This is applied while running all controllers - including teaching mode and impedance control. Impedance for the CartesianImpedance controller can be set in the constructor or by calling CartesianImpedance.set_impedance(). However, if properly configured, you shouldn't need to adapt the impedance to compensate the load.

Hi @JeanElsner,
thanks for the great work!
robot = panda_py.Panda(hostname)
robot.read_once()

I get
INFO:panda:Connected to robot (<IP_ADDRESS>).
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[75], line 2
      1 robot = panda_py.Panda(hostname)
----> 2 robot.read_once()

AttributeError: 'panda_py._core.Panda' object has no attribute 'read_once'

For the gripper, read_once works as expected.
I installed panda_py via pip.
Thank you for a hint how to call read_once() to get a current robot state.
Best,
Jan

Hi @JeanElsner,
thanks for the great work!
robot = panda_py.Panda(hostname)
robot.read_once()

I get
INFO:panda:Connected to robot (<IP_ADDRESS>).
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[75], line 2
      1 robot = panda_py.Panda(hostname)
----> 2 robot.read_once()

AttributeError: 'panda_py._core.Panda' object has no attribute 'read_once'

For the gripper, read_once works as expected.
I installed panda_py via pip.
Thank you for a hint how to call read_once() to get a current robot state.
Best,
Jan

I found my mistake: It should be:
robot = panda_py.Panda(hostname)
state = robot.get_robot().read_once()

Hi, regarding my first question, while panda.teaching_mode(True) works great, it can be useful to take advantage of the guiding mode settings in the desk programming mode and then use read_once() to retrieve the current robot configuration. While I can set guiding modes programmatically through the robot interface and set execution vs. programming mode in the Desk UI , are you aware if it possible to switch between these modes using the Desk object?


_zsh_autosuggest_strategy_match_prev_cmd:17: bad math expression: operator expected at ...

To reproduce, start typing: echo $(basename $PWD)
$ echo $(basename $P
_zsh_autosuggest_strategy_match_prev_cmd:17: bad math expression: operator expected at `$(basename...'
$ echo $(basename $PP

this is the same problem as with #247 .  I have a possible solution there.

Should be fixed on develop.


run: diener upgrade --substrate --branch polkadot-v.9.26 && cargo update

Don't merge

Closing this as it will not be merged.


Something Broke - Chrome Extension no longer working

@jacobamiller I started looking into this, but I cannot (despite multiple attempts) replicate this on my end. It could be that I'm missing something that is unique to your usage that is breaking it for you, but not for me. So, a few questions / things to verify:

Does the URL of the profile you are on start with https://www.linkedin.com/in/?
Have you recently installed any new extensions in Chrome? If so, does disabling them fix the issue with mine?
Is there anything "special" about the profile you are on? Is it someone that has a mostly private profile and you are not connected with them?

@jacobamiller I started looking into this, but I cannot (despite multiple attempts) replicate this on my end. It could be that I'm missing something that is unique to your usage that is breaking it for you, but not for me. So, a few questions / things to verify:

Does the URL of the profile you are on start with https://www.linkedin.com/in/?
Have you recently installed any new extensions in Chrome? If so, does disabling them fix the issue with mine?
Is there anything "special" about the profile you are on? Is it someone that has a mostly private profile and you are not connected with them?

Does the URL of the profile you are on start with https://www.linkedin.com/in/?
--- Yes, standard profile
Have you recently installed any new extensions in Chrome? If so, does disabling them fix the issue with mine?
----No, not that I'm aware of maybe in the background
Is there anything "special" about the profile you are on? Is it someone that has a mostly private profile and you are not connected with them?
--- No nothing special and tried on 10 others

I just uninstalled, rebooted, and re-installed now it is working back as normal, not clear what happened

Does the URL of the profile you are on start with https://www.linkedin.com/in/?
--- Yes, standard profile
Have you recently installed any new extensions in Chrome? If so, does disabling them fix the issue with mine?
----No, not that I'm aware of maybe in the background
Is there anything "special" about the profile you are on? Is it someone that has a mostly private profile and you are not connected with them?
--- No nothing special and tried on 10 others

I just uninstalled, rebooted, and re-installed now it is working back as normal, not clear what happened

Huh, interesting. Off the top of my head, there are a number of things that could have caused a temporary glitch like that, and some of them could be hyper-isolated to your account (for example, if LinkedIn rate-limited your account for certain API endpoints that I use).
I'm going to close this issue, since it is back to working for you, but of course feel free to re-open this (or create a new issue) if you encounter difficulties again. I'll also work on some standard troubleshooting steps I can provide you (or other users) if this happens again.

Huh, interesting. Off the top of my head, there are a number of things that could have caused a temporary glitch like that, and some of them could be hyper-isolated to your account (for example, if LinkedIn rate-limited your account for certain API endpoints that I use).
I'm going to close this issue, since it is back to working for you, but of course feel free to re-open this (or create a new issue) if you encounter difficulties again. I'll also work on some standard troubleshooting steps I can provide you (or other users) if this happens again.


Use detached JavaMail plugin

Downstream of #335 and jenkinsci/jenkins#6165. Bumps the baseline to one containing jenkinsci/jenkins#6165, thus using the detached JavaMail plugin, but does not upgrade to Jakarta Mail.

I've marked this as ready for review because the PR is complete, but I'm not in any rush for this to be merged due to the bump in Jenkins baseline. I just wanted to file the PR to close the loop on remaining tasks regarding detaching JavaMail.


Adding Net Standard 2.0 compatibility

To increase the adoption and support to SDKs like Semantic Kernel is very desired to also have support for netstandard 2.0.
This is an initial suggestion, the implementations might be improved for best performance.
Resolves #382

I was about to submit a PR to similarly add a netstandard2.0 target. It's important to have.

cc: @luisquintanilla

@baijumeswani let me know what I might be missing from the pipeline side, getting 401 errors.

CI should pass now after manally adding upstream dependencies to
https://aiinfra.visualstudio.com/PublicPackages/_artifacts/feed/ORT-Nightly
If not, keep adding the missing dependencies with the correct version indicated in the build log.

Thanks for the contribution. :)


[BUG]: Pen Drawing not working after selecting Shapes #188

Issue Title: [BUG]: Pen Drawing not working after selecting Shapes
resolve issue: #188
Type of change ☑
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist: ☑

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added things that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

How Has This Been Tested? ⚙
Tested with localhost

https://drive.google.com/file/d/138D52M1Wy5YrdO3fhZgrkrLVPsJL06qc/view?usp=sharing
@singodiyashubham87  check out PR and let me know feedback

@Prithwi32 Resolve conflicts.

@singodiyashubham87 check ot out now...resolved conflicts

@Prithwi32 The "+" & "-" buttons are not working in your PR, fix them.

@Prithwi32 The "+" & "-" buttons are not working in your PR, fix them.

Yes..I fixed now, could u check now

@Prithwi32 Well Done, Keep contributing :)


Release notes after update not up-to-date

I already saw this when 1.2 was released, but thought it was only a temporary glitch.
So after an update the release notes are shown, but since 1.2 they aren't updated.

+1

+1

This is a duplicate of atom/release-notes#39 - please subscribe there for updates.


Fixed multi pipeline artifact download.

        if (string.IsNullOrEmpty(downloadParameters.ArtifactName))

We should get the multi-vs-single as a separate options/parameter rather than depending on name being empty
I am fine if this kind of check happens in Task/Presentation layer to pass that option (to keep UI same)

Refers to: src/Agent.Plugins/PipelineArtifact/PipelineArtifactServer.cs:84 in 4789377. [](commit_id = 478937738a46b067057c641e1990d64d40b1789d, deletion_comment = False)

Is there an ETA on this fix making it into pre-release?

this is already part of 2.149.2 agent.


connect over stdio

This adds stdio as a way to communicate between gvproxy and vm mainly for use with WSL2, although it should work for other cases as well.
When network connections between WSL2 and the Windows host are blocked, stdio is the only reliable way to establish a channel between WSL2 and the Windows host. Hyper-V socket for WSL2 is a possibility, but it requires undocumented APIs and admin privileges.
Related to #139. Related: https://github.com/microsoft/WSL/issues/4131

@sakai135 I understood from others on this repo that they lack context why this is proposed. Perhaps you can add this a little on the technical side?
This is a possible change to allow an easier integration of the needed parts to make the usermode networkstack work for WSL2. Originally an alternative client for wsl+vm was necessary. The only concerns is that performance might be a problem. WDYT?

/approve

What is not clear to me is why this has to go over stdio instead of other channels (some kind of pipe/socket/file descriptor/...). I'm sure there are very good reasons for that, but it would help to state these :)

@cfergeau updated the PR description with the reasons for using stdio

LGTM thanks for the PR
btw I assume the usage of PID is for local and remote addressing is debugging?

Regarding usage of stdio, another longer term option that could be explored in the future would be a reverse ssh forwarded connection to a unix socket (sort of like what we do for API forwarding but flipped)

@n1hility Yes, the local/remote address is just for debugging.

👍

@sakai135 @cfergeau time to cut a new release?

There's another pending PR https://github.com/containers/gvisor-tap-vsock/pull/175


Module 'flutter_native_splash' not found

Logs

❯ flutter doctor -v
[✓] Flutter (Channel stable, 3.3.5, on macOS 12.5 21G72 darwin-arm, locale en-IN)
    • Flutter version 3.3.5 on channel stable at /Users/radiansys/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d9111f6402 (6 days ago), 2022-10-19 12:27:13 -0700
    • Engine revision 3ad69d7be3
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/radiansys/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4)
    • Xcode at /Users/radiansys/Downloads/Xcode.app/Contents/Developer
    • Build 13F17a
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.72.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • 3D524B95-EE05-45B1-8269-9C87F3A95CD9 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 12.5 21G72
      darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome
      106.0.5249.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

@zeeshan-rsys
From what I can see, the issue is related to a 3rd party plugin rather than to Flutter itself. Please open the issue in the dedicated repository.
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments, providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml, a completed and minimal reproducible code sample that does not use 3rd party plugins and I will reopen it.
Thank you!


Implement support for default branches

Fixes #65
Last thing to do here, I think, is add a DefaultBranchConstraint.

The only problem here was fixed in #103, so merging


zathura-pdf-mupdf does not build with version 1.20.0 of mupdf

On GitLab by @CRCulver on Jul 12, 2022, 23:25

zathura-pdf-mupdf builds normally with mupdf 1.19.1. However, when attempting to build it with version 1.20.0 of mupdf, the build fails with the following output:
 build $ ninja
[1/2] Compiling C object libpdf-mupdf.so.p/zathura-pdf-mupdf_search.c.o
FAILED: libpdf-mupdf.so.p/zathura-pdf-mupdf_search.c.o
cc -Ilibpdf-mupdf.so.p -I. -I.. -I/usr/local/include -I/usr/include/json-c -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c11 -g -march=skylake -O2 -pipe -fomit-frame-pointer -fPIC -pthread -DVERSION_MAJOR=0 -DVERSION_MINOR=3 -DVERSION_REV=8 -D_DEFAULT_SOURCE -Werror=implicit-function-declaration -Werror=vla -fvisibility=hidden -MD -MQ libpdf-mupdf.so.p/zathura-pdf-mupdf_search.c.o -MF libpdf-mupdf.so.p/zathura-pdf-mupdf_search.c.o.d -o libpdf-mupdf.so.p/zathura-pdf-mupdf_search.c.o -c ../zathura-pdf-mupdf/search.c
../zathura-pdf-mupdf/search.c: In function ‘pdf_page_search_text’:
../zathura-pdf-mupdf/search.c:44:13: warning: passing argument 4 of ‘fz_search_stext_page’ from incompatible pointer type [-Wincompatible-pointer-types]
   44 |       text, hit_bbox, N_SEARCH_RESULTS);
      |             ^~~~~~~~
      |             |
      |             fz_quad *
In file included from /usr/local/include/mupdf/fitz.h:70,
                 from ../zathura-pdf-mupdf/plugin.h:10,
                 from ../zathura-pdf-mupdf/search.c:7:
/usr/local/include/mupdf/fitz/structured-text.h:248:89: note: expected ‘int *’ but argument is of type ‘fz_quad *’
  248 | int fz_search_stext_page(fz_context *ctx, fz_stext_page *text, const char *needle, int *hit_mark, fz_quad *hit_bbox, int hit_max);
      |                                                                                ~~~~~^~~~~~~~
../zathura-pdf-mupdf/search.c:3:26: warning: passing argument 5 of ‘fz_search_stext_page’ makes pointer from integer without a cast [-Wint-conversion]
    3 | #define N_SEARCH_RESULTS 512
      |                          ^~~
      |                          |
      |                          int
../zathura-pdf-mupdf/search.c:44:23: note: in expansion of macro ‘N_SEARCH_RESULTS’
   44 |       text, hit_bbox, N_SEARCH_RESULTS);
      |                       ^~~~~~~~~~~~~~~~
In file included from /usr/local/include/mupdf/fitz.h:70,
                 from ../zathura-pdf-mupdf/plugin.h:10,
                 from ../zathura-pdf-mupdf/search.c:7:
/usr/local/include/mupdf/fitz/structured-text.h:248:108: note: expected ‘fz_quad *’ but argument is of type ‘int’
  248 | int fz_search_stext_page(fz_context *ctx, fz_stext_page *text, const char *needle, int *hit_mark, fz_quad *hit_bbox, int hit_max);
      |                                                                                ~~~~~~~~~^~~~~~~~
../zathura-pdf-mupdf/search.c:43:21: error: too few arguments to function ‘fz_search_stext_page’
   43 |   int num_results = fz_search_stext_page(mupdf_page->ctx, mupdf_page->text,
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/mupdf/fitz.h:70,
                 from ../zathura-pdf-mupdf/plugin.h:10,
                 from ../zathura-pdf-mupdf/search.c:7:
/usr/local/include/mupdf/fitz/structured-text.h:248:5: note: declared here
  248 | int fz_search_stext_page(fz_context *ctx, fz_stext_page *text, const char *needle, int *hit_mark, fz_quad *hit_bbox, int hit_max);
      |     ^~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

On GitLab by @kaott on Aug 21, 2022, 01:28

Here is a very hacky and simple patch that fixes the this compiling issue with mupdf 1.20 (1.20.3 specifically in my case). add-missing-param.patch It may also be possible to just pass in a NULL, but I didn't investigate the underlying mupdf code to see if that would work. EDIT: I just took the time to double check, and it looks like just passing NULL should work.
I read the API changes in mupdf, but I don't know how to use the information this extra parameter provides in the context of this plugin.

On GitLab by @dschrempf on Aug 18, 2022, 18:01

I get the same error; building on NixOS.

On GitLab by @dschrempf on Aug 18, 2022, 18:05

For reference: https://github.com/NixOS/nixpkgs/issues/187305

The fix was released some time ago. If version 0.3.9 fails to work with mupdf 1.20, please create a new bug report with a detailed build log.

On GitLab by @eliphaz on Sep 26, 2022, 18:21

I've cloned the develop branch for try, but I get the same error @sebastinas

That's fixed on develop already.


fix(reduce): forward index to accumulator

Description:
This PR updates reduce to forward index of an element as same as native reduce operator does.
Related issue (if exists):

closes #2290

Coverage increased (+0.001%) to 97.699% when pulling 30ea6fd565c6cba48594a2b3a34304c3912e6e34 on kwonoj:fix-reduce-index into 31cf2bfa1707e090140cf0091de418720c260677 on ReactiveX:master.


font is not considered (added also solution in comments)

Hi.
Currently the font of label is not considered.
Instead of this
//textStorage to calculate the position
NSTextStorage *textStorage = [[NSTextStorage alloc] initWithAttributedString:self.attributedText];
[textStorage addLayoutManager:layoutManager];
should be this
//textStorage to calculate the position
NSTextStorage *textStorage = [[NSTextStorage alloc] initWithAttributedString:self.attributedText];
[textStorage addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, self.text.length)];
[textStorage addLayoutManager:layoutManager];

Hi, thanks for the contribution. However, isn't the font attribute included in the attributes of attributedText? An attributed string could have different fonts for different parts of texts, I'm afraid is not appropriate to set one single font for the full range.

Hi again.
NSMutableAttributedString * str = [[NSMutableAttributedString alloc] initWithString:@"this is a test string"];
 self.testLabel.attributedText = str;

This is initialization of my label attributed string. As you see i do not provide any font for attributed text.
My label was created on interface builder and has custom font. So in this current case NSTextStorage needs a font attribute of the label.
I am not sure how current solution will behave when attributed text will have font attributes for different parts. But at the same time without this line of code calculations are wrong when no font attributes provided.
[textStorage addAttribute:NSFontAttributeName value:self.font range:NSMakeRange(0, self.text.length)];
Conclusion

Issue is valid
Solution should be retested (may be for covering both cases another solution will be needed ).

Custom font is not working properly: with custom font its working for few font sizes .
Eg - if i use Proxima nova regular then it work with font size less then 15 pixel (for 2 line label) after that tappable area is not working.


[admin] Publish

Docs Build status updates of commit eb7f229:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/add-in-manifests.md
:white_check_mark:Succeeded
View

docs/includes/word-preview-apis-note.md
:white_check_mark:Succeeded
View

docs/reference/manifest/desktopformfactor.md
:white_check_mark:Succeeded
View

docs/reference/manifest/extensionpoint.md
:white_check_mark:Succeeded
View

docs/reference/manifest/functionfile.md
:white_check_mark:Succeeded
View

docs/reference/manifest/getstarted.md
:white_check_mark:Succeeded
View

docs/reference/manifest/runtime.md
:white_check_mark:Succeeded
View

docs/reference/manifest/runtimes.md
:white_check_mark:Succeeded
View

docs/reference/manifest/supportssharedfolders.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/word-preview-apis.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Zipline Using Package.json issue [beta]

Using Package.json, The Core of Any Node.js Project or npm Package
http://beta.freecodecamp.com/en/challenges/managing-packages-with-npm/using-packagejson-the-core-of-any-nodejs-project-or-npm-package
The zipline mentions the following:

If you go to the HyperDev-project that you set up previously

There is only one exercise before this in this certificate and this doesn't mention HyperDev at all.

@forkerino Thanks for helping QA the backend section! We really need more people like you :smile:
This is already being discussed in #13091 so I'm closing this.


Impossible to configure Samsung TV UE49MU6100 via discovery

The problem

Trying to add Samsung Smart TV model UE49MU6100 using the Samsung Smart TV integration. After turning on, the Samsung TV is discovered and reported as new integration to configure. When doing so and immediately after hitting the "send" button in the integration window, an unknown error is reported and a stack trace is added to the log.
Environment

Home Assistant release with the issue:
0.105.2

Last working Home Assistant release (if known):
Did not try with integration previously, however the configuration.yaml based configuration did not work well, either.

Operating environment (Hass.io/Docker/Windows/etc.):
arch | x86_64
dev | false
docker | true
hassio | false
os_name | Linux
python_version | 3.7.6
timezone | Europe/Berlin
version | 0.105.2
virtualenv | false

Integration causing this issue:
Samsung Smart TV

Link to integration documentation on our website:
https://www.home-assistant.io/integrations/samsungtv/

Problem-relevant configuration.yaml

(none)
Traceback/Error logs

homeassistant | 2020-02-10 17:54:23 ERROR (MainThread) [aiohttp.server] Error handling request
homeassistant | Traceback (most recent call last):
homeassistant |   File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
homeassistant |     resp = await task
homeassistant |   File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
homeassistant |     resp = await handler(request)
homeassistant |   File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
homeassistant |     return await handler(request)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
homeassistant |     return await handler(request)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 72, in ban_middleware
homeassistant |     return await handler(request)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 135, in auth_middleware
homeassistant |     return await handler(request)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 123, in handle
homeassistant |     result = await result
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 160, in post
homeassistant |     return await super().post(request, flow_id)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 50, in wrapper
homeassistant |     result = await method(view, request, *args, **kwargs)
homeassistant |   File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 89, in post
homeassistant |     result = await self._flow_mgr.async_configure(flow_id, data)
homeassistant |   File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 130, in async_configure
homeassistant |     result = await self._async_handle_step(flow, cur_step["step_id"], user_input)
homeassistant |   File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 172, in _async_handle_step
homeassistant |     result: Dict = await getattr(flow, method)(user_input)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/samsungtv/config_flow.py", line 170, in async_step_confirm
homeassistant |     result = await self.hass.async_add_executor_job(self._try_connect)
homeassistant |   File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
homeassistant |     result = self.fn(*self.args, **self.kwargs)
homeassistant |   File "/usr/src/homeassistant/homeassistant/components/samsungtv/config_flow.py", line 92, in _try_connect
homeassistant |     with Remote(config.copy()):
homeassistant |   File "/usr/local/lib/python3.7/site-packages/samsungctl/remote.py", line 11, in __init__
homeassistant |     self.remote = RemoteWebsocket(config)
homeassistant |   File "/usr/local/lib/python3.7/site-packages/samsungctl/remote_websocket.py", line 30, in __init__
homeassistant |     self._read_response()
homeassistant |   File "/usr/local/lib/python3.7/site-packages/samsungctl/remote_websocket.py", line 67, in _read_response
homeassistant |     response = self.connection.recv()
homeassistant |   File "/usr/local/lib/python3.7/site-packages/websocket/_core.py", line 310, in recv
homeassistant |     opcode, data = self.recv_data()
homeassistant |   File "/usr/local/lib/python3.7/site-packages/websocket/_core.py", line 327, in recv_data
homeassistant |     opcode, frame = self.recv_data_frame(control_frame)
homeassistant |   File "/usr/local/lib/python3.7/site-packages/websocket/_core.py", line 340, in recv_data_frame
homeassistant |     frame = self.recv_frame()
homeassistant |   File "/usr/local/lib/python3.7/site-packages/websocket/_core.py", line 374, in recv_frame
homeassistant |     return self.frame_buffer.recv_frame()
homeassistant |   File "/usr/local/lib/python3.7/site-packages/websocket/_abnf.py", line 383, in recv_frame
homeassistant |     frame.validate(self.skip_utf8_validation)
homeassistant |   File "/usr/local/lib/python3.7/site-packages/websocket/_abnf.py", line 182, in validate
homeassistant |     raise WebSocketProtocolException("Invalid close opcode.")
homeassistant | websocket._exceptions.WebSocketProtocolException: Invalid close opcode.

Additional information
homeassistant | prefix in stack trace caused by docker-compose logging engine.

Duplicate of #31504

Closing this issue because it is a duplicate.


upgrade project

update dependencies and switch to AndroidX

I signed it!

Update!

This sample has been deprecated/archived (check README for more information on newer samples related to this technology).
As recommended by GitHub, we are closing all issues and pull requests.


[Feature request] more than 3 instance types in queue

Hello,
Just wondering if more than 3 instance types ( compute resources ) can be defined for one queue?
While I agree that removing the limit completely may increase the complexity of scaling mechanism, but 3 types seems a bit small. It is possible to use different queues, but in some cases it creates a lot of pain for configuring apps.
Best regards,
Mikhail Serkov

Hi @mserkov,
Thank you for opening this feature request, first, we want to understand a bit more about your use case.
In general, how many instance types per queue would you be looking to configure for your applications?
The current limit of 3 instance types per queue is configured as part of the sanity_check functionality.
If you want to experiment with using > 3 instance types per queue, you can try to disable sanity_check by specifying sanity_check = false in your configuration file.
After disabling sanity_check, you should be able to create a cluster with > 3 instance types per queue.
Of course, this is not an officially supported path, so you might encounter some issues.
It would be great if you could inform us of the limitations and issues you see when working with > 3 instance types per queue, so we can take those into account when evaluating this feature.
Thank you!

Hi @mserkov,
Starting with ParallelCLuster 3, we raise the limit to 10 queues and 5 compute resources per queue.
Thank you!


feat(gallery): add support for creating PhotoSwipe gallery from the I…

I have left comments for you. Also, the multiple image gallery is not working.

I've addressed the comments, it's curious as it works on my local system using gulp:

Same on my  local 'make devserver' instance :


Clean up. Remove runtimes, use libsodium package. Make unit test project work as an Exe with NUnitLite

@tabrath Seems the packaging in https://github.com/jedisct1/libsodium/pull/581 is merged, I don't like the preview marker but it seems that the package is just the native runtimes only, so it should be ok.
This pull request removes our copy of the runtimes and pulls them using the upstream nuget package and thus we avoid the sdk bug.
The upstream package has binaries for x86 and x64 for a bunch of platforms, so we get more cross-platform for free (since we are netstandard1.6 and net461).
For msbuild to properly copy the native runtimes, I had to make the project an Exe (and added NUnitLite so unit tests run from the console), but VS still sees and can run the tests in its GUI like a normal class library.
In addition I had to make the unit tests library net461 and give it a platform target of x86 (so the right libsodium.dll is copied beside the output exe and tests can pass instead of failing with failure to load libsodium.dll).

The CI builds are set up to test on dotnet core only, so changing the test project to 461 will for sure break.. by not testing core on appveyor (windows) and travis (linux, osx) we'll not be sure it actually works c

Ok, I'll take another shot at making it work on netcoreapp1.1

Tests now seem to work on netcoreapp1.1 with NUnitLite and Visual Studio Test Runner can see the tests, but Resharper doesn't any more. Oh well, probably a Resharper bug.

@rwasef1830 Nice, seems to pass the CI builds now. Last time I checked, Resharper did not play well with .NET Core unit tests, so I don't think there is anything we can do about that. I would like to deploy it now, but what about that pre-release of the dependency? Can our non-pre-release package contain pre-release packages?

It is fine, people will never install libsodium directly by themselves. Nuget will pull any dependencies even if prerelease just fine. The only thing with prerelease is that it is hidden by default unless you check "show prelease" in VS.
When libsodium is marked final, we will update to a floating version number package.
I think you can deploy now, though I got some more pull requests I want to do (fix an obsolete warning), and want to add more overloads for stuff that take strings to take ArraySegments and byte arrays (to avoid useless copying and garbage for higher performance), but these are not high priority, can do them later.

@rwasef1830 Alright, then. This fix is pretty urgent, so I'll bump the version and release it right away.


chore: standardize view component names

Standardizes view component names to be prefixed with the module name and to be located directly in their respective views/ directories.
Removes unused MeshDetailIndexView.vue files.
Signed-off-by: Philipp Rudloff<EMAIL_ADDRESS>

I think we are missing at least the onboarding and kuma modules here.

Onboarding was done in https://github.com/kumahq/kuma-gui/pull/1775/commits/de6f9f522f0bb8d28d4ccb65fb86475d487632b6.


Update error in about.html

`` Attribute href not allowed on element  at this point.
so you can simply use   Know More
Pull Request Template

Please provide all of the details below. Pull requests missing any of the information below will be closed!
Providing the issue number/url helps us identify the problem being solved and keep the issues tab clean and tidy

What issue does this fix?
Summarize what this PR fixes:-
What issue is it attached to?
Fixes #
Checklist
(Add an x between the brackets to check the items)

[ ] I have summarize what this PR fixes above
[ ] I have provided the issue ID/URL above
[ ] I have not added Bootstrap or jQuery and used correct styling guide.
[ ] This PR fixes only the issue mentioned above (create separate PRs for separate issues)
[x] I was the first one to claim the issue or I created the issue

Pr template is not complete, please resubmit with provided info and linked issue.


Update pull-secrets.mdx

Minor typo to the word although
What issue type does this pull request address? (keep at least one, remove the others)
/kind documentation
What is this pull request for? Which issues does it resolve? (use resolves #<issue_number> if possible)
resolves #
Does this pull request has user-facing changes? (e.g. config changes, new/modified commands, new/modified flags)
No
Does this pull request add new dependencies?
No
What else do we need to know?
Just a documentation typo

@developerdino thanks for opening this pull request! Looks good to me!


Error "Can't start logger thread: Operation not permitted" on container startup

When creating container with docker-compose version v2.20.3 and Docker Engine version 19.03.2.
Using image from Docker Official Repository.
And the following being the docker-compose.yml:
version: '3.3'

services:
  memcached:
    image: memcached:latest
    container_name: memcached
    restart: always
    ports:
      - "11211:11211"
    networks:
      - hosting_network
    volumes:
      - ./log:/var/log/memcached.log

networks:
  hosting_network:
    name: hosting_network
    driver: bridge

The container will not start, with the following error logs:
user@server:/path/to/memcached_folder$ docker-compose up

[+] Running 1/0
 ✔ Container memcached  Created                                                                 0.0s
Attaching to memcached
memcached  | Can't start logger thread: Operation not permitted
memcached exited with code 139
memcached exited with code 0

Running on Ubuntu 16.04.6 LTS (xenial).
My guess is, the docker version might be too old?
1st edit: locally, with newer Docker versions, works just fine.

yeah, I'm getting these errors in concourse trying to pull the latest alpine version of memcached container:
waiting for docker to come up...

Login Succeeded

Pulling memcached@sha256:535282ea08869aedc9bd20cbd714f07a27019c8b1e3aa64aa7321c96fb747844...

Error response from daemon: missing signature key

Pulling memcached@sha256:535282ea08869aedc9bd20cbd714f07a27019c8b1e3aa64aa7321c96fb747844 (attempt 2 of 3)...

Error response from daemon: missing signature key

Pulling memcached@sha256:535282ea08869aedc9bd20cbd714f07a27019c8b1e3aa64aa7321c96fb747844 (attempt 3 of 3)...

Error response from daemon: missing signature key

Failed to pull image memcached@sha256:535282ea08869aedc9bd20cbd714f07a27019c8b1e3aa64aa7321c96fb747844.

I'm still seeing this error on the latest build of memcached tag alpine:
https://hub.docker.com/layers/library/memcached/alpine/images/sha256-2a0d426a0e8842f181936bbe7378fc20b7fad3f02414130c6b7a12ef3ffd8010?context=explore
I don't see any documentation as to why a change would be made to cause this, any breaking change notice, or notice on the docker hub page.  Can anyone speak to the cause and official documentation on breaking change?

Any errors running the a memcached container is very likely libseccomp related with the move to Debian Bookworm in https://github.com/docker-library/memcached/pull/88 (see also https://github.com/docker-library/python/issues/837#issuecomment-1599640563).
Any issues pulling the image is the same as https://github.com/docker-library/redis/issues/381#issuecomment-1765431018


Add ReactJS Example

Please can you add some example which can use from ReactJS or nidesh code

What is "nidesh code" that you are referring to?

I have modified the title of this request. Please modify it if you believe my modification is not appropriate.

Thank you very much. I'll try.

This is not a a dedicated example, but we have a similar issue thread here, https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-js/issues/45#issuecomment-629308809. It contains a working React example.

Jeeze is this still open?

The issue is open and we welcome contributions!

I just implemented it in React, ill try to contribute it this weekend=)

still a work in progress but heres something. https://github.com/DustinTheGreat/ServerlessSecurityCam

How do you import or include this SDK in a react?
I only can get it working via script tag  <script src="https://unpkg.com/amazon-kinesis-video-streams-webrtc/dist/kvs-webrtc.min.js"></script>
Is it possible to do import like a npm module?

I created a React hooks wrapper for this library for anyone interested in trying it:
https://github.com/pdcarroll/react-kinesis-webrtc

https://github.com/pdcarroll/react-kinesis-webrtc/blob/master/src/hooks/useViewer.ts#L117
This is very helpful. Recent Safari needs to set recvonly when video only as viewer.
Current example in this repo is not set it. so in my case example is not called peerConnection.onTrack.