translation added for codeRequestedMessage

Details
https://github.com/Expensify/App/issues/17857
Fixed Issues

$ https://github.com/Expensify/App/issues/17216
Tests

Provide login id on the login page
Once received magic link email, try to open a previous expired link(can be test on web/mweb)
Now click on the link 'request a new code here'
Verify the text 'Magic code sent!' shows correctly

[X] Verify that no errors appear in the JS console

Offline tests

Provide login id on the login page
Once received magic link email, try to open a previous expired link(can be test on web/mweb)
Now click on the link 'request a new code here'
Verify the text 'Magic code sent!' shows correctly

QA Steps

Provide login id on the login page
Once received magic link email, try to open a previous expired link(can be tested on web/mweb)
Now click on the link 'request a new code here'
Verify the text 'Magic code sent!' shows correctly

[X] Verify that no errors appear in the JS console

PR Author Checklist

[X] I linked the correct issue in the ### Fixed Issues section above
[X] I wrote clear testing steps that cover the changes made in this PR

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[X] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[X] I included screenshots or videos for tests on all platforms
[X] I ran the tests on all platforms & verified they passed on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[X] I followed proper code patterns (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari
![mobile (27)](https://user-images.githubusercontent.com/14358475/234033237-a469ff7a-5b61-4006-b459-
2b34f13c0111.png)

Desktop

iOS

Android

@tgolen @mollfpr One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/tgolen in version: 1.3.6-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Pujan92 Testers are not seeing Now click on the link 'request a new code here'. Is this only for Web and mWeb?

@kavimuru To get that link on the page  we need to Once received magic link email, try to open a previous expired link. With this, you will get that page and link request a new code here. Only for web/mweb it is taking to that page otherwise for native it isn't landing there.

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.6-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Need backticks for server-side rather than client-side variable substitution

In the code snippet for copying the pubic key for non-administrators, the following line:
$remotePowershell = "powershell New-Item -Force -ItemType Directory -Path $env:USERPROFILE\.ssh; Add-Content -Force -Path $env:USERPROFILE\.ssh\authorized_keys -Value '$authorizedKey'"
should be changed to this to avoid using the client's username rather than the server's:
$remotePowershell = "powershell New-Item -Force -ItemType Directory -Path `$env:USERPROFILE\.ssh; Add-Content -Force -Path `$env:USERPROFILE\.ssh\authorized_keys -Value '$authorizedKey'"

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

ID: 4c89b7b3-c05f-b517-6109-04e6a97195c3
Version Independent ID: 1e4b742e-d999-2c1e-a396-dc149f7ac76b
Content: Key-based authentication in OpenSSH for Windows
Content Source: WindowsServerDocs/administration/OpenSSH/OpenSSH_KeyManagement.md
Service: windows-server
Sub-service: administration
GitHub Login: @maertendMSFT
Microsoft Alias: damaerte

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Vault gen password

[x] Code to generate password from vault

[x] Fix test

[x] Documentation : I have created the following issue to continue working on the documentation issue#21

The whole of [00-poststart-example.yml](dev/vagrant(conf/post_bootstrap/00-poststart-example.yml) should be done as part of the box (in vagrant-hashistack) IMO, because generating secrets is something a lot of modules might find handy

I would suggest avoiding coupling with specific plugin (current plugin only generates string)

@pdmthorsrud : Do you think it's ok to merge these changes?

The whole of [00-poststart-example.yml](dev/vagrant(conf/post_bootstrap/00-poststart-example.yml) should be done as part of the box (in vagrant-hashistack) IMO, because generating secrets is something a lot of modules might find handy

+/-
agree: yes, several modules will need random strings
disagree: because of coupling with specific plugin (current plugin only generates string)
Find a better way.

What do you mean because of coupling with specific plugin? Specifically that generating random strings need a plugin? If so, I still think it should be put into the box itself, not each and every module

@pdmthorsrud : Do you think it's ok to merge these changes?

 I would like to resolve what's discussed above. What is your take on it?

@pdmthorsrud

Coupling with the specific plugin: https://github.com/sethvargo/vault-secrets-gen
generating random string need a plugin (yes - this PR)
if we decide to use this plugin, what are our requirements (security: algorithms, support of symbols like numbers-  case- special symbols, byte strength etc...) What if we decide chose another plugin for such a needs

@pdmthorsrud

If we decide to upstream this plugin to 00-poststart-example.yml of box.  Coupling with the specific plugin: https://github.com/sethvargo/vault-secrets-gen
generating random string need a plugin (yes - this PR)
if we decide to use this plugin, what are our requirements (security: algorithms, support of symbols like numbers-  case- special symbols, byte strength etc...) What if we decide chose another plugin for such a needs

I'm thinking if we choose another plugin down the road we'd just change the plugin in the box. People could still implement their own plugins like what's done here, even though we supply a plugin with the box.

@pdmthorsrud : Do you think it's ok to merge these changes?

 I would like to resolve what's discussed above. What is your take on it?

Well, as long as we agree on using this plugin in this module so we could go ahead and merge this PR so that Claes and Daniel can carry on with their tasks.
We can create a separate issue where we could try to find out other plugin that could do a better job and then take a decision on whether we could add that to the template or not.
Note: The ansible tasks in 00-poststart-example.yml are idempotent so they would run just fine even if the code is duplicated in template.


debug draw slow

investigate a little more why debug draw is very slow.  Some initial timer profile caps:

going to take a crack at polishing this up a bit:

still may be slow with a lot of joints on screen (still drawn every frame).   Will address later when joints are done

It might take a great deal of effort to optimize joint drawing. Not only do they have to redraw when just about any joint property is changed (and there are lots of properties), but anchors and several lines need to be redrawn whenever the relative transform between joint and connected bodies changes.
I don't expect this is a good reason to not optimize joint debug drawing, just know the change won't be small.

I’ll probably change or fix how this work is submitted.   Even updating every frame should not be a performance hit.  All the debug geometry is the same and should be submitted to the gpu together.   The only thing that’s really changing is a single vertex attribute for color really.  It should be really fast regardless.   I’ll probably dig a bit deeper next week, but it shouldn’t be a performance hit at all

On Dec 12, 2020, at 7:38 PM, Brian Semrau<EMAIL_ADDRESS>wrote:

It might take a great deal of effort to optimize joint drawing. Not only do they have to redraw when just about any joint property is changed (and there are lots of properties), but anchors and several lines need to be redrawn whenever the relative transform between joint and connected bodies changes.
I don't expect this is a good reason to not optimize joint debug drawing, just know the change won't be small.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Actually it looks like lines draw fast (there is no buffer allocation).  canvas_item_add_polygon is the bottleneck.
For joints if we're just drawing canvas_item_add_line it's going to still be quite fast.

Going to just push this back for now, the more we can use use canvas_item_add_line for joints the better.


Updating the Spigot API to the latest version.

BossShopAPI is not working on the latest version, would it be possible to update the Spigot API to the latest version?
Thank you!


log-backup: added Debug output of error to report log

Signed-off-by: hillium<EMAIL_ADDRESS>
What is changed and how it works?

Issue Number: Close https://github.com/tikv/tikv/issues/13685
What's Changed:

`report` would now print the `Debug` version of error.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

(Almost) No code

Release note
None

/merge


Weird go to def/hover/find-ref behavior in decltype() expressions inside of a template

I see weird behavior when using clangd on folly which makes heavy use of templates. In this example I see it on the file Expected.h (link)  if I hover over any token inside of the decltypes in the template parameters I get results as if it were for the function itself.

In this case even the token for std:: is treated as the function itself when it should be able to know its referencing the std namespace.
System information
I've verified this behavior on clangd version 14.0.0, 15.0.06 and with a clangd built from head which shows 16.0.0
Editor/LSP plugin:
vscode with official clangd plugin
Operating system:
linux (fedora)

Are you able to provide a minimized example? The following works for me with recent clangd:
namespace std { template <class X> X declval(); }

template <
    class This, class Yes, class No,
    class Ret = decltype(std::declval<Yes>()(std::declval<This>().value())),
    class Err = decltype(std::declval<No>()(std::declval<This&>().value()))>
static Ret thenOrThrow_(This&& ex, Yes&& yes, No&& no);

I was able to fix the issue by using an alternative build method to produce a different compdb. I suppose its an issue of incomplete build args meant the decltype expressions in the AST weren't fully actualized?
Anyways, sorry for the noise.

For posterity, it also looks like this was the behavior in clangd version 12 when I tested it.

I suppose its an issue of incomplete build args meant the decltype expressions in the AST weren't fully actualized?

Yes, incomplete flags tend to lead to the parse failing somewhere and that ends up cascading into incomplete AST in lots of places, some combination of {parsing C++ is highly context-sensitive, clang's AST tries to preserve strong invariants}.
To a first approximation clangd sees the AST produced by clang -fsyntax-only -Xclang -ast-dump $FLAGS file.cpp.


Epic: Ship an extensible/customizable reverse proxy performant enough for cloud scale workloads

As a cloud native infrastructure/service developer, I want a reverse proxy solution that is customizable to my needs and performant enough for cloud scale workloads.
From a YARP perspective, this list represents the functionality we consider to be required for a YARP v1.
This includes the following user stories:
Configuration

[x] Proxy supports static config files, with hot reload for handling changes #9

[ ] ~Proxy configuration is extensible for custom metadata on routes, destinations etc #485~

[x] Proxy supports dynamic configuration pulling from other sources #8

[x] Proxy has Service Fabric integration for dynamic discovery of routes #257
[x] Proxy can act as a Kubernetes Ingress Controller #200

[x] Routes can be fully dynamic and discovered on a per request basis for hyper scale hosting  #46

Routing & inbound connections

[x] Proxy can front multiple sites and route based on SNI/Host #14
[x] Proxy should enable routing based on header values #405
[x] Proxy should have active health checks to confirm the state of destinations #228
[x] Proxy supports Session Affinity to route subsequent requests to the same host#45
[ ] ~Proxy can divert routes to support A/B testing, service rollout etc #126~
[x] Proxy supports multiple algorithms for load balancing across destinations #58
[x] Proxy supports authentication / authorization for specific routes #122
[ ] ~Proxy can deliver static files directly #187~
[ ] ~Support for Lets Encrypt for TLS termination #110~

Proxying & outbound connections

[x] Incoming request Url can be transformed before passing to destination(s) #207
[x] Requests and responses headers can be transformed #21
[x] Http Methods can be transformed (eg POST to PUT) #445
[x] Outbound http connections to destinations are configurable #282
[x] Proxy adds standard headers related to request forwarding #13
[ ] ~Proxy can be used in a hosted datacenter environment with limitations such as SNAT #62~
[x] Proxy can handle gRPC traffic including streaming #118
[x] Proxy component can be used stand-alone for advanced scenarios #408

Diagnostics

[x] Proxy supplies metrics for monitoring performance #61
[x] Proxy supplies logs for with pertinent  info for each stage of the request #660
[ ] ~Proxy has an API for determining its health #125~

General

[ ] ~Proxy is hardened so it can directly face the internet #16~

[ ] ~Proxy monitors its own load/health and throttles connections when required #470~

[x] Proxy has cloud scale performance, and is benchmarked in the lab #51
[ ] Proxy has documentation #484
[x] Customer can add middleware to customize the proxy functionality such as routing, header manipulation #114
[x] Support for .NET 3.1 & 5 #159
[ ] ~Support for back pressure #290~

Packaging

[x] Proxy can be consumed as a library so it can be readily extended and customized #143
[ ] ~Proxy is supplied as a project template for dotnet new #77~
[ ] ~Proxy is supplied as a pre-built exe with a configuration file #261~
[ ] ~Proxy is supplied as a pre-built docker image #247~

1.0 shipped!


Bug in assert_hook with streams.

Example: (Edit: corrected the example, thanks Simon)
from attest import assert_hook, Tests
from io import StringIO

tests = Tests()

@tests.test
def stringio():
    stream = StringIO(u'hi')
    assert stream.read() == u'hi'

However it works if the .read() isn't done in the assert line:    from attest import assert_hook, Tests
from io import StringIO

tests = Tests()

@tests.test
def stringio():
    content = StringIO(u'hi').read()
    assert content == u'hi'  # works

Hi,
Thanks for the report. This is a known bug/behavior: each assert expression is evaluated once to see if the test passes, and in case of failure the fancy reporter evaluates it once more (though partially) to build its output.
I have not tested your examples, but I expect they would both work. In the first one the reporter would create a new StringIO and have the expected behavior. By the way what exactly do you call "not working"? What behavior/output do you get?
Here is a third example that I expect does not work and guess is what you meant:
from attest import assert_hook, Tests
from io import StringIO

tests = Tests()

@tests.test
def stringio():
    file_like = StringIO(u'hi')
    assert file_like.read() == u'hi'

In this case both evaluations have the same StringIO object, and the second call to read() gives the empty string since the internal pointer is already at the end of the file. The same bugs can be observed with generators that can be "consumed" only once.
This might not be easy to fix but I’ll investigate.
In the meantime remember that the assert expression is evaluated twice on failed asserts, though this only affects reporting.

Oops! You're absolutely right (I've fixed it in my original post). In what I was doing, it seemed like the assert statement was being evaluated twice even when the assert succeeded. This meant that a test that would normally work fine, would have an AssertionError raised. It seems like Attest evaluates the expressions upfront to build the error message "just in case", and then performs the comparison, at which time since the stream has been exhausted, it fails.

Which version are you using? I think this (evaluating twice on success) was fixed in git since the latest release.
(Yes, the next release is long overdue ...)

I'm using the latest stable :P -- 0.5.2

Do you still have the bug with the git version? Install it with pip install git+git://github.com/dag/attest.git

I've done a little more research. Given the file:
from attest import assert_hook, Tests
from io import StringIO

tests = Tests()

@tests.test
def stringio():
    stream = StringIO(u'hi')
    assert stream.read() == u'hi'

if __name__ == '__main__':
    tests.run()

If I save it to sample.py and execute it via python sample.py, it works. However if I add a setup.py with the lines:
#!/usr/bin/env python
from setuptools import setup

setup(
    ...
    tests_require=['Attest >=0.4'],
    test_loader='attest:FancyReporter.test_loader',
    test_suite='sample.tests',
    ...
)

And then run python setup.py test, it fails. If I remove the assert_hook import, it works again. Changing FancyReporter to any other reporter makes no difference.
Upgrading to the latest Git version fixes the issue.

“It works” when run directly because the assert hook does not work in that case. The assert hook is implemented with a import hook that rewrites assert statements. That import hook is itself installed when Attest is first imported, which in your first test case happens after your script was imported.

Ahh, I see! Well that's all nice and consistent then. Thanks for the follow up.


 I have also tried to write is by myself, but always with the same error.
I have build GoAccess with Cygwin, Windows10 x64. Building did not produced any errors.

What is the output of running date?
You could also try running goaccess as:
LANG="en_US.UTF-8" bash -c 'goaccess access.log --log-format=COMBINED'

@allinurl
Thank you, setting up LANG helped.

Awesome. Feel free to reopen it if needed.

@allinurl
what's the difference between LANG="en_US.UTF-8" and LANG="zh_CN.UTF-8" ?
# works perfectly without errors
LANG="en_US.UTF-8" bash -c 'goaccess nginx.log --log-format=COMBINED -o result.html'

# get error: Token '17/Feb/2017' doesn't match specifier '%d'
LANG="zh_CN.UTF-8" bash -c 'goaccess nginx.log --log-format=COMBINED -o result.html'

nginx.log file content:
<IP_ADDRESS> - - [17/Feb/2017:00:08:11 +0800] "GET /data/upload/shop/common/loading.gif HTTP/1.0" 200 134 "http://www.mall121.com/" "Mozilla/4.0 (compatible; MSIE 8.0; Trident/4.0; Windows NT 6.1; SLCC2 2.5.5231; .NET CLR 2.0.50727; .NET CLR 4.1.23457; .NET CLR 4.0.23457; Media Center PC 6.0; MS-WK 8)" "<IP_ADDRESS>"
<IP_ADDRESS> - - [17/Feb/2017:00:08:11 +0800] "GET /data/upload/shop/common/loading.gif HTTP/1.0" 200 134 "http://www.mall121.com/" "Mozilla/4.0 (compatible; MSIE 8.0; Trident/4.0; Windows NT 6.1; SLCC2 2.5.5231; .NET CLR 2.0.50727; .NET CLR 4.1.23457; .NET CLR 4.0.23457; Media Center PC 6.0; MS-WK 8)" "<IP_ADDRESS>"

goaccess 1.3 add supports for French, Spanish, Chinese and Japanese. How can I get Chinese html file without doesn't match specifier '%d' error ?
$ echo $LANG
zh_CN.UTF-8
$ date
2019年 6月11日 星期二 15时15分02秒 CST
$ goaccess nginx.log --log-format=COMBINED -o result.html
nginx.log. [0] [0/s]
Token '17/Feb/2017' doesn't match specifier '%d'

Great question. The issue here is that your web server is logging in English and thus you see [17/Feb/2017:00:08:11 +0800]. GoAccess uses strftime and strptime to do the date conversions using the current locale. To have the output be in Chinese, you can try changing LC_TIME  instead of LANG.

@allinurl
Thank you very much. The following cmd works like a charm!
# no errors and result.html is Chinese
LANG="zh_CN.UTF-8" LC_TIME="en_US.UTF-8" bash -c 'goaccess nginx.log --log-format=COMBINED -o result.html'


probe-rs: arm: memory_ap: Default HNONSEC to !SPIDEN

Some MCUs appear to have HNONSEC set to non-privileged mode by default. Because ADIv5 calls for HNONSEC to be privileged (that is, false) by default when the bit is implemented, let's default to that for AHB3 and AHB5 interconnects.
Fixes #2788

Was seeing the same issue on MIMXRT685-EVK which seems to have been fixed with this change

Fixed here too. Thanks @felipebalbi

Fixed here too. Thanks @felipebalbi

good to know, thanks for confirming :+1:


Server based on connection-manager

[x] - server implementation
[x] - testing uni- and bi-directional connections

Done in #2200


Check torch max version from the sparseml lib itself

What does this PR do?
Close to every updates of SparseML involves support for a newer version of PyTorch.
Therefore, as pl bolts check that deps are correct, I believe it is smarter to get the max torch version from sparseml itself. This way, we'll not be forced to update pl bolts at every update of SparseML's deps.
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests? [not needed for typos/docs]
[x] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review

[x] Is this pull request ready for review? (if not, please submit in draft mode)

Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@clementpoiret how is it going here? :rabbit:

it is funny that we can't use this check because sparseml crashes itself even before giving the version information :D
src/pl_bolts/__init__.py:18: in <module>
    from pl_bolts import (  # noqa: E402
src/pl_bolts/callbacks/__init__.py:3: in <module>
    from pl_bolts.callbacks.data_monitor import ModuleDataMonitor, TrainingDataMonitor
src/pl_bolts/callbacks/data_monitor.py:13: in <module>
    from pl_bolts.utils import _WANDB_AVAILABLE
src/pl_bolts/utils/__init__.py:30: in <module>
    from sparseml.pytorch.base import _TORCH_MAX_VERSION as _TORCH_MAX_VERSION_FROM_SPARSEML
../../../hostedtoolcache/Python/3.8.[17](https://github.com/Lightning-Universe/lightning-bolts/actions/runs/5420585576/jobs/9854949854?pr=991#step:18:18)/x64/lib/python3.8/site-packages/sparseml/pytorch/__init__.py:51: in <module>
    from .framework import detect_framework, framework_info, is_supported
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/framework/__init__.py:[24](https://github.com/Lightning-Universe/lightning-bolts/actions/runs/5420585576/jobs/9854949854?pr=991#step:18:25): in <module>
    from .info import *
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/framework/info.py:[26](https://github.com/Lightning-Universe/lightning-bolts/actions/runs/5420585576/jobs/9854949854?pr=991#step:18:27): in <module>
    from sparseml.pytorch.sparsification import sparsification_info
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/sparsification/__init__.py:24: in <module>
    from .distillation import *
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/sparsification/distillation/__init__.py:17: in <module>
    from .modifier_distillation import *
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/sparsification/distillation/modifier_distillation.py:24: in <module>
    from sparseml.pytorch.sparsification.distillation.modifier_distillation_base import (
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/sparsification/distillation/modifier_distillation_base.py:30: in <module>
    from sparseml.pytorch.sparsification.modifier import (
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/sparsification/modifier.py:36: in <module>
    from sparseml.pytorch.utils import LOGGING_LEVELS, BaseLogger, LoggerManager
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/utils/__init__.py:36: in <module>
    _check_torch_install()  # TODO: remove once files within package load without installs
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/pytorch/base.py:85: in check_torch_install
    return check_version("torch", min_version, max_version, raise_on_error)
../../../hostedtoolcache/Python/3.8.17/x64/lib/python3.8/site-packages/sparseml/base.py:[28](https://github.com/Lightning-Universe/lightning-bolts/actions/runs/5420585576/jobs/9854949854?pr=991#step:18:29)6: in check_version
    raise ImportError(
E   ImportError: required max torch version 1.13.100, found 2.0.1


Fix ordering of steps in installation tutorial

Checklist

[x] PR contains a single logical change (to build a better changelog).
[x] Update the documentation.
[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog.

If I remember correctly Vault is also very unhelpful at this stage and does not return any errors if somethings wrong 🙈

You have to open the browser dev tools to see the error 😅


Add RustyTube

Adding my desktop Youtube client that is made with Leptos.
Greg, don't look at my spaghetti code pls.

LOL. If it works, it works :smile: :tada:


fix: double quotes issue in stable/mariadb

Which issue this PR fixes
fix double quotes issue during the installation with serviceAccount.create=true  rbac.create=true
helm install stable/mariadb --set serviceAccount.create=true --set rbac.create=true
Error: YAML parse error on mariadb/templates/serviceaccount.yaml: error converting YAML to JSON: yaml: line 7: did not find expected key

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[ ] Variables are documented in the README.md

/assign @tompizmor

/ok-to-test
/lgtm

Thanks for the fix!


How can I get stories highlights?

I mean, not the usual stories (24 hours lifetime), but the special ones, like the "eternal stories".

Have you found how to get highlights?

Have you found how to get highlights?

Yes, but I write the solution in another programming language

It still can be helpful. Can you share it?

It still can be helpful. Can you share it?

I don't think it can help you, but here's a piece of code that parses the stories https://gist.github.com/Al-Muhandis/b2bc7550413437442cd1d4911f818cea


StrictValidation false still enforces all resolvers

Describe the bug
In version 8.x setting StrictValidation to false ignored missing resolvers. In 9.0.0 setting this to false results in errors when resolvers are not present.
To Reproduce
Steps to reproduce the behavior:

Create schema from string.
Set configuration.Option.StrictValidation = false;

Expected behavior
If there are missing resolvers there is no expection
Desktop (please complete the following information):

OS: Windows 10
Version 9.0.0

I will look into this tomorrow.

Sorry for the delay here.... but I was pretty busy the last view days. I will look at this issue more closely today.

Thanks for the reply and follow-up. Was a blocker for me but I ended writing a code generator to stub missing revolvers & models for my use case. Not what I envisioned but may actually turn out to be a good practice in the long run.

There is a simpler way to work around this:
SchemaBuilder.New()
   .Use(next => context => Task.CompletedTask)
   .Create()

The rule that we have is that you do not have to have a resolver actually but there must be some means registered to resolve data for a field. You can do that by providing one global middleware.
It works even if that middleware does not actually resolve data. We use that also in many of our tests.
This also allows to register one data middleware that pulls for a couple of fields data.
This is also how schema stitching works.

This is still a bug in v10.5.2.
The workaround info is use however, thanks @michaelstaib
@jkporter I don't suppose you created a lib from that generator? Could you share the code? I'm trying to write an interface generator as there seems be nothing usable for .NET that's up to date for schema-first workflow.

We will not change the behavior since I think the workaround is actually a good practice to handle this.

@michaelstaib When you say you won't change the behaviour, what is its intended behaviour? That doesn't seem clear - does it do anything? It could use some documentation.
The workaround is actually much less useful than I thought, because it overrides all resolvers, so although it is helpful for inspecting the schema, it is of no use if you want to get things up and running without having to implement all resolvers yet.

StrictValidation was intended to shut off the validation of the schema but we are removing this option and let people opt into specific validation parts or even write validation on top. From the way where this is going, it just does not make sense anymore to have a global switch to shut the validation off.
My original intent with this was to have a switch to shut validation off when testing parts of the schema API.
What is it that you are trying to do? With version 11 we have a much more powerful configuration API that will let you rewrite the schema types by intercepting the configuration.
Also, just a side note, since you mentioned schema-first / sdl-first. We are also working on a lot more features around schema-first so if you want to chime in we can have a chat around this.

@michaelstaib I'd be very glad to have a chat about schema/sdl first approach and the features in v11. What's your preferred contact method?


feat // remove method open from port interface

Since the open method depends on "serial.Config", the port interface always
contains a dependency to the serial package. To prevent this, the method
is removed. This change has no side effects.
The usage has not changed and can be tested with the example and the existing
unit test.
For this purpose virtual interfaces can be created with socat.
"socat -d -d pty,link=/dev/ttys009,raw,echo=0 pty,link=/dev/ttys010,raw,echo=0"

Am I missing something here? How does removing a dependency of a package on itself help? :D But sure, do it.

Well, regardless of the fact that removing dependencies is always a good thing, they should not occur in the interface itself.
Previously, a valid port had to implement *Open(Config) with dependency on serial.Config. In the Open function itself, a port was first created and open was called immediately. It seems more reasonable not to do this at the time of creation. However, the configuration should not really have much to do with the port itself.
As implemented now, a port corresponds to the interface io.ReadWriteCloser. If now serial.Port is used e.g. when embedding, it can be exchanged without further problems, because it is only an alias for io.ReadWriteCloser.

All righty, the open() call is now depending on the target OS. To ensure that there is only one in the serial package, do you not have to add a build constraint, like +windows to the serial_windows.go?

No, that's not necessary, because the file names already follow the build conventions.
SEE: https://golang.org/pkg/go/build/


feat: Dependencies inference for useCustomCompareEffect

Added generic to useCustomCompareEffect for dependencies inference in compare function
Description
Using useCustomCompareEffect ran into the inconvenience of having no type inference in the compare function.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

Checklist

[X] Read the Contributing Guide
[X] Perform a code self-review
[ ] Comment the code, particularly in hard-to-understand areas
[ ] Add documentation
[ ] Add hook's story at Storybook
[ ] Cover changes with tests
[x] Ensure the test suite passes (yarn test)
[x] Provide 100% tests coverage
[ ] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[ ] Make sure types are fine (yarn lint:types).

I have no idea why Travis' build like in PR was successful and mine not but anyway there are no errors related by my code.

:tada: This PR is included in version 15.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Embed facebook-chat-api in a chrome extension

Hello,
I'd like to use your api into a chrome extension. I tried to browserify it but it blocks on the npmlog module you are using. Do you have any ideas on how to embed all your api in a single package without having to run a server beside ?
Thanks a lot,
Quentin

Last time when I try to browserify this module I failed. Instead of NPM log you can use simple console.log... I dont remember all steps what I do, so I cant help you more

Hey @KeNt178, I think you can easily mock the require('npmlog') if you dig into webpack.
@GAMELASTER you were trying to run it entirely client side right? If so you probably had problems with cross site requests being not allowed. Chrome extensions don't have that problem so you should be fine @KeNt178.

How does it "block"?  Are you getting an error?
#103
https://github.com/npm/npmlog#logstream

I got the error "cannot find module 'bufferutil', I typed 'npm install bufferutil utf-8-validate --save' to download it. Then I succeeded to browserify it. Don't know if the server is running yet but it worked !

Uhh ok. Let us know if it ends up working.


Wrong static type checking when providing a string value to a function parameter that is not typed to receive string.

Bug Report
Wrong static type checking when providing a string value to a function parameter that is not typed to receive string.
🔎 Search Terms
string,function,parameter,static,type,checking,bug
🕗 Version & Regression Information
This is the behavior in every version 4.. and 5.. version I tried in the playground + nightly
⏯ Playground Link
Playground link with relevant code
💻 Code

const test : (args : {
    stopOnData ?: string,
    /**
     * @description
     * Stops when a total of `length` data has been scrapped.
     * @default Infinity
    */
    length ?: number
}) => Promise<{
    text : string,
    aadePostTimestamp : number,
    scrapTimestamp : number
}[]> = async () => {
    return [];
};

test(``);//BUG : does not lint error
test("");//BUG : does not lint error
test(true);//does lint error
test(1);//does lint error

Renaming the property length to something different solves the issue. Is this the expected behavior in the first place?

This is working as intended. Strings have a length property, resulting in a sufficient overlap with the type the function accepts.

What about providing a function instead of a string?

A function also has a length property :)

Yes it does, but it lints error.

The rule that prevents assignability to all-optional types is basically a heuristic; from a purely theoretical POV all of these inputs "should" be accepted (but this is obviously undesirable in practice). The "weak type" rule effectively checks for properties on the object version of the type, so string gets length, etc, whereas the .length property of a function isn't directly surfaced since it only appears as part of being in the Function interface.


Both key values: KeyContainer "Mono.Cecil.CustomAttributeArgument" and KeyFile

How to reproduce
... I am trying to write a wrapper around some XML tools.  The Wrapper has to be called by a "C" function hence using DLLExport.
I have used the DLLExport bat file to configure and it does not compile.  My interface to "C" is (currently) very simple.
Here is my Class
using System;
using System.Net;
using System.Security.Cryptography;
using System.Xml;
using CyberSource.Clients;
using System.Runtime.InteropServices;

namespace CyberSource.FPWrapper
{
    public class FPWrapperSystem
    {
        [DllExport]
        public static void FPRefund()
        {
            XmlDocument request = new XmlDocument();
        }
    }
}

What version and selected configuration ?
VS17 DLLExport 1.6 (downloaded today)
Can you provide detailed log of your build ?
@maguirem_build.log

updated by @3F because of<EMAIL_ADDRESS>

@maguirem thanks for the report. But please use attachments for the next time, because 112 Kb of text information it's really a lot for reading from email or even inside this page.
Did you see issue #48 ?
Please check this out, and let me know if this is not the same problem for you.

Hi Denis,
Yes, sorry about the monster dump into the message.
Issue #48 did resolve the issue with compiling thanks so much.
I am now trying to call the Exported function from a "C" program and it is
currently crashing.  I am not sure how to step into the function address.
I am using a Windows Console app to try and call my FPRefund C# "function"
with no paramters  like:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
typedef int (__cdecl *MYPROC)( );
int _tmain(int argc, _TCHAR* argv[])
{
HMODULE hDLLInstance;
MYPROC ProcAdd;
if((hDLLInstance = LoadLibrary(TEXT("C:\Cybersource\cybersource-sdk-
dotnet-master\CyberSourceSamples\bin\FPCybersource.dll")))==NULL)
{
MessageBox(NULL,(LPCWSTR)L"FPCybersource.dll Could not be found. Please
Notify MIS",(LPCWSTR)L"dll Not Found", MB_ICONEXCLAMATION);
return(0);
}
//
// -Get the memory location of the Entry Point. If NULL is returned,
there is no
// such routine in the dll.
//
ProcAdd = (MYPROC)GetProcAddress(hDLLInstance,("FPRefund") ) ;
if (ProcAdd == (MYPROC) NULL)
{
MessageBox(NULL, (LPCWSTR)L"FPCybersource.dll Entry Point not found.
Please Notify MIS",(LPCWSTR)L"dll Not Found", MB_ICONEXCLAMATION);
return(0);
}
else
{
//
//    -Call your dll.
//
ProcAdd();
}
return 0;
}
Any suggestions?
Cheers
Mike
On 17 April 2018 at 22:01, Denis Kuzmin<EMAIL_ADDRESS>wrote:

@maguirem https://github.com/maguirem thanks for the report. But please
use attachments for the next time, because 112 Kb of text information it's
really a lot for reading from email or even inside this page.
Did you see issue #48 https://github.com/3F/DllExport/issues/48 ?
Please check this out, and let me know if this is not the same problem for
you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/3F/DllExport/issues/71#issuecomment-381930594, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AjaGuZP4qkCEvbhxBv-l-8pxl7Ig6b6sks5tpb1ggaJpZM4TXkbf
.

--
Mike Maguire
Softime Publishing Co (NZ) Ltd
Email<EMAIL_ADDRESS>ph (NZ) +64 21 494 099

Issue #48 did resolve the issue with compiling thanks so much.

Good to hear this. I'm closing this issue like duplicate of #48.

I am now trying to call the Exported function from a "C" program and it is currently crashing. I am not sure how to step into the function address. I am using a Windows Console app to try and call my FPRefund C# "function"

@maguirem Please use our Wiki. I specially prepared screencasts about all this in details:

Part-1: Managed & Unmanaged PInvoke. C++ ❤ C#

https://www.youtube.com/watch?v=9Hyg3_WE9Ks

Part-2: 🔀 Complex types (like structures) and Strings between unmanaged and managed env.

https://www.youtube.com/watch?v=QXMj9-8XJnY

Where you can understand including how to debug in mixed environments (select first both/mixed type of debugger), or understanding where each function may be found after loading module into memory by its address, and lot of other.

Any suggestions?

Well, for example, the problem may be because of some required dll that was not found etc. Is this when calling ProcAdd(); ?

Hi Denis,
I will watch the YouTube's.
The DLL and Proc Address are being found.  The call into the ProcAddress is
giving an exception.
Cheers and thanks
Mike
On 18 April 2018 at 10:52, Denis Kuzmin<EMAIL_ADDRESS>wrote:

Issue #48 https://github.com/3F/DllExport/issues/48 did resolve the
issue with compiling thanks so much.
Good to hear this. I'm closing this issue like duplicate of #48
https://github.com/3F/DllExport/issues/48.
I am now trying to call the Exported function from a "C" program and it is
currently crashing. I am not sure how to step into the function address. I
am using a Windows Console app to try and call my FPRefund C# "function"
@maguirem https://github.com/maguirem Please use our Wiki
https://github.com/3F/DllExport/wiki. I specially prepared screencasts
about all this in details:

Part-1: Managed & Unmanaged PInvoke. C++ ❤ C#

https://www.youtube.com/watch?v=9Hyg3_WE9Ks

Part-2: 🔀 Complex types (like structures) and Strings between
unmanaged and managed env.

https://www.youtube.com/watch?v=QXMj9-8XJnY

Where you can understand including how to debug in mixed environments
(select first both/mixed type of debugger), or understanding where each
function may be found after loading module into memory by its address, and
lot of other.
Any suggestions?
Well, for example, the problem may be because of some required dll that
was not found etc. Is this when calling ProcAdd(); ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/3F/DllExport/issues/71#issuecomment-382182072, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AjaGuTgUWH1ubRPGZ0U4sGbxxn6P-mYxks5tpnI9gaJpZM4TXkbf
.

--
Mike Maguire
Softime Publishing Co (NZ) Ltd
Email<EMAIL_ADDRESS>ph (NZ) +64 21 494 099

Thanks also for the Wiki - it is really helpful :-)
Cheers
Mike Maguire
New Zealand
On 18 April 2018 at 10:55, Mike Maguire<EMAIL_ADDRESS>wrote:

Hi Denis,
I will watch the YouTube's.
The DLL and Proc Address are being found.  The call into the ProcAddress
is giving an exception.
Cheers and thanks
Mike
On 18 April 2018 at 10:52, Denis Kuzmin<EMAIL_ADDRESS>wrote:

Issue #48 https://github.com/3F/DllExport/issues/48 did resolve the
issue with compiling thanks so much.
Good to hear this. I'm closing this issue like duplicate of #48
https://github.com/3F/DllExport/issues/48.
I am now trying to call the Exported function from a "C" program and it
is currently crashing. I am not sure how to step into the function address.
I am using a Windows Console app to try and call my FPRefund C# "function"
@maguirem https://github.com/maguirem Please use our Wiki
https://github.com/3F/DllExport/wiki. I specially prepared screencasts
about all this in details:

Part-1: Managed & Unmanaged PInvoke. C++ ❤ C#

https://www.youtube.com/watch?v=9Hyg3_WE9Ks

Part-2: 🔀 Complex types (like structures) and Strings between
unmanaged and managed env.

https://www.youtube.com/watch?v=QXMj9-8XJnY

Where you can understand including how to debug in mixed environments
(select first both/mixed type of debugger), or understanding where each
function may be found after loading module into memory by its address, and
lot of other.
Any suggestions?
Well, for example, the problem may be because of some required dll that
was not found etc. Is this when calling ProcAdd(); ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/3F/DllExport/issues/71#issuecomment-382182072, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AjaGuTgUWH1ubRPGZ0U4sGbxxn6P-mYxks5tpnI9gaJpZM4TXkbf
.

--
Mike Maguire
Softime Publishing Co (NZ) Ltd
Email<EMAIL_ADDRESS>ph (NZ) +64 21 494 099

--
Mike Maguire
Softime Publishing Co (NZ) Ltd
Email<EMAIL_ADDRESS>ph (NZ) +64 21 494 099


Content Type grammar handling

@edwardsph has another test failing on PATCH requests.
According to https://www.w3.org/Protocols/rfc1341/4_Content-Type.html we need to split the Content Type header on ;.
We currently don't split in our SparqlUpdateBodyParser:
https://github.com/solid/community-server/blob/5c6822d4686585a03631b371427c7e2151ab65c7/src/ldp/http/SparqlUpdateBodyParser.ts#L20-L23
Therefore the handler fails to see it should take care of requests when header includes a charset Content-Type: application/sparql-update; charset=UTF-8.
Fixed in https://github.com/solid/community-server/pull/636

See #458 as well

Solved by #636


Write unit tests for wordpress, google docs import_export

Shannon wrote  a ton of tests for the google translate translation_service. We should imitate her tests.


carlaViz with carla 0.9.14

I am trying to use CarlaViz with Carla 0.9.14.

Nothing gets displayed in the browser.
When i try to run the example.py of the latest carlaviz release, I get the following error and cant figure out what the issue might be.

Do you have any idea? Does it have to do with the newer Carla version?
Best regards,
Martin

I've been working on this recently. Let me know if you want any more features or bug fixes with the new version as well in this discussion.

Done in https://github.com/mjxu96/carlaviz/pull/62


Can't see my thermostat in list of devices

I'm a user of Home Assistant which leverages this library for its nest integration. I noticed today that my thermostat disappeared so I dug in to investigate.
I installed this library directly and set up an offline oauth client and SDM project for it to use. I was able to successfully go through the authentication steps. During those steps I was prompted to allow access to my thermostat and did:

But then afterwards when I ran google_nest --project_id="${PROJECT_ID}" list_devices and my thermostat didn't show up, it only found my 2 cameras and my doorbell. Here's what I got (filtered out the irrelevant details out with jq to keep output small):

Not really sure what I could be doing wrong at this point since it clearly did authenticate and find my other devices, seems like there's an issue? Not sure what capabilities the library provides for debugging but let me know and I'll run them and/or collect logs.

My impression is that if you sent raw commands to the API you'll be missing the thermostat, e.g. following the instructions in https://developers.google.com/nest/device-access/use-the-api -- if you want to confirm that, it would narrow down that it is not a bug in the python library, and instead is an issue with the google side not returning the thermostat.
I hear about this happening fairly often, and added some troubleshooting steps in https://www.home-assistant.io/integrations/nest/#troubleshooting
What worked for me was restarting the thermostat (see link in the section that starts with "Thermostat not created" above).    (I've only ever heard about this happening with thermostats)
Let me know how it goes and happy to help more.

My impression is that if you sent raw commands to the API you'll be missing the thermostat, e.g. following the instructions in https://developers.google.com/nest/device-access/use-the-api -- if you want to confirm that, it would narrow down that it is not a bug in the python library, and instead is an issue with the google side not returning the thermostat.
I hear about this happening fairly often, and added some troubleshooting steps in https://www.home-assistant.io/integrations/nest/#troubleshooting
What worked for me was restarting the thermostat (see link in the section that starts with "Thermostat not created" above).    (I've only ever heard about this happening with thermostats)
Let me know how it goes and happy to help more.

You're right, that did the trick. After restarting its back in the list.
I guess I'll keep an eye on it but I'm a bit concerned. I mean the fix is obviously easy enough once recognized but I set up the integration in HA 2 days ago. So 2 days ago my my thermostat was there and today it disappeared until I restarted it. I mean I realize that's a low sample size so maybe its a one-off. But if I have to restart my thermostat every couple days to keep it online that's going to be a problem, its a pretty key part of my home automation.
Is there an open bug somewhere for the SDM API about this I can add a comment to and follow?

You're right, that did the trick. After restarting its back in the list.
I guess I'll keep an eye on it but I'm a bit concerned. I mean the fix is obviously easy enough once recognized but I set up the integration in HA 2 days ago. So 2 days ago my my thermostat was there and today it disappeared until I restarted it. I mean I realize that's a low sample size so maybe its a one-off. But if I have to restart my thermostat every couple days to keep it online that's going to be a problem, its a pretty key part of my home automation.
Is there an open bug somewhere for the SDM API about this I can add a comment to and follow?

I had it happen once, many months ago and haven't seen it happen again.
I have not had a chance to reach out to Google --if you kicked that off i'd be happy to support in any way possible.

I had it happen once, many months ago and haven't seen it happen again.
I have not had a chance to reach out to Google --if you kicked that off i'd be happy to support in any way possible.

Ok that's a relief. I'll track down where to report bugs to SDM API in a bit and see if I can find/make one. Thanks for your help!

Ok that's a relief. I'll track down where to report bugs to SDM API in a bit and see if I can find/make one. Thanks for your help!


SITL + gazebo

I am trying to make a sitl simulation of a plane and I am using gazebo (since X-plane is huge), but it seems that the computer/simulation is too slow, I wonder if the gazebo simulation be done only with gzserver (withoug the graphics)

Hi,
I'm assuming you're using ROS in this setup. Therefore in the launch file where your Gazebo simulator starts, you can set argument named gui to false.
Example of such a file would be something like this:
<launch>
<arg name="gui" default="true"/>
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="headless" value="$(arg headless)"/>
        <arg name="gui" value="$(arg gui)"/>
        <arg name="world_name" value="$(arg world)"/>
        <arg name="debug" value="$(arg debug)"/>
        <arg name="verbose" value="$(arg verbose)"/>
        <arg name="paused" value="$(arg paused)"/>
    </include>
</launch>

@AlexMalo if launching from the PX4 build system you can also set the environment variable HEADLESS.
HEADLESS=1 make posix_sitl_default gazebo_plane

The ROS solution is cumbersome, maybe because I am not familiar with ROS; I tried it but hit some compatibility issues. It added another layer. The headless parameter works for me. Thank you.


community[minor]: Rename LLMonitor Callback Handler

(Following #3614)
Hi,
We are renaming our product from LLMonitor to Lunary.ai.
This PR add the Lunary Callback Handler, but keeps the llmonitor one in order to avoid breaking changes.
Thanks!

Hi @jacoblee93,
Thanks for your prompt answer. I've updated the code by following your instructions.

Hi @jacoblee93 ,
Could you please check and confirm if the pull request can now be merged?

Hi @jacoblee93 ,
I have made the requested changes. Thanks

Hi @bracesproul,
Thanks for your review! I have deleted the build files, and ran yarn format

Hey @hughcrt, couldn't push changes to your branch but have opened #3895 and will merge that tonight.
Thanks for your patience, apologies for the delays!

This is live in the latest @langchain/community


Is_Image();

Is_Image(); function is still not working.


Collect links to the projects using openQA and their public instances

In https://progress.opensuse.org/projects/qa/wiki/Tools#Our-common-userbase we're listing the openQA instances we know about, however we could make them a bit more public

So far we know about:

Fedora https://openqa.fedoraproject.org/ ,
AlmaLinux http://openqa.almalinux.org/,
Debian https://openqa.debian.net/ ,
https://openqa.qubes-os.org/ ,
https://openqa.endlessm.com/ ,
the GNOME project https://openqa.gnome.org/, https://www.codethink.co.uk/articles/2021/automated-linux-kernel-testing/, https://en.euro-linux.com/blog/openqa-or-how-we-test-eurolinux/,
openSUSE KDE contributors (with their own workflows, https://openqa.opensuse.org/group_overview/23 ),
openSUSE GNOME contributors (https://openqa.opensuse.org/group_overview/35 ),
OBS developers (https://openqa.opensuse.org/parent_group_overview/7#grouped_by_build) ,
wicked developers (https://gitlab.suse.de/wicked-maintainers/wicked-ci#openqa),
and of course our team itself for "openQA-in-openQA Tests" :) https://openqa.opensuse.org/group_overview/24 .
Also see https://en.opensuse.org/openSUSE:OpenQA/Partners

See also: https://en.opensuse.org/openSUSE:OpenQA/Partners

So far we know about:

That's a duplication from https://progress.opensuse.org/projects/qa/wiki/Tools#Our-common-userbase so I am considering to move the above list to be visible directly on http://open.qa/

So far we know about:

That's a duplication from https://progress.opensuse.org/projects/qa/wiki/Tools#Our-common-userbase so I am considering to move the above list to be visible directly on http://open.qa/

That's the idea :) linked currently both places

Fedora 'explainer' link - https://fedoraproject.org/wiki/OpenQA

Here's some additional info to see how downstreams are testing GNOME.  I find it difficult to go from a distro's openQA main page and immediately find the GNOME related tests, so I want a reference written down somewhere.

Fedora:

Tests use packages from 'rawhide'
To find latest results:  open 'fedora' group, select latest BuildFedora-Rawhide test, look under 'Workstation-live-iso' section.
Example from 2024-07-05
Docs

Debian:

Tests use packages from 'testing' (not 'sid')
To find latest results: open 'Debian (amd64)' group, select latest Build...-testing-amd64 test, look for 'gnome-*' testsuites.
Example from 2024-07-05

openSUSE Tumbleweed:

Tests use packages from Tumbleweed
To find latest results: open 'openSUSE Tumbleweed' group, select latest Build..., then look under "Distri: opensuse / Version: Tumbleweed / Flavor: DVD" for the desktopapps-* testsuites.
Examples from 2024-07-05: desktopapps_gnome, desktopapps_other

openSUSE GNOME Next:

Tests use newer packages than Tumbleweed
To find latest results: open 'Desktop Environments - Development' group / openSUSE GNOME Next, open latest Buildxxx, and look at 'gnome-live' testsuite.
Example from 2024-07-05

This might be something we keep on the GNOME wiki, please suggest corrections and improvements here though :-)


Use immutable only for hashed assets in remix-serve

Strategy should be:

public/build

immutable
max-age: 1y

public

max-age: 1h

This is to minimize chances of things being busted in production but also provide some reasonable caching in production for other (maybe non-hashed) stuff in public.
Future: we should probably have a flag for remix-serve that dictates how public caching is to be done. Something like remix-serve --immutable if you want to opt-in to immutable caching for everything.

First part is fixed by b1ce044f812a9bd47a1cffbc1e598bfb2a2e5868.
Leaving this open for the Future enhancement


[FEATURE]  support video recording for the execution process

Title
support video recording for the execution process
Description
add  video recording with playwright under chroium  web driver [browser context parameters]
Problem Background
facilitate  execution process‘s problem analysis

Today we have screen shots, but not video. Just making sure that you saw that :)


About training, validation and testing data

Good work! Could you please share more information about training, validation and testing data in detail? Such as how many images they have.

Hi!
Unfortunately, I no longer have the data so I can't check exactly, but:
An image is created centered on the centroid of each polygon. Since the dataset describes over 19,000 images, I  would expect the train / val / test to be:
Train images: 80% = > 15,200 images
Val images: 10% = > 1,900 images
Test images: 10% = > 1,900 images

Hi!
Thanks for your reply. You got good results. I use UNet to identify solar panels, but there are some false negatives, and some segmentation results are coarse. May I ask if you have any good advice to solve these problems?

Hi! It's hard to say without seeing the code - what is the resolution of the input satellite data?
In addition, is it on the same dataset? If not, it might be worth using this dataset to supplement yours.

Hmm, it's hard to say without seeing the code - what is the resolution of the input satellite data?
In addition, is it on the same dataset? If not, it might be worth using this dataset to supplement yours.

I use the same data with you. The resolution of the data is 0.3m.

Ah, I see. In this case, here are two things which might help:

Images are generated per panel, so there is likely to be overlap. This might overestimate performance in the test set (it also serves as an image augmentation technique, since images will be at lots of different crops)
The U-Net's backbone is pre-trained to classify whether or not panels are in the image or not - this might help too.

Ah, I see. In this case, here are two things which might help:

Images are generated per panel, so there is likely to be overlap. This might overestimate performance in the test set (it also serves as an image augmentation technique, since images will be at lots of different crops)
The U-Net's backbone is pre-trained to classify whether or not panels are in the image or not - this might help too.

Thanks a lot! Haven't you been working on the solar panel segmentation lately?

Thanks a lot! Haven't you been working on the solar panel segmentation lately?

No - this was my (first and so far) last experiment with it


ssl checks failing with latest snap build

2022-06-17 09:50:26,120.120 36686 ERROR None [-] requires.YRequirementTypeProperty.result raised the following
Traceback (most recent call last):
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/ycheck/engine/properties.py", line 878, in result
return self.handler()
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/ycheck/engine/properties.py", line 1082, in handler
actual = self.get_property(path)
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/ycheck/engine/properties_common.py", line 226, in get_property
ret = getattr(cls(), property)
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/plugins/openstack/openstack.py", line 188, in apache2_certificates_expiring
if ssl_checks.certificate_expires_soon:
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/host_helpers/ssl.py", line 72, in certificate_expires_soon
return self.certificate.certificate_days_to_expire <= self.expire_days
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/host_helpers/ssl.py", line 44, in certificate_days_to_expire
certificate_date = self.certificate_expire_date
File "/snap/hotsos/481/lib/python3.8/site-packages/hotsos/core/host_helpers/ssl.py", line 35, in certificate_expire_date
default_backend())
File "/snap/hotsos/481/lib/python3.8/site-packages/cryptography/hazmat/backends/init.py", line 14, in default_backend
from cryptography.hazmat.backends.openssl.backend import backend
File "/snap/hotsos/481/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/init.py", line 6, in
from cryptography.hazmat.backends.openssl.backend import backend
File "/snap/hotsos/481/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 113, in
from cryptography.hazmat.bindings.openssl import binding
File "/snap/hotsos/481/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /snap/core20/current/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_siglongjmp, version GLIBC_PRIVATE

To mitigate the impact of individual scenarios failing, we now catch the exception and allow the next to run - https://github.com/canonical/hotsos/pull/361

no longer applies now that we have moved to a confined snap so closing.


Where does one find a list of native methods?

Really good docs and examples but I can't seem to find an overview of all the implemented native methods, does such a list exist? For example, I accidentally found an example displaying the unreal_engine.create_blueprint() method when rummaging through the github. This is a really convenient method that I had no idea existed even after I had read the UnrealEnginePython/docs/UnrealEngineModule.md. It would be really convenient if there was a way to get an overview of the different native methods available.

Hi, well i know it may look raw, but the best list you can find is this one:
https://github.com/20tab/UnrealEnginePython/blob/master/Source/UnrealEnginePython/Private/UEPyModule.cpp#L180
we forced us to have all the native methods in the same place just for this reason :)

To clarify:
unreal_engine_methods[] -> list of unreal_engine module functions
ue_PyUObject_methods[] -> methods of UObject wrapper

It's raw, but it works. Thanks! I think throwing this link somewhere in the docs would be beneficial.


Cannot require a module from a template file

Input code

This being a template file (minami, examples.tmpl):
<?js
    var data = obj;
    var self = this;
    var Prism = require('prismjs'); // Errors out here :(
    data.forEach(function(example) {
        if (example.caption) {
    ?>

<?js= example.caption ?>

    <?js } ?>

<?js= self.htmlsafe(example.code) ?>

<?js
    });
?>

JSDoc configuration

{
    "plugins": ["plugins/overloadHelper", "./plugins/overloads"],
    "source": {
        "include": ["./src/"]
    },
    "opts": {
        "destination": "./docs/api/",
        "template": "./docs/template/"
    },
    "tags": {
        "allowUnknownTags": true
    }
}

JSDoc debug output

Expected behavior

You should be able to get to require - maybe not module - in a template file. This would save a dependency: prettify, because if I was able to require prismjs in the template, I could just create the highlighted codeblock in the template, without making the user have JS enabled (and it's quicker).
Please consider this as a feature, because it makes sense.
Current behavior

Your environment

Software
Version

JSDoc
3.5.5

Node.js
10.10.0

npm
6.4.1

Operating system
openSUSE Leap 15

As this was posted 3 days ago, I expected a response. The support for this tool is lackluster; I'm looking right now and I can see a ton of issues and PRs with no attention from a contributor. This confirms it, the documentation generators for JS projects is so limited. This whole JSDoc thing is a mess from start to finish. Don't believe me? Take a look at the minami theme (or any other theme) and check out that lovely template language. You would think that the JSDoc team would implement a more supported method like Handlebars, instead of horribly composed "underscore" templates, which rely on a function from an obsolete library that has had it's time. Dear JSDoc team, please completely rethink your mess of an API, and get back up to speed with the rest of us.

There's also another option named esdoc, but if you completely avoid classes in a particular library, you're in for a bad time. You would think it would make sense to add support for functions, but I guess not.


Fix line-length, boolean comparison and import errors

Fix linter errors from #41:

E501 Line too long
E712 Comparison to False should be cond is False or if not cond:
E402 Module level import not at top of file

Gonna merge this in directly to keep the linter happy. More work on data pipeline continuing at #44.


waitUntil: continue with loaded page after timeout

Puppeteer has a handy option for waiting until just 2 network requests are executed in the last 500ms:
let response = await page.goto(url, { waitUntil:"networkidle2" , timeout:10000});
I use a timeout so that I am not stuck forever. The problem with timeout is that it throws an error when no time is left. Instead, I'd like to continue with the page I currently have. I can start a new page.goto, but now I have wasted precious time.
Is it possible to configure puppeteer to not throw when the timeout is passed and just assign to response what is currently loaded?

I think this feature already exists. There is a waitForNavigation function that allows to do the following:
const [error, response] = await Promise.all([
    page.waitForNavigation({ waitUntil:"networkidle2" , timeout:10000}).then(() => {}).catch(err => err),
    page.goto('https://example.com'),
]);

This way the error would indicate if there was a timeout with networkidle2 and the response would be the response of the navigation. If the navigation without networkidle2 fails, it should still throw.
Please try it out and see if it works for your use case.


how to use fcm push notification on TWA apk

I need to convert PWA to apk . I use this project for building apk . But in apk fcm push notification not working, also user device token not save in database or cookies. please tell me how can I do this?

@Biswajitdeveloper the best place to ask this question is on StackOverflow, under the https://stackoverflow.com/questions/tagged/trusted-web-activity/ tag. Would you mind re-posting the question there? I'm closing the issue here, as this is somewhat unrelated to this repo (the demo in it doesn't use push notifications).


Bumps esinstall's rollup version to fix lit-html error

Changes
Fixes an error in esinstall with the lit-html library caused by the commonjs plugin + rollup version.
In rollup v2.23 - v2.28.2 the transform hook would return undefined instead on the transformed library code.
This error was fixed in the following pull: https://github.com/rollup/rollup/commit/1ad8289205b7af3d5adf3043f782934adbcb8b65#diff-58036290d63f45dcebfa80ddeeb5877187a613f7cdb28e9a5482324f632c14ad
Testing
All tests passing in local. No new tests added.
Docs
No new docs were added.

LGTM, but hopefully users are already getting this fix via the existing semver range

Yeah, I hope so too. The problem can crop up if a user has a different version of rollup as a project dep, which is what was happening in our case.


docs: Fix typo in "subprojects"

Typofix in documentation.

@bot-gradle test and merge

I've triggered a build for you. Click here to see all failures if there's any.


Audio widget accept Byte / Numpy data (request)

Background
With the pull request of https://github.com/pyviz/panel/pull/215 , Panel supports an Python callable audio widget. However, it seems artificially limited to accepting only a String with a path to an audio file when setting "value". Please allow other data as well, to make it more comparable functionality-wise with the Jupyter Notebook Audio widget.
Attempt
I've been giving an attempt myself, but I'm too unfamiliar with the code base of Panel. This was resulting in errors:
import os
import numpy as np
import param
from base64 import b64encode

class Audio2(pn.widgets.Audio):

    data_array = param.Array(default=None)

    def _process_param_change(self, msg):
        msg = super(Audio2, self)._process_param_change(msg)
        if 'value' in msg and os.path.isfile(msg['value']):
            fmt = msg['value'].split('.')[-1]
            with open(msg['value'], 'rb') as f:
                data = f.read()
            template = 'data:audio/{mime};base64,{data}'
            data = b64encode(data)
            msg['value'] = template.format(data=data.decode('utf-8'),
                                           mime=fmt)

        # numpy data
        elif 'data_array' in msg:  # 'value' in msg and isinstance(msg['value'], np.ndarray):
            template = 'data:audio/{mime};base64,{data}'
            msg['value'] = template.format(data=msg['data_array'],
                                           mime="wav")

        return msg

At first I was trying to change msg['value'] directly, but I don't know how to extend the String check to also accept Byte/Numpy data. Then I tried to add an additional attribute, but that gave me: AttributeError: unexpected attribute 'data_array' to Audio.
Reuse IPython code
Since IPython is also BSD licensed, some code from here could be reused: https://github.com/ipython/ipython/blob/08aaa2e197a34dc820e7fef32b473d24b4547630/IPython/lib/display.py
Extra
Would be nice if you can pass in a String to audio file or audio data without using a named argument.

Sounds like a good idea; happy to accept a PR supporting that.

Could you give a overview of which files in Panel are related to Widgets and which ones likely need change to support this request? Because with 0 knowledge of the code base, it would take a long time to write proper code that doesn't break other parts of Panel. Especially since the Audio widget is still undocumented (couldn't find anything about it in the docs)?

The only file you should need to change is the one class in panel/widgets/misc.py, which only has a few lines of code, and nothing you put in there should break the rest of Panel as long as it's syntactically correct.  Right now, you should be able to see that it's opening a file based on the given string, where you want to pass in the raw bytes, which should be a simple change.

I thought it was a simple change as well, but I'm afraid of the param.String() check. It doesn't allow duck typing and just checking what the user has input. Changing this can influence other people's code. Please see under the code block in my first post.

Sorry; I didn't read all the way back up for my last reply.  To get it working, you can change param.String to param.Parameter.  That will accept anything the user supplies, but then we should pin down the parameter, e.g. by creating a new Parameter type that accepts a URL, a path, or a byte stream. I think that would be useful to have in general.


Fix: merge array if vmid is undefined

See Issue #14 when vmid does not exist.
I also updated the loader to make them more explicit, it seems that with the last update of webpack, we have use the exact module name.

Current coverage is 16.95% (diff: 0.00%)

Merging #19 into master will not change coverage

@@             master        #19   diff @@
==========================================
  Files            17         17
  Lines           171        171
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits             29         29
  Misses          142        142
  Partials          0          0

Powered by Codecov. Last update 5808ab9...8f39c97

I also added a test and giving the default option so it's easy to test now 😄

Thanks @Atinux - looking good :)
I will be back on this library tomorrow, promise - just writing an exam :)

Good luck for your exam @declandewet 👍


Disable debugging for production releases - AB#8715

Motivation
The application is built in debug mode for releases. Insecure Application Configuration vulnerabilities occur when an application is not configured to ensure maximum security. Common examples include disabling framework security mechanisms, running unnecessary services, and enabling debug messages. This can allow attackers to compromise the application, inject arbitrary code, perform privilege escalation, and retrieve sensitive server information.
Changes
Ensure that Debugging is disabled for production releases.
Evidence
Evidence #1:
Snippet #1
The following has debug set to true for a release.
diem/cargo.toml: 243-244
[profile.release]
debug = true
Test Plan

CI/CD tests are covered

/canary

:sunny: Canary successful

/land


Support for BWT FI 45 pool heater

Hi,
are you guys planning to support the BWT FI 45 pool heater?
I tried to integrate it which resulted in the follwoing error:
2021-05-25 17:19:58 ERROR (MainThread) [homeassistant.components.climate] Error while setting up tuya_local platform for climate
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 231, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/tuya_local/climate.py", line 52, in async_setup_entry
await async_setup_platform(hass, {}, async_add_entities, discovery_info)
File "/config/custom_components/tuya_local/climate.py", line 27, in async_setup_platform
raise ValueError(f"Unable to detect type for device {device.name}")
ValueError: Unable to detect type for device My pool heater
From the error message I assume the decvice is simply not supported...
I also assume the integration almost works because I could see some actual device data in the log:
2021-05-25 17:38:13 WARNING (MainThread) [homeassistant.loader] You are using a custom integration tuya_local which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-05-25 17:38:18 DEBUG (MainThread) [custom_components.tuya_local] Setting up entry for device:<PHONE_NUMBER>f4abecc15f
2021-05-25 17:38:18 DEBUG (MainThread) [custom_components.tuya_local.device] Creating device:<PHONE_NUMBER>f4abecc15f
2021-05-25 17:38:18 INFO (MainThread) [custom_components.tuya_local.device] Setting protocol version for My pool heater to 3.3.
2021-05-25 17:38:20 DEBUG (SyncWorker_2) [custom_components.tuya_local.device] Refreshing device state for My pool heater.
2021-05-25 17:38:20 DEBUG (SyncWorker_2) [custom_components.tuya_local.device] refreshed device state: {"devId": "4771835498f4abecc15f", "dps": {"1": true, "2": 25, "3": 24, "4": "heat", "9": 0, "updated_at":<PHONE_NUMBER>.7268553}}
2021-05-25 17:38:20 DEBUG (SyncWorker_2) [custom_components.tuya_local.device] new cache state (including pending properties): {"1": true, "2": 25, "3": 24, "4": "heat", "9": 0, "updated_at":<PHONE_NUMBER>.7268553}
2021-05-25 17:38:20 DEBUG (MainThread) [custom_components.tuya_local.device] Inferring device type from cached state: {'1': True, '2': 25, '3': 24, '4': 'heat', '9': 0, 'updated_at':<PHONE_NUMBER>.7268553}
2021-05-25 17:38:21 WARNING (MainThread) [custom_components.tuya_local.device] Detection for My pool heater failed
2021-05-25 17:38:21 ERROR (MainThread) [homeassistant.components.climate] Error while setting up tuya_local platform for climate
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 231, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/tuya_local/climate.py", line 52, in async_setup_entry
await async_setup_platform(hass, {}, async_add_entities, discovery_info)
File "/config/custom_components/tuya_local/climate.py", line 27, in async_setup_platform
raise ValueError(f"Unable to detect type for device {device.name}")
ValueError: Unable to detect type for device My pool heater
From the log I can guess that taget and current temperature as well as heating mode and other information is already taken from the device...
All in all looks pretty promising to me :-)
Hope to hear from you guys

Hi,
The other information I would need is:

Which of the "2": 25 and "3": 24 is the target temperature, and which the measured temperature.
What is the temperature range that can be set.
"4": "heat" looks like a preset (I guess that is what you mean by heating mode).   What are the other presets? Or is it just an indicator.
Do you have any idea what "9": 0 is for?  It could be an error code (0 being no error), or a timer.

Currently I am in the middle of a refactoring to make adding new devices easier.  I will add this and other pending devices once I have the required climate functions working. This one looks fairly basic, so should

Hi, thank you very much for considering this device for your integration!

25 degrees celsius is the target temperature and 24 degrees is the temperature measured by the device.
The target temperature range can vary between 8 and 40 degrees.
The device supports heating and cooling. It heats or cools in different modes (see screenshot) like 'Automatic', 'Smart Cooling', 'Boost Cooling', 'Eco Cooling and similar ones for heating. If you like i can try all those modes and provide you the logs for each mode.
I have no clue so far what "9": 0 is for. You can setup timers and I also saw error messages in the app when e.g. the pool pump was idle. I'll try some different settings in the app and collect the results in the logs if you think that helps....

Yes, cycling through the presets will help.  No need to spend much time on dps "9", timers can be set up in HA independently of the device, and if it is an error code, I can just add an attribute that reports it as an int for any automations to pick up on.

This appears to be the same as the Remora pool heater requested in #15, except for a variation in the minimum temperature, and maybe some additional presets.  They could either be combined into one device with lowest common denominator functionality, or they will be impossible to distinguish automatically and will need to be manually configured.

OK, here are the modes :

Eco heating mode : {"1": true, "2": 25, "3": 23, "4": "quietheat", "9": 0, "updated_at":<PHONE_NUMBER>.8546965}
Boost heating mode : {"1": true, "2": 25, "3": 23, "4": "quickheat", "9": 0, "updated_at":<PHONE_NUMBER>.359755}
Smart heating mode : {"1": true, "2": 25, "3": 24, "4": "heat", "9": 0, "updated_at":<PHONE_NUMBER>.5414855}
Automatic : {'1': True, '2': 25, '3': 24, '4': 'auto', '9': 0, 'updated_at':<PHONE_NUMBER>.2002869}
Smart cooling mode :  {"1": true, "2": 25, "3": 24, "4": "cool", "9": 0, "updated_at":<PHONE_NUMBER>.9679456}
Boost cooling mode : {"1": true, "2": 25, "3": 24, "4": "quickcool", "9": 0, "updated_at":<PHONE_NUMBER>.8440619}
Eco cooling mode : {"1": true, "2": 25, "3": 24, "4": "quietcool", "9": 0, "updated_at":<PHONE_NUMBER>.5428402}
Eco cooling mode but device switched to standby {"1": false, "2": 25, "3": 24, "4": "quietcool", "9": 0, "updated_at":<PHONE_NUMBER>.0674973}
Hope that helps ! Let me know if you need more or want me to test something else...
Thanks!

OK, unfortunately apart from heat and cool, they are not the same as the Remora heatpump.  I will have to think some more about how these two devices can be distinguished.  I just added the Remora support in 0.5.0, so you could try that now.  If you are using HACS, click on the menu at top right of the Tuya Local box, and select "Update Information" to check for updates without waiting the 10 hours that HACS has between checks.

I forgot the device states with the water pump switched off :
{"1": true, "2": 25, "3": 24, "4": "heat", "9": 1, "updated_at":<PHONE_NUMBER>.1905162}

I tried it...

You made my day !!!
Thank you so much!!!

I have added full support in 0.8.3 for this device.  You will need to delete and re-add the device to change the device type from Remora to BWT.  Make sure you have a note of the local key and device id before you delete it.  The local key is in the Options, the device id may appear in the logs, or you can browse through config/.storage/core.config_entries to look for the current config.

Just installed it and it worked right away.
Jason Rumney @.***> schrieb am Sa., 3. Juli 2021, 05:04:

I have added full support in 0.8.3 for this device. You will need to
delete and re-add the device to change the device type from Remora to BWT.
Make sure you have a note of the local key and device id before you delete
it. The local key is in the Options, the device id may appear in the logs,
or you can browse through config/.storage/core.config_entries to look for
the current config.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/make-all/tuya-local/issues/17#issuecomment-873334424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APM3LKEVQPXDBLEOSFKLO2LTVZ44TANCNFSM45PVHR2Q
.


Registry Implementation

Preliminary version of the registry implementation for feedback and updating before merging.
First version is missing tests.

I added haulerBinaryPath string as a parameter to copyHaulerBinary because testing it without being able to specify where to look was unreliable.

I added haulerBinaryPath string as a parameter to copyHaulerBinary because testing it without being able to specify where to look was unreliable.

This is also the reason why extracting the functionality in a separate package is better. Can be done in a follow up, though.


Area Chart

Added area chart functionalities to the Lines mark

fill controls what area to fill

none is the default no-fill
top, bottom fills to the plot area upper and lower limits
inside is the previous behavior for filling, it closes the path and fills it in

fill_colors and fill_opacities control the styling of the filling, they work as opacities and colors currently do

If no fill_colors is provided, the fill color defaults to the corresponding line's color.

Ready for review

@SylvainCorlay perfected by your comments

As per discussion with @rmenegaux we will probably need to handle the curve_subset differently for this case.


Engine.editor_hint is always invalid

Godot version
4.0 beta2
System information
Artix (Arch Linux without systemd), NVIDIA GTX-1050 Ti
Issue description
Engine._editor_hint is a boolean value which returns true if on the editor, false if non-editor. Problem is, it doesn't work at all. It does compile without error, but whenever it checks against that logic in runtime, it gives invalid index error.

Steps to reproduce

Create a new/empty project
Create any kind of node
Attach a script to it
Copy-paste this code:

extends Node2D

func _ready():
	if not Engine.editor_hint:
		print("This never reaches here lol")

Play/Run the scene

Minimal reproduction project
See above. Just copypaste the code into 1 script lol

In 4.0, the editor_hint property was replaced with is_editor_hint method which returns boolean too.
print(Engine.is_editor_hint())

is_editor_hint does work. If indeed it replaced editor_hint why is editor_hint even a choice? I thank you for fixing my mini bug, but anyway, I will keep this issue open until editor_hint is completely removed, because the user/coder will be baited by this

@akien-mga the compilation error is on runtime. This should be caught in compiling/saving.


Actions for http controllers

Changes

Added a rest keyword for routes to generate index, show, create, update and delete routes for a resource
Integrated actions into http_controllers
Actions now use send instead of instance_eval when a Symbol or String is passed as an argument. This allows the usage of private methods.

Thanks, keep up the good work!  I'll probably do another prerelease gem release here today or tomorrow.


Add SAFE support

Figure out what kind of changes we need to do. Atleast contract needs to be able to be active addresses

implemented


Make the support device UI entirely procedurally generated

Note that this relies on the changes in https://github.com/akuker/RASCSI/pull/684 to function as expected.


[Need Advice] How to create translatable entity field ?

How to create translatable entity field ?

Can you provide an example? How would you normally do that?
You can use where condition on related entities to select partial collection.

I can't understand what database storage has to do with translations (for its table fields), and ORM - to my understanding - is just a more convenient reflection of those table fields and it deals with data that is absolutely necessary to store on the disk (save). And translations probably are not things to persist, but designed for outputting to view dynamically, and basically should be dealt with by some dictionaries which are separate modules crafted within app's architecture..
Though i admit i may misunderstand something :)

I assumed the question is about translatable content (like blog posts and etc). But I would agree that this part of domain layer, not the database layer. Though, you can load partial relations to select only specific language:
$posts->load('tranlation', ['load'=>function($q) use ($lang) {
     $q->where('lang', $lang);
}])


@alloy => [Toolchain] Add Sentry Webpack plugin

Adds the official Sentry Webpack plugin which automatically uploads sourcemaps and sourcefiles to Sentry. See here for more info.

See https://sentry.io/artsynet/force-staging/releases/89395e00e8c3b1b13e6d39063ae6bfad3cc9f9dc/artifacts/
Required ENV vars:
SENTRY_AUTH_TOKEN=<token>
SENTRY_ORG=artsynet
SENTRY_PROJECT=force-staging

[x] Update Circle ENV vars
[ ] Swap personal AUTH_TOKEN for Artsy org account

@joeyAghion - I generated SENTRY_AUTH_TOKEN from my personal account; do you have a way to generate one from<EMAIL_ADDRESS>I tried to login, but couldn't.

There will need to be some testing around this and likely some tweaking, but at least things are uploading successfully.

I've added ENV vars to the Circle settings, but still no go -- not sure how to get those vars into the runtime environment ATM

Nice! :clap:
Re CI, gotta make sure to not run the plugin for PRs but only on deploy, I suppose?

Yup, right now it will run anytime yarn assets is run -- Now that I have a better idea about how all the parts work together I'm thinking it will probably be best to skip webpack altogether and just just sentry-cli to keep it simple.

bump?

@joeyAghion, thanks for the reminder; this is on the list 😄 I'll try to give it a look this week once I get this other thing out.

Just updated to use sentry-cli rather than webpack since our needs are fairly simple