[BACKLOG-16027] Slimming the Row api

Removing methods requiring metadata.
http://jira.pentaho.com/browse/BACKLOG-16027

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f pdi-engine/api/pom.xml clean install && mvn -B -f pdi-engine/api/pom.xml site
mvn -B -fn -f pdi-engine/serializers/pom.xml clean install && mvn -B -f pdi-engine/serializers/pom.xml site

Cleanup Commands
mvn -B -f pdi-engine/api/pom.xml build-helper:remove-project-artifact && mvn -B -f pdi-engine/serializers/pom.xml build-helper:remove-project-artifact

Changed files
  pdi-engine/api/src/main/java/org/pentaho/di/engine/api/model/Row.java
  pdi-engine/serializers/src/main/java/org/pentaho/pdi/engine/serializers/DataEventSerializer.java
  pdi-engine/serializers/src/main/java/org/pentaho/pdi/engine/serializers/DeserializedRow.java
  pdi-engine/serializers/src/test/java/org/pentaho/pdi/engine/serializers/DeserializedRowTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.pdi.engine.serializers.DataEventSerializer.new JsonSerializer() {...}

Instruction Change: -.10%:small_red_triangle_down:

org.pentaho.pdi.engine.serializers.DeserializedRow

Complexity Change: -17.62%:small_red_triangle_down:
Instruction Change: -7.01%:small_red_triangle_down:
Line Change: -3.95%:small_red_triangle_down:
Method Change:  + 8.00%


fix typo in classname, make class internal only

Codecov Report

Merging #19 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   62.36%   62.36%
=======================================
  Files           6        6
  Lines         186      186
=======================================
  Hits          116      116
  Misses         70       70

Impacted Files
Coverage Δ

relay_commander/redis.py
80.43% <100%> (ø)
:arrow_up:

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 745cf8a...c240533. Read the comment docs.


Problems with session startup and resumption

Windows Terminal version
1.18.3181.0
Windows build number
10.0.19045.0
Other Software
No response
Steps to reproduce

In Terminal settings, Default terminal application is Windows Terminal, Launch on machine startup is On, When terminal starts is set to Open windows from a previous session, and New instance behaviour to Create a new window.

Expected Behavior
My expectation would be that restoration of the previous session should apply only to the first Terminal instance (be it at machine startup or subsequently). Any further explicitly opened instances should open a tab with the default profile, whereas any instances opened to house an application that was launched explicitly should simply have a single tab for that application.
Actual Behavior
Initial startup is as expected (for the most part, see caveat below), however I'm seeing strange behaviour following that. With a single instance of Terminal open, if I attempt to launch any console application (cmd.exe, PS, or a console program launched via Visual Studio debugger), that application will open in a new Terminal window as expected, but alongside it a further Terminal window will be opened populated with tabs based on the prior session (so to clarify, I end up with 3 windows: the original session, a duplication of it, and the opened application).

The above does not occur when explicitly opening Terminal.
The above does not occur when I already have more than a single Terminal session open.

Regarding above noted caveat. It's not clear exactly how Terminal decides/updates what constitutes the previous session, but it seems far too easy for what I want to be considered my previous session to get replaced. Perhaps it's just based on the last window to be closed down? I really need some way to mark my 'main' session so that I don't end up losing the layout as a result of having at some point opened a secondary session. In particular, the fact that a session resulting from a request to open cmd.exe or similar directly can end up overwriting my Terminal layout restoration seems wrong.

Can I contribute?

Hmm. You wouldn't happen to be launching the Terminal as admin at any point in all this, would you? There's separate persisted state for each of those two instances, so that might be at play here/?
Sounds like there's something weird going on with defterm here, since it's like the defterm launch is then also triggering another state restore?
I'd reckon this may almost be related to #15509? Or maybe, more horrifyingly, there's an interplay here between defterm, session restore, and refrigeration. I coulda swore we had a better dupe somewhere for "a defterm session seemingly can't communicate with the existing WT process", but I can't find that.
Just to confirm - do you only have one version of the Terminal installed? (e.g. only Stable, not also Preview)

Not opening as admin, no.
I've tested a bit and found that I don't see this behaviour on my laptop running Windows 11, but only on my other machine running Windows 10, on which I believe I updated the version of Windows Terminal at some point.
As far as I'm aware I only have a single version installed. I'm not too familiar with update process for Windows apps/Powershell though. Are there any commands you suggest I run to verify that the installations are as they should be?

I need to go dedupe the set of

#16487
#16557
#16561

Seems like there's something up with the way Windows 10 restores the Terminal... we restore the session, but then a subsequent launch of the Terminal also tries to restore. Weird.

Details in #16732 make me think that this is less related to Start on Login and more related to defterm accidentally triggering a session restore.

Note to self: Go look at https://github.com/microsoft/terminal/pull/16598#discussion_r1543634396

holy sh--, multi-window restore starts WindowsTerminal.exe which then gets a handle to our Monarch and sends it a commandline.
What the heck.
We could just... use Monarch directly here. I know you didn't write this code but I think we missed it when we migrated to single-proc.


Request to expose command to collapse/expand all cell inputs in interactive window

I really like that you provided the collapse functionality, currently as clickable button.  I would like to associate it with a shortcut key but I cannot find the associated command.  Could you please provide one.
Also please consider changing the behavior of the collapse all cell inputs.  If you can do it I think it makes more sense in terms of work flow to have new cells respect the setting.  Currently any new cells that are added turn off the setting and show the input.
I am on Windows 10 with the latest VS Code and Python extension updates and running Python 3.7.
Thanks again for the very nice extension.

Is there a way to keep cells expanded by default?

Is there a way to keep cells expanded by default?

Is there a way to keep cells expanded by default?
@juliuscrn , yes there is. See his bug here:
https://github.com/microsoft/vscode-jupyter/issues/3598

Is there a way to keep cells expanded by default?
@juliuscrn , yes there is. See his bug here:
https://github.com/microsoft/vscode-jupyter/issues/3598


fix compile error and optimize code

Fix compile error on function closestColor and optimize the codes. Hope I don't get the idea wrong.
According to the comment, the default scaling config doesn't match. Fixed it.

Looks good, did you test it?

Tested the code by mocking colorRead function. I don't have a sensor for now.

Thanks for the contribution!


Remove unused files and potentially dead code from Q4 revamp work

There are some unused files from the old plate components still hanging around, for example. I'd suggest greping for anything related to plates that have been removed or combined, like:

Ecoregions
Geology
Freezing/Thawing Index
Heating Degree Days
Snowfall

There may also be some dead code we haven't caught yet.

Closed by #230.


Deploy startup-sample-project-aws-virtual-machines apps

Describe
Similar to task #1442, this task is to deploy:

startup-sample-project-aws-virtual-machines

The goal is to lean how to install these apps and then use them in the process of verifying the SEA upgrade/updates.
Definition of done

install the apps
Document the process
Identify the tokens required to build the app in AWS
Identify the url that allows access to the app

Let's leave this out for now and focus on the containers app for now for the tests.  Once we have a pattern that is stable there, it should be easy to crack open the app.

Change in the title is due to sample containers app already installed, deployed and documented

Virtual machines sample apps is not going to happen, so this ticket makes no sense


writeScriptBin, writeShellScriptBin: add meta.mainProgram automatically

Description of changes
Specify meta.mainProgram automatically for derivations build with writeScriptBin and writeShellScriptBin.
The script $out/bin/$name is the sole executable in the package. It makes perfect sense to specify meta.mainProgram with name.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

but .. why?

Aside from making nix run just work, some utilities such as NixOS/bundlers would try look for meta.mainProgram.

Doesn't nix run already work since it uses name? same for bundlers it seems

But it may guess wrong, especially when the name contains -[0-9].
❯ nix run path:.#hello-4y
error: unable to execute '/nix/store/8hwh0frz9yf3gblx3abh1364c8xff5r6-hello-4y/bin/hello': No such file or directory

I admit that it's a kind of edge cases. Not sure if it's notable enough to be considered by the builder. But it's also trivial to add.

#234454


Error: Cannot read property 'find' of undefined

Since one or two weeks ago the dependency check extension from the Visual Studio Marketplace in the Azure DevOps pipeline throws an error during the dependency analysis process.
Here is the output:
2023-01-04T12:59:13.0269570Z ##[section]Starting: Dependency Analysis with OWASP
2023-01-04T12:59:13.0283323Z ==============================================================================
2023-01-04T12:59:13.0283724Z Task         : OWASP Dependency Check
2023-01-04T12:59:13.0284322Z Description  : Dependency Check is a Software Composition Analysis (SCA) tool that attempts to detect publicly disclosed vulnerabilities contained within a project's dependencies.
2023-01-04T12:59:13.0285135Z Version      : 6.0.4
2023-01-04T12:59:13.0285380Z Author       : Dependency Check
2023-01-04T12:59:13.0285778Z Help         : More Information
2023-01-04T12:59:13.0286248Z ==============================================================================
2023-01-04T12:59:13.3736220Z Starting Dependency Check...
2023-01-04T12:59:13.3767177Z Setting report directory to /home/vsts/work/1/TestResults/dependency-check
2023-01-04T12:59:13.3768882Z Creating report directory at /home/vsts/work/1/TestResults/dependency-check
2023-01-04T12:59:13.3777514Z Downloading Dependency Check latest installer from GitHub..
2023-01-04T12:59:13.5269108Z Cannot read property 'find' of undefined
2023-01-04T12:59:13.5277399Z ##[error]Cannot read property 'find' of undefined
2023-01-04T12:59:13.5284090Z ##[error]Unhandled error condition detected.
2023-01-04T12:59:13.5288010Z Ending Dependency Check...
2023-01-04T12:59:13.5313229Z ##[section]Finishing: Dependency Analysis with OWASP
Does anyone have an idea why this error gets thrown or is this version just not supported anymore?

Sounds like an error message of the market place extension when trying to download version 6.0.4 of the CLI.
But dependencycheck 6.0.4 is massively outdated and unsupported, so even if the extension would succeed in downloading that version any error you would run into for dependencycheck would result in 'please retest with a recent version'
Also note that if your project uses any of the build tools for which an ODC build-tool integration exists (maven, gradle, ant, sbt) you'll get much better results with that build-tool integration than with the CLI version which is what the marketplace extension runs.
The CLI version is more of 'last resort' for when there is no build tool integration and requires you to ensure that all the dependencies of your project are present in the folder structure that you scan as it will just scan the files found and not analyze the dependency tree (which the tool integrations will do, using plugin-APIs of the build tool to obtain the (transitive) dependency information directly from the build tool)

I'm getting the same error with the latest version:
Starting: Run dependency security checks
Task         : OWASP Dependency Check
Description  : Dependency Check is a Software Composition Analysis (SCA) tool that attempts to detect publicly disclosed vulnerabilities contained within a project's dependencies.
Version      : 6.1.3
Author       : Dependency Check
Help         : More Information
Starting Dependency Check...
Setting report directory to /azp/_work/16/s/depedancy-check-results/
Creating report directory at /azp/_work/16/s/depedancy-check-results/
Downloading Dependency Check latest installer from GitHub..
Cannot read property 'find' of undefined
##[error]Cannot read property 'find' of undefined
##[error]Unhandled error condition detected.
Ending Dependency Check...
Finishing: Run dependency security checks

I'm researching this same issue. The version 6.0.4 above applies to the Azure Marketplace extension version, not the dependency check version. The Azure Marketplace extension downloads the lastest dependency-check version from GitHub.
As mentioned in this issue, it could be that we're hitting GitHub rate limits when trying to download the latest dependency-check version.


Jade doesn't accept tags with more than 2 attributes?

Hello there, I'm using PyJade with Flask and Jinja2.
Perhaps I'm missing something obvious, but PyJade throws an exception when more than two attributes are used in a tag.
For example, the following Jade code works correctly:
Example 1:
link(rel="stylesheet" href="theme.css")

Example 2:
link(type="text/css" href="theme.css")

Example 3:
link(attribute1="value1' attribute2="value2')

However, the following examples throw an exception:
Example 1:
link(rel="stylesheet" type="text/css" href="theme.css")

Example 2:
link(attribute1="value1' attribute2="value2' attribute3="value3')

For this example:
link(rel="stylesheet" type="text/css" href="theme.css")

The traceback is as follows:
Traceback (most recent call last):
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/fots/webdev/flaskage/application/views/flaskage.py", line 23, in pyjade
    return render_template('index.jade')
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/flask/templating.py", line 127, in render_template
    return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list),
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/jinja2/environment.py", line 830, in get_or_select_template
    return self.get_template(template_name_or_list, parent, globals)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/jinja2/environment.py", line 791, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/jinja2/environment.py", line 765, in _load_template
    template = self.loader.load(self, name, globals)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/jinja2/loaders.py", line 125, in load
    code = environment.compile(source, name, filename)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/jinja2/environment.py", line 554, in compile
    self.handle_exception(exc_info, source_hint=source)
  File "/home/fots/.virtualenv/flaskage/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/fots/webdev/flaskage/application/templates/index.jade", line 1, in template
    link(rel="stylesheet" type="text/css" href="theme.css")
TemplateSyntaxError: expected token ')', got 'href'

Any help would be greatly appreciated :smile:
Cheers
Fotis

I'm afraid this issue still exists in v3.0.0
$ echo 'link(rel="stylesheet" type="text/css" href="site.css")' | pyjade -c html
<link rel="stylesheet"/>

@syrusakbary


Multi regex and matching-rule any reporting failure even though there should be a match.

Data file:
foobar1: 1
foobar1: 2
bar2: 3

Schema file:
type: map
matching-rule: 'any'
mapping:
  regex;([1-2]$):
    type: int
  regex;(^foobar):
    type: int

I would assume that 'bar2' would pass using the matching-rule any.  However, I am getting the below failure message:
ERROR - validation.invalid
 ERROR -  --- All found errors ---
 ERROR - [u"Key 'bar2' does not match any regex '^foobar' or '[1-2]$'. Path: ''"]
Traceback (most recent call last):
  File "/Users/me/.venv/pykwalify/bin/pykwalify", line 9, in <module>
    load_entry_point('pykwalify==1.4.1', 'console_scripts', 'pykwalify')()
  File "build/bdist.macosx-10.10-intel/egg/pykwalify/cli.py", line 84, in cli_entrypoint
  File "build/bdist.macosx-10.10-intel/egg/pykwalify/cli.py", line 71, in run
  File "build/bdist.macosx-10.10-intel/egg/pykwalify/core.py", line 157, in validate
pykwalify.errors.SchemaError: <SchemaError: error code 2: Schema validation failed:
 - Key 'bar2' does not match any regex '^foobar' or '[1-2]$'. Path: ''.: Path: '/'>

Output is from branch 'regex_fix_and_test' which is in pull request #24.

@Grokzen I think I found the issue.  Doing some debugging I found that sub_regex_result was not populated with the expected results:
Key: foobar2
Match bool: [True, False]
Key: foobar1
Match bool: [True, False]
Key: bar2
Match bool: [False, False]  <<<<< Should be [True, False]
 ERROR - validation.invalid
 ERROR -  --- All found errors ---
 ERROR - [u"Key 'bar2' does not match any regex '[1-3]$' or '^foobar'. Path: ''"]

I changed line 473 of  core.py from a re.match to re.search:
regex_mappings = [(regex_rule, re.search(regex_rule._map_regex_rule, str(k))) for regex_rule in rule._regex_mappings]
                               ^^^ was re.match

and got the following results.
Key: foobar2
Match bool: [True, True]
Key: foobar1
Match bool: [True, True]
Key: bar2
Match bool: [False, True]  <<<<< Expected results
 INFO - validation.valid

This is due to the behavior of match vs search.  Match only looks at beginning of string whereas search finds first match anywhere in string.
I can include a fix for this issue and some success unit tests to cover this check in PR 26.  This makes sense to me as that PR is already touching that area of the code.  Thoughts @Grokzen?


Server not starting

Hi, I'm getting the same error as described for fedora. I'm running ubuntu 16.04.
when I try to start the server I get:
Traceback (most recent call last):   File "/home/artis/.blink/bluetooth_server.py", line 25, in <module>     profiles         = [ SERIAL_PORT_PROFILE ]   File "/usr/lib/python2.7/dist-packages/bluetooth/bluez.py", line 176, in advertise_service     raise BluetoothError (str (e)) bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')
This happens when I run sudo ~/.blink/bluetooth_server.py and also when I run sudo /usr/bin/python2.7 ~/.blink/bluetooth_server.py any idea?

Got the same error running Debian Jessie. Managed to fix it by following the instructions in the Permissions Issues section of the README.md file. The only catch was that the bluetooth.service file wasn't located at /usr/lib/systemd/system/. In my system I ended up editing the file:
/lib/systemd/system/bluetooth.service

Just ran into this very same issue on Fedora 27.
It's a little disconcerting that this bug has been around for almost 2 friggin years...

Chiming in here, running into the same problem.

Yeah, sorry guys there isn't much I can do about this. It comes down to the default permissions for Bluetooth on Linux. It is fairly restrictive, and for good reason. Linux systems do not grant permissions to scripts that try to access it by default.
You will most likely need to find the service file and update it with the mentioned value.
Most Linux distro's you can use locate to find the file for your system. locate bluetooth.service, which should reveal the directory the file can be found in.


Serialize all messages Middleware

Let's add a middleware in Remote, that allows us to serialize all messages.

We implemented something like this in our codebase. Some notes of our usage:

We only use it for Cluster actors.

We have many locally spawned actors and we are not interested in making their messages serializable. We just want them to be immutable.

Instead of serializing all messages, we serialize only a given percentage of them (based on a random dice roll).

This allows us to test both the cases of cluster actors being remote and being local.
If we were to serialize all messages, we could easily make a mistake by sending a mutable message and actually mutate it after sending; the error wouldn't show up in testing.

Instead of serializing/deserializing during receive, we actually do it during sending (we use Cluster.RequestAsync via our wrapper which does this).

We do it this way because our Cluster actors usually send Timer messages to self, and those again are not meant to be serializable.

In our RequestAsync implementation, we do this not just for the message sent, but also the response received, as both must be serializable.
We run the serialization chance at 50% for local dev, unit tests, and staging deployments. Only at production deployments, it is fully disabled. This allowed us to catch many issues that would only show up in production immediately in unit tests, without having to convert all our tests to be multi-member.

Excuse, me.
The Akka has next option.
akka {
  actor {
    serialize-messages = on
  }
}

https://doc.akka.io/docs/akka/current/serialization.html#verification


SAK-32269 Made tool title popup same height as tool menu item

@ottenhoff Sam, I've put you on this as reviewer as I know you're working on the NYU skin. If this clashes I can wait until you're done and fix it up.

Before:

After:


move function updated with forward and backward motion

The wheels have updated names with their positions FL, BL, FR, BR.

Why was this closed and the branch deleted?

Ahh, I didn't think this would delete my motiom branch, how can I submit it again? Same process?

Yeah, the same process I guess.

Accepting because this is holding other people back. @Johnobomb will address in a future update.

Reference Issue #9


[SPARK-21970][Core] Fix Redundant Throws Declarations in Java Codebase

What changes were proposed in this pull request?

Removing all redundant throws declarations from Java codebase.
Removing dead code made visible by this from ShuffleExternalSorter#closeAndGetSpills

How was this patch tested?
Build still passes.

Test build #3915 has started for PR 19182 at commit 3181f69.

Can one of the admins verify this patch?

Test build #3915 has finished for PR 19182 at commit 3181f69.

This patch fails to generate documentation.
This patch merges cleanly.
This patch adds no public classes.

Some of these 'throws' clauses may not be removable because they cause callers that catch the checked exception to fail to compile.
Removing "throws Exception" in tests isn't obviously helpful, because it means the signature has to change any time the tested code happens to throw a new checked exception. There's no API problem as nothing invokes these methods directly.
Private non-test methods, maybe.

@srowen makes perfect sense => rolled back all changes to tests + publicly exposed methods (those package private ones adjusted are on non-public classes).

Test build #3916 has started for PR 19182 at commit b69a20b.

Test build #3916 has finished for PR 19182 at commit b69a20b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

@srowen looks like we're all green :)

Ah OK one more subtle thing @original-brownbear  -- the code you see in org/apache/hive packages is, I believe, copied from Hive. Therefore it's probably best to leave it as-is because it makes it easier to update it if it hasn't varied at all from its source. Could you reverse those? otherwise looks OK.

@srowen done, all changes to org.apache.hive.* reverted :)

Test build #3921 has started for PR 19182 at commit cb8e80b.

Test build #3921 has finished for PR 19182 at commit cb8e80b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged to master


Publish on hex.pm

Currently the library can only be installed from GitHub, if I got it right.
Is there anything preventing from pushing it to hex.pm?

I think we are good to go and there is a pending discussion here too: https://github.com/elixir-makeup/makeup_demo/pull/7
Any blockers @ikarthee?

I am working on a fix for multiline comment issue. It's a small fix.
No issues as such. Was reviewing the pull request, found the multiline comment bug. I got busy at work and kept the fix pending.

@egze Closing this - package published on hex -  https://hex.pm/packages/makeup_json

Congrats and thanks on shipping @lkarthee!


get_iplayer: broken on aarch64-darwin

Describe the bug
get_iplayer produces errors after being called:
 get_iplayer --help
/nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/.get_iplayer-wrapped: line 26: package: command not found
/nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/.get_iplayer-wrapped: line 27: my: command not found
/nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/.get_iplayer-wrapped: line 28: my: command not found
/nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/.get_iplayer-wrapped: /nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/get_iplayer: line 29: syntax error near unexpected token `('
/nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/.get_iplayer-wrapped: /nix/store/3h7nka924q5iy880mjh69a0g4c0lg9l0-perl5.36.0-get_iplayer-3.31/bin/get_iplayer: line 29: `$version_text = sprintf("v%.2f", $version) unless $version_text;'

Steps To Reproduce
Steps to reproduce the behavior:

nix-shell -p get_iplayer
get_iplayer --help

Expected behavior
The command works.
Notify maintainers
@chewblacka
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 22.5.0, macOS 13.4.1`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.15.1`
 - channels(root): `"nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs`

Hi many thanks for the detailed bug report.
I've released a fix for this issue on nix-darwin which has just been merged into master. It'll be a few days before it gets pushed to nix packages. I'll ping you then to check if the fix works on your end. Many thanks.

Hi, the fix is now in the latest edition of nixpkgs. get_iplayer should now work as intended on darwin. Let me know if there are any issues!


Option to bypass security rules

Hi, firstly thanks for the useful library!
I've recently tried adding security rules to my tests, and have found that they fail because I start the test by injecting some fake data, and I wasn't able to see how I could access the database without checking security rules.
Ideally, I'd be able to call something like:
final fake = FakeFirebaseFirestore(
  auth: mockAuth.authForFakeFirestore,
  securityRules: "...",
);

fake.bypassingSecurityRules.collection("forbidden").doc().insert(...);

// later in the test
fake.collection("forbidden").doc().insert(...);  // fails because of security rules

Is something like this possible? I had a look through the docs and the API surface, and couldn't find anything that looked like it could do this.
Thanks :pray:

If we expose a setter for security rules, you could do something like this:
import 'package:fake_firebase_security_rules/fake_firebase_security_rules.dart';

// Setting no security rules will by default allow everything.
// See https://github.com/atn832/fake_cloud_firestore/blob/c5548ce2f6405eb7f7a2a8a823edf15fbc3681cc/lib/src/fake_cloud_firestore_instance.dart#L46
final fake = FakeFirebaseFirestore(
  auth: mockAuth.authForFakeFirestore,
);

// Write data without restriction.
fake.collection("forbidden").doc().insert(...);

// Set up security rules.
fake.securityRules = FakeFirebaseSecurityRules('''
// actual rules
''');

// later in the test
fake.collection("forbidden").doc().insert(...);  // fails because of security rules

What do you think?

Sounds like it would work perfectly, and more flexible than the API I suggested, thanks 😁

Thanks for the feedback. I just released this change to https://pub.dev/packages/fake_cloud_firestore/changelog#303. Usage is as we discussed: https://github.com/atn832/fake_cloud_firestore?tab=readme-ov-file#resetting-security-rules


Add development dependencies to README, closes #162

Oh quite right, silly me.
On Thu, Feb 6, 2020 at 10:47 AM Guillaume Grossetie <
<EMAIL_ADDRESS>wrote:

@Mogztter commented on this pull request.
In README.md
https://github.com/Mogztter/asciidoctor-pdf.js/pull/163#discussion_r375526434
:

@@ -106,6 +106,12 @@ Many more features can be added by importing an existing JavaScript or CSS frame
You need Node installed on your machine to install and run Asciidoctor PDF.
The best way to install Node is to use nvm (Node Version Manager).

+Install development dependencies on Linux
I think we should move it to a new "Hacking" / "Contributing code"
section/document.
My concern is that it can be confusing since the "Install" section is for
end-users (not developers/contributors)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Mogztter/asciidoctor-pdf.js/pull/163?email_source=notifications&email_token=AAFEXX7NN4RGZMEDD6IALD3RBMXVNA5CNFSM4KQSNISKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCUNJJ6I#pullrequestreview-354063609,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFEXXYPTKJGHPTX7DLCNBTRBMXVNANCNFSM4KQSNISA
.

--
--
Private or confidential message? Public Key available here
https://pgp.mit.edu/pks/lookup?search=dan.mulholland%40gmail.com&op=index
:

Wait, ghostscript4js is a dependency of pagedjs. And pagedjs is a dependency of this project.... So this issue should also happened when installing asciidoctor-pdf.js?
Not sure why Paged.js is using ghostscript4js I need to check but I don't like C bindings in Node!
@rohel01 could you please confirm (or not) that you can reproduce this issue when installing the package:
$ npm i asciidoctor-pdf

It's an optional dependency so I think it won't fail the install: https://gitlab.pagedmedia.org/tools/pagedjs/blob/master/package.json#L63

Hm, it's my fault: I added it as an optional, but it is an "option development dependency" for paged.js — it's used to compare images output. It landed in f9a2c7ddbb7df14247d1aa96021e681189baa07e, via this pull request.
It's safe to assume it is not a requirement in order to install asciidoctor-pdf.

Hm, it's my fault: I added ghostscript4js as an explicit dependency. It is listed as "optional dependency" but they seem to be installed by default — it is an "option development dependency" really — it's used to compare images output.

No worries!

It landed in f9a2c7ddbb7df14247d1aa96021e681189baa07e, via this pull request.

As far as I understand, npm does not have (and does not want to add) an optionalDevelopmentDependency field.
Since the error message can be confusing for users, maybe we should reconsider this dependency and use an explicit npm install ghostscript4js --no-save in Paged.js?
@oncletom What do you think?

It's safe to assume it is not a requirement in order to install asciidoctor-pdf.

:+1:
So in the meantime, I think we should add a note to tell the users that this error/warning can be safely ignored.

Wait, ghostscript4js is a dependency of pagedjs. And pagedjs is a dependency of this project.... So this issue should also happened when installing asciidoctor-pdf.js?
Not sure why Paged.js is using ghostscript4js I need to check but I don't like C bindings in Node!
@rohel01 could you please confirm (or not) that you can reproduce this issue when installing the package:
$ npm i asciidoctor-pdf

I will test as soon as I get back home.
There are two kinds of users:

As an end-user, such errors are a bit disturbing :)
A developer wanting to hack on asciidoctor-pdf.js would not be bothered.

I guess I am bit in between: a user wanting to experiment with the expanded PDF templating  capabilities of this tool. From the documentation, I understand I need to write some javascript.
I am seasoned programmer... in Java, C and Python :) so I am discovering the node ecosystem as I go.
About documentation, what about asciidoctor extension support ? For example, asciidoctor-diagram ? This is not listed in supported features.

There are two kinds of users:
As an end-user, such errors are a bit disturbing :)
A developer wanting to hack on asciidoctor-pdf.js would not be bothered.

We just got another issue report so it's definitely disturbing.
I think we should remove this dependency from Paged.js. If it's not possible and/or Paged.js want to keep this dependency then we should just fetch the file paged.polyfill.js from<EMAIL_ADDRESS>(to remove the npm dependency on pagedjs and ghostscript4js)

About documentation, what about asciidoctor extension support ? For example, asciidoctor-diagram ? This is not listed in supported features.

Could you please open an issue so we don't forget to add that in the document.
To answer your question, Asciidoctor extensions written in JavaScript are supported. Asciidoctor diagram is a Ruby project so it won't work but as an alternative you can use asciidoctor-kroki or asciidoctor-plantuml.

I guess I am bit in between: a user wanting to experiment with the expanded PDF templating capabilities of this tool.
From the documentation, I understand I need to write some javascript.

Yes if you want to provide custom templates then you need to write some JavaScript. In the future, we might add a mechanism to load Pug/Nunjucks/... templates.

I am seasoned programmer... in Java, C and Python :) so I am discovering the node ecosystem as I go.

👍

About documentation, what about asciidoctor extension support ? For example, asciidoctor-diagram ? This is not listed in supported features.

Could you please open an issue so we don't forget to add that in the document.

Done ! It's #166

To answer your question, Asciidoctor extensions written in JavaScript are supported. Asciidoctor diagram is a Ruby project so it won't work but as an alternative you can use asciidoctor-kroki or asciidoctor-plantuml.

AsciidoctorJ benefits from JRuby to load Ruby extensions.  I see Opal is not a Ruby runtime but a source to source compiler.
Thanks for your inputs !

I think we can close this issue as Ghostscript is now a development dependency.
What do you think @danyill?

Yes, quite right, thanks for following up.


Using Secrets with DDC from the CLI and Compose file

Problem description
The current user guide docs in DDC for using secrets only talks about the GUI. It doesn't mention the CLI as a way to manage or interface with UCP to manage a secret.
Problem location
https://docs.docker.com/datacenter/ucp/2.1/guides/user/secrets/
Project version(s) affected
UCP 2.1
Suggestions for a fix
We should document the CLI commands for secrets and mention how this works with UCP. It's essentially the same content as here: https://docs.docker.com/engine/swarm/secrets/#/example-use-secrets-with-a-service
We should also include the fields necessary to use secrets from a compose file. Referenced in this forum message: https://forums.docker.com/t/secrets-stacks-and-odd-permissions/28340/6

I take it!

claimed


Pd 80 create question component

can we fix styling on this?

Create question on right side doesn't do anything currently - it should route to create question page no?

Can we move the download CSV to the other side where a user actually sorts and filters?

Not sure why this would be on the create question page? This will create unnecessary complexity in the app I believe - not sure if it was part of designs?

Please add a description to the PR and a link as well to the actual Jira ticket

When I try to submit a question as well - I'm getting failed transaction - currently but when on branch 106 it works fine


Algorithm with recurrent policy

I was wondering how you would extend an existing algorithm, let's say es to allow for a recurrent neural network instead of a feedforward one. You would need to change make_policy_network to replace the MLP with a newly created RNN so my impression is that you'd need to change only networks.py and not train.py. But not sure how to implement it

Besides the make_policy_network, I'd expect you have to modify the actor_step to handle the recurrent state
https://github.com/google/brax/blob/16304037a36b1d9c8c0b3084f57d1159627b636b/brax/training/acting.py#L34-L55


DSCS-2464 addresses code review comments from

This commit was added after the original pull request https://github.com/nla/amberdb/pull/651 was merged. It addresses the review comments from the other PR.
@scoen @ninhnguyen @sjacob @weijunnla @adityaburra

Build finished.

👍


Add size="original" to the img shortcode

First, thanks for this awesome theme!
I wanted to inquire whether it would be possible to add something like size="original" to the img shortcode, which would not resize the image at all? I find the current img shortcode very convenient, but the forced resizing of images makes images (especially small screenshots) look a bit odd.

Thanks for your kind words. Sure, fine for me to add an original size :+1:

Thanks a lot!


plot_pulse_files fails for 1 sequence experiments

plot_pulse_files has a firstSeqNum with a default argument of -1.  Should all sequence-length = 1 experiments be plotted with
plot_pulse_files(fileNames, firstSeqNum=0)

?  -MW

No, it's just a mistake.  I went back and forth on zero vs one indexing and didn't straighten it out in the end.  Since it's Python the function call will be zero-indexed but the interactive slider will be one indexed.


Ikea switch OTA update stuck in home assistant

Description of the issue
Shortly after install of edge version notification of ikea switch (E1743) OTA update appeared in HA settings. Still there after one week with no progress (still installing). Not fixed after restart,  disable_automatic_update_check: true does not help as well.
Addon version
sorry could not find hash
Platform
Home Assistant 2023.10.5
Supervisor 2023.10.0
Operating System 11.0
Logs of the issue (if applicable)
No response

I think I have the same thing, or something very similar.  Also an IKEA switch E1743 and I've been skipping an OTA update for quite a while as it never seems to complete successfully, but now something seems intent on applying it.  The state is telling me an update is available as it always has (but note not that it is "updating"):
{
    "battery": 87,
    "last_seen": "2023-11-05T13:13:08+00:00",
    "linkquality": 34,
    "update": {
        "installed_version": 587699761,
        "latest_version": 604241926,
        "state": "available"
    },
    "update_available": true
}

I'm not sure when it started (possibly with a recent HA update?), but now the OTA appears as updating in the HA Settings screen, even though I have done nothing to kick it off.  And no amount of restart etc. seems to stop it.

To be honest, I'm not convinced the OTA is actually being applied - it looks more like HA is confused for some reason about the state of the OTA update and thinks it is being applied even though it is not.  There is nothing in the Zigbee2MQTT logs that suggests it is being applied.

Same problem here.
Ik keeps "updating" but still after a week nothing changed on the spinning blue circles

Same problem (same hardware etc). 2 of these Ikea switches (E1743), constantly polling for an update.
{     "battery": 87,     "last_seen": "2023-11-07T11:49:06.533Z",     "linkquality": 65,     "update": {         "installed_version": 587699761,         "latest_version": 604241926,         "state": "available"     },     "update_available": true }

I have deleted and reattached from Z2MQTT, and also removed battery. But is still polls for an unrequired update.

Could you check if this is fixed in the edge version? (should be fixed by https://github.com/Koenkk/zigbee2mqtt/pull/19542)

Tested now, unfortunatelly no improvement.

Just pushed another fix, in case it is not fixed, please post in https://github.com/Koenkk/zigbee2mqtt/issues/19597

Still an issue


custom maxRedirects

use options.maxRedirects or 10 by default

cc @pdelsol @vitorohe

how do you set options.maxRedirects?

I saw it on the other PR,
its ok :+1:

it's passed in options in https://github.com/admetricks/andris9-resolver/blob/v0.1.12/lib/resolver.js#L20


rabbitmq cluster cluster_node configuration, each node should have a type, disc or ram

When deploy with rabbitmq.cluster=true, the rabbitmq service start failed as following error:
=INFO REPORT==== 7-Mar-2016::03:16:24 ===
Error description:
{could_not_start,rabbit,
{{cluster_node_type_mandatory,
"The 'cluster_nodes' configuration key must indicate the node type: either {[...], disc} or {[...], ram}"},
{rabbit,start,[normal,[]]}}}
A node can be a disk node or a RAM node. In most cases you want all your nodes to be disk nodes; RAM nodes are a special case that can be used to improve the performance clusters with high queue, exchange, or binding churn. When in doubt, use disk nodes only.
The official site: https://www.rabbitmq.com/clustering.html

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

ok to test

retest

seeing a lot of extra stuff in here.  Can this be rebased against master instead of merging it ?

I only see the one change, although there is the ugly merge commit, but the end result is only one change.


Code Mirror pushing to Prism stripping out closing HTML brackets, "</" are missing

Description
I am using code mirror to push written code into a prism box for easy writing and easy viewing. I am getting the innerHTML value and passing it straight to prism for styling. When I write a block of HTML specifically (all other languages work), the output of the final product strips out the closing bracket and slash and puts it into an HTML comment as a closing span tag.
The image below shows an example. The left is the output while the right is what the dev tools is showing.

The code input into Code Mirror is the following:

This doesn't sound like it is related to CodeMirror.


Add async_reader_writer_lock

It should support a single simultaneous writers or multiple simultaneous readers.

Done in these commits:
e64c089d9a035a8a6bd8de2ca8242d6342d3a61a
f422c39d17c3d7cc5e4b075ad17c0e2bad55ea38
1efd0d085d886bb55ab806ce33cb46610f957740


Update hex-literal dependency version.

further shuts down the already closed https://github.com/paritytech/substrate/issues/3134.
old versions hex-literal broke with a recent nightly version. They tend to not break on hex-literal : 0.2

closing down in favor of https://github.com/paritytech/substrate/pull/3142.
this was an interesting coincidence.


Parse deps earlier and implement new module design

Issue creation is WIP.

Perhaps a dupe of #1578 (and #1712)?

Yeah! Was just creating issues to track tasks from our discussion earlier. Closing in favour of #1578 and #1712


[nlohmann-json] Fix vcpkg package name and CMake package name consistency

Describe the pull request

What does your PR fix? Fixes issue #10818
Fix vcpkg package name and CMake package name consistency.
No features need to test.

no?
https://github.com/nlohmann/json#cmake
find_package(nlohmann_json 3.2.0 REQUIRED)
If you change it to nlohmann-json you are breaking that.
The problem lies within vcpkg because it does not allow underscores in port names.

I was almost ready to write the same things, but got caught in calls. Please do not break proper/common/official way to call the package

The offilcial codes shouldn't be break, so I am closing this PR for now.


Visualization Crashes on Scroll wheel zoom

When I use two finger scroll in the visualization window on a MacBook trackpad the program crashes.  Couldn't test with a mouse wheel but I imagine it might be the same.
analysis                                                                                [08f01b5]
2019-10-04 14:26:56.862 python[89594:8884286] GLUT Warning: glutInit being called a second time.
None
<pyflightanalysis.analysis.TableView object at 0x11c021948>
objc[89594]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fff99a5b3d8) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x123c8cf50). One of the two will be used. Which one is undefined.
End initialization.
None
<pyflightanalysis.analysis.TableView object at 0x11c021948>
None
Traceback (most recent call last):
  File "/Users/dlw/Workspace/pyFlightAnalysis/.direnv/python-3.7.3/lib/python3.7/site-packages/pyFlightAnalysis-1.1.0b0-py3.7.egg/pyflightanalysis/widgets.py", line 937, in wheelEvent
    self.setScale(event.delta())
AttributeError: 'QWheelEvent' object has no attribute 'delta'
[1]    89594 abort      analysis

Thanks for reporting the issue. I have fixed the problem.


Fix wrong parameter of debug log "Checking maximal period"

Signed-off-by: Wyatt Sun<EMAIL_ADDRESS>

Thank you for this.
For being able to merge your PR you need to have an Eclipse CLA matching you commit email address: https://wiki.eclipse.org/Development_Resources/Contributing_via_Git#Eclipse_Foundation_Contributor_License_Agreement


New definitions for jquery.highlight.js

jquery.highlight/jquery.highlight.d.ts
check list

[ ] is collect naming convention?

https://www.npmjs.com/package/jquery.highlight
http://bower.io/search/?q=jquery.highlight
others?

[X] has a test file? (jquery.highlight/jquery.highlight-tests.ts or others)
[ ] pass the Travis-CI test?

jquery.highlight is already used in bower.

@vvakame Whoops! Yes, you are right, and it's a different library.
What would be the best name then for this lib?
(Github URL is: https://github.com/bartaz/sandbox.js/blob/master/jquery.highlight.js)
Something like?:

jquery.highlight-bartaz
jquery.highlight.js
jquery.highlight-sandbox

jquery.highlight-bartaz ?

@vvakame done. Ready to merge

:+1: thanks mate.


drop support for QUIC 34

Chrome seems to (finally) make some progress on that: https://codereview.chromium.org/2677323002

Chromium has been speaking QUIC 35 for quite some time now. @lucas-clemente, do you agree that we can drop 34 now?

We got feedback last time we dropped support that it was too early, since linux distributions take a while to update Chrome. If it's not too much of a hassle, I'd like to keep support for a month or so after release of a new version (or we could check Ubuntu / Debian manually).


showing tags on assets

tags are shown how they came from Content Library if they are not declared in placeholders file
moved localizationPromises to utils, since its used by multiple blocks
testing url: https://mwpw-162007-tags-list-on-assets--dme-partners--adobecom.hlx.page/channelpartners/drafts/dragana/search

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

Project coverage is 82.84%. Comparing base (e7de663) to head (56c3a47).

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #130      +/-   ##
==========================================
- Coverage   82.99%   82.84%   -0.15%
==========================================
  Files          10       10
  Lines        3252     3253       +1
==========================================
- Hits         2699     2695       -4
- Misses        553      558       +5

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


Angular ng-select bug in Chrome Windows when using tab navigation

There seems to be a weird bug when selecting values in Chrome on Windows using the keyboard only.
function MyCtrl($scope) {
    $scope.d = '';
    $scope.options = [1,2,3];
    $scope.d2 = '';
    $scope.options2 = [1,2,3];
}

<input>

<select ng-options="d for d in options" ng-model="d"></select>

<select ng-options="d for d in options2" ng-model="d2"></select>

<input>

JSFiddle:
http://jsfiddle.net/DrTCZ/4/
Steps to replicate:

Click on first text field
Press tab
Using the keyboard, select 2
Press tab
Using the keyboard, select 2

Notice the value of the first dropdown.
Any help would be appreciated!

Any eta for this?  Thanks.

This is not an angular bug but a Chrome bug.

I believe this is related to this bug: https://code.google.com/p/chromium/issues/detail?id=415505

Fixed in chrome 47: https://bugs.chromium.org/p/chromium/issues/detail?id=415505


Variation Attribute not synced

Hello Hyyan,
Thanks for the awesome plugin.
There is a problem with variable product attribute when creating the copy of the product variations for another language. The meta 'attribute_' is not synced. All the other metas are being copied except the main attribute.
I'm a new developer and as far as I've looked into it the problem seems to be in
File: src/Hyyan/WPI/product/variation.php
Function: protected function copyVariationMetas($from, $to){...}
the array $translated is always empty so the value is not getting copied. I'm not sure if that is the problem or I'm doing something wrong. Can you check that please?
Regards,
Akash Kanojia

@phoenix4rmhell I don't think the problem is in the function logic here ,  you an do two things to make sure :
After disabling all plugin in your site except for this one and (ploylang , WooCommerce) :

Make sure the attribute sync is enabled in the plugin settings page / Meta tab ,
Enable the Synchronization for taxonomies in polylang settings page

If non of that worked for you and that might be strange , add this function somewhere in your theme funciton file then navigate to your post in default language in the wp admin and paste the result you see here please .
add_action('admin_ini', function() {

    var_dump(@$_GET['post']);
});

Hello Hyyan!
Thanks for the quick reply.
I've tried the solutions you mentioned above

disable all plugins then check
enabled Sync for all attributes on woo-poly metas list
Enabled Synchronization fro taxonomies

Still its not working.
After that I tried the same with a fresh WP install
installed only the required plugins (Used Storefront Theme)
Still the same issue.
I even checked the DB (wp_postmeta table)
only the original post (post in default language that I create) has the meta_key = attribute_size attached with it. The variations created by woo-poly has other meta_key(s) but not attribute_size key.
Product Variation Tabs for Default Language:

Product Variation Tabs for Second Language:

You can reproduce the problem easily. I've tried my best to explain the issue. Still I don't know if I'm doing something wrong. And yes I selected default language before adding variable product (any product).
Can you check if the issue is in plugin or I'm making any mistake?
Thanks for the help!
Regards,
Akash Kanojia

Just for the test I tried adding some code in
src\Hyyan\WPI\Product\Variation.php
in function
    protected function copyVariationMetas($from, $to){...}

if I change this code
    foreach ($metas[$key] as $termSlug) {
        $term = get_term_by('slug', $termSlug, $tax);
        if ($term) {
            $lang = isset($_GET['new_lang']) ? esc_attr($_GET['new_lang']) : pll_get_post_language($this->to->id);
            $translated[] = get_term_by('id', pll_get_term($term->term_id, $lang), $tax)->slug;
        }
    }

to:
    foreach ($metas[$key] as $termSlug) {
        $term = get_term_by('slug', $termSlug, $tax);
        if ($term) {
            $lang = isset($_GET['new_lang']) ? esc_attr($_GET['new_lang']) : pll_get_post_language($this->to->id);
            $translated[] = get_term_by('id', pll_get_term($term->term_id, $lang), $tax)->slug;
        }else{
            $translated[] = $termSlug;
        }
    }

then it starts working fine.

@phoenix4rmhell thank you for the great effort in explaining the issue , but I have to ask you this question to make sure before I go any deeper in this issue , have you translated the attributes you are using to generate the variations ? as it seems in the photos , you did not ? am I right ?

@hyyan I'm not sure how to translate the attributes. Is there any interface to translate the attributes on admin section or do I have to add the translation for attributes in translation files?
I've checked the woo-poly settings and polylang settings and I can't find the interface to translate the attributes. Can you guide me how to do that?

phoenix4rmhell  The plugin does not create any new interface , but it uses the current avaliable woocommere and polylang interface.
To translate you interface follow this steps in the images below :

if you have created attributes when you created your product in the default language , then go on and translate you created attributes in the same interface before you start creating translation for your product .
Hope that helps !

@hyyan Thank you very much for the support. I didn't know about attribute translation. Everything seems to be working fine now.
Thanks again for the plugin.

@phoenix4rmhell  you are more than welcome , and please do not hesitate to ask more questions , I always be here to help .

Hello,
Not getting woocommerce product attribute in hindi while use hinidi code(hi) with REST API also using polylang and your plugin

Hi guys,
The above code didn't do it for me either. I figured must be because the attributes names and slugs are in cyrillic. So I changed the code in
protected function copyVariationMetas($from, $to) {..}
as follows:
$tax = str_replace('attribute_', '', $key);
to
$tax = urldecode(str_replace('attribute_', '', $key));
and
$term = get_term_by('slug', $termSlug, $tax);
to
$term = get_term_by('slug', urldecode($termSlug), $tax);
@dharamgoyal  suppose this helps with hindi too

Hello Hyyan,
Hello,
everything work perfect except that when translate product the new translated product come absolute empty. Only the name and product description is translated. Noting more. Noting more inside.
Price, attributes, Taxes, even image is empty.
I have about 1900 products if i must add those attributes manual will cost me months.
Look examle:
Upload photos.
Any advice will be most welcome:
Thx in advanced:
Kind Regards:
Venetta


fix: update to eye v10.30.10

fix: update to eye v10.30.10

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

npm package (@latest dist-tag)
GitHub release
v17.0.8

Your semantic-release bot :package::rocket:


Allow users to curate a "default" allow/disallow list

Many users want to make it so certain number of their fav or most used characters never have their artifacts considered by others during the build process no matter what condition or team they are played in.
Instead of forcing the user to setup the disallow list for every single other character every time a new character is added let them configure and "save" a default state which will appear as soon as you toggle on "use equipped" as per the #1027 suggestion.
And then could introduce a "reset" button on the chara select popup which would "reset" the selection to your pre-configured default.

Probably won't be considered. We plan to make the default custom-list have everything enabled, including new/future characters. We also plan to add a 3-state toggle so you can quickly swap between none allowed, custom list, and all allowed


Use longer lasting cookie

Currently when you quit your browser, the login session is not persisted. It would be cool if it was persisted for some period of time to avoid having to re-login frequently.

Yup we can do that. We had previously punted on it because we didn't have Stripe hooks implemented, and so used the re-login as a moment to sync up some data. But now we're clear to do it...


Add CI System

No clue how this would work for a mono repo

@andrewmkrug hey bro, this would be a really awesome thing if you want to tackle it? It will make sure that we're having CI on all of the code and not breaking stuff. We had Travis CI set up before. Let me know what you think...

@andrewmkrug hey bud, did you have a chance to look at this?

Addressed in #21


Cannot build Android ToDoApp

Hello
I'm trying to build Todo app sample, but it doesn't work. I get multiple errors, all in Swimlane.xaml.cs and in generated Swimlane.g.cs code.
I tried with VS 2019 and VS 2022, both on the same machine.
Does Android app work? UWP works fine, and I didn't try others.
Errors are attached.
Thanks, Tom
errors.txt

Hmmm.  I could partially reproduce the behavior. To be honest, I did not try it on Android, but the Drag and Drop capabilities should work anyway according to the Uno Platform page.
What happens if you rebuild the whole solution? That worked for me at least. But I have to dive a bit deeper to understand what is the exact problem. Might be an issue with the source code generator shipped with Uno.

Hello
I can build Droid app when I set full name for DragEventArgs:
private async void DropItem(object sender, Windows.UI.Xaml.DragEventArgs e)
and
private void SetDragOverIcon(object sender, Windows.UI.Xaml.DragEventArgs e)
However, Add todo button doesn't work with Android emulator. It might be related to this:
https://github.com/unoplatform/uno/issues/1776

Hmm that seems really weird, but thanks for investigating.
It is especially weird because the Swimlane defines it already as namespace. I feel like something wrong with the source code generators they are using.
One could try the code with the newer dotnet6 template.


jerrinot's improvement

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[ ] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number)

Execution time: 3.4s
Execution time of reference implementation: long

the main change: Thomas's spawning trick. I shamelessly copy'n'pasted it directly from his code.
there are a few other tweaks, most with a questionable value.

It's actually a tad slower:
Benchmark 1: timeout -v 300 ./calculate_average_jerrinot.sh 2>&1
  Time (mean ± σ):      2.445 s ±  0.046 s    [User: 15.362 s, System: 0.798 s]
  Range (min … max):    2.399 s …  2.513 s    5 runs

Summary
  jerrinot: trimmed mean 2.4378531110533332, raw times 2.42589644272,2.3986416297199997,2.51291899172,2.41892198572,2.4687409047199997

Leaderboard

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
|   | 00:02.437 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java)| 21.0.1-graal | [Jaromir Hamala](https://github.com/jerrinot) | uses Unsafe |

I believe the spawning trick isn't beneficial with the JVM (i.e. non-native binary).

Thanks for a super fast feedback! It was faster in my local testing. Well, worse things happen at sea😂

@gunnarmorling I pushed another commit - switching to AOT compilation. can you please give it another try? my thanks!

Yepp, looking better now :)
Benchmark 1: timeout -v 300 ./calculate_average_jerrinot.sh 2>&1
  Time (mean ± σ):      2.149 s ±  0.012 s    [User: 0.002 s, System: 0.004 s]
  Range (min … max):    2.130 s …  2.169 s    10 runs

Summary
  jerrinot: trimmed mean 2.14925808789, raw times 2.12968131914,2.14882771614,2.16860506514,2.14067246814,2.14426029714,2.14588217214,2.14475244114,2.15095327814,2.16637959914,2.15233673114

Leaderboard

| # | Result (m:s.ms) | Implementation     | JDK | Submitter     | Notes     |
|---|-----------------|--------------------|-----|---------------|-----------|
|   | 00:02.149 | [link](https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_jerrinot.java)| 21.0.2-graal | [Jaromir Hamala](https://github.com/jerrinot) | GraalVM native binary, uses Unsafe |


Accessible links with bigger clickable areas

Many of our components are often used with links. Lets look at two specific examples: a MenuItem and a Tile.
In the case of MenuItem, there is a built-in padding. When adding an anchor element inside it, it makes the clickable area smaller and also brings the default anchor styles.

  ...

To work around this, users often add  around the
 but that is no longer valid markup (
 needs to be a direct child of
/
). It also adds multiple tab stops. 👎
In the case of Tile, users often want the whole tile to be clickable to they add  around the tile, which also breaks accessibility because screen readers often only read out the first element inside links. 👎
The accessible markup would look more like:

...

      The title of the card

The stuff outside the link

This is achievable by using a pseudo-element that increases the clickable portion to be as big as the wrapping component. 👍
.iui-tile, .iui-menu-item {
  position: relative;

  a::before {
    content: '';
    position: absolute;
    inset: 0;
  }
}

Note that this approach should be used with caution and there should be no other interactive elements inside the wrapping component. In the case of menu item we would also need to fix multiple tab stops (in JS).
Further reading: https://inclusive-components.design/cards/

Tile portion was done with #959

List was done with #1106

List was done with #1106


Add linter to travisCI

Once #162 is merged pylint check should be added to CI pipeline

Closed with #172


Does SDWebImage support lentp decode?

Does SDWebImage support lentp decode?
how to support that?

excuse my ignorance but what is a lentp?

Sorry, my bad.
Lentp is another image format, I will support it myself


deduplicate SemanticSDP parsing

we have copypasted this pattern (or variations of it) throughout the code:
thing = thing.constructor.name === "MediaInfo" ? thing.clone() : MediaInfo.expand(thing);

to parse thing into a SemanticSDP object, or clone it if already parsed.
This PR extracts this pattern into functions at Utils. It simplifies the code and satisfies the type checker.

Shouldn't we move this to the semantic-sdp instead?

point. will do

how about extending X.expand() to no only support pojos but also check if the input is already an X and return it directly.
Then add a X.clone(x) => X.expand(x).clone()
?


Failed to call service select/select_option. Non-thread-safe operation invoked on an event loop other than the current one

Can not control Dreame L20 from HA using this integration.
Currently i can see Map , Entities are visible, but can't control, it throwing error
"Failed to call service select/select_option. Non-thread-safe operation invoked on an event loop other than the current one"

if is needed more info, just let me know, i can assist..

Ok, as this is a bug, i noticed another thing - if vacuum cleaner is on, my HA instance start to hang.. and some times HA restarting also, i tough this is while L20 is not supported yet..  but looks like it some bug.. can you point me out direction where i can look at?  my HA instance is located via VMWare on mini pc. i downloaded snapshot of HAOS vm snapshot from official HA website.
thanks in advance.

in debug log, i have lot off these events related to dreame:
2024-02-01 09:52:55.066 INFO (Thread-1329 (_thread_main)) [custom_components.dreame_vacuum.dreame.map] Decode P map 1 1415 2024-02-01 09:52:55.147 ERROR (Thread-1329 (_thread_main)) [homeassistant] Error doing job: Task was destroyed but it is pending!:   File "/usr/local/lib/python3.11/site-packages/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py", line 1118, in __call__     ret = self.original_func(*self.args, **self.kwargs)   File "/usr/local/lib/python3.11/threading.py", line 1002, in _bootstrap     self._bootstrap_inner()   File "/usr/local/lib/python3.11/threading.py", line 1045, in _bootstrap_inner     self.run()   File "/usr/local/lib/python3.11/threading.py", line 982, in run     self._target(*self._args, **self._kwargs)   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 3591, in _thread_main     self.loop_forever(retry_first_connection=True)   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 1756, in loop_forever     rc = self._loop(timeout)   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 1164, in _loop     rc = self.loop_read()   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 1556, in loop_read     rc = self._packet_read()   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 2439, in _packet_read     rc = self._packet_handle()   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 3033, in _packet_handle     return self._handle_publish()   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 3327, in _handle_publish     self._handle_on_message(message)   File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 3570, in _handle_on_message     on_message(self, self._userdata, message)   File "/config/custom_components/dreame_vacuum/dreame/protocol.py", line 215, in _on_client_message     self._message_callback(response["data"])   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 412, in _message_callback     self._map_manager.handle_properties(map_params)   File "/config/custom_components/dreame_vacuum/dreame/map.py", line 1146, in handle_properties     self._add_cloud_map_data(partial_map_data, object_name, timestamp)   File "/config/custom_components/dreame_vacuum/dreame/map.py", line 669, in _add_cloud_map_data     not self._add_map_data(   File "/config/custom_components/dreame_vacuum/dreame/map.py", line 864, in _add_map_data     self._map_data_changed()   File "/config/custom_components/dreame_vacuum/dreame/map.py", line 467, in _map_data_changed     self._update_callback()   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1478, in _map_changed     self._property_changed()   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1409, in _property_changed     self._update_callback()   File "/config/custom_components/dreame_vacuum/coordinator.py", line 538, in async_set_updated_data     super().async_set_updated_data(self._device)   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in async_set_updated_data     self.async_update_listeners()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners     update_callback()   File "/config/custom_components/dreame_vacuum/camera.py", line 566, in _handle_coordinator_update     self.async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state     self._async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1129, in _async_write_ha_state     hass.states.async_set(   File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_set     self._bus.async_fire(   File "/usr/src/homeassistant/homeassistant/core.py", line 1188, in async_fire     self._hass.async_add_hass_job(job, event)   File "/usr/src/homeassistant/homeassistant/core.py", line 588, in async_add_hass_job     task = self.loop.create_task(hassjob.target(*args), name=hassjob.name)   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 436, in create_task     task = tasks.Task(coro, loop=self, name=name, context=context)

@Tasshack how much memory you expect to HA WS should have to run your integration? even if there is issue with the memory(this can explain hanging while vacuum cleaner is cleaning) it does not explains why none of the functions in integration works, although these functions are available..

there is memory and processor % while vacuum cleaner is in progress to clean, do not see any issue described:

these are two errors recoded when i click on Auto drying slider:
2024-02-02 08:17:58.358 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139859858698816] Non-thread-safe operation invoked on an event loop other than the current one Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service     response = await hass.services.async_call(                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call     response_data = await coro                     ^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service     return await target(service_call)            ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service     return await service.entity_service_call(            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call     single_response = await _handle_entity_call(                       ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call     result = await task              ^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/switch.py", line 514, in async_turn_on     await self.async_set_state(1)   File "/config/custom_components/dreame_vacuum/switch.py", line 530, in async_set_state     await self._try_command(   File "/config/custom_components/dreame_vacuum/entity.py", line 175, in _try_command     await self.hass.async_add_executor_job(partial(func, *args, **kwargs))   File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run     result = self.fn(*self.args, **self.kwargs)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1949, in set_property     return self.set_auto_switch_property(prop, value)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 4185, in set_auto_switch_property     result = self.set_auto_switch_settings(              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 4154, in set_auto_switch_settings     self._property_changed()   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1409, in _property_changed     self._update_callback()   File "/config/custom_components/dreame_vacuum/coordinator.py", line 538, in async_set_updated_data     super().async_set_updated_data(self._device)   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in async_set_updated_data     self.async_update_listeners()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners     update_callback()   File "/config/custom_components/dreame_vacuum/entity.py", line 167, in _handle_coordinator_update     super()._handle_coordinator_update()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 479, in _handle_coordinator_update     self.async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state     self._async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1129, in _async_write_ha_state     hass.states.async_set(   File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_set     self._bus.async_fire(   File "/usr/src/homeassistant/homeassistant/core.py", line 1188, in async_fire     self._hass.async_add_hass_job(job, event)   File "/usr/src/homeassistant/homeassistant/core.py", line 588, in async_add_hass_job     task = self.loop.create_task(hassjob.target(*args), name=hassjob.name)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 436, in create_task     task = tasks.Task(coro, loop=self, name=name, context=context)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon     self._check_thread()   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread     raise RuntimeError( RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one
2024-02-02 08:17:55.263 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139859858698816] Non-thread-safe operation invoked on an event loop other than the current one Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service     response = await hass.services.async_call(                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call     response_data = await coro                     ^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service     return await target(service_call)            ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service     return await service.entity_service_call(            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call     single_response = await _handle_entity_call(                       ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call     result = await task              ^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/switch.py", line 510, in async_turn_off     await self.async_set_state(0)   File "/config/custom_components/dreame_vacuum/switch.py", line 530, in async_set_state     await self._try_command(   File "/config/custom_components/dreame_vacuum/entity.py", line 175, in _try_command     await self.hass.async_add_executor_job(partial(func, *args, **kwargs))   File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run     result = self.fn(*self.args, **self.kwargs)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1949, in set_property     return self.set_auto_switch_property(prop, value)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 4185, in set_auto_switch_property     result = self.set_auto_switch_settings(              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 4154, in set_auto_switch_settings     self._property_changed()   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1409, in _property_changed     self._update_callback()   File "/config/custom_components/dreame_vacuum/coordinator.py", line 538, in async_set_updated_data     super().async_set_updated_data(self._device)   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in async_set_updated_data     self.async_update_listeners()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners     update_callback()   File "/config/custom_components/dreame_vacuum/entity.py", line 167, in _handle_coordinator_update     super()._handle_coordinator_update()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 479, in _handle_coordinator_update     self.async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state     self._async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1129, in _async_write_ha_state     hass.states.async_set(   File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_set     self._bus.async_fire(   File "/usr/src/homeassistant/homeassistant/core.py", line 1188, in async_fire     self._hass.async_add_hass_job(job, event)   File "/usr/src/homeassistant/homeassistant/core.py", line 592, in async_add_hass_job     self.loop.call_soon(hassjob.target, *args)   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon     self._check_thread()   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread     raise RuntimeError( RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one

@Tasshack so, there for no solution or no direction what or how can find what is wrong?

@Tasshack   Auto drying it is switch type. i will add button type also.
2024-02-04 10:16:20.359 DEBUG (SyncWorker_17) [custom_components.dreame_vacuum.dreame.device] Update Callback 2024-02-04 10:16:20.359 DEBUG (SyncWorker_17) [custom_components.dreame_vacuum] Manually updated dreame_vacuum data 2024-02-04 10:16:20.384 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140166384351936] Non-thread-safe operation invoked on an event loop other than the current one Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service     response = await hass.services.async_call(                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call     response_data = await coro                     ^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service     return await target(service_call)            ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service     return await service.entity_service_call(            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call     single_response = await _handle_entity_call(                       ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call     result = await task              ^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/components/button/__init__.py", line 132, in _async_press_action     await self.async_press()   File "/config/custom_components/dreame_vacuum/button.py", line 337, in async_press     await self._try_command(   File "/config/custom_components/dreame_vacuum/entity.py", line 175, in _try_command     await self.hass.async_add_executor_job(partial(func, *args, **kwargs))   File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run     result = self.fn(*self.args, **self.kwargs)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/button.py", line 179, in <lambda>     action_fn=lambda device: device.toggle_drying(),                              ^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 3830, in toggle_drying     return self.start_drying()            ^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 3835, in start_drying     self._update_property(   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 613, in _update_property     self._property_changed()   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1409, in _property_changed     self._update_callback()   File "/config/custom_components/dreame_vacuum/coordinator.py", line 538, in async_set_updated_data     super().async_set_updated_data(self._device)   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in async_set_updated_data     self.async_update_listeners()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners     update_callback()   File "/config/custom_components/dreame_vacuum/vacuum.py", line 648, in _handle_coordinator_update     self.async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state     self._async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1129, in _async_write_ha_state     hass.states.async_set(   File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_set     self._bus.async_fire(   File "/usr/src/homeassistant/homeassistant/core.py", line 1188, in async_fire     self._hass.async_add_hass_job(job, event)   File "/usr/src/homeassistant/homeassistant/core.py", line 592, in async_add_hass_job     self.loop.call_soon(hassjob.target, *args)   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon     self._check_thread()   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread     raise RuntimeError( RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one 2024-02-04 10:16:25.397 DEBUG (Thread-5245) [custom_components.dreame_vacuum.dreame.device] Device update: 30

this is elect event:
2024-02-04 10:18:49.507 DEBUG (SyncWorker_11) [custom_components.dreame_vacuum.dreame.device] Update Callback 2024-02-04 10:18:49.507 DEBUG (SyncWorker_11) [custom_components.dreame_vacuum] Manually updated dreame_vacuum data 2024-02-04 10:18:49.556 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140166384351936] Non-thread-safe operation invoked on an event loop other than the current one Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 238, in handle_call_service     response = await hass.services.async_call(                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2149, in async_call     response_data = await coro                     ^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/core.py", line 2186, in _execute_service     return await target(service_call)            ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 272, in handle_service     return await service.entity_service_call(            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 882, in entity_service_call     single_response = await _handle_entity_call(                       ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 952, in _handle_entity_call     result = await task              ^^^^^^^^^^   File "/usr/src/homeassistant/homeassistant/components/select/__init__.py", line 195, in async_handle_select_option     await self.async_select_option(option)   File "/config/custom_components/dreame_vacuum/select.py", line 985, in async_select_option     await self._try_command(   File "/config/custom_components/dreame_vacuum/entity.py", line 175, in _try_command     await self.hass.async_add_executor_job(partial(func, *args, **kwargs))   File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run     result = self.fn(*self.args, **self.kwargs)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1949, in set_property     return self.set_auto_switch_property(prop, value)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 4185, in set_auto_switch_property     result = self.set_auto_switch_settings(              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 4154, in set_auto_switch_settings     self._property_changed()   File "/config/custom_components/dreame_vacuum/dreame/device.py", line 1409, in _property_changed     self._update_callback()   File "/config/custom_components/dreame_vacuum/coordinator.py", line 538, in async_set_updated_data     super().async_set_updated_data(self._device)   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 426, in async_set_updated_data     self.async_update_listeners()   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 182, in async_update_listeners     update_callback()   File "/config/custom_components/dreame_vacuum/vacuum.py", line 648, in _handle_coordinator_update     self.async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 945, in async_write_ha_state     self._async_write_ha_state()   File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1129, in _async_write_ha_state     hass.states.async_set(   File "/usr/src/homeassistant/homeassistant/core.py", line 1820, in async_set     self._bus.async_fire(   File "/usr/src/homeassistant/homeassistant/core.py", line 1188, in async_fire     self._hass.async_add_hass_job(job, event)   File "/usr/src/homeassistant/homeassistant/core.py", line 592, in async_add_hass_job     self.loop.call_soon(hassjob.target, *args)   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon     self._check_thread()   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread     raise RuntimeError( RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one

@Tasshack any updates here? if you help me with dev environment i can try to debug...

@Tasshack just installed HAOS on physical WS and have same issue.

Thanks, really appreciated..

@Tasshack Thanks for FIX!! is working now as expected. and i can finally control on my vacuum cleaner via HA. thanks again for very good integration and support!!!!


docs: Automated Changelog Update for v5.0.0-beta5.7

copilot:all
Automated changes by create-pull-request GitHub action

🤖 Generated by lychee action
Summary

Status
Count

🔍 Total
1258

✅ Successful
378

⏳ Timeouts
0

🔀 Redirected
0

👻 Excluded
879

❓ Unknown
0

🚫 Errors
0

Full action output
Full Github Actions output


Soft close applications for Ternary

Before review:

[x] Create HC 2019 interested mailing list
[x] Ensure styling correct for new splash page content

Before deploy:

[x] Update Heroku interested list ID environment variable

As discussed, let's "soft close" applications by allowing started applications to be finished, but not suggesting making an application to new users.


Masks a new generation: add translation capability ; add french trans…

Masks a new generation: add translation capability ; add french translation

Thanks part 2 for another translation!
I'll add the translation.json here that is needed as well (note my comment on the Dungeon World translation).   Also note that that the zu.json is actually a metadata file we use for crowdin, so there's no use in touching it.


chore: enable embroider ember try configuration options

Description
Enable embroider safe and optimized options in ember try config. This is now passing since Embroider 0.48.1 works with ember-cli-imgix.

Unfortunately although the embroider builds are working, the other builds are failing (see screenshot). I've enabled forked CI builds, so you should be able to see build results for any commits you push.

What the, how weird. Yeah I didn't run the whole suite locally since I didn't think the different runs should affect each other... Will take a look into this sometime.

@rahulk94 how are you feeling about this? It's totally fine to drop this if you don't have time - please close the PR in that case. Otherwise I look forward to any progress you make here

Hey @frederickfogerty yeah I think we can park this and revisit it another time. I'll close the PR since I don't imagine I'll spend time on it over the next couple weeks 😂 .
I tried comparing the ember-cli-build config to https://github.com/sandydoo/ember-google-maps/blob/main/ember-cli-build.js which has embroider scenarios enabled and didn't see any hints on what we're doing differently.


Audio Quality support

https://elevenlabs.io/docs/api-reference/streaming
Output format of the generated audio.
Must be one of:

mp3_22050_32 - output format, mp3 with 22.05kHz sample rate at 32kbps.
mp3_44100_32 - output format, mp3 with 44.1kHz sample rate at 32kbps.
mp3_44100_64 - output format, mp3 with 44.1kHz sample rate at 64kbps.
mp3_44100_96 - output format, mp3 with 44.1kHz sample rate at 96kbps.
mp3_44100_128 - default output format, mp3 with 44.1kHz sample rate at 128kbps.
mp3_44100_192 - output format, mp3 with 44.1kHz sample rate at 192kbps.

Requires you to be subscribed to Creator tier or above.

pcm_16000 - PCM format (S16LE) with 16kHz sample rate.
pcm_22050 - PCM format (S16LE) with 22.05kHz sample rate.
pcm_24000 - PCM format (S16LE) with 24kHz sample rate.
pcm_44100 - PCM format (S16LE) with 44.1kHz sample rate.

Requires you to be subscribed to Pro tier or above.

ulaw_8000 - μ-law format (sometimes written mu-law, often approximated as u-law) with 8kHz sample rate.
Note that this format is commonly used for Twilio audio inputs.

Other improvements that would be nice are options like:
optimize_streaming_latency

Duplicate of https://github.com/FelixWaweru/elevenlabs-node/issues/55
oops.


Some basic county flags

For languages or other things like that

Country flag would be very hard to do in the same style as the other Feather icons, especially because none of the icons have color. I'd say the globe icons (https://github.com/colebemis/feather/blob/master/icons/globe.svg) is your best bet 👍


Follow-up FiniteSet

Description
As discussed, this PR is a follow-up to #1740, containing the following changes:

Using @rileyjmurray 's suggested implementation as the default. I believe this was accidentally changed in 2eab70c974300b8901943994fc50c1c57a389bfa Renamed the functions to improve readability
Small refactoring to reduce code duplication as suggested
Adding a few more tests
Parametrizing the tests to use both canonicalization functions (+ one test to check that using the default works)
Skipping the tests if GPLK-MI is not installed as suggested by @SteveDiamond here
Special handling for the case where len(vec) == 2, as z[1:] <= z[:-1] failed in that scenario
Added a suggestion for the abstractmethod accepts()

cc: @aryamanJgl
Type of change

[ ] New feature (backwards compatible)
[ ] New feature (breaking API changes)
[ ] Bug fix
[x] Other (Refactoring)

Contribution checklist

[ ] Add our license to new files.
[x] Check that your code adheres to our coding style.
[x] Write unittests.
[x] Run the unittests and check that they’re passing.
[x] Run the benchmarks to make sure your change doesn’t introduce a regression.

Using @rileyjmurray 's suggested implementation as the default. I believe this was accidentally changed..

@phschiele If I remember correctly I made that change after Riley discovered that your suggested constraining method works with Parameter classes as well  (the underlying reason I believe was that Riley's method sorted the vec array, and Parameter types don't have a defined notion of ordinality).

Could you also vectorize FiniteSet so you can pass in a non-scalar argument, and the constraint lets each entry vary independently?

@SteveDiamond I've added a test case for this scenario in https://github.com/cvxpy/cvxpy/pull/1748/commits/36f7ef22964c371b1224a11d957365058ea27ed1

@SteveDiamond I believe in my implementation if a multi-feature variable was passed to the FiniteSet constructor, then the same constraint would be applied to all of the features of the variable (i.e. each individual feature of the Variable would be constrained to lie in the passed vec) which I felt were the intuitive semantics for constructing such a FiniteSet constraint.
How would you suggest we could let each feature vary independently when we construct a FiniteSet constraint from a non-scalar Variable like: cons= FiniteSet(x, vec) # x is a (n,) variable. Do you mean we should add support for allowing the user to constrain some arbitrary subset of features of x (by perhaps passing a list composed of the respective features they want to constrain that they might've constructed using a list comprehension etc.)?

@SteveDiamond I believe in my implementation if a multi-feature variable was passed to the FiniteSet constructor, then the same constraint would be applied to all of the features of the variable (i.e. each individual feature of the Variable would be constrained to lie in the passed vec) which I felt were the intuitive semantics for constructing such a FiniteSet constraint.

That is what I mean as well, but the current implementation constrains all features to be exactly the same value. So if I write FiniteSet(x, [0,1]) every entry of x have the same value. Whereas it should allow the entries to have different values (but still 0 or 1).

@SteveDiamond, on @rileyjmurray's suggestion I just cross-checked with trying out the following problem min{ x - y : FiniteSet([x, y], {1, 2, 3, 10.5})} which has the solution x=1, y=10.5, which I wrote as:
x= Variable(shape= (2,))
objective= Minimize(x[1]-x[0])
constr= FiniteSet(x, {1,2,3,10.5})
prob= Problem(objective, [constr])

And it solved out to give the result as expected! So I don't think it is constraining each feature of the passed Variable to be the same value.