feat: support dynamic interpolations with css custom properties

steals from, pays homage to, Linaria by implementing functional interpolations via css custom properties. The details are mostly right from linaria, so many thanks to @satya164 and co for their work
W/D/T ya'll think about this? It does add a bit more to the runtime. I wish we could avoid the is-valid-prop hit for components that don't use it, but such is the state of modules on the web.

we could have two imports so none dynamic usage would get a smaller one. is it worth it at all??

is the lack of IE11 support an issue here?

is the lack of IE11 support an issue here?

This should be additive, and is configurable, so if IE11 support is needed then turn this feature off, yeah?

Trying to think through the benefits of case custom props vs inline styles...I guess it's nice that properties are still overridable neatly via another class without also having to think about style merging...

i'm going to have to defer on whether this makes sense as a feature. i think we generally need to support IE11, so we can't use this in any event.
i guess my main misgiving is that this isn't the sort of thing that we'd do when using CSS normally. that speaks as much to the limitations of CSS as anything else, but... eh.

Yeah, I tend to think the props mapping case is less elegantly solved this way vs our current API, which has the benefit of not needing to whitelist props.
I do think the plain function interpolations to css properties are valuable, e.g. interpolating theme values and if we don't pass in props, there's no worry about filtering.
I think we should reexamine the decss API tho to do something that let's us remove the casing ambiguity for multiword props

It's not the DeCSS API so much as the camel-case transform in css-loader. If we could somehow opt out of that...


Test failures in network-sandboxed environments

Discovered while testing http_proxy 0.12.0 in Gentoo Portage package manager.
Error message:

Failed to open TCP connection to httpbingo.org:443 (#<HTTP::Client::Response:0x7f1c3d571780 @version="HTTP/1.1", @status=HTTP::Status::INTERNAL_SERVER_ERROR, @status_message="Internal Server Error", @headers=HTTP::Headers{"Content-Type" => "text/plain", "Content-Length" => "26"}, @body_io=nil, @cookies=nil, @body="">) (IO::Error)

Reproduce with:
$ firejail --noprofile --net=none crystal spec

Backtraces from failed tests
Failures:

  1) HTTP::Proxy::Client #initialize HTTP::Client#proxy= HTTP::Client should make HTTPS request

       Failed to open TCP connection to httpbingo.org:443 (#<HTTP::Client::Response:0x7f1c3d571fa0 @version="HTTP/1.1", @status=HTTP::Status::INTERNAL_SERVER_ERROR, @status_message="Internal Server Error", @headers=HTTP::Headers{"Content-Type" => "text/plain", "Content-Length" => "26"}, @body_io=nil, @cookies=nil, @body="">) (IO::Error)
         from src/ext/http/client.cr:10:7 in 'proxy='
         from spec/client_spec.cr:43:13 in '->'
         from /usr/share/crystal/src/spec/example.cr:50:13 in 'internal_run'
         from /usr/share/crystal/src/spec/example.cr:38:16 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:155:7 in 'run'
         from /usr/share/crystal/src/spec/dsl.cr:237:7 in 'execute_examples'
         from /usr/share/crystal/src/spec/dsl.cr:220:13 in '->'
         from /usr/share/crystal/src/crystal/at_exit_handlers.cr:14:19 in 'run'
         from /usr/share/crystal/src/crystal/main.cr:53:5 in 'exit'
         from /usr/share/crystal/src/crystal/main.cr:48:5 in 'main'
         from /usr/share/crystal/src/crystal/main.cr:130:3 in 'main'
         from /lib64/libc.so.6 in '??'
         from /lib64/libc.so.6 in '__libc_start_main'
         from ../sysdeps/x86_64/start.S:117 in '_start'

  2) HTTP::Proxy::Client #initialize HTTP::Client#proxy= HTTP::Client with authentication should make HTTP request

       Failed to open TCP connection to httpbingo.org:443 (#<HTTP::Client::Response:0x7f1c3d5718c0 @version="HTTP/1.1", @status=HTTP::Status::INTERNAL_SERVER_ERROR, @status_message="Internal Server Error", @headers=HTTP::Headers{"Content-Type" => "text/plain", "Content-Length" => "26"}, @body_io=nil, @cookies=nil, @body="">) (IO::Error)
         from src/ext/http/client.cr:10:7 in 'proxy='
         from spec/client_spec.cr:75:15 in '->'
         from /usr/share/crystal/src/spec/example.cr:50:13 in 'internal_run'
         from /usr/share/crystal/src/spec/example.cr:38:16 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:155:7 in 'run'
         from /usr/share/crystal/src/spec/dsl.cr:237:7 in 'execute_examples'
         from /usr/share/crystal/src/spec/dsl.cr:220:13 in '->'
         from /usr/share/crystal/src/crystal/at_exit_handlers.cr:14:19 in 'run'
         from /usr/share/crystal/src/crystal/main.cr:53:5 in 'exit'
         from /usr/share/crystal/src/crystal/main.cr:48:5 in 'main'
         from /usr/share/crystal/src/crystal/main.cr:130:3 in 'main'
         from /lib64/libc.so.6 in '??'
         from /lib64/libc.so.6 in '__libc_start_main'
         from ../sysdeps/x86_64/start.S:117 in '_start'

  3) HTTP::Proxy::Client #initialize HTTP::Client#proxy= HTTP::Client with authentication should make HTTPS request

       Failed to open TCP connection to httpbingo.org:443 (#<HTTP::Client::Response:0x7f1c3d571780 @version="HTTP/1.1", @status=HTTP::Status::INTERNAL_SERVER_ERROR, @status_message="Internal Server Error", @headers=HTTP::Headers{"Content-Type" => "text/plain", "Content-Length" => "26"}, @body_io=nil, @cookies=nil, @body="">) (IO::Error)
         from src/ext/http/client.cr:10:7 in 'proxy='
         from spec/client_spec.cr:91:15 in '->'
         from /usr/share/crystal/src/spec/example.cr:50:13 in 'internal_run'
         from /usr/share/crystal/src/spec/example.cr:38:16 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:348:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:20:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:155:7 in 'run'
         from /usr/share/crystal/src/spec/dsl.cr:237:7 in 'execute_examples'
         from /usr/share/crystal/src/spec/dsl.cr:220:13 in '->'
         from /usr/share/crystal/src/crystal/at_exit_handlers.cr:14:19 in 'run'
         from /usr/share/crystal/src/crystal/main.cr:53:5 in 'exit'
         from /usr/share/crystal/src/crystal/main.cr:48:5 in 'main'
         from /usr/share/crystal/src/crystal/main.cr:130:3 in 'main'
         from /lib64/libc.so.6 in '??'
         from /lib64/libc.so.6 in '__libc_start_main'
         from ../sysdeps/x86_64/start.S:117 in '_start'

Do you have an access to https://httpbingo.org/ ?

Yes, I have.
The point of firejail --net=none is to disable all external network access, so mocked requests will work and real requests will fail.
Looks like a bug in either webmock on http_proxy.
As a workaround/"wontfix", tags can be applied to tests that can't run in network-sandboxed environments.

Got it.
I’ve added the "network" tag to specs that require real network access in https://github.com/mamantoha/http_proxy/commit/92ec7c77c0aa334cb798b69be4c64958ac0e02a5
crystal spec --tag '~network'

Thanks!


3/28/2022 Publish

This is a special main branch publish requested by @zhoxing-ms.

Docs Build status updates of commit c3a6494:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:warning:Warning
View
Details

2017-03-09-profile/docs-ref-autogen/containerapp/github-action.yml
:bulb:Suggestion
View (azure-cli-2017-03-09-profile)
Details

2018-03-01-hybrid/docs-ref-autogen/containerapp/github-action.yml
:bulb:Suggestion
View (azure-cli-2018-03-01-hybrid)
Details

latest/docs-ref-autogen/ams/asset.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/containerapp/github-action.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/mariadb/server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/mysql/flexible-server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/mysql/server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/postgres/flexible-server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

latest/docs-ref-autogen/postgres/server.yml
:bulb:Suggestion
View (azure-cli-latest)
Details

2017-03-09-profile/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/dapr.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/env.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/env/dapr-component.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/ingress.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/ingress/traffic.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/registry.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/revision.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/containerapp/secret.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/service-page/Azure Container Apps.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2017-03-09-profile/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile)

2018-03-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/dapr.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/env.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/env/dapr-component.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/ingress.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/ingress/traffic.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/registry.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/revision.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/containerapp/secret.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/service-page/Azure Container Apps.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2018-03-01-hybrid/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded
View (azure-cli-2018-03-01-hybrid)

2019-03-01-hybrid/docs-ref-autogen/TOC.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/dapr.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/env.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/env/dapr-component.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/github-action.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/ingress.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/ingress/traffic.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/registry.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/revision.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/containerapp/secret.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/reference-index.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/service-page/Azure Container Apps.yml
:white_check_mark:Succeeded

2019-03-01-hybrid/docs-ref-autogen/service-page/List A - Z.yml
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.

docs-ref-conceptual/azure-cli-extensions-list.md

Line 40, Column 2: [Warning: hard-coded-locale - See documentation] Link 'https://docs.microsoft.com/en-us/azure/azure-arc/data/' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 40, Column 113: [Warning: hard-coded-locale - See documentation] Link 'https://docs.microsoft.com/en-us/azure/azure-arc/data/' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 40, Column 2: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/en-us/azure/azure-arc/data/' will be broken in isolated environments. Replace with a relative link.
Line 40, Column 113: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/en-us/azure/azure-arc/data/' will be broken in isolated environments. Replace with a relative link.
Line 45, Column 2: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py' will be broken in isolated environments. Replace with a relative link.
Line 45, Column 2: [Suggestion: preserve-view-not-set - See documentation] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py
Line 45, Column 167: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py/HISTORY.rst' will be broken in isolated environments. Replace with a relative link.
Line 45, Column 167: [Suggestion: preserve-view-not-set - See documentation] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py/HISTORY.rst

2017-03-09-profile/docs-ref-autogen/containerapp/github-action.yml

Line 43, Column 113: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'owner' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 43, Column 121: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'repository-name' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

2018-03-01-hybrid/docs-ref-autogen/containerapp/github-action.yml

Line 43, Column 113: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'owner' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 43, Column 121: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'repository-name' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/ams/asset.yml

Line 243, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 249, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/containerapp/github-action.yml

Line 43, Column 113: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'owner' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 43, Column 121: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'repository-name' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/mariadb/server.yml

Line 73, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 73, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 418, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 418, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 421, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 427, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/mysql/flexible-server.yml

Line 650, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 659, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/mysql/server.yml

Line 78, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 78, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 428, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 428, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 431, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 437, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/postgres/flexible-server.yml

Line 542, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 548, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

latest/docs-ref-autogen/postgres/server.yml

Line 78, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 78, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 384, Column 202: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'SingleIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 384, Column 214: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'StartIP-DestinationIP' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 387, Column 93: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'indexToRemove' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 393, Column 116: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'value' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Use of tabpanes that obviates the need for Prettier/linter-ignore directives

Draft because it is currently waiting on https://github.com/google/docsy/issues/1641 -- without which the changed tabbed panes don't get persisted.
Contributes to #3127
This proof-of-concept (POC) PR illustrates a proposal to simplify how we make use of tabpane shortcodes. The goal is to:

Eliminate the need for checker and linter directives like
<!-- markdownlint-disable -->,
<!-- prettier-ignore-start -->, etc.
Improve IDE and other tooling support: most tabbed panes in the docs contain code. Part of the problem with the current encoding is that the tools don't know that the content of a tab is code. The proposal illustrated here is to use code-block fences. I feel that the gains outweigh the extra code-fence lines that we need to write.

Updates docsy theme again.

WDYT @svrnm @cartermp et al.? If y'all agree, I'll make a pass over the docs to make this change uniformly.
If you compare the before and after, the tabbed panes changed in this PR look exactly the same:

Preview: https://deploy-preview-3126--opentelemetry.netlify.app/docs/collector/getting-started/#docker
Before: https://deploy-preview-2965--opentelemetry.netlify.app/docs/collector/getting-started/#docker

I like this very much, not only does it improve the experience within IDEs and for our workflows, but I think it also separates 2 concerns that shouldn't be mixed (tabbing + code).
👍

One more thing, I think this might be solving: I am currently going over the Java manual instrumentation and I want to create a tabbing for Maven & Gradle setup, right now I don't know how to set titles for tabs that are different from the language used if each tab has their own language (here XML and kotlin).
So, this should be fixed here, right?

@svrnm - you can see an example of how to do that already in the JS docs, e.g.:
{{< tabpane lang=shell >}}

{{< tab TypeScript >}}
npm install typescript \
  ts-node \
  @types/node \
  express \
  @types/express
{{< /tab >}}

{{< tab JavaScript >}}
npm install express
{{< /tab >}}

{{< /tabpane >}}

In the case you mention, you'll want to set persist=header for the tabpane.

@chalin the example uses the same language across both tabs (shell), but what I need is different titles per tab (Maven, Gradle) and different languages per tab (XML, Kotlin), which I don't see as a capability right now.

@svrnm @cartermp - this is ready for review. I'd suggest we merge, and I'll continue working on top of these changes in followup PRs.


Email problems

resolution_fixed   |    by<EMAIL_ADDRESS>
Testing trac mail

Issue migrated from trac:69 at 2024-01-31 17:58:50 +1100

<EMAIL_ADDRESS>commented

From some testing on the command line:
echo "test" | mail -s test1 saw562                     # Success
echo "test" | mail -s test2<EMAIL_ADDRESS>  # Success
echo "test" | mail -s test3<EMAIL_ADDRESS># Fail

<EMAIL_ADDRESS>commented

I've reset everyone's emails to<EMAIL_ADDRESS>with
sudo trac-admin /home/trac session list

then
for user in axs599 bje900 ibc599 jtl548 mjn548 mrd599 pfu599 rmb548 saw562 stn599 wml548 zxs548; do sudo trac-admin /home/trac session set email $user<EMAIL_ADDRESS>done

<EMAIL_ADDRESS>commented

Trying to use the anusf email address:
Jan 31 10:44:59 accessdev postfix/smtp[31173]: 0B26460F70<EMAIL_ADDRESS>relay=anusf.anu.edu.au[<IP_ADDRESS>]:25, delay=0.11, delays=0.04/0.01/0.01/0.04, dsn=2.0.0, status=sent (250 2.0.0 s0UNj07R022218 Message accepted for delivery)

<EMAIL_ADDRESS>commented

Mail log info:
Jan 31 10:41:25 accessdev postfix/pickup[26837]: CC1AB60F6F: uid=48 from=<trac@localhost>
Jan 31 10:41:25 accessdev postfix/cleanup[30658]: CC1AB60F6F: message-id=<060.0c972de49638769dbdb89852dc649efd@localhost>
Jan 31 10:41:25 accessdev postfix/qmgr[32439]: CC1AB60F6F<EMAIL_ADDRESS>size=1369, nrcpt=4 (queue active)
Jan 31 10:41:25 accessdev postfix/smtp[30660]: CC1AB60F6F<EMAIL_ADDRESS>relay=anusf.anu.edu.au[<IP_ADDRESS>]:25, delay=0.14, delays=0.04/0.01/0.02/0.07, dsn=5.7.1, status=bounced (host anusf.anu.edu.au[<IP_ADDRESS>] said: 550 5.7.1<EMAIL_ADDRESS>Relaying denied. Proper authentication required. (in reply to RCPT TO command))
Jan 31 10:41:25 accessdev postfix/smtp[30660]: CC1AB60F6F<EMAIL_ADDRESS>relay=anusf.anu.edu.au[<IP_ADDRESS>]:25, delay=0.14, delays=0.04/0.01/0.02/0.08, dsn=5.7.1, status=bounced (host anusf.anu.edu.au[<IP_ADDRESS>] said: 550 5.7.1<EMAIL_ADDRESS>Relaying denied. Proper authentication required. (in reply to RCPT TO command))
Jan 31 10:41:25 accessdev postfix/smtp[30660]: CC1AB60F6F<EMAIL_ADDRESS>relay=anusf.anu.edu.au[<IP_ADDRESS>]:25, delay=0.15, delays=0.04/0.01/0.02/0.08, dsn=5.7.1, status=bounced (host anusf.anu.edu.au[<IP_ADDRESS>] said: 550 5.7.1<EMAIL_ADDRESS>Relaying denied. Proper authentication required. (in reply to RCPT TO command))
Jan 31 10:41:25 accessdev postfix/smtp[30660]: CC1AB60F6F<EMAIL_ADDRESS>relay=anusf.anu.edu.au[<IP_ADDRESS>]:25, delay=0.15, delays=0.04/0.01/0.02/0.08, dsn=5.7.1, status=bounced (host anusf.anu.edu.au[<IP_ADDRESS>] said: 550 5.7.1<EMAIL_ADDRESS>Relaying denied. Proper authentication required. (in reply to RCPT TO command))
Jan 31 10:41:25 accessdev postfix/cleanup[30658]: EB3A260F70<EMAIL_ADDRESS>Jan 31 10:41:25 accessdev postfix/bounce[30661]: CC1AB60F6F: sender non-delivery notification: EB3A260F70
Jan 31 10:41:25 accessdev postfix/qmgr[32439]: EB3A260F70: from=<>, size=4651, nrcpt=1 (queue active)
Jan 31 10:41:25 accessdev postfix/qmgr[32439]: CC1AB60F6F: removed
Jan 31 10:41:25 accessdev postfix/local[30663]: EB3A260F70<EMAIL_ADDRESS>relay=local, delay=0.03, delays=0/0.02/0/0.01, dsn=5.1.1, status=bounced (unknown user: "trac")
Jan 31 10:41:25 accessdev postfix/qmgr[32439]: EB3A260F70: removed

<EMAIL_ADDRESS>removed milestone (was Future)

<EMAIL_ADDRESS>changed status from new to closed

<EMAIL_ADDRESS>changed resolution from `` to fixed

<EMAIL_ADDRESS>commented

Milestone Future deleted


Custom validation does not work when "noselect: true"

"bestCar":
  type: Number
  optional: true
  custom: ->
    console.log @value
    customCondition = true
    "required" if customCondition and not @value
  autoform:
    afFieldInput:
      noselect: true
    options:
      10: "Toyota"
      11: "Honda"
      12: "Nissan"

(if I set "noselect: false" then I see log)

You'll need to post a full reproduction including the form.


Nereids fix lambda expression slot can not bind

What problem does this PR solve?
CREATE TABLE `array_test` (
  `id` int(11) NULL COMMENT "",
  `c_array` ARRAY<int(11)> NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"in_memory" = "false",
"storage_format" = "V2"
);

this sql is ok
select *, array_map(x -> x+1, c_array) from array_test

but lambda expressions in array_map do not support field arguments
for example:
select *, array_map(x -> x+id, c_array) from array_test

This pr solves two problems

support column arg in lambda expression
prevent high memory usage due to large block data

Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)

Test

[x] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[x] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall

run buildall

run buildall

run build all

run buildall

run buildall

run buildall

run buildall

run buildall

run P0 Regression

run p0


Update slide.js

#107 adds check for canSwipe

Hi @vagnerkuntz can you make everything into just a single PR. Separating the PR makes it difficult to test at once. You can also test it locally by running yarn dev


Fix #30: ability to ignore some files

This is a fix for #30. It introduces a new settings key: excludes which is a Seq of strings denoting the file patterns to exclude. Users can specify glob patterns to exclude files form header creation. patterns may be relative to the project root.

Note that After appling this, it will be harder to fix #31 because I'm using nio APIs introduced in Java 7.

@hseeberger @fommil: any comments or suggestions?

LGTM, a few small suggestions.

@fommil I made the changes you suggested to FileFilter. From my PoV we only have to decide on which collection type to use for the excludes settings key.

Use the default one that sbt imports.

@fommil done!

@fommil anything else missing? I thought you were waiting for this for ensime.

@britter LGTM we juts decided to add this to all files

btw, ensime is now java 7+ so that don't affect us anymore :smile:

oh, cool, I have the power to merge.

thanks! :smile:


Windows CreateFiber performance

I was curious about this comment in the code:

I don't use standard Windows Fibers since they are wasteful use of Virtual Memory space for the stack. ( 1Mb for each Fiber )

The CreateFiberEx function allows you to specify reserve & commit stack sizes. 1Mb seems to be only the default stack size if these are set to 0.
I'd love to hear your thoughts about this.

Try to compile and run this small test
https://gist.github.com/SergeyMakeev/65b8b3ee72c65b2a70534cd873e540f6
Here is my results
`
estimated : 78.125000 Mb
reality : 2025.000000 Mb
estimated : 16384 bytes
reality : 129600 bytes
`

I have the same results, that's very strange... Anyways, thanks for this test.

The first thing here is that dwStackCommitSize should be set to zero.
And of course ::CreateFiberEx will roundup dwStackReserveSize upto page size (default: 64kB).
Enjoy :)


Godot 3.1 - AnimationTree

Godot version:
3.1 alpha 2 mono
OS/device including version:
Windows 10 - Geforce GTX 1070
Issue description:
I got some problems with the AnimationTree there is more than one instance of the scene using the same AnimationTree. The animations seem accelerated. For example, I got a scene with a player and 1 enemy.. Everything work fine.. but if I duplicate the enemy scenes. the enemies animation are super fast !
I had the same problem with my player because it was using the same AnimationTree.. I had to make the "Tree root" unique to fix my player animations speed
I recorded the issue

https://youtu.be/4t1vj8V7T7w
It may not be a bug.. but i have not find how to fix it on different instance of the same scene.

Duplicate of #22887, fixed already in the master branch.


How to get the date value with JavaScript code?

Hello Nehakadam;
How to get the date value with JavaScript code?The following code did not work.
Thank you very much for your help.
var publishposts = $('#mydatetime_input_id').val();

I think I found a solution:)
var getmydate = $("#myinputid").DateTimePicker({init: function(){var oDTP = this; oDTP.getDateTimeStringInFormat("yyyy-MM-dd HH:mm");}});

it is a very simple solution:
var getmydate = $("#myinputid").val();


Cropped Graphics don't tile

When defining a Graphic and withCrop means you cannot tile a graphic. For example, for a 16x16 portion of an image the following should tile the entire area, but doesn't:
Graphic(128, 16, Material.Bitmap(AssetName("sprite")).tile)
  .withCrop(16, 0)

The problem here is that in a Graphic, the size and the crop rectangles are the same thing. So when you set a crop on some sub-section of the graphic, you're actually setting the size of the graphic, and the tile works perfectly because there is only room for one iteration.
This is not the expected behaviour, but there are two ways forward:

Find some way to express that size and crop are different, currently there is no way to represent this in the data.
Simply say that it's a limitation: Tiling doesn't work on cropped graphics. Doesn't feel great though.

Interesting side note, in the current implementation, the crop size is the size of the space on the screen and the crop position becomes a tiling offset value! Bug or feature... bug or feature... :thinking:


Update mongoHomestead7.sh

Installing PHP7 mongoDb extension with apt-get

Why would you use apt-get instead of pecl @Jarvizx ?


Where should the data.json file be placed?

E/flutter (31339): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FileSystemException: Cannot open file, path = 'data.json' (OS Error: Read-only file system, errno = 30)

Hi @bakboem, I fixed your issue with the new version (not yet published) git clone the new version and see if the example works for you

Sorry for the delay, I cleaned up the code and removed a dependency just published v 0.0.3


Added NumPy / Legate comparison table

Ported over and enhanced CuPy's comparison table.

One thing to be a little careful of: for all the methods on the ndarray type, I think we've defined all the implementations of methods and then have wrappers that fall back to base NumPy; similarly for top-level functions in the module, we have some import code that detects when names are present in NumPy and not present in Legate NumPy and automatically grabs the NumPy version of the function. It can make our implementation look more complete than it actually is.

Yeah, I found that and added the "Unimplemented" doc string to the decorator in legate.numpy.utils so I could filter out the fall back methods. The generated list here should be just the actual legate methods.


Add 'startAfterDocument' option, bump version to 0.1.1

Thanks for the package - it's working great for me so far!
I needed the ability to use startAfterDocument in the initial query. There is certainly a better way to go about this, but this is all I required.  Figured I would share with you anyways.

@all-contributors please add @adamdupuis for code


Update calling-sdk-android.md

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

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

#sign-off

@kagbakpem or @mikben - The sentence in line 60 has an extra word, but it also needs another word or two to make it grammatically sound:
The CommunicationIdentifier is used as different type of participant that would could be part of a call.
Should it be revised like this?
The CommunicationIdentifier is used to identify a different type of participant that might be part of a call.
Or other?
Thanks.

Thanks for catching this @ktoliver - I just dropped a commit suggestion. If you don't have permissions to merge, I can ask @kagpakpem to.

#sign-off

@mikben Done; merging. Thanks!


Polyfill checklist

[ ] https://github.com/chuckcarpenter/REM-unit-polyfill
[ ] https://github.com/pbakaus/transformie
[ ] https://github.com/saabi/vminpoly
[ ] https://github.com/10up/flexibility (definitely this one)

👍  for Flexibility and the REM unit polyfills.
'IE-Love' would then serve as a good all-in-one polyfill for old IE when using the forthcoming Bootstrap 4 (currently in Alpha).

@coliff Do you happen to know if flexibility is any good? I think I heard bad things.

To be honest, I haven't tried Flexibility yet. I saw reports that 2.0 and onwards was broken, but 1.6 was reported to work ok. Bootstrap v4 Alpha 6 will be available very soon (which has Flexbox as standard) so I'll properly test it out then in IE8 (and IE9) and report back.


daemon: InsertNextQuery logic is broken

NextQuery is used to periodically refetch segments from the PS. But if we don't get an answer from the CS we should not change the NextQuery timestamp.
Instead we should only update the NextQuery timestamp if we got some paths in the reply.

This appears to be handled correctly now; in segfetcher/fetcher.go, waitOnProcessed, we explicitly branch away (continue) if there are no segments, before reaching InsertNextQuery.
https://github.com/scionproto/scion/blob/73497c60a6dd077b263e426fa310c6c0cd3bc1c0/go/lib/infra/modules/segfetcher/fetcher.go#L109-L126


AnimationTree.rename_parameter doesn't work

Godot version
v4.0.beta.custom_build [cc7aa72f0], v3.5.1.stable.official [6fed1ffa3]
System information
Windows 10
Issue description
AnimationTree.rename_parameter doesn't work when called from gdscript. It should rename AnimationTree's nodes. I have confirmed from the source how to call this and what parameters the editor uses when renaming nodes from the editor. For some reason, even when using the same parameters in gdscript, nothing happens.
I'm not sure if is this regression (if it is, it's quite old) or has it ever been tested to work. Seems a bit obscure method to be exposed anyway, unless somebody wants to make a custom editor plugin for AnimationTree. I ran into the issue trying to add class reference description for it.
Steps to reproduce

Add AnimationTree with any parameter named CurrentName
Call following code:

rename_parameter("parameters/CurrentName", "parameters/NewName")

Minimal reproduction project
Rename Parameter bug.zip

I've been returning this problem today on multiple occasion now, but almost immediately after posting this issue, it crossed my mind. Renaming animation nodes happen from the nodes themselves. For example AnimationNodeBlendTree.rename_node(). It just works, accomplishes the very thing I thought rename_parameter is for.
The editor however calls AnimationTree.rename_parameter when changing node's name through AnimationTree editor. I wonder what this method is for then?

After inspecting it further, rename_parameter is used only by AnimationNodeBlendTreeEditor::_node_renamed. And commenting it out doesn't seem to affect the outcome. I have a hunch that this is a leftover from some refactor, and should be removed.
https://github.com/godotengine/godot/blob/master/editor/plugins/animation_blend_tree_editor_plugin.cpp#L985-L992


Complete skipped tests once have upgraded to Ember CLI v1.13.1+

https://github.com/softlayer/sl-ember-components/blob/ca9649dafb378df69ad48b7a47b93602d17127fe/tests/unit/components/sl-date-range-picker-test.js#L219
https://github.com/softlayer/sl-ember-components/blob/ca9649dafb378df69ad48b7a47b93602d17127fe/tests/unit/components/sl-date-range-picker-test.js#L247
https://github.com/softlayer/sl-ember-components/blob/ca9649dafb378df69ad48b7a47b93602d17127fe/tests/unit/components/sl-date-range-picker-test.js#L251
https://github.com/softlayer/sl-ember-components/blob/ca9649dafb378df69ad48b7a47b93602d17127fe/tests/unit/components/sl-date-range-picker-test.js#L255
https://github.com/softlayer/sl-ember-components/blob/ca9649dafb378df69ad48b7a47b93602d17127fe/tests/unit/components/sl-date-range-picker-test.js#L255

Replaced by https://github.com/softlayer/sl-ember-components/issues/455


Add cursor pointer for  element

It would be easier to understand that it is clickable.

Good idea. Fixed.


Enable or disable workspace

It is not always we are working on a single project and open multiple folders and then save it as a workspace.
VS Code

It is possible that we even open multiple folders from different projects in that case, VS Code converts all of them into a workspace, which is not a good idea. Atom does a good job here, although it doesn't have the option to save them as a workspace but we can open multiple folders and work on it.
Atom

VS Code

My point is...
There should be an option to create a workspace regardless you have opened one or more than one folders.

I'm with you that this feature would be very helpful - though this is a duplicate of #43188, it would be great if you could close this issue and add your support to that

@TomSputz, thanks for the thumbs up, but both these issue are different.

No, I suppose I don't quite understand it - you want to 'open multiple folders from different projects', but not 'converts all of them into a workspace'. At the moment VSCode only supports opening one 'Workspace' where all the open files are listed, to open folders outside of this context we would need to be able to have multiple workspaces. Hence my linking to the related issue.
What am I missing?

open multiple folders from different projects', but not 'converts all of them into a workspace

You guessed it right, but there's a twist when we add the second folder to the vs code, it automatically converts it into a workspace.
But I don't want that, instead, we should have the power in our own hands when to create a workspace and even if we create a workspace, there should be an option to delete that workspace directly from VS Code.

"Workspace" is basically just what VS Code calls it when you open multiple folders in one window. I don't understand what the difference would be, as you see it, between opening two folders in one window and a "workspace".

Sorry guys to create confusion.
I have created a video to explain in detail: https://www.youtube.com/watch?v=2d9_R_lv6Qc
Hope it explains everything I wanted to tell.

Thanks but it seems like you just restated the original question without answering my question. It seems like you just have a problem with the word "workspace". What is the behavior difference you want to see between having multiple folders in a workspace vs multiple folders in a window that isn't a workspace?
Also you can create a single-folder workspace by opening an empty window and using "Add Folder to Workspace"

My point is that VS Code should not automatically create a workspace.
There should be some kind of option to create a workspace manually or users can create settings to create workspace automatically.

Two folders in one window = workspace. I'll close this unless you can explain exactly what you want to happen differently.

It is possible you are not able to understand my issue properly, it would be great if we can have a discussion over a call.

I just need to know exactly what you expect to happen when two folders are open in one window. I think you might be misunderstanding what a "workspace" in vscode is.

what you expect to happen when two folders are open in one window

It should not create a workspace.

A "workspace" in this case is really just two folders open in one window. You can save the configuration in a workspace file if you want, but that's optional.

I know the what workspace does.
But why workspace is created automatically, instead we should create or delete workspace manually.
Or users can add in the settings.json to create workspace automatically.

Does it explain now?

If you are working on different projects (project unrelated to each other) and you have opened all the projects in a single instance, then it's obvious we will not save as a workspace.
And to create a workspace we need at least two folders opened in the explorer, so there is no option to save single folder as a workspace.

I have created a separate folder name "workspace" and whether it's a single or multiple project workspace I save it in this folder so that all the workspaces can be easily accessible.

I think we are talking in circles, but in any case we aren't likely to change this. Just remember that you don't have to actually save the workspace...

I not saying to remove it, what I meant is to add the option inside ctrl + shift + p to toggle workspace


Add option to disable CTRL+Scroll changing font size

I do this on accident really frequently.

On that note, I'll consider making most of the shortcuts configurable in the same fashion.

On that note, I'll consider making most of the shortcuts configurable in the same fashion.


Prevent in_memory_cache from yielding from source_dp when it's fully cached

Fixes #1159.

Hi, CLA is already signed and the status is updated. Thank you.


Architecture of DMP CMS

PRD + Acceptance Criteria + Phases

Acceptance Criteria(Vercel)

As a user, I am able to view a list of all DMP projects on the vercel website
As a user, I am able to navigate to the DMP 2024 projects
As a user, I am able to navigate to the project that I am working on/want to see
As a user, after clicking on the project, I am able to view an overview of the project with contributor and mentor names, project progress(as a percentage), PRs raised/merged and all the weeks within a project(12)
As a user, I am able to click on the dropdown of each week to see the detailed tasks, the progress within each week (as a percentage) and the weekly learnings
As a user, I am able to see changes and updates according to the changes made to the github tickets
As a user I am able to navigate to the github ticket from the vercel app

Test body HTML contents from the API - body, body_text, body_html.

Architecture diagram:

As a user, I am able to click on the dropdown of each week to see the detailed tasks, the progress within each week (as a percentage) and the weekly learnings

This might be overkill. We should have a single landing page for each issue with the HTML render of both weekly learnings and goals for the viewer. Progress we can check how to calculate.

Wireframes by early Tue - @MohitNSamagra

FE being tracked in #413


The Chinese mobile phone location file is not up to date.

Currently I am using this project to normalize domestic phone number, while I found that I cannot handle some phone numbers with prefix 149. I cannot get its carrier in English.
2) What's more, I cannot get the carrier in Chinese for all the mobile Phone numbers in China.
3) The location file is not up to date and need to be updated.

It's original regular expression cannot identify mobile phones with prefix 149  in China

@149 as prefix:
q1) What's an example number?
q2) Is the prefix / range assignment mentioned in ITU docs? If not, is there an official source for this information? A government website?
Thanks for the report!

I found that the latest link about national number of China is http://www.itu.int/oth/T020200002B/en.  It was posted on 2011-10-05.
Since now is 2015-02-12, There are many changes on national numbers  in China.  Some telephone numbers such as<PHONE_NUMBER>4 cannot be identified by libphonenumber, while it can be identified by http://api.showji.com/locating//#HTTP  which is the de facto standard that been used by nearly all the IT companys in China.
The data I submitted is up to date.

guishu.showji.com seem to have a lot of phone number metadata but we can't just copy from there in terms of licensing. Worst case we can just go with your one example (if it connects), but it'd be much better to have another source.

Can you point at government websites which mention the 149 prefix/range or which mention a phone number starting with 149?
If not a government website, is there another website (of a business / person) which lists its own 149... phone number?

I am afraid that the 149 prefix is release several months ago by China
telecom. In China there are several telecom operators. I cannot find any
authority that can offer all the phone prefix. All we can do is
statistics.You can find result in https://www.baidu.com/  or
https://www.baidu.com/ by typing a phone number.
What's more, I found that in libphonenumber project,  part of the metadata
belonging to China part is also gatthered by statistics: "

Generated from:
Fixedline mappings(10 and [2-9]*) are generated from Internal
statistical data (2011-06-01)
Mobile mappings(13*,14*,15*,18*) are contributed by
<EMAIL_ADDRESS><EMAIL_ADDRESS>*
"
The data I offered is used by the biggest IT company such as baidu or
sogou.  This ensures that the data is up to date. Our government is
too bureaucratic,
I cannot get the latest document about that.
2015-02-12 19:32 GMT+08:00 Andy Staudacher<EMAIL_ADDRESS>
guishu.showji.com seem to have a lot of phone number metadata but we
can't just copy from there in terms of licensing. Worst case we can just go
with your one example (if it connects), but it'd be much better to have
another source.

Can you point at government websites which mention the 149
prefix/range or which mention a phone number starting with 149?
If not a government website, is there another website (of a business
/ person) which lists its own 149... phone number?

—
Reply to this email directly or view it on GitHub
https://github.com/googlei18n/libphonenumber/issues/608#issuecomment-74056782
.

@chaoaero ITU updated the China data last September.
We're adding new ranges from http://www.itu.int/oth/T020200002B/en but 149 isn't there. Have you seen any other documentation or websites in the meantime using 149?
We'll update our carrier and geocoding files (for Chinese too) with the data from the ITU document - if you were concerned about any others please let us know!

@chaoaero This issue is blocked on your or other GitHub contributors' input. Please help us find evidence that 149 is valid, or provide an example number from a business website or similar. Otherwise we don't have enough information to fix the issue and may have to close it as infeasible.
Help us help you! Use our contribution
guidelines
when reporting issues.

I'm closing as this issue is infeasible for us to fix at this point (we need more information). Please re-open if you respond so we pick up on it.


Unterminated array at character xxx error

Expected Behaviour
Events should be logged in Amplitude correctly.
Current Behaviour
After adding the new Amplitude Kotlin SDK to my project, after a certain period of time has elapsed my logcat gets filled with a large number of Amplitude errors.
E.g
2022-07-21 10:17:45.752 9512-10473/com.gocitypass.debug E/Amplitude: Error when upload event: Unterminated array at character 678 of...
2022-07-21 10:17:46.210 9512-10473/com.gocitypass.debug E/Amplitude: Error when upload event: Expected literal value at character 0 of ,{...
Possible Solution
For the first one I have inspected the JSON that was sent to the backend and it appears that one the session_end events does not have a separating comma.
[
[
{
"event_type": "session_end",
"device_id": "{181cddd2-6eed-379c-7f1b-62e40485a6b5}S",
"time":<PHONE_NUMBER>492,
"event_properties": {},
"user_properties": {},
"groups": {},
"group_properties": {},
"platform": "Android",
"os_name": "android",
"os_version": "12",
"device_brand": "google",
"device_manufacturer": "Google",
"device_model": "Pixel 6 Pro",
"carrier": "vodafone UK",
"country": "GB",
"language": "en",
"location_lat": 51.5152082,
"location_lng": -0.1311775,
"adid": "ef13c100-c362-473b-9049-f6668db07ee2",
"event_id": 46,
"session_id":<PHONE_NUMBER>489,
"insert_id": "385ea8dd-e115-4a6d-b00e-a5649b0d8f68",
"library": "amplitude-analytics-android/1.0.0",
"android_app_set_id": "181cddd2-6eed-379c-7f1b-62e40485a6b5"
} // <-- Should be a comma here
{
"event_type": "session_start",
"device_id": "{181cddd2-6eed-379c-7f1b-62e40485a6b5}S",
"time":<PHONE_NUMBER>490,
...
Steps to Reproduce
Not really sure when it happens. It's just that once it does start happening I see the error a lot!
Environment

Device: Pixel 6 Pro, Google
Device OS and Version: Android 12L

Hi @barry-irvine , Thank you for submitting the issue here. Could you provide more info like logcat file for us to analyse? I want to make sure I can cover all the error formats other than comma between "session_end" and "session start".

I have the same issue, logcat output (prettified):
Error when upload event: Expected literal value at character 0 of ,{
   "event_type":"CreateSession",
   "user_id":"197d74ca-cdca-426e-a454-935245e9bef0",
   "device_id":"32da4de6-7070-4b3a-8d9d-2a089d3be425R",
   "time":1658390373074,
   "event_properties":{
      "uuid":"ea83ab94-d092-4fa8-91a5-cd102aa38514"
   },
   "user_properties":{

   },
   "groups":{

   },
   "group_properties":{

   },
   "platform":"Android",
   "os_name":"android",
   "os_version":"13",
   "device_brand":"google",
   "device_manufacturer":"Google",
   "device_model":"sdk_gphone64_arm64",
   "carrier":"T-Mobile",
   "country":"US",
   "language":"en",
   "adid":"bf5f60aa-358b-4d86-ba74-3e05bb75907c",
   "event_id":1070,
   "session_id":1658390373074,
   "insert_id":"2c425d19-464d-4070-9f03-ba800e67db3f",
   "library":"amplitude-analytics-android\/1.0.0"
},
{
   "event_type":"UpdateSessionMeta",
   "user_id":"197d74ca-cdca-426e-a454-935245e9bef0",
   "device_id":"32da4de6-7070-4b3a-8d9d-2a089d3be425R",
   "time":1658390373726,
   "event_properties":{
      "meta":{
         "app_build_debug":"true",
         "app_build_id":"com.test.ua,
         "app_build_type":"debug",
         "app_build_flavor":"internal",
         "app_build_version_name":"7667e861",
         "app_build_version_number":"1163",
         "git_commit_timestamp":"Tue Jul 19 19:00:30 GMT+02:00 2022",
         "git_commit_hash":"7667e861",
         "git_branch":"feature\/analytics-jda519",
         "android_display":"sdk_gphone64_arm64-userdebug 13 TPB4.220624.004 8808248 dev-keys",
         "android_product":"sdk_gphone64_arm64",
         "android_brand":"google",
         "android_manufacturer":"Google",
         "android_model":"sdk_gphone64_arm64",
         "android_fingerprint":"google\/sdk_gphone64_arm64\/emu64a:13\/TPB4.220624.004\/8808248:userdebug\/dev-keys",
         "android_sdk_int":"33",
         "screen_density":"2.625",
         "screen_density_dpi":"420",
         "screen_density_scaled":"2.625",
         "screen_width":"1080",
         "screen_height":"2337"
      }
   },
   "user_properties":{

   },
   "groups":{

   },
   "group_properties":{

   },
   "platform":"Android",
   "os_name":"android",
   "os_version":"13",
   "device_brand":"google",
   "device_manufacturer":"Google",
   "device_model":"sdk_gphone64_arm64",
   "carrier":"T-Mobile",
   "country":"US",
   "language":"en",
   "adid":"bf5f60aa-358b-4d86-ba74-3e05bb75907c",
   "event_id":1071,
   "session_id":1658390373074,
   "insert_id":"ad522f35-d267-4ebd-bd18-e3322b218f79",
   "library":"amplitude-analytics-android\/1.0.0"
},
{
   "event_type":"session_start",
   "user_id":"197d74ca-cdca-426e-a454-935245e9bef0",
   "device_id":"32da4de6-7070-4b3a-8d9d-2a089d3be425R",
   "time":1658390373744,
   "event_properties":{

   },
   "user_properties":{

   },
   "groups":{

   },
   "group_properties":{

   },
   "platform":"Android",
   "os_name":"android",
   "os_version":"13",
   "device_brand":"google",
   "device_manufacturer":"Google",
   "device_model":"sdk_gphone64_arm64",
   "carrier":"T-Mobile",
   "country":"US",
   "language":"en",
   "adid":"bf5f60aa-358b-4d86-ba74-3e05bb75907c",
   "event_id":1072,
   "session_id":1658390373074,
   "insert_id":"6332af00-1cb1-4c25-8a68-c9cf523d5e11",
   "library":"amplitude-analytics-android\/1.0.0"
},
{
   "event_type":"ViewLifecycle",
   "user_id":"197d74ca-cdca-426e-a454-935245e9bef0",
   "device_id":"32da4de6-7070-4b3a-8d9d-2a089d3be425R",
   "time":1658390373791,
   "event_properties":{
      "event":"ON_CREATE",
      "name":"ProcessLifecycleOwner"
   },
   "user_properties":{

   },
   "groups":{

   },
   "group_properties":{

   },
   "platform":"Android",
   "os_name":"android",
   "os_version":"13",
   "device_brand":"google",
   "device_manufacturer":"Google",
   "device_model":"sdk_gphone64_arm64",
   "carrier":"T-Mobile",
   "country":"US",
   "language":"en",
   "adid":"bf5f60aa-358b-4d86-ba74-3e05bb75907c",
   "event_id":1073,
   "session_id":1658390373074,
   "insert_id":"723bb40c-8cad-4a46-a3fe-f8fd8a8e62d3",
   "library":"amplitude-analytics-android\/1.0.0"
},
{
   "event_type":"NetworkAvailable",
   "user_id":"197d74ca-cdca-426e-a454-935245e9bef0",
   "device_id":"32da4de6-7070-4b3a-8d9d-2a089d3be425R",
   "time":1658390373797,
   "event_properties":{
      "id":432902426637
   },
   "user_properties":{

   },
   "groups":{

   },
   "group_properties":{

   },
   "platform":"Android",
   "os_name":"android",
   "os_version":"13",
   "device_brand":"google",
   "device_manufacturer":"Google",
   "device_model":"sdk_gphone64_arm64",
   "carrier":"T-Mobile",
   "country":"US",
   "language":"en",
   "adid":"bf5f60aa-358b-4d86-ba74-3e05bb75907c",
   "event_id":1074,
   "session_id":1658390373074,
   "insert_id":"\"3c8d1080-b273-4cee-a960-51c9522cb5"

Hi @barry-irvine @OKatrych , Please check the new v1.1.0 version of SDK for a fix of this issue. Please submit here if you have any other questions.


add the ability to change FPS of animated sprite from GDScript

I think that's what you are looking for: http://docs.godotengine.org/en/latest/classes/class_spriteframes.html#class-spriteframes-set-animation-speed

hmmm so I was indeed able to set the FPS by calling get_sprite_frames().set_animation_speed("walk", 24.0)
Thank you sir.


reinstall postgres client to update libpq lib

What i did:
Install amazon-linux-extras
Install through amazon-linux-extras postgres version 10
Only for php versions >= 8
Tested in php version 8.2

@SchramlTim: Thanks for your work!

Thank you.

@f3l1x do you have a schedule when you release the new npm packages?

Hi @SchramlTim.
New versions are bumped.
<EMAIL_ADDRESS>- PHP 8.2.x (https://example-php-8-2.vercel.app/)
<EMAIL_ADDRESS>- PHP 8.1.x (https://example-php-8-1.vercel.app/)
<EMAIL_ADDRESS>- PHP 8.0.x (https://example-php-8-0.vercel.app/)
<EMAIL_ADDRESS>- PHP 7.4.x (https://example-php-7-4.vercel.app/)


Configuring a subproject using a 'buildscript' block from root build.gradle cannot apply plugins by id

When configuring subprojects using the project(':subproject-name') {} block and applying a buildscript, the configuration fails to apply plugins brought in with classpath configurationand using apply plugin: 'id' from within that project(':subproject-name') {} block.
Expected Behavior
Should be able to apply plugins by Id in project block when that dependency is on the classpath from the buildscript.
Current Behavior
Build fails with Plugin with id 'kotlin' not found.
Context
I was trying to reproduce what I believe to be a compiler regression in Kotlin 1.0 vs Kotlin 1.1 by applying different plugins to different subprojects
Steps to Reproduce (for bugs)
build.gradle
plugins {
  id "com.gradle.build-scan" version "1.6"
}

buildScan {
  licenseAgreementUrl = 'https://gradle.com/terms-of-service'
  licenseAgree = 'yes'
}

model {
  tasks {
    wrapper {
      gradleVersion = '3.5-rc-1'
    }
  }
}

subprojects {
  apply plugin: 'java'
  repositories {
    mavenCentral()
    jcenter()
  }
}

project(':1.0.7') {
  buildscript {
    ext.kotlin_version = '1.0.7'

    repositories {
      jcenter()
      mavenCentral()
    }

    dependencies {
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
  }

  apply plugin: 'kotlin'

  dependencies {
    compile("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
  }
}

project(':1.1.1') {
  buildscript {
    ext.kotlin_version = '1.1.1'

    repositories {
      jcenter()
      mavenCentral()
    }

    dependencies {
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
  }

  apply plugin: 'kotlin'

  dependencies {
    compile("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
  }
}

settings.gradle
include '1.0.7'
include '1.1.1'

Your Environment

Build scan URL: https://scans.gradle.com/s/tb5y6c5gln5hk

That's a limitation of declaring projects in just the root project. You would need to define buildscript classpath on the root level. However, in your case it wouldn't work as you will want to have two versions of the same plugin.
You can make it work by creating separate build.gradle files per subproject. It's definitely the better option anyway for organizing multi-project builds in regards to separation of concerns and maintainability.

@bmuschko I definitely agree on the organization part, and that is generally how I organize projects. When using the plugins DSL I use the apply false anyways and selectively apply to subprojects, so this just came about from a "reduce code down as much as possible for minimal files demonstrating the issue" This probably isn't a more general use case. I do wonder if different plugin versions in the plugins DSL would be useful, but that is an entirely different use case.
The expected behavior I listed above may not be the best user experience. Possibly having an error message when trying to apply buildscript blocks to subprojects might make more sense to a user, but this is something I don't think most users will run into.


Repo has to be outside usecases

I've not understood why you put the Repo inside usecases layer. As I as know Repo relates of infrastructure layer, and there may be storage like postgresql, kafka, file and some external service.
And some business logic has to be inside usecases layer.
I mean this:
Storage
internal/storage
├── postgres
│   ├── translation
│   │   ├── entity.go      // struct entity's db, for scan (getting data into this struct entity)
│   │   └── translation.go // there are some requests to db
│   ├── system
│   │   ├── entity.go      // struct entity's db, for scan (getting data into this struct entity)
│   │   └── system.go      // some requests to db
│   └── user
│       ├── entity.go      // struct entity's db, for scan (getting data into this struct entity)
│       └── user.go        // some requests to db
├── kafka
│   ├── translation
│   │   ├── entity.go      // struct entity's kafka consumer
│   │   └── translation.go // there are some requests to db
│   ├── system
│   │   ├── entity.go      // struct entity's kafka consumer
│   │   └── system.go      // some requests to db
│   └── user
│       ├── entity.go      // struct entity's kafka consumer
│       └── user.go        // some requests to db
├── google
│   ├── translation
│   │   ├── entity.go      // struct entity's google
│   │   └── translation.go // there are some requests to db
│   ├── system
│   │   ├── entity.go      // struct entity's google
│   │   └── system.go      // some requests to db
│   └── user
│       ├── entity.go      // struct entity's google
│       └── user.go        // some requests to db
└── storage.go             // description of interfaces entity's methods (translation, system, user) for implementation by other storage

UseCases (Services)
internal/usecases
├── translation
│   └── create.go
│   └── translate.go
│   └── convert.go
├── system
│   └── create.go
│   └── check.go
│   └── off.go
└── user
    └── create.go
    └── check_role.go
    └── notificate.go

Models
As you did mentioned, domain models are need to work between layers
Conclusion
All the layers are isolated and reused easy

What do you think about it?

I agree with your structure, but I don't think it's necessary to declare the interface in/storage/storage.gobecause this is Go, not Java or C#. Interfaces should be declared where they are used, according to the Go code review comments document. This keeps the use case independent of the storage, making it easier to refactor and unit test.

I've not understood why you put the Repo inside usecases layer. As I as know Repo relates of infrastructure layer, and there may be storage like postgresql, kafka, file and some external service. And some business logic has to be inside usecases layer. I mean this:
Storage
internal/storage
├── postgres
│   ├── translation
│   │   ├── entity.go      // struct entity's db, for scan (getting data into this struct entity)
│   │   └── translation.go // there are some requests to db
│   ├── system
│   │   ├── entity.go      // struct entity's db, for scan (getting data into this struct entity)
│   │   └── system.go      // some requests to db
│   └── user
│       ├── entity.go      // struct entity's db, for scan (getting data into this struct entity)
│       └── user.go        // some requests to db
├── kafka
│   ├── translation
│   │   ├── entity.go      // struct entity's kafka consumer
│   │   └── translation.go // there are some requests to db
│   ├── system
│   │   ├── entity.go      // struct entity's kafka consumer
│   │   └── system.go      // some requests to db
│   └── user
│       ├── entity.go      // struct entity's kafka consumer
│       └── user.go        // some requests to db
├── google
│   ├── translation
│   │   ├── entity.go      // struct entity's google
│   │   └── translation.go // there are some requests to db
│   ├── system
│   │   ├── entity.go      // struct entity's google
│   │   └── system.go      // some requests to db
│   └── user
│       ├── entity.go      // struct entity's google
│       └── user.go        // some requests to db
└── storage.go             // description of interfaces entity's methods (translation, system, user) for implementation by other storage

UseCases (Services)
internal/usecases
├── translation
│   └── create.go
│   └── translate.go
│   └── convert.go
├── system
│   └── create.go
│   └── check.go
│   └── off.go
└── user
    └── create.go
    └── check_role.go
    └── notificate.go

Models
As you did mentioned, domain models are need to work between layers
Conclusion
All the layers are isolated and reused easy
What do you think about it?

I agree with your structure, but I don't think it's necessary to declare the interface in/storage/storage.gobecause this is Go, not Java or C#. Interfaces should be declared where they are used, according to the Go code review comments document. This keeps the use case independent of the storage, making it easier to refactor and unit test.


Not working with the latest version of impacket

On a Kali system with python-impacket (0.9.18-0kali1), keimpx complains about the version of impacket due to import errors:
$ keimpx
You need to install Python Impacket library first.
Get it from Core Security's Google Code repository:
sudo apt-get -y remove python-impacket # to remove the system-installed outdated version of the library
cd /tmp
svn checkout http://impacket.googlecode.com/svn/trunk/ impacket
cd impacket
python setup.py build
sudo python setup.py install

keimpx has not evolved for a long time and is not working with the current version of impacket. Will you continue to maintain keimpx or shall we consider it abandoned ?
This ticket is prompted by https://bugs.kali.org/view.php?id=4007

Hi @rhertzog,
I've recently taken over maintenance of keimpx and it is now working with Impacket version 0.9.20. Please advise if you need me to do anything in order to get keimpx added back into Kali.
Thank you,
NEXUS2345

Hi, the tool will not be added back until it works with Python 3. Kali is currently getting rid of Python 2. See https://gitlab.com/kalilinux/internal/roadmap/issues/27
Feel to open a ticket in bugs.kali.org once the application is ready to be re-introduced.

@rhertzog at this time Impacket is only rated as compatible with Python 3.6. As such, I am proceeding with porting keimpx to Python 3.6 with backwards compatibility for 2.7. Will this be a problem?

@NEXUS2345 Well, Kali has python 3.7 as default and Debian is currently switching to Python 3.8 as default so we're going to do the same process. So 3.6 is fine as long as it also work on 3.7 and 3.8. And AFAIK we don't have any report of impacket not working with python 3.7.


Add a tutorial series about making a FPS

Add a tutorial series demonstrating how to build a retro first-person shooter from scratch in Swift by Nick Lockwood.

Hey! If you'd like to contribute, please read: https://github.com/tuvtran/project-based-learning/issues/309

Thanks for submitting the PR. Great tutorial! Just a minor thing: since there are 17 parts and they are all included on the main page, I don't think you need to include them all in this repo

Thanks for submitting the PR. Great tutorial! Just a minor thing: since there are 17 parts and they are all included on the main page, I don't think you need to include them all in this repo

I updated the pull request by removing the table of contents.


feat: Database

Database

Gonna ask that this PR is broken out, this is much to large for a single PR.


heredoc ending symbol does not require it's own line.

Hello, I suggest the attached improvement to powershell syntax highlighting, where the end of heredoc symbols are not required to terminate the line they are on.  This is legal powershell syntax and can be important because it allows the heredoc to be used as an argument in some position other than the end of the command line.

Thanks!


'EasyDict' object has no attribute 'OPTIMIZATION'

Hello!
When trying to start training with a custom dataset, I get stuck on the execution of in tools dir: python3 train.py --cfg_file cfgs/dataset_configs/custom_dataset.yaml
with the error:
Traceback (most recent call last):   File "train.py", line 230, in <module>     main()   File "train.py", line 69, in main     args, cfg = parse_config()   File "train.py", line 60, in parse_config     args.use_amp = args.use_amp or cfg.OPTIMIZATION.get('USE_AMP', False) AttributeError: 'EasyDict' object has no attribute 'OPTIMIZATION'
Is there anything known, about this issue?
Edit:
When now using the flag --use_amp for training, I get following error:
Traceback (most recent call last):
File "train.py", line 230, in
main()
File "train.py", line 118, in main
dataset_cfg=cfg.DATA_CONFIG,
AttributeError: 'EasyDict' object has no attribute 'DATA_CONFIG'
I think those issues are mainly due to missing fields in the yaml file.

Have you solve the 'OPTIMIZATION' attribute issue?


Update Chart.transform_filter() to mirror alt.when()

What is your suggestion?
The goal is simply to provide equivalent predicate parsing functionality, that is found in alt.when().
For example, this would be easy to port over:
verbose_composition = (
    (alt.datum.Name == "Name_1")
    & (alt.datum.Color == "Green")
    & (alt.datum.Age == 25)
    & (alt.datum.StartDate == "2000-10-01")
)
when_verbose = alt.when(verbose_composition)
when_concise = alt.when(Name="Name_1", Color="Green", Age=25, StartDate="2000-10-01")

I was reading through transform/filter and looking at the implementation:
.transform_filter() implementation

https://github.com/vega/altair/blob/5a6f70dc193f7ed9c89e6cc22e95c9d885167939/altair/vegalite/v5/api.py#L2917-L2924

AFAIK, the signature can be changed without impacting any existing code:
https://github.com/vega/altair/blob/5a6f70dc193f7ed9c89e6cc22e95c9d885167939/altair/vegalite/v5/api.py#L2888-L2898

There are no checks on filter being in **kwargs
The only "valid" keyword is empty

condition() has already been safely updated in this way

I definitely want to do some more testing, but I can't see much that would be blocking closing the gap between the two:
https://github.com/vega/altair/blob/5a6f70dc193f7ed9c89e6cc22e95c9d885167939/altair/vegalite/v5/api.py#L1214-L1219
Side note
#695 is referenced on that page, but I think it was resolved a while ago?
Also there are references to selection() which was deprecated in 5.0.0
Have you considered any alternative solutions?

Leave .transform_filter() unchanged
Accept alt.When (class) as filter

Would work by unwrapping When._condition
I'd prefer to add the expressiveness, without annotating .transform_filter with When

Seems less intuitive to me

I think I support this request, but to be sure with an example:

current (first example on https://altair-viz.github.io/user_guide/transform/filter.html

import altair as alt
from altair import datum

from vega_datasets import data
pop = data.population.url

alt.Chart(pop).mark_area().encode(
    x='age:O',
    y='people:Q',
).transform_filter(
    (datum.year == 2000) & (datum.sex == 1)
)

with this feature request

import altair as alt
from vega_datasets import data

source = data.population.url

alt.Chart(source).mark_area().encode(
    x='age:O',
    y='people:Q',
).transform_filter(
    alt.when(year=2000, sex=1)
)

I think I support this request, but to be sure with an example:

Thanks for the quick response @mattijn
Apologies, I wrote this up yesterday in a bit of a rush.
To clarify, below I've rewritten your comment with what I intended:
Current (first example on transform/filter)
import altair as alt
from altair import datum
from vega_datasets import data

pop = data.population.url

alt.Chart(pop).mark_area().encode(
    x='age:O',
    y='people:Q',
).transform_filter(
    (datum.year == 2000) & (datum.sex == 1)
)

With this feature request
import altair as alt
from vega_datasets import data

source = data.population.url

alt.Chart(source).mark_area().encode(
    x='age:O',
    y='people:Q',
).transform_filter(year=2000, sex=1)

Alternative (2)
Your example corresponds to what I mentioned at the end of the description

Have you considered any alternative solutions?

Leave .transform_filter() unchanged
Accept alt.When (class) as filter

Would work by unwrapping When._condition
I'd prefer to add the expressiveness, without annotating .transform_filter with When

Seems less intuitive to me

import altair as alt
from vega_datasets import data

source = data.population.url

alt.Chart(source).mark_area().encode(
    x='age:O',
    y='people:Q',
).transform_filter(
    alt.when(year=2000, sex=1)
)

Expanding on why I prefer not to include When

Using *args, **kwds would correpond directly to polars.DataFrame.filter

I feel there is a nice alignment then between:

pl.when -> alt.when
pl.DataFrame.filter -> alt.Chart.transform_filter

This makes it intuitive for users introduced to altair via polars

And in the future, maybe the reverse would also be true

We would not need to add &, |, ~ operators to When

E.g. this isn't valid

alt.when(year=2000, sex=1) | datum.name == "john"

Syntactically, there are fewer concepts happening in the first - but it is not less expressive

filter-predicates-constraints
filter-when-predicates-constraints

Ah, thanks for clarifying. Sounds like a good idea 👍

I'm in favor, we're not using the kwargs for anything currently, and using them for direct equality makes sense.

Experimenting with this now, will publish a branch soon.
Early findings

Entirely removing **kwargs  breaks no tests/examples

Provided empty is added as named keyword-only argument

Ranged Dot Plot is the only example which uses filter as a keyword

Not a deal-breaker
Will probably want to issue a deprecation warning and suggest passing as positional

Popping filter from **constraints

During the deprecation period, we'll have one edge case that cannot support the new syntax

.transform_filter(filter=value), will still need to use
.transform_filter(alt.datum["filter"] == value)


Broken multi-output gp prior

GP prior seems to be broken when d>1 unless I got the code wrong. But I ran test_priors with d=2 and it didn't run either. I checked the shapes, but couldn't fix it. I don't understand why in euclidean.py we get the reshape x = x.permute(1, 0, 3, 2).reshape(n_samples, n_mc * d, T) in the gp prior, which seems to cause shape mismatch.

yeah the GP prior is broken in develop, we've been trying to fix it in the gp-prior branch and it seems to maybe be working now (thanks Calvin) - would be good if you could give it a go as well!

yeah the GP prior is broken in develop, we've been trying to fix it in the gp-prior branch and it seems to maybe be working now (thanks Calvin) - would be good if you could give it a go as well!

And if the GP prior branch works for you @davindicode then we should probably just merge it -- I'll file a PR in a bit

And if the GP prior branch works for you @davindicode then we should probably just merge it -- I'll file a PR in a bit

@KrisJensen sounds good!

@KrisJensen sounds good!

Yes the gp-prior branch works thanks! I will close this

Yes the gp-prior branch works thanks! I will close this


DBus and Xfce

Issue description
DBus currently seems broken on Xfce -- for example, services.gnome-keyring doesn't work for me. Reverting 29667f639c8f88b736e8607f36eb713f8b26b6e9. fixes it; that suggests problem is that dbus-daemon is started not by systemd but by Xfce itself, so it misses arguments and expects its configuration in /etc/dbus-1. systemctl --user status dbus shows that the service is not started on Xfce, which confirms this theory.
EDIT: Additionally, services.dbus.socketActivated fixes SSH agent but then Chromium and some other applications begin to take forever to start up; strace shows that they get a DBus-related error from some fd.
Steps to reproduce

Start Xfce;
Attempt to use GNOME keyring (e.g. SSH agent).

Technical details

Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion) f66d7823ece6fa4bf99e56fa4b4cb0ab16522839

For the sake of linking the two issues/PRs: https://github.com/NixOS/nixpkgs/pull/20871

Hi @abbradar,
Could you find what command is used by xfce to start the session dbus instance ? How was it able to pick /etc/dbus-1 when it should look for /usr/share/dbus-1 ?

A grep in xfce.xfce4session shows that it uses dbus-launch, without any parameters.

After some more digging it seems that when configuration is stored in /etc/dbus-1 dbus needs just --system or --session argument to work. See https://github.com/abbradar/nixpkgs/commit/687579757d163eed098853e1b20f2663d6e65491 -- with this my desktop runs correctly.

:-) Or, you could just drop the ExecStart part, because --system and --session are what dbus does by default.

See systemctl cat dbus and systemctl --user cat dbus

Yep, it works! See #22343; it'd be nice if you could review.

My feeling in this issue is that while putting files in /etc might seemingly solve the issue, the files in /etc may not be read at all. See https://github.com/NixOS/nixpkgs/blob/29667f639c8f88b736e8607f36eb713f8b26b6e9/nixos/modules/services/system/dbus.nix#L147 and https://github.com/NixOS/nixpkgs/blob/ea42d6fe62e5e21c4d191505019931d02182ea25/pkgs/development/libraries/dbus/default.nix#L53.
To me, this hints that it may work for some reason we do not understand. An not do what we think it does.
For example, the services uses both https://github.com/NixOS/nixpkgs/blob/29667f639c8f88b736e8607f36eb713f8b26b6e9/nixos/modules/services/system/dbus.nix#L147 and https://github.com/NixOS/nixpkgs/blob/29667f639c8f88b736e8607f36eb713f8b26b6e9/nixos/modules/services/system/dbus.nix#L67-L80
Why use both ? and how do they interact ?

@abbradar For example, if you strace -ff -e trace=file dbus-launch, you will see that dbus does not look at /etc. Do you also observe that behavior ?

I can't reproduce this, for me strace shows:
[pid 12068] open("/run/current-system/sw/share/dbus-1/session.conf", O_RDONLY) = 4
[pid 12068] open("/etc/dbus-1/session.conf", O_RDONLY) = 4

Oh, I found it:
  <!-- Include legacy configuration location -->
  <include ignore_missing="yes">/etc/dbus-1/session.conf</include>

in ${dbus}/share/dbus-1/session.conf.

Ok, so you see that dbus loads /run/current-system/sw/share/dbus-1/session.conf. That file comes from upstream and is only kept to allow the dbus module to modify it (see https://github.com/NixOS/nixpkgs/blob/f66d7823ece6fa4bf99e56fa4b4cb0ab16522839/nixos/modules/services/system/dbus.nix#L25-L45). Loading that files means that something is wrong. The file we setup for dbus to load is located in "/nix/store/...-dbus-conf/system.conf".
This needs to be addressed before making yet another change to dbus.

I looked through it and it seems to me that we don't actually need to modify it -- we can just use the upstream version. The only modification is used to force D-Bus to use ${configDir} instead of /etc/dbus-1, but we link configDir exactly there so this is a non-issue. See https://github.com/NixOS/nixpkgs/pull/22343/commits/72b37462668e3a7568d94632994a9df5d7fd37eb

BTW I think this file is used because of this line.

The current behavior is due to a commit (https://github.com/NixOS/nixpkgs/commit/783c40eb68bbbcb9cf6918255157ecab55eedb6e) from @vcunat that set the datadir of dbus to "/run/current-system/sw/share". (https://github.com/NixOS/nixpkgs/blob/f66d7823ece6fa4bf99e56fa4b4cb0ab16522839/pkgs/development/libraries/dbus/default.nix#L53)
I wonder why such a NixOS specific path was used in the configuration of the package. I guess this is because there are not many users of our dbus package outside of NixOS. Such a setup makes dbus very special compared to other services.

@vcunat Maybe we can remove this option? Then dbus will use its configuration from $out/share/dbus-1 and correctly include our -local files from /etc/dbus-1. Perhaps not a high priority -- as @layus mentioned there are probably no/very few people who run D-Bus daemon from nixpkgs on non-NixOS, but this also feels cleaner to me.

:-) certainly don't feel bounded by that commit of mine.  I don't remember it, but I'm fairly certain my understanding of dbus was minimal at that time (and it hasn't improved much since).


pass a json object to a class contructor adds an array around the object

When I pass a json object to a class contructor, an array is added around my object
#include <iostream>
#include <nlohmann/json.hpp>

class A {
	public:
		A(const nlohmann::json &by_ref) : _by_ref{by_ref} {
			std::cout << _by_ref.dump(4) << "\n\n";
		}
	private:
		nlohmann::json _by_ref{};
};

class B {
	public:
		B(nlohmann::json by_val) : _by_val{std::move(by_val)} {
			std::cout << _by_val.dump(4) << "\n\n";
		}
	private:
		nlohmann::json _by_val{};
};

int main() {
	nlohmann::json json_object;
	json_object["key1"] = "val1";

	std::cout << json_object.dump(4) << "\n\n";

	A a{json_object};
	B b{json_object};

	return EXIT_SUCCESS;
}

Output
{
    "key1": "val1"
}

[
    {
        "key1": "val1"
    }
]

[
    {
        "key1": "val1"
    }
]

I would expect all three outputs like the first one.
I'm using gcc-8.3.0 on gentoo linux and nlohmann_json-3.7.0

Braces are treated like arrays to allow this syntax:
json x = {1,2,3,4}; // [1,2,3,4]

Therefore, {json_object} will be treated as an array containing whatever is in json_object.

In our project we have to follow the cpp coreguidelines, including ES.23: Prefer the {}-initializer syntax [1].
From that perspective that is an extremely unexpected behavior, because the standard says ={} gives copy initialization whereas {} gives direct initialization.
[1] http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es23-prefer-the--initializer-syntax

I'm afraid this behavior cannot be changed without breaking existing code.


Adding madewithvuejs.com and vuecomponents.com

close due to in-activity.
if you hope push this PR again, you can push it as new PR. :)


Add ability to pass in fv_precision to builds

This PR adds the ability to pass in fv_precision to the cmake step in builds

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:e5a3a9ed43ae19e4c0187ac4b3a13cc3bc2c3afd

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:f62b824fa488c5a3e2ecea15dd7dba2d2e7d2e3d

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:cdbf809176041ada400f126736bc53f00a1dfa83

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:3603280c3948c22281a6a98caca4824b20f6a0a3

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:17d32ba41a6cc01a53403c82ca88052cf9f6bfe1

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:1fc812a0b25fb91eb5c9b7a21b98ca609cca2d6d


[BUG] Slideout comment system doesn't show when comments are shown in infolist

Probably an edge case, but the commenting system doesn't load when it's already loaded in an infolist area

Additionally, you can't close the slideout or perform any actions after it's open - looks like it caused an error (nothing in the console) and it's stuck


[Request] iOS app release

Hello,
Thanks for this great work, is there a plan for a iOS version available ?
I do not know how to help on this topic. I never do that and do not know where to start.
I assume that this is pretty only a packaging issue. As Jellyfin app exist already on Appstore.
thanks !

This is a desktop only app for now, but there are a few mobile apps you can try


Add standard emojis on desktop

The emoji dialog on the compose pane on Phanpy only features the custom emojis from the current instance, not the "standard" ones.
When using Phanpy on desktop, the emojis provided by the Android keyboard aren't available, so I have to cut/paste them from another source, that's uncomfortable.
Please, include a standard set of emojis besides the custom ones.
Many thanks

@brihuega which desktop OS are you using? For newer OS'es, there are ways to input "standard" emojis now (you'll need to google/search it) which will work in all sites and apps, not just Phanpy.

I use Windows 10 and Lubuntu/LXQt desktop. None of them have a standard easy way to insert emojis. Should I use third party tools?
Thanks

@brihuega I think Windows 10 has the Windows logo key  + . (period) shortcut (depends on your keyboard, or you could remap the shortcut) https://support.microsoft.com/en-us/windows/windows-keyboard-tips-and-tricks-588e0b72-0fff-6d3f-aeee-6e5116097942#ID0EBD=Windows_10
Not really sure about Lubuntu/LXQt.
I personally use a 3rd-party app (on macOS).

I didn't know about the windows shortkey, it's good. In Lubuntu I think I should install some app for this purpose.
Thanks for your kind response.
Regards

For people using Linux with or without rofi, https://github.com/fdw/rofimoji is a very good alternative.


User defined logging pattern

In GitLab by @ksiero on Feb 22, 2021, 11:38
It would be nice to support spdlog pattern that is passed by user in yaml.

In GitLab by @ksiero on Mar 26, 2021, 17:09
mentioned in commit a75088191c99cca3dce411deffe78dc4e3072512

In GitLab by @ksiero on Feb 22, 2021, 11:56
mentioned in commit 76aec6a16a25027acb377249cb40815c98834a18

In GitLab by @ksiero on Feb 22, 2021, 11:39
mentioned in commit 3469a2e621a2b9f003af83e60e59257681f63ca8

In GitLab by @ksiero on Mar 26, 2021, 17:22
mentioned in commit 9ef2cfc3e1b5bfbc4a7cb0380105925218659627

In GitLab by @ksiero on Jul 20, 2021, 12:10
mentioned in commit 9375eeef3655b4133a7ec3b404fb7838964063e9

In GitLab by @ksiero on Jul 18, 2021, 12:04
mentioned in commit 4395cc954615e236438a281e86675b8f50dcf4a3


[Build Tools] Meteor package: Use api.addAssets for static files

Description
Trying add the semantic-ui package to a meteor project raise the next error:
$ meteor add semantic:ui-css

 => Errors while adding packages:

While building package semantic:ui-css:
error: No plugin known to handle file 'themes/default/assets/fonts/icons.eot'. If you want this file to be a static asset, use addAssets instead of addFiles; eg,
api.addAssets('themes/default/assets/fonts/icons.eot', 'client').
error: No plugin known to handle file 'themes/default/assets/fonts/icons.svg'. If you want this file to be a static asset, use addAssets instead of addFiles; eg,
api.addAssets('themes/default/assets/fonts/icons.svg', 'client').
error: No plugin known to handle file 'themes/default/assets/fonts/icons.ttf'. If you want this file to be a static asset, use addAssets instead of addFiles; eg,
api.addAssets('themes/default/assets/fonts/icons.ttf', 'client').
error: No plugin known to handle file 'themes/default/assets/fonts/icons.woff'. If you want this file to be a static asset, use addAssets instead of addFiles; eg,
api.addAssets('themes/default/assets/fonts/icons.woff', 'client').
error: No plugin known to handle file 'themes/default/assets/fonts/icons.woff2'. If you want this file to be a static asset, use addAssets instead of addFiles; eg,
api.addAssets('themes/default/assets/fonts/icons.woff2', 'client').
error: No plugin known to handle file 'themes/default/assets/images/flags.png'. If you want this file to be a static asset, use addAssets instead of addFiles; eg,
api.addAssets('themes/default/assets/images/flags.png', 'client').

Since meteor 1.2 api.addAsset should be used to define static files. So this pull request simple use addAsset for static files and addFiles to files whose must be processed by the framework.
Related Issues
Semantic-Org/Semantic-UI-CSS#14
Semantic-Org/Semantic-UI-CSS#18
Semantic-Org/UI-Flag#1
Semantic-Org/UI-Icon#5

This looks good to me. Sorry about this.


FR: Single video player

When you are researching a topic it is very common to have a note with multiple timestamps from different videos. Every time you click on a timestamp a tab opens in obsidian and this clutters the obsidian interface a lot.
Would it be possible to only have an option for a single player so that regardless of the video it always loads in the same player?
Thanks for continuing development!

you can assign a hotkey to "take timestamp" or "screenshot" command, so when focused in note, the active player with icon marked red will be used as target player

Thanks for the response, maybe I didn't understand you correctly.
The idea is that a single player can watch multiple different videos, as would happen in a desktop video player or a YouTube playlist.
Is this possible?
Currently, if you want to see timestamps of several videos, this happens.:

in beta10, you can use pin command to let media open in single player

Thanks!


Scoring, boosting query: not working?

Scoring and boosting query options do not seem to work properly anymore. When those options are changed score does not seem to be changed accordingly.
Thank you,
Alexandre

It was related to the search cache. In the version 1.5.10, as workaround you have to disable the search cache by setting it to 0.


Typo "teams"→"Teams"

https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/debug/with-the-bot-emulator

Docs Build status updates of commit 7764d88:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/debug/with-the-bot-emulator.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Thank you for catching this error. The document was meant as an outline for later use. It will be removed. Thanks again!


[AutoRelease] t2-datafactory-2022-10-24-13017(Do not merge)

https://github.com/Azure/sdk-release-request/issues/3284
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=987

issue link:https://github.com/Azure/sdk-release-request/issues/3284


Make rayfed package platform independent

LGTM.
Bump to 0.1.0b1 by the way? b0 is shipped already 😅


Allow to embed citations using Jupyter Book syntax

https://jupyterbook.org/content/citations.html

Additional discussion on gitter: https://gitter.im/jupyterlab/jupyterlab?at=61057eae6ccf813819e9f6a3

Hi, adding one footnote to this issue.
As one should expect, with Jupyter Books if I store my bibliography in a .bib file but insert the citations with the citation-manager, these won't be inserted because Jupyter Book does not recognize the format.
The converse, however, is also true: if I insert the bibliography with the citation-manager at the end of a chapter with alt - B and then build the book, no references will be added. Perhaps this is because the
 ...
 tags cannot be parsed?
Also, how do you see this being implemented? I would love to help out on this one, because of the crazy synergy. Could the citation manager retrieve citations from a .bib file? Is this just a matter of citation keys not matching? Could the metadata in the ipynb notebook be rewritten in a format that could be used in the md:myst notebook to build a book?

The converse, however, is also true: if I insert the bibliography with the citation-manager at the end of a chapter with alt - B and then build the book, no references will be added. Perhaps this is because the  ...  tags cannot be parsed?

I can confirm removing the
...
 tags solves the issue. To be fair, I removed all
,  and comment


Provider is not importable without using replaces in go

Description
It is not possible to import the terraform provider into other go projects without using replace because the go.mod is missing a /vN (in accordance to it's respective major version)
Expected behavior
https://github.com/ionos-cloud/terraform-provider-ionoscloud/blob/master/go.mod#L1
This line should end in /v6 for the latest release.
How to Reproduce
Add provider to go.mod at v6.0.0 and do go mod tidy
Use this require:
require (
    github.com/ionos-cloud/terraform-provider-ionoscloud/v6 v6.0.0
)

Error and Debug Output
go mod tidy
go<EMAIL_ADDRESS>go.mod has non-.../v6 module path "github.com/ionos-cloud/terraform-provider-ionoscloud" (and .../v6/go.mod does not exist) at revision v6.0.0

We will add versioning, thanks!

Should be fixed in latest terraform release -  6.0.2


Alertbox with PHPSESSID and timezone?

I get the following alertbox if I submit my form

This happens if I execute the following steps:

Fill out form
Leave page
Get back to page --> inputs are perfectly restored
Submit form --> Alert???

I do not get this when nothing was restored.

@Aurugorn I feel you but if the inputs are perfectly restored it means the plugin works. As to why you're receiving alters you'll have to debug your code and look closely into how you're processing data when the form is submitted as the code of this plugin is hardly related to it.


Color image to color camera

I am trying to create a 3D point cloud with color information based on captures from multiple azure kinect cameras from different angles. For this I used some of the code from the green screen example, right now I capture color and depth images from 2 cameras. I transform both the depth image from camera 2 and the the depth image from camera 1 to the color "domain" of camera 1. For this I use the "depth_image_to_color_camera" function.
The output of my program right now is: color image camera 1 in color domain camera 1, depth image camera 1 in color domain of camera 1, depth image camera 2 in color domain camera 1, color image camera 2 still in color domain of camera 2.
I use Open3D in python to create 3D point clouds from these files, (one point cloud for each camera), and then overlap them to create a more complete 3D point cloud. However this does not work so well, because the color image of camera 2 is not transformed to the perspective of camera 1. The reason for this is because the SDK does not have a function for this.
Is anyone aware of a solution to this problem?

Any updates?