Cannot have multiple tests update state

It seems that when I have multiple entity tests that trigger a state update, the given hass object isn't working correctly.  When I remove the first test, the second test succeeds and the others still fail. Is this a known issue?
Here is the source: https://github.com/TECH7Fox/asterisk-hass-integration/blob/asterisk-ami/tests/test_sensors.py
I could set all the sensors in one test, but I rather have them separated since they effect each other.
Hope someone can help me with this. Anyway, thanks for this very useful package!

I wonder if using pytest_asyncio asyncio_mode = auto is actually mandatory with how the plugin works. See #129.  This is the readme as being maybe required, but if https://github.com/TECH7Fox/asterisk-hass-integration/pull/76 works, then I will update the readme here accordingly.

Thanks for helping! With asyncio_mode = auto it's still the same problem.
From your PR CI:
=========================== short test summary info ============================
FAILED tests/test_sensors.py::test_connected_line_sensor - RuntimeError: Event loop is closed
FAILED tests/test_sensors.py::test_dtmf_sent_sensor - RuntimeError: Event loop is closed
FAILED tests/test_sensors.py::test_dtmf_received_sensor - RuntimeError: Event loop is closed
=================== 3 failed, 3 passed, 3 warnings in 1.11s ====================
sys:1: RuntimeWarning: coroutine 'Entity.async_update_ha_state' was never awaited
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Sorry I'm out of any other specific ideas.  It looks like your code could be mixing sync and async contexts, but I'm unsure if that would cause this problem.  Do you get any errors when testing live on a server?

Do you get any errors when testing live on a server?

You mean installing on a actual HA server? On my dev HA container it works fine, no errors.
Do you know another component with multiple tests that perform a state update?

#157 has multiple tests that update the state of a sensor successfully.

I tried to create all the event handlers async and await the async_update_ha_state and the tests worked. But I can't use that since the library I use can't call async event handlers.
Weird that the tests fail but when trying it out it all works fine. For some reason using self.hass.async_add_job(self.async_update_ha_state) in tests doesn't really work.

Sounds like you now know the problem and it doesn't sound like it is this library.  I would check whether any built in tests help you in this.


Minimum Spanning Tree - Prims Algorithm

Description
Minimum Spanning tree in a connected weighted graph is the tree whose sum of the weights is minimum possible. One of the algorithms which finds the MST is Prims algorithm.
Deliverables

Code - using STL library
Proper comments for better understanding of algorithms

Language
C++
@amritansh22  Can you please assign this to me?

@yash30201 Done


Some hints getting it to work on windows

Just in case the documentation shall be extended by adding some installation hints:
When getting "qt.qpa.plugin: Could not load the Qt platform plugin "windows" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem." don't give up. Instead, you should try this:

set an additional environment variable pointing to your anaconda plugins directory
(e.g. set QT_PLUGIN_PATH=c:\util\anaconda3\Library\plugins)
copy the right dlls into the directory above - hint taken from LINK:
copy the following files ...
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qminimal.dll
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qoffscreen.dll
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qwindows.dll
to:
\Anaconda3\Library\plugins\platforms

Thanks for the input!
I think this is not directly related to my code but rather a general Qt/Windows/Anacoda thing, right? So I guess there is not much I can change on the code itself.
But if you want to, you can add this info to the Readme.md and create a pull request. This might be helpful for other Windows users as well.


Rendered image result is different between before and after saving checkpoint

Hello, I really thank you for sharing your work.
I have some questions about your code.
I found that there are differences between the rendered image before and after saving the checkpoint.
Before saving checkpoint means that when I trained with opt.py, before saving checkpoint, I rendered the output image and calculated the metric.
After saving checkpoint means that during training I saved model checkpoint, and after training, I loaded checkpoint and rendered the output image, and calculate metrics.
When loading ckpt, rendered images became different (e.g., brighter locally, somewhat noisy).
Have you ever found this problem beforehand? If so, how did you solve it?

Same question here.
Did anyone find a solution? @ug-kim @sxyu


Installed libraries and their versions

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Screenshots

I had the same issue. Resolved with property skipLibCheck": true in my tsconfig file


Handle more generic exceptions when using InstallReferrer

Describe the bug
Currently The SnowPlow library is using this library as "compileOnly".
compileOnly "com.android.installreferrer:installreferrer:2.2"
compileOnly means that it's mandatory for the library, but is not shipped with the artifact. This currently means that the SnowPlow library cannot be used in a project that doesn't have the installreferrer. And currently makes a crash:
java.lang.NoSuchMethodError: No virtual method getGooglePlayInstantParam()Z in class Lcom/android/installreferrer/api/ReferrerDetails; or its super classes (declaration of 'com.android.installreferrer.api.ReferrerDetails' appears in /data/app/~~PHQ96RItx6M1UppnjKIAiQ==/com.inditex.zara-kj-XCASo7_iDxnet0B7pkw==/base.apk)                                       	at pj1.f.onInstallReferrerSetupFinished(InstallReferrerDetails.kt:88)                                       	at l8.a$a.onServiceConnected(InstallReferrerClientImpl.java:37)                                       	at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:2313)                                       	at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:2350)                                       	at android.os.Handler.handleCallback(Handler.java:958)                                       	at android.os.Handler.dispatchMessage(Handler.java:99)                                       	at android.os.Looper.loopOnce(Looper.java:230)                                       	at android.os.Looper.loop(Looper.java:319)                                       	at android.app.ActivityThread.main(ActivityThread.java:8893)                                       	at java.lang.reflect.Method.invoke(Native Method)                                       	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)                                       	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
The crash happens in InstallReferrerDetails.kt line 72. There is a try/catch protecting it. But the catch is only handling RemoteException, while the system throws a NoSuchMethodError. NoSuchMethodError is not a subclass of RemoteException.
In order to allow using the library without installreferrer library, I would capture all possible exceptions (throwable: Throwable) in the try/catch.
To Reproduce
Use the last version of SnowPlow library in a project that doesn't have installreferrer library.
Then send some events.
Expected behavior
Should not crash when the app using the SnowPlow library doesn't have the installreferrer library
Screenshots
Not applicable
Device informatoin (please complete the following information):

Device: All devices [Tested in Samsung, Huawei]
OS: All android versions [Tested in 12, 13, 14]
Browser None
Version None

Hi @corbella83, thank you for reporting this!
To be honest, I am a little confused about this error. In case the installreferrer library is not present in the project, the code should never reach line 72 of the InstallReferrerDetails.kt file. It should stop at this condition on line 54 which checks for the presence of the InstallReferrerStateListener class. Do you have any ideas how come that condition evaluates to true despite the library not being present?

Yes, I thought about that but indeed it reaches this line. I will download the library code and try to debug it to have more info. Also, I'll try to make a simple project that reproduces the crash

@matus-tomlein  I have some news about this.
This happens when using an old version of installreferrer (1.0). When using this version, the condition on line 54 is letting the code pass through because really is included, but the function on line 72 was introduced in version 1.1 (according to the installreferrer changelog) and can't be found, throwing a NoSuchMethodError

We're facing the same issue with an app using Facebook applinks which relies on InstallReferer 1.0
Is this still being implemented ?

Sorry for the delay! I've made a PR, this fix will be out in the next patch release, once one other bug report has been addressed


Only validate $file_limit against the regexp when it is not an int

Wondering if $file_limit -> "$file_limit" would do the trick too?

hi, judging from the ci failures I think that would also help making sure it gets validated when it's < 0, updating, thanks!

Closing in favour of pull request #401


Feed URL
https://kmcd.dev/posts/index.xml
More Info
No response

closed by https://github.com/murtuzaalisurti/rssed/commit/1f5a7b86cdc241878e31baba803695fa7ce59e84


Remove shell arguments (#7908)

Pull request opened by the merge tool on behalf of #7908

Merged into branches iso7 in 77cc99826aa276c8424970abcaefd68c573c33a9


Unused dependency ?

My question is, do you need to keep the stylelint dependency in the peerDependencies ? =)

The thought was that users would need stylelint in order to make use of the config, but I suppose someone could have a global install. I'm good with removing it.

Resolved by #9.


Implementing remove family with Compose UI on new App Architecture

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #[issue number]
Checklist

[ ] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

Make a separate PR with the requested implementation as we had discussed @aurangzaibumer

Closing this; implementation covered in #1209


The bot should warn about a new open job position

Frank:
when a new job position is published in the website the bot sends a message in the group and to the people who contacted with it directly.
For this maybe could be set a periodic revision of the website, saving a ¨status¨ of the existing website jobs. Then, in the following revision, it matches the current list of jobs with the previous one, and sends the alert for those new elements.
Iker:
in order to do that we can use the date on the publication

Also, we need to save the users id to alert them


Develop

Coverage increased (+0.9%) to 92.567% when pulling 619e0062bf72e30b06a2f3b43756293bae8257fc on develop into 997aef89c987db1444bb7a3fe417958be44debe6 on master.

Coverage increased (+0.9%) to 92.567% when pulling 619e0062bf72e30b06a2f3b43756293bae8257fc on develop into 997aef89c987db1444bb7a3fe417958be44debe6 on master.


fix file deletion error when overwrite on upload

Codecov Report

Merging #293 (4dbe07f) into master (e22a52d) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master     #293   +/-   ##
=========================================
  Coverage     99.89%   99.89%
  Complexity      368      368
=========================================
  Files            25       25
  Lines           944      944
=========================================
  Hits            943      943
  Misses            1        1

Impacted Files
Coverage Δ

backend/Services/Storage/Filesystem.php
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

Hi,
What exactly does this fix? Can you make a failing test and then implement a fix?
Thanks

@alcalbg
The problem is that the path indicated by "destination" in the function "store" is already obtained by calling "applyPathPrefix", but the "applyPathPrefix" is called repeatedly in the function "deleteFile"
For example:

My home dir is "iwiniwin", the file "iwiniwin/test.txt" already exists, and set "overwrite_on_upload" to true
When I upload the file "test.txt" with the same name, the source file "iwiniwin/test.txt" will be deleted first, but because of calling "applyPathPrefix" twice, the actual deleted file path becomes "iwiniwin/iwiniwin/test.txt"

The following error log will be printed:
[2021-12-30 09:59:21] default.ALERT: Fatal Error (E_ERROR): Uncaught League\Flysystem\FileNotFoundException:  File not found at path: iwiniwin/iwiniwin/test.txt in /www/wwwroot/filegator/vendor/league/flysystem/src/Filesystem.php:390  Stack trace:  #0 /www/wwwroot/filegator/vendor/league/flysystem/src/Filesystem.php(236): League\Flysystem\Filesystem->assertPresent()  #1 /www/wwwroot/filegator/backend/Services/Storage/Filesystem.php(123): League\Flysystem\Filesystem->delete()  #2 /www/wwwroot/filegator/backend/Services/Storage/Filesystem.php(171): Filegator\Services\Storage\Filesystem->deleteFile()  #3 /www/wwwroot/filegator/backend/Controllers/UploadController.php(112): Filegator\Services\Storage\Filesystem->store()  #4 [internal function]: Filegator\Controllers\UploadController->upload()  #5 /www/wwwroot/filegator/vendor/php-di/invoker/src/Invoker.php(82): call_user_func_array()  #6 /www/wwwroot/filegator/vendor/php-di/php-di/src/Container.php(276): Invoker\Invoker->call()  #7 /www/wwwroot/filegator/backend/Services/Router/Router.php(78): DI\Container->call()

Confirmed! Thank you!
I will merge this and add a missing tests.


⚠ Bofrost.be has degraded performance

In 0f30c16, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1361 ms

Resolved: Bofrost.be performance has improved in 16a0e32 after 19 minutes.


Path issue when DBeaver sends command to open folder with dumped data (Linux, Dolphin, KDE)

After a success back up operation or data export DBeaver sends a command to file manager to open folder where the data was saved (unlike in data export, when creating dump it is impossible to opt out of opening directory, or at least I didn't find a checkbox).  Though it is generally helpful option, the interaction with Dolphin (KDE file-manager) is wierd. Dolphin is trying to open invalid path which looks like /home/username/'/home/username/path/to/dumped/data'/. It would be great if the interaction with the Dolphin could be fixed.
DBeaver v.5.1.2. openSUSE LEAP 15.

This seems to be  Dolphin-specific.
Don't see how can I fix it from DBeaver.
Here is a workaround (I didn't test it yet):
https://stackoverflow.com/questions/9692331/open-a-path-with-desktop-open-from-java-on-ubuntu-linux

I also use Pycharm which is also Java-balsed. There is an option "open in Dolphin" in file's context menu and it works. Seems that it is able to detect which file manager is used in the system and adapt its behaviour accordingly.


Add useful predicates to filter based on the previous value

This PR started as a way to remove duplicates from a receiver, but then was expanded to OnlyIfPrevious, a more generic approach accepting any type of sub-predicate to compare with the previous message.
OnlyIfPrevious is used as a base to implement also a specific predicate to remove the duplicates (ChangedOnly), as this is a very common use case.
OnlyIfPrevious could be made even more generic by accepting also a function to determine what to save as the last message instead of always saving the new message. Such functionality would allow to implement a filter that ensured the received messages are monotonically increasing for example, by saving as the last message the max(old, new) instead of just the new message.
But this is left as a future improvement, as it is also not trivial because such function should be able to also receive the sentinel, which can complicate the API a bit.

I needed this to avoid sending configuration updates if the configuration didn't change and thought it might be generally useful.

But this is left as a future improvement, as it is also not trivial because such function should be able to also receive the sentinel, which can complicate the API a bit.

#342

The names for these are very confusing to me.  Does OnlyIfPrevious drop things that match the given predicate or keep them? And does OnlyChanged have the same meaning for Only as OnlyIfPrevious?
I'd suggest Keep and Drop as prefixes, so DropIfPrevious, KeepChanged or DropUnchanged, etc.
I also realize that the filter method's documentation could be more explicit, e.g., drop if the predicate returns true, etc.

Yeah, this is a problem I always have with filter in general, but it is a built-in in Python, so it is a problem that doesn't go away if we change it. I'm not opposed to make it more explicit and even eventually rename filter even if goes outside Python's built-in lingo. I like the drop/keep terms (maybe skip instead of drop?). Maybe we could deprecate filter() and add a drop_if()/skip_if() and keep_if() methods to replace it.
I actually considered various options and leaned towards the ones I chose after bouncing with ChatGPT, but always trying to stay in tune with how Python's built-in filter works (which is the common way it is used in functional languages).

In functional programming, filter is a higher-order function that processes a data structure (usually a list) in some order to produce a new data structure containing exactly those elements of the original data structure for which a given predicate returns the Boolean value true.

(as a lisp guy I'm surprised is not natural for you :P)
So, filter is positive, so you get the stuff that evaluates to true, only is used in that sense, you get only what's changed (so if prev != new is True). OnlyIfPrevious is the same, you get the stuff if the given predicate evaluates to True.

I also realize that the filter method's documentation could be more explicit, e.g., drop if the predicate returns true, etc.

Yeah, no, is the other way around :laughing:
I'd prefer to do the current v1.4 release with this as it is, as I would like to use it already, but we can create issues for future improvements, the predicates are experimental so we can do breaking changes until we stabilize it.

The problem is that the filter(ChangedOnly) reads like "filter out changed only", and that threw me off.

(maybe skip instead of drop?)

I think drop is better because the filter drops messages from the stream.

Maybe we could deprecate filter() and add a drop_if()/skip_if() and keep_if() methods to replace it.

I'm not sure we should do that because the alternative names are unfamiliar and might be hard to find.  But clarifying the predicate names goes a long way already.

The problem is that the filter(ChangedOnly) reads like "filter out changed only", and that threw me off.

But but this is a problem with the ambiguity of filter itself. You'll have the same issue with filter(is_equal). I do too. I always have to double check.

I'm not sure we should do that because the alternative names are unfamiliar and might be hard to find. But clarifying the predicate names goes a long way already.

For me is one or the other, once you know filter() is positive (accepts stuff that evaluates to True), then filter(ChangedOnly()) looks perfectly clear to me. I mean, we could remove the Only, that was added to make it more clear. For me the issue is with the filter() name.
For more context, here is copilot response to my ask for name options:

Ah, good point about avoiding "filter" since it would lead to redundant expressions like receiver.filter(DuplicateFilter()). Let me suggest some alternatives that would read better in that context:

SkipDuplicates - Simple and reads naturally: receiver.filter(SkipDuplicates())
DistinctConsecutive - Describes the behavior precisely: receiver.filter(DistinctConsecutive())
ChangeDetector - Focuses on what passes through: receiver.filter(ChangeDetector())
UniqueSequence - Emphasizes the sequential nature: receiver.filter(UniqueSequence())
ConsecutiveChanges - Most clear about what gets through: receiver.filter(ConsecutiveChanges())
DistinctOnly - Concise and clear: receiver.filter(DistinctOnly())
ChangesOnly - Very readable in context: receiver.filter(ChangesOnly())

Among these, I would recommend either ChangesOnly or DistinctConsecutive because:

ChangesOnly:

Reads extremely naturally in code: receiver.filter(ChangesOnly())
Makes it clear what gets through (only changes)
Short but descriptive
Follows the "Only" suffix pattern common in filters

DistinctConsecutive:

Very precise about the behavior
Makes it clear it works on consecutive items only
Follows mathematical terminology (distinct)
Still reads well: receiver.filter(DistinctConsecutive())

My top choice would be ChangesOnly because it creates the most readable code while accurately describing what the class does.
Would you like me to elaborate on any of these suggestions or propose more alternatives with different naming patterns?

I decided to believe "only" was a common pattern in filters but maybe it hallucinated because googling I can't find anything about that being a pattern for filter predicates.


Export type declarations for component source code

it would be great if this library declared its types, to make it easier to understand what i can import from it and how it can be used.
at the moment, when i import it in a typescript project, i get an error:
Could not find a declaration file for module 'govuk-frontend'. '/Users/jayehackett/Downloads/wp-fiddle/node_modules/govuk-frontend/govuk/all.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/govuk-frontend` if it exists or add a new declaration (.d.ts) file containing `declare module 'govuk-frontend';`

i could perhaps make a pull request for this if it's wanted?
Context
Alternatives
i could define some a declaration file in my own project, but that would only solve the problem for me!
Additional information (if applicable)
for a library like this, including types is a useful form of self-documentation. it's nice to be able to import a library and see intellisense suggestions for what i can do with it without having to refer to a documentation website.
for example, this works, but my editor doesn't "know" that it works:

here's an example @cloudratha did for the hackney fork of this lib. doing it here would probably look similar:
https://github.com/LBHackney-IT/lbh-frontend/pull/177

Thanks @jhackett1 for raising this issue
I know things have been quiet (or silent) from our end on this but it's certainly been talked about.
For now, you're likely seeing problems because "strict": true is set in your TypeScript compilerOptions. For any regular JavaScript code without type declarations, ours included, you'll see the same.
Microsoft have some more tips here for regular JavaScript:
https://code.visualstudio.com/docs/languages/jsconfig

Tip: jsconfig.json is a descendant of tsconfig.json, which is a configuration file for TypeScript. jsconfig.json is tsconfig.json with "allowJs" attribute set to true.

Generated type declarations in future
That said, we appreciate type declarations are a brilliant way of bringing documentation straight to the code
What could we do in the future?

Manually write type declarations
Keeping our JavaScript source, but output type declarations via tsc + JSDoc
Converting to TypeScript source, but compiling to JavaScript with type declarations via tsc

Mainly with 2) in mind, we've started taking a look at improving our JSDoc comments as we know the TypeScript compiler (and your editor or IDE's language server) will automatically pick these up
Automatic type discovery now
What do we have already?
If you're using an editor or IDE (Visual Studio Code, Sublime Text, WebStorm) with plugins that wrap the TypeScript standalone server (aka tsserver) you'll already see type information from node_modules appearing in your code.
I had a quick try and our JSDoc comments (where we use them) are appearing already 😊

For anyone else searching I'll put these notes here
Thanks again

To add to this, our workflows over at the Planning Inspectorate would benefit from exported types. For now we are defining our own types to go along with the library.
We use plain JavaScript instead of TypeScript, but TS is key to understanding the types a library needs, and is what vscode uses to check code too.
We often have a need to know the type of a nunjucks macro function - i.e. what data can we pass to a particular macro; being able to check the types for that (and have it autocomplete etc...) would be useful.

We're going to put this one back in the backlog for a bit, the time to prioritise our work.

Just a note from TypeScript’s Publishing guide as they suggest types are published by either:

bundling with your npm package
publishing to the @types organization on npm.

But I've picked the easiest option to generate types from source (#4094, #4154) so this caveat applies:

If your types are generated by your source code, publish the types with your source code. Both TypeScript and JavaScript projects can generate types via declaration.

Which would then steer us away from DefinitelyTyped:

Otherwise, we recommend submitting the types to DefinitelyTyped, which will publish them to the @types organization on npm.

But to avoid accidentally-breaking type changes, perhaps this still leaves an optional @govuk-frontend/types package as a valid option, without DefinitelyTyped?
Type checking Nunjucks
In future, we could consider a custom filter or function (opt-in only) that enables Nunjucks type checking:

We often have a need to know the type of a nunjucks macro function - i.e. what data can we pass to a particular macro; being able to check the types for that (and have it autocomplete etc...) would be useful.

The filter could log warnings or throw errors at Nunjucks compile time when options are deprecated or invalid:
govukAccordion({
  rememberExpanded: false
} | validate('AccordionConfig'))

Autocomplete
Unfortunately, code autocomplete via JSDoc would only be available in JavaScript templating languages.
We'd need to move our YAML documentation into JSDoc to support this and I've demonstrated JavaScript versions of govukAccordion(), govukBackLink() etc in https://github.com/alphagov/govuk-frontend/commit/a4c0877707f589ddb540ea62bfcd226287ce2d1d on branch component-data-jsdoc
https://github.com/alphagov/govuk-frontend/blob/39c0a23edd3c47c27954c601168d1ede342c3920/shared/lib/components.js#L154-L156
JavaScript versions of govukAccordion(), govukBackLink() etc are wrappers for the render('accordion', options) Nunjucks lib functions used by our tests, but ensuring that options either becomes a JSDoc @template matched on the component name or separate JSDoc block
If support was needed, these wrappers could be used in JSX and other JavaScript templating languages

To share an update on this, I've contributed a community @types/govuk-frontend package via:

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/70130


util.js: ReferenceError: process is not defined

Been trying to install this package.
It seems to be necessary to add
    "lodash": "^4.17.15",
    "util": "0.12.3"

(Might like to add that to the docs?)
But it doesn't work.

Is there any chance that this package could ever work, or should I look elsewhere?

We need more details to take that serious.
First, tell us which package you mean exporter or filter? If it is filter, it has a lodash dependency and it is not peer dep.  And Lodash is not required for exporter.
We may need a bit more details like your package.json


Failed to setup, after update to 2023.6.1 - schema_incompatible

Good evening,
I just updated to 2023.6.1 and after rebooting all integrations where available except for Eufy Security.
It displayed "Failed to setup"
schema_incompatible is a term mentioned in all logs.

System log shows the following:
Logger: homeassistant.config_entries
Source: custom_components/eufy_security/eufy_security_api/api_client.py:350
Integration: Eufy Security (documentation, issues)
First occurred: 22:40:42 (1 occurrences)
Last logged: 22:40:42
Error setting up entry <IP_ADDRESS> for eufy_security
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/eufy_security/init.py", line 50, in async_setup_entry
await coordinator.initialize()
File "/config/custom_components/eufy_security/coordinator.py", line 39, in initialize
await self._api.connect()
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 72, in connect
await self._set_schema(SCHEMA_VERSION)
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 150, in _set_schema
await self._send_message_get_response(OutgoingMessage(OutgoingMessageType.set_api_schema, schema_version=schema_version))
File "/config/custom_components/eufy_security/eufy_security_api/api_client.py", line 350, in _send_message_get_response
return await future
^^^^^^^^^^^^
custom_components.eufy_security.eufy_security_api.exceptions.FailedCommandException: {'type': 'result', 'success': False, 'messageId': 'set_api_schema.35829526b70542579bff45dbfc597811', 'errorCode': 'schema_incompatible'}

When checking the logs of the Eufy Security add-on the following is found:
2023-06-11 20:36:11.712  INFO  Authentication properties changed, invalidate saved cloud token.
2023-06-11 20:36:19.543  INFO  Eufy Security server listening on host <IP_ADDRESS>, port 3000
2023-06-11 20:36:29.777  INFO  Push notification connection successfully established
2023-06-11 20:36:29.862  INFO  Connected to station T8410P3121361F9F on host <IP_ADDRESS> and port 27828
2023-06-11 20:36:29.868  INFO  Connected to station T8200N0021121A14 on host <IP_ADDRESS> and port 19679
2023-06-11 20:36:36.754  ERROR Message error
Error
details:
{
schemaId: 17,
errorCode: 'schema_incompatible'
}
error stack:
• server.ts:91 receiveMessage
src/lib/server.ts:91:27
• server.ts:68
src/lib/server.ts:68:53
• node:events:513 emit
node:events:513:28
• websocket.js:1178 receiverOnMessage
node_modules/ws/lib/websocket.js:1178:20
• node:events:513 emit
node:events:513:28
• receiver.js:528 dataMessage
node_modules/ws/lib/receiver.js:528:14
• receiver.js:446 getData
node_modules/ws/lib/receiver.js:446:17
• receiver.js:148 startLoop
node_modules/ws/lib/receiver.js:148:22
• receiver.js:83 _write
node_modules/ws/lib/receiver.js:83:10
• writable:391 writeOrBuffer
node:internal/streams/writable:391:12

I tried completely removing the integration, add-on and HACS integration, rebooting and reinstalling but the error remains,
Info:
Home Assistant 2023.6.1
Supervisor 2023.06.1
Operating System 10.2
Frontend 20230608.0 - latest
Eufy Security Add-on Version 1.3.0
Eufy Security Integration Version latest available
If you need more, please let me know,.
Thank you advance for your support!

you should migrate into bropat's version of add-on.
eufy-security-ws - Current version: 1.5.2 (Changelog)

you should migrate into bropat's version of add-on. eufy-security-ws - Current version: 1.5.2 (Changelog)

is this the best option? Move away from this component to the other?

@tempus2016 , there are two components, one custom component (integration) and one add-on.
Earlier, i was managing both but now bropat is managing add-on and i own the custom component. So i am asking you to migrate add-on but keep the custom component. What's wrong with this approach?

There's nothing wrong with it. I'm just confirming that this is what you meant.  Migrate to the other addon.

Actually, I had updated the README very long ago but there is no proper way to inform all users regarding to discontinuing an add-on other than releasing a new version :) anyway, updated the respective repository with a warning.

@tempus2016 , there are two components, one custom component (integration) and one add-on.
Earlier, i was managing both but now bropat is managing add-on and i own the custom component. So i am asking you to migrate add-on but keep the custom component. What's wrong with this approach?

I have migrated the add-on from yours to bropat and my camera is working find and my door lock is reporting the correct status but I cannot open or close the lock.

the migration solved most of the issues - awesome. - Maybe it makes sense to add a release of your addon and simply post a message all the time into the notifications to migrate the plugin

I have a homebase and the doorbell from eufy and am experiencing the same behaviour. It has worked before the updates.
installed Eufy security v6.3.1
installed Home assistant 2023.7.2
installed add-on from bropat
getting this error from the bropat add-on log:
2023-07-18 09:52:32.561  ERROR Message error
 Error
details:
{
  schemaId: 17,
  errorCode: 'schema_incompatible'
}
error stack:
• server.ts:91 receiveMessage
    src/lib/server.ts:91:27
• server.ts:68 <anonymous>
    src/lib/server.ts:68:53
• node:events:513 emit
    node:events:513:28
• websocket.js:1178 receiverOnMessage
    node_modules/ws/lib/websocket.js:1178:20
• node:events:513 emit
    node:events:513:28
• receiver.js:528 dataMessage
    node_modules/ws/lib/receiver.js:528:14
• receiver.js:446 getData
    node_modules/ws/lib/receiver.js:446:17
• receiver.js:148 startLoop
    node_modules/ws/lib/receiver.js:148:22
• receiver.js:83 _write
    node_modules/ws/lib/receiver.js:83:10
• writable:391 writeOrBuffer
    node:internal/streams/writable:391:12

No entities show from the integration: Failed to setup...

My fault... although I installed the new add-on it seems it was still the old one... Changed it and working again! thnx

Sorry if this is a dumb question - what does "migrating" involve?
Uninstalling this addon and installing this addon? Isn't that going to break all the flows we have?
Is there a more seamless way?

 I still see this addon in HACS but am getting the error
Uninstalling this addon and installing this addon? Isn't that going to break all the flows we have? Is there a more seamless way?
EDIT: For anyone wondering, I went ahead and did this:

Install the new addon
Configured, copying information from the old addon before starting
Stopped the old addon before starting
Started the new addon
Reloaded the Eufy integration

It appears to have worked and retained settings (although not fully tested)

Thank you, my add-in was incorrect, this fixed my issue.  I don't know why this was so difficult to get an answer to.


Amazon Athena and AWS Glue Stack and GremlinStack Failure |

Both Stacks Fail with the same event.
Gremlin Function Failure: Resource handler returned message: "Specified ReservedConcurrentExecutions for function decreases account's UnreservedConcurrentExecution below its minimum value of [10]. (Service: Lambda, Status Code: 400
AWSCURInitializer Failure:  Resource handler returned message: "Specified ReservedConcurrentExecutions for function decreases account's UnreservedConcurrentExecution below its minimum value of [10]. (Service: Lambda, Status Code: 400, Request ID: 390a28cf-2d07-4dcb-abc3-8dc0d39a4ca2, Extended Request ID: null)"
I put in a quote request for concurrent executions on the Service Quota Page.  Would take clear up this error?
Current Lambda Account Settings:
aws lambda get-account-settings
{
    "AccountLimit": {
        "TotalCodeSize":<PHONE_NUMBER>0,
        "CodeSizeUnzipped": 262144000,
        "CodeSizeZipped": 52428800,
        "ConcurrentExecutions": 10,
        "UnreservedConcurrentExecutions": 10
    },
    "AccountUsage": {
        "TotalCodeSize": 18965615,
        "FunctionCount": 8
    }
}

Hi,
Yes, if you put in a service quota request to increase this it should fix the issue you are seeing.
Cheers

Thank you!
Do you know what the minimum concurrent execution quota one needs to deploy this stack?
-Kat

Hey,
The GremlinStack Lambda needs 200 concurrent execution capacity. We haven't tested it with anything lower than that. The time taken for the Discovery Process to complete will increase if a lower value is used.
Cheers

Thanks.
After AWS support increased my quota, I am only seeing one failure now.  Still from the AWS Perspective Gremlin Lambda Stack.
GremlinFunction: Resource handler returned message: "Specified ReservedConcurrentExecutions for function decreases account's UnreservedConcurrentExecution below its minimum value of [100]. (Service: Lambda, Status Code: 400, Request ID: 8ebe7161-563e-4d10-9e33-efd5f8f3f371, Extended Request ID: null)" (RequestToken: 85e6d953-0d52-41d5-09a9-46e38b32b607, HandlerErrorCode: InvalidRequest)
Current Lambda Account Settings:
aws lambda get-account-settings
{
    "AccountLimit": {
        "TotalCodeSize":<PHONE_NUMBER>0,
        "CodeSizeUnzipped": 262144000,
        "CodeSizeZipped": 52428800,
        "ConcurrentExecutions": 200,
        "UnreservedConcurrentExecutions": 198
    },
    "AccountUsage": {
        "TotalCodeSize": 20938724,
        "FunctionCount": 9
    }
}

That looks like the limit for the account is still to low. What did you increase your concurrency limit to?

I requested the quota be increased to 200

You will need it to be higher than 200. This is because the GremlinFunction will take that 200, leaving 0 for the remaining functions.

Closing due to inactivity. Please feel free to reopen.


pallet-beefy-mmr: add API for BEEFY Authority Sets

Adds a hook to pallet-beefy for doing specific work when BEEFY validator set changes.
For example, this can be used by pallet-beefy-mmr to cache a lightweight MMR root over validators and make it available to light clients.
Implement pallet-beefy::OnNewValidatorSet to be notified of BEEFY validator set changes. Use the notifications to compute and cache a light weight 'BEEFY authority set' which is an MMR root over BEEFY validator set plus some extra info.
Previously, pallet-beefy-mmr was interrogating pallet-beefy about validator set id on every block to find out when it needs to recompute the authority set.
By using the event-driven approach in this PR, we also save one extra state interrogation per block.
Expose current and next BEEFY authority sets through runtime API.
These can be directly used by light clients to avoid having them compute them themselves based on BEEFY validator sets.

Polkadot companion: https://github.com/paritytech/polkadot/pull/5516

Will also add some tests, but wanted to get early feedback.

bot merge


Plugin not allowing to create the availability set or select 'NONE'

Environment: Windows/IntelliJ14
Portal allows to select the availability set as 'NONE' or create a new Availability Set.
PFB the screen shot.

Plugin not allowing to select the availability set as 'NONE' or create a new Availability Set.
PFB the screen shot.

This is the same with VS


Add StreamedJsonArray wrapper

Default EntityEncoder for Stream[F, A] works that all As are streamed as invalid JSON:
{"name": "Bob"}{"name": "Fred"}

instead of
[{"name": "Bob"},{"name": "Fred"}]

I believe that this behavior is slightly confusing, but nevertheless valid. However, we can add auxiliary wrapper class and corresponding encoder to it. Example implementation: https://gist.github.com/andimiller/671d5bfdfbf9ef1411522ca9c88a369c

This relates to #407.  For arbitrary A, we don't necessarily have a way to concatenate A in a reasonable way.  I'd say it should depend on a Monoid[A], but that would defeat streaming.  Maybe the streaming encoder should be explicit with start, middle, and end delimiters, and then we could provide implicit ones that do the right thing for Byte, String, Json, and others that come to mind.

Catching up on backlog, and I stand by my previous comment.

Is there anybody working on this?
If possible I'd love to get my hands on this, I will probably be unavailable until next week though.

@SoTeKie sure, it's yours if you want :)

Hello again, sadly for personal reasons I won't actually have the time to work on this :(
Sorry for any inconvenience caused by this.

If there is no one working on this, I would love to get my hands on this.

@gringrape awesome!


Integrating alice/stages

I could use some reviews of the alice/stages branch. I've been really busy lately. I'd really like input on the overall implementation.

I'll go through it all over the weekend.

I talked to my friend xax about alice/stages a bit. Below is a verbatim copy of what they said.
well i mean from hearing you describe it... like the kind of 'state' i think of when i think of 'in a menu vs. in a map' and the kind of 'state' i think of when i think of 'in a map vs. in a different part of the map' seem pretty distinct
iirc i did a similar thing with phantomnation way back in the day and i think what it ended up being was that... fundamental game states were useful for when you needed different input mapping (e.g., esc to cancel out of menus while in a menu vs. esc to open the system menu when in a map) but the rest of the time it was better to handle actual game divisions using some other mechanism
like e.g., having a map trigger to switch between "inside" and "outside" views, or to load the next level or w/e
rly my Big Advice is: never code something into the engine that you don't immediately use in two+ places in the actual game
b/c it's very easy to think up Engine Features that seem cool or useful only to realize after they're there that they have weird implications or require weird assumptions or just... don't work well
b/c that is the problem i make incessantly myself really :V

rly my Big Advice is: never code something into the engine that you don't immediately use in two+ places in the actual game

I strongly support and share this sentiment.  From my own experience working on game engines, do not spend time trying to guess what functionality might be useful in the future.  That very easily becomes a time-sink and, even worse, wasted effort if the functionality goes unused.

In my opinion the branch needs a decent amount of reworking before merging.  It has some great ideas and functionality which is unfortunately masked by problems with overall structure and organization.  The rest of this comment is a copy of the notes I wrote while reviewing the branch.
Notes on alice/stages
Written by Eric James Michael Ritz on 30 October 2015.  This document organizes comments by the commit which includes them.
4fa4a22c28be37b978a9560378804cd369db4be9
The commit message provides no description of "stages" or a justification for the patch in general.
hypatia/constants.py
This file doesn't "feel" like the appropriate place for DEFAULT_CONFIG.  Configuration files are so common in game engines that it is reasonable to expect Hypatia to have a hypatia/config.py file, or something along those lines.  Moving DEFAULT_CONFIG into such a file would be better organization.  The constants.py file is also for immutable data.  While the default configuration itself could be immutable, that does not alter the fact that the engine is free to change configuration values elsewhere, e.g. when loading the preferred configuration of a player.  This makes DEFAULT_CONFIG "not constant enough" to warrant being a part of constants.py.
hypatia/game.py
The Stage class has no docstring, which is mandatory per the project guidelines.
Various docstrings throughout the file seem to use the terms "stage" and "scene" interchangably.  It would be better to pick one term and stick with it consistently.  However, if "stages" and "scenes" are not synonymous then the code needs to document the differences.
The ExceptionStage class, simply from its name, sounds like a class meant for use with raise; it needs a docstring explaining this.  The implementation makes it seem that the purpose of the class is to be a "stage" meant for displaying exception information within a game while it runs.  So for that reason a name like ExceptionDisplayingStage may be better to improve readability and help avoid confusion with regard to incorrectly thinking of ExceptionStage as a type of an exception.
Finally, stages feel complex enough to warrant their own module, e.g. hypatia/stages.py.
1b4dcf6a72c8c5ea409cdadcf1b0d5798e86b0da
The commit changes every line in two files, making it almost impossible to see the actual 2--4 which constitute the real changes of this patch.  The commit needs to be rewritten so that it only changes the lines that are actually relevant to the patch.
684cbacd90c3bf67541e8a21377ad8128b8434fe
No classes in hypatia/vfs.py have docstrings.
The exceptions should have Exception in their name, e.g. IsADirectory should be IsADirectoryException, for consistency with all other custom exceptions in the engine.
Overall though the implementation in hypatia/vfs.py is well-written.  All it needs is docstrings and ideally some docstring unit tests.  But the code itself is well-structured and easy to read and understand.
fe302fe1af68432ae63907f2d9ed9e40ebcb5a48
Since this commit fixes bugs from the previous commit it should simply be squashed into 684cbacd via an interactive rebase in Git.
d185f1163688cb43acbf76e5758dd6041751fdeb
hypatia/game.py
Regarding this line:
self.config.readfp(self.vfs.open("/game/game.ini"))

Is there a potential chance that the engine will interpret /game/game.ini as an absolute filepath?  If the path should always be relative then ./game/game.ini would make that clear to developers.
The comments for the setup() method would be better as a docstring, as in general any comments immediately following a method definition usually belong in a docstring.
hypatia/scene.py
The file contains no documentation whatsoever, which exacerbates the confusion between "stage" and "scene".
93c1fbf5c7375c9d0d4f075e873e4ec4dd6ecc29
This is another commit which must be squashed before merging the branch.  As a side note, when developers find a bug in their most recent commit they can add the bug-fixes directly to the last commit by using git add -u; git commit --amend.
4043781d5e2eb6c6786d8a58a865dc1ec7731c1d
The commit messages asks how the --user flag made it into the script/bootstrap file in the first place.  The commit message should explain that by using git log -p -S"--user" --all -- script/bootstrap, aka. using "the pickaxe" in Git terms.  That command shows that commit 4fa4a22c introduced the --user flags.
939e8c074a757de563a12ecbd9388b5e8c15288e
The commit message should explain "exception scrolling" and why it belongs in the engine.  It should not have a message asking for help with testing, which is more appropriate for the relevant GitHub issue and/or pull-request page for the branch.
0541d17eb9a9c78c30bf9f26e6bc608eb21df074
The creation of hypatia/util.py is a great idea.

@alxcenz have you read through these notes?

Yeah, I've been working through this. Expect to see me rebase this on top of latest develop and squish a few remaining bugs, as well as implementing the game logic in a new state soon.


2.17.1 is also good

Maybe 2.17.1 should be "better" ...

Merged, and i'm open for improved status messages :)


pre-commit fails when {files} is empty

:wrench: Summary

Lefthook version
1.5.0

Steps to reproduce
requirements-txt-fixer is from https://github.com/pre-commit/pre-commit-hooks
pre-commit:
  parallel: true
  commands:
    requirements-txt-fixer:
      files: "git diff --name-only --cached --diff-filter=ACMR | grep -E \"requirements/(.*\\.in)|(dev.txt)$\""
      run: "requirements-txt-fixer {files}"
      stage_fixed: true

Expected results
requirements-txt-fixer does not fail when {files} is empty.
 I don't think this is a good idea to append || true to all files commands. Users may mistaken when writing the command and they will never notice that, but the command won't show an error.
The problem is that grep exits with 1 if nothing was returned after filters applied. I'd suggest you to look at the glob option that does exactly what you want, but without using grep command. In your case it will be something like this:
pre-commit:
  parallel: true
  commands:
    requirements-txt-fixer:
      glob: "requirements/{.*\\.in,dev.txt}"
      run: "requirements-txt-fixer {files}"
      stage_fixed: true

The glob will be applied to the {staged_files} which is the same command as in your files.
Please write if this was helpful 🙏

Your glob pattern does not handle requirements/*.in files, only requirements/dev.txt. Yes, grep returns 1, my alternative solution is to use git patterns like this:
git diff --name-only --cached --diff-filter=ACMR -- "requirements/*.in" "requirements/dev.txt"

There is another case:
    just-fmt:
      glob: "Justfile"
      run: "just --fmt --unstable"
      stage_fixed: true

This does not work, because I dont use {staged_files}, so I need {files} anyway.

Sorry, I have mistaken with the glob pattern. I forgot that globs behave differently from regexps. This must work:
pre-commit:
  parallel: true
  commands:
    requirements-txt-fixer:
      glob: "requirements/{*.in,dev.txt}"
      run: "requirements-txt-fixer {files}"
      stage_fixed: true

This does not work, because I dont use {staged_files}, so I need {files} anyway.

What is your use case? Do you want to run just --fmt --unstable agains all files and stage them if Justfile has been changed? If so, you probably need to manually stage all files touched by just --fmt --unstable. Or if not, please explain and I will help to find the best solution.
pre-commit:
  parallel: true
  commands:
    just-fmt:
      glob: "Justfile"
      run: "just --fmt --unstable && git add -A"
      stage_fixed: true

Sorry, I have mistaken with the glob pattern. I forgot that globs behave differently from regexps. This must work:

Thanks!

What is your use case? Do you want to run just --fmt --unstable agains all files and stage them if Justfile has been changed? If so, you probably need to manually stage all files touched by just --fmt --unstable. Or if not, please explain and I will help to find the best solution

So just --fmt --unstable command formats only Justfile by itself and I want to trigger this hook only if Justfile is modified. Hmm, now it somehow works (with glob "Justfile").
Thank you very much for your patience.


Questions about memory usage

After reading the official performance report, the conclusion is that log4j2 is more powerful, but why isn't it the case when I test it myself?
1. Do nothing

log4j2
Firstly, without doing anything, the application's memory is about 160M:

logback
But I only have around 30MB of memory when using Logback:

2. Write log
It was tested in the same way: http://<IP_ADDRESS>:8080/log4j2/pressure?minLengthInclusive=102400&maxLengthExclusive=409600&times=10000

log4j2
Although the memory usage is not very high, it is more than twice as much as logback.

logback

Did I do something wrong?
This is my test project(Spring Boot):
log-sample.zip

I roughly understand the reason, it's because of the disruptor. If I exclude it, the memory will decrease.

Then do the pressure test in the same way as above:

It feels similar to Logback.
So, I'm confused now, do I need to use a disruptor? Can you help me answer this?

你想测试log4j2的内存使用情况，应该参考这篇文档https://logging.apache.org/log4j/2.x/manual/garbagefree.html.
最好使用普通项目来测试，而不是SpringBoot项目。想节省内存disruptor是必须的，这是因为disruptor会预选创建很多的对象，避免使用了临时对象。而logback却没有这个特性，理论上，logback内存占用情况一定是高于log4j2的。
我自己也写了一个日志库，https://github.com/jdkstack/nogc4j-ce.
这是一个无GC日志库，内存占用上是固定的，不会发生改变。

1. Do nothing
* log4j2
  Firstly, without doing anything, the application's memory is about 160M:

This graph isn't really reliable: you don't see any garbage-collection event, so it is entirely possible that most of the 160 MiB could be collected.

2. Write log
It was tested in the same way: http://<IP_ADDRESS>:8080/log4j2/pressure?minLengthInclusive=102400&
maxLengthExclusive=409600&times=10000

What does minLengthInclusive and maxLengthExclusive parameters mean? If these are the sizes of log messages, their values greatly exceed the size of a typical log event. Log4j Core by default expects log messages up to 518 bytes and log events up to 8192 bytes in size. Besides these limits you start creating a lot of temporary objects and you are no longer garbage-free. See Garbage Free logging for more details.

the conclusion is that log4j2 is more powerful, but why isn't it the case when I test it myself?

If by "powerful" you mean that Log4j Core always provides a better performance and lower memory usage than Logback, the conclusion is wrong. Everything depends on how your application is configured and how you use logging. Note that the astonishing 20M messages/s is a peak throughput that you can keep for very small periods of time (a couple of ms). You can compare this with the performance of SSDs: writing the first 8 MiB or so is lightning fast, but the sustainable rate is much lower.
Regarding memory usage:

The garbage-free mode increases your memory usage, since many reusable buffers need to be allocated. You pay an initial memory price, but later on you will not experience GC pauses due to logging. Nowadays garbage collection is very fast, but a couple of years ago it was a "stop the world" event, which was very costly for financial applications. See log4j2.enableThreadlocals for details on how to disable garbage-free logging.
Using the Disruptor also costs memory, since it pre-allocates up to 256 × 1024 buffers. See asynchronous loggers on how to enable or disable the usage of the LMAX Disruptor.


Move FunctionContext::new's call to push_frame to Interpreter::run_function.

This makes it more consistent with run_block and others, and also means
that FunctionContext::new doesn't need to be passed the function body
and doesn't need to return a Result, which simplify its users.

cc @svyatonik

Thanks for submitting!


 Have seen it being 4GB ; after a deploy on DEV it starts growing rapidly. Screenshot shows the size after a fresh deploy and after removing all the older stats-files.
Problems arise for example when deploying new versions.
Expected behavior
A normal file size of the stats files. I have not seen the behaviour on TST with version 7.5-RC3
This problem has been attempted to solve with issue #1062. Where 5GB extra memory was added (that was past october). Now the problem seems to repeat itself.

ija_tibet2 appears to write every minute to the stats log.
We decided to remove the big log files, and restart to be able to analyse what is going on.

The growing of the stats log file appears to be related to the CheckReload job (that runs every minute).
If the CheckReload job is paused, the stats log does not grow anymore.

Lines like the following appear every minute in ija_tibet2.log:
2021-03-12 17:53:11,046 INFO [CheckReload[scheduler_Worker-1]] null scheduler.JobDef - Job [CheckReload] configuration [main] with version [8-96260c55-master_20201130-1624] will be reloaded with new version [8-96260c55]
2021-03-12 17:53:11,047 INFO [CheckReload[scheduler_Worker-1]] null scheduler.JobDef - Job [CheckReload] configuration [applicationclaim] with version [7-92b58c37-master_20200828-1232] will be reloaded with new version [92b58c37-master]

This means these two configurations are tried to be reloaded every minute. As part of the reload, the adapter is stopped, and the statistics are dumped to the stats.log
The problem appears to me that the version in the database table differs from the version of the configuration that is loaded from the database.
I can think of two work-arounds:

stop the CheckReload job
adjust the versions in the database table, so that they reflect the actual version of the configurations that they represent.

proper solution would be to make sure that these versions match when the configuration is uploaded to the database.

After upgrade to 7.5.1 stats files appear to be of normal size again


Recent bedrock integration throwing an error about system role messge getting passed.

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS:
- Continue:
- IDE:
- Model:
- config.json:

Description
Recent bedrock integration throwing an error about system role messge getting passed.
When a prompt is sent to aws bedrock along with system message setup in config.json.
An error is thrown back that says role type system is not allowed when calling bedrock api.
To reproduce

Go to config.json
Configure basic bedrock config along with system message.
Type a prompt and click send
Error is received and added in log output section.

Log output
_ValidationException: 1 validation error detected: Value 'system' at 'messages.1.member.role' failed to satisfy constraint: Member must satisfy enum value set: [user, assistant]_

PR raised at https://github.com/continuedev/continue/pull/1951


substitute command name when alias is not defined (for ls and grep in the utility module)

$aliases[grep] works with the assumption that an alias is already defined for grep. If one comments out the correction-related code, including alias grep='nocorrect grep', then alias grep="$aliases[grep] --color=auto" would break. ${aliases[grep]:-grep} fixes the problem. Same goes for ls.
In fact, the ${aliases[command]:-command} idiom is already seen in the file, just not used throughout.

Commited.


Panic inside a resource function does not kill the application

Description:
Came up during a code review session, Consider the following sample.
service / on new http:Listener(8900) {
    resource function get greeting() returns string {
        panic error("test panic");
    }
}

When the following resource function is invoked the application is not killed. It simply prints an error in the log.
Is this intended? Platforms like Kubernetes automatically restart the pod if it is killed.
@shafreenAnfar

I think when the code panics it is better to crash the service. As @xlight05 mentioned it will result in a crash loop, crash loop results in alerts (in proper deployment). Alerts results in human attention. I think that is what we need for services that panics.
@sameerajayasoma @chamil321 any thoughts.

Panics are abnormal errors. It makes sense to kill the instance when a panic happens.

Since the panic is an unrecoverable error, Shall we call System.exit() rather stopping listeners individually.
@warunalakshitha Do we have such function which is provided by the lang runtime?

I think what you explained above falls under normal errors but panics are abnormal errors. Here is what James' slide deck says "Abnormal errors should typically result in immediate program termination".

we call System.exit() rather stopping listeners individually.

Even if you stop the listeners, eventually you need to immediately terminate the program. Therefore, we can start with terminating.

IMO calling System.exit is wrong since that will skip properly shutdown of the ballerina program including scheduler, module stops and any other cleanup etc. Panics are abnormal errors but if main strand does not have impact ATM we do not terminate the program.
As an example we do not terminate the program if name worker panic unless you wait on the worker.
Shall we creare a spec issue and discuss there?

May be it should be a internal server response (5XX)

@jclark Could you please shade some light here.
The question is, should the application (A service in this context) be terminated when a panic occurs from a resource function?
service / on new http:Listener(8900) {
    resource function get greeting() returns string {
        panic error("test panic");
    }
}

Current behaviour is similar to error return and does stop the listener.

A panic means either an application bug or resource exhaustion. If there's an application bug, then the application state may be in an inconsistent state and it is not safe to continue executing. I would expect panic to terminate the application.  If the user doesn't want this they should explicitly trap the panic.
If a resource function returns an error, then the HTTP listener should report an error to the client, but continue to handle other requests.

A panic means either an application bug or resource exhaustion. If there's an application bug, then the application state may be in an inconsistent state and it is not safe to continue executing. I would expect panic to terminate the application. If the user doesn't want this they should explicitly trap the panic.
If a resource function returns an error, then the HTTP listener should report an error to the client, but continue to handle other requests.

Appreciate the input and it aligns with initial suggestion. We can proceed accordingly.


Case insensitive queries

Hello,
How can i execute Case insensitive queries?
for example, i would like to match node named "foo" regardless if it is stored as "Foo" or "FOO".
thank you
Uri

Hi Uri,
This question on StackOverflow should help you...
http://stackoverflow.com/questions/31873893/case-insensitive-search-with-neo4jclient

thanks, helped and resolved my issue
Uri


Automatic error report

console not loading even after installation of ipykernel and cloudpickle in venv. interpreter of venv different from that use by spyder.
<!---   *** BEFORE SUBMITTING: PASTE CLIPBOARD HERE TO COMPLETE YOUR REPORT ***   ---!>

Please read our
https://github.com/spyder-ide/spyder/wiki/Troubleshooting-Guide-and-FAQ
If you are unable to fix the problem after that, please install Anaconda instead. Unfortunately, we don't have the resources nor the time to help people with custom installations, so it's up to you to figure this one out.
This is because custom installations are for experts or very knowledgeable people who really know what they are doing and are able to easily solve problems like this.


Logical problem with IDisableJwtRefreshToken

Hey, I have a logical problem with IDisableJwtRefreshToken.MarkJwtRefreshTokenAsUsedAsync.
Lets say a user logs in, and the access token is valid for 30 minutes. Then, after 10 minutes the user logs in from another machine and creates another refresh token.
Now, he logs out of the first login, and instead of disabling the first login refresh token, the second login refresh token gets disabled. The result is that he "logged out" on both machines unintendedly.
It is also a minor security vulnerability, because someone can utilize the first refresh token (it is deleted from the client side but still valid and able to produce new refresh tokens).

Hi @idan-h,
Yes I can see that is a problem. I think if I use the JWT Token as well it might work, but need to do some research first.

Hi @Idan-h,
I got some time to look at this and looked at Rui Figueiredo article Refresh Tokens in ASP.NET Core Web Api and he says.

The simplest version of this is just to have an extra column for the refresh token in the user’s table. This has the consequence of only allowing the user to be logged-in in one location (there’s only 1 refresh token valid per user at a time). Alternatively, you can maintain several refresh tokens per user and save the geographical location, time, etc from the request that originated them so that you can provide the user with activity reports.

From that I can't create a generic answer to the JWT refresh token. In this case you will need to create their own  JWT refresh token.
PS. I have updated the JWT Token refresh explained documentation to link back this issue

We can add 'CreatedByRefreshToken' property to the refresh token entity which contains the refresh token which created the current one, and when logging out revoke all the related tokens recursively.
This way we support multiple loggins at the same time which might be a desired thing.

Hi @idan-h,
That is a great solution to the multi-user problem. I have reopened this issue so that when I update the library I will implement that change. I may create a preview version of the NuGet for you to check.

Also, should probably add an option to specify the refresh token to be revoked.

There is already a IDisableJwtRefreshToken service, but it wasn't in the documentation - it is now.

Hi @idan-h,
That is a great solution to the multi-user problem. I have reopened this issue so that when I update the library I will implement that change. I may create a preview version of the NuGet for you to check.

Also, should probably add an option to specify the refresh token to be revoked.

There is already a IDisableJwtRefreshToken service, but it wasn't in the documentation - it is now.

Great, let me know if you need help
I meant, adding a function with parameter to the IDisableJwtRefreshToken service, which specifies the refresh token to revoke.

Hi @idan-h,
I'm working on the next release of the AuthP and I looked this JWT refresh token with two logins. My search hasn't found anyone who is asking for this feature and my solution would need a database migration.
You posed this as a logical problem, but you didn't describe a situation where this is feature is really used. For this reason I'm going to release a new version without this issue because it has many useful features / fixes.

Hey, #60 solves it without the recursive part (it might be unnecessary), just by adding option to specify the token.


Parsing of v4l::format::Description.description is incorrect

Formats with names such as YUYV 4:2:2 appear as "YUYV 4:2:2\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}UYV"instead. I think this is because the parsing is not stopping at the first nul byte.

I cannot reproduce this on Fedora 32 (Linux 5.7.11).
Can you provide a minimally reproducible example?
This is the code I was testing:
extern crate clap;
extern crate v4l;

use clap::{App, Arg};
use v4l::prelude::*;

fn main() {
    let matches = App::new("v4l device")
        .version("0.2")
        .author("Christopher N. Hesse<EMAIL_ADDRESS>        .about("Video4Linux device example")
        .arg(
            Arg::with_name("device")
                .short("d")
                .long("device")
                .value_name("INDEX or PATH")
                .help("Device node path or index (default: 0)")
                .takes_value(true),
        )
        .get_matches();

    // Determine which device to use
    let mut path: String = matches
        .value_of("device")
        .unwrap_or("/dev/video0")
        .to_string();
    if path.parse::<u64>().is_ok() {
        path = format!("/dev/video{}", path);
    }
    println!("Using device: {}\n", path);

    let dev = CaptureDevice::with_path(path).expect("Failed to open device");
    let formats = dev.enum_formats().expect("Failed to enumerate formats");

    println!("Formats:");

    for format in formats {
        println!("{:#?}", format);
    }
}

The {:#?} print modifier should show any stray null character bytes.

I mentioned in my example that I found this bug by testing a v4l2loopback device. This device does not have any capture formats available until something starts sending output to it, so running this example against that device actually causes a panic (which I don't think is correct; having no available capture formats is not necessarily an error).

 Here's my minimal reproducible example:
extern crate clap;
extern crate v4l;
extern crate libc;

use clap::{App, Arg};
use v4l::prelude::*;
use v4l::{v4l2, v4l_sys};

fn main() {
    let matches = App::new("v4l device")
        .version("0.2")
        .author("Christopher N. Hesse<EMAIL_ADDRESS>        .about("Video4Linux device example")
        .arg(
            Arg::with_name("device")
                .short("d")
                .long("device")
                .value_name("INDEX or PATH")
                .help("Device node path or index (default: 0)")
                .takes_value(true),
        )
        .get_matches();

    // Determine which device to use
    let mut path: String = matches
        .value_of("device")
        .unwrap_or("/dev/video0")
        .to_string();
    if path.parse::<u64>().is_ok() {
        path = format!("/dev/video{}", path);
    }
    println!("Using device: {}\n", path);

    let fd = v4l2::open(path, libc::O_RDONLY).expect("could not open device");
    println!("enumerating video output formats");

    println!("Formats:");

    let mut param: v4l_sys::v4l2_fmtdesc = unsafe { std::mem::zeroed() };
    param.type_ = v4l_sys::v4l2_buf_type_V4L2_BUF_TYPE_VIDEO_OUTPUT;

    while let Ok(()) = unsafe {
        v4l2::ioctl(
            fd,
            v4l2::vidioc::VIDIOC_ENUM_FMT,
            &mut param as *mut _ as *mut libc::c_void,
        )
    } {
        let fmt = v4l::format::Description::from(param);
        println!("\t{:#?}", fmt.description);
        println!("\t\tflags: {:#}", fmt.flags);
        println!("\t\tformat: {:#}", fmt.fourcc);
        param.index += 1;
    }
}

And here is the incorrect output that I get:
Using device: /dev/video2

enumerating video output formats
Formats:
        "YUYV 4:2:2\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}UYV"
                flags: (empty)
                format: YUYV

Where /dev/video2 is v4l2loopback device that I am streaming YUYV 4:2:2-formatted video into.

I mentioned in my example that I found this bug by testing a v4l2loopback device. This device does not have any capture formats available until something starts sending output to it, so running this example against that device actually causes a panic (which I don't think is correct; having no available capture formats is not necessarily an error).

Can you open a separate issue for that, again with a minimal example?
What you describe is a bug, it should just yield no formats, but not panic.

Closing for lack of further input.


Tagui Python: Is there a way to enter an iFrame which has neither and ID or a Name

Im currently trying to create an automation for a carting process using Python including the RPA library. I now want to enter an iFrame for the Payment automation but Tagui command c.frame(Id or name) requires an ID or Name to enter an iFrame. The Problem is my iFrame has no ID or Name attribute. I've already tried to do it with XPATH but it wouldn't work. Does anyone have an idea on how to solve this problem.

Hi @Jonsch-HTL you can try injecting an id or name to the iframe using DOM step, you can see the example here
For the actual RPA for Python syntax you can refer to https://github.com/tebelorg/RPA-Python for DOM step

Closing this issue due to inactivity, feel free to reopen.


fix: ignoring first version from config

Codecov Report

Merging #33 (e6e6594) into main (4164280) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #33   +/-   ##
=======================================
  Coverage   81.05%   81.05%
=======================================
  Files           5        5
  Lines         380      380
=======================================
  Hits          308      308
  Misses         58       58
  Partials       14       14

Impacted Files
Coverage Δ

internal/semver/bump.go
86.41% <100.00%> (ø)

Continue to review full report at Codecov.

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


Enable grouping for minibatch preprocessing

This PR enables grouping for the minibatch preprocessor module.
Other changes

Added install check test for special chars.
Improved error messages and created a reusable function for
testing column dimension in install check.
Added an optional flag to utils_ind_var_scales_grouping so as to
create a persistent x_mean table that will be reused as the
standardization table by the preprocessor module.
Added unittests for input_tbl_valid and output_tbl_valid in validate_args.py_in
Raise custom exception for mocked plpy error.

Co-authored-by: Jingyi Mei<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/418/


Time-cost

Hey，I find it will be veryyyyyyyyyyyy cost time if i set a slightly larger batch_num for this model in graphormer calculation phase for a total batch graph . One simple method to solve, i do , its use a loop do every single graph for graphormer calculation in  a batch ,then stack the results for final result for the batch.
I am a beginner in Torch , I would like to inquire if this method will affect the accuracy of the model ？  its actually faster in my task.
Thank you!

This method will for sure NOT affect the accuracy

Though i donnot keep in this question, thx for your reply very much！


Printing question with correct answer

If printing a question which has answers in the accordions, then these answers appear cut off on the bottom. This occurs on both Safari and Chrome on a mac.

The fix for issue #371 removes printing for correct and incorrect labels.


Translate README to English (#4, #5)

this PR implements issues
Fixes #4
Fixes #5
(with credit to @dehesselle )

I'm being pedantic with my review. I think we need at least one more iteration since I have collected quite a few remarks. I haven't cross-referenced everything between the English and the German version yet, that is something left to be done in the next iteration. So my focus is mainly the English version. (You'll probably have to fix them both at the same time.)

Maybe turn "#WirVsVirus" into a link to the hashtag on Twitter? e.g.  https://twitter.com/hashtag/wirvsvirus?lang=de
typo: "With the solution we provide, all devices in the environment are logged by your own device."
lose "service": "From a central server ~service~, device IDs..."
I don't like the "(!!!)". Text is already bold, please lose the exclamation marks.
missing asterisks: you wanted to make something bold in "no display of device IDs" but the closing asterisks are missing
Replace "We are happy about forks..." with something like "We gladly accept your contributions / pull requests."
Authors section: maybe sort by name since there is no implied ranking?
Authors section: is "baking" really a common term used in software development? (I Googled "software baking" and don't get relevant results.)
After having read it multiple times, I think the "patting ourselves on the back because we are so graciously offering this under MIT license" really needs to go. You can keep everything but the first sentence. To be clear: Begin with "We want to help fight this..." and lose the sentence before.
Lose the "A support can be done..." sentence. We've already explained above that we gladly accept contributions.

I agreee with your comments and have implemented all bullets.

Have a last look at the following and then you can merge away:

tagline (first line after top level heading) different between German and English version
remove "development status" from German version
WirVsVirus is not a link in German version
two bullet points below "Our idea" are missing the bold emphasis in German version
syntax error in the link to the architecture picture in English version (it's missing the leading exclamation mark)
"activated Bluetooth" missing in Client components in German version
remove "(!!!)" in German version
author list not sorted in both versions (not a requirement, I'm just noting because you didn't disagree with me on this)
"Für uns steht außer Frage" sentence still present in German version
privacy section: "**no display of device iDs or location of third-party devices!" missing asterisks" is still missing closing asterisks for bold emphasis

tagline (first line after top level heading) different between German and English version - fixed
remove "development status" from German version - fixed
WirVsVirus is not a link in German version -fixed
two bullet points below "Our idea" are missing the bold emphasis in German version - fixed
syntax error in the link to the architecture picture in English version (it's missing the leading exclamation mark) - fixed
"activated Bluetooth" missing in Client components in German version
remove "(!!!)" in German version - fixed
author list not sorted in both versions (not a requirement, I'm just noting because you didn't disagree with me on this) - Ladies first ;), but I agree with you
"Für uns steht außer Frage" sentence still present in German version - fixed
privacy section: "**no display of device iDs or location of third-party devices!" is still missing closing asterisks for bold emphasis - fixed


Mysql plugin crashes

# =========== Server Log =============
[01:02:40] [debug] Server crashed due to an unknown error
[01:02:40] [debug] Native backtrace:
[01:02:40] [debug] #0 f72e3180 in _Z13GetStackTraceRSt6vectorI10StackFrameSaIS0_EEPv () from plugins/crashdetect.so
[01:02:40] [debug] #1 f72db064 in _ZN11CrashDetect20PrintNativeBacktraceERSoRKN2os7ContextE () from plugins/crashdetect.so
[01:02:40] [debug] #2 f72dbd64 in _ZN11CrashDetect20PrintNativeBacktraceERKN2os7ContextE () from plugins/crashdetect.so
[01:02:40] [debug] #3 f72ddcdb in _ZN11CrashDetect7OnCrashERKN2os7ContextE () from plugins/crashdetect.so
[01:02:40] [debug] #4 f72e24d5 in ?? () from plugins/crashdetect.so
[01:02:40] [debug] #5 f76dcba0 in ?? ()
[01:02:40] [debug] #6 08095730 in ?? () from ./samp03svr
[01:02:40] [debug] #7 f6e7fff4 in ?? () from plugins/mysql.so
[01:02:40] [debug] #8 f6eaaf27 in ?? () from plugins/mysql.so
[01:02:40] [debug] #9 f6e928c8 in ?? () from plugins/mysql.so
[01:02:40] [debug] #10 f6e91db2 in ?? () from plugins/mysql.so
[01:02:40] [debug] #11 f6ebb867 in ProcessTick () from plugins/mysql.so
[01:02:40] [debug] #12 080d1ce2 in ?? () from ./samp03svr
[01:02:40] [debug] #13 080aef6c in ?? () from ./samp03svr
[01:02:40] [debug] #14 080aa13a in ?? () from ./samp03svr
[01:02:40] [debug] #15 f7324637 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
[01:02:40] [debug] Registers:
[01:02:40] [debug] EAX: f27097b0 EBX: f271d008 ECX: fffec770 EDX: 00000014
[01:02:40] [debug] ESI: ffffd8ee EDI: 00000008 EBP: ffdd1f98 ESP: ffdd1f70
[01:02:40] [debug] EIP: 08095730 EFLAGS: 00210246
[01:02:40] [debug] Stack:
[01:02:40] [debug] ESP+00000000: 0aea0750 029573f8 f6e4812b f717448c
[01:02:40] [debug] ESP+00000020: 0a27d160 00000001 ffdd2268 f6e7fff4
[01:02:40] [debug] ESP+00000040: 0aea0750 f6e7ffd6 f717448c f6e843d8
[01:02:40] [debug] ESP+00000060: 00dc6773 00000001 f76dc9e1 f271d008
[01:02:40] [debug] ESP+00000080: ffdd2044 00000002 0000000b 0a64b988
[01:02:40] [debug] ESP+000000a0: 09eec810 0aea075c 0a41a83c f72d414a
[01:02:40] [debug] ESP+000000c0: f7307ff4 00000000 0a63ed88 f72dddd7
[01:02:40] [debug] ESP+000000e0: ffffd8ee 0000003b ffdd20e8 00000001
[01:02:40] [debug] ESP+00000100: 00000000 f74be000 ffdd20e8 f742906c
[01:02:40] [debug] ESP+00000120: 0022c174 09edc609 09edba08 f7700d00
[01:02:40] [debug] ESP+00000140: ffdd2128 00000001 0a64b988 f7307ff4
[01:02:40] [debug] ESP+00000160: ffdd2164 f7308660 00000079 f76cc000
[01:02:40] [debug] ESP+00000180: 00000000 00000002 00000000 f722cb14
[01:02:40] [debug] ESP+000001a0: f76c8d67 00000000 09eda690 f76ec204
[01:02:40] [debug] ESP+000001c0: 0a64b988 00000000 029573f0 00037cec
[01:02:40] [debug] ESP+000001e0: 00037cec 00000020 09eda6a0 09eda698
[01:02:40] [debug] ESP+00000200: 0a64b988 ffdd21ac 0a63ed88 f72e148c
[01:02:40] [debug] ESP+00000220: 0a63ed88 0a64b988 ffdd222c f52a4fcc
[01:02:40] [debug] ESP+00000240: f0a00010 f74be000 ffdd2200 00000000
[01:02:40] [debug] ESP+00000260: 00000015 00000093 00000001 00000000
[01:02:40] [debug] ESP+00000280: f74be780 f74be000 f7379a00 00000000
[01:02:40] [debug] ESP+000002a0: f74be780 f74be000 00000018 00000000
[01:02:40] [debug] ESP+000002c0: 0a46e5a0 081a1990 ffdd2298 f75a2d88
[01:02:40] [debug] ESP+000002e0: 0a2f60d8 efe029e0 f6e82eab f717448c
[01:02:40] [debug] ESP+00000300: 0a429aec f0a00890 ffdd22a8 f6eaaecd
[01:02:40] [debug] ESP+00000320: efe020c8 f75e8f26 f6eaae8b f717448c
[01:02:40] [debug] ESP+00000340: 0a3f7068 ffdd22c8 f7379a99 f76a7000
[01:02:40] [debug] ESP+00000360: efe020c8 ffdd2350 f6e9287b f717448c
[01:02:40] [debug] ESP+00000380: 0a3f7064 ffdd2350 f76b3819 f6e9224c
[01:02:40] [debug] ESP+000003a0: f0a00640 f0a00630 00000003 00000000
[01:02:40] [debug] ESP+000003c0: ffdd2358 f76dc96f f6e932db f717448c
[01:02:40] [debug] ESP+000003e0: f0a008c8 00000000 ffdd23c8 f7400142
[01:02:40] [debug] Loaded modules:
[01:02:40] [debug] 00000000 - 00187dc3 samp03svr
[01:02:40] [debug] f76dc000 - f76dcd0b
[01:02:40] [debug] f76c8000 - f76caa04 /lib/i386-linux-gnu/libdl.so.2
[01:02:40] [debug] f76ab000 - f76c66ef /lib/i386-linux-gnu/libpthread.so.0
[01:02:40] [debug] f7534000 - f76b4b4b /usr/lib/i386-linux-gnu/libstdc++.so.6
[01:02:40] [debug] f74df000 - f7533010 /lib/i386-linux-gnu/libm.so.6
[01:02:40] [debug] f74c2000 - f74de1e4 /lib/i386-linux-gnu/libgcc_s.so.1
[01:02:40] [debug] f730c000 - f74c891b /lib/i386-linux-gnu/libc.so.6
[01:02:40] [debug] f76dd000 - f77005d8 /lib/ld-linux.so.2
[01:02:40] [debug] f72c5000 - f7307ac4 plugins/crashdetect.so
[01:02:40] [debug] f7207000 - f72c539a plugins/streamer.so
[01:02:40] [debug] f71fe000 - f7205714 /lib/i386-linux-gnu/librt.so.1
[01:02:40] [debug] f71ee000 - f71fd1d4 plugins/sscanf.so
[01:02:40] [debug] f6e5e000 - f71f33de plugins/mysql.so
[01:02:40] [debug] f6e3a000 - f6e5dd32 /clients/reval/revalgaming.eu/samp/plugins/../log-core.so
[01:02:40] [debug] f5e25000 - f5e362ec /lib/i386-linux-gnu/libnss_files.so.2
[01:02:40] [debug] f76d4000 - f76d72cc plugins/MerRandom.so
[01:02:40] [debug] f5e19000 - f5e22918 plugins/whirlpool.so
[01:02:40] [debug] f5ac9000 - f5d06854 plugins/YSF.so
[01:02:40] [debug] f76cd000 - f76d1a38 /lib/i386-linux-gnu/libnss_dns.so.2
[01:02:40] [debug] f1d08000 - f1d1f494 /lib/i386-linux-gnu/libresolv.so.2
# ==================== Log-Core ========================
[01:02:40] [ERROR] signal 11 (SIGSEGV) catched; shutting log-core down (errno: 0, signal code: 1, exit status: -146022400)
# ===================== Mysql Log =======================
[01:02:40] [INFO] query "SELECT * FROM s_seaded WHERE uid = 3" successfully executed within 0.134 milliseconds
[01:02:40] [DEBUG] CResultSet::Create(connection=0xa339630, query_str='SELECT * FROM s_seaded WHERE uid = 3')
[01:02:40] [DEBUG] created new resultset '0xefe022f0'
[01:02:40] [DEBUG] fetched MySQL result '0xefe025c8'
[01:02:40] [DEBUG] allocated 124 bytes for PAWN result
[01:02:40] [DEBUG] CConnection::Execute(query=0xa3f6014, this=0xa51df98, connection=0xa339630)
[01:02:40] [DEBUG] CQuery::Execute(this=0xa3f6014, connection=0xa339630)
[01:02:40] [INFO] query "INSERT INTO y_log_player (sqlid, sqlid2, nimi, nimi2, tyyp, text, pid, kuupaev, kell) VALUES ('1', '-1', 'Mathis_Frost', 'puudub', '3', '{D1CC43}TELEFON:{AAADAD} Sul ei ole ühtegi lugemata sõnumit!', '0', CURDATE(), CURTIME())" successfully executed within 0.79 milliseconds
[01:02:40] [DEBUG] CResultSet::Create(connection=0xa339630, query_str='INSERT INTO y_log_player (sqlid, sqlid2, nimi, nimi2, tyyp, text, pid, kuupaev, kell) VALUES ('1', '-1', 'Mathis_Frost', 'puudub', '3', '{D1CC43}TELEFON:{AAADAD} Sul ei ole ühtegi lugemata sõnumit!', '0', CURDATE(), CURTIME())')
[01:02:40] [DEBUG] created new resultset '0xefe000a0'
[01:02:40] [DEBUG] fetched MySQL result '0x0'
[01:02:40] [DEBUG] CCallback::Execute(amx=0xa64b988, index=-10002, num_params=1)

Could you please show some more lines from the plugin log file?

Well, its currently grown too big, but i will delete it at the moment, it crashes time to time, not at server start, but in randomly. I searched alot yesterday, one guy spoke something about if you send multiple queryes, that then the plugin crashes, could that be the problem, currently if player logs in i load data from two tables at the same time.
Like that:
mysql_format(db, string, sizeof(string), "SELECT * FROM s_settings WHERE uid = %i", PlayerInfo[playerid][ForumID]);
mysql_tquery(db, string, "LoadSettings", "i", playerid);
mysql_format(db, string, sizeof(string), "SELECT * FROM f_items WHERE characterSQLID = %i", PlayerInfo[playerid][SQLID]);
mysql_query(db, string, "LoadItems", "i", playerid);

No, sending multiple queries is absolutely fine.
The PAWN callback index seems faulty, which is kind of weird. That's why I need more log output, to see which callback exactly that is and what query was sent.

[01:02:40] [debug] #4 f72e24d5 in ?? () from plugins/crashdetect.so
Isn't it the crashdetect plugin that crashed the mysql plugin + the samp server? I've had it frequently that the crashdetect plugin crashed my server

No, the crashdetect plugin just installed crash handlers, which are called in case of a fatal error. That's why the stack trace shows the crashdetect plugin.
The actual crash likely happened here:
[01:02:40] [debug] #6 08095730 in ?? () from ./samp03svr

The next call would be likely an abort() call or something similar, and this functions invokes all crash handlers previously installed.

Likely the same problem as in #189.


Update stay-up-date-with-customer-news-with-activity-feed.md

Added custom activity limitation in a NOTE section

I took to live via my working branch.


navRewind is not working on beta 2.4

I'm using Owl Carousel beta 2.4, but it's not rewinding as it reaches the last slide. That's my code:
var owl1 = $("#carousel1");

	owl1.owlCarousel({
		items: 1,
		dots: false,
        navRewind: true,
		responsive:{
		    0:{
		        nav:false
		    },
		    768:{
		        nav:true,
		        navRewind: true,
				navText: ['',''],
				navContainer: '#carousel1'
		    },
		    992:{
		        nav:true,
		        navRewind: true,
				navText: ['',''],
				navContainer: '#carousel1'

		    },
		    1200:{
		    	nav:true,
		        navRewind: true,
				navText: ['',''],
				navContainer: '#carousel1'
		    }
		}
	});

Same here.

Found a weird solution: set the parameter slideBy to 'page'. E.g. slideBy : 'page'

Awesome, thanks, that worked.

What about with beta 3?

Did you try the same thing?

No, I didn't -- this was just (and too subtle) my nice way of telling you that I thought this was fixed in beta 3 which has been out since June :)
I set up a test case and confirmed that it is fixed, so I'm going to close this. You can get the newest version from Bower or from the website -- http://smashingboxes.github.io/OwlCarousel2/ (we're working on getting the other one pointed to this domain)
Two important note for when you upgrade to beta 3:

You need to include the owl-theme class on your carousel (or write your own css for how you want things to look, which you might already have done since you have the custom chevrons)
The navRewind property was renamed to be rewind so you will need to change that in your script in all four places.

Let me know if you have any other questions.


#2610 #3356

#3356 Crash on create new remote workspace

We really should not be throwing Win32 exceptions. Complete rework is out of question in Release/1_0 so I plumbed console output in one place and direct message box in another. Unfortunately, passing down ICoreShell is way too big change. Also, UI is frozen for localization, so reusing message from Core.

#2610 Snippets are not respecting trailing spaces

just check for standalone operator and bypass formatting

:shipit:


Adding Replica support to Secrets

Adding Replication Support so that we can replicate to other regions.

@lgallard  Please review whenever you can. Thanks

@ppapishe Thanks for your PR. LGTM. I'll merge as soon as possible!!

@ppapishe your changes are available on version 0.6.0. Thanks for you PR!!


Relative paths cause Coverage.analysis() to say that all lines are un-executed

Describe the bug
When the relative_paths options is used for running coverage, the data file correctly contains relative paths, but if you then try to use Coverage("/somewhere/.coverage").analysis("/somewhere/file.py") it will only work if Python's working directory is the /somewhere/ directory, otherwise it will tell you that none of the lines have been executed.
To Reproduce
Using this config, saved as "myconfig":
[run]
relative_files = True

[paths]
source =
	/absolute/path/to/project/
	# You would probably have other paths here, such as the path to the files when they're inside a
	# Docker container, hence your reason for using relative paths, but those other paths aren't
	# required to reproduce this issue.

Run:
cd /absolute/path/to/project/
coverage run --rcfile=myconfig my_tests.py

Check the data file to ensure that the saved file paths in the sqlite file are relative:
sqlite .coverage
> SELECT * FROM file where path='relative/path.py';
118|relative/path.py

Running coverage report --rcfile=myconfig works perfectly. (But note that it only works with the config, because without the [paths] part of the config, the relative paths in the sqlite DB don't get mapped back correctly, even though the paths in the sqlite DB are relative to the current directory.)
Now try to use the Coverage class to get the analysis for that file:
from coverage import Coverage
cov = Coverage(
    data_file="/absolute/path/to/project/.coverage",
    config_file="/absolute/path/to/project/myconfig"
)
cov.load()
print(cov.analysis("/absolute/path/to/project/relative/path.py"))

This will work only if it's executed with /absolute/path/to/project/ as Python's current working directory. If you try to execute that Python code from anywhere else (e.g. inside an editor plugin!) then it won't work, but will instead report every line in the file as being not executed.
If you're running your tests inside a Docker container (with the directory that contains your python files being linked with a Docker volume) then when the tests are run, the python files are on a different path to when they're in your code editor. So I was hoping that some combination of the relative_files flag and the [paths] sources configuration would allow me to run my tests inside Docker and then have my editor pick up the .coverage file and show me the coverage in the editor. But after many hours of trying every possible combination, it seems that there isn't a way to have:

Files stored at /path/A/,
those files executed with coverage when they're located in /path/B/,
Coverage(".coverage").analysis(file_path) run when Python's working directory is /path/C/ when the files are at /path/A/,
and the result be correct.

Python version: 3.8.7
Coverage version: 5.5
If there's a workaround for this that I haven't found then I'd love to know what it is, but if not then it seems like a bit of a limitation for what I'm hoping isn't an entirely unusual use case!
Thanks for the great tool.

I'm having trouble reproducing what you are seeing. Can you provide a more complete example, including the code being run?  I created a "relative/foo.py" file to import, but "coverage report" works fine with or without the rcfile specified, so I don't think I have it right yet.

Feel free to re-open this if you get more information.


add repo to url

Codecov Report

:exclamation: No coverage uploaded for pull request base (helm-dashboard-v2@10c9516). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@                 Coverage Diff                  @@
##             helm-dashboard-v2     #407   +/-   ##
====================================================
  Coverage                     ?   30.04%
====================================================
  Files                        ?       10
  Lines                        ?     1348
  Branches                     ?        0
====================================================
  Hits                         ?      405
  Misses                       ?      902
  Partials                     ?       41

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Propagate cost and tokens

Modifies the SDK to propagate the cost and tokens along the tree.
Untested. Please QA

Thanks for the review @aybruhm . I have fixed the issue.

@aybruhm I think you've missed this. The PR is ready for review.


Implement clark controller

Clark controller would give us simple controller to use to test contact detection, state estimation, etc. before development of MPC controller is complete

Done, see open_loop_controller


cmd/cover, x/tools/cover: Remember current file in Go Cover when reloading

Go Version: 1.4.2 linux/amd64
Operating System: Ubuntu
What did you do: Run GoCover and view HTML report, switch file, then refresh page
What did you expect: Update the report with newest version, but remain on selected file
What did actually happened: Updated the report with newest version, but returned to alphabetically first file.
In the HTML UI for Go Cover, remember what page the user was viewing when the page is refreshed. This is useful when builds are being run automatically and the user wants to see what has changed in the coverage report.
This was originally a discussion I started in the Golang-Nuts forum.

Let me know if this issue belongs elsewhere. I didn't see a separate issue tracker for the gocover tool

Assigning to @adg, who wrote the UI. If it's easy to fix, that would be fine with me, but if it requires a lot of work it wouldn't be worthwhile.

This appears to be resolved with https://github.com/golang/go/commit/98abf2937e42d560f0a8ba3c9e5bd5351c5316e6 in go1.6.   Nice!


increase test coverage of NativeModule

Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.62%. Comparing base (4ca09c2) to head (e208793).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #590      +/-   ##
==========================================
+ Coverage   88.54%   88.62%   +0.08%
==========================================
  Files         109      109
  Lines       34905    34975      +70
==========================================
+ Hits        30906    30997      +91
+ Misses       3999     3978      -21

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


Use ESLint

Sometimes it'd be nice for something to spot missing semicolons or double quotes for us
Should we enforce a maximum line length? lol
You can approve the linter settings after merging I guess

How do you make changes so quickly

How do you make changes so quickly

Commit frequently? lol


[OSCI] Fix Typo in wiki/consuming.md

Description
This change fixes a simple typo in wiki/consuming.md.
Issues Resolved
Because this was a simple spelling error, I did not raise a dedicated issue for it.
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[x] All tests pass

[x] yarn lint
[x] yarn test-unit

[ ] Update CHANGELOG.md
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Skip changelog since the change is a single word


add annotation to overlap plot

Description
Annotate overlap plot to make it easier to degub high uncertainty estimtes
Status

[ ] Ready to go

Codecov Report

Merging #49 (f57ba46) into master (0b23a2e) will not change coverage.
The diff coverage is 0.00%.


[Nitpick] Velocity speed mods don't seem to calculate properly during courses. [BUILD: 20240321]

Game Mode
dance
Give an example of what is wrong
I'm not sure if this might be the case, but it seems like when MMod (or AMod) is used during a course with songs of varying BPM, it functions as if the whole course is one song. It gets worse if songs are randomized and/or hidden with "noshowcourse", it seems like the game has difficulties calculating BPM before the random songs play in the course.
Example: If I have MMod set to 600 and the first song is 100BPM in the course, if the lowest and highest BPM in the course were to be 50 and 300, respectively, I would have a 200BPM scroll speed for the first song, despite my settings.
Give an example of what it should look like
Velocity speed mods, when used in courses, should properly function per song instead of the whole span of the course.

I believe speed mods are intended to be per-course. However, as an advocate of accessibility, I feel like we could all be happy with the addition of two features:

A metric option #COURSESPEEDMODISPERCOURSE, which is 0 for current behavior, and 1 for the behavior that OP wants.
A course option #PLAYERSPEEDMODISPERCOURSE, which is similar to above, but allows course designers to override default behavior if (like me) they want to enforce the current behavior.


How can we know what are the supported options?

Search terms

compatibility
supported typescript version
previous package versions for maximumly supported typescript version

Question
The title says it all. I'm surprised I could not find this information anywhere. Is everyone using the latest TypeScript versions? I'm still stuck in 3.8.3 due to performance issues in Visual Studio Code IntelliSense.

I've updated the site with a table. Unfortunately, before 0.19, we weren't good about listing what versions were actually supported, only listing the minimum version, so going back further than that would require manually testing versions... 0.18 should work for 3.8.4, but I'm not sure about other versions.