[Bug]: An expected error occurred (not changed anything)

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
Theme
Expected behavior
Running this command:
shopify theme dev --theme-editor-sync --store armac-martin
I should be able to edit my theme with a preview link. I was able to do this just last week, but running the same command again this morning it's not working.
The only thing that has changed since the last time I worked on this project is I installed another package using brew (which is also how I installed shopify-cli originally)
I am on the latest version
I've tried re-installing it and also logging out and back in
I also tried this: https://mac.install.guide/homebrew/8.html
Actual behavior
shopify theme dev --theme-editor-sync --store armac-martin --verbose
2023-08-29T09:29:16.350Z: Running command theme dev
  shopify:theme:dev init version<EMAIL_ADDRESS>argv: [ '--theme-editor-sync', '--store', 'armac-martin', '--verbose' ] +0ms
2023-08-29T09:29:16.368Z: Ensuring that the user is authenticated with the Theme API with the following scopes:
[]

2023-08-29T09:29:16.368Z: Ensuring that the user is authenticated with the Admin API with the following scopes for the store armac-martin.myshopify.com:
[]

2023-08-29T09:29:16.368Z: Getting session store...
2023-08-29T09:29:16.370Z: Validating existing session against the scopes:
[
  "openid",
  "https://api.shopify.com/auth/shop.admin.graphql",
  "https://api.shopify.com/auth/shop.admin.themes",
  "https://api.shopify.com/auth/partners.collaborator-relationships.readonly",
  "https://api.shopify.com/auth/shop.storefront-renderer.devtools",
  "https://api.shopify.com/auth/partners.app.cli.access",
  "https://api.shopify.com/auth/destinations.readonly"
]
For applications:
{
  "adminApi": {
    "scopes": [],
    "storeFqdn": "armac-martin.myshopify.com"
  }
}

2023-08-29T09:29:16.370Z: Sending Identity Introspection request to URL: https://accounts.shopify.com/oauth/introspection
2023-08-29T09:29:16.370Z: Sending POST request to URL https://accounts.shopify.com/oauth/introspection
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:16.633Z: Request to https://accounts.shopify.com/oauth/introspection completed in 258 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"e9683a4d42f4d58cabaed1002ae891b6"
 - x-request-id: 0bc8a77a-e53b-4813-82ad-ba699faac2b9

2023-08-29T09:29:16.637Z: The identity token is valid: true
2023-08-29T09:29:16.637Z:
The validation of the token for application/identity completed with the following results:
- It's expired: false
- It's invalid in identity: false

2023-08-29T09:29:16.638Z: The current session is valid but needs refresh. Refreshing...
2023-08-29T09:29:16.639Z: Sending POST request to URL https://accounts.shopify.com/oauth/token?grant_type=refresh_token&access_token=atkn_4c0b02ed4125c79dcf60230cb4d0fa301063dbc20c73360d34b28e991e367fa0&refresh_token=atkn_624865359a1c7edb97d0f4bf524123de4b24a5952cfebab27e946b3a98497a39&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:16.960Z: Request to https://accounts.shopify.com/oauth/token?grant_type=refresh_token&access_token=atkn_4c0b02ed4125c79dcf60230cb4d0fa301063dbc20c73360d34b28e991e367fa0&refresh_token=atkn_624865359a1c7edb97d0f4bf524123de4b24a5952cfebab27e946b3a98497a39&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3 completed in 319 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"ab03c768eb38d5a12b8e334bf08a9b12"
 - x-request-id: cab27bd9-a2ac-4d3e-93bf-bd2678543bcd

2023-08-29T09:29:16.963Z: Sending POST request to URL https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=271e16d403dfa18082ffb3d197bd2b5f4479c3fc32736d69296829cbb28d41a6&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.app.cli.access&subject_token=****
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:16.963Z: Sending POST request to URL https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=ee139b3d-5861-4d45-b387-1bc3ada7811c&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.storefront-renderer.devtools&subject_token=****
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:16.964Z: Sending POST request to URL https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=32ff8ee5-82b8-4d93-9f8a-c6997cefb7dc&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fdestinations.readonly&subject_token=****
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:16.964Z: Sending POST request to URL https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=7ee65a63608843c577db8b23c4d7316ea0a01bd2f7594f8a9c06ea668c1b775c&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.admin.graphql+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.admin.themes+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.collaborator-relationships.readonly&subject_token=****&destination=https%3A%2F%2Farmac-martin.myshopify.com%2Fadmin
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:17.229Z: Request to https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=ee139b3d-5861-4d45-b387-1bc3ada7811c&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.storefront-renderer.devtools&subject_token=**** completed in 263 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"1b66ee52c74dd5714447583b64a4cc87"
 - x-request-id: 03b789e3-13ae-4ed2-b7ca-f83343315ae7

2023-08-29T09:29:17.489Z: Request to https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=32ff8ee5-82b8-4d93-9f8a-c6997cefb7dc&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fdestinations.readonly&subject_token=**** completed in 522 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"0c1d135ea1f9e0efbebc316a2c5a39e0"
 - x-request-id: d63b8fe9-b926-4cca-ac1e-8a2e1eefcafd

2023-08-29T09:29:17.695Z: Request to https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=7ee65a63608843c577db8b23c4d7316ea0a01bd2f7594f8a9c06ea668c1b775c&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.admin.graphql+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fshop.admin.themes+https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.collaborator-relationships.readonly&subject_token=****&destination=https%3A%2F%2Farmac-martin.myshopify.com%2Fadmin completed in 728 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"3bb8380fd9dc7f56cfde076a018ecd47"
 - x-request-id: 53d7f449-3b7e-4a21-8751-b78687a30677

2023-08-29T09:29:17.948Z: Request to https://accounts.shopify.com/oauth/token?grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange&requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token&client_id=fbdb2649-e327-4907-8f67-908d24cfd7e3&audience=271e16d403dfa18082ffb3d197bd2b5f4479c3fc32736d69296829cbb28d41a6&scope=https%3A%2F%2Fapi.shopify.com%2Fauth%2Fpartners.app.cli.access&subject_token=**** completed in 983 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"1ee387ef08386b673afd8ba334cb2ae8"
 - x-request-id: 55861946-3c94-471e-b929-df74ce8dc5b3

2023-08-29T09:29:17.949Z: Setting session store...
2023-08-29T09:29:17.957Z: Ensuring that the user is authenticated with the Storefront API with the following scopes:
[]

2023-08-29T09:29:17.957Z: Getting session store...
2023-08-29T09:29:17.958Z: Validating existing session against the scopes:
[
  "openid",
  "https://api.shopify.com/auth/shop.admin.graphql",
  "https://api.shopify.com/auth/shop.admin.themes",
  "https://api.shopify.com/auth/partners.collaborator-relationships.readonly",
  "https://api.shopify.com/auth/shop.storefront-renderer.devtools",
  "https://api.shopify.com/auth/partners.app.cli.access",
  "https://api.shopify.com/auth/destinations.readonly"
]
For applications:
{
  "storefrontRendererApi": {
    "scopes": []
  }
}

2023-08-29T09:29:17.958Z: Sending Identity Introspection request to URL: https://accounts.shopify.com/oauth/introspection
2023-08-29T09:29:17.958Z: Sending POST request to URL https://accounts.shopify.com/oauth/introspection
With request headers:
 - User-Agent: Shopify CLI; v=3.48.4
 - Keep-Alive: timeout=30
 - Sec-CH-UA-PLATFORM: darwin
 - Content-Type: application/json

2023-08-29T09:29:18.226Z: Request to https://accounts.shopify.com/oauth/introspection completed in 267 ms
With response headers:
 - cache-control: no-cache, no-store, private, must-revalidate, max-age=0
 - content-type: application/json; charset=utf-8
 - etag: W/"129c5635678aead4d2125a4aece12d95"
 - x-request-id: d9879b03-595e-4d3c-95cb-7607611a8951

2023-08-29T09:29:18.228Z: The identity token is valid: true
2023-08-29T09:29:18.228Z:
The validation of the token for application/identity completed with the following results:
- It's expired: false
- It's invalid in identity: false

2023-08-29T09:29:18.235Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/ruby -v
  · Working directory: /Users/chrish/dev/dbd/armac-martin-v2

2023-08-29T09:29:18.248Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle -v
  · Working directory: /Users/chrish/dev/dbd/armac-martin-v2

2023-08-29T09:29:18.348Z: Reading the content of file at /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/<EMAIL_ADDRESS>2023-08-29T09:29:18.349Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle config set --local path /Users/chrish/Library/Caches/shopify-gems-nodejs
  · Working directory: /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby

2023-08-29T09:29:18.442Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle config set --local without development:test
  · Working directory: /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby

2023-08-29T09:29:18.532Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle install
  · Working directory: /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby

2023-08-29T09:29:18.704Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle exec /opt/homebrew/opt/ruby/bin/ruby /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/bin/shopify theme token --admin atkn_eyJhbGciOiJSUzI1NiIsImtpZCI6Ik4teW1MUDR5TWt2MlR2X3hjWkNNSlltZ2JDbjhQbm5WLWRBbUJHbTlHb3cifQ.eyJ0IjoiOE1hYUEyc3ZyTm5tcUF6VjQwSE1tbjVGYVlsemZocnRvK3dYbTB3QUwrOD0ifQ.m9c35jhUVAL-6QACdKmbJ3apWS6HpykIc_0yalmnI1E9NnzHYPbj0mUQaGCzbEUD7DwD3ILFWNuEYk6uoXd9n5uuVJWLpb8DKhnfOL6VSwgerQJ4XFa-P5AQkstCMsXFkVY2IXAkkthGdNyO-jfFRCgAs_szypaIlbcG3eqIUXFUYl-xyaj-O4tD1nzK64AtPZ0V-KNhfEdR_jeM42cyYOtZIqazbZBodwnF3lWvYYNRr8LtRocWxl6beR4nULi2JDBM5K-yc_8Y7Y4564pQj5XQyrCMd9MEFUgi6tVPl28s9Jdghx7Wef2gCG2DBIkI1UOc2iIWY_zlSGafFicZ4w --sfr atkn_eyJhbGciOiJSUzI1NiIsImtpZCI6Ik4teW1MUDR5TWt2MlR2X3hjWkNNSlltZ2JDbjhQbm5WLWRBbUJHbTlHb3cifQ.eyJ0IjoiM21jQkZBaG1Wb2NUanRremExVkNpeWZCVVZ6VzNqNXZMTzFjSk9ENUR3VT0ifQ.qbFhL7zmVGS-eMxk2hiHbLXX7Q_YdYIV1Fu-to56bbsX0rZIOPV-Erdd__c12cUEpsApqL-BdvbCo4CJKrPJZ-Q-dAbeXlQmmpVHhXgbtMyGuV8_Q56Qovig1VEJp8iK-EMzeKW3jnX7KvHCnjtgIiZbvZCDhyUfguOssRPvpQPhLUwVgNHlwZJXlBAZG0qqC9y4IrI3jUbcEZn10PdOe-7mDEvsGO4l1NtorNFro6TorN3iNU8cakuCLUyhCD40QV49_-8EQV51pU7pOTLUjVuvyXjf4yFHK0hfulnrpNQikA7cHtXDdDblwBgLOhCw569rjmR-H2xvDp4-xDGXkg
  · Working directory: /Users/chrish/dev/dbd/armac-martin-v2

2023-08-29T09:29:19.201Z: Getting development theme...
2023-08-29T09:29:19.568Z: Request to https://armac-martin.myshopify.com/admin/api/unstable/themes/132403593393.json?fields=id%2Cprocessing completed in 363 ms
With response headers:
 - content-type: application/json; charset=utf-8
 - x-request-id: 313d350f-d5e5-4216-a086-a793f5f21216

╭─ success ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                │
│  Preview your theme                                                                                │
│    • http://<IP_ADDRESS>:9292 [1]                                                                                │
│                                                                                │
│  Next steps                                                                                │
│    • Customize your theme at the theme editor [2]                                                                                │
│    • Share your theme preview [3]                                                                                │
│                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[1] http://<IP_ADDRESS>:9292
[2] https://armac-martin.myshopify.com/admin/themes/132403593393/editor
[3] https://armac-martin.myshopify.com/?preview_theme_id=132403593393

2023-08-29T09:29:19.609Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/ruby -v
  · Working directory: /Users/chrish/dev/dbd/armac-martin-v2

2023-08-29T09:29:19.617Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle -v
  · Working directory: /Users/chrish/dev/dbd/armac-martin-v2

2023-08-29T09:29:19.710Z: Reading the content of file at /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/<EMAIL_ADDRESS>2023-08-29T09:29:19.711Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle config set --local path /Users/chrish/Library/Caches/shopify-gems-nodejs
  · Working directory: /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby

2023-08-29T09:29:19.803Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle config set --local without development:test
  · Working directory: /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby

2023-08-29T09:29:19.895Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle install
  · Working directory: /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby

2023-08-29T09:29:20.064Z:
Running system process:
  · Command: /opt/homebrew/opt/ruby/bin/bundle exec /opt/homebrew/opt/ruby/bin/ruby /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/bin/shopify theme serve /Users/chrish/dev/dbd/armac-martin-v2 --theme-editor-sync --live-reload hot-reload --theme<PHONE_NUMBER>93
  · Working directory: /Users/chrish/dev/dbd/armac-martin-v2

DEBUG GET https://armac-martin.myshopify.com/admin/api/unstable/themes.json with request_id: 4459905c-0bf3-4cad-8e08-4c24bc74c570
* Syncing theme #132403593393 on armac-martin.myshopify.com
DEBUG GET https://armac-martin.myshopify.com/admin/api/unstable/themes/132403593393/assets.json with request_id: 66e9fd32-afbb-40f1-a119-ec0d21f99e0f
                                                                                0%
✗ An unexpected error occurred.
        To submit an issue include the stack trace.
        To print the stack trace, add the environment variable SHOPIFY_CLI_STACKTRACE=1.

Reproduction steps

Operating System
macOS 13.4.1 (c) (22F770820d)
Shopify CLI version (check your project's package.json if you're not sure)
@shopify/cli/3.48.4 darwin-arm64 node-v20.5.1
Shell
zsh
Node version (run node -v if you're not sure)
v18.13.0
What language and version are you using in your application?
No response

As the error message suggests, can you please try rerunning with SHOPIFY_CLI_STACKTRACE=1 set in your environment?

How can I do that @amcaplan? I thought running --verbose might have helped.

Found it, but unsure what it means:
/opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:142:in `[]=': string not matched (IndexError)
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:142:in `visit_value'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:135:in `block in visit_hash'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:134:in `each'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:134:in `visit_hash'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:129:in `visit_document'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:118:in `normalize_json'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/file.rb:82:in `checksum'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/checksums.rb:20:in `file_has_changed?'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:196:in `uploadable?'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:189:in `block in uploadable'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:189:in `select'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:189:in `uploadable'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:168:in `json_files'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:96:in `async_upload!'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer/uploader.rb:55:in `upload!'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/syncer.rb:171:in `upload_theme!'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb:11:in `public_send'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb:11:in `block in progress'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress.rb:34:in `progress'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/project_types/theme/ui/sync_progress_bar.rb:10:in `progress'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/project_types/theme/commands/serve.rb:51:in `block in call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb:185:in `sync_theme'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb:114:in `start'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/theme/dev_server.rb:70:in `start'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/project_types/theme/commands/serve.rb:50:in `call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/command/sub_command.rb:15:in `call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/command.rb:26:in `call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/core/executor.rb:17:in `block (2 levels) in call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:37:in `block (2 levels) in with_logging'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/stdout_router.rb:169:in `with_id'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:36:in `block in with_logging'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui.rb:177:in `log_output_to'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:35:in `with_logging'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/core/executor.rb:16:in `block in call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:45:in `block (2 levels) in with_traps'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:55:in `twrap'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:44:in `block in with_traps'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:55:in `twrap'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/executor.rb:43:in `with_traps'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/core/executor.rb:15:in `call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/core/entry_point.rb:17:in `block in call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/core/monorail.rb:26:in `log'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/lib/shopify_cli/core/entry_point.rb:16:in `call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/bin/shopify:50:in `block (2 levels) in <main>'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb:75:in `handle_abort'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/vendor/deps/cli-kit/lib/cli/kit/error_handler.rb:21:in `call'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/bin/shopify:49:in `block in <main>'
        from /opt/homebrew/Cellar/shopify-cli/3.48.4/libexec/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/bin/shopify:59:in `<main>'

I've tried

Reinstalling Ruby
Rolling back to an older version of shopify-cli
Uninstalling Shopify homebrew and using NPM instead
Completely removing and reinstalling Node and NPM
Completely removing and reinstalling Homebrew

I still get the same error above

Debugging notes:
[1] pry(main)> str = "hello"
=> "hello"
[2] pry(main)> str["settings"] = "lalala"
IndexError: string not matched
from (pry):2:in `[]='

The error is here which means that value is expected to be a hash but is in fact a string. Need to look deeper into why that's happening.

I managed to track down the issue although I would never have guessed this error was related
I'd accidentally done this:
{
  "sections": {
    "layout": "alt-layout"
  }
}

instead of the correct:
{
  "layout": "alt-layout",
  "sections": { ... }
}


Pillar has light tube inside wall in maint above arcade room

Description
Pillar has light tube inside wall in maint above arcade room. TileRef 5,37. Duh.
Reproduction

Load NSS Pillar
Go to maint above arcade room

Screenshots

yet another pillar bug that will just be fixed when the update comes out.

the beginning


ButtonResult enum has [Flags] attribute

ButtonResult enum has [Flags] attribute, leading to weirdness like Abort 0x3 = Yes 0x1 | No 0x2
Is it intentional?
https://github.com/AvaloniaCommunity/MessageBox.Avalonia/blob/04afe5d11a24339e4ada3813e26ca05d7b10a7af/src/MessageBox.Avalonia/Enums/ButtonResult.cs#L8-L17

@IhateTrains mb this question is more actual for u

Can't help, sorry. The attribute was present before I converted to file-scoped namespace:
https://github.com/AvaloniaCommunity/MessageBox.Avalonia/commit/74ba3500aa1c6c469607a8d0839a6ff7f0efb8c2#diff-dcebb6aaf05d8947529fe601ac58187838a2ae758b954d97ea8a64188dd4c999
Don't know why it's needed.


BPDM KIT adjustments 24.03

Description
https://jira.catena-x.net/browse/CXAR-1088
Impact
Additional information

[ ] I'm willing to contribute to this feature

Hi @rybtim could we close this issue? seems that is already done?
Just a hint if you close the issue directly it will automatically moved to the "Done" section


Make sure node map is valid before accessing it

Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

LGTM


[outcome] update to 2.2.9

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Check the latest upstream version which is 2.2.10. Please update to the latest version.

Is this an acceptable solution? @jimwang118

This is acceptable.

All features passed with following triplets:
x64-windows
x64-windows-static

Thanks for the update!


Loadin superset in iframe different domain

Expected results
Superset dashboard to load in iframe on website different domain
Actual results
Unexpected error message 'Unexpected token < in JSON at position 0' shown on charts

How to reproduce the bug

title

Environment

superset version: 0.0.0dev
python version: python 3.8.10

maybe try to use firefox or Chrome under 80?


Timeout wallet payments

Wallet payments can fail silently, e.g. the NWC consumer doesn't respond to a payment request, in which case we will wait until the invoice expires (10 minutes in most cases) - which is way too long. Stackers will assume we're unresponsive.
It's not as simple as timing out and displaying a QR code for the same invoice however. It's possible the QR code is paid and then the NWC consumer comes online and attempts to pay the same invoice. This is dangerous because once the QR code is paid, the preimage for the payment has been revealed, and the sats in the second payment can be stolen by nodes along the route that know the preimage.
To timeout safely, we'll want to cancel the original invoice, then generate a new invoice to display in the QR.

this is solved by https://github.com/stackernews/stacker.news/pull/1523

Can you extract the commit from #1523 in a separate PR? #1523 already has a lot of changes and we can merge a smaller PR faster.

Can you extract the commit from #1523 for this into a separate PR if it doesn't mess/isn't related too much with the other code in it? #1523 already has a lot of changes and we can merge and review a smaller PR faster.

I'll see what i can do, but the fix is a side effect of the different retrying mechanism. Anyway i am cleaning up the pr, so maybe we'll end up with fewer changes

correction: my PR fixes only this part

This is dangerous because once the QR code is paid, the preimage for the payment has been revealed, and the sats in the second payment can be stolen by nodes along the route that know the preimage.

the use-paid-mutation calls retryPaidAction that, with the changes in the PR, cancels the previous invoice and returns a new one for the QR code.
However it doesn't change the long timeout

Wallet payments can fail silently, e.g. the NWC consumer doesn't respond to a payment request, in which case we will wait until the invoice expires (10 minutes in most cases) - which is way too long. Stackers will assume we're unresponsive.

Since this ticket was created because of an unresponsive territory payment, can't we control the timeout simply via low invoice expiration for invoices that pay SN?
We can't do this for p2p payments because we don't control the outgoing invoice and expiry of incoming invoice must be higher and have a buffer. But stackers don't wait for these payments since they are handled in the background so I think failing fast is less important.

We can. This issue is mostly about falling back to QR after a reasonable amount of time, so I'm not sure how that fits into what you're saying.
For this case, we probably want to throw a TimeoutError, cancel the original invoice, and popup a QR with a fresh invoice.

This issue is mostly about falling back to QR after a reasonable amount of time, so I'm not sure how that fits into what you're saying.

the payment should fail automatically if the invoice expires because we're polling for the payment next to it


"Fix" wildcard version matching

By default, all configurations that match a crate do so by the name and a version requirement, which by default is the * wildcard to indicate it should match any version of that crate. However, * doesn't actually match all versions, notably pre-releases. This is non-intuitive so I think it makes sense to just match regardless of pre-release, it just means overriding the default behavior of semver.

This already works for the bans check, but needs to work for all cases where we match versions, notably licenses.


import segregation

[ ] In /my/project/path if I import "std.zig" which is in /usr/lib/zig/lib/std.zig, and then "std.zig" wants to import its own dependencies, those should be looking in the /usr/lib/zig/lib/ root, and not searching /my/project/path.
[ ] If a.zig imports b.zig and then b.zig imports c.zig, a.zig should not see c.zig symbols.
[ ] Ability to import into a namespace in addition to importing all.

use "a.zig";

This would import everything into the global namespace.
use "a.zig" as a;

To use a.zig symbols with this style, use a::symbol.

How about this instead for an explicit namespace:
use a = "a.zig";

That looks more like you're creating a symbol and initializing it. The as syntax you proposed is borrowed from python, which also uses that syntax for its with syntax. But for zig, as is used for type casting, so it doesn't seem appropriate in this context.

I like that. It's more consistent with typedef syntax.
type foo = other;

use was from when I thought to borrow rust syntax. Given the new syntax proposal, how about renaming use to import?


Update README.md

Added information for Typedoc Webpack plugin.

LGTM. Only nit pick is that only the NPM links are listed for the other projects. I'd vote for no GitHub links to keep the readme short. You can get to the source from the NPM page.

Ok sure, I've made that update now


AUR package request

Would it be possible to create an AUR package of this theme?

That would be nice to have. I'll look into it


bug: play/pause shortcut key scrolls down page on Chrome after selecting sound from Pack or Similar lists

Steps to reproduce bug

On Chrome or Chromium-based Edge, select a Pack or Similar sound from a sound's page, e.g., https://freesound-player.vercel.app/sound/120715.

Once the selected track's page loads, try to play or pause the selected track, using the Space key shortcut.

Expected behavior
Pressing the Space key should play or pause the track appropriately.
Actual behavior
Hitting Space scrolls down the page on Chrome or Chromium-based Edge.
Since the Space key shortcut should only work if (document.activeElement === document.body), it appears the shortcut doesn't work because Chrome and Chromium-based Edge appear to give focus to selected sounds instead of to the document.

I've played around with a couple of different approaches.
While we could try to make the rule less restrictive as we discussed in our meeting, using something like
        if (
          document.activeElement !== document.getElementById("searchBar") &&
          document.activeElement !==
            document.getElementById("LoginConfirmationModal")
        ) {

instead of if (document.activeElement === document.body), I think this becomes a bit too unwieldy and perhaps clutters Sound.js too much, especially if we add more focusable elements later. @amilajack and @akshara-sun, what do you think?
Instead, we could just make document.activeElement === document.body by doing the following after selecting a sound from the Pack or Similar lists on a sound's page: document.activeElement.blur();.
In effect, this means changing onSoundClick={() => window.scrollTo(0, 0)} on line 188 of Sound.js to
        onSoundClick={() => {
          window.scrollTo(0, 0);
          document.activeElement.blur(); // Works; re-enables play/pause shortcut
        }}

For whatever reason, doing
        onSoundClick={() => {
          window.scrollTo(0, 0);
          document.body.focus(); // Does NOT work: `<a href="/sound/469002">…</a>` still has focus
        }}

doesn't work. document.activeElement.blur(); enables the shortcut after selecting a sound from the Pack or Similar lists: document.body.focus(); does not.

@hamirmahal I dont think this is a bug anymore. closing but reopen if you think its still an issue


Delegate primitive enums to integers

Closes #560.
Internal change: EnumRef is now dedicated to enum classes. Removes many verbose checks due to conflating primitive and payload-carrying enums.

In addition I am wondering, maybe we can merge https://github.com/fzyzcjy/flutter_rust_bridge/pull/561#pullrequestreview-1033539569 into this branch, such that as long as the CI in this PR passes, we are pretty sure it does fix the problem?

Great job!


Add 19.1.5 to releases.yaml

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/26f69b27d498b7ff1c1739c093c059690200192f/


doc(ast): mention typescript-eslint, field ordering and shape

closes #6453

#6863  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite

@overlookmotel feel free to edit this.

LGTM


Make maker PopUp clickable

Is there any way to make a Marker Popup clickable? I could not find any information on that in the docs nor in the examples.
The only hack I found was wrapping the whole Popup content in an a tag.
    const location = ...
    const lngLat = ...

    const content =
      '
' +
      location.name +
      '

' +
      location.abstract +
      '
'

    const popup: Popup = new Popup({
      focusAfterOpen: true,
      closeOnClick: true,
      subpixelPositioning: true,
      closeButton: false
    })
      .setLngLat(lngLat)
      .setHTML(content)

Unfortunately this is not a feasible solution as I'm using Maptiler in an SPA app and I need it to call a SPA route, not do a full page reload.
So I'm looking for a way to hook into the onClick event of the popup.
Is this possible?

I found the setDOMContent() function and came up with this:
    const location = ...
    const lngLat = ...

    const content = document.createElement('div')
    content.addEventListener('click', () => selectLocation(location))
    content.innerHTML =
      '

' +
      location.name +
      '

' +
      location.abstract +
      '

'

    const popup: Popup = new Popup({
      closeOnClick: true,
      subpixelPositioning: true,
      closeButton: false
    })
      .setLngLat(lngLat)
      .setDOMContent(content)

    const marker: Marker = new Marker({ color: '#FF0000' })
      .setLngLat(lngLat)
      .setPopup(popup)
      .addTo(mapInstance)

It works well, but is this the canonical way to do this?
And how would I make the marker not only show the popup but also center on the map when it is tapped? Again I found no way to hook into the respective event.

Hello @frederikheld , apologies for the late answer.
I must admit that there is room for improvement on binding event to popups! I found a custom solution that could be something we add to the SDK in the future.
The solution consists in binding an event to the DOM element that is contained in the popup, but a new DOM element is being created eveytime the popup pops! So we cannot just keep a reference to it, we have to, itself, bind it to the "open" event of the popup. Here is a sample with two popups and their markers:
// This function binds the html element inside a popup
// to a given event (cb).
// The call to addEventListener is made everytime the popup
// is open because MapLibre/MapTiler SDK create a new DOM element
// every time the popup is being opened
function bindEvent(popup, eventName, cb) {
  popup.on("open", () => {
    popup.getElement().addEventListener(eventName, () => {
      cb.call(null, popup);
    })
  })
}

// Animate the map to center it on the popup coords
function centerMapOnPopup(popup, map) {
  map.easeTo({
    center: popup.getLngLat()
  })
}

const map = new maptilersdk.Map({
  container: document.getElementById("map-container"),
  center: [-96, 37.8],
  zoom: 3
})

// Create a first popup
const lngLat1 = [-110, 37.8];
const popup1 = new maptilersdk.Popup({
  closeOnClick: false,
  subpixelPositioning: true,
  closeButton: false
})
  .setLngLat(lngLat1)
  .setHTML("
I'm Popup 1
")
  .addTo(map);

// Create the marker that is paired with the first popup
const marker1 = new maptilersdk.Marker({ color: '#FF0000' })
  .setLngLat(lngLat1)
  .setPopup(popup1)
  .addTo(map)

// Add a custom "click" event to the popup
bindEvent(popup1, "click", (p) => {
  centerMapOnPopup(p, map)
})

// Do the same with a second popup
const lngLat2 = [-92, 37.8];
const popup2 = new maptilersdk.Popup({
  closeOnClick: false,
  subpixelPositioning: true,
  closeButton: false
})
  .setLngLat(lngLat2)
  .setHTML("
I'm Popup 2
")
  .addTo(map);

const marker2 = new maptilersdk.Marker({ color: '#00FF00' })
  .setLngLat(lngLat2)
  .setPopup(popup2)
  .addTo(map)

bindEvent(popup2, "click", (p) => {
  centerMapOnPopup(p, map)
})

Notice how with this cb.call(null, popup); we are exposing the popup instance as an argument of the callback. I find it convenient to scope what you want to do with this popup but of course feel free to adapt this to your preference.
Let me know if that helps!

Thank your for your response. Especially useful is the information that the event listener will created every time the popup pops.
If I understand my approach correctly, I will have a separate popup for each marker. IDK if this is a good thing performance wise, but it helps with positioning as opposed to have one popup for all markers that needs to be moved into the correct place. My first approach used one popup for all and it wasn't placed correctly using the setLngLat() function.
If the listener is created every time the popup pops, it should be possible to automatically destroy the listener by using the once option. I just have to make sure that the popup closes when clicked, otherwise it can't be clicked again.
I'll look into it.


use ML to create ontological relationships and reveal genotype-phenotype connections

The idea is broadly:

use ontology to create relationships (@balhoff help to extract) using phenex
use relationships to inform ML
recreate character states
fill in a character matrix
cluster phenotypes and genotypes

This idea stemmed from talks with @pmabee, @uyedaj, and Anuj Karpatne, and from reading Pasan Fernando's paper (methods for clustering analyses using ontologies and highlighting candidate genes) and @sergeitarasov (methods for reconstructing character states).
We could also compare the outputs of

Nice project! Also interested! :)


How to align color frame and processed depth frame?

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ R200 / F200 / SR300 / ZR300 / D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
<Describe your issue / question / feature request / etc..>
Camera Model: D435i
Operating system: Win 10
Platform: PC
Language: Python
Hi! I obtained frames as composite_frame with pyrealsense. Then I extract color frame and depth frame from it and separately post-processed depth frame and color frame. Now I want to align color frame to post-processed depth frame with align.process(frames). But I got to know this method requires the format of variable frames to be composite_frame. So I wonder there is anyway feasible to align these two separate frames, or merge a frame and a depth frame to a composite frame with python?
Looking forward to your reply!
Thank you very much!

Hi @wangbz98  I am sorry that you have not received a further response.  Do you still have the problem, please?

Case closed due to no further comments received.


make even more of Izzy's help commands/suggestions display both commands and config items

Basically, the goal is that no mod should have to know upfront whether something is a command or a config item. The less technical mods don't seem to make that mental distinction upfront when asking Izzy how to do a thing.
I do think fully merging the two commands such that one is a literal alias of the other would be going too far though. Concretely, what I think is worth trying next:

.help and .config with no arguments to both have the same output, namely a list of command categories and a list of config categories one after the other.
.help <config item> with no other arguments should do exactly the same thing as .config <config item>. You'll still need to use .config to edit the item or list the item's elements, and that will be reflected in the output only saying .config.
.config <command> should print a message saying to use .help <command> instead.

Coming back to this, I'm not convinced .config <command> happens enough to be worth it, or that mods unsure of whether to use .help or .config really end up running .config first, but the rest I have now implemented, along with making .config case insensitive and making .help/.config with no arguments no longer waste space with category descriptions so .help now has space for .config categories`.


enable running age structured production models directly with SS3?

There was much discussion of the ASPM diagnostic during the CAPAM workshop: http://www.capamresearch.org/Diagnostics-Workshop inspired by a presentation from @cminte (PDF).
The status-quo approach to ASPM involves modifying the SS3 input files and re-running the model as described on this slide from @cminte below and in this R script: https://github.com/PIFSCstockassessments/ss3diags/blob/master/Cookbook/Setup_ASPM_example.R#L11-L42 (there may be more automated R scripts out there that I'm not aware of).
However, @Rick-Methot-NOAA noted in discussion today that it would be possible to build this functionality directly into SS3 so that users could request the ASPM to be run automatically in addition to the full model.
Given the reliance on estimated selectivity parameters sometimes recdevs in ASPMdev (or ASPM-R) from the full model, this estimation step would have to take place in a phase after the main estimation phases and the main output file had been written. An alternative (or in addition) to automatically running an ASPM would be to write a control_ASPM.ss output file that fixed the appropriate parameters at the MLE estimates and leave it to the user to run it through SS3.

It would also be discussing with the ss3diags maintainers if building it within ss3 makes more sense.

This is very similar to the existing SS3 option to do DB-SRA in a dedicated first phase which works like this:
A.  read an existing model configuration, which for ASPM should be a fully converged set of selectivity parameters
B.  add 1 to the phase for all estimated parameters so none, except ln(R0), are estimated in phase 1.  (note that h and M will be fixed at input value)
C.  set logL weight to 0.0 for all data and parameters in first phase, except for the single survey  index that is a depletion survey
D.  run model for phase 1 only, so the single ln(R0) parameter gets estimated to match the single datum, the depletion survey.
For ASPM
B1.  give options to whether M and h are also estimated
C1.  give options for which surveys, instead or or in addition to, depletion survey are estimated

Hi Rick, if you start from an existing configuration, the rec_devs and init_rev_devs are set to zero? (they will need to be for ASPM, which will not estimate rec_devs, and ASPM-R, which will estimate rec_devs, but not for ASPM-fix, which will use the rec_devs from the full model as fixed values)
F_init and R_init also need to be estimated because they interfere in the overall scale too.
From: Richard Methot @.>
Sent: Friday, February 4, 2022 1:28 PM
To: nmfs-stock-synthesis/stock-synthesis @.>
Cc: Carolina Minte-Vera @.>; Mention @.>
Subject: Re: [nmfs-stock-synthesis/stock-synthesis] enable running age structured production models directly with SS3? (Issue #258)
This is very similar to the existing SS3 option to do DB-SRA in a dedicated first phase which works like this:
A. read an existing model configuration, which for ASPM should be a fully converged set of selectivity parameters
B. add 1 to the phase for all estimated parameters so none, except ln(R0), are estimated in phase 1. (note that h and M will be fixed at input value)
C. set logL weight to 0.0 for all data and parameters in first phase, except for the single survey index that is a depletion survey
D. run model for phase 1 only, so the single ln(R0) parameter gets estimated to match the single datum, the depletion survey.
For ASPM
B1. give options to whether M and h are also estimated
C1. give options for which surveys, instead or or in addition to, depletion survey are estimated
—
Reply to this email directly, view it on GitHubhttps://github.com/nmfs-stock-synthesis/stock-synthesis/issues/258#issuecomment-1030362544, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABL6SURLBVDELT3JFSZANADUZRAEJANCNFSM5NSXTRLQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thanks Carolina.  Yes, recdevs would need to be set to zero.
Given the number of potential options, perhaps it is better to leave ASPM as a wrapper that is outside of the SS3 code itself.  But please let us know if there is anything that can be changed inside ss3 to make ASPM easier or better.
Rick

closed because seems like it would be better as a wrapper rather than in SS3

FYI- The SS-DL tool does allow for easy ASPM set-up.
@cminte, if you'd like to talk more about that, just let me know. Any improvements to the tool are welcome!

Thanks @shcaba! That is good to know, and seems like the right spot for it.

I think we can close this out by adding brief description in the SS3 manual about this SS-DL option.

Moved to https://github.com/nmfs-stock-synthesis/doc/issues/100


Creating or opening a new notebook with vscode-jupyter extension sometimes hangs

OS/Web Information

Web Browser: Firefox (more frequent), Chrome (less frequent)
Local OS: MacOS
Remote OS: MacOS
Remote Architecture: x86-64
code-server --version: 3.11.1 c680aae973d83583e4a73dc0c422f44021f0140e

Steps to Reproduce

Install ms-toolsai-jupyter version 2021.6.9999
Run the "Jupyter: Create New Blank Notebook"

Expected
The notebook is opened.
Actual
Sometimes, you'll see the loading bar keep running, and it'll never stop, and the notebook won't be loaded.
This doesn't always happen. It's a lot more common in Firefox, but happens in Chrome too.


Replace username with simple logout link

I'm not actually sure this is even available to us in the oauth response, or if we just need this to be a logout button?

The username is not available to us, decision is to remove the current dropdown and replace with a logout link.


Update newgem README.md template for Bundler 2

What was the end-user problem that led to this PR?
bundle command has been changed to display list of commands with Bundle 2.
% bundle
Bundler version 2.0.0.dev (2017-09-29 commit 5e9c40aa1)

Bundler commands:

  Primary commands:
    bundle install [OPTIONS]    # Install the current environment to the system
    bundle update [OPTIONS]     # Update the current environment
    bundle cache [OPTIONS]      # Locks and then caches all of the gems into vendor/cache
    bundle exec [OPTIONS]       # Run the command in context of the bundle
    bundle config NAME [VALUE]  # Retrieve or set a configuration value
    bundle help [COMMAND]       # Describe available commands or one specific command
(snip)

Therefore, it can not be installed with bundle command written in README.md created by bundle gem.
What was your diagnosis of the problem?
It is the same as above.
What is your fix for the problem, implemented in this PR?
I think that it is better to write bundle install in the README template of bundle gem.

Thanks! @bundlerbot r+

@bundlerbot retry

ugh, i'm going to have to look into this flaky tests. Lets try one more time.

@bundlerbot retry

Thanks!


Does this library cache support

Hey, I wanna to know if this library supports cache, if no any suggestions of what to do? Thanks

No it doesn't you'll have to implement that yourself.
On 20 Feb 2017 11:40 am, "Elvis de Freitas Souza"<EMAIL_ADDRESS>wrote:

Hey, I wanna to know if this library supports cache, if no any suggestions
of what to do? Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/miekg/exdns/issues/13, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVkWwxzfG7XBZgDDI-3Gk30FKG11EdFks5reXujgaJpZM4MGEnt
.

[ Quoting<EMAIL_ADDRESS>in "[miekg/exdns] Does this library cac..." ]

Hey, I wanna to know if this library supports cache, if no any suggestions of what to do? Thanks

Also this is not the library, these are just a bunch of examples to show how
to use github.com/miekg/dns

Thanks, yes I am talking about github.com/miekg/dns my fault for the wrong repository.


error parsing tegra-minimal-initramfs.bb

Hello, when I try to build core-image-sato, the bitbake returns an error:
ERROR: /home/supervisor/osbuilder/bstos/meta-tegra/recipes-core/images/tegra-minimal-initramfs.bb: No IMAGE_CMD defined for IMAGE_FSTYPES entry 'cpio.gz.cboot.bup-payload' - possibly invalid type name or missing support class
Is there any way to fix it ?
Best Regards

It's my fault for missing extra image settings.
Sorry to bother.

How did you resolve this issue?

What was your fix for this? I have been working around by bringing in image_types_tegra into tegra-minimal-initramfs.bb (kekiefer/meta-tegra@c7796aebf) and this works for me, and seems like a reasonable thing to do, but I'm wondering why it wasn't done this way.

Just add
IMAGE_CLASSES += "image_types_tegra"

to your local.conf.


[Bug] | server url can not redirect

Are you using the latest release?

[X] Yes, I am using the latest release.

Have you checked a bug report doesn't already exist?

[X] Yes, I have checked the existing bug reports.

What happened?

Virtualisation
Docker
What operating system are you seeing the problem on?
Windows
What browsers are you seeing the problem on?
Chrome
Project Location
Local
Bug Description
server url can not redirect, it always redirect

Steps to Reproduce
No response
Relevant Log Output
No response

seen the same on firefox
and it's also flashing for me

My users are having the same issue.

any workaround?

When I tested: if you  add your URL to the server both in the default field and in the secondary field (I forget their names) you should get a working redirect
Buuut when I tested it the only way to have that working without losing the ability to select libraries to share was to reinstall


adds api key to mapquest request

Since September 9th it appears map quest now requires an API key for nominatim requests. In openmapquest.py it states "No API Key is needed by the Nominatim based - platform." but this is no longer true. Removed the comment. Added the api key to the params.

Fixed by 25c5c48. There were 4 PRs addressing the same issue: #155, #160, #169, #228, but neither was ready enough to be merged straight away. I'm going to close this, but thank you!


Delivery message request

Hi all,
there is a problem with the executions of "/engine-rest/message".
Here is my code:
        var _corrMsg = new CorrelationMessage
        {
            MessageName = "msg_start_maintenance",
            BusinessKey = null,
            CorrelationKeys = null,
            ProcessInstanceId = "0f177e4c-d596-11ea-8ba8-e65e375919a1",
            ProcessVariables = null,
            TenantId = null,
            WithoutTenantId = true,
            ResultEnabled = false,
            All = false
        };

        var res = await camunda_client.Messages.DeliverMessage(_corrMsg);

Response: ENGINE-13028 Cannot specify a tenant-id when correlate a message to a single process instance.
Thanks in advance for your help.

You should specify TenantId or leave WithoutTenantId set to false


Error while running codacy-cli

I get the following error when I try to run codacy-cli:
$ codacy
/usr/bin/env: node: No such file or directory

Hi Mukta,
Can you confirm me that you have node correctly installed? Running this should provide details:
node --version

My bad. I missed installing node, did the documentation change? I remember seeing it before, but dont see it now.


courier-prime: init at git-2020-11-20

Motivation for this change
I'm intending to add a tool called wrap that requires this font (or a similar one, but Courier Prime is considered the top font for screenplays). Aside from needing it as an input to that package, I figure it's useful to have available as a standalone font as well.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 119190 at dc7afbf7 run on aarch64-linux 1

1 package built successfully:

courier-prime

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/data/fonts/courier-prime/default.nix:14:3:
   |
14 |   installPhase = ''
   |   ^

Result of nixpkgs-review pr 119190 run on x86_64-linux 1

1 package built:

courier-prime


drop unnecessary admin permissions

drops most of the unnecessary admin permissions + does a few more changes:

renames pipeline-maintainer to component-maintainer and uses as the main "component maintainer" ClusterRole
grants view permission (at the cluster-level) to all authenticated users
removes all tenant-related manifests - which means it deletes the whole components/authentication/tenants/ directory
drops the -ci part of the name from the filenames and RoleBindings - they supposed to represent maintainer RoleBinding in general (not only related to a CI)
adds the ability to exec a pod to component maintainers (instead fo having separate Role & RoleBinding in has-debug.yaml file)
drops some additional extra permissions like the prune-has.yaml one as this should be managed by a controller automatically cc @johnmcollier

However for the recent memory issues with HAS, still being able to GET/LIST any HAS/Application-api resources (Application, Component, CDQ, Environment, Snapshot, and SnapshotEnvironmentBinding) at the cluster level would be beneficial for debugging currently.

good point @johnmcollier - I totally forgot that the controllers (and CRDs) are not installed via OLM and thus not included in the aggregated view ClusterRole. This should take care of it: f9d2a88


Publish build assets in the build stage

As per offline discussion with @mmitche. This is a build optimisation.

Before 1ES:

With 1ES:

After:

Test build: https://dev.azure.com/dnceng/internal/_build/results?buildId=2419842&view=logs&j=d17d50ef-afac-5d4b-95a6-3014ce5cf7a4&t=95fe4740-169e-5ca1-2f88-330db40deac4
Microsoft Reviewers: Open in CodeFlow

Build doesn't look quite right. Let me investigate.

@RussKie you need to add publishAssetsImmediately to the jobs.yml template parameter set: https://github.com/dotnet/aspire/pull/3334/files#diff-05b01f3df74638712b635c705c3af6dcdaf5e3aa2d40579e7af8d75588a0cd81R127

Take two - removing the post build job as it's not doing anything.

Thank you @mmitche


Question: Is there a workflow to sign the safe tx using a ledger based account?

Considering the security focus of Gnosis Safes it seems counterproductive to require the private key to reside on the machine where the ape-safe tools are used.

It would be possible if Ledger support was added to eth-account. It actually has a ledger branch since a few years ago which is working, but it was never merged and released.
Maybe we can backport this to Brownie so it supports Ledger accounts natively.
Alternatively you can generate a tx and just sign a safe tx hash, more details here.

It would be great to have that integrated in Brownie, many other projects would also profit.
Currently I'm planning on just copying the generated safe_tx.data, value, etc... and pasting it into the Gnosis safe browser UI for a new custom Tx. Should work, shouldn't it?

Work around: Use Metamask in a browser to create the signature with a ledger and then paste it into the safe-ape script. Just copy the safeTxHash and use the below script. It will create the necessary signature with the help of Metamask:
// Can be executed in the console of the Gnosis safe site
// Metamask must be unlocked and site must have the sender address connected through Metamask

// UPDATE THIS!
safeTxHash = '';
sender = '';

params = [sender, safeTxHash]
ethereum
  .request({
    method: 'eth_sign',
    params,
  })
  .then((result) => {
    console.log("The signature:" + result)
  })
  .catch((error) => {
    console.log(error)
  });

Now that brownie has added clef support, I think hw wallet signing workflow can be explored.

Now that brownie has added clef support, I think hw wallet signing workflow can be explored.

Quick question - do you have any plan to add QR code based hardware wallet which can also add ABI to the device to decode the tx to get it fully verified? Would love to hear your comments.
Demo #1:
https://twitter.com/KeystoneWallet/status/1409465608643641347
Demo #2:
https://twitter.com/KeystoneWallet/status/1415316932954255362

Added hardware wallet support in #17.


[UNIT TEST TRACKER] tsfresh

Tracker for the unit test. The unit tests should cover pl.Series, pl.Expr for eager and lazy (if implemented).

[x] absolute_energy
[x] absolute_maximum
[x] absolute_sum_of_changes
[x] approximate_entropy
[x] autocorrelation
[ ] autoregressive_coefficients
[ ] benford_correlation2
[x] benford_correlation
[x] binned_entropy
[x] c3
[x] change_quantiles
[x] cid_ce
[x] count_above
[x] count_above_mean
[x] count_below
[x] count_below_mean
[x] energy_ratios
[x] first_location_of_maximum
[x] first_location_of_minimum
[x] has_duplicate
[x] has_duplicate_max
[x] has_duplicate_min
[x] index_mass_quantile
[x] large_standard_deviation
[x] last_location_of_maximum
[x] last_location_of_minimum
[x] longest_strike_above_mean
[x] longest_strike_below_mean
[x] mean_abs_change
[x] mean_change
[x] mean_n_absolute_max
[x] mean_second_derivative_central
[ ] number_crossings
[ ] number_cwt_peaks
[x] number_peaks
[x] percent_reoccuring_values
[x] percent_reocurring_points
[x] permutation_entropy
[x] range_count
[x] ratio_beyond_r_sigma
[x] ratio_n_unique_to_length
[x] root_mean_square
[x] sample_entropy
[ ] spkt_welch_density
[x] sum_reocurring_points
[x] sum_reocurring_values
[x] symmetry_looking
[x] time_reversal_asymmetry_statistic
[x] variation_coefficient
[x] var_gt_std
[ ] augmented_dickey_fuller
[ ] cwt_coefficients
[x] fourier_entropy
[ ] friedrich_coefficients
[x] lempel_ziv_complexity
[x] linear_trend
[ ] partial_autocorrelation

Additional Features:

[x] - range_over_mean (This and range_change are tested but tests are non-exhaustive.)
[x] - range_change
[x] - longest_winning_streak (special case of longest_streak_above)
[x] - longest_losing_streak (special case of longest_streak_below)
[ ] - streak_length_stats
[x] - longest_streak_above
[x] - longest_streak_below
[x] - max_abs_change

currently working on:

variation_coefficient,
var_gt_std,
large_standard_deviation
range_count

ratio_beyond_r_sigma
ratio_n_unique_to_length
root_mean_square

variation_coefficient,  var_gt_std, large_standard_deviation, range_count submitted for pull request.
Now working on:

mean_change
mean_abs_change

The entropy ones are done in my PR https://github.com/neocortexdb/functime/pull/91

I'm going to start on:

linear_trend.

I will work on it in a new branch and make a separate PR for ease of review.

As discussed in discord, we will follow:
https://en.wikipedia.org/wiki/IEEE_754
In summary:

0/0 -> np.nan
∞×0 -> np.nan
x > 0, x/0 -> np.inf
x < 0, x/0 -> np.NINF

I have made PR for linear trend.

number_crossings
number_cwt_peaks
autoregressive_coefficients

Did number_crossings today @claysmyth, sorry I forgot to add it here.

friedrich_coefficients

augmented_dickey_fuller
streak_length_stats

@abstractqqq did you have expected behaviour in mind for streak_length_stats where there are no streaks?
Right now it will filter to an empty Series/DataFrame at: y = y.filter(y.struct.field("values")).struct.field("lengths")
Then, the outputs are:

if input is Series and no streaks: return None as all dictionary values i.e. {"min":None, "max":None, etc.}

(It needs a correction for mode in this case where input type Series and there are no streaks, but the error handling for this is fairly straightforward).

if input is DataFrame/LazyFrame and there are no streaks: return an expression which will evaluate to an empty DataFrame.

Is this behaviour okay? I'm thinking probably no, as the point in these panel transformations is to return a primitive for each panel.
I think it makes more sense to return a single row DataFrame also when there are no streaks, but I am struggling to make this compatible with lazy execution.

Thank you for looking into this. This is my take:

For eager (series), I think it is fine to return dict with Nones, but maybe we fill min to be 0.
For lazy, I do not intend users to call this function themselves, meaning that in the namespace, we should create a method like extract_streak_stats, and we extract the min, max, avg... out from the struct and fill nulls accordingly. So I think it is better to keep it as a struct. Maybe we add an underscore prefix for the function to suggest to the user that we don't want them to use it from the tsfresh.py module.. I think namespace is the right place.

@abstractqqq did you have expected behaviour in mind for streak_length_stats where there are no streaks?
Right now it will filter to an empty Series/DataFrame at: y = y.filter(y.struct.field("values")).struct.field("lengths")
Then, the outputs are:

if input is Series and no streaks: return None as all dictionary values i.e. {"min":None, "max":None, etc.}

(It needs a correction for mode in this case where input type Series and there are no streaks, but the error handling for this is fairly straightforward).

if input is DataFrame/LazyFrame and there are no streaks: return an expression which will evaluate to an empty DataFrame.

Is this behaviour okay? I'm thinking probably no, as the point in these panel transformations is to return a primitive for each panel.
I think it makes more sense to return a single row DataFrame also when there are no streaks, but I am struggling to make this compatible with lazy execution.

Thank you for looking into this. This is my take:

For eager (series), I think it is fine to return dict with Nones, but maybe we fill min to be 0.
For lazy, I do not intend users to call this function themselves, meaning that in the namespace, we should create a method like extract_streak_stats, and we extract the min, max, avg... out from the struct and fill nulls accordingly. So I think it is better to keep it as a struct. Maybe we add an underscore prefix for the function to suggest to the user that we don't want them to use it from the tsfresh.py module.. I think namespace is the right place.

Nice, thanks that is useful and I have made the small changes to do as you propose for Series.
For LazyFrames with no streaks, this will currently return an empty struct column.
shape: (0, 1)
┌───────────┐
│ min       │
│ ---       │
│ struct[8] │
╞═══════════╡
└───────────┘
Is that okay?
I'm concerned, as if you are performing this transformation alongside any other column transformations the shape of the outputs will be different, so you won't be able to safely perform this transformation alongside any others . Filling nulls won't solve the issue here.
But, with the user not executing themselves, you may have something In mind already, such as the threshold argument being a value that is guaranteed to be in the series, and therefore there being at least a one-length streak.

@MathieuCayssol  In my latest branch, I gated augmented_dickey_fuller behind a UseAtOwnRisk warning. I posted about this on discord. Let's remove augmented_dickey_fuller from the list of features we want to test now.

@abstractqqq did you have expected behaviour in mind for streak_length_stats where there are no streaks?
Right now it will filter to an empty Series/DataFrame at: y = y.filter(y.struct.field("values")).struct.field("lengths")
Then, the outputs are:

if input is Series and no streaks: return None as all dictionary values i.e. {"min":None, "max":None, etc.}

(It needs a correction for mode in this case where input type Series and there are no streaks, but the error handling for this is fairly straightforward).

if input is DataFrame/LazyFrame and there are no streaks: return an expression which will evaluate to an empty DataFrame.

Is this behaviour okay? I'm thinking probably no, as the point in these panel transformations is to return a primitive for each panel.
I think it makes more sense to return a single row DataFrame also when there are no streaks, but I am struggling to make this compatible with lazy execution.

Thank you for looking into this. This is my take:

For eager (series), I think it is fine to return dict with Nones, but maybe we fill min to be 0.
For lazy, I do not intend users to call this function themselves, meaning that in the namespace, we should create a method like extract_streak_stats, and we extract the min, max, avg... out from the struct and fill nulls accordingly. So I think it is better to keep it as a struct. Maybe we add an underscore prefix for the function to suggest to the user that we don't want them to use it from the tsfresh.py module.. I think namespace is the right place.

Nice, thanks that is useful and I have made the small changes to do as you propose for Series. I'll add this in a PR along with tests.
For LazyFrames with no streaks, this will currently return an empty struct column.
shape: (0, 1) ┌───────────┐ │ min │ │ --- │ │ struct[8] │ ╞═══════════╡ └───────────┘ Is that okay?
I'm concerned, as if you are performing this transformation alongside any other column transformations the shape of the outputs will be different, so you won't be able to safely perform this transformation alongside any others . Filling nulls won't solve the issue here. But, with the user not executing themselves, you may have something in mind already, such as the threshold argument being a value that is guaranteed to be in the series, and therefore there being at least a one-length streak.

I think the returning an empty row is OK if: If I do something like pl.col("a").tse.streak_length_stats().struct.field("mean"), then a Null returns.
I guess you are already working on this so I won't touch the code. Thanks for looking into this!

benford_correlation2


README improvements

README: Better visually separate paths and commands
README: Add circleCI status badge

@okurz I noticed last week that the style checks were failing, I guess we can move all of that to github actions; anything against?

@foursixnine https://github.com/os-autoinst/openqa-trigger-from-obs/pull/219 should help already. But I don't mind if you migrate style checks to be called within github actions. It's just the right container image and a call to the existing Makefile anyway

@Mergifyio rebase


Now support for all API:s that CosmosDB has

According to this document we now have support for more than SQL. https://azure.microsoft.com/en-us/blog/cosmos-developer-experience/

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

ID: 109ed3f8-faf1-92b9-bf50-4be52e9099d4
Version Independent ID: ebc5326a-46da-6bc1-1f47-01a8e16d11fb
Content: Develop locally with the Azure Cosmos DB Emulator
Content Source: articles/cosmos-db/local-emulator.md
Service: cosmos-db
GitHub Login: @David-Noble-at-work
Microsoft Alias: danoble

@buzzfrog Thank you very much for your interest in Azure products and services. I still see the local Emulator install as version 1.22.0. Released on April 20, 2018. There is also a VSTS Build Task Extension for the Cosmos DB Emulator. You will need to install that if you wish to complete CI/CD build tasks in VSTS.
With regard to supporting multiple APIs, yes the Emulator supports all Cosmos DB Service APIs. If, however, you are experiencing issues with a specific API when using the Emulator, please detail and communicate those issues.

@David-Noble-at-work Apparently there is a 2.x version of the CosmosDB.Emulator available?

@buzzfrog I updated the doc to remove the note that says it's supported for specific API's only. Referencing PR above.


[WSL1] Zsh  command  fork  with wrong Nice value<PHONE_NUMBER>)

Please fill out the below information:

Your Windows build number:  (Type ver at a Windows Command Prompt)
Microsoft Windows [Version 10.0.18363.815]

What you're doing and what's happening:  (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.)

using zsh
(fork a command):  sleep 80 &
htop show wrong NICE value.

What's wrong / what should be happening instead:

There Nice is setted to<PHONE_NUMBER>.
According to wiki, Nice should be -20 to +19 where -20 is highest, 0 default and +19 is lowest.

Strace of the failing command, if applicable:  (If some_command is failing, then run strace -o some_command.strace -f some_command some_args, and link the contents of some_command.strace in a gist here).
https://gist.github.com/Po-wei/b963bb7fc21a5faa69cc7508b4e1b42f

Bash works as expected

Fun catch. Was able to reproduce here, WSL1 19628:

That first<PHONE_NUMBER> is in the /proc/.../stat string is the value you are seeing in htop. Mildly interesting there's no dupe I can recall: enough people use zsh and enough people use htop.
Gold star to the person who figures out what zsh does differently than bash that gums up the works in WSL. Experimentally, if you suspend the sleep ctrl-z, and then bg (more or less the same thing) then the value is populated correctly. So it is probably job control related, as opposed to actually having to do with niceness. Or something.


Does it work for Laravel 5.2?

Hello @nWidart it is nice to hear that you are contributing to a modular approach. :+1:
I have a question that does this module works on Laravel 5.2 and will it be supporting the upcoming 5.3 version?
Thanks for the good work.

Hello,
Thanks for the kind words!
It indeed supports laravel 5.2 currently, and I will add 5.3 support asap when it comes out. AsgardCMS will be upgrading to 5.3 so I have every reason to make this compatible. 😄
What it doesn't support, yet, is 5.1, which I should do at som point, I'm pretty sure it actually does, but I just locked the composer.json file to 5.2.

@nWidart Thanks for the support. ;) Hope we can work without any worries :)


[Usage] Duplicate entries after volume resize

ISSUE TYPE

Enhancement Request

COMPONENT NAME
Usage

CLOUDSTACK VERSION
4.11, 4.12

CONFIGURATION
N/A
OS / ENVIRONMENT
N/A
SUMMARY
Resize a volume multiple times
On the next run of the usage server, verify the usage.log file
STEPS TO REPRODUCE
Resize a volume multiple times
On the next run of the usage server verify the usage.log

EXPECTED RESULTS
No errors on usage.log

ACTUAL RESULTS
2019-07-01 17:00:00,209 ERROR [cloud.usage.UsageManagerImpl] (Usage-Job-1:null) (logid:) Found duplicate usage entry for volume: 4 assigned to account: 2; marking as deleted...
2019-07-01 17:00:00,219 ERROR [cloud.usage.UsageManagerImpl] (Usage-Job-1:null) (logid:) Found duplicate usage entry for volume: 4 assigned to account: 2; marking as deleted...

I cannot reproduce this with master @nvazquez I've created a data disk and resized it 3 times and then the usage cycle passed and no errors were observed in the log
log.txt

@nvazquez kindly re-test and try to reproduce against latest master with a fresh environment, if you're unable to reproduce it kindly close it otherwise tag it against 4.13 milestone. Thanks.


Resolving type/command/event name clashes

Description

#958 (UTY-1416)

codegen will now catch this, skip the field, and log an error

#957 (UTY-1962)

codegen will now catch this, skip the event/command, and log an error

It currently just does a basic log to stderr, and forwarding that to the Editor:

TODO:

[x] changelog
[x] move valid sample schema to test project

add tests for the illegal schema sample

UTY-2311 will implement logging in the codegen, which should provider a nicer way of outputting the information/errors that we've added in this PR. For now, how it currently logs can be left as an implementation detail.

Tests
Schema linked in #957 and #958 will no longer cause compilation errors, but codegen will log an error that gets picked up in the Editor
Primary reviewers
If your change will take a long time to review, you can name at most two primary reviewers who are ultimately responsible for reviewing this request. @ mention them.

I think codegen needs to fail when running into clashes, not skip them.

The problem is until we have a way of surfacing these errors reliably, failing code generation (i.e. - outputting nothing) obscures the problem due to the avalanche of compile errors you will hit.

I think codegen needs to fail when running into clashes, not skip them.

The problem is until we have a way of surfacing these errors reliably, failing code generation (i.e. - outputting nothing) obscures the problem due to the avalanche of compile errors you will hit.

Discussed offline
Having heard both sides, I've decided to keep the messages as errors without failing the entire codegen step for now, and we can refine the idea further when we have better codegen logging. Once that is in place, we are likely to be able to surface these issues better to users and (maybe) cause the codegen step to fail in a way that doesn't stop users from A) knowing that the error was in codegen and B) knowing where to look to figure out where their error comes from.


[IOTDB-2018] Query dataset memory leak on server caused by python client

I made the following changes in this PR:

fix leak caused by python client: statementId not set in TSCloseOperationReq

JIRA: https://issues.apache.org/jira/browse/IOTDB-2018

Coverage decreased (-0.006%) to 66.857% when pulling 05e4c4aad9d14b5542058719122965d525e80878 on noorall:client-py into b3d9b2672cc3214b554f0552faa206bedcbb2780 on apache:master.

Thanks for your contribution!
Please cherry-pick it to rel/0.12~

Related ISSUE #3682


Creater's Arsenal of Questions

Users embark on a journey through the grand Gateway, venturing into the heart of the quiz realm as they successfully log in.
Task:
Implement a controller to add multiple-choice questions (single correct) to the quiz realm. Create this controller in src/controllers/question.controllers.js. Establish a route to guide users in submitting their captivating questions (/api/v1/questions/add).
Details:
Controller:
Create a controller function, let's call it addMultipleChoiceQuestion, responsible for adding multiple-choice questions to the database.
Route:
Configure a route in src/routes/questions.routes.js to handle the user's request for adding questions. The route should be accessible through a POST request to /api/v1/questions/add.
Request Body:
Design the expected request body for adding a question. It should include the following fields:
question: The text of the question.
options: An array of option objects, each containing:
option: The text of the option.
isCorrect: A boolean indicating whether this option is correct.
Validation:
Validate the incoming request body to ensure it adheres to the expected structure. Provide meaningful error messages for any validation failures.
Database Interaction:
Interact with the database models (Question, Option) to store the new question and its options. Ensure proper association between questions and options. Make sure that number of options can be dynamic.
Response:
Respond with appropriate status codes and messages. This message will be displayed to the user as an alert so send appropriate message.
Claim this Issue and I would be happy if you give our repo a star.
We will be going to implement cool things like web-sockets so, stay tuned till then.
Ping me on discord if there's any confusion or require some resources

claim

Claim

@WadadParker Assigning you, but now you can't ask for claiming the issue as you are reaching the limit of 3 assigned issue at any moment of time in Opencode'23.

claim

claim

@WadadParker how's it going? if you need any help, feel free to ask here or on discord by pinging either me or Bhupesh

@WadadParker how's it going? if you need any help, feel free to ask here or on discord by pinging either me or Bhupesh

Sure thank you so much, i'll raise the PR at night for review


AnvilChunk.java:312: TileEntities (list [tag compound?])

The puzzle 1-9ca4a2fb from #1 has to be resolved:
https://github.com/shiruka/shiruka/blob/ff7539ba30326ff3a7d14c6f861cbab6de82e224/src/main/java/io/github/shiruka/shiruka/world/anvil/AnvilChunk.java#L312-L312
The puzzle was created by @portlek on 23-Dec-20.
Estimate: 60 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-9ca4a2fb has disappeared from the source code, that's why I closed this issue.

The puzzle 1-9ca4a2fb has disappeared from the source code, that's why I closed this issue.


Camera LED control unlikely to work on Pi3

Just a heads up.
The Camera LED GPIO has moved again on Pi3, so the current logic is unlikely to do the right thing. I haven't worked out the detail of controlling it as yet, or whether it is even possible on Pi3.
I'll update if/when I find anything.

Confirmed that the camera LED line has moved to a GPIO expander that is not directly accessible from the ARM.
I want to get to the shutdown line too, so will be looking at extending https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/gpio/gpio-bcm-virt.c to support the camera GPIOs too.

Ahh, thanks for the heads up! After a wild couple of days of picademy, and several months neglecting picamera, I'm going to try and plough through as much of the outstanding tickets as I can tomorrow (really want to try and get a release out before the next one as there's some bugs I don't want to see come up yet again :)

I can confirm that the LED control is not working on raspberry pi 3 with the v1 camera. The red LED just stays on all the time.

Pi3 LED control is being discussed on https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=109137&start=100#p989832
If someone has the energy, then it ought to be wrapped into a full GPIO driver, and you should then control it via /sys/class/gpio/gpioXXX/value. Otherwise you'll have to drive the mailbox directly yourself.

For now, I'll just stick a note in the docs about LED control on the Pi3 (this is in the "more effort than it's worth to fix" category :). If a GPIO driver comes along at some point, I'll add in a fix for it.

I can relate to that category.
FYI Code posted at https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=109137&start=100#p990152 based on Akane's sample app at https://github.com/Terminus-IMRC/rpi3-gpiovirtbuf
The RPI_FIRMWARE_SET_GPIO_STATE call will work with any GPIO, not just the expander, just use the raw GPIO number without an offset of 128.
It would be worth double checking the permissions on the mailbox service (/dev/vcio), as it may be possible to use it without root.
A full GPIO driver is likely to be a way down the list of tasks, although it's not a task that needs to be done by someone with firmware access until it gets into adding direction control.

FYI: Eric Anholt (@anholt) is planing to write full GPIO driver using the Mailbox calls: http://permalink.gmane.org/gmane.linux.kernel.rpi/3943

Thanks for the heads up. (I've now subscribed to that mailing list)

Ooops - completely forgot to add the note to the docs. I'll add that in a mo, and leave this open just in case a GPIO driver appears (although with the V2 module lacking an LED I suspect the use-case for this to diminish over time).

Hello,
Has two Pi 2 b and one Pi 3.
In the two Pi 2 I can switch the LED from the CSI camera module via GPIO 32 on and off.
Turn on an IR cut filter.
echo 32 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio32/direction
echo 1 > /sys/class/gpio/gpio32/value
echo 0 > /sys/class/gpio/gpio32/value
How can I switch the LED (IR cut filter) at Pi 3?

@AFUDIrk I'd suggest reading the forum post 6by9 linked to above: https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=109137&start=100#p989832

There is a kernel driver waiting to be merged at https://github.com/raspberrypi/linux/pull/1852 that should allow you to control the camera LED via Linux (sysfs or similar).
Alternatively you could take the mailbox service that it uses and use it to control the LED yourself. (That should work against any GPIO, so you could adopt it as the standard way instead of using the GPIO library to wiggle GPIOs directly. That would make things consistent.)

Hmm, would you happen to know off the top of your head if the mailbox service is mapped into /dev/gpiomem? If not that'd require root which I'd like to avoid as a pre-requisite if at all possible.

Mapped through /dev/vcio, not gpiomem. 660 permissions root:video. User pi appears to be a member of video by default.
https://github.com/6by9/rpi3-gpiovirtbuf/blob/master/rpi3-gpiovirtbuf.c is doing the same mailbox calls as the kernel driver and may be more readable. It doesn't require root on a standard Raspbian install.

Ah very handy! All the mailbox examples I've seen so far have been /dev/mem based (which is what I was hoping to avoid), but /dev/vcio looks like a perfect alternative.


feat: get payments from connector; add interface; add lndhub implemen…

…tation
Describe the changes you have made in this PR
Fetch transactions data from connectors
Link this PR to an issue [optional]
Fixes #2434
Type of change

feat: New feature (non-breaking change which adds functionality)

How has this been tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist

[ ] My code follows the style guidelines of this project and performed a self-review of my own code
[ ] New and existing tests pass locally with my changes
[ ] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

This is a WIP draft. Connector inferface change, types and placeholder methods for all connectors. Alby lndhub has a simple POC implementation.

this will be so greatly needed and will solve a lot of confusion!

@lujakob do you need any help with this one?

@lujakob do you need any help with this one?

I'll check this on Monday and get back to you, thanks.

@rolznz @reneaaron @bumi @im-adithya
I refined my working draft and it is at a state where the outgoing transactions are fetched from the connector and IndexDB payments data are being mapped onto them. This currently works only for the Alby Lndhub connector.
Most of the magic is happening in
https://github.com/lujakob/lightning-browser-extension/blob/44af2167d65ff2f3c59643613789105ad2ef155d/src/extension/background-script/actions/payments/listByAccount.ts
I have some uncertainties and questions, mostly regarding properties and mapping them.

I created a ConnectorTransaction interface. Right now the properties are taken from the lndhub.go gettxs response. I could imagine some of the connectors response have differences here. Which properties should be mandatory which optinal? Any clues? https://github.com/lujakob/lightning-browser-extension/blob/4fb06da930b721095a86120643ced30c423aab76/src/extension/background-script/connectors/connector.interface.ts#L30-L47
Which properties from DbPayment should be mapped onto it? https://github.com/lujakob/lightning-browser-extension/blob/4fb06da930b721095a86120643ced30c423aab76/src/types.ts#L600-L615
Are we going to deprecate and remove some of them in a database migration?
How are we going to apply/map "title" and "description" and "memo"?
See @Todo comments

So most of my uncertainties revolve around those data mappings. I guess this also was the reason for my procrastination of this issue ;-)
Would be great if you could have a POC test and give me some ideas/suggestions in general and also about the property mappings in general. Thx.

@reneaaron @rolznz I added the getTransactions for the Alby connector, but I realized I am really confused with the definitions of the interfaces. I have no clarity about the outgoing transactions interfaces. I need to have a clear idea of required properties from a UI side that align with the IndexDB payments we already have. So I will merge the required properties of IndexDB payments and connector outgoing transactions into a new interface ConnectorTransaction that inherits from ITransaction (we also have ConnectorInvoice)
If this is clear, I can just map the available properties that I get from the getTransactions of the different connectors.
export interface ITransaction {
  totalAmount: string;
  memo: string;
  preimage: string;
  settled: boolean;
  settleDate: number;
  custom_records?: TransactionCustomRecords;
}

export interface ConnectorInvoice extends ITransaction {
  id: string;
  type: "received";
}

export interface ConnectorTransaction extends ITransaction {
  totalFee: number;
  keysend: boolean;
  timestamp: number;
  type: "sent";
}

Which properties are mandatory from the connectors data?
which we take from IndexDB payments?
can we remove some deprecated IndexDB payments?
Do we have "description" and "memo" or is this the same? In case, which name do we prefer?
In IndexDB payments we have totalAmount and totalFees, should we keep those names?
alby sdk response gives me "amount" and "value", which one should I use?

I'm not sure what makes sense, if some of you can define the interfaces or should we team up and have a call to sort this out?

@rolznz should we move it to backlog?

@itstomekk no, this is an important task. I will try to prioritize it in the next few weeks.

Closing as this PR is stale and has been implemented in #2888


Demodulizing Policy class name in assert_strong_parameters

I'm working on a project that requires keeping policy classes in modules and this line is giving me a problem since it is trimming my module names.
Could you give me an explanation why do we need to demodulize Policy class names here? I don't believe that this reflects Pundit functionality for obtaining Policy class names. Be aware of Manually specifying policy classes.
Thanks!

@milmih I have pushed a fix to master. If would be helpful if you could test against master before I push an updated gem. Thanks.


 Make side panels resizeable/hideable to fix

added in 54b9e233f80382cc79301526cb5155a191746640


Apple made ENF available for iOS 12.5

Where to find the issue
F.e.: https://www.coronawarn.app/de/faq/#minimum_requirements & https://www.coronawarn.app/de/faq/#ios135
Describe the issue
As of today, with the release of iOS 12.5, Apple made the ENF available for older iPhones.
Source: https://developer.apple.com/documentation/exposurenotification/supporting_exposure_notifications_in_ios_12_5
Suggested change
Change any reference that Apple released the ENF with iOS 13.5 and because of this you cannot support older iPhones.
Also, it should be clarified if you will support iOS 12.5 and if yes, the FAQ has to be updated.
When changing this, please keep in mind that:

iOS 13.0 to 13.4 doesn’t support Exposure Notifications

So, don't just write: "iOS 12.5 and above support ENF", since this is not true...

Related Issues

https://github.com/corona-warn-app/cwa-app-ios/issues/1682
https://github.com/corona-warn-app/cwa-website/issues/639

This is related to the Android issue for FAQ: Google ENS incompatible with Android 5.0 (API 21) given as outdated reason for non-support in CWA https://github.com/corona-warn-app/cwa-website/issues/639.
Note also the statement from the Federal Government
https://www.bundesregierung.de/breg-de/themen/corona-warn-app/corona-warn-app-englisch/corona-warn-app-faq-1758636
under the heading "What are the minimum device requirements?"
"The Federal Government has asked the companies involved to conduct a technical review with the manufacturers of the operating systems, to check whether there are further possibilities to also technically integrate older smartphones, and open the interface to them."

#670 confirms that we will see CWA on iOS 12.5.
The whole FAQ has to be updated according to this. Good that we have the [ios.minimum-required-os-version] in the gulpfile.js