BUG: svd - Segmentation Fault, Integer overflow in LAPACK on large inputs

Describe your issue.
https://github.com/scipy/scipy/pull/20349 introduced a check which prevents Segfault caused by integer overflow in LAPACK and raises a ValueError instead. This check, however, only considers lapack_driver == 'gesdd' and ignores 'gesvd':
if lapack_driver == 'gesdd' and compute_uv:
    # XXX: revisit int32 when ILP64 lapack becomes a thing
    max_mn, min_mn = (m, n) if m > n else (n, m)
    if full_matrices:
        if max_mn*max_mn > np.iinfo(np.int32).max:
            raise ValueError(f"Indexing a matrix size {max_mn} x {max_mn} "
                              " would incur integer overflow in LAPACK.")
    else:
        sz = max(m * min_mn, n * min_mn)
        if max(m * min_mn, n * min_mn) > np.iinfo(np.int32).max:
            raise ValueError(f"Indexing a matrix of {sz} elements would "
                              "incur an in integer overflow in LAPACK.")

(see https://github.com/scipy/scipy/blob/main/scipy/linalg/_decomp_svd.py#L137-L148)
Setting lapack_driver='gesvd' bypasses the above check. However, the subsequent call of
gesXd, gesXd_lwork = get_lapack_funcs(funcs, (a1,), ilp64='preferred')

returns 32-bit versions of the functions, because by default, there is no ILP64 implementation of 'gesdd' nor 'gesvd'; SciPy is built with LP64 LAPACK, hence there are no 64-bit variants available:
In [1]: from scipy.linalg import get_lapack_funcs

In [2]: get_lapack_funcs('gesvd', ilp64=True)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[2], line 1
----> 1 get_lapack_funcs('gesvd', ilp64=True)

File ~/miniconda3/envs/pm/lib/python3.11/site-packages/scipy/linalg/blas.py:401, in _memoize_get_funcs.<locals>.getter(names, arrays, dtype, ilp64)
    398 if value is not None:
    399     return value
--> 401 value = func(names, arrays, dtype, ilp64)
    403 if key is not None:
    404     memo[key] = value

File ~/miniconda3/envs/pm/lib/python3.11/site-packages/scipy/linalg/lapack.py:970, in get_lapack_funcs(names, arrays, dtype, ilp64)
    968 else:
    969     if not HAS_ILP64:
--> 970         raise RuntimeError("LAPACK ILP64 routine requested, but Scipy "
    971                            "compiled only with 32-bit BLAS")
    972     return _get_funcs(names, arrays, dtype,
    973                       "LAPACK", _flapack_64, None,
    974                       "flapack_64", None, _lapack_alias,
    975                       ilp64=True)

RuntimeError: LAPACK ILP64 routine requested, but Scipy compiled only with 32-bit BLAS

In [3]: get_lapack_funcs('gesvd_lwork', ilp64=True)
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[3], line 1
----> 1 get_lapack_funcs('gesvd_lwork', ilp64=True)

File ~/miniconda3/envs/pm/lib/python3.11/site-packages/scipy/linalg/blas.py:401, in _memoize_get_funcs.<locals>.getter(names, arrays, dtype, ilp64)
    398 if value is not None:
    399     return value
--> 401 value = func(names, arrays, dtype, ilp64)
    403 if key is not None:
    404     memo[key] = value

File ~/miniconda3/envs/pm/lib/python3.11/site-packages/scipy/linalg/lapack.py:970, in get_lapack_funcs(names, arrays, dtype, ilp64)
    968 else:
    969     if not HAS_ILP64:
--> 970         raise RuntimeError("LAPACK ILP64 routine requested, but Scipy "
    971                            "compiled only with 32-bit BLAS")
    972     return _get_funcs(names, arrays, dtype,
    973                       "LAPACK", _flapack_64, None,
    974                       "flapack_64", None, _lapack_alias,
    975                       ilp64=True)

RuntimeError: LAPACK ILP64 routine requested, but Scipy compiled only with 32-bit BLAS

Finally, calling scipy.linalg.svd on large inputs (matrices with more than np.iinfo(np.int32).max (around 2B) entries) leads to segmentation faults.
Easy solution
Extend the condition to raise ValueError regardless of which lapack_driver is used.
    if compute_uv:
        # XXX: revisit int32 when ILP64 lapack becomes a thing
        max_mn, min_mn = (m, n) if m > n else (n, m)
        if full_matrices:
            if max_mn*max_mn > np.iinfo(np.int32).max:
                raise ValueError(f"Indexing a matrix size {max_mn} x {max_mn} "
                                  " would incur integer overflow in LAPACK.")
        else:
            sz = max(m * min_mn, n * min_mn)
            if max(m * min_mn, n * min_mn) > np.iinfo(np.int32).max:
                raise ValueError(f"Indexing a matrix of {sz} elements would "
                                  "incur an in integer overflow in LAPACK.")

The ValueError can also include instructions for a possible workaround:

build NumPy with ILP64 (as described here)
use numpy.linalg.svd instead of scipy.linalg.svd

Nicer solution
    funcs = (lapack_driver, lapack_driver + '_lwork')
    try:
        gesXd, gesXd_lwork = get_lapack_funcs(funcs, (a1,), ilp64=True)
        ilp64_enabled = True
    except RuntimeError:
        # some debug warning here
        gesXd, gesXd_lwork = get_lapack_funcs(funcs, (a1,), ilp64=False)
        ilp64_enabled = False

    if compute_uv and not ilp64_enabled:
        # XXX: revisit int32 when ILP64 lapack becomes a thing
        max_mn, min_mn = (m, n) if m > n else (n, m)
        if full_matrices:
            if max_mn*max_mn > np.iinfo(np.int32).max:
                raise ValueError(f"Indexing a matrix size {max_mn} x {max_mn} "
                                  " would incur integer overflow in LAPACK.")
        else:
            sz = max(m * min_mn, n * min_mn)
            if max(m * min_mn, n * min_mn) > np.iinfo(np.int32).max:
                raise ValueError(f"Indexing a matrix of {sz} elements would "
                                  "incur an in integer overflow in LAPACK.")

Future-proof solution
The previous one + SciPy fully supports building with ILP64, similar to NumPy.
I would argue that my Reproducing Code Example demonstrates a failure on a relatively small problem; it's a blocker for a common production use case.
Reproducing Code Example
import numpy as np
from scipy.linalg import svd

a = np.ones((10_000_000, 256), dtype=np.float32)  # 2.56B entries - around 10 GB
# The machine running this example has 256GB of RAM)

svd(a, full_matrices=False, compute_uv=True, lapack_driver='gesvd')

Error message
Segmentation fault (core dumped)

SciPy/NumPy/Python version and system information
1.14.1 2.1.3 sys.version_info(major=3, minor=11, micro=10, releaselevel='final', serial=0)
Build Dependencies:
  blas:
    detection method: pkgconfig
    found: true
    include directory: /opt/_internal/cpython-3.11.9/lib/python3.11/site-packages/scipy_openblas32/include
    lib directory: /opt/_internal/cpython-3.11.9/lib/python3.11/site-packages/scipy_openblas32/lib
    name: scipy-openblas
    openblas configuration: OpenBLAS 0.3.27.dev DYNAMIC_ARCH NO_AFFINITY Zen MAX_THREADS=64
    pc file directory: /project
    version: 0.3.27.dev
  lapack:
    detection method: pkgconfig
    found: true
    include directory: /opt/_internal/cpython-3.11.9/lib/python3.11/site-packages/scipy_openblas32/include
    lib directory: /opt/_internal/cpython-3.11.9/lib/python3.11/site-packages/scipy_openblas32/lib
    name: scipy-openblas
    openblas configuration: OpenBLAS 0.3.27.dev DYNAMIC_ARCH NO_AFFINITY Zen MAX_THREADS=64
    pc file directory: /project
    version: 0.3.27.dev
  pybind11:
    detection method: config-tool
    include directory: unknown
    name: pybind11
    version: 2.12.0
Compilers:
  c:
    commands: cc
    linker: ld.bfd
    name: gcc
    version: 10.2.1
  c++:
    commands: c++
    linker: ld.bfd
    name: gcc
    version: 10.2.1
  cython:
    commands: cython
    linker: cython
    name: cython
    version: 3.0.11
  fortran:
    commands: gfortran
    linker: ld.bfd
    name: gcc
    version: 10.2.1
  pythran:
    include directory: ../../tmp/pip-build-env-k6xvzqr5/overlay/lib/python3.11/site-packages/pythran
    version: 0.16.1
Machine Information:
  build:
    cpu: x86_64
    endian: little
    family: x86_64
    system: linux
  cross-compiled: false
  host:
    cpu: x86_64
    endian: little
    family: x86_64
    system: linux
Python Information:
  path: /opt/python/cp311-cp311/bin/python
  version: '3.11'

Indeed, adding ILP64 support to scipy is still in the works (help welcome BTW). Would be great to have it in the 1.16 timeframe.
Meanwhile, there is no a priori reasons to not generalize the guard from https://github.com/scipy/scipy/pull/20349 to other drivers. The core issue is likely the same: with compute_uv=True flat indexing of one of U and V matrices overflows int32. Pull requests welcome, I'd say. This one can be merged for 1.15 (branching is in a couple of weeks).


催更

作者大大们加把劲，早日开源出来，谢谢！

They said they'll release the model this month so it hopefully won't be too long.

作者大大们加把劲，早日开源出来，谢谢！

Thanks for your attention to our work! We have released the model and code.


Prototype drop feedback UX

For #179430
Adds two new UX components:

An inline progress icon shown when a drop operation takes over 500ms. This replaces the notification. You can click on it to cancel the drop

Post drop, a drop feedback icon that lets you drop the file in a different way. This lets you drop the file as plain text for instance instead of as a markdown link

https://user-images.githubusercontent.com/12821956/230517919-c4c075c2-3455-49d5-aa98-412f6233e5b5.mov

Looks good. Did you try positioning the icon at the beginning of what gets dropped rather than at the end? Would that require less mouse movement?

@gjsjohnmurray Thanks for the feedback. I went with the end because this matches what word and outlook do when pasting. However I've updated the widget so it should now always appear on screen, even if the end position is actually off screen. This makes it easier to reach
I've also updated the widget to dismiss as soon as you move the cursor somewhere out of the main edit range


Missing "interviewsNeeded" in GraphQl AssignmentsFilter

Hi,
I`m trying to filter assingments what are not completed yet. I found that there are missing option for filtering interviewsNeeded in SurveySolutionsClient.GraphQl AssignmentsFilter. Also is missing filtering by email, CalendarEvent and CreatedAtUtc. I think so it could be useful in some needs to filter by CalendarEvent and CreatedAtUtc. Is it possible to fix it?
Thank you
MB

Unfortunately this kind of filters are not provided by survey solutions grapql api and as a result cannot be added to client library


Fix frequency sending Quantity

Move frequency() tests into own file
Fix frequency() sending Quantities instead of Frequency

Not sure if anybody checked if we need to fix this in other metrics...

Everything coming through the formula engine is converted.  And other metrics in the battery pool don't go through the resampler.  So none of them were affected.

OK, I think we need to make the ChannelRegistry generic eventually, but it will be some work. I was thinking that as an intermediate hack, we can have a Unknown class and use that instead of Any, that will force us to explicitly cast anything coming from an untyped channel registry receiver and catch this type of bugs earlier. I will give it a shot, it should be quick to implement.


Feature/home page text

 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.:x: aryasunny sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Enable automatic deployment to gh-pages

See http://moox.io/statinamic/docs/usage/gh-pages/

@MoOx - Auto deployment seems to override the entire repository including the CNAME file. Any work-arounds?

Let me double check.

Publish looks good https://github.com/postcss/postcss.com/tree/gh-pages here
You just didn't finish the automatic step http://moox.io/statinamic/docs/usage/gh-pages/#automatically-with-travis-ci
Also, since you are testing on multiples node version, you will need to deploy on for a certain version of node, like this https://github.com/MoOx/statinamic/blob/master/.travis.yml#L13-L19 (note that you don't need "docs/" in paths.

And for the CNAME, you might need something like this https://github.com/putaindecode/putaindecode.io/blob/master/package.json#L79 (adjust the script name)

What happen you run "npm run deploy" by hand?

It runs great from local, everything is running as expected. I forgot to adjust the script to add the CNAME file and setting up the Travis-Cli with this one as well, just wanted to try out npm run deploy one. Thanks for fast response.

I'm probably doing this all wrong or just missing something very important, it's late :tired_face: Can you double check this for me? Thanks.

I will fix that into master directly

Ok master is almost ready, it just seems I mentionned an example with GITHUB_TOKEN  instead of GH_TOKEN. I updated master this way, should fix it. Finger crossed.

WOOT. That's it http://postcss.com/

I will update statinamic docs according to this experience.

Whoop whoop! Thanks for fixing this :smile:


Failed to load resource: Origin domain.tld is not allowed by Access-Control-Allow-Origin. Status code: 200

Hello, im always getting "Failed to load resource: Origin domain.tld is not allowed by Access-Control-Allow-Origin. Status code: 200" if i press the button and check the Network-Inspector in my Browser.
How can i fix this? Im using the following nginx config as reverse proxy:
# this is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

upstream domain.tld {
  server localhost:3000;
}

server {
  listen 80;
  root /usr/share/nginx/html;
  index index.html index.htm;

  location / {
#    proxy_set_header Host $http_host;
#    add_header 'Access-Control-Allow-Origin' '*' always;
#    proxy_pass http://domain.tld;
            add_header  Access-Control-Allow-Origin "*";
            add_header  "Access-Control-Allow-Credentials" "true";
            add_header  "Access-Control-Allow-Methods" "GET, POST, OPTIONS";
            add_header  "Access-Control-Allow-Headers" "Authorization, origin, accept";

            proxy_pass http://localhost:3000;
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-Host $host:$server_port;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  # Proxy Grafana Live WebSocket connections.
  location /api/live/ {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://domain.tld;
  }
}

no one? :-/


Analyzer does not warn about duplicate parts

When a part is included more than once, there is no warning in the library, and the file is processed by the analyzer redundantly.
For example:
//
// my_library.dart

library my_library;

part 'src/my_part.dart';
part 'src/my_part.dart'; // No warning

//
// src/my_part.dart

part of my_library;

class ClassInMyPart {} // Error:(6, 7) The name 'ClassInMyPart' is already defined

Interesting. The specification doesn't include a warning (or error) in this case. Should it? Or should we make this a hint instead?

I would say a warning at the very least. I can't think of a scenario in which including a non-empty part multiple times wouldn't result in other "already defined" analysis errors.

This is now a static error raised by the analyzer:
$ cat 23674.dart
library my_library;

part '23674-part.dart';
part '23674-part.dart'; // No warning
$ cat 23674-part.dart
part of my_library;

class ClassInMyPart {}
$ dartanalyzer --version
dartanalyzer version 2.0.0-dev.63.0
$ dartanalyzer 23674.dart
Analyzing 23674.dart...
  error • The library already contains a part with the uri 'file:///Users/srawlins/code/23674-part.dart' at 23674.dart:4:6 • duplicate_part
1 error found.


Accessing Webpages via Xebra

Hi Cassie, Hi Sam,
thanks for creating xebra. i just started to work with it and created some simple applications. now i want to access pages like instagram, google or facebook like you did in you video here:
https://www.youtube.com/watch?v=JvKcj-a4osY
how did you manage to access the images from instagram? my approach was to start a local js-script using the greasemonkey plugin for firefox and call a connection to the miraweb websocket. i get errors due to "Content Security Policy" problems.
Thanks in advance
jitterhorse

@jitterhorse this repo has been moved to the MiraWeb repository!

Hi @jitterhorse, sorry for the slow response, I've been on vacation. So I don't remember exactly how I did this. Basically I pasted xebra.js into the dev console on the instagram page, so that it would link to a locally running xebra.js server (basically the same as using greasemonkey, I guess). I don't remember any CORS issues, tbh. Maybe you've got a snippet you could post? But yeah, if you could do it on the new miraweb repo that would be cool. Sorry for moving things around, it's a new repo.


Cannot obtain Rubidium

GregTech CEu Version
v2.4.0
Gregicality Multiblocks Version
v1.1.4
Gregicality Science Version
v0.0.1
Modpack Used
GregTech Expert 2
Addons Installed
No response
Environment
SP
New Worlds
Yes
Cross-Mod Interaction
No
Expected Behavior
rubidium dust has a recipe
Actual Behavior
rubidium dust and small dust and tiny dust have no recipe
Steps to Reproduce
this is a recipe bug
Additional Information
No response

Fixed in b9bc8a8.

Closed the wrong issue...


Still active?

This project hasn't been updated for a few months. Is it still active, or has it been discontinued?

Still active but progress has been slow since I'm mostly working on reorganizing/rewriting things before I start adding more content again.
(It doesn't help that I'm working on like 4 projects at the same time, but I do still consider this my "main" project right now.)


Add support for User Memberships

https://docs.gitlab.com/ee/api/users.html#user-memberships-admin-only
This would be useful to be able to get the lowest access_level for a given user in order to determine whether that user is using a license seat. Any GitLab user with an access_level of 20 or greater and a state that != blocked consumes a seat, 20 being the Developer role.

Mind if I take this one?

By all means :)


determine for which domains we failed to obtain a certificate for

First of all, a big thank you, @mholt, for this terrific library!
What would you like to have changed?
When obtaining certificates for a number of domains, it would be nice to be able to know for which domains a certificate was successfully be obtained and for which domains it failed.
cfg.ManageAsync doesn't give error return values, but only
cfg.ManageSync returns as soon as the first request fails, therefore can't be used be used for that purpose.
Why is this feature a useful, necessary, and/or important addition to this project?
I'm building a (lib)p2p node integration that uses TLS certificates to secure WebSocket connections. WebSocket support is optional, so if obtaining one (or a few, or even all) certificates fails, that's not the end of the world. Certificates are therefore obtained asynchronously.
The node will just disable support for failing domains and move on. It would therefore be nice to be able to learn which domains we successfully obtained a certificate for, and which ones it failed.
What alternatives are there, or what are you doing in the meantime to work around the lack of this feature?
I'm assuming that cfg.ManageSync(domains) is more efficient than doing a
for _, domain := range domains {
    cfg.ManageSync(domain)
}

If that's not the case, this issue is probably moot.
Please link to any relevant issues, pull requests, or other discussions.

There's event hooks in certmagic, which I opened a PR to improve recently: https://github.com/caddyserver/certmagic/pull/150 this will probably do what you need!

I assume I'd then call ManageAsync and listen for the cert_obtained event, right? Would that event also be emitted when obtain the cert fails? In #150, it doesn't look like there's an error field in that event.

Actually, I think I don't need it. There'd be no difference between "this domain is still waiting for the cert" and "we (permanently?) failed to obtain a cert for this domain". In both cases, I know I can't use that domain yet.

Should be possible now that we've merged more detailed certificate events in #150. In case you still want to know :man_shrugging:


Hide NFT create button on nft review

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #2428

PR #2429

PR #2437

PR #2438

PR #2439

PR #2441

PR #2451   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: scG4iFKVEKIjx8FG61K7


Brand new sveltekit project depends on vulnable package - but upgrade not possible

Describe the bug
Brand new sveltekit project depends on vulnable package (cookie) - but upgrade not possible.
Reproduction
npx sv create foobar
npm audit
Logs
# npm audit report

cookie  <0.7.0
cookie accepts cookie name, path, and domain with out of bounds characters - https://github.com/advisories/GHSA-pxg6-pf52-xh8x
fix available via `npm audit fix --force`
Will install<EMAIL_ADDRESS>which is a breaking change
node_modules/cookie
  @sveltejs/kit  >=1.0.0-next.0
  Depends on vulnerable versions of cookie
  node_modules/@sveltejs/kit
    @sveltejs/adapter-auto  >=1.0.0-next.0
    Depends on vulnerable versions of @sveltejs/kit
    node_modules/@sveltejs/adapter-auto

3 low severity vulnerabilities

To address all issues (including breaking changes), run

System Info
System:
    OS: macOS 14.4.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 80.32 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 22.8.0 - ~/.asdf/installs/nodejs/22.8.0/bin/node
    npm: 10.9.0 - ~/.asdf/plugins/nodejs/shims/npm
    pnpm: 8.11.0 - ~/.homebrew/bin/pnpm
  Browsers:
    Chrome: 130.0.6723.70
    Safari: 17.4.1
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.3.1
    @sveltejs/kit: ^2.0.0 => 2.7.3
    @sveltejs/vite-plugin-svelte: ^4.0.0 => 4.0.0
    svelte: ^5.0.0 => 5.1.3
    vite: ^5.0.3 => 5.4.10

Severity
annoyance
Additional Information
No response

I'm really confused by the note about installing<EMAIL_ADDRESS>That seems bizarre.
The cookie vulnerability is a known issue though. Later versions of cookie brought stricter validation to cookie names, which would be a breaking change, so we can't upgrade until SvelteKit 3. If you don't need that, you can use an override to force a later version.
See also #12768 and #12799.

@memark Exactly, this should not be closed for that reason.

Spent the better part of an hour trying to debug this before finding this issue. +1 for pinning it instead of closing it.


Possibility of caching invalid order/checkout totals due to errors in Avalara requests

There seems to be a problem with determining if values provided by the plugin are valid in case when a request to Avalara returns an error. Below are more details about the different problems we suspect:

checkout price expiration - denormalized prices are stored in the checkout model. The issue occurs when the plugin cannot calculate taxes due to a failed request, missing data, etc. The plugin returns the previous value, which means that we return taxes=0. From Saleor’s perspective, we don’t know if returned 0 means that we could not calculate taxes or if total taxes are equal to 0.

preprocess_order_creation - before version 3.9, preprocess_order_creation was used to validate the checkout and disallow the order creation when the order data was invalid or insufficient details to calculate the taxes. The plugin raised the exception when some mandatory details were required, or we could not fetch the taxes. The solution is not ideal as it doesn’t guarantee that the request calculating the taxes returned a correct response. In that case, there is a possibility that we didn’t calculate the taxes, but preprocess_order_creation passed successfully (the first request that calculates taxes failed, but preprocess_order_creation succeeded).

Taking the two above, we can have a situation where denormalized prices have taxes=0 because Avatax didn’t respond correctly. Saleor will treat these amounts as correct ones. When preprocess_order_creation finishes successfully and denormalized prices are still valid, we can end up with a situation where taxes are 0.
Related problem - Celery task that creates orders in the Avalara dashboard can be triggered when the Avalara plugin is active, but charging taxes is disabled in a channel. The task should take into account that taxes can be calculated via flat rates for the channel. In that case, we shouldn’t send the order to Avatax, even if Avatax is active.

Given we are going to be deprecating the plugin in favour of an app (which is already used by live clients, I am going to go ahead and close this issue.


how do I follow a link?

When I hover over a link, it shows the url for it in the pop-up. How do I open the link in a new browser tab?
Do I have to toggle the edit state to off? How do I do that? Sorry, I'm new to Draft-js

Never mind, I found it: editorEnabled={false}


Charging Station - Override template and provide manual settings on charging station

@LucasBrazi06 As discussed, I use the reset of the station to apply the template again. (enrichWithTemplate is called there and the handling of the ocpp parameters should also work properly).
I think the end user will not change the manual config very frequently, so this should work for the time being.
My suggestion would be to get the code into master-qa if it is approved and handle the other requirements in separate issues. E.g. Utils Method for applying the template to a charging station or UI-enhancements.

@LucasBrazi06 As discussed, I use the reset of the station to apply the template again. (enrichWithTemplate is called there and the handling of the ocpp parameters should also work properly).
I think the end user will not change the manual config very frequently, so this should work for the time being.
My suggestion would be to get the code into master-qa if it is approved and handle the other requirements in separate issues. E.g. Utils Method for applying the template to a charging station or UI-enhancements.

Okay


PR is based on #3 so that should be merged first.

Verkar fungera men layouten behöver fixas!


When using Paket, VS2017 becomes unresponsive

Description
On more than one occasion, using the Install option in Visual Studio 2017 causes Visual Studio to become completely unresponsive, with the only alternative being left to force kill the VS process.
Repro steps

Open a solution which contains Paket references
Open one or more code files from a project containing a paket.references file.
Right click the paket.dependencies file and choose Install.

VS 2017 hangs. For example, see the git-tfs project here on GitHub.
Expected behavior
Visual Studio 2017 doesn't hang.
Actual behavior
Visual Studio 2017 hangs
Known workarounds
Don't open any project code files for projects containing a paket.references file when you need to perform any Paket operations on the solution.

Is  this with the paket visual studio addin? if so then please reopen at https://github.com/fsprojects/Paket.VisualStudio

@forki: yes, the VS extension/addin. Thanks for the redirect, will do!


Populating a NestedMenu from a Rest Response

I would like to understand how to instantiate a fetch through the restClient to populate a Menu.
Specifically I'd like to populate the nestedItems array for a resource on the main Menu on the left side but more generally populate other dropdowns from rest responses related to a resource or the global state.
I exported an <ObjMenuItem /> from the Objs.js file and attached it as the menuItem property on the <Resource /> element in App.js.  I also added a menuInitiallyOpen property.
I then modified the local Menu.js file to be like this:
const Menu = ({ resources, translate, logout }) => (
    <Paper style={style}>
        <List>
            {resources
                .filter(r => r.list)
                .map(resource => {
                        return <ListItem
                            key={resource.name}
                            containerElement={<Link to={`/${resource.name}`} />}
                            primaryText={translatedResourceName(resource, translate)}
                            leftIcon={resource.icon && <resource.icon />}

// The new stuff is here
                            initiallyOpen={resource.menuInitiallyOpen}
                            nestedItems={(resource.menuItem) ? resource.menuItem(resource) : []}
                        />
                    ;
                    }
                )
            }
        </List>
        {logout}
    </Paper>
);

The nestedItems property calls the resource.menuItem() function from Menu.js passing in the resource element.  Inside the Objs.js file the ObjMenuItem function needs to return the array of nestedChildren.
This is the part I'm having trouble with.  Given a "resource" element, how do I turn that into an instantiated list of values/elements?
Thanks!

You'll have to use a custom menu (allowed by #369, not yet in master), and hook up the Redux store. You need Redux knowledge for that.


Doesn't work with the latest Aurelia 2 beta

Get the following error when following the readme for setting up the dialog
export 'DefaultDialogGlobalSettings' (imported as 'DefaultDialogGlobalSettings') was not found in '@aurelia/runtime-html'.
Seems like they removed that export in this commit. https://github.com/aurelia/aurelia/commit/73e3078f31345f22b79b68d0cbdc3495cb876c12#diff-d3728d723a649261180ebed84160dc08716213c8afc5c89ddaaa720507ebcab4

Thanks a lot for the PR. I've merged it today and published a new version of the package on npm 1.0.7. I hope it works now as expected. Don't hesitate to reach out if you need anything.


Monitor switches back to primary

I have 3 monitors. I want to use the monitor selection to have the screensaver show up on my OLED TV in fullscreen mode. The problem is that whenever I exit playnite or enter fullscreen mode, the monitor selection switches back to the primary monitor.

Interesting. I'll investigate next chance I get.


Be able to specify which orgs are pinned to the top of rollups

Users report that this should also apply in email rollups

Also needs to happen for email rollups


Automate deploying spartacussampledataaddon to github

This template is to be used for bug reports and small enhancements. For feature requests, please contact the project owner.
Note: For the bug to be accepted, it must be reproducible using the latest release of Spartacus. See our Contributor Documentation for more information.
Environment Details

Spartacus:
Browser:
OS:
Device:
Other environment details:

Steps to Reproduce

Observed Results

Expected Results

Repository Used

Offer to Fix

Additional Information

Done with #5840


playwright v1.28 breaks electron tests

node@46e0815dd8b0:/opt/magic_mirror$ npx jest tests/electron/env_spec.js
 FAIL   electron  tests/electron/env_spec.js
  Electron app environment
    ✕ should open browserwindow (470 ms)
  Development console tests
    ✕ should open browserwindow and dev console (439 ms)

  ● Electron app environment › should open browserwindow

    TypeError: Cannot read properties of null (reading 'locator')

      37 | exports.getElement = async (selector) => {
      38 |      expect(global.page);
    > 39 |      let elem = global.page.locator(selector);
         |                             ^
      40 |      await elem.waitFor();
      41 |      expect(elem).not.toBe(null);
      42 |      return elem;

      at Object.locator [as getElement] (tests/electron/helpers/global-setup.js:39:25)
      at Object.getElement (tests/electron/env_spec.js:13:32)

so we should not update at the moment.

see https://github.com/microsoft/playwright/issues/18928

That would be a fix for 1.28:
diff --git a/package.json b/package.json
index b805bb9f..6f3038c9 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,7 @@
 		"jsdom": "^20.0.0",
 		"lodash": "^4.17.21",
 		"nyc": "^15.1.0",
-		"playwright": "^1.26.1",
+		"playwright": "^1.28.1",
 		"prettier": "^2.7.1",
 		"pretty-quick": "^3.1.3",
 		"sinon": "^14.0.0",
diff --git a/tests/electron/env_spec.js b/tests/electron/env_spec.js
index f962949c..2523e6f4 100644
--- a/tests/electron/env_spec.js
+++ b/tests/electron/env_spec.js
@@ -1,5 +1,6 @@
 // see https://playwright.dev/docs/api/class-electronapplication

+const events = require("events");
 const { _electron: electron } = require("playwright");

 let electronApp = null;
@@ -16,6 +17,7 @@ describe("Electron app environment", function () {
 	});

 	it("should open browserwindow", async function () {
+		await electronApp.firstWindow();
 		expect(await electronApp.windows().length).toBe(1);
 		const page = await electronApp.firstWindow();
 		expect(await page.title()).toBe("MagicMirror²");
@@ -36,6 +38,7 @@ describe("Development console tests", function () {
 	});

 	it("should open browserwindow and dev console", async function () {
+		while (electronApp.windows().length < 2) await events.once(electronApp, "window");
 		const pageArray = await electronApp.windows();
 		expect(pageArray.length).toBe(2);
 		for (const page of pageArray) {

Thank you @mxschmitt for your hints but it still doesn't work.
await electronApp.firstWindow(); throws
electronApplication.firstWindow: Timeout 30000ms exceeded while waiting for event "window"`

So the problem seems to be that no electron window event is created. Same code works if I downgrade to playwright v1.27.1.

this will be (hopefully) fixed with next playwright version v1.30 (see https://github.com/microsoft/playwright/issues/19412)

We'll cherry-pick it to 1.29.1

Fixed


Kwikset 888 alarmType and alarmLevel missing attributes

Kiwkset 888 Deadbolt is missing alarmType and alarmLevel attributes.  See issue #1713 (specifically here)
Similar work was recently done for Kwikset 910, 912, 914 and Yale locks.  The existing merge for the 910, 912, and 914 models should work for the 888.  I used a generic Kwikset template sensor under OZW 1.4 to report on which keypad codes were used.

Just to be sure that you're not misunderstanding. You're not going to see the alarmType and alarmLevel values if the mapping is applied. Instead zwave-js will emit "notification" events and update the lock status for you.

Hi @AlCalzone , I also have a Kwikset 888 and am trying to move my configuration over to Zwave JS. I am using Z-Wave JS 0.1.16. From what I can tell, the lock statuses are working properly, however "alarmType" and "alarmLevel" still list as unknown. Does you post above mean these values will still not get updated?
One thing I used to do with a combination of "alarmType" and "alarmLevel" was figure out which user was entering. When a user entered it would give a alarmLevel of the user associated with the pin (1,2,3...30), and an alarmType of 19 (PIN Unlock). Using the combination of those I could see whos pin was used like this in node red.

With "alarmType" and "alarmLevel" still listed as unknown, I'm not sure I see any way to do something similar. If they were just exposed I could still use something like my node red setup to fill the gap. Unless there is something that can be done to catch the last user user the "alarmType" (19) and "alarmLevel" (number associated with the user)  and emit a motivation for that.

We have a mapping defined for the Kwikset 888 - you'll receive events (I think HA calls them zwavejs_event) which specify that a RF (Un)lock happened and which includes the user ID as a parameter.

Thank, based on your comment I was able get something working with the "zwave_js_event" In node red I was able to listen to "zwave_js_event" with an "Events All" node. Once I had that I looked for a payload with "Keypad unlock operation" at $msg.payload.event.label and like you mentioned the UserID was there in the payload at $msg.payload.event.parameters.userId
My uploaded node red looks like this

thanks for your help, I think watching "zwave_js_event" should be fine

@AlCalzone I will say I found one issue with the lock status. This lock has a feature where the lock automatically locks after X seconds. When the lock automatically locks itself, it does not get updated in hass.io (it still shows "lock", like it is unlocked).
I can see it does send a "Auto lock locked operation" event but the status doesn't change in hass. I had this problem with my old configuration, so right now I am just doing like I did then... if I see a "Auto lock locked operation" even I am just calling the lock.lock service (telling has to lock even though it already is locked, which updates the status...which is a hack but works)

I think that's already fixed on master but not released yet

Would it be possible to add alarmtype 161 "Bad Code Entered" to the list of notifications?

I'll need to check but AFAIK there is no direct translation to Notification events for this.

Yep, I remembered correctly. The V2 notifications distinguish between trying to lock and trying to unlock with an invalid user code. I assure you that if we map it to one of them, there will be reports that someone wants to have the other mapping.
So I'm not going to map either and let everyone decide themselves.


Added data interpolation

This allows data interpolation to be parsed. Enabling nested lookups or variables to be stored in values.
Resolves https://github.com/crayfishx/hiera-http/issues/73

I've pulled commit from @glisignoli into #75  with fixes for the spec tests


improve the type&conversion handling around IO

should close #62

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (6b261e9) to head (2111d1f).

Additional details and impacted files
@@            Coverage Diff            @@
##            master       #63   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           37        37
  Lines          544       533   -11
=========================================
- Hits           544       533   -11

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@stelmo does the save_converted_model name sound OK? maybe it should say save_model_converted_by_path_extension but man, naming is hard
:de: variant: speichern_mit_dateinamenerweiterungkonvertierung, wonderful how this can be managed in 3 simple words


GreptimeDB Roadmap 2023

Overview
GreptimeDB set off in April 2022 and had just open-sourced on Nov. 15th, 2022. Many of our ideas are still on their way, yet to be polished. As we work towards GreptimeDB 2023, it's natural to ask what's next. This roadmap presents goals our team is working on and concepts we have for our shared community.

To give people a sense of what to expect in GreptimeDB over the next 6 months;
for those who would like to contribute to GreptimeDB, to help provide "starting points" for how to get involved, and a sense of what kind of projects we are looking for.

We will focus on three main sections:

Distributed solution at the production level
Deeply optimize storage and query engine
Compatible with open protocols

Everyone can easily find all the issues&PRs related to this Roadmap here
Details
Distributed solution at the production level
Features

[ ] Incorporate Quorum-based WAL (as an independent subproject): #626
[x] Analyze Query: #608
[ ] Design observability system tables: #602
[x] Enable MySQL/PostgreSQL TLS (suit for new contributors): #515
[x] Improve fault tolerance using distributed DDL framework #286
[x] Integration tests #487

Refactor

[x] Reconstruct gRPC, the data transmission protocol

Deeply optimize storage and query engine
Features

[x] Add user-defined window functions #103
[x] Escalate compaction L0 up to L1, & involve TTL #601
[x] Allow multi-region in engine #625
[x] Enable object storage, for example, S3 #652
[ ] Continuous aggregating and downsampling #638

Refactor

[x] Refact DataFusion & Arrow related components #555
[ ] Incorporate time series index

Performance

[x] Optimize memtable
[x] Improve distributed queries
[ ] Add SST's filter & index
[ ] Optimize python coprocessor

Compatible with open protocols
Features

[x] Enable PromQL (suit for new contributors) #596
[x] Permit PreparedStatement  (suit for new contributors) #470
[x] Be capable of Session (suit for new contributors) #600
[x] Provide SDK of multi-language (suit for new contributors)

[x] #606
[x] #607

How you can help
If anything above draws your attention, don't hesitate to join us on GitHub Discussion, or Join GreptimeDB Community on Slack if you have doubts and would like to talk about it first.
Looking beyond the initiatives that are in progress, there's a lot of room for improvement. Here are some other ideas we'd like to see. For many of these ideas, the main thing they need is someone to own the design! If you might be interested in giving that a try, speak up and chat with the team. We probably will end up being the ones who get you the best.

Most actions are finished. Welcome to join the Roadmap 2024 at https://github.com/GreptimeTeam/greptimedb/issues/3412.


Getting drunk slowdowns playback speed

Getting drunk decreases audio playback speed, which in combination with open mic will gradually increase delay until buffers overflow and choppy audio returns.

Fix, it seems, is to use the pitch shifter effect instead of the pitch attribute on audio sources. Which means this will be sorted with the shift to use them instead of filters for the muffling as well.


Raise specific exception

https://github.com/mailosaur/mailosaur-python/blob/c2276296b3c078e11e80d01942910e9968982cd5/mailosaur/operations/messages_operations.py#L190
This line should raise a MailosaurException, not a generic Exception

Having discussed this we are going to retain a standard Exception for now.

Could you please share your reasoning for retaining the standard Exception?


merge compatible to develop

merge compatible to develop

!ci-build-me

!ci-nightly-me

this PR is failing because real fix is here: #15992 (which is blocked on merges check)


Added decompressAll.

decompressAll will decompress a stream until exhaustion. Needed for gzip standard of concatenating archives (https://github.com/fpco/streaming-commons/issues/37).

i would ignore the CI. it's old and not been maintained for a while. This LGTM.

Fixed a typo. Not sure all the name decompressAll, but not sure there's anything better.

Thanks!


Long lines are stacked in Editor Output

Godot version
v4.0.dev.20211108.official.596865366
System information
Windows 10 64bit - Vulkan API 1.2.141 - GeForce GTX 1660 SUPER
Issue description
2 lines can be a bit stacked in Editor Output tab.

https://user-images.githubusercontent.com/2736557/141838904-4ed430e6-91f4-4095-a083-c64bffc9dd36.mp4
Godot 4 only. Tested on Windows 10 only.
Steps to reproduce

Print an object displayed on multiple lines (a Dictionary for example)
Print a normal line
Lines stack when you resize (vertically) the bottom tabs part of the Editor

Code used:
extends Control

func _ready():
    var a := {}
    var b := ""
    for i in range(40):
        a[i] = "abcdefghijklmnopqrstuvwxyz0123456789"
        b += "b"
    print(a)
    print(b)

Minimal reproduction project
bug-stdout.zip

EDIT 2021-11-15 : typo

This is likely related to https://github.com/godotengine/godot/pull/41321. cc @EricEzaM

Hmm, maybe. Editor log just uses RichTextLabel directly though in a pretty no-frills way, so it might be related to some changes in there also.

Can no longer reproduce in alpha 8

Just tested with alpha8: the bug is still there.

Looks like I tested wrongly, thanks for checking >_>

According to https://github.com/godotengine/godot/pull/61856#pullrequestreview-1060251737 this was fixed by the latest Font refactoring.


Send generated images to selected board by default

Summary
Currently images that are generated are sent to the board that is designated as the auto-add destination. However, this can be confusing when a user has multiple boards they are using during a session.
Intended Outcome
Users are able to choose a setting:

Images generated are sent to the board that is selected upon pressing "Invoke" (this should be the default)
Auto-add board remains constant

The first option would allow images to be sent to the currently selected board after generation
The second option would have images be sent to the board that is chosen as the auto-add board

I would like to work on this issue.

That's great @KevinBrack! Feel free to jump right in - if you have any questions you can reach out to me on Discord (@imic) or in the #dev-chat channel

To add a bit of context, option #1 ("lock in" the auto-add board when the invoke button is clicked) was how it worked initially, as implemented by @maryhipp . I changed the behavior to use a separate piece of state that the user controlled, and you could change it mid-generation.
@maryhipp 's implementation worked by adding a board_id property to the invoke redux actions, and using that when handling socketInvocationComplete to figure out which board to add the image to.
Feel free to ping me if you have any technical questions, here or on discord.


[WIP][help needed] root: 6.24.06 -> 6.26.02

Description of changes

Update following the change of the ROOT next stable version.
Inject sw_vers.patch as an input parameter to make overriding easier.

Problems encountered and work in progress

error: 'DF_1_PIE' is not a member of 'llvm::ELF
Partial build log:
/build/root-6.26.02/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp: In function 'void cling::HandleDynTab(const llvm::object::ELFFile<ELFT>*, llvm::StringRef, llvm::SmallVector<llvm::StringRef, 2>&, llvm::SmallVector<llvm::StringRef, 2>&, std::vector<llvm::StringRef>&, bool&)':
/build/root-6.26.02/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp:620:43: error: 'DF_1_PIE' is not a member of 'llvm::ELF'
620 |           if (Dyn.d_un.d_val & llvm::ELF::DF_1_PIE)
|                                           ^~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option '-Wno-unused-local-typedef' may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option '-Wno-covered-switch-default' may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option '-Wno-nested-anon-types' may have been intended to silence earlier diagnostics
make[2]: *** [interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/build.make:291: interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/DynamicLibraryManagerSymbol.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:10544: interpreter/cling/lib/Interpreter/CMakeFiles/obj.clingInterpreter.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Full log: root_build.log

This can be fixed simply by using the built-in LLVM ("-Dbuiltin_llvm=ON"). Since efforts are made to use the external / vanilla LLVM, we may still want to fix it.
Cc: @veprbl

thisroot.sh contains third-party command-line tools such as which ps and coreutils stuff that might not appear in the setup-hook runtime / user runtime. Since the file is meant to be sourced, it will need to be patched by substitution instead of specifying the PATH.

root expects sed and ldd executables to present when running. This can be addressed by wrapping the root executable.

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

May have to patch llvm with https://github.com/root-project/root/commit/a9c961cf4613ff1f0ea50f188e4a4b0eb749b17d

May have to patch llvm with root-project/root@a9c961c

@veprbl Should the patch goes directly to the llvm_9 package in Nixpkgs, or should we customize that LLVM to inject into the 'buildInputs' here?

error: builder for '/nix/store/rf3vrqywrdiy029hymva2y1s9jpm3dn5-llvm-9.0.1.drv' failed with exit code 1;
       last 10 log lines:
       > --------------------------
       > |diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
       > |index 4e1cb7d544e7..972d41ea104b 100644
       > |--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
       > |+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
       > --------------------------
       > File to patch:
       > Skip this patch? [y]
       > Skipping patch.
       > 1 out of 1 hunk ignored
       For full logs, run 'nix log /nix/store/rf3vrqywrdiy029hymva2y1s9jpm3dn5-llvm-9.0.1.drv'.

Please try to use fetchpatch, it has some parameters to modify paths and select which files to patch:
https://github.com/NixOS/nixpkgs/blob/1f117e37a20d491ae1cbde9cac114f6dbd7f217e/pkgs/build-support/fetchpatch/default.nix#L13-L16


add CARGO_TARGET_DIR/{debug,release} to path

fixes #1385 #1400

@rajatjindal Is it okay to merge this?

Hi @itowlson, I need to verify that it works fine with local tests/ci and docker based e2e tests before merging. Also need to re-visit my conversation with Ryan who brought up a scenario where this may cause more pain.
I will try to get this done this week.

I looked a bit more into this. If we set the CARGO_TARGET_DIR env, the tests on local setup would fail as the wasm file will be generated in a different folder then the one we are expecting in spin.toml file.
I think to be able to use this env variable, we need to teach the build command inside spin toml to place the file at the right location.
e.g.
[[component]]
id = "hello"
key_value_stores = ["default"]
source = "target/wasm32-wasi/release/key_value.wasm"
[component.trigger]
route = "/..."
[component.build]
command = "cargo build --release --target wasm32-wasi"

in the above example, we expect the source wasm file to be in specific location. if we change the CARGO_TARGET_DIR, then the test fails as it is unable to find target/wasm32-wasi/release/key_value.wasm file.

I have updated the PR to include following dir in PATH (in that order)
target/debug
target/release
$HOME/.cargo/bin
$PATH
I have also modified the testcase::run function to print following info about which spin binary and version is being used for running the test.
e.g.
[testcase::run] Running testcase "config-variables" using spin ("/usr/local/bin/spin") with version "spin 1.4.0-pre0 (2e34ef5 2023-06-14)"

This doesn't appear to affect the version of spin used in e2e tests. Is that expected?

I am trying to ensure this cover the common usecases:

Running on CI
Running on local laptop (outside container and inside container) with Mac/Windows/Linux and AMD64/ARM64

following is the summary of changes now:

for each test case print path to the spin binary is used and the version of that binary
when running tests on host system (e.g. make test-kv), it uses the binary available in target/{debug,release} or ~/.cargo/bin or $PATH (in that order)
when running tests inside the container (e.g. make test-spin-up), if host is a MAC-OS system, it compiles spin inside the container by default and use that. It makes use of docker volumes to cache stuff for faster iterations.
Mounts target/{debug,release} dir inside container if host is a linux system


Fix formatting in README.md

@optimizely/fullstack-devs
MD wasn't rendering properly

Coverage remained the same at 98.943% when pulling eac22740caaac18c39aeba2cc2337bdf9ec15f40 on elliot/readme into dddbbc673306bff9b310838603b255d87c153b37 on master.

Coverage remained the same at 98.943% when pulling 89cbd0041ee3c3e6e59819f9a7749f609d1c675f on elliot/readme into 67838a26a0aa7fb9d3cd77c54c1a685b10f4ac73 on master.


Dataclass fields not being fetched for resolve_types

Disclaimer : This might be a cattrs issue (please let me know if I should close this and repost there).
Raising here since after my limited investigation it seems like it might be solvable within _funcs.py (might break other things). Per my understanding, the issue primarily stems from PEP 563. So the behavior changes based on if you use from __future__ import annotations in your code.
from __future__ import annotations # comment this line and rerun for success
from dataclasses import dataclass
from cattr import structure

@dataclass
class Foo:
    bar: int

print(structure({"bar": 123}, Foo))

This seems to be the code flow

gen_structure_attrs_fromdict is called https://github.com/python-attrs/cattrs/blob/20ca64405944ea81ac207e070e180d2d805c8fd1/src/cattr/converters.py#L730-L734
That calls fields in _compat.py in cattr. This fields works as expected. https://github.com/python-attrs/cattrs/blob/20ca64405944ea81ac207e070e180d2d805c8fd1/src/cattr/_compat.py#L49-L56
For each of the field above if isisntance(field, str) then resolve_types is called in _funcs.py in attr. https://github.com/python-attrs/attrs/blob/3df7bbe089658ecf1dcc21308926bfd9133b12e1/src/attr/_funcs.py#L413
The resolve_types calls the fields in _make.py which raises NotAnAttrsClassError https://github.com/python-attrs/attrs/blob/3df7bbe089658ecf1dcc21308926bfd9133b12e1/src/attr/_make.py#L2029-L2054

To me it seems like the fields in step 2 and 4 could/should be the same? I might be missing context, happy to work on this given some general guidance.
Thank you for the two powerful libraries!

Does it work with cattrs 1.10?

Did you mean to do from dataclasses import dataclass?  Because then it's not an attrs class.

@Tinche Just saw https://github.com/python-attrs/cattrs/issues/195 and tried 1.10 out, seems like that works.
@euresti dataclasses was intentional, opened the issue in attr since seemed like a generic solution might belong in attr but seems like its being taken care of in cattrs.
Thanks, will close the ticket!


Document first_party and relative being the same section vs isort

Now that we normalize whitespace between sections, this means that we remove a blank line that already-sorted code likely has.
import first_party.submodule import foo
from .submodule import bar

Since this issue is about documenting the behavior I'm guessing it is intentional? I grew fond of the split between first party and local. Local imports are usually used for functionality that is not publicly exposed or at least not in the same location. Having a split between these two sections makes clear.

Yes, it's intentional, mainly for simplicity.  The real-world examples I've seen of mixing absolute first-party and relative imports have all seemed pretty strange to mix (relative gets you shorter and easier to vendor, while absolute is more explicit).
Do you have an example of mixed imports that's not from people copy-pasting?
I don't know if this is helpful for torchvision but you can configure the categories on the open-source version to keep your absolute imports separate:
[tool.usort]
categories = ["future", "standard_library", "third_party", "my_torchvision", "first_party"]
first_party_detection = false

[tool.usort.known]
my_torchvision = ["torchvision"]

Yes, it's intentional, mainly for simplicity.

Simplicity of implementation or something else? I imagine detecting relative imports should be quite easy since they always start with a dot.

Do you have an example of mixed imports that's not from people copy-pasting?

I can only give you a toy one: I usually draw the line between absolute and relative imports for public and private functionalities. Given a setup like
foo/
├── bar.py
├── _baz.py
├── __init__.py
└── qux.py

the content of qux.py could look like
from foo.bar import spam

from ._bar import ham

If someone inspects the code, they can see at a glance that foo.bar.spam is publicly available, whereas foo._bar.ham is not. Agreed, this is nothing major, so that wouldn't stop me from using usort.

I don't know if this is helpful for torchvision but you can configure the categories on the open-source version to keep your absolute imports separate:

So does that mean that now only relative imports get sorted into the first_party category?

So does that mean that now only relative imports get sorted into the first_party category?

Yes, that's what first_party_detection = false does.  With just that, torchvision imports would be lumped in with other third_party ones which is what the my_torchvision part is about.  (The name is arbitrary.)
I see your toy example, and while I'm generally against boolean flags if you want to send a PR I can review.

if you want to send a PR I can review.

I'm kinda packed right now, so I'll live with the workaround for now.


devicemapper cleanup

per https://github.com/docker/docker/pull/9258#issuecomment-66247203

We read all the metadata files at startup to create the bitmap, so we take an i/o hit here, but we don't register the devices, but instead lazily re-read them as they are used. Doesn't it make more sense to store them when we read them?
There are some low hanging fruit in terms of performance in the bitmask. First of all, it could use an array of uint32 rather than bytes which will cause less array ops during a search. Secondly the find-unused-id could be much faster by scanning the array until it finds != 0xffffffff and then using a find-first-zero-bit op.
Also, given that we now have this in-memory we could be smarter about allocating new device ids to make them dense by quickly reusing low ids. I know that would make the bitmask more efficient, but it may also make the on-disk performance better with the devicemapper thin pool.

@rhvgoyal Is this fixed or is going to be fixed? Maybe we can close it?

@LK4D4 Some of these are possible imporovements. But nothing says that they are big gains. For now nothing is on my priority list. May be we can close this and open when we are actually changing something or this becomes a serious performance issue.

@rhvgoyal thank you very much for the answer. I appreciate it.
Closing this.


Updated "Submitter" column in the Results table and minor content changes

Background
Based on conversations with the design team, there are some minor tweaks to the "Submitter" column in the "Results" table.

Removing the middle name. Facilities typically only have a handful of people submitted test results. As a result, we can remove the middle name from the table cell in order to save more space for more important columns of data (i.e. patient name and device name).
Rename "Submitter" to "Submitted by". This one's more of a nice-to-have and reads more fluidly than "Submitter"

Aside from this, there are also some minor content changes requested by Rebecca. These suggestions are to maintain a consistent content style throughout our app.

Rename "Results" filter to be "Test result"
Rename "Device" column to be "Test device"

Action requested

[ ] Remove middle name from the "Submitted by" column
[ ] Rename "Submitter" column to be "Submitted by"
[ ] Rename "Results" filter to be "Test result"
[ ] Rename "Device" column to be "Test device"

Acceptance Criteria
What needs to happen for this ticket to be complete?
Additional context
Add any other context or screenshots about the feature request here.

A/C Text change, also includes change to GraphQL submitted to not include middle name.


Update Addon for Storybook v7.0

Updating dependencies to test support for Storybook v7.

This PR has some issues but I'm submitting hoping I can get some help.
The code to register the addon makes use of the global object by importing it as if it was a dependency. I believe this is the standard use case when in Node environments.
The problem is the bundle is not finding it in the local dependencies to it fails to run or build Storybook.
The bundle in use for those two steps seems to be ESBUILD, not Webpack. Attempting to deal with this problem using standard Storybook's Webpack configuration made no difference. I'm attaching the error below:
✘ [ERROR] Could not resolve "global"

    dist/register.js:3:22:
      3 │ var _global = require("global");
        ╵                       ~~~~~~~~

  You can mark the path "global" as external to exclude it from the bundle, which will remove this
  error. You can also surround this "require" call with a try/catch block to handle this failure at
  run-time instead of bundle-time.

ERR! Error: Build failed with 1 error:
ERR! dist/register.js:3:22: ERROR: Could not resolve "global"
ERR!     at failureErrorWithLog (/Users/username/code/addon-google-analytics/node_modules/esbuild/lib/main.js:1604:15)
ERR!     at /Users/username/code/addon-google-analytics/node_modules/esbuild/lib/main.js:1056:28
ERR!     at runOnEndCallbacks (/Users/username/code/addon-google-analytics/node_modules/esbuild/lib/main.js:1476:61)
ERR!     at buildResponseToResult (/Users/username/code/addon-google-analytics/node_modules/esbuild/lib/main.js:1054:7)
ERR!     at /Users/username/code/addon-google-analytics/node_modules/esbuild/lib/main.js:1166:14
ERR!     at responseCallbacks.<computed> (/Users/username/code/addon-google-analytics/node_modules/esbuild/lib/main.js:70

Is it possible to pass arguments to ESBUILD to via the Storybook CLI? Or am I approaching this the wrong way?

@fgaleano, thanks for putting this pull request together and having it support Storybook 7.0. We're extremely thankful for it 🙏 ! I will reach out to the Storybook team and see how they can unblock you on getting this one merged and released. It goes without saying this could take some time as the team is getting geared up for the upcoming Storybook release and probably won't be able to commit too much time. Sorry for the inconvenience on this. I hope you understand.
Hope you have a great weekend.
Stay safe
cc @shilman, @ndelangen , @yannbf

@vanessayuenn do we put this on the 7.0 burndown chart somewhere?

I tried pulling your branch, but it's not using TSup/Esbuild at all...

@ndelangen Thanks for the update. I'll be on the lookout for the deprecation announcement. I may or may not use my fork to publish the independent version. Out of curiosity, what is the Storybook team using for analytics? Or is analytics not really an area of focus?
As for the issue I reported, if you try to run or build Storybook from the branch, you should get the same error I shared above. The stack trace says its coming from ESBuild. Doesn't Storybook use ESBuilt internally? If you're not getting the error, let me know. Thanks.

@fgaleano I understand the confusion now. I ran yarn build in the addon repo, and it was (still) using babel to create dist.
https://github.com/storybookjs/addon-kit (the template of this repo) has been updated to use TSup + ESbuild.
I think if this was done, the runtime problem will go away.

what is the Storybook team using for analytics

We don't track any events in the browser for any storybook we own.
Just stating the obvious: we also don't track any events in the browser of any storybooks we don't own.


A VM for crystal

Hi @KCreate I know this project isn't maintained anymore, but I want to ask you something,
Do you think would be possible to write a VM machine for crystal?
Ref: https://gitter.im/crystal-lang/crystal?at=5ab0150635dd17022e79c5fe
The idea is to create an interpreted, slow crystal-vm in aims for fast development, interpreted bytecde execution and live in-debugger. Keeping crystal compiler for production release executables (slow compilation, but fast execution and stand-alone binaries)

WDYT?
BTW, you charly-vm in C++ looks pretty nice :+1:

Also we don't have to rewrite all, we can reuse the current lexer, parser and std-lib, just replacing the code-gen by a custom VM (I have no idea how to do it :sweat_smile: )

Hey,
It would be definitely possible. The tricky parts would be C-interoperability and basically all the parts which use some form of assembly.
Anyway, are slow compilation times really a problem with Crystal? Recompiling Charly takes about 1.3 seconds for me (unoptimized build), which is extremely fast in my opinion.
I don't really see a need for an interpreted version of Crystal, but if there is a strong desire from the community for such a project to be developed, I'd love to help out wherever I can!
Are there other people who want this, maybe even from the core-team?

It would be definitely possible.

Oh, great! :tada:

The tricky parts would be C-interoperability and basically all the parts which use some form of assembly.

Maybe we can add some warning for it, saying something like: if you want to use this feature you should use crystal build or maybe using JIT compiling or similar for this. (I guess Julia lang does something similar)
@KCreate I had the idea because I was asking for a true REPL for crystal, and I got a very interesting response from @RX14 :

the problem was never being compiled
nobody ever said that
the problem has and has always been the type system

Then he wrote some nice comments:

Since you can reuse the existing compiler
What you'd do is pass the whole program through most of the existing crystal compiler
And instead of Codegen use the existing AST in a vm
It'd be slow as shit but who cares
Every time you make an update youd reconstruct the AST for the whole program again
Making an interpreter with no checking (its already been done by the compiler) is far easier than making one from scratch

So, the problem is not because crystal slow compilation (sometimes is very slow, though), but because the type system.

my observation is that the compiler isn't actually that slow
and the compiler being slow isn't the problem
you just run "half" the compiler
even for a moderately sized application
you should be able to do hot reload with this
icr is uselss to me
what I want is the ability to use it as an in-program debugger
and possibly for hot-reload

Ref: https://gitter.im/crystal-lang/crystal?at=5ab00ef5f3f6d24c689220d7

Also, There is Myst a nice dynamic, interpreted, functional language made with crystal by @faultyserver
Maybe he can share his opinions about a VM for crystal as well

Hello!
I'm basically in full agreement with what RX14 has said. I really don't know enough about the internals of the Crystal compiler to know what is and isn't possible (e.g., with templating, open types, etc.), but the idea of using the same front-end and just swapping the codegen for an interpreter sounds like the right direction.
I have a lot of questions I'd have to work through to really get an idea of what's possible here, but I'd definitely be willing to help out/continue discussions/etc.

Interesting post here: https://www.reddit.com/r/crystal_programming/comments/91r8im/crystal_has_a_compilation_issue/


DDN-19 MSSQL stuff implemented

Hi Sorin,
As we discussed in person, you'll continue to work on it and will resubmit the PR once you feel confident.
Also, please rebase before submitting, as the master branch will probably move a lot :)
Dani


Just small problem... How can I run the testing version with 5.11.31?

I would like to use a docker-compose.yml for that. But I can't get it to work.
Where should I paste the testing tag?

Based on my example docker-compose.yml file change
...
services:
  unifi:
    image: goofball222/unifi
    container_name: unifi
...

to
...
services:
  unifi:
    image: goofball222/unifi:testing
    container_name: unifi
...

Keep in mind that you will need to update your docker-compose.yml to point to the correct tags as the versions evolve through unstable, testing, sc, and then to stable releases. The container releases follow the same tags Ubiquiti uses for their releases. The current "stable" release is the latest/base tag for the container.
Also keep in mind that due to software/database changes you can't directly downgrade from a newer version to older version. Make sure you have a full backup before making any version updates or tag switches.


chore: add prettier config

Add Prettier as a code styling tool.
By introducing prettier, it is possible to make the code style consistent. Also, if there are contributors using prettier as an IDE, their code will be formatted based on prettier's default settings, but they may conflict with Eslint. It would be a good idea to prepare settings on the project side.
Fortunately, projen supports prettier, so you only need to set up a few lines of projenrc.ts.

This is certainly a good idea. 👍
Personally I don't have a strong opinion about specific formatting options as long as it's consistent and enforced.

As long as it's consistent like @mrgrain , I'm not particular about anything else. I tried increasing the range allowed by Prettier so that it would be @hoegertn 's favorite format.

Self-mutation is also a good match. If a contributor forgets to format it, there's no need to point it out.

Still not a big fan of the excessive newlines. Can't we use prettier but with the same settings as before?
These were a good fit and are also basically what every CDK / projen projects uses.

Prettier, by design, isn't really that configurable, so I'm not sure if we can match specific ideas. To be honest, I would personally prefer to use prettier with as little changes as possible, as this enforces the notion that codestyle usually isn't the most important thing to discuss - but I'm also in the camp that doesn't really care how exactly we format the code.
My suggestion would be maybe @hoegertn you can check which of the options you care about and we can then update the config accordingly. I don't think we will be able to pixel-perfect match the old style, but maybe we can at least get close on what matters.

I think I am fine with the selected options but I really hate the excessive newlines.
But if we decide we want to use prettier I will live with it.


Documentation for ClientConfig parameters?

Hi,
There are multiple parameter settings for the ClientConfig,
https://github.com/apache/pulsar-client-node/blob/d2c0d1e374f8e9f25934bd679436da0872b6bc8e/index.d.ts#L25-L33
Is the documentation for these parameters available somewhere? Ideally I'd suggest adding some comments directly in the typescript definition, so users of the library can see some documentation while developing.

I suspect this overlaps with pulsar-client-cpp, I didn't find docs for that but there is an equivalent overlap with the java client - https://pulsar.apache.org/api/client/2.10.0-SNAPSHOT/org/apache/pulsar/client/api/ClientBuilder.html

@larshp
Did you see the official documentation? https://pulsar.apache.org/docs/en/client-libraries-node/#client-configuration
It is not for the type definition(index.d.ts). However, it is most likely useful.

@equanz thanks, that helps
but as a user, how do I find that documentation? I lookup the npm package on https://www.npmjs.com/package/pulsar-client, check the git repository https://github.com/apache/pulsar-client-node, and I cannot find any links to the documentation linked above?

but as a user, how do I find that documentation? I lookup the npm package on https://www.npmjs.com/package/pulsar-client, check the git repository https://github.com/apache/pulsar-client-node, and I cannot find any links to the documentation linked above?

 It would be better to add the link to this repository.


Fix form validation for phone number issues

While working on my cloned repo, I see issue of phone number form validation

Hi, This issue has already been fixed.
Thanks for your wonderful work


Upgrading from v0.70.6 to v0.71.0 causing extremely slow debugging mode on Android

Description
I recently upgraded my react-native project from version 0.70.6 to 0.71.0 using the React Native Upgrade Helper and have noticed a significant decrease in performance when using the debugging mode. The app takes much longer to load and the debugging process is extremely slow, making it difficult to make any changes.
Version
0.70.1
Output of npx react-native info
System:
OS: Windows 10 10.0.22621
CPU: (12) x64 AMD Ryzen 5 2600 Six-Core Processor
Memory: 4.42 GB / 15.93 GB
Binaries:
Node: 18.13.0 - C:\Program Files\nodejs\node.EXE
Yarn: Not Found
npm: 8.19.3 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
API Levels: 31, 32, 33
Build Tools: 30.0.3, 31.0.0, 33.0.0
System Images: android-31 | Google Play Intel x86 Atom_64
Android NDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: AI-213.7172.25.2113.9123335
Visual Studio: 17.4.33110.190 (Visual Studio Community 2022)
Languages:
Java: 11.0.17
npmPackages:
@react-native-community/cli: Not Found
react: ^18.2.0 => 18.2.0
react-native: ^0.71.0 => 0.71.0
react-native-windows: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
Upgrade react-native project from version 0.70.6 to 0.71.0
Run the app in debugging mode
Notice the slow performance and long loading time
Snack, code example, screenshot, or link to a repository
//

We're experiencing the same issue, we upgraded from RN 0.70.1.

+1
I'm guessing it has something to do with forcing all libraries to use 0.71.0
since i can only launch the app if i've built with the following in app/build.gradle:
configurations.all {
    resolutionStrategy {
        force 'com.facebook.react:react-native:0.71.0'
    }
}

cause otherwise i would get the following error:
couldn't find DSO to load: libjscexecutor.so

Oh, I spent so many time today thinking that one of my dependencies works wrong... Yeah, seems like this is React Native issue

I am having the same issue after upgrading, It takes about 2-4 after pressing something to respond, and the whole application is slow.

System:
    OS: Windows 10 10.0.22621
    CPU: (20) x64 12th Gen Intel(R) Core(TM) i9-12900HK
    Memory: 14.89 GB / 31.69 GB
  Binaries:
    Node: 16.17.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files\nodejs\yarn.CMD
    npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK: Not Found
    Windows SDK:
      AllowAllTrustedApps: Disabled
  IDEs:
    Android Studio: AI-213.7172.25.2113.9123335
    Visual Studio: Not Found
  Languages:
    Java: 18.0.2 - C:\Program Files\Common Files\Oracle\Java\javapath\javac.EXE
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0
    react-native: 0.71.0 => 0.71.0
    react-native-windows: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

I want to add, that not only buttons (touchable) works slowly. UI updates on active screen are throttling. And what is interesting - React Navigation transition animations works fine. And ScrollView works fine. Perf monitor shows -2 FPS sometimes (whatever that means)

Thanks for the issue report.
Several questions to help me investigate what's going on:

Are you using Hermes or JSC?
Is this happening also on a blank project created with npx react-native init RN071?

Hermes
Yes. I started new project. You can see that links on default page work a bit slowly. But if you setup basic React Navigation with 2 screens you can see how long it takes to start switching screens

p.s. production build via ./gradlew assembleRelease works fine, no throttling. Only dev mode issue on android

I'm facing the same issue. On the bright side, everything is normal in the release apk.
By the way Cortinico I'm using Hermes.

@inferusvv Does the issue happens also if you disable Hermes (there is a flag in the app/android/gradle.properties file).

The blank react-native project works fine.

@cortinico Without Hermes it works fine.
I've set hermesEnabled=false at android/gradle.properties

I can also confirm that once Hermes is disabled, it works fine.
hermesEnabled=false

@cortinico Without Hermes it works fine.

Thanks for the confirmation. We'll be releasing 0.71.1 sometime next week with the fix for this. I believe the version of Hermes that comes with 0.71.0 is coming with Hermes in Debug mode which is causing this. I'll publish an update on this issue once we have the point release out.
For the time being you can either:

Disable Hermes
Stay on 0.70.x

@cortinico I have a similar problem with Hermes enabled and release mode.
Do you have any idea?
E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules     Process: com.x, PID: 858     g4.c: Error: Exception in HostFunction: java.lang.UnsatisfiedLinkError: dlopen failed: library "libhermes-executor-debug.so" not found: needed by /data/app/~~Ns2koKqLBQX7wBUnu4tVuQ==/com.x-AIBSl2ICRWAREL01a4QKbg==/lib/arm64/libreanimated.so in namespace classloader-namespace, js engine: hermes, stack:

@cortinicoSem Hermes funciona bem.

Obrigado pela confirmação. Estaremos lançando o 0.71.1 na próxima semana com a correção para isso. Acredito que a versão do Hermes que vem com 0.71.0 está vindo com o Hermes no modo de depuração, o que está causando isso. Publicarei uma atualização sobre esse problema assim que tivermos o lançamento pontual.
Por enquanto, você pode:

Desabilitar Hermes
Fique em 0.70.x

Why is upgrading react-native is so HARD? cant upgrade to 0.71 and upgrade helper cannot help me!!

@saxahan send me an email with your issue, i may be able to help

@saxahan send me an email with your issue, i may be able to help

Thanks for your helpful thought.
I managed to upgrade step by step by hands. Now I can run android and ios. However; ios cannot be installed from react-native run-ios, so I installed via Xcode.

for me too, I realized that version 0.71 is super throttled.
When starting Metro, you already feel the lag.

thank god I found this issue, after a day of wasteful effort and countless StackOverflow and GitHub issue searches!!
Must Say, it is very to do an upgrade in react native and the updates are also very frequent.

same issue here

Hey @alabsi91 @inferusvv @muzhaqi16
I do have a potential fix, but I'm looking into getting a reproducer to validate this fix before we include it in 0.71.1.
So if you or anyone else could provide a reproducer, that would be greatly beneficial to verify this.

@cortinico feel free to share the details and I can test it as is reproducing for me as well

@cortinico feel free to share the details and I can test it as is reproducing for me as well

The fix is nothing you can change locally as you would need a newer version of Hermes that needs to be prebuilt.
So I would need a Github project, starting from npx react-native init RN071 which reproduces this issue. I will test it on my machine and we'll follow up as soon as the issue is fixed in a numbered release.

@cortinico

Tested on Android Emulator and Samsung S10 device - debug mode -  Hermes enabled.
a simple test app with react navigation and FlatList, I hope this will hellp.
https://github.com/alabsi91/RN071-hermes-debug-throttle-issue

@alabsi91 Thank you for demo, also wanted to created :)
I wondered, is it possible that it is an issue of reanimated? @migueldaipre Attached another issue from software-mansion project

@inferusvv React-Navigation uses the Reanimated library, so...

I believe it has no connection, the problem in reanimated happened in release builds.

@inferusvv React-Navigation uses the Reanimated library, so...

Yeah, that is why I have such question :) I see that everyone here is using react navigation. Let's see what happens after Reanimated updated. They merged attached to this issue MRs, but honestly I have no idea what about they are 😅

@alabsi91 Thanks for the repro, I was able to confirm that the fix is working. It will be available in 0.71.1
And no, the issue is not related to react-navigation but to how we build and bundle Hermes

@cortinico Any rough idea on then that might land? I need to make a call on whether we roll back or not.

I'm rolling back for now. Just keeping the file changes in another branch so I'll have an easier time upgrading after the fix is launched

we have an hiccup for the Hermes fix in the sense that we need to wait for a piece of the pipeline to get released and there's a problem with getting it out of the door because of old credentials 😅 we want this fix to land asap but no clear ETA of when we'll be unlocked (doesn't depend on us) - as soon as we know more we'll let you know

@kelset well as long as we can temp fix it via disabling Hermes in debug, the matter is not that urgent so...

@cortinico Without Hermes it works fine.

Thanks for the confirmation. We'll be releasing 0.71.1 sometime next week with the fix for this. I believe the version of Hermes that comes with 0.71.0 is coming with Hermes in Debug mode which is causing this. I'll publish an update on this issue once we have the point release out.
For the time being you can either:

Disable Hermes
Stay on 0.70.x

Thanks, solution with hermesEnabled=false

as soon as maven publishes the artifacts, yeah... sadly there's some hiccup on their side so please keep an eye on  https://github.com/facebook/react-native/issues/35904

ok artifacts are out now, 0.71.1 can be used and yes it should have the fix you need :)

Can confirm it's been fixed on 0.71.1. 🎉

I also confirm that the hermes is already adjusted in android and everything is going smoothly. It was also adjusted that it did not automatically launch the android emulator but in this version 0.71.1 it was already adjusted! thank you. :)

perfect, closing!

just wow for the  RN-0.71.1 as  all the issue fixes within a day by upgrading to latest.
but, one thing once we change the UI (added some style) and saving , instantly changes are not reflecting as of now need to reload the app then changes are reflecting.

App is running very slow on 0.71.2. Updated from 0.66.5 and now its very slow in response on both development and release.

@AliZaib-Emumba I don't think the answer you're looking for is in this issue. This issue was caused by 0.71.0 which is resolved in 0.71.2. Your problem is probably different.

Is there anyone to occuring still this issue? I'm on 0.71.3 and it's very slow on Android.

@furkanuzundev are you sure that in 0.70.6 is not happening?

@manosKas actually i didn't try on 0.70.6.I have updated from 0.67 to the latest version

Есть ли у кого-нибудь еще эта проблема? У меня 0.71.3 и на Андроиде очень тормозит.

Та же проблема.

i'm same issue on 0.70.6, very slow navigation in tabs. I can't find a solution, and I already have hermbesEnabled = false

i'm same issue on 0.70.6, very slow navigation in tabs. I can't find a solution, and I already have hermbesEnabled = false

my solution was update to version 0.71.4  and  cd android && ./grandlew clean

hermesEnabled=false I noticeably improved the performance of the app

I was thinking like should we really use react-native for cross-platform app development anymore!

0.71.4 has same issus

0.71.8 has same issue

I think it is an important bug of the library. The app is practically unbrowsable at times.
0.70.6
I havehermbesEnabled = falseand newArchEnabled = false  NOT WORK. Very slow.
no new?

0.71.11 has same issue

0.71.11 has the same issue
I havehermbesEnabled = false and newArchEnabled = false NOT WORK. Very slow.

hermbesEnabled = false
newArchEnabled = false
react-native 0.71.11
has the same issue Very slow.

@GuidoGagliardini @hassanannajjar Maybe hermesEnabled works better than hermbesEnabled?


[draft]Dengyi/feature/integrate ghw to goss

Checklist

[x] make test-all (UNIX) passes. CI will also test this
[x] unit and/or integration tests are included (if applicable)
[x] documentation is changed or added (if applicable)

Description of change

Hello,
This PR  wants to integrate ghw (https://github.com/jaypipes/ghw) function into goss. With ghw integration, goss will have more hardware level testing ability.
Thanks

Yeah, I think this will need to be rebased/submitted. The diff is difficult to read.
Looking forward to it, the new macid check is pretty cool

Thank you @weakiwi.
I am having a hard time looking at your actual changes, so we will need to clean this up. Your code changes seen to have been committed with merges from the master branch so there is a lot of strange changes in this PR. Please rebase your changes to the master branch.
The PR is also tagged with [draft] is that still entended?

Hello @pedroMMM
Sorry for lately updateing my branch.
The draft is because I want to integrate more feature from ghw, like:
1. CPU (total cores, threading, model, etc)
2. Block devices (type, size, partition, mountpoint, etc)
But I am not sure if we have any rules for importing 3rd part packages, so I do a minor changes for reviewers to check first. If the way I use 3rd part pkgs is ok, I will push other feature on the same branch.
THX

BTW. Shall I fix the issues in codeclimate. Seems those issues are not cause by my changes. THX

The draft is because I want to integrate more feature from ghw, like:

CPU (total cores, threading, model, etc)
Block devices (type, size, partition, mountpoint, etc)
But I am not sure if we have any rules for importing 3rd part packages, so I do a minor changes for reviewers to check first. If the way I use 3rd part pkgs is ok, I will push other feature on the same branch.

@weakiwi That is a great approach. I just got confused about the messaging and didn't want to review a PR that wasn't ready nor leave you waiting for a review.
As far as I can tell there are no "rules" for importing 3rd party packages, besides the regular sanity checks. You can feel free to either add the new tests in this PR or in a new one, up to you. As it stands right now the PR is already adding value and functional so I would recommend merging it and just create new PRs for the new features since smaller PRs are much easier to manage.

BTW. Shall I fix the issues in codeclimate. Seems those issues are not cause by my changes. THX

Since the issues aren't caused by your changes we aren't going to require you to address them. Usually, if you fixing issues its appreciated, but I took a look and these issues aren't very simple. So feel free to ignore them.

OK. Let me remove the draft tag and please help to merge.
I will add features on other small branches.
Thanks for your work!

@aelsabbahy it's ready to merge when you have some time. 👍

Hello @aelsabbahy
Do you have any problem about this PR?
THX

I don't have a problem with this PR. Just waiting to merge it when I'm ready to cut a release. However, given the other PR that was submitted, I'm starting to wonder if I may not fully understand your goals with these PRs
I started an issue to discuss this feature and the other one here #570


PyTorch

Is it possible to train a custom pytorch model with this framework?

I have never tried it with radio but the underlying library batchflow supports custom PyTorch models (https://analysiscenter.github.io/batchflow/intro/torch_models.html).

Close for inactivity. Feel free to open if the issue is still relevant.


fix(#118): validate the child namespace for RFC 1123

Signed-off-by: gkarthiks<EMAIL_ADDRESS>This PR will validate the name of the anchor to make sure the child namespace is in compliance with RFC 1123.
Fixes: #118
Tested: added unit test, and verified the following error message if I ran this manually:

Subnamespace child.01 is not a valid namespace name: a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')

/cc @adrianludwin

Thanks, this is great! Just two little comments:

Rearrange the import order (see other comment for details)
Can you please add a bit of information to the commit message about how you tested this? E.g.:

Tested: added unit test, and verified the following error message if I ran this manually: 'Subnamespace name is not valid: ...'

It would be nice to document somewhere what the message actually looked like, I'm sure you already did run that to check and see but it's nice to write it down.
Please modify the original commit and force-push the branch, we like PRs with only one commit each. Thanks!

Have incorporated the review comments and added the details in the commit message and in the PR desc as well.

Hey, it looks like something went wrong with your last push? You should only be pushing one commit from your branch, not merging this to your master and then pushing the master. Also it doesn't look like you updated the original commit message? LMK if you're having trouble with this. Thanks.

Hey, it looks like something went wrong with your last push? You should only be pushing one commit from your branch, not merging this to your master and then pushing the master. Also it doesn't look like you updated the original commit message? LMK if you're having trouble with this. Thanks.

Apologies on this. Let me create a new PR please.


add starname project

where is the WalletConnect integration in the project?

Hi Ligi!
I hope you are well :)
We integrated Wallet Connect inside the Starname Manager:
https://app.starname.me/
We use Wallet Connect to synchronise all the wallet addresses directly into a starname (so you don't need to copy/past any address that's pretty cool)
https://www.youtube.com/watch?v=rpiaCkalL08&feature=emb_title
There is another topic that I would like to talk to. We started to work on the asset directory based on CAIP-19 (https://github.com/iov-one/asset-directory). Maybe we can chat this week about it?*
Have a good day
Antoine

Hi Ligi!
I hope you are well :)

I am wellIsh (for 2020) - hope you are too.

We integrated Wallet Connect inside the Starname Manager:
https://app.starname.me/

cool - thanks for the info!
maybe the URL in the PR then should be https://app.starname.me

We use Wallet Connect to synchronise all the wallet addresses directly into a starname (so you don't need to copy/past any address that's pretty cool)
https://www.youtube.com/watch?v=rpiaCkalL08&feature=emb_title

ah I see - but seems you still need a ledger to go so far? Do you plan on supporting WC in a way so ledger is no more needed?

There is another topic that I would like to talk to. We started to work on the asset directory based on CAIP-19 (https://github.com/iov-one/asset-directory). Maybe we can chat this week about it?*

this week is a bit full - next week would work better for me

Have a good day

u2

I fixed the PR and put the URL of the application.
Starname Manager is working with our Cosmos SDK chain the IOV Name Service. To sign Transactions, the current version of WalletConnect supports only Ethereum based chain. So at the moment, we only support Wallet Connect as a way to synchronise crypto-addresses with your starname from Ethereum Wallets and also Binance and Cosmos Wallets (not to sign transactions at the moment).
We would be happy to add Wallet Connect as a way to sign-in when Wallet Connect becomes multi-chain with the version 2.0 I believe.
Ok sounds good for next week, I will write you on RIOT!


can ClusterData & ClusterLoader work with graph-level task(such DD, PROTEINS .,etc)?

❓ Questions & Help

hello,
i wonder if the "ClusterData & ClusterLoader" function can work with graph-level task, such DD, PROTEINS ., etc. So i Modify the code in 'cluster_gcn.py', raise the error " AttributeError: 'Data' object has no attribute 'batch' ", this is my code:
path = osp.join(osp.dirname(osp.realpath(__file__)), '..', 'data', 'DD')
dataset = TUDataset(path, name='DD')
n = len(dataset) // 10
test_dataset = dataset[:n]
train_dataset = dataset[n:]

print('Partioning the graph... (this may take a while)')

test_dataset_index = 0
test_data = []
test_loader = []
for data in test_dataset:
    \\data.y = data.y.repeat(data.x.size(0))
    \\data_name = 'cluster_data' + '_' + str(test_dataset_index)
    \\loader_name = 'loader' + '_' + str(test_dataset_index)
    \\test_data.append(data_name)
    \\test_loader.append(loader_name)
    \\test_data[test_dataset_index] = ClusterData(data, 'test', test_dataset_index, num_parts=3, recursive=False, save_dir=dataset.cluster_processed_dir)
    \\test_loader[test_dataset_index] = ClusterLoader(test_data[test_dataset_index], batch_size=30, shuffle=False, num_workers=0)
    \\test_dataset_index += 1

train_dataset_index = 0
train_data = []
train_loader = []
for data in train_dataset:
    \\data.y = data.y.repeat(data.x.size(0))
    \\data_name = 'cluster_data' + '_' + str(train_dataset_index)
    \\loader_name = 'loader' + '_' + str(train_dataset_index)
    \\train_data.append(data_name)
    \\train_loader.append(loader_name)
    \\train_data[train_dataset_index] = ClusterData(data, 'train', train_dataset_index, num_parts=3, recursive=False, save_dir=dataset.cluster_processed_dir)
    \\train_loader[train_dataset_index] = ClusterLoader(train_data[train_dataset_index], batch_size=30, shuffle=False, num_workers=0)
    \\train_dataset_index += 1

print('Done!')

for loader in train_loader:
        \\for data in loader:
                \\x, edge_index, batch = data.x, data.edge_index, data.batch

the symbol '' means the indentation
thank you very much!

Yes, we currently do not support that since there is not much reason to use ClusterGCN on fairly small graphs. ClusterGCN is designed to allow learning on large graphs, where full-batch training is just not possible given common GPU memory capacities. However, it should be fairly simple to implement (given that metis partition is already implemented), but you need to provide your own ClusterLoader for that.

Thank you for ur reply, i just modify the part of 'filename' based on ur  'ClusterData'  code.
i wonder if the 'ClusterData' class can work with 'DataLoader' class?

Yes, to some extent. You can convert every graph to a ClusterData object, and then merge those clusters into a large data_list/dataset:
data_list = []
for data in dataset:
    cluster_data = ClusterData()
    data_list += list(cluster_data)


Routing paths with spaces and non-latin letters

Before last upgrade spaces were allowed in folder name. But not now.
If folder name for example is /this is folder name and no slug has specified, when I navigate in the page www.mysite.com/this is folder name I have Page not found.

In the latest version path gets rawurlescape()'d to prevent attacks within the path. I just added the test with current results for this.

Need to talk with @rhukster about this issue.

Wow, international Web pages!
You really ought to repair this. I ran into this issue when I updated to 1.6.
International urls in my project did not work anymore. Specifically, those with German Umlauts.
ö ü ä
or French é
Before I read this here, I thought my page collections handling was wrong, all the time not seeing that e.g.
On my book page subpages
http://mypage.com/buecher was fine
while
http://mypage.com/bücher was not fine.
I reverted to 1.3.4 from 1.3.6 by copying the files of that version in the
/system/
/bin/
over and restarted nginx.
All fine now with e.g. http://mypage.com/bücher/ostern

@masetto @shalberd Both issues should be fixed now, please test!
There may be other side effects as well from the hardened Uri class aside of these.

I reviewed the code, seems cool from a PHP and international URL standpoint.

I tested it, for me all right! Thank you

Looks good to me too @mahagr

should be in new release as soon as possible because people who relied on the update mechanism in admin panel were caught off-guard.

This is released now, it should be picked up and show up via GPM in about 30 mins.

Cool. Thank you all and especially @mahagr
One final thing: changelog has issue links to grav-plugin-admin instead of the grav.
https://github.com/getgrav/grav/commit/0cb8e0664e62dc50a265242c093ede12c602c747#diff-4ac32a78649ca5bdd8e0ba38b7006a1e

Updated via Admin panel from 1.3.4 to 1.3.7.  message that got stuck in Firefox, all worked well. Files are updated on server and after a page refresh in admin panel, current version 1.3.7 is shown.
Url issue fixed, all good.

There could be an issue of page.active or page.activechild in collections, leading to  ... entries not being currently generated when there are non-Latin letters.  In Grav Antimatter, I am not getting correct active classes and style shades on subsections of e.g. mydomain/über/dübel1 and mydomain/über/dübel2

@shalberd Please open a new issue about it.


Migrate service catalog and service management views to new translatable labels

Migrate service catalog and service management views to new translatable labels.
Acceptance Criteria

[ ] Follow Project DOD
[ ] extract common statuses and tooltips to common section on en.yaml
[ ] Migrate service management:

[ ] catalog
[ ] instances
[ ] brokers

[ ] Migrate service catalog:

[ ] catalog
[ ] instances
[ ] brokers

https://github.com/kyma-project/busola/issues/620