@graphql-codegen/cli is missing tslib dependency

Describe the bug
@graphql-codegen/cli is missing an explicit tslib runtime dependency. Running yarn graphql-codegen ... in a strict environment like Yarn Plug'n'Play leads to:
Error: @graphql-codegen/cli tried to access tslib, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

This is an issue in<EMAIL_ADDRESS>but not<EMAIL_ADDRESS>Your Example Website or App
n/a
Steps to Reproduce the Bug or Issue

yarn set version berry
yarn add --dev<EMAIL_ADDRESS>yarn graphql-codegen ...
Error: @graphql-codegen/cli tried to access tslib, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Expected behavior
Successful command execution
Screenshots or Videos
No response
Platform

OS: MacOS
NodeJS: 16.14.2
graphql version: 16.5.0
@graphql-codegen/* version(s): 2.8.0

Codegen Config File
schema: "./schema.gql"
generates:
  "./types.ts":
    plugins: ["typescript"]
    config:
      enumsAsTypes: true

Additional context
I am using the following workaround:
# .yarnrc.yml

packageExtensions:
  "@graphql-codegen/cli@^2":
    dependencies:
      tslib: ~2.4.0

hey @mhassan1 you can try alpha release and provide feedback

Works for me!

https://github.com/dotansimha/graphql-code-generator/releases/tag/%40graphql-codegen%2Fcli%402.8.1


Simple AB test

SDK track business event, Metric Management, AB test dashboard
### Tasks

- [ ] SDK support metrics
- [ ] Metrics management
- [ ] Event storage
- [ ] Event Query
- [ ] Experiment create
- [ ] Analysis dashboard

[ ] ssss


Update the README file

Hey @CarlosMillanSfC  I need heeeelllllppppppp with a better Readme. Notice that I created the repo at #1


Use aspnetexternal feed instead of CI share

cc @cesarbs

We spoke about this a while ago. Finally got around to setting this feed up.

:+1:


Making requests at deployed app page

Steps:

Log in
Read profile (repeat 10 times)

Behavior:

in repeatedly executing read profile, i get randomly varying responses between User not logged in and actually getting user's profile

try hardcoding the secret key

the problem indeed seems to be this part in the config file:
SECRET_KEY: str = secrets.token_urlsafe(32)

will close the issue once a fix is created and merged to main

feature suggestion: command that can generate secret key and put it to clipboard

im good iwth that


add a integration with stabilityAI to get related post featured images attached to posts

you can get a free api key :+1:
https://stability.ai/

awesome. thanks


rkt can't run k8s guestbook frontend

in k8s there's examples/guestbook.
it's image is
gcr.io/google_samples/gb-frontend:v4

if you try to run it, it errors out with
# /opt/rkt/rkt run gcr.io/google_samples/gb-frontend:v4
image: using image from local store for image name coreos.com/rkt/stage1-coreos:1.1.0+git5010f43
image: using image from local store for image name gcr.io/google_samples/gb-frontend:v4
networking: loading networks from /etc/rkt/net.d
networking: loading network default with type ptp
[ 2673.478241] apache2-foreground[4]: AH00557: apache2: apr_sockaddr_info_get() failed for rkt-4db2fc31-48b1-4a6a-aba4-a1d733c72c81
[ 2673.478634] apache2-foreground[4]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[ 2673.478868] apache2-foreground[4]: (6)No such device or address: AH00091: apache2: could not open error log file /proc/self/fd/2.
[ 2673.479120] apache2-foreground[4]: AH00015: Unable to open logs

this is because Apache is configured to use /proc/self/fd/2 as it's ErrorLog
apache2.conf:ErrorLog /proc/self/fd/2

however, in changing the pod manifest to run ls -l /proc/self/fd we see
[ 2253.894338] ls[4]: total 0
[ 2253.894918] ls[4]: lr-x------. 1 root root 64 Mar 18 22:05 0 -> /dev/null
[ 2253.895537] ls[4]: lrwx------. 1 root root 64 Mar 18 22:05 1 -> socket:[114680]
[ 2253.895999] ls[4]: lrwx------. 1 root root 64 Mar 18 22:05 2 -> socket:[114680]
[ 2253.896385] ls[4]: lr-x------. 1 root root 64 Mar 18 22:05 3 -> /proc/4/fd

i.e. fd2 is a socket that probably can't be opened by apache?
if we run this modified pod manfiest with --interactive we see
total 0
lrwx------. 1 root root 64 Mar 18 22:06 0 -> /dev/console
lrwx------. 1 root root 64 Mar 18 22:06 1 -> /dev/console
lrwx------. 1 root root 64 Mar 18 22:06 2 -> /dev/console
lr-x------. 1 root root 64 Mar 18 22:06 3 -> /proc/4/fd

and if we do the same with the original image it works
/opt/rkt/rkt run --interactive gcr.io/google_samples/gb-frontend:v4
image: using image from local store for image name coreos.com/rkt/stage1-coreos:1.1.0+git5010f43
image: using image from local store for image name gcr.io/google_samples/gb-frontend:v4
networking: loading networks from /etc/rkt/net.d
networking: loading network default with type ptp
	\	/AH00557: apache2: apr_sockaddr_info_get() failed for rkt-060d13ea-c93f-4bfb-a91b-424045c9d8b1
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
AH00557: apache2: apr_sockaddr_info_get() failed for rkt-060d13ea-c93f-4bfb-a91b-424045c9d8b1
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Fri Mar 18 22:09:53.455991 2016] [mpm_prefork:notice] [pid 4] AH00163: Apache/2.4.10 (Debian) PHP/5.6.18 configured -- resuming normal operations
[Fri Mar 18 22:09:53.456121 2016] [core:notice] [pid 4] AH00094: Command line: 'apache2 -D FOREGROUND'

not sure how we can fix this.  thoughts?
@yifan-gu @alban @iaguis @jonboulle

Seems some images would expect the stderr to be a file/device instead of a socket to journald. Not sure this should be fixed in rkt, or the image itself...

I don't see how this can be fixed in rkt while still using journald in stage1 for non-interactive apps because /proc/self/fd/2 is going to be a socket and sockets cannot be open with the open() syscall.
relevant code in rkt:
https://github.com/coreos/rkt/blob/master/stage1/init/common/pod.go#L341
If we can change the upstream php Docker image in the following way:
-ErrorLog /proc/self/fd/2
+ErrorLog /dev/stderr

It should still work in Docker because the Docker container specification v1 specifies that /dev/stderr is a symlink to /proc/self/fd/2. And it should work in rkt as well because docker2aci images uses the function writeStdioSymlinks() (see https://github.com/appc/docker2aci/pull/97) to creates a symlink from /dev/stderr to /dev/console.

/dev/stdio symlink
Target in Docker (spec)
Target in rkt (docker2aci)

/dev/stdin
/proc/1/fd/0
/proc/self/fd/0

/dev/stdout
/proc/1/fd/1
/dev/console

/dev/stderr
/proc/1/fd/2
/dev/console

I'll test this.

will /dev/console be logged to journald?  If k8s test tries to look at kube pod's log then it wont work?  If console is logged to journald, why isn't stdout/err usually console?

will /dev/console be logged to journald?

You're right, it seems it is not :(
I tested with:
$ sudo rkt run --insecure-options=image,ondisk docker://busybox --exec sh -- -c 'echo Hello-dev-console > /dev/console ; echo Hello-stdout'
...
Hello-dev-console
[15287.168211] sh[4]: Hello-stdout

And the message to /dev/console is visible in the journal (only the message to stdout):
$ journalctl -m _HOSTNAME=rkt-5ea154b2-3923-4e0c-8b6d-da74d89b1a6e
Mar 22 16:43:27 rkt-5ea154b2-3923-4e0c-8b6d-da74d89b1a6e sh[4]: Hello-stdout

If k8s test tries to look at kube pod's log then it wont work?

It depends how k8s reads the journal. If it reads the specific journal of the container like above, it won't work. But if it reads the journal of the systemd service starting rkt, as follow, then it works:
$ sudo systemd-run rkt run --insecure-options=image,ondisk docker://busybox --exec sh -- -c 'echo Hello-dev-console > /dev/console ; echo Hello-stdout'
Running as unit run-19101.service.
$ sudo journalctl -u run-19101.service
...
Mar 22 16:47:29 rainbow rkt[19102]: Hello-dev-console
Mar 22 16:47:29 rainbow rkt[19102]: [15528.902450] sh[4]: Hello-stdout

But the GetLogs implementation in the API service (https://github.com/coreos/rkt/pull/2041) does the former, so it won't work.

@sjpotter I tried the following patch on the guestbook Dockerfile:
--- a/examples/guestbook/php-redis/Dockerfile
+++ b/examples/guestbook/php-redis/Dockerfile
@@ -18,6 +18,8 @@ RUN apt-get update
 RUN apt-get install -y php-pear
 RUN pear channel-discover pear.nrk.io
 RUN pear install nrk/Predis
+RUN sed -i 's#ErrorLog /proc/self/fd/2#ErrorLog "|$/bin/cat 1>\&2"#' /etc/apache2/apache2.conf
+RUN sed -i 's#CustomLog /proc/self/fd/1 combined#CustomLog "|/bin/cat" combined#' /etc/apache2/apache2.conf

 ADD guestbook.php /var/www/html/guestbook.php
 ADD controllers.js /var/www/html/controllers.js

And the resulting Docker image works both in Docker and rkt (tried with and without --interactive). I also tested with journalctl -M rkt-67d24dbe... that the journald logs contains the apache logs as expected.
Note on the Apache config syntax: the pipe | just spawns a process and pipe the data into it. The pipe+dollar |$ additionally spawns a shell, needed for the redirection to stderr.

https://github.com/kubernetes/kubernetes/pull/23381

Fixed by kubernetes/kubernetes#23381 AIUI


netserver: fix mkstemp usage

netserver segfaults on start because mkstemp() returns an file descriptor, not a file pointer. Use fdopen() to convert the file descriptor to a file pointer.
I see there's still some debate around whether using mkstemp is the way to go, but netserver doesn't start at all because of this issue.
Fixes: PR #10 @grundlerchromium

Awesome - thanks Chris!

Oh I misread: #23 was merged, not this commit. @kirbychris can you merge this change as well please? TIA!

nm...comments didn't show this was merged "16 minutes ago". :) Thanks!

@grundlerchromium No problem! BTW, there are really no official "maintainers" for this code within HPE any more. I migrated everything from the old netperf server when that was decommissioned after the developer (Rick Jones) left. I'll try to keep checking in here every week or two and merge the open PRs at least. 😃 👍

Understood regarding maintainers. By "maintainers" I meant from github PoV, not HPE. ;) Thanks again!


Example for Pass data from .NET code into TypeScript code

The link below about Angular in VS is very helpful. Ideally, the more the better.
https://docs.microsoft.com/en-us/aspnet/core/client-side/spa/angular
On the Angular project generated from VS 2019, I cannot see the code below mentioned on the link below
options.SupplyData = (context, data) =>
{
    // Creates a new value called isHttpsRequest that's passed to TypeScript code
    data["isHttpsRequest"] = context.Request.IsHttps;
};

https://docs.microsoft.com/en-us/aspnet/core/client-side/spa/angular?view=aspnetcore-5.0&tabs=visual-studio#pass-data-from-net-code-into-typescript-code
Is it possible to provide more info on how to Pass data from .NET code into TypeScript code?

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

ID: 32a18270-91cd-2a02-2eb8-2c8b1ed03737
Version Independent ID: c58d57e5-a0c2-201d-f6dd-076ad5971fcb
Content: Use the Angular project template with ASP.NET Core
Content Source: aspnetcore/client-side/spa/angular.md
Product: aspnet-core
Technology: aspnetcore-clientside
GitHub Login: @SteveSandersonMS
Microsoft Alias: stevesa

Moved to container issue: Use the Angular project template with ASP.NET Core #18074

This topic pertains to server-side rendering, which the current Angular template no longer supports (and the section mentioned in is issue no longer exists in the latest versions of the doc). So, I don't think there's any remaining work to do here.


Undervolt seems not working on i7-12700H at Lenovo P15v G3

It seems undervolting is not working. I use the latest master and I configured
[UNDERVOLT.BATTERY]
# CPU core voltage offset (mV)
CORE: -30
# Integrated GPU voltage offset (mV)
GPU: -10
# CPU cache voltage offset (mV)
CACHE: -30
# System Agent voltage offset (mV)
UNCORE: -10
# Analog I/O voltage offset (mV)
ANALOGIO: 0

# All voltage values are expressed in mV and *MUST* be negative (i.e. undervolt)!
[UNDERVOLT.AC]
# CPU core voltage offset (mV)
CORE: -70
# Integrated GPU voltage offset (mV)
GPU: -50
# CPU cache voltage offset (mV)
CACHE: -70
# System Agent voltage offset (mV)
UNCORE: -50
# Analog I/O voltage offset (mV)
ANALOGIO: 0

and logs of throttled.service seems OK:
● throttled.service - Stop Intel throttling
     Loaded: loaded (/etc/systemd/system/throttled.service; enabled; preset: enabled)
     Active: active (running) since Wed 2023-01-18 23:33:34 CET; 15min ago
   Main PID: 89663 (python3)
      Tasks: 2 (limit: 76716)
     Memory: 11.9M
        CPU: 314ms
     CGroup: /system.slice/throttled.service
             └─89663 /opt/throttled/venv/bin/python3 /opt/throttled/throttled.py

Jan 18 23:33:34 andi-ThinkPad-L490 systemd[1]: Started Stop Intel throttling.
Jan 18 23:33:34 andi-ThinkPad-L490 python3[89663]: [I] Detected CPU architecture: Intel AlderLake-P/H
Jan 18 23:33:34 andi-ThinkPad-L490 python3[89663]: [I] Trying to unlock MSR allow_writes.
Jan 18 23:33:34 andi-ThinkPad-L490 python3[89663]: [I] Testing if undervolt is supported...
Jan 18 23:33:34 andi-ThinkPad-L490 python3[89663]: [I] Testing if HWP is supported...
Jan 18 23:33:34 andi-ThinkPad-L490 python3[89663]: [I] Loading config file.
Jan 18 23:33:34 andi-ThinkPad-L490 python3[89663]: [I] Starting main loop.
Jan 18 23:41:49 andi-ThinkPad-L490 python3[89663]: [I] Reloading changes.
Jan 18 23:43:14 andi-ThinkPad-L490 python3[89663]: [I] Reloading changes.
Jan 18 23:44:29 andi-ThinkPad-L490 python3[89663]: [I] Reloading changes.

but ./throttled.py --monitor shows no undervolt offset:
[I] Detected CPU architecture: Intel AlderLake-P/H
[I] Trying to unlock MSR allow_writes.
[I] Testing if undervolt is supported...
[I] Testing if HWP is supported...
[I] Loading config file.
[I] Starting main loop.
[D] Undervolt offsets: CORE: 0.00 mV | GPU: 0.00 mV | CACHE: 0.00 mV | UNCORE: 0.00 mV | ANALOGIO: 0.00 mV
[D] IccMax: CORE: 160.00 A | GPU: 55.00 A | CACHE: 0.00 A
[D] Realtime monitoring of throttling causes:

[I] Reloading changes.er: OK - Current: OK - Cross-domain (e.g. GPU): OK  ||  VCore: 957 mV - Package: 56.6 W - Graphics: 0.3 W - DRAM: 0.0 W - Total: 56.8 W

any suggestion?

Intel 11th and 12th gen processors do not support undervolting at all.

Thanks @neil1969 , but that's a shame.


Select Interpreter not showing new Conda Environment

Environment data

VS Code version: 1.30.0 (user setup) (2018-12-11)
Extension version (available under the Extensions sidebar): 2018.12.1
OS and version: Windows 10 10.0.17134
Python version (& distribution if applicable, e.g. Anaconda): v3.6.0+ on all conda environments
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda

Expected behaviour
Create new environment in Anaconda via command prompt. That environment should show up in the "Select Interpreters" menu.
It may take some time the documentation says, or you can force it by reloading the window and it should show up then.
Actual behaviour
Created a new environment on Anaconda using Windows command prompt like this: conda create -n LeadDeveloper. Activated that environment and downloaded packages all in the command prompt.
When I switch back to VS Code, I click "Select Interpreter" and do not see the LeadDeveloper environment. It is showing 2 other environments that are present in conda.
I reloaded VS Code (via Reload Window command) and by exiting and opening VS Code again. No luck.
I know I can hardcode the path in the settings, but ideally I want it to display in select interpreters menu.

Steps to reproduce:

Start VS Code in Windows (not sure if this occurs on other OSes)
Open a Python project to get the extension to load
Open Windows command prompt and create a new environment

conda create -n <ENV_NAME_HERE>

Click "Select Interpreter" in lower-left hand side of bar or use Ctrl+Shift+P and type in "Select Interpreter"
As an added bonus, you can reload the window and then try step 4 again.

Logs
No output.

You'll need to create the conda environment with the python arg.
See here https://code.visualstudio.com/docs/python/environments#_conda-environments


Where can i check the MAU Limit/Statistics?

Hi Microsoft
Addition in Documnation - Where can i check the MAU Limit/Statistics?
I have found the following page "https://aad.portal.azure.com/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity", where it mentions 162K per Month. Do i have to filter for Guest-User only and where can i do that?

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

ID: d48108c5-3850-af59-ed14-84238bca37f7
Version Independent ID: cca4148e-8754-87a7-42a3-ea368fcb0285
Content: MAU billing model for Azure AD External Identities - Microsoft Entra
Content Source: articles/active-directory/external-identities/external-identities-pricing.md
Service: active-directory
Sub-service: b2b
GitHub Login: @msmimart
Microsoft Alias: mimart

@weyCC81
I found this Microsoft document. This might help you out in checking the MAU Limit/Statistics.
https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-methods-activity

That is the documentation for the Link i have added, but how do i calculate the MAU from
that? (Was not able to find MAU on this page)

Hi @weyCC81,
There is a workbook here that you can use to estimate the monthly active users. https://github.com/JeffBley/Guest-MAU-Workbook
I don't think you can filter for Guest users from the Sign-ins by authentication requirement graph. However, you should be able to see the same thing from the sign-in logs if you filter by Single-Factor and Multi-Factor Auth.

Here you could export the list to get the count, but that wouldn't include separate tenants linked to the same subscription.
If you want something more precise though, I would recommend reaching out to the billing team to get a clearer estimate of your exact usage though. Billing support is free and they can help with these types of calculations. https://azure.microsoft.com/en-us/support/

Okay, I expected there is a simple solution which can be added in the documentation.
I see this is not directly available, but adding a simple filter for guest in "https://aad.portal.azure.com/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity" would be simple solution.

Thanks for your feedback. We have created a work item for the PG as we don't have an easy way to obtain the MAU for B2B or B2C scenarios.


Inventory Script Procedures

Add instructions on how to use the script on Inventory Script page. Follow procedures template in the General section of the Docs repo.  See me if you need help,  Dan

Page updated


DVR: fix loop fault when configure dvr plan(#2717)

当配置dvr plan后，录制到第二个flv文件时会出现死循环现象，直至段错误，配置如下：
vhost __defaultVhost__ {
    dvr {
        enabled         on;
        dvr_apply       all;
        dvr_plan        segment;
        dvr_path       ./objs/nginx/html/[app]/[stream].[timestamp].flv;
        dvr_duration    10;
        dvr_wait_keyframe       off;
        time_jitter             full;
    }
}

Codecov Report

Merging #2836 (295e89f) into 4.0release (8bc2759) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@              Coverage Diff               @@
##           4.0release    #2836      +/-   ##
==============================================
- Coverage       60.27%   60.26%   -0.01%
==============================================
  Files             121      121
  Lines           51027    51031       +4
==============================================
  Hits            30756    30756
- Misses          20271    20275       +4

Impacted Files
Coverage Δ

trunk/src/app/srs_app_dvr.cpp
0.00% <0.00%> (ø)

trunk/src/app/srs_app_fragment.cpp
12.00% <0.00%> (-0.20%)
:arrow_down:

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 8bc2759...295e89f. Read the comment docs.


Incorrect Request prefix when converting AJV errors

Request is hardcoded to prefix the error message here:
https://github.com/stoplightio/prism/blob/9661bf7d484cbc8be2d2457b21727a95d7a2807d/packages/http/src/validator/validators/utils.ts#L84
This leads to a misleading message when the validation error comes from the Response.
Context
Misleading error message causes developers to look for problem in wrong schema.
Current Behavior
Given the following error:
{ path: ['response', 'body'], code: 'required' }

We get the following error message:

Request body must have required property '...'

Expected Behavior
Given the following error:
{ path: ['response', 'body'], code: 'required' }

We should get the following error message:

Response body must have required property '...'

Possible Workaround/Solution
The prefix should be derived from the path when converting the AJV error.
Steps to Reproduce

Environment

Version used: 5.2.0
Environment name and version (e.g. Chrome 39, node.js 5.4):
Operating System and version (desktop or mobile):
Link to your environment/workspace/project:

This has been released in version 5.3.0.


evalsha error when rebooting dev redis

Description
when rebooting the redis instance on my dev environment, but leave the connection "alive", all requests afterwarsd result into:
ReplyError: NOSCRIPT No matching script. Please use EVAL.
at parseError (/app/node_modules/redis-parser/lib/parser.js:179:12)
at parseType (/app/node_modules/redis-parser/lib/parser.js:302:14) {
command: {
name: 'EVALSHA',
args: [
'3f424a504987d231baa2e19159bb5def8ad32f87',
'1',
'rl-testing:<IP_ADDRESS>:/app-api/',
'0',
'1000'
]
Library version
3.0.1
Node version
16.x
Typescript version (if you are using it)
16.x
Module system
CommonJS

Hi @simllll,
Sorry for the late response :/
I'm working on this issue, and at first glance a simple fix of reloading the script if this error occurs should work :)
I'll keep you updated on this.

Also, which Redis client are you using?

ioredis

Thanks :)
Also, how did you reboot the Redis instance while leaving the connection alive? I'm running it locally using Docker and docker restart <container id> throws a socket error:
/.pnpm/@node-redis+client@1.0.4/node_modules/@node-redis/client/dist/lib/client/socket.js:182
                    __classPrivateFieldGet(this, _RedisSocket_instances, "m", _RedisSocket_onSocketError).call(this, new errors_1.SocketClosedUnexpectedlyError());
                                                                                ^
SocketClosedUnexpectedlyError: Socket closed unexpectedly
    at Socket.<anonymous> (/.pnpm/@node-redis+client@1.0.4/node_modules/@node-redis/client/dist/lib/client/socket.js:182:118)
    at Object.onceWrapper (node:events:640:26)
    at Socket.emit (node:events:520:28)
    at Socket.emit (node:domain:475:12)
    at TCP.<anonymous> (node:net:687:12)

Mhm, interesting. Never tested it "locally", but I had two cases where this is happening:
1.) we have a ssh tunnel that connects all our services from a local env to the test environment services. also redis, mongodb, etc.. the ssh tunnel was kept alive, but the service behind has been restarted (Redis for example).
2.) on AWS with elasticcloud, there is also a redis service with a "proxy" endpoint, I guess it is similar as the ssh tunnel in this case.

For the NOSCRIPT No matching script. Please use EVAL error, I think the cause was the script cache was cleared when the server restarted.
Personally, I think rate-limit-redis could probably just use defineCommand or the scripts constructor option to invoke Lua scripts since ioredis handle the cache loading automatically. Refer: https://github.com/luin/ioredis#lua-scripting

Regarding the root cause, I also think it is related to the script cache.
defineCommand sounds like a very good solution to me too! Can this be done with the "sendCommand" approach?

For the NOSCRIPT No matching script. Please use EVAL error, I think the cause was the script cache was cleared when the server restarted.

Yes, I think so too - hence thought reloading the script on receiving the error might fix it.

Personally, I think rate-limit-redis could probably just use defineCommand or the scripts constructor option to invoke Lua scripts since ioredis handle the cache loading automatically. Refer: luin/ioredis#lua-scripting

That sounds like a great solution! However, we want to allow the user to use any client they prefer - and not all clients provide a defineCommand function.

I also just realised that I was testing with node-redis instead of ioredis 🤦🏾

Using ioredis, I get this:
    at TCP.onStreamRead (node:internal/stream_base_commons:217:20)
[ioredis] Unhandled error event: Error: connect ECONNREFUSED <IP_ADDRESS>:6379
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16)
[ioredis] Unhandled error event: Error: connect ECONNREFUSED <IP_ADDRESS>:6379
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16)
Caught NOSCRIPT error

Here's a patch that fixes the issue with IORedis:
diff --git a/src/lib.ts b/src/lib.ts
index c0c39da..90a012f 100644
--- a/src/lib.ts
+++ b/src/lib.ts
@@ -111,14 +111,25 @@ class RedisStore implements Store {
    * @returns {IncrementResponse} - The number of hits and reset time for that client
    */
   async increment(key: string): Promise<IncrementResponse> {
-    const results = await this.sendCommand(
-      "EVALSHA",
-      await this.loadedScriptSha1,
-      "1",
-      this.prefixKey(key),
-      this.resetExpiryOnChange ? "1" : "0",
-      this.windowMs.toString()
-    );
+    let results;
+    try {
+      results = await this.sendCommand(
+        "EVALSHA",
+        await this.loadedScriptSha1,
+        "1",
+        this.prefixKey(key),
+        this.resetExpiryOnChange ? "1" : "0",
+        this.windowMs.toString()
+      );
+    } catch (error: unknown) {
+      if ((error as Error).message.includes("NOSCRIPT")) {
+        console.log("Caught NOSCRIPT error");
+        this.loadedScriptSha1 = this.loadScript();
+        return this.increment(key);
+      }
+
+      throw error;
+    }

     if (!Array.isArray(results)) {
       throw new TypeError("Expected result to be array of values");

This issue still exist

Can replicate with the following configuration:
**Exception:
[ioredis] Unhandled error event: Error: connect ECCONREFUSED <IP_ADDRESS>:6379
ReplyError: NOSCRIPT No matching script. Please use EVAL.**
const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100,
  standardHeaders: true,
  legacyHeaders: false,

  store: new RedisStore({
    // @ts-expect-error - Known issue: the `call` function is not present in @types/ioredis
    sendCommand: async (...args: string[]) => client.call(...args),
  }),
});

Can we get this issue fixed? Everytime Redis is restarted, it is not loading the scripts automatically and hence throws an error.


Added dont ask again vote to reject

Small PR Adds a single test and moves the vote to approve to a seperate file.

@race-of-sloths include

⏸ This repository is on pause
@Tguntenaar please reach out to the maintainer to unpause this repo with @race-of-sloths unpause command

@race-of-sloths unpause

@race-of-sloths score 5


Network ep count increment/decrement needs retry

Today we try to increment/decrement endpoint count
only once even if it is a key modified error. In case
of key modified error we should retry it to allow it to
succeed.
Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

LGTM.


Playwright: Fix grabbing of browser console messages and window resize in new tab

Motivation/Description of the PR
I wanted to be able to catch messages with the severity error from all browser tabs in my tests. It worked only from 1st tab.
The fix also fixes window dimensions in new tab (to match windowSize in project's config).
There are two use cases when I needed it - when opening a new tab by I.openNewTab() and when opening a new tab by I.click() on a link + I.switchToNextTab()
Applicable helpers:

[ ] WebDriver
[ ] Puppeteer
[ ] Nightmare
[ ] REST
[ ] FileHelper
[ ] Appium
[ ] Protractor
[ ] TestCafe
[x] Playwright

Applicable plugins:

[ ] allure
[ ] autoDelay
[ ] autoLogin
[ ] customLocator
[ ] pauseOnFail
[ ] coverage
[ ] retryFailedStep
[ ] screenshotOnFail
[ ] selenoid
[ ] stepByStepReport
[ ] stepTimeout
[ ] wdio
[ ] subtitles

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[x] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[x] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[x] Lint checking (Run npm run lint)
[x] Local tests are passed (Run npm test)

Thanks!


RDK-40858 : Identify the device 's network state for Offline TTS

To identify the network state

For the first time isConnected method Will return the device state by calling Network Plugin's isConnectedToInternet API and registering the event onConnectionStatusChanged
2)Later based on the registered event m_isConnected is updated and returns the state

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@ramasat Could you please review & approve this change?


Kernels tests are not fully covering all usage

The current kernel tests are not fully covering all possibilities.
They need to be extended to cover (when relevant):

1D, 2D, and 3D data dimensions
buffer data type and image data type
data type float, int, uint, char, uchar, short, ushort

#65 PR update kernels test to cover both buffer and image object for 1D, 2D, and 3D.
Only float data type is tested for now, other datatype will  be covered late

All is running good locally but I face an already known issue which Github action does not support clImage with integer type.
Why? No idea. Though this force me to silence test on those type in order to make the tests pass.
Still closing the issue once the v0.6 is pushed but will reopen a new on more oriented to the CI issue related to github action


Minimize Any Window to System Tray

Description of the new feature / enhancement
Please add ability to minimize any selected window to system tray instead of taskbar.
Scenario when this would be used?
Most applications do not have the ability to minimize to tray, taskbar is precious estate that is used to switch between currently used programs but it is limited space. It would be very useful to minimize some apps to tray instead of taskbar to save space.
Supporting information
No response

Thanks for your message. This is a Duplicate of an other issue. Additional comments may be added there. /dup #47


Tests don't work on openSUSE

I tried running the test suite, and it just hanged after the apparmor tests were done (all of which failed except for the first one). There's also the lovely no-cleanup issue which means that running the test suite again causes all of the tests to fail.
I'll investigate further, I'm just putting it here to remind myself of this.

There's also the lovely no-cleanup issue which means that running the test suite again causes all of the tests to fail.

@mrunalp thought at using TRAP for the cleanup, I'll let him chime in but the idea sounds good to me

@cyphar I have been using a stupid cleanup script for starting tests with a clean slate. I'll post it here. Tests have gotten much better for us but there are still a few flakes. If you figure out specific issues that need fixing please post more details :)

cleanup.sh
#!/bin/bash -x

runc list | awk '{print $1}' | grep -v ID | xargs runc delete -f
mount | grep shm | grep /tmp/tmp | awk '{print $3}' | xargs umount
mount | grep devicemapper | grep /tmp/tmp | awk '{print $3}' | xargs umount
rm -rf /tmp/tmp.*
mount | grep shm | grep /var/lib/ocid | awk '{print $3}' | xargs umount
mount | grep devicemapper | grep /var/lib/ocid | awk '{print $3}' | xargs umount
rm -rf /var/lib/ocid

@cyphar is this still an issue, or can we close this?

Since CRI-O Seems to be working with OpenSUSE, I am going to close this issue.


Handle manually run subqueries

If User1 submits job A with sub-jobs B and C, then User1 submits job B manually, job B will be hidden by the client as it is a subjob of B, however it should not be hidden as it was manually run.
Proposed solution:

In the user-to-job link record add a flag that indicates whether the job was run directly.
Add a flag to the job output indicating whether a job should be "hidden" (not manually run).  This flag will be true if a job was not run directly.

Fixed on branch multi-job
Will close issue when merging into master.


PAC Fundraising (terminology?)

Is Civic PAC fundraising similar to e.g. a Crowdsale or a CappedCrowdsale or something else entirely?
Would it be worth maintaining an additional contract with terminology that campaigns can understand; or a terminology map?

Objectives
Raise funds
Raise funds up to a cap
(Optionally?) collect names and contact information
( https://schema.org/Person https://schema.org/Organization )
Optionally refund if the cap is not met
Optionally change the cap midstream
Optionally cancel for a specified string and/or URL reason
... PAC: Political Action Committee: https://en.wikipedia.org/wiki/Political_action_committee

Yes please!
I am trying to get a simple raise funds contract working
On 16 October 2017 at 13:21, Wes Turner<EMAIL_ADDRESS>wrote:

Is Civic PAC fundraising similar to e.g. a Crowdsale or a
CappedCrowdsale or something else entirely?
Would it be worth maintaining an additional contract with
terminology that campaigns can understand; or a terminology map?

Raise funds
Raise funds up to a cap
Optionally refund if the cap is not met
Optionally change the cap midstream
Optionally cancel for a specified string and/or URL reason
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/OpenZeppelin/zeppelin-solidity/issues/502, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Ae2b3JoaLxGmxtQ32qR2jXuzrr31r923ks5ssr3EgaJpZM4P6AVt
.

Hey @westurner, are you still interested in moving this forward?

https://tplprotocol.org/
"TPL: A Validation System for Secure Peer-to-Peer Exchange" (May 2018)
https://tplprotocol.org/pdf/TPL - Transaction Permission Layer.pdf

Closing due to a perceived lack of interest / information regarding what's actually needed.

What additional information about what information is needed does this
require?
PAC Fundraisers must track personally identifiable information; PII which
probably shouldn't be stored in a blockchain.
An organization must not simply accept anonymous donations.
Can an (Ethereum) smart contact help with this multi-billion-dollar hoopla
every 4 years?
TPL and/or an off-chain application that protects personally identifiable
information (which, in the USA, is potentially subject to FEC and IRS
review) are the best solutions for this that I'm aware of.
Donations must be held in an FDIC-insured account; per the FEC. AFAIU,
Exchanges only FDIC-insure USD deposits.
A person can, say, donate a house or other property, though, so an attorney
with election expertise may have more information regarding [PAC]
fundraising, political campaigns, and cryptoassets
On Friday, March 8, 2019, Nicolás Venturo<EMAIL_ADDRESS>wrote:

Closing due to a perceived lack of interest / information regarding what's
actually needed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OpenZeppelin/openzeppelin-solidity/issues/502#issuecomment-471080221,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADGy69QpyFZbFf05XJAgh-FVDnuCObuks5vUtRPgaJpZM4P6AVt
.

@westurner if I'm understanding correctly, this would require a system where people can somehow be identified on the blockchain, which sounds out of scope for the type of contracts OpenZeppelin provides. TPL does indeed seem to be a step in the right direction.


Update to esp-idf 5.3

This is a continuation of #56

Updates the upstream ESP-IDF version to 5.3
Updates all python packages to their latest version
Adds a new python component "esp-idf-nvs-partition-gen"

I've tested this on x86_64-linux with a few examples

Awesome, thank you! nix flake check passes and I can build and run one of my projects. I will remove the version hackery from #56 after I merge.


Initial cut at transport layer security text...

Don't merge this yet.  Needs iteration.

I'm welcoming all to review and comment on this.  This is initial text about transport layer security with Uptane.
@iramcdonald : special bump to look at...

I'm planning to take a look, but wanted the technical issues clarified and commented on first.
Lois

I'd be happy to see a grammar / formatting pass if others agree.
On Mon, Oct 7, 2019 at 8:32 AM Patrick Vacek<EMAIL_ADDRESS>wrote:

@patrickvacek commented on this pull request.
This looks pretty good to me from a technical standpoint. However, I think
we could be more explicit in saying that transport security is recommended
(perhaps even a SHOULD). If there are no other complaints on a technical
level, I can do another pass for grammar and formatting.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AAGROD3ZRKBVLLY4JQPLKYLQNMT6HA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHCII2Q#pullrequestreview-298091626,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGRODYXF66P7UFJGR3FHBTQNMT6HANCNFSM4I5TBZEA
.

Hi,
Justin - I just read your update text.  I don't like your weak description
of the
benefits of "defense-in-depth".  I strongly agree with Patrick that
Transport
Layer Security (TLS) ought to be a SHOULD in Deployment Considerations.
Anything less flies in the face of a number of IETF Best Practices RFCs, at
no visible benefit.
TLS support is ubiquitous in the Web and in OEM back office
infrastructures.
Using TLS adds "data-in-transit" security that is NOT offered by Uptane's
application layer object security mechanisms.  It also offers forensic
proof of
origin and destination (when strong mutual authentication is used), which
is
necessary for compliance to OTA update standards and various current draft
regulations.
I don't have Markdown expertise or GitHub expertise, so I can't directly
submit changed text.
Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221  Grand Marais, MI 49839<PHONE_NUMBER>
On Mon, Oct 7, 2019 at 8:32 AM Patrick Vacek<EMAIL_ADDRESS>wrote:

@patrickvacek commented on this pull request.
This looks pretty good to me from a technical standpoint. However, I think
we could be more explicit in saying that transport security is recommended
(perhaps even a SHOULD). If there are no other complaints on a technical
level, I can do another pass for grammar and formatting.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UO2TJ2FMBNDNDKJTLL3QNMT6HA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHCII2Q#pullrequestreview-298091626,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE33UOZHHFWGHY45RH5NA4LQNMT6HANCNFSM4I5TBZEA
.

Okay, I added in text that includes your comment about mutual auth.  Is
this better now?  Are there other changes that you'd recommend?
On Mon, Oct 7, 2019 at 11:14 AM iramcdonald<EMAIL_ADDRESS>wrote:

Hi,
Justin - I just read your update text. I don't like your weak description
of the
benefits of "defense-in-depth". I strongly agree with Patrick that
Transport
Layer Security (TLS) ought to be a SHOULD in Deployment Considerations.
Anything less flies in the face of a number of IETF Best Practices RFCs, at
no visible benefit.
TLS support is ubiquitous in the Web and in OEM back office
infrastructures.
Using TLS adds "data-in-transit" security that is NOT offered by Uptane's
application layer object security mechanisms. It also offers forensic
proof of
origin and destination (when strong mutual authentication is used), which
is
necessary for compliance to OTA update standards and various current draft
regulations.
I don't have Markdown expertise or GitHub expertise, so I can't directly
submit changed text.
Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221 Grand Marais, MI 49839<PHONE_NUMBER>
On Mon, Oct 7, 2019 at 8:32 AM Patrick Vacek<EMAIL_ADDRESS>wrote:

@patrickvacek commented on this pull request.
This looks pretty good to me from a technical standpoint. However, I
think
we could be more explicit in saying that transport security is
recommended
(perhaps even a SHOULD). If there are no other complaints on a technical
level, I can do another pass for grammar and formatting.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UO2TJ2FMBNDNDKJTLL3QNMT6HA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHCII2Q#pullrequestreview-298091626
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AE33UOZHHFWGHY45RH5NA4LQNMT6HANCNFSM4I5TBZEA
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AAGROD7IGD5TPBUCDYTRGNTQNNG6HA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAQWXUI#issuecomment-539061201,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGRODY4LWT23W3F6CX64Q3QNNG6HANCNFSM4I5TBZEA
.

Hi Justin,
First a global comment.  Deployment Considerations describe best
practices.  Therefore, the word "may" should very rarely occur.  That's
not advice - it's just speculation.
Here is some of your text with suggested changes:
+- Regulation may require or recommend that security at the transport
layer is provided.

CHANGE "suggest" to "recommend" (regulations NEVER suggest anything).
DELETE this inaccurate sentence:  Hence it may be required for
non-technical reasons.

+- It does not weaken Uptane's security to use Uptane over a transport
layer security system.

DELETE this sentence: If the cost is low, then this can be viewed in
some situations as
adding defense-in-depth, especially if the security system can improve
detection, mitigation,
or reporting of network disruptions.

REPLACE with:  Use of transport layer security adds
defense-in-depth, a security best practice.

+- Security at the transport layer provides forensic proof of origin
and destination (when
strong mutual authentication is used).  This may be necessary for
compliance to OTA update
standards and various current draft regulations.

CHANGED "may offer" to "provides" in first sentence above.

Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221  Grand Marais, MI 49839<PHONE_NUMBER>
On Mon, Oct 7, 2019 at 11:22 AM Justin Cappos<EMAIL_ADDRESS>wrote:

Okay, I added in text that includes your comment about mutual auth. Is
this better now? Are there other changes that you'd recommend?
On Mon, Oct 7, 2019 at 11:14 AM iramcdonald<EMAIL_ADDRESS>wrote:

Hi,
Justin - I just read your update text. I don't like your weak description
of the
benefits of "defense-in-depth". I strongly agree with Patrick that
Transport
Layer Security (TLS) ought to be a SHOULD in Deployment Considerations.
Anything less flies in the face of a number of IETF Best Practices RFCs,
at
no visible benefit.
TLS support is ubiquitous in the Web and in OEM back office
infrastructures.
Using TLS adds "data-in-transit" security that is NOT offered by Uptane's
application layer object security mechanisms. It also offers forensic
proof of
origin and destination (when strong mutual authentication is used), which
is
necessary for compliance to OTA update standards and various current
draft
regulations.
I don't have Markdown expertise or GitHub expertise, so I can't directly
submit changed text.
Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221 Grand Marais, MI 49839<PHONE_NUMBER>
On Mon, Oct 7, 2019 at 8:32 AM Patrick Vacek<EMAIL_ADDRESS>wrote:

@patrickvacek commented on this pull request.
This looks pretty good to me from a technical standpoint. However, I
think
we could be more explicit in saying that transport security is
recommended
(perhaps even a SHOULD). If there are no other complaints on a
technical
level, I can do another pass for grammar and formatting.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<

https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UO2TJ2FMBNDNDKJTLL3QNMT6HA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHCII2Q#pullrequestreview-298091626

,
or mute the thread
<

https://github.com/notifications/unsubscribe-auth/AE33UOZHHFWGHY45RH5NA4LQNMT6HANCNFSM4I5TBZEA

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AAGROD7IGD5TPBUCDYTRGNTQNNG6HA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAQWXUI#issuecomment-539061201
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAGRODY4LWT23W3F6CX64Q3QNNG6HANCNFSM4I5TBZEA
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UOZ3XLJCA6R74AOW4NDQNNH35A5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAQX3WA#issuecomment-539065816,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE33UO5HF4UI247SY2PAE4LQNNH35ANCNFSM4I5TBZEA
.

Hi Justin,
Thanks for adopting my suggested tweaks.
I agree with your clarification about "defense-in-depth".
There are in fact IETF standards for cryptographic binding of the transport
session and
application layer association (an app "session") - to prevent the insertion
of "shims" - but
they are subtle and hard to simply summarize.
But that is far too much implementation detail for this part of Deployment
Considerations,
so I think we should stick w/ Justin's current wording.
Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221  Grand Marais, MI 49839<PHONE_NUMBER>
On Mon, Oct 7, 2019 at 7:48 PM Justin Cappos<EMAIL_ADDRESS>wrote:

@JustinCappos commented on this pull request.
In customizations.md
https://github.com/uptane/deployment-considerations/pull/19#discussion_r332285039
:

@@ -63,6 +63,20 @@ Any system being used to transport images to ECUs needs to modified only to perm

However, in order for an implementation to be Uptane-compliant, no ECU can cause another ECU to install an image without performing either full or partial verification of metadata. This is done in order to prevent attackers from being able to bypass Uptane, and thus execute arbitrary software attacks. Thus, in an Uptane-compliant implementation, an ECU performs either full or partial verification of metadata and images before installing any image, regardless of how the metadata and images were transmitted to the ECU.

+## Using Uptane with transport security
+Uptane is designed to retain strong security guarantees even in the face of a network attacker.  This includes situations where there either is no transport security or where the transport security is compromised by an attacker.  In this case, Uptane's security loss is that an attacker may disrupt communication between the vehicle and the OEM (e.g., by jamming the signal or dropping packets).  However, malicious packages cannot be installed, mix-and-match attacks are not possible, etc.  This is similar to how a network attacker without key material can cause a TLS connection to fail to connect or disconnect, but cannot compromise the integrity or confidentiality of the connection.

+Uptane's security is orthogonal to security systems at other network layers, such as transport security, data link security, etc.  However, there are several reasons why a party may wish to use a security system at the transport layer in coordination with Uptane:

+- If a security system at the transport layer is already deployed for other services or is effectively free to deploy, there is little reason not to use it.  For example, it may be beneficial to have authentication provided by a common system for all services in a vehicle, so this may be considered desirable from a uniformity standpoint.

+- Regulation may require or suggest that security at the transport layer is provided.  Hence it may be required for non-technical reasons.

+- It does not weaken Uptane's security to use Uptane over a transport layer security system.  If the cost is low, then this can be viewed in some situations as adding defense-in-depth, especially if the security system can improve detection, mitigation, or reporting of network disruptions.
I understand the goal here, but I feel like we're missing part of the
point. Defense in depth really works when the systems are likely to be
independently compromised or when one is compromised the other could
compensate. (E.g. two network firewalls or a host firewall + a network
firewall.) I'm not really understanding a scenario where this happens here.
How would a transport layer security system know that things at the Uptane
layer are incorrect? Wouldn't an attacker that compromises the director and
can be a MITM and has other keys also almost certainly have the means to
push something out through whatever transport layer security solution is in
place?
As such, I'd suggest the following compromise text:
⬇ Suggested change
-- It does not weaken Uptane's security to use Uptane over a transport layer security system.  If the cost is low, then this can be viewed in some situations as adding defense-in-depth, especially if the security system can improve detection, mitigation, or reporting of network disruptions.
+- - Use of transport layer security adds defense-in-depth, a security best practice, to the extent to which the transport layer security system can improve the detection, mitigation, or reporting of network disruptions.
(I'm very open to more suggestions / follow on edits...)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UO3DSUF7XDAUGCVA56TQNPDGXA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHFE4DY#discussion_r332285039,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE33UO7CKPKQL4KQXY25GA3QNPDGXANCNFSM4I5TBZEA
.

Okay, great.  @iramcdonald Would you anyone else to perform an outside review before merging?

Hi,
Would Patrick, Max, Jon, Stephen, or Allen please take a look at these
updates for Transport Security in Deployment considerations?
Cheers,

Ira

On Tue, Oct 8, 2019 at 11:53 AM Justin Cappos<EMAIL_ADDRESS>wrote:

Okay, great. @iramcdonald https://github.com/iramcdonald Would you
anyone else to perform an outside review before merging?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UO6S7XEO4RGTM3ONCQDQNSUH5A5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAUVM2Y#issuecomment-539580011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE33UO62NWSFGASXD6ZFQF3QNSUH5ANCNFSM4I5TBZEA
.

Hi,
I again agree w/ improvements from Lois.
But her note ends w/ "In the second bullet..."
Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221  Grand Marais, MI 49839<PHONE_NUMBER>
On Thu, Oct 10, 2019 at 11:11 AM Lois Anne DeLong<EMAIL_ADDRESS>wrote:

@jhdalek55 commented on this pull request.
In customizations.md
https://github.com/uptane/deployment-considerations/pull/19#discussion_r333578422
:

@@ -63,6 +63,20 @@ Any system being used to transport images to ECUs needs to modified only to perm

However, in order for an implementation to be Uptane-compliant, no ECU can cause another ECU to install an image without performing either full or partial verification of metadata. This is done in order to prevent attackers from being able to bypass Uptane, and thus execute arbitrary software attacks. Thus, in an Uptane-compliant implementation, an ECU performs either full or partial verification of metadata and images before installing any image, regardless of how the metadata and images were transmitted to the ECU.

+## Using Uptane with transport security
+Uptane is designed to retain strong security guarantees even in the face of a network attacker.  This includes situations where there either is no transport security or where the transport security is compromised by an attacker.  In this case, Uptane's security loss is that an attacker may disrupt communication between the vehicle and the OEM (e.g., by jamming the signal or dropping packets).  However, malicious packages cannot be installed, mix-and-match attacks are not possible, etc.  This is similar to how a network attacker without key material can cause a TLS connection to fail to connect or disconnect, but cannot compromise the integrity or confidentiality of the connection.
A few other minor things. The bullet points struck me asa bit wordy, so
I'm suggesting the following:
In the first bullet point, change the last sentence to:
"For example, it may be beneficial to have authentication provided for all
services in a vehicle by a common system."
In the second sentence, move the emphasis to the reason by reversing the
sentence:
"Regulations may require or recommend that security be provided at the
transport layer. Hence, a secure transport system may be required for
non-technical reasons.
I tinkered a bit with the third sentence, to strengthen a point of emphasis
"Using Uptane over a transport layer security system does not weaken its
own security properties. If the cost is low, then this may be viewed as
adding defense-in-depth, especially if the security system can improve
detection, mitigation, or reporting of network disruptions."
That's my two-cents. If any of the above unintentionally changes the
meaning, feel free to ignore.
In
In the second bullet point, I propose f
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UOY4JDJ4Q2FDW6KRKYDQN5AZFA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCHR5VAY#discussion_r333578422,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE33UOYJSUKJCUANCHJZTODQN5AZFANCNFSM4I5TBZEA
.

Would it make sense to squash all the follow-up commits in this PR into single one before merging?

Minor comment about "attacker who has not compromised a key can cause a TLS connection to fail to connect or disconnect" - could you clarify "disconnect" part? What kind of TLS attack are you referring to?
Other than that - looks good to me.

Can we acknowledge the comments of @zabbal and then, if there are no further initial comments, can we merge. This page requires a bit more more clean-up work, but I'm reluctant to add any more commits.

Okay, addressed.  Would someone outside of NYU please merge or indicate it is fine for us to do so on your behalf.

Hi Justin,
I like your clarification (e.g., by dropping packets).
Cheers,

Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto<EMAIL_ADDRESS>PO Box 221  Grand Marais, MI 49839<PHONE_NUMBER>
On Sat, Oct 19, 2019 at 4:32 PM Justin Cappos<EMAIL_ADDRESS>wrote:

Okay, addressed. Would someone outside of NYU please merge or indicate it
is fine for us to do so on your behalf.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uptane/deployment-considerations/pull/19?email_source=notifications&email_token=AE33UO5OTVHQVFGQWL33BCLQPNVGFA5CNFSM4I5TBZEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBX4EOY#issuecomment-544195131,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE33UO6Z6XSQ4LVIV4ZY3PLQPNVGFANCNFSM4I5TBZEA
.

Sounds good.  Merging.


Pushing and pulling from private registry with self signed TLS certificate

Is it possible to push to a private registry that uses https/tls but has a self signed certificate? I couldn't find it in the docs or the code.

You probably need to mount the cert and set the mounted path in your registry config. See the last example: https://github.com/uber/makisu/blob/master/docs/REGISTRY.md#examples


Platform errors after HA 2022.11

The problem
Logger: homeassistant.setup
Source: setup.py:320
First occurred: 9:47:25 PM (1 occurrences)
Last logged: 9:47:25 PM
Unable to prepare setup for platform nest_protect.select: Platform not found (Exception importing custom_components.nest_protect.select).
This error originated from a custom integration.
Logger: homeassistant.loader
Source: custom_components/nest_protect/select.py:23
Integration: Nest Protect (documentation, issues)
First occurred: 9:47:25 PM (1 occurrences)
Last logged: 9:47:25 PM
Unexpected exception importing platform custom_components.nest_protect.select
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 728, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/usr/src/homeassistant/homeassistant/loader.py", line 745, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/usr/local/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/config/custom_components/nest_protect/select.py", line 23, in
class NestProtectSelectDescription(
File "/usr/local/lib/python3.10/dataclasses.py", line 1185, in dataclass
return wrap(cls)
File "/usr/local/lib/python3.10/dataclasses.py", line 1176, in wrap
return _process_class(cls, init, repr, eq, order, unsafe_hash,
File "/usr/local/lib/python3.10/dataclasses.py", line 1025, in _process_class
_init_fn(all_init_fields,
File "/usr/local/lib/python3.10/dataclasses.py", line 546, in _init_fn
raise TypeError(f'non-default argument {f.name!r} '
TypeError: non-default argument 'key' follows default argument
What version of this integration (ha-nest-protect) has the issue?
0.3.8
What version of Home Assistant Core has the issue?
core-2022.11
Device / Model
No response
Diagnostics information

Home Assistant log
Logs
```
Copy/paste any log here, between the starting and ending backticks (`)
```

Additional information
No response

Confirm - same issue after update to 2022.11.1

I am getting the same. Just updated to 2022.11

same here. but I think the integration is still working, still has my three nest protect and the occupancy sensor changes state

version 0.3.9 should fix this, but there was a small detail missing that prevents you from updating to 0.3.9. should be fixed here
https://github.com/iMicknl/ha-nest-protect/issues/112

Same problem in 2022.11
This error originated from a custom integration.
Logger: homeassistant.loader
Source: custom_components/nest_protect/select.py:23
Integration: Nest Protect (documentation, issues)
First occurred: 08:47:28 (1 occurrences)
Last logged: 08:47:28
Unexpected exception importing platform custom_components.nest_protect.select
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 728, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/usr/src/homeassistant/homeassistant/loader.py", line 745, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/usr/local/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/config/custom_components/nest_protect/select.py", line 23, in
class NestProtectSelectDescription(
File "/usr/local/lib/python3.10/dataclasses.py", line 1185, in dataclass
return wrap(cls)
File "/usr/local/lib/python3.10/dataclasses.py", line 1176, in wrap
return _process_class(cls, init, repr, eq, order, unsafe_hash,
File "/usr/local/lib/python3.10/dataclasses.py", line 1025, in _process_class
_init_fn(all_init_fields,
File "/usr/local/lib/python3.10/dataclasses.py", line 546, in _init_fn
raise TypeError(f'non-default argument {f.name!r} '
TypeError: non-default argument 'key' follows default argument


ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt on<PHONE_NUMBER> for 67f68394b675e3b2c8222f153a76d8aff8ab5d04
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1021602773

Pipeline Succeeded on<PHONE_NUMBER> for 67f68394b675e3b2c8222f153a76d8aff8ab5d04
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1021602773


Edit Containerd license info so GitHub recognizes it

Hello! 👋
(CCing @dankohn who has requested this work so that the license will appear correctly in https://landscape.cncf.io/selected=containerd)
GitHub uses a library called Licensee to identify a project's license
type. It shows this information in the status bar and via the API if it
can unambiguously identify the license.
This commit removes the LICENSE.docs file and updates the README to
refer readers directly to the CC-BY-4.0 license on the Creative Commons
site. It also updates the copyright reference to "The containerd
Authors" and removes a reference to copyright year in the LICENSE file
(per a recommendation from the CNCF).
This change allows Licensee to successfully identify the license
type of Containerd's codebase as Apache 2.0.

p.s. I've just read the CONTRIBUTING doc - please let me know if you need me to modify my commit or PR in order to adhere to those guidelines. Thanks!

I believe the only issue is that your commit has no DCO/sign-off. You can edit your commit to add the "Signed-off-by:" (or if your git configuration is correct, use -s to sign your commit) and then force push this PR branch to re-run CI.

Thanks @estesp. I've added the signoff and made a couple modifications (according to some feedback from @dankohn ).

Cc @caniszczyk

Codecov Report

Merging #2266 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2266   +/-   ##
=======================================
  Coverage   41.13%   41.13%
=======================================
  Files          66       66
  Lines        7758     7758
=======================================
  Hits         3191     3191
  Misses       4063     4063
  Partials      504      504

Flag
Coverage Δ

#windows
41.13% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Can we just fix the upstream tool? https://github.com/benbalter/licensee should be able to identify both a software license and a docs license, correct?
While we're at it, please fix the project landscape entry so it has the right twitter handle. It should be @containerd.

@stevvooe I think there's a mismatch between what the licensee tool is designed to do (i.e., a bunch of fuzzy string matching to give probabilities of a license) and how GitHub (and the Interactive Landscape) use it (i.e., to say what license the code is under). We could submit a patch upstream, but I'm skeptical they would accept it, since you are operating under two different licenses and licensee wants to output that fact. Even if they did, there's no knowing how long until GitHub would adopt the new version.
However, there is a large audience that is eager to find Apache 2.0 projects, and I would like the Interactive Landscape to be able to correctly identify containerd as one, which depends on GitHub correctly displaying that. Also note that moving the Creative Commons license to the Readme does not, AFAIK, change the legal meaning in any way. It just allows licensee to work.
Finally, apologies about having the wrong containerd Twitter. That's now fixed: https://landscape.cncf.io/selected=containerd

LGTM
@dankohn that sounds fine. Thanks for taking the time to explain the full situation.


Creating AlertDialog inside mapView

Hello,
I'm trying to create an AlertDialog when the a marker annotation is tapped, but I'm failing to do so.
I think the problem is related with the 'context' available on flutter (needed from 'showDialog()').
Is there any way of getting the mapView context on flutter?
Or do I have to create a pipe for iOS and Android to handle this matter?
Best Regards

+1

Flutter AlertDialogs won't be displayed because those dialogs are drawn on the flutter view. I think the best way do display a dialog would be to close the google map view and then display the dialog

I have same problem, any idea?


fix: add default value font size

tested with various themes on V&A tenant, shows theme font size and color for all of them

Looks like a zip file got commited by accident

You are using the OR (||) operator but, it will give inconsistent results when the user sets a value in the theme that is truthy or falsy but not a valid font size/color. I think a safer approach is to use the nullish (??) coalesce operator instead. IMO let the user notice that a theme as invalid font size or color.


New delegate newPersonViewControllerDidCompleteWithNewPerson:

Added a new ZLPeoplePickerViewController delegate method newPersonViewControllerDidCompleteWithNewPerson: which tells the delegate the ABNewPersonViewController did complete with a new person or NULL

Thank you!


[WIP] build: move printing support behind feature flag

Ref https://github.com/electron/maintainers/issues/174

[ ] MacOS
[ ] Linux
[ ] Windows

Will be moving the feature behind flag in the Electron GN build config.


DBeaver Results Show Datetime but Changes on CSV export

Description
When I run a query using an Oracle DB in DBeaver the results show in datetime format. [DBeaver Results]([https://i.stack.imgur.com/0FuBA.png]
Recently, however, once the exports are exported to csv, I open the csv and only the time mm:ss are displayed. CSV Result [Display]
I have to format back to the full datetime on every column once opening the csv.
Is there something I am missing in the DBeaver export settings? I am not sure why this started happening. DBeaver Export Format [Settings]
The data format settings seem to be correct as well. [DBeaver Data Format Settings]https://i.stack.imgur.com/C2T8P.png
DBeaver Version
22.2.1
Operating System
Windows 10 Enterprise
Database and driver

Database: Oracle 12
Driver: oracle.jdbc.OracleDriver

Steps to reproduce

I checked Global Settings and ensured the Timestamp setting was correct.

I ran a query and checked that the results display the datetime stamp correctly

I hit the export button and went through the export settings

I opened the exported csv to find only the time displays instead of the full datetime

Additional context
No response

Interesting - Would this mean that it is something in my excel settings
that would be causing this? Any idea what that could be?
Thank you!
[image: image.png]
On Thu, Oct 6, 2022 at 9:22 AM Georgii @.***> wrote:

Hi, could you open your CSV file in the Notepad and provide me a
screenshot of it? Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/dbeaver/dbeaver/issues/17799#issuecomment-1270038822,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADYTWTSSOSKKMRS6PUG5DNLWB3HCLANCNFSM6AAAAAAQ3UKPM4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you - yes i know how to edit it after the fact, I was hoping there was a solution prior to doing that.  Sometimes i need to go in and edit 20+ datetime fields in the formatting tab and it's quite cumbersome.  I know from the dbeaver side it looks like its fine though, so that's good! Appreciate your help.  It was driving me crazy and I didn't even think to test in notepad++

@cbreen872 You can always change the timestamp format in DBeaver itself Editors -> Data Editor -> Data Formats -> Timestamp

You have to select the "Format numbers" option in square brackets in your Format Settings window in the exporter settings section

@cbreen872  It looks like your excel uses an incorrect time format, you can change it manually in this excel menu. Write me if it helps.

For those who are having trouble to find this window, you can click on the column and right click on it then you can find format cells.


Python version 3.6.4
Spglib version 1.10.3
Band structure mode
Settings:
  Supercell: [1 1 8]
Spacegroup: Pm (6)
Computing force constants...
Encounter some problem in compute_permutation.
Traceback (most recent call last):
  File "/home/lampam/.local/bin/phonopy", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/home/lampam/asd/clone/phonopy/scripts/phonopy", line 661, in <module>
    computation_algorithm=settings.get_fc_computation_algorithm())
  File "/home/lampam/asd/clone/phonopy/phonopy/api_phonopy.py", line 377, in produce_force_constants
    computation_algorithm=computation_algorithm)
  File "/home/lampam/asd/clone/phonopy/phonopy/api_phonopy.py", line 1320, in _run_force_constants_from_forces
    computation_algorithm=computation_algorithm)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 87, in get_fc2
    computation_algorithm=computation_algorithm)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 716, in _get_force_constants_disps
    computation_algorithm=computation_algorithm)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 268, in solve_force_constants
    symprec)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 591, in _solve_force_constants_svd
    symprec)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 282, in get_positions_sent_by_rot_inv
    symprec)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 865, in _compute_permutation_for_rotation
    symprec)
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 901, in _compute_permutation_c
    permutation_error()
  File "/home/lampam/asd/clone/phonopy/phonopy/harmonic/force_constants.py", line 889, in permutation_error
    raise ValueError("Input forces are not enough to calculate force constants, "
ValueError: Input forces are not enough to calculate force constants, or something wrong (e.g. crystal structure does not match).

Investigation
When it fails, it mentions the compute_permutation function that I added.  Furthermore, when I try running a version of phonopy prior to that change (21cb9e37240df3d8e7217c428370819424e6eead), the crash does not occur, and there are no error messages.
Since it appeared that this might be due to a bug in my contributions, I continued to look further into it.
What makes it fail?
To help answer this question, I added debug output to the compute_permutation C function to make it print the best distance it found whenever it failed to find any distances less than symprec.

All of the distances it printed were approximately equal to 0.025 A, which is quite a bit bigger than symprec=0.02 A! (so this isn't just numerical error)
I printed out the structures for positions and rot_pos in get_positions_sent_by_rot_inv, and these are included in the archive.  Indeed, some atoms really do move by a distance of 0.025A between the two files.

This suggests something is wrong with the input to the function or how it is used, but looking further into it, I found to my surprise that get_positions_sent_by_rot_inv receives exactly the same input in both the new and old versions.
Why didn't the old version fail?
As it turns out, the bug already existed.  It's just that old versions of phonopy didn't notice that anything was wrong.  The reason it wasn't detected is thanks to these lines in the old version:
j = np.nonzero(np.sqrt(np.sum(diff ** 2, axis=1)) < symprec)[0]
rot_map[j] = i

Deceptively, it looks like this should detect when there are no overlapping positions (by failing with an IndexError), but in fact it succeeds because np.nonzero actually returns a tuple.
So what used to happen when none of the positions were closer than symprec is that j would be an empty array, and rot_map[np.array([])] = i did nothing.
Files
Here's the link again: phonopy-rot-inv-error.tar.gz (12.4MB)

run: script to run phonopy with the right arguments
band.conf, FORCE_SETS, POSCAR: Input files
pos.vasp, rot.vasp: Structures showing positions and rot_pos received by get_positions_sent_by_rot_inv when it fails.

Thanks. I will have a look.
The symprec=0.02 is too large for phonopy with respect to my expectation. So I may loosely write code not to adapt it. It is recommended to make your structure be symmetrized before starting.

The test case purposefully used a large symprec to make it easier to trigger the error.  It does happen with smaller symprecs, but the structures where I've run into trouble with it were too large for easy debugging.

There is inconsistency between spglib and phonopy symmetry handlings. In symmetry finding, spglib works to make the symmetry operations form a space group by adjusting symmetry tolerance internally to suggest at least one any space group type. Phonopy just uses symmetry operations given by spglib. Using this symmetry operations with the fixed tolerance, inconsistency can happen.
Instead of this,
np.nonzero(np.sqrt(np.sum(diff ** 2, axis=1)) < symprec)
searching shortest one may work
permutation[i] = [np.argmin(np.sqrt(np.sum(diffs**2, axis=1)))]
though dangerous. This change does not affect wrongly to the phonopy examples. But your force constants are calculated badly. This is probably creating displacements was not consistent with this change, but just recreating displacements and calculating forces would not work anyway, I guess.
I think there is no perfect solution as long as an input structure has distortion against symmetrically ideal structure. If the distortion is of the size of symmetry tolerance, the current algorithm is unstable. How should we treat it? One practical solution is to ask users to symmetrized input crystal structure before starting phonon calculation but by the symmetrization, the input cell is transformed to a standardized setting, where rigid rotation, translation, change of cell size can happen. To do symmetraization internally without telling to users is another option. But
for which I will need some more implementation in spglib or phonopy, to avoid those rotation, translation, and change of cell size, which is not a trivial task. In this case, the direction is implementing this.

permutation[i] = [np.argmin(np.sqrt(np.sum(diffs**2, axis=1)))]

Perhaps not this since that line is from the old version, but something similar can be done in the C code.  (record the objective used for sorting as a cartesian distance, stop searching when that objective has increased by a difference of 2*symprec and use the best position found)

Quality of force constants should be better if forces are calculated symmetrized crystal structure. If forces are calculated for distorted structures, the quality of force constants is not secured by symmetrization. Another point is how we can measure the quality of force constants. This depends on purposes, too. However we are very interested in it. For example, The software Alamode, hiPhive, TDEP are working for it for similar and different purposes
A difficulty of symmetrization is how users wanto to symmetrize their structures. In spglib, I use crystallographic convention to do it, by which their input structures may be rotated, translated and their unit cell sizes can be changed. Probably users are not happy if their structures are largely modified by the looks. Then I have to implement the symmetrization procedure to minimize the lattice and atomic position modification but their shapes and sites are ideal.
To write out symmetrized structure, disp.yaml is quite OK and can keep before and after symmetrization. I don't want to create many files automatically, so symmetrized POSCAR-format file may be created by user's will like --symmetry option. But this case, I have to support non-VASP interfaces.

I add some comment on this old issue of symmetrization. It is possible to symmetrize crystal structure but that is to be resembling to the input structure. It was discussed on this in spglib mailing list.
https://sourceforge.net/p/spglib/mailman/spglib-users/thread/D0A79931-6AFE-40BB-B910-A436B61A316C%40nrl.navy.mil
For which, using the idea to use SVD is a good idea and implementation in python is easy,
https://sourceforge.net/p/spglib/mailman/message/36164080/

We don't have discussion for long time.
I think your implementation is quite OK. Just the symmetry tolerance is a difficult parameter.  I inserted an interation loop to increase the tolerance little by little until match. See 61f29b8a if you are interested in it.
I am going to close this issue. If you have still interest in this, please re-open this.


ENH: Please make the "cutoff" variable in "scipy.sparse.linalg.svds" user-definable

Is your feature request related to a problem? Please describe.
Please add an option to "scipy.sparse.linalg.svds" to set the "cutoff" parameter to zero or please give the option not the use this cutting off option in svds function. This option is something we need for our python package "pyFBS". We are working on a new filter implementation based on truncated singular value decomposition, so svds. Since "scipy.sparse.linalg.svds" is a very strong tool for calculating a subset of singular values, we are also using it integrated with our python package. But, we need the option which allows us to set the cutoff parameter to zero. I do not want to use the "sophisticated detection of small eigenvalues from pinvh", which is used by "scipy.sparse.linalg.svds" automatically. Please make it used-defined or give the user the option to not use this cutting off the singular values.
Describe the solution you'd like.
Solution 1: Adding an additional input parameter in "svds" funtion for "cutoff" variable, so that a user can set it to zero.
User can call the svds function as below:
svds(A, k=10, cutoff=0)
Modifications should be done in svds function:
svds(A, k=6, ncv=None, tol=0, which='LM', v0=None, maxiter=None, return_singular_vectors=True, solver='arpack', random_state=None, options=None, cutoff=None)
...
if cutoff=None:
# Use the sophisticated detection of small eigenvalues from pinvh.
t = eigvec.dtype.char.lower()
factor = {'f': 1E3, 'd': 1E6}
cond = factor[t] * np.finfo(t).eps
cutoff = cond * np.max(eigvals)
else:
cutoff = user-defined value (which is 0 in this case)
...
Describe alternatives you've considered.
No response
Additional context (e.g. screenshots, GIFs)
We need this feature/option for our new filter implementation. Please put this option in the new version of scipy.

Hi @mgoldeli, thank you for reporting. I am not sure about adding this parameter since not all solvers are doing this cutoff. If you use solver=propack, you won't go into this logic.

Hi guys,
Propack still seems to have some problems with Windows. Can you confirm that?
Using the cutoff threshold with the Arpack solver may cause some undesired removal of SVs (in many cases it starts cutting SVs of 5/6 orders lower than the maximum one). If I have some criteria to select a specific number of SVs, I should be able to retain them without encountering further constraints. The matlab svds implementation is also based on Arpack and does not encounter similar issues.
I'd would be really nice if you could add such an option or, in alternative, solve the issues of Propack.

Is there an issue open about the problems with Propack you are referring to @ftrainotti?

I am having an issue with "propack" solver. The error is as follows:
Fortran runtime error: Insufficient number of elements in TARRAY.
Apparently, there are still some issues with "propack" solver. I tried it out also with the lastest version of scipy, but I am not able to run the code or use "propack" solver option right now. I read that this option will be fully available in the next scipy version. I am looking forward to testing the fully available version soon.
On the other hand, I think it is still necessary to have this "cutoff = 0" option (or a similar implementation) also for the "arpack" algorithm. We want to use the "arpack" algorithm without cutting off the smallest eigenvalues, which is very important for our new filter implementation that we will have in our python package soon. We have already the matlab implementation of this new svds based filter. In matlab with svds command, we are able to get **all the singular values **without cutting off the smallest singular values (Matlab also uses in svds the Arpack algorithm as defautl). Also with svds of scipy, we are able to get all the singular values, only if we set the cutoff value to zero. Due to this automatic/not-user-defined cutting off of the smallest singular values in svds of scipy, we can not keep the quality level of our new filter implementation. That's why, I think this cutoff variable should be user-defined. With this enhancement, scipy will serve the option to its users to have consistent results with the matlab, which I think is a high reliable reference software for such applications.

To clarify, I am not opposed to adding this option if it does something for all solvers. What I want to say is, as it is if we were to add this parameter it could be confusing for users of Propack.

Apparently, there are still some issues with "propack" solver. I tried it out also with the lastest version of scipy, but I am not able to run the code or use "propack" solver option right now. I read that this option will be fully available in the next scipy version. I am looking forward to testing the fully available version soon.

Did you set the env variable USE_PROPACK=1? Propack came with SciPy 1.8

I tried the following on a windows pc with python 3.8.13 and scipy 1.8.1:

import os
os.environ["USE_PROPACK"]='1'
"USE_PROPACK" in os.environ
import scipy.sparse.linalg as sp
import numpy as np
rng = np.random.rand(1000,1000)
u, s, vT = sp.svds(rng, k=3, solver='arpack')
u2, s2, v2T = sp.svds(rng, k=3, solver='propack')
when I run propack, I get:
'Restarting kernel'
What am I doing wrong? I don't get it

This is probably what is referred to as issues on windows. Sorry I cannot help I don't have a windows. @mckib2 is this fixed on main?

This is a dupplicate of #12629
I hope #11829 will solve the problem.

Indeed, I will link it. Thank you!

Hey Olivier,
Thank you for your contribution here.
I went through your #11829 and It seems that this issue is still open and still needs to be enhanced/fixed. You meant that this  #11829 can solve my issue, but I am still confused about how did you deactivate this cutting off the smallest singular values issue in svds. I need to get also these smallest singular values in the output of svds function and not the zeros and I don't want to use an additional svd function which is time wasting compared to svds.
As far as I get it, the solution that you suggest in #11829 can be done locally by modifiying your code on your pc, right?  But that makes no sense for us as python package developers, since we want to give our users a complete code and we can't say to our users "please change your svds code manually, if you want to use our new filter". That is not a solution for us! Can you please explain me the solution that you suggest precisely or is this issue still not solved?

I suggest continuing the discussion in #12629. Maintainers of this part of SciPy will be notified as they contributed to the discussion.

@tupui Okay fine. I will continue on #12629


Implement changes connected to cancelation flow

This commit implements changes connected to cancellation flow suggested by @nano-o specifically, expire transactions which are irrevocably invalid (ie. sequence number bumped) and use ledger close time to calculate timebounds of transactions generated by Starbridge.
Additionally, it moves responsibility to set timebounds to the client because different Starbridge servers can process a signing request at different moments in time.

@tamirms, I implemented the latest changes to the protocol. I left the outgoing_stellar_transactions mostly for cache reasons (so it's not possible to request signatures for a single transaction over and over again if the previous one is valid) but the system can function correctly without it when the DB is lost. PTAL.
Test are currently failing because there are two changes to stellar/go required: https://github.com/stellar/go/pull/4438 and https://github.com/stellar/go/pull/4439.


Add Django + Vue tutorial

A tutorial I wrote for integrating Vue multipage apps into Django, making it easy to use a hybrid Vue & Django Template approach to frontends.

Hi @ilikerobots very cool tutorial. I appreciate the PR but I've actually removed the Tutorials section largely due to getting so many PRs and I don't want the repo to just be a list of tutorials.
I'm gonna read the tut now though. I'm more of a React person but Vue seems quite appealing.

@ilikerobots I haven't read the tut, but I had a client once using Django+vue and wanted to have application-wide client side state across several pages. Does this tutorial cover how to achieve something like that? in react I might use hooks or redux.

@ilikerobots I haven't read the tut, but I had a client once using Django+vue and wanted to have application-wide client side state across several pages. Does this tutorial cover how to achieve something like that? in react I might use hooks or redux.

The tutorial does not cover it, but I am doing this in the app I'm building. I accomplish this with Vuex and vuex-persistedstate.  The steps to add it to the tutorial app should be identical to the basic standard vue setup. See https://www.npmjs.com/package/vuex-persistedstate


Create workflow to build cli and publish it to artifacts

This workflow will run on each PR and on push to the main branch.
It will buld the cli and publish to the GitHub artifacts.
From there, we can simply download it and "test it", in case we want to 🙃
What do you think?
Checkout this how it looks like :)
After downloading the zip, you only have to give them executable permissions.

TBH I disagree with this approach because:

Go makes is very easy to just build code and run it. For anyone to test they have to just get the branch and say go run ./cli
Because of above point I think it is a waste for resources to have such artifacts create unnecessarily.

We should only create binaries when publish a release which we would do from v0.2.0 onwards.

Fine for me 💅
I just thought with that approach even people from outside can simply grab the CLI already and play with it 🙃


Display compilation time in status message

Very small PR to add the compilation time to the status message. E.g.:
watching main.typ
writing to main.pdf

[23:02:48] compiled successfully in 1.25ms

Might be better to make this a command line option instead of default, but I’ll just leave the PR here for people to see.
Rounds to 2 dp, so always between 3 and 5 digits, as in:
compiled successfully in 1.00ns
compiled successfully in 10.00ns
compiled successfully in 100.00ns
compiled successfully in 1.00µs
compiled successfully in 10.00µs
compiled successfully in 100.00µs
compiled successfully in 1.00ms
compiled successfully in 10.00ms
compiled successfully in 100.00ms
compiled successfully in 1.00s
compiled successfully in 10.00s
compiled successfully in 100.00s

Thanks!


Fix for gitea token/secret length

After update to latest version gitea and use oauth, gitea returns long token in my case it was >800 characters. DB schema of the table has varchar(500), I updated it to varchar(1000) to solve the problem.

@zloidemon Could you explain that the error was and why TEXT hasn't worked for you?

can you describe what issue it solves - best case a smal how to reproduce

@anbraten @6543 After update to latest version gitea and use oauth, gitea returns long token in my case it was >800 characters. DB schema of the table has varchar(500), I've updated it to varchar(1000).

@anbraten @6543 After update to latest version gitea and use oauth, gitea returns long token in my case it was >800 characters. DB schema of the table has varchar(500), I updated it to varchar(1000) to solve the problem.

Ahh okay for mysql and postgres it is Varchar(500) and sqlite it uses Text. Thank you for the explanation.

I'll add it ...

I'll add it ...

ok togo does not allow noop ...


merge-nodes: Clarify that local.key exists in "appears supervised" errors

The current "appears to be a supervised node" error messages show an assumption about the cause of the error, but don't show what this assumption is based on.
This error message has led to multiple users expressing confusion on the official Discord. Indicating the actual cause in the error message hopefully slightly reduces that confusion.

bors merge

bors cancel

canceled because linter complains about long lines

well, let's make them shorter, then :)

bors merge


lang useTranslation hook not refreshing in sitemap page

What version of this package are you using?
2.6.2
What operating system, Node.js, and npm version?
20 & 10
What happened?
building a multi vendor website such as
www.example.com
www.example.com.br
etc
using the middleware solution
export function middleware(request) {
  const locale = request.nextUrl.locale || i18n.defaultLocale
  request.nextUrl.searchParams.set("lang", locale)
  request.nextUrl.href = request.nextUrl.href.replace(`/${locale}`, "")
  console.log("LOCALE", locale)
  console.log("URL", request.nextUrl.href)
  return NextResponse.rewrite(request.nextUrl)
}

i can see that the locale is refreshed correctly here but unless i go to another page explicitly the sitemap type page is not refreshing the locale (even from a different vendor) and still serve the last previous one fetched
const LegalSitemap = async () => {
  // LOAD DATA
  const { lang } = useTranslation()
  const { legal } = await getLegalsServer({ countryCode: lang })
  const { domain } = domains?.find(({ defaultLocale }) => defaultLocale === lang)

  console.log("LOCALE INSIDE SITEMAP", lang)

  return legal?.map(l => ({
    url: `https://${domain}/legal/${l?.management?.url}`,
    lastModified: l?.lastEditDate,
    changeFrequency: "yearly"
  }))
}

What did you expect to happen?
i would expect that the const { lang } = useTranslation() to be refreshed and displayed the updated local.
Are you willing to submit a pull request to fix this bug?
if i know where to look, definitly!

I investigated a bit the code but i just can get to find that global.__NEXT_TRANSLATE__.lang but not sure how to make it refresh from the middleware.

@erwanriou are you using app router or pages router?

@erwanriou are you using app router or pages router?

app router. I used your library with the pages router and it work fine there. The issue occure also on the not-found page too somehow. I found a fix but it's a bit dirty...


Increase level arc reading accuracy

Use a more accurate formula for predicting level arc position
Increase angular resolution on the level arc to 0.1° (the previous 1° accuracy is insufficient above level 31)
Lapras got nerfed, account for this

The new arc formula is derived like this:

The arc is 180 degrees long, interpreted with a resolution of 0.1°
The left end of the arc (0°) corresponds to level 1.0
The right end of the arc (180°) corresponds to the player's level plus 1.5, capped to 40.5 max
The ratio of the angles for any 2 levels is equal to the ratio of their CP multipliers minus 0.094 (the CP multiplier for level 1.0)

Note: The highest reachable Pokemon level (without cheating) is 39.0, but the scale still goes to 39.5 for player level 38, and to 40.5 for player levels 39 & 40. As a result, the right end of the arc is unreachable without cheating above level 38. (This is from verbal sources only, I'm still looking for screenshots to confirm this.)

I've been running with this formula for several weeks now (level 31 and 32), never had an inaccurate reading. I also tested it by displaying screenshots from other users (mostly levels 25 to 30) on Android and then calling the app, with no issues detected.