Restore smart selection stop on quotes for JS and JSX

Thanks for the great work on version 1.31. After updating, I noticed one of my workflows using the editor.action.smartSelect.grow command has had a regression in behavior.
I believe this is related to the recent changes on semantic smart selection. I could find issue https://github.com/Microsoft/vscode/issues/64004 which seems to relate to what I'm reporting.
Some information about my workflow: say I have the following piece of code:
const MyComponent = () => (

hello

);

I would like to place my cursor anywhere inside the className attribute's value, then use the editor.action.smartSelect.grow command repeatedly until I've selected the entire string, including the quotes: "myClassName1 myClassName2".
This was possible in version 1.30, as smart selection would first stop at the word (e.g. myClassName2) and then expand to the quotes before going past them to the wider context. Version 1.31 doesn't stop at the quotes, and expands past them to the whole element (<div className...).
The workflow supported in version 1.30 used to be extremely useful to me as I have a very keyboard-oriented workflow and frequently have to select entire strings, including the quotes, to wrap them in braces or move them somewhere else.
Generally speaking, the aforementioned behavior is also very useful because it facilitates more granular (string) selection while editing, which is impossible in the current version.
I understand the reason this behavior has changed is because smart selection has been delegated to the specific languages. However, the JavaScript language bundled with VSCode does not seem to reimplement this behavior.
Is it possible to restore this functionality for JS/JSX editing?

Please also check if it is already covered by an existing one

This issue does not appear to be a duplicate of the ones listed above.

Unfortunate... In the presence of proposed API that allows extensions to properly implement this we have exchanged our default implementation with a simpler one. I have tried to restore the matching-quotes behaviour but that's surprisingly tricky because it depends on how your grammar is defined. Having said that, we will make this proper, proper using the TypeScript syntax tree as the source of truth.

Would this be the same root issue affecting smart-select in XML? I have 1.31.1 and smart-select expands to the nearest non-alphanum characters rather than to angle brackets?

This seems to be fixed now that JS/TS supports proper semantic selection


Make payment providers optional

- Do you want to request a feature or report a bug?
Bug
- What is the current behavior?
App crashes on first launch.
2019-01-29T11:30:52.336109+00:00 app[web.1]: time="2019-01-29T11:30:52Z" level=fatal msg="Error loading instance config: No payment providers enabled

- If the current behavior is a bug, please provide the steps to reproduce.
Deploy a new application to Heroku using the "Deploy to Heroku" button.
- What is the expected behavior?
App should lunch after deployed.
- Please mention your Go version, and operating system version.
Just using the standard Heroku buildpack.
I know it says the a I don't have payment provider enabled on the log, but here's a few things to consider:

The README doesn't list the Payment section as required
Even after adding PAYMENT_STRIPE_ENABLED=true and restarting the server, the app still does't launch.

Facing  the same issue when trying to run/see it locally.
Have tried export PAYMENT_PAYPAL_ENABLED=true, export PAYMENT_PAYPAL_ENABLED=1, etc.. with no luck.
Setting up payment should definitely be optional.

Facing  the same issue when trying to run/see it locally.
Have tried export PAYMENT_PAYPAL_ENABLED=true, export PAYMENT_PAYPAL_ENABLED=1, etc.. with no luck.
Setting up payment should definitely be optional.


Explict Array[Byte] type for the HRF inside the HBaseFilter

The type mismatch would bother users in the Intelj. @dongjoon-hyun @weiqingy please review it.

How do you think of this @weiqingy ?

@dongjoon-hyun We can make this PR more complete. I just searched the SHC code in Intelj, there are four places in object BoundRange have the issue. Could you please fix all of them in this PR? Sorry for the late reply. @merlintang

Merged to master. Thanks.


Mobile app crashes when you try to select a link from metadata menu table

https://streamable.com/u3yund
To replicate, create a table and then try to access one of the links through the mobile app by clicking it

I'm also facing the same issue

Hi I don't have an Android to try to reproduce but U have notice another behavior since the last mobile version update on IOS.
I've made a modification that fixes this behavior on IOS, maybe this will also fix this issue on Android.
I will push it in the next beta release

I've release the version 0.8.0 can you test on your android mobile if this fixes your issue?

Thanks for the release! looks like it's working now! 😀

Sorting doesn't seem to work properly after version 0.8.0. Can you look into it. I was sorting based on date.

Just gave it a shot myself and it works for me!
As far as I can tell I don't have any glitches with the sort functionality either... On the contrary I can finally sort numerical values so I'm guessing that was in the beta as well 🙌🏾.
There is a slight visual bug that might be new where the unique value is off kilter when you scroll:
My uneducated guess is that the unique values count might be throwing off the functionality for the column. Personally this is a much lower priority for me because I can still complete my workflow but let me know if you want me to load a separate ticket

hi @cameronj86 are u sorting using filename? can u try sorting a field that is set as date in metaclassfields.

hi @cameronj86 are u sorting using filename? can u try sorting a field that is set as date in metaclassfields.

Hey.
I don't have any fields that are set as date.  If I recall correctly, there's a potential conflict between obsidian's date and metadata menu plugin's date, especially if time is used, so all of my date columns are technically just text fields

I was sorting obsidian's date (time is used) before. It worked fine. But started to break after the new release. Tried it again on another vault that was running on older version. it was working fine, updated to 0.8.0 and it started to break there too.

I opened an issue for the sorting issue. This thread can be closed.


Donate command

We need a command to display information about donating. Would display the Patreon and possibly the cascade email to directly send money to.

👍

I'll take this one, @binaryoverload please assign :)


Enable parallel message processing by default + introduce configurable limit

Building upon work by @alanrenmsft to enable parallel message processing.. this PR enables it by default and also allows max limit to be user defined.

This feature has been enabled in dev environments for a long time and has not shown any significant side effects in past months. It has been adjusted to work in optimal way in PR https://github.com/microsoft/sqltoolsservice/pull/2216 to disable SubsetRequests to be part of this feature to prevent unordered results from surfacing.
But overall, the feature offers many performance benefits. In worst case scenario, users can always disable the setting.
I would urge testers to keep an eye on any issues in the next week when doing release testing to report anything concerning and we can take a call to disable it for the release if needed. /cc @kisantia

Users will like being able to set a max limit. What is the default value, and do we have a "recommended" upper limit? Or is there a max value that we can allow users to enter so they set it something which could freeze their system?

Default is 100, which should be optimal for most users. Max value alone can't do much to freeze the system, it's the number of 'active and slow' parallel operations that a user can trigger with that range that can cause system to freeze - which is not very likely to occur, but we'll have to study this out of our teams to find out :)

Default is 100, which should be optimal for most users. Max value alone can't do much to freeze the system, it's the number of 'active and slow' parallel operations that a user can trigger with that range that can cause system to freeze - which is not very likely to occur, but we'll have to study this out of our teams to find out :)

Noted.  @dlevy-msft this will definitely be something to make sure is documented as an option, and maybe some verbiage noting default of 100 and something around perf considerations (after teams have done some testing).
@cheenamalhotra do you have telemetry hooked up here at all that would be useful to either understand if it's been changed, what it's been changed to?  Also, what data will we be looking for where we would then recommend turning this off?

@cheenamalhotra do you have telemetry hooked up here at all that would be useful to either understand if it's been changed, what it's been changed to? Also, what data will we be looking for where we would then recommend turning this off?

Yes, added telemetry measurement.
We would be only recommending turning this off when there's an issue like https://github.com/microsoft/azuredatastudio/issues/24095 which would occur randomly.
This issue is handled now and PMP is disabled for query batches, but any behavior that occurs due to unmanaged concurrency is when we would ask customer to disable this feature while we address the issue. Our design should be able to handle parallel requests in backend as much as possible since we have resource locking in place where it matters the most, e.g. connections, binding queue, etc. If there's an area that shows random issue due to this feature being enabled, we would either disable PMP for that request or fix it to make it concurrent.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.009%) to 41.578%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/dialog/configurePython/configurePathPage.ts
1
57.02%

Totals

Change from base Build<PHONE_NUMBER>:
0.009%

Covered Lines:
30788

Relevant Lines:
69356

💛  - Coveralls


Syntax highlighter for exp show tables

dvc exp show uses colored/bold titles in its output and probably using colored output will continue in other parts of the software. Currently we use screenshots for these (like in #2497).
It's better to represent this colored text in code blocks. It provides more uniformity.
The solution should support colored text+background and bold/italic text.
Originally posted by @shcheklein in https://github.com/iterative/dvc.org/pull/2497#discussion_r641873974

Could be part of the existing dvc highlighter.

Is there any chance we can get colorful tables in the code sections?
@jendefig @rogermparent

I think you meant to tag @julieg18 on this, but I support this effort! 😄

I shouldn't start this before drinking my first coffee ☕  Thank you @jendefig 😄

I think it's possible. We could edit our prismjs dvc config to check for tables, then add the needed classes to the table headers to change the font/color. 🤔

I think we can do a lot of this, however some distinctions can't be made from the text output alone, like differing between params and metrics:

You can see here that metrics are yellow and params are blue- we can't really tell which is which from the text alone. If we're okay with having the highlight of the column names all being the same, I'm sure we could figure that out since it just means recognizing the headers surrounded by column borders.
If we want those individual colors, we'll have to toss in some annotation magic where writers specify which columns are params and which are metrics- I have no idea what the most effective way to do that is, but the easiest would be something like prefixing each column header with something like p: and m: which is removed and replaced with a color BG during processing.

I have no idea what the most effective way to do that is, but the easiest would be something like prefixing each column header with something like p: and m: which is removed and replaced with a color BG during processing.

This may be the way to proceed. We can have a colortable syntax where p: prefix paints a cell blue, and m: to yellow, etc. or we can have color prefixes, like yellow:, blue: and that may be more general.
It may be possible to copy the terminal control codes for colors from the raw output, but probably it will be error-prone and won't save any work for you.


Platformio

Anyone have success when running under platformio?
I have tried and get this error:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:8896
load:0x40080400,len:5828
entry 0x400806ac
Works great under Arduino but personal prefrence would be to have in platformio.
Regards,
Aidan

I've got the same error when using Arduino with the wrong board. Not working was: ESP32 Wrower module working is TTGO LoRa32 OLED v1
In platformio the board = ttgo-lora32-v21 in platformio.ini works for me.

I'm able to build a PlatformIO project with ESP32-A2DP by making it a git submodule inside the lib folder of a new PlatformIO project. I haven't verified correct functionality, but it builds, loads, and runs on a TinyPico ESP32 board. I'm trying to play from ESP32 to earbuds over A2DP. I know the code is running because I print an updated timestamp every 5 seconds and I see that counting up.
When I get the bluetooth functionality working I'll post an example. I'm still trying to figure out how to get the ESP32 to initially connect to earbuds.

ESP32-A2DP  library worked in my PlatformIO environment. Device is ESP32(Rev.0).
I've made a few changes to the library for the My external DAC(ES9038Q2M VR1.07 DAC Board(eBay item number:263908779821))
Here is my Git repository.
Please for your reference.
https://github.com/riraosan/ESP32_BT-A2DP_Receiver

I finally tried to reproduce your issue, but everthing is working perfectly. I have added some instructions https://github.com/pschatzmann/ESP32-A2DP/wiki/PlatformIO


Cloning repo does not offer to sign in with GitHub

Testing #96280

I have a fresh copy of Insiders w/ the nightly GH PR extension (not signed in) and I am also signed out of git globally. When I attempt to clone a private repo, I get hit with the error above. Based on the test plan item's description:

At no point in time should you be asked for credentials within VS Code, but instead go through the auth flow similar to the GitHub Pull Requests extension

I assume that if it detects I am not signed in then it would prompt me to do so. This is not happening for me.

Sorry, didn't realize this didn't work via ssh. It works with http.

Yeah nothing to be done with SSH.

Should we tell the user that this isn't supported via this command instead of showing this error? If I didn't know about the test plan item I would assume that this doesn't work.
Alternatively, when someone pastes in a ssh url, can we detect that and offer an https clone instead? That would be a smoother experience then dropping them off at a dead end.

But it is, if you already have SSH configure, like I do. We're just doing the same we've always done.
I think we've fine since by default GitHub shows you the HTTPS clone link anyways, unless you actively choose SSH.


Support for Gradle 7.x and AGP 7.x

AGP 7.x and Gradle 7.x updates will need JDK 11, thus we might want to start preparing a branch that supports JDK 11.
https://android-developers.googleblog.com/2020/12/announcing-android-gradle-plugin.html

Sure.  We can think about several solutions:

A sub-image for the legacy JDK
Multiple JDK support, config/choose via ARG

Thanks Fabian :)

I would suggest the ARG way and then publish two different images like they do here: https://github.com/alvr/alpine-android.

Sounds good, so far no better alternative solution.

Done.
Now the default image is with JDK11, and the variant image android-sdk-jdk8 is with JDK8.
To pull the latest JDK11 image: docker pull thyrlian/android-sdk:7.0.
Details can be found here.

README is updated as well:

Earlier in JDK 8, you need to set the environment variable _JAVA_OPTIONS to -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap. Then you'll see such logs like Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap during any task execution, which means it takes effect. JDK 10 has introduced -XX:+UseContainerSupport which is enabled by default to improve the execution and configurability of Java running in Docker containers. Since JDK 1.8.0_191, -XX:+UseContainerSupport was also backported, then you don't need to set -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap any more. UseCGroupMemoryLimitForHeap was deprecated in JDK 10 and removed in JDK 11.


Incorrect Selection Displayed When Using Non-Unique Option Values

Version
2.5.1
Reproduction link
https://jsfiddle.net/tbonz/0xx2wxjn/
Steps to reproduce
In the provided jsfiddle, choose option 'three' from the dropdown, the selected option displayed instead shows 'one'.
What is expected?
It is expected that the option selected would be displayed.  Using a unique key for each option has no effect either.
What is actually happening?
It's not showing the option selected, and instead choosing another option with the same value.

What's the point of duplicate values here? Note that even if Vue doesn't reset the selected item on user interaction, it will still be selecting the first matching option on a fresh render, because there's no key information in the selectedValue array for Vue to infer from. IMO duplicate values like this is intrinsically broken design. Instead you should directly bind the entire object as the value:
https://jsfiddle.net/0xx2wxjn/11/


Add vega extension, basic support for altair

References
Incremental improvement for #110

Code changes
Add the vega5-extension to the main application bundle like in JupyterLab
TODO

[x] Add @jupyterlab-vega5-extension
[x] Add example vega file to the demo site examples
[x] Add to retro
[x] Add altair example notebook

User-facing changes

Basic support for altair:
https://user-images.githubusercontent.com/591645/120116837-545d9980-c18a-11eb-9097-b3eac5303fb9.mp4

Backwards-incompatible changes
None

Awesome, vega is a great first step for viz stuff.
While writing vega by hand isn't super fun, would it be worth having the magic MIME string(s) encoded within Vega and/or VegaLite display types in pyolite?

While writing vega by hand isn't super fun, would it be worth having the magic MIME string(s) encoded within Vega and/or VegaLite display types in pyolite?

I think so yes. Ideally we can get Altair to work without too many patches.

Example using @lrowe code snippet from: https://github.com/jtpio/jupyterlite/issues/110#issuecomment-850916083:
https://user-images.githubusercontent.com/591645/120113427-ba422500-c17a-11eb-9e5a-8ca928f301b8.mp4

Users still need the bootstrap code mentioned in https://github.com/jtpio/jupyterlite/issues/110#issuecomment-850916083:
# code snippet below from @lrowe: https://github.com/jtpio/jupyterlite/issues/110#issuecomment-850916083
import micropip
# Work around https://github.com/pyodide/pyodide/issues/1614 which is now fixed in pyodide
await micropip.install('Jinja2')
micropip.PACKAGE_MANAGER.builtin_packages['jinja2'] = micropip.PACKAGE_MANAGER.builtin_packages['Jinja2']
# Last version of jsonschema before it added the pyrsistent dependency (native code, no wheel)
await micropip.install("https://files.pythonhosted.org/packages/77/de/47e35a97b2b05c2fadbec67d44cfcdcd09b8086951b331d82de90d2912da/jsonschema-2.6.0-py2.py3-none-any.whl")
await micropip.install("altair")
import sys
sys.setrecursionlimit(255)

Maybe that's something that could be added as a "helper patch" in pyolite to make it more convenient for now.

Maybe that's something that could be added as a "helper patch" in pyolite to make it more convenient for now.

Breaking down the steps of my bootstrap code:

# Work around https://github.com/pyodide/pyodide/issues/1614 which is now fixed in pyodide
await micropip.install('Jinja2')
micropip.PACKAGE_MANAGER.builtin_packages['jinja2'] = micropip.PACKAGE_MANAGER.builtin_packages['Jinja2']

Fix is being actively worked on here: https://github.com/pyodide/pyodide/pull/1615

# Last version of jsonschema before it added the pyrsistent dependency (native code, no wheel)
await micropip.install("https://files.pythonhosted.org/packages/77/de/47e35a97b2b05c2fadbec67d44cfcdcd09b8086951b331d82de90d2912da/jsonschema-2.6.0-py2.py3-none-any.whl")

I believe the right way to fix this is to build pyrsistent as a pyodide package: https://pyodide.org/en/stable/development/new-packages.html
Was going to look at this but haven't managed to get pyodide to build on my ARM Mac.

import sys
sys.setrecursionlimit(255)

This is to avoid running into the recursion limit while rendering with altair. sys.getrecursionlimit() returns 127 in jupyterlite on Chrome for me which seems very low. At https://pyodide.org/en/stable/console.html it returns 220 on Chrome and 912 on Safari (jupyterlite doesn't seem to work properly on Safari for me) and 1000 on my regular python 3.9.5 interpreter.
Is the lower recursion limit set by jupyterlite or calculated somehow by pyodide? Seems reasonable to increase it a bit.

Is the lower recursion limit set by jupyterlite or calculated somehow by pyodide?

The recursion limit stuff is derived from limitations of the WASM stack, as pyodide frames are waaaay heavier than JS (much less WASM) ones... it's a bit of a heuristic, derived from how the upstream works.

Last version of jsonschema before it added the pyrsistent dependency (native code, no wheel)

Yeah, this is going to be a killer in a bunch of places.

Thanks @lrowe for the extra context :+1:

Is the lower recursion limit set by jupyterlite or calculated somehow by pyodide? Seems reasonable to increase it a bit.

Looks like pyodide has some logic to choose a value for the recursion limit here: https://github.com/pyodide/pyodide/blob/2e0475227255166269d910f260d138274c02d5fc/src/js/pyodide.js#L118-L143
JupyterLite doesn't explicitly set the limit. Although we could probably place the sys.setrecursionlimit(255) in https://github.com/jtpio/jupyterlite/blob/main/packages/pyolite-kernel/py/pyolite/pyolite/init.py.

I just plucked the 255 figure out of the air. It seems that 170 is sufficient for the altair chart I tested. Anything much above that and I get a pyodide fatal error in the JS console (RangeError: Maximum call stack size exceeded) with the following code:
import sys; sys.setrecursionlimit(170)
def test(i=0):
    print(i)
    test(i+1)
test()

It's uncomfortably close to the limit either side though, 160 and altair cannot render, 180 and I see pyodide fatal error. Guess the following might be okay for now:
import sys
sys.setrecursionlimit(max(170, sys.getrecursionlimit())

Guess the following might be okay for now

Added as default in https://github.com/jtpio/jupyterlite/pull/113/commits/6bdf4f184de3754ff1392e1861fecabdb0ba9094 for now.

Let's get this in then, we can always improve and iterate in follow-up PRs.
Thanks all!


Add Frankenstein receiver handler.

@tomwilkie This one is based on https://github.com/tomwilkie/prometheus/pull/7


feat: add support for using the set intersection operator on selectors

Implements the set intersection operator for selectors.

Congrats on your first PR @isidentical !

First PR 🎉 😇


OSSL_DECODER_CTX_new_by_EVP_PKEY API

The OSSL_DECODER_CTX_new_by_EVP_PKEY documentation shows the first parameter as EVP_PKEY * and the code has it as EVP_PKEY **.
The decoder API is inconsistent with respect to the encoder API which has EVP_PKEY *.
The API should not logically be returning a different pointer to the caller.

OSSL_DECODER_CTX_new_by_EVP_PKEY has a libctx parameter, OSSL_ENCODER_CTX_new_by_EVP_PKEY does not.
That inconsistency should also be fixed.

The DECODER_from_ APIs really should have the EVP_PKEY return pointer on those functions rather than setting that up in the DECODE_CTX_new call ... and the naming of new_by really makes no sense if this is an output only parameter.
This whole API needs review.

OSSL_DECODER_CTX_new_by_EVP_PKEY has a libctx parameter, OSSL_ENCODER_CTX_new_by_EVP_PKEY does not.
That inconsistency should also be fixed.

This was discussed a bit in #13544, FYI.  The basic question is, where to pick the library context from...  if there's an input parameter that already holds it, why do we need an explicit one?  The follow up question is, if the explicit and the implicit library context differ, what do we do?  If that's an error, why do we need to have the users pass an explicit one?  I'd say that these are relevant questions to ask to determine what the API should look like, to have something that's flexible enough, while not being too confusing functionally.

The DECODER_from_ APIs really should have the EVP_PKEY return pointer on those functions rather than setting that up in the DECODE_CTX_new call ... and the naming of new_by really makes no sense if this is an output only parameter.

Yeah ok...  so then we get to the question, what should it look like when more types move to being provider supported?  Say that we move the base X509 functionality to providers, what then?  This is something I had clearly on my mind from the start, and I think that it is realistic to imagine a future with X509 being provided.  How far or how near, I haven't the faintest idea...

Please don't misunderstand my comments as a pushback on the idea of reviewing the API.  It's food for thought.

Early morning thoughts: I could imagine a function EVP_PKEY_from_bio()...  the line of thought I have is that most of the rest of OSSL_DECODER would remain, as they are generic building blocks that helps making decoders for specific types.
This is, of course, more food for thought.

This has been done.


Added deploy script for Windows

Updated docs to include a script that can perform deploys on Windows.

Super cool! Thanks!


Update plugin-docker-workflow.yml

Link to GitHub repository
https://github.com/jenkinsci/docker-workflow-plugin
When modifying release permission
If you are modifying the release permission of your plugin or component, fill out the following checklist:

### Release permission checklist (for submitters)
- [x] The usernames of the users added to the "developers" section in the .yml file are the same the users use to log in to [accounts.jenkins.io](https://accounts.jenkins.io/).
- [x] All users added have logged in to [Artifactory](https://repo.jenkins-ci.org/) and [Jira](https://issues.jenkins.io/) once.
- [x] I have mentioned an [existing team member](https://github.com/orgs/jenkinsci/teams) of the plugin or component team to approve this request.

When enabling automated releases (cd: true)
Follow the documentation to ensure, your pull request is set up properly. Don't merge it yet.
In case of changes requested by the hosting team, an open PR facilitates future reviews, without derailing work across multiple PRs.
Link to the PR enabling CD in your plugin

### CD checklist (for submitters)
- [x] I have provided a link to the pull request in my plugin, which enables CD according to the documentation.

### Reviewer checklist
- [ ] Check that the `$pluginId Developers` team has `Admin` permissions while granting the access.
- [ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
- [ ] If security contacts are changed (this includes add/remove), ping the security officer (currently `@Wadeck`) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it.

https://github.com/jenkinsci/docker-workflow-plugin/pull/305#pullrequestreview-1630810352 Being a maintainer of the plugin means, first and foremost, understanding its design thoroughly and foreseeing all the ways in which changes to it might break existing use cases, and being ready to address those. Many times I have made any change to any existing behavior in this plugin it has caused a serious regression and needed to be reverted or somehow adjusted.
The plugin certainly needs some attention. Unfortunately many PRs such as https://github.com/jenkinsci/docker-workflow-plugin/pull/232 affect very specific environments that are difficult to recreate.
My recommendation has eventually become that it just not be touched outside of routine metadata/test updates, except in cases where it is clear that something which did work before has become broken by some change in Jenkins core, dependency plugins, or Docker or operating systems themselves (https://github.com/jenkinsci/docker-workflow-plugin/pull/280 is a good example).


fix: trying to renew message lock

I am trying to renew message lock, but it still cannot renew. message will be unlocked after 5 minutes

Looks like current code's lock is cancelled after downloading data.
2024-05-17 04:26:21-acore.py:process_nighttime_data:455:INFO:Successfully downloaded CLOUD_COVER to /tmp/SVDNB_npp_d20230518.vcld.tif.local
2024-05-17 04:26:21-acore.py:process_nighttime_data:455:INFO:Successfully downloaded DNB_SUNFILTERED to /tmp/SVDNB_npp_d20230518.rade9d_sunfiltered.tif.local
Preprocessing /tmp/SVDNB_npp_d20230518.rade9d_sunfiltered.tif.local: 100%|████████████████████████████████████████████████████████████████████████████████████| 429/429 [00:32<00:00, 13.29it/s]
2024-05-17 04:26:57-acore.py:set_metadata:38:INFO:Converting /tmp/SVDNB_npp_d20230518.vcld.tif.local to COG
2024-05-17 04:26:57-acore.py:set_metadata:40:INFO:Setting custom metadata
running gdalwarp on /tmp/SVDNB_npp_d20230518.vcld.tif.local:   9%|████████▎                                                                                | 9.03/100 [01:28<05:59, 3.95s/it]

Queue message is locked while downloading, but after showing Setting custom metadata, lock is expired and another process can fetch the same message.


Identity accessability

Re ordered H tags
Fixed arial labels on login form elements

Replaced by https://github.com/Civil-Service-Human-Resources/identity-service/pull/117


Enemy targeting doesn't always work

This bug is more pervasive than I thought. Big issue with choosing new targets after the first one.

Fixed although because of how the enemies are rendered, when an enemy dies sometimes it looks like the wrong one died because the living enemies reorder and space out. That's a visual misunderstanding though, no logical bugs.


ApplicationModel serviceName is not unique

[ ] I have searched the issues of this repository and believe that this is not a duplicate.
[ ] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: all
Operating System version: all
Java version: all

Steps to reproduce this issue

create two ReferenceConfig for same service with different configuration.
<dubbo:reference id="demoService" interface="com.alibaba.dubbo.DemoService">
</dubbo:reference>
<dubbo:reference id="demoServiceAsync" interface="com.alibaba.dubbo.DemoService" async="true">
</dubbo:reference>
startup the consumer application.
get the ConsumerModel from ApplicationModel.

Pls. provide [GitHub address] to reproduce this issue.
Expected Result
ApplicationModel.allConsumerModels() should returns two ConsumerModel.
Actual Result
ApplicationModel.allConsumerModels() only returns the first ConsumerModel.
If there is an exception, please attach the exception trace:
With future investigation, ReferenceConfig cannot put the second ConsumerModel as they are in same serviceName.
Also, this is the same issue for provider with below configuration.

<dubbo:service interface="com.alibaba.dubbo.DemoService" ref="demoService">
</dubbo:service>

<dubbo:service interface="com.alibaba.dubbo.DemoService" ref="demoService2">
</dubbo:service>
Here is my PR: https://github.com/apache/incubator-dubbo/pull/2582

It is dependent on how do you defind a Service:

a backend service is a Service
or a proxy service is a Service

Yes.
The flexibility of refer a service with different proxy is good(As above, one proxy in sync, another in async). But, it's terrible that we are not able to get the proxy we have created.
For that, we are able to cache the proxy by extend the ProxyFactory. But, the issue is that the wrapper executed without order, which result in different proxy returned.
Hopefully, the constrains be removed from the ApplicationModel cache.

@haiyang1985 I drop a comment in https://github.com/apache/incubator-dubbo/pull/2582#pullrequestreview-162318577, pls. take a look.

@Jeff-Lv I agree with your opinion. For this particular problem, let's consider it as a limitation. User cannot configure two references with the different behavior. We will provide alternative way to user to change the behavior either via API, utilities or dynamic config.
Let's roll back the relevant change in https://github.com/apache/incubator-dubbo/pull/2646.


#154 - Extend Parameter FilterOperator with value cilike (case insens…

@yuliamm87 I would add a bit more scenarios for the CiLike:

matching casing of the original and filter values
filter without %, so exact value
Also what happens if you pass empty value

Thank you for your comment, I will add suggested test cases, also I think we will do comprehensive tests cases on our web api story


The form value is out of sync if we are dispatching multiple intents in a row

Describe the bug and the expected behavior
Originally reported by @Pouet-- on https://github.com/edmundhung/conform/discussions/331#discussioncomment-8307261
Conform version
v1.0.0-rc.1
Steps to Reproduce the Bug or Issue

I reproduced the "bug" in a codesandbox, you can try to drag the first level items and drop them into the sub-level node : the number of children updates accordingly but the list is not correctly displayed. However, if you add an item in the sub-list after that, it retrieves the lost values.

What browsers are you seeing the problem on?
No response
Screenshots or Videos
No response
Additional context
No response

@Pouet-- Let's move the discussion here. This is indeed a bug on how how form value is handled when an intent is dispatched. The issue you see will be resolved if you identify the child type with initialValue instead of value on these 2 lines:
childFieldset.type.initialValue === TreeNodeType.LOGIC
childFieldset.type.initialValue === TreeNodeType.FILTER

The issue is that Conform's value get out of sync and mess up if you dispatch more than one intents in one callback. Definitely something I need to look into further. 😅
Thanks again for preparing the repo!

I changed parts of my code since v1 is released to use value  on my fields, did not expect the problem to be related to this.
Thank you very much for taking the time to look into this problem !

For information, I hacked this problem with the following :
flushSync(() => {
  form.insert({ name: ..., defaultValue: ... });
});
flushSync(() => {
  form.remove({ name: ..., index: ... });
});

It waits for a re-render before launching the second operation, so the values are correctly filled, but this triggers 2 re-renders

In v1.0.3, Conform has all form intents wrapped in a flush sync already so there is no need to wrap it yourself.

Hi, @edmundhung. I'd argue conform wrap form intent (maybe I should say wrap programatic for intent) is a good decision. Maybe state flushSync() way on doc would be better.
One significant drawback wrapping every form intent with flushSync() I had is that I hook up field values to render / not-render something. If I'd want to show three things on screen, it would show one by one instead of three at the same time.


Send WINDOW_UPDATE frames

see https://groups.google.com/a/chromium.org/forum/#!topic/proto-quic/O3i4btHRiAA


Change WPS ConnectionContext.States to a Dict<string, BinaryData>

This looks more like the rest of Track 2 and also removes the TryGetState<T> method because BinaryData already has https://docs.microsoft.com/en-us/dotnet/api/system.binarydata.toobjectfromjson?view=dotnet-plat-ext-6.0#System_BinaryData_ToObjectFromJson__1_System_Text_Json_JsonSerializerOptions_.

API changes have been detected in Microsoft.Azure.WebPubSub.Common. You can review API changes here

API changes have been detected in Microsoft.Azure.WebPubSub.Common. You can review API changes here

API changes have been detected in Microsoft.Azure.WebPubSub.Common. You can review API changes here

API changes have been detected in Microsoft.Azure.WebPubSub.Common. You can review API changes here

API changes have been detected in Microsoft.Azure.WebPubSub.Common. You can review API changes here


[FEATURE] Implement querying 1 bot detection or a list of bot detections

Proposed Solution

Query a specific detection bot by it's id.
Similar to Forta Explorer Bot Search, query a list of detection bots by bot name text match or developer id.

Requested by: @kovart

Hey @kovart, code is complete for this feature. I just need to test it out in the dev environment, so plan to deploy this feature in prod next Monday.
You'll be able to query bots with these filter parameters.

And the following fields will be queryable.

@kovart, the feature is now available!
Here's an example query
query Bots($input: BotsInput) {
  bots(input: $input) {
    bots {
      chainIds
      createdAt
      description
      developer
      docReference
      enabled
      id
      image
      name
      reference
      repository
      projects
      scanNodes
      version
    }
    pageInfo {
      totalBots {
        relation
        value
      }
      hasNextPage
      endCursor {
        createdAt
      }
    }
  }
}

input variables
{
  "input": {
    "name": "flashloan"
  }
}

I'll update docs sometime this week. Let me know if you have any questions here or on discord!


feat: Refactor to MVP and implement login

Implement MVP architecture
Add LoginPresenter, LoginModel and UtilModel and their unit tests

This is the last update with so many changes as this was changing the package architecture of the app to MVP compliant
Only actual change is addition of retrofit, rxjava, retrolambda and MVP implementation of Login Screen
I have tested it myself
Please test @Ronak-59 @mejariamol @Rishabhk07 so we can merge

@niranjan94 I think we should merge as the changes are trivial and I have also written thorough tests for both LoginPresenter and LoginModel and both are passing
Also, I have tested the login under various conditions and network errors, I'd say it's more robust and covered than before
And sorry for all for this large a PR, needed to refactor the structure to MVP


LOG4J2-2955: More precise file size expression parsing; fail-fast behavior for invalid expressions

…avior for invalid expressions

I started to apply this and got an error from revapi that compatibility had been broken. The previous version passed in a default value and used that if there was an error. This version throws an exception which will cause Appender initialization to fail. I think I prefer logging an error and using the default.

Part of the patch was applied.


Block build docker in CI pipeline behind build-package button.

[x] Reduce CI resource usage by postponing building the docker image of the wallet to merging to master phase.

bors r+


Test Report 2

In several days ago, I have used "lyuv Video Output" and found the performance was not improved.
I had told in the "Test Report" issue, but @lukasf  said "And as you can see, there is almost zero CPU time spent in our code anymore with iyuv. So I didn't have any more convincing evidence to contradict.
Until yesterday, I'm wondering if performance hasn't changed because the Windows Runtime API layer will help you convert the output format.
So today, I tested via the Performance Profiler and generated the detail report.
So my guess was validated. Please look at the screenshot.

Play the same video, output format convertion uses 24.68% of CPU time. The CPU time is three times more than using the sws_scale. (The sws_scale only uses about 8% of CPU time.)
So I was removing video passthrough implementations in my fork is a wise choice.
What do you think about that?
Mouri

You do not need to remove the code. In the config class, Iyuv output is disabled by default, so it will not be used, unless you explicitly enable it. When I implemented Iyuv mode, I found performance was better compared to NV12 with sws_scale. Then we found out that for some formats, the wrong color range was used. When I added color range information to sample format, I found that this takes a considerable hit on performance, so for those files, performance was worse, compared to sws_scale. My guess is that sws_scale does conversion and color range correction in one go, while MF seems to do this ineffective, maybe processing data twice.
You can try to disable the following code, and see if Iyuv performance improves:
if (m_OutputPixelFormat == AV_PIX_FMT_YUVJ420P)
	{
		// YUVJ420P uses full range values
		videoProperties->Properties->Insert(MF_MT_VIDEO_NOMINAL_RANGE, (uint32)MFNominalRange_0_255);
	}

MPC-HC just ignores color range and outputs the image with wrong color range. I tought about making color range correction optional, to allow performance tweaks. At least in my testing a while back, Iyuv without color range correction gave lowest CPU usage.

By the way, the video file is coming now, slowly, seems DHT has found some source. I will let you know once I received and tested it.

It is only need a buffer copy if we use the sws_scale.
But if we use the passthrough, MF will convert output format before the buffer copy.
My Windows version is 16299.248

Oh, really? For my files, CPU usage went down from 75% to 65% when disabling that code. Well, maybe things also depend on the system or whatever.
By the way, the video file is coming now, slowly, seems DHT has found some source. I will let you know once I received and tested it.

Got, thanks.

I have been able to test with your 120fps file. And you know what? Surprisingly, I get totally different results! For me, FFmpegInterop is by far the fastest decoder. It only uses 30-40% CPU and about 55% GPU. Absolutely fluid playback. MPC-HC uses 70-80% CPU and 75% GPU, but manages fluid playback. PotPlayer is worst. It stutters and is often at 80-90% CPU, GPU also over 80%.
These are the results with ffmpeg 3.4.2. I also tested with the older ffmpeg 3.3.2 and it had about 5% higher CPU usage, still, it was by far the fastest of the pack.
Well, I am really a bit surprised by the results. Which ffmpeg version are you using? I can only recommend you to try ffmpeg 3.4.2, maybe it will improve performance for you as well. Maybe things are just very much dependend on the system, hardware, drivers, whatever. I have also seen FFmpegInterop being the fastest with other files as well, as I wrote previously. Maybe it just works very well with my system.

Adding to that, maybe it is clear, but if you want to see real world performance, you always must test with "Release" build and without debugger. If you have debugger or performance profiler attached, performance will be a lot worse than normal. And debug builds are obviously also pretty bad, performance wise.

I tested it with the FFmpeg 3.4.2. Of course, the Release(x86) version.
My PC Hardware is: Xeon E3 1230 V2 + 8GB DDR3 1333 x2 + GTX760 + 256GB SSD
What's your hardware system, and I want to know the FFmpeg configure parameter which you are using.
My FFmpeg configuration: https://github.com/M2Team/FFmpegUniversal

I also want to make a suggestion.
How about using the C++/WinRT after the RedStone 4 released?

Also, I want to make friends with you.
Because it's not good to ask for your email address here, if you also want to make friends with me, please email to<EMAIL_ADDRESS>(This is my public email address.)

My Laptop has a Core i7-7700HQ (8t 2.8-3.8GHz), 16GB RAM (dual channel) and GTX 1050 (but test was run with iGPU). Now I was just thinking, what kind of display do you use? I tested on my 60Hz laptop display. Maybe things would look different on a 120Hz display. But I don't have such a display.
Yes I took some inspiration from your build files. Especially the part for finding the VS installation folder was shamelessly stolen ;) Still it was quite a struggle to get this running correctly, but in the end I figured it out. I built ffmpeg 3.4.2 with that new file, 3.3.2 was build with the older VS2015 files. You are using some different options in your build configuration, I cannot say if that makes a difference.
I really like C++/WinRT form what i have seen. I have not used it yet, it looks very promising. But I don't know if I'd start rewriting the code from C++/CX to C++/WinRT. I'd probably use it next time I start a new WinRT project, to get some experience with that.

Got.
If I remember correctly, starting with the 7th gen Intel CPU's GPU can use hardware decoding to play this kind of video. (Intel GPU is really good at hardware video decoding,)
Of course you can reference my script implementation without notice me. (I think no people will be helped until see your reply because my script has no GitHub stars. Thank you for referencing it.)

https://github.com/M2Team/Violet
This is my fork repo I mentioned before. I removed the hardware decoding and passthrough. (Make better performance on my Desktop PC.)
PS: My Desktop PC has no iGPUs, only a Nvidia Kepler GPU.

All testing was done without hardware acceleration or IYuv passthrough. With hardware decoding, I only have ~3% CPU usage. IYuv did not improve performance for me with this file, so I left it disabled.
As I said before, you do not need to remove passthrough or HW acceleration code. If the config flags are set to false, the code paths will not be used. You will not get any better performance by removing code that is not used.
And by the way, why would you want to remove HW acceleration? It is ok to disable it for testing SW decoding performance. But you surely would not want your app to use SW decoding when HW acceleration is available.

Because I want to make a smaller binary.
HW decoding is good, but the FFmpegInterop don't know the HW decoder's limit. In some cases beyond the coding limit of the screen will be problematic (I use HW decoder in this video in my PC hard solution will lose frames)

Even using the SW decoder, with the new CPU instruction sets in fact the CPU usage is smaller than I think (1080p 10%), so it removed.

Using the HW decoder in MPC-HC is enabled by default, so playing my test video without setting on my PC will cause problems.
There is no problem in PotPlayer because it uses the SW decoder by default.

Well, I don't know what your scenario is. But if this is intended for general use (and not just a private project running on your specific devide), then it would be better to leave HW acceleration in place and have a setting in the options, so users can enable and disable it. For almost all users it will be better to have HW acceleration enabled, if they have a compatible (i)GPU.
The ffmpeg dlls alone are 16-21mb per platform. The size of the FFmpegInterop.dll is very small in comparison, no matter if it conains passthrough code or not. You can of course fork and remove code, if you think it is a good idea. But you will have to manually keep your fork up-to-date, and probably run into merge conflicts every now and then. I would not want to do that, if the only benefit is saving a few KBs (of a multi MB project).

Yes, sync code regularly is a chore.
I merge the FFmpeg dlls in one FFmpeg dll in my compile configuration.
It makes the folder neat, I don;t like plenty of dlls in my app's folder.
But for compatibility, I recommend that FFmpegInterop use software decoders by default.
Because no one knows what kind of video the user will play.
The user's choice is easily make us unexpected. A desktop application I've been involved in has received a feedback in recent years which is "Someone use this tool on PC with Pentium 3 CPU and find it crashed."

I am agree with you.
PS: If the project does not involve media encoding in the future, you can save space by disabling all encoders in the FFmpeg compilation script.

That is a good idea. I will check how that improves file size in the 3.4.3 branch.

PS: I tested FFmpegInterop with GPLv3 mode of FFmpeg just now. No improvement.


Radio or long music can fill your disk entirely

In dev branch, the way on how is handled buffer can fill up the disk. When buffer is end to client it's not removed from file, so radio that are unlimited will create a really big file, as data are saved in raw byte in the file.

Didn't think anyone would run into this problem. But yes, if you do listen radio for hours with no stops, temp music file can get extremely large.
Not really sure how should i tackle this

merged a PR to address this, thanks a lot @Nitix


update grafana versions

manual cherry pick of https://github.com/istio/installer/pull/496

@linsun: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

noauth_installer_release-1.4
017dee7b1ebfadf644e9474e56c3393178170770
link
/test noauth_installer_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test noauth_installer_release-1.4


Parametrizing db creds (host, user and pwd)

Usecase:
Accessing database other than localhost/gis with nopwd
Proposed design:

read from env vars
read host and username from cmd params and the prompt for pwd
if you can tell me which one you prefer (or if you see the need for this feature at all)  I will make a PR

I have already extracted the "dataSourceName" into config.go on Saturday, so that it is easier to configure for your own needs. But I see, that hardcoding a password is not good.
I would prefer doing it with an environment variable, because I'd like to keep osmf as non-interactive as possible, so that it can be used in scripts. I would, however, not use multiple variables, but just one, which is the URL or DSN string (both are accepted in sql.Open; see the documentation of github.com/jackc/pgx).


kubefirst local 1.10.9 - github-runner doesn't pick up jobs from a new repository

unclear if this will be a problem on 1.11, but noticed during customer support tonight that after terraforming a new git repo, copying app code, .argo, .github, build folder, and renaming objects appropriately, the github action starts but never gets picked up by the runner.
deleting the runner pod doesn't allow it to pick up the job.
doesn't need to be fixed as a patch for 1.10, but we should be sure it's not an issue on 1.11.
to recreate:

kubefirst local for a new k1 stack
atlantis pr to add a new repo called metaphor-new
copy all code from metaphor-go into metaphor-new
globally replace metaphor-go to metaphor-new in all folder names and file content
git commit and push, evaluate if job picks it up (job can fail due to gitops desired state directories not existing, but it cannot just hang like it does on 1.10.9)

This is not a bug exactly, it is a consequence the way the template is created and the limitation that we use "user" account, instead of a "organization" for hosting local repos.
This template for the runner, enforces that the runner is deployed per-repository.
https://github.com/kubefirst/gitops-template/blob/main/localhost/components/github-runner/runnerdeployment.yaml
On cloud, we use a org level set of runners, therefore this issue doesn't happen.

For the cloud deployment:
https://github.com/kubefirst/gitops-template/blob/main/components/github-runner/github-runner.yaml#L32
To allow this new repo to be served by a runner, the user must got to this deployment, copy and create a new set of runner for the new repository to be observed.

My comments are based on the fact, that maybe we didn't update this runner definition here:
"globally replace metaphor-go to metaphor-new in all folder names and file content"
Beyond of that it is not clear for me, where else could be the issue.
Points to observe:

On the repo, if the runner it is well registered, it should be visible a self-hosted runner.
On the local side, the runner pods usually mentions that is listening to github events

git commit and push, evaluate if job picks it up (job can fail due to gitops desired state directories not existing, but it cannot just hang like it does on 1.10.9)

Could you provide more details on that?

I tried to reproduce this behavior by installing localhost using the main branch.
Steps:

go run . local --gitops-branch main --metaphor-branch main

Added code block below to gitops/terraform/github/repos.tf:

# todo add organization support
module "metaphor" {
  source = "./modules/repository"
  visibility         = "private"
  repo_name          = "metaphor-new"
  archive_on_destroy = false
  auto_init          = true # set to false if importing an existing repository
}

resource "github_repository_webhook" "metaphor_atlantis_webhook" {
    repository = module.metaphor.repo_name

    configuration {
      url          = var.atlantis_repo_webhook_url
      content_type = "json"
      insecure_ssl = false
      secret       = var.atlantis_repo_webhook_secret
    }

    active = true

    events = ["pull_request_review", "push", "issue_comment", "pull_request"]
}

Open a PR to run atlantis apply

Copy all content from metaphor-go to metaphor-new

Added code block below to gitops/components/github-runner/runnerdeployment.yaml:

---
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: actions-runner-metaphor-new
  annotations:
    argocd.argoproj.io/sync-wave: "20"
spec:
  replicas: 1
  template:
    spec:
      repository: cicdk1/metaphor-new
      image: summerwind/actions-runner-dind
      serviceAccountName: github-runner
      dockerdWithinRunnerContainer: true
      automountServiceAccountToken: true

After completing all previous steps, github runner was able to execute the action as expected.

@johndietz Can you confirm that you followed all the previous steps described by me, to be more specific, step 5?
Thanks!

hey team / @marinhojess, i'm sorry about any cycles spent on this one - i did eventually discover the detail about the runner-per-repo requirement for the personal github story - i was unaware of that requirement on local / personal github. we'll need to document that somewhere in the local docs. i'll open a docs issue for that.


Cannot Pack a Fresh App

Describe the bug
I created a new app and added the platform template from this project. Then I attempted to build the project, but it resulted in an error by using the provided 'electron:pack' npm command.
To Reproduce
cd /tmp
ionic start # go through the installer, react, blank
npm i @capacitor-community/electron
ionic build
npx cap add @capacitor-community/electron
#npx cap open @capacitor-community/electron # works correctly
cd electron
npm run electron:pack #fails

Expected behavior
It should probably not fail and generate the artifacts
Errors
node_modules/builder-util-runtime/out/httpExecutor.d.ts:9:5 - error TS2411: Property '"accept-charset"' of type 'string | string[]' is not assignable to 'string' index type 'string'.

9     [key: string]: string;
      ~~~~~~~~~~~~~~~~~~~~~~

node_modules/builder-util-runtime/out/httpExecutor.d.ts:9:5 - error TS2411: Property '"accept-encoding"' of type 'string | string[]' is not assignable to 'string' index type 'string'.

9     [key: string]: string;
      ~~~~~~~~~~~~~~~~~~~~~~

node_modules/builder-util-runtime/out/httpExecutor.d.ts:9:5 - error TS2411: Property '"accept-language"' of type 'string | string[]' is not assignable to 'string' index type 'string'.

9     [key: string]: string;
      ~~~~~~~~~~~~~~~~~~~~~~
.....

The list goes on...
Found 17 errors in 2 files.

Errors  Files
    16  node_modules/builder-util-runtime/out/httpExecutor.d.ts:9
     1  node_modules/chokidar/types/index.d.ts:9

Desktop:

OS: Fedora 40
Node: v20.12.2
In main project folder relevant package.json dependencies

"@capacitor-community/electron": "^5.0.1"
"@capacitor/core": "6.0.0",

In electron generated folder relevant package.json dependencies

"dependencies": {
  "@capacitor-community/electron": "^5.0.0",
  "chokidar": "~3.5.3",
  "electron-is-dev": "~2.0.0",
  "electron-serve": "~1.1.0",
  "electron-unhandled": "~4.0.1",
  "electron-updater": "^5.3.0",
  "electron-window-state": "^5.0.3"
},
"devDependencies": {
  "electron": "^26.2.2",
  "electron-builder": "~23.6.0",
  "electron-rebuild": "^3.2.9",
  "typescript": "^5.0.4"
}

Additional context
I think the problem is 100% reproducible, maybe the current dependencies are outdated in the electron app template.
Thankyou !

Same issue...


Cursor does not change on clickable links

When hovering over a project in the project list, the cursor looks like a text cursor, not a click cursor

Done in 'develoment'.


Failing to summon/join

When i try to summon the bot it spits out this in the channel
Traceback (most recent call last):   File "D:\APPLICATIONS\Discord MusicBot\musicbot\bot.py", line 1913, in on_message     response = await handler(**handler_kwargs)   File "D:\APPLICATIONS\Discord MusicBot\musicbot\bot.py", line 1310, in cmd_summon     player = await self.get_player(author.voice_channel, create=True)   File "D:\APPLICATIONS\Discord MusicBot\musicbot\bot.py", line 363, in get_player     voice_client = await self.get_voice_client(channel)   File "D:\APPLICATIONS\Discord MusicBot\musicbot\bot.py", line 235, in get_voice_client     s_id = self.ws.wait_for('VOICE_STATE_UPDATE', lambda d: d.get('user_id') == self.user.id) AttributeError: 'WebSocketClientProtocol' object has no attribute 'wait_for'

Please update your bot to the newest version.
Latest release 1.9.5.
https://github.com/SexualRhinoceros/MusicBot/archive/1.9.5.zip

Update your deps too.


support of dbf files encoded in utf-8

support of dbf files encoded in utf-8

we can just use the built in node/browserify string decoder which will help us with some of the crazier edge cases, I'm trying to remember why I have that regex there so I do need to do some poking, you said something about  .cpg in the original email you sent do you know what kind of info that has?

hm I think we can blame @jimmyrocks for that regex as he added it in calvinmetcalf/shapefile-js#7 but while it's supposed to remove a trailing null character, from looking at this it doesn't seem to do that.

.cpg is just a text file with encoding for .dbf
here reference: https://en.wikipedia.org/wiki/Shapefile
so the encoding param that is to be passed to parseDBF should be taken from
.cpg file if available, otherwise utf-8 seems to be resonable default
not 100% sure, but it looks as if StringDecoder will work with utf-8 and
utf-16 only (will check it), while .dbf files could be encoded differently.
In Poland we've got windows1250 and iso8859-2 and I think its typical use
case that .dbf files are utf-8
Kind regards, Blazej
2017-03-22 13:22 GMT+01:00 Calvin Metcalf<EMAIL_ADDRESS>
we can just use the built in node/browserify string decoder
https://nodejs.org/api/string_decoder.html which will help us with some
of the crazier edge cases, I'm trying to remember why I have that regex
there so I do need to do some poking, you said something about .cpg in
the original email you sent do you know what kind of info that has?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/calvinmetcalf/parseDBF/pull/9#issuecomment-288382185,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD7bbFd2p55DcU1swEUgRB0A50XnRoT8ks5roRJogaJpZM4Mkl8U
.

The regex should work for a null character. For example:
'abcdefg\0'.replace(/\0|\s+$/g,'␀');
Will return:
"abcdefg␀"
It is strange that it will remove any null characters, but multiple whitespace characters, it may be better to rewrite it as:
'abcdefg\0\0\0   '.replace(/[\0|\s]+$/g,'␀');
Which returns:
"abcdefg␀"
The current code removes all null characters, despite where they are
'abcdefg\0\0\0   '.replace(/\0|\s+$/g,'␀'); returns an ugly "abcdefg␀␀␀␀"
and
'abc\0defg\0\0\0   '.replace(/\0|\s+$/g,'␀'); returns "abc␀defg␀␀␀␀"
Of course, we're not replacing it with "symbol for null", we're just replacing it with nothing, so the multiple matches at the end don't make much of a difference.

.dbf files are not utf-8
2017-03-22 13:50 GMT+01:00 Błażej Koszny<EMAIL_ADDRESS>
.cpg is just a text file with encoding for .dbf
here reference: https://en.wikipedia.org/wiki/Shapefile
so the encoding param that is to be passed to parseDBF should be taken
from .cpg file if available, otherwise utf-8 seems to be resonable default
not 100% sure, but it looks as if StringDecoder will work with utf-8 and
utf-16 only (will check it), while .dbf files could be encoded differently.
In Poland we've got windows1250 and iso8859-2 and I think its typical use
case that .dbf files are utf-8
Kind regards, Blazej
2017-03-22 13:22 GMT+01:00 Calvin Metcalf<EMAIL_ADDRESS>
we can just use the built in node/browserify string decoder
https://nodejs.org/api/string_decoder.html which will help us with
some of the crazier edge cases, I'm trying to remember why I have that
regex there so I do need to do some poking, you said something about .cpg
in the original email you sent do you know what kind of info that has?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/calvinmetcalf/parseDBF/pull/9#issuecomment-288382185,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD7bbFd2p55DcU1swEUgRB0A50XnRoT8ks5roRJogaJpZM4Mkl8U
.

removing the g flag would cause it to only remove the trailing null
I think that website is wrong about what that regex does so vindicated @jimmyrocks
I think there ends up being 2 issues, trailing white spacing and nulls, so we may be able to split it up into 2 things

that being said it looks like text-encoding is probably better then the built in node one as it's much more aligned with what we want

ah just for fun textdecoder and cpg files use different names for the same encoding, woopie

should the mapping be done here or in shapefile-js?

ah so as it turns out text-encoding by default doesn't include anything beyond the basic files unless you also include their big half megabyte index, so I'm going to have to think about the best way to do it taht would work for everyone

ok so we probably want to be able to parse the cpg files, so we're going to need the mappings to be able to do that, then we'll need the text-encoder polyfill for use in node and IE and we'll probably want to include the additional encodings in node but not IE by default and have a note saying you can include that file to get it to work with obscurer encodings in IE

hm iconv-lite might be a compromise as it has the more well known ones without as much of the crazy

@koszny  if you could point me to an example of of shapefile with non-default encoding that would be very helpful

http://download.geofabrik.de/europe/poland/malopolskie-latest-free.shp.zip

the cpg in those just says 'UTF-8'

duh because that's what this pull is about, do you have any examples with windows1250 or more exotic encodings ?

then check here ftp://<IP_ADDRESS>/prg/jednostki_administracyjne.zip

thanks I ended up figuring out how to make one with polish names in the windows1250 encoding

and it looks it might be tricky to use https://github.com/czhj/codepage-encoding ie. 'ISO 1250' won't map to anything, I doubt all software use same convention to keep encoding info in .cpg file

so I'm using that to map the code page number to it's name not the other way around, from what I can tell, the cpg file either has a number or the phrase 'UTF-8'

oh excellent, you're files don't put the codepage number in there, um how exactly did you generate them?

the file is from http://www.codgik.gov.pl/index.php/darmowe-dane/prg.html, but dunno how it was generated.

any update on this?

I'm waiting on inexorabletash/text-encoding#70, I'd prefer to just use that, if not I can create my own fork

ok we should support it now


use spinlock

This is more of a readability improvement than it is a performance improvement.
spin.Lock(&c.lock) is more obvious than for !atomic.CompareAndSwapUint32(&c.lock, 0, 1){}. It's also much faster (itself) in the contended case, although the overall performance improvement is about 3%.


Please add at least one readable theme

Please, add at least one readable scheme. I'm still looking for one, I restarted 10 times already trying some combination which works,
but it's all black-on-black, white-on-white, white-on-white with stylish gray shading. NOTHING is readable. I really don't care if it's yellow-on-blue or old-school black on white, but please, at least one easy to find, ideally default, readable color scheme.

Please provide screenshots of how does it look like and specify your OS version.

I almost test all combinations really only the high-contrast is actually readable (still not ideal, but at least somehow readable). I'm not without and issue, but with color sensitivity 10/10.
taken on ubuntu 22.04, dbeaver 24.1

update: not even high-resolution:

If I correctly understood, provided screenshots are for High-contrast theme. Could you show how does just Dark or Light theme are look like for you?

light theme:

I see. It's the same issue as here #34311
I'll close this issue as a duplicate to keep it in one place. You can left a comment or subscribe to the mentioned issue to get updates.
It's a bug and we will investigate it.

I'd like to do so, but I'd have to clean them up as I see there some potentially sensitive data. I don't see any errors in them. If you want me to grep you smth from then, I can do that.

I would be looking for errors, yes.
OK, thank you.

I undersand, but I would like to avoid company security complaints, so I cannot share them all. Grep result:
~/.local/share/DBeaverData/workspace6/.metadata$ ls *log | xargs grep -i exception
dbeaver-debug.log:org.jkiss.dbeaver.DBException: Can't read tablespace statistics
dbeaver-debug.log:Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
ls *log | xargs grep ERROR

so only 2 exceptions, which are related to wrong statement/connection?

It seems there is no exceptions in the logs, which might help investigating. I see. Thank you.

Could you try installing Early Access version from here https://dbeaver.io/files/ea/?

that was quick!
I checked, it looks very nice.
I used dark+classic theme, it looks like this now:

Thank you!


Crash in Xamarin.iOS NSInternalInconsistencyException

I have implemented CarouselView in a project at the beginning of this year, it's working fine till iOS 12 but recently there was a new OS update to iOS 13, and the app crashes when the user swipes fast through the slides. I tested the same issue in iOS 12 and below, i'm unable to replicate the above issue, it's occurring only in iOS 13, can you please look into it?
Note: UI is not being updated upon slide.
Exception:
Objective-C exception thrown.  Name: NSInternalInconsistencyException Reason: Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.
Native stack trace:
   0   CoreFoundation                      0x00000001c2e9c9a0 DA838E75-6B30-360E-9661-C4800A7E1BF6 + 1227168
   1   libobjc.A.dylib                     0x00000001c2bc50a4 objc_exception_throw + 56
   2   Foundation                          0x00000001c3372d64 0DF2911E-80CB-3289-8A1E-ED0913D55A12 + 2252132
   3   Foundation                          0x00000001c317dfd4 0DF2911E-80CB-3289-8A1E-ED0913D55A12 + 200660
   4   Foundation                          0x00000001c317deec 0DF2911E-80CB-3289-8A1E-ED0913D55A12 + 200428
   5   Foundation                          0x00000001c317db60 0DF2911E-80CB-3289-8A1E-ED0913D55A12 + 199520
   6   UIKitCore                           0x00000001c7322880 82C949DD-37F6-35F7-B3EF-62BA342F6BF5 + 15108224
   7   CircusApp.iOS                       0x0000000105de4a8c CircusApp.iOS + 15436428
   8   CircusApp.iOS                       0x0000000105d773bc CircusApp.iOS + 14988220
   9   CircusApp.iOS                       0x0000000106338334 CircusApp.iOS + 21021492
   10  CircusApp.iOS                       0x000000010535810c CircusApp.iOS + 4374796
   11  CircusApp.iOS                       0x0000000106c87204 mono_pmip + 29200
   12  CircusApp.iOS                       0x0000000106d3fbdc mono_pmip + 785384
   13  CircusApp.iOS                       0x0000000106d4362c mono_pmip + 800312
   14  CircusApp.iOS                       0x0000000104f731f8 CircusApp.iOS + 291320
   15  CircusApp.iOS                       0x0000000104f73100 CircusApp.iOS + 291072
   16  UIKitCore                           0x00000001c7335270 82C949DD-37F6-35F7-B3EF-62BA342F6BF5 + 15184496
   17  QuartzCore                          0x00000001c98215f8 5A4A8F86-A37D-3290-AC6A-9C03140FA5D3 + 1377784
   18  QuartzCore                          0x00000001c9825e28 5A4A8F86-A37D-3290-AC6A-9C03140FA5D3 + 1396264
   19  QuartzCore                          0x00000001c9831894 5A4A8F86-A37D-3290-AC6A-9C03140FA5D3 + 1443988
   20  QuartzCore                          0x00000001c977a9f0 5A4A8F86-A37D-3290-AC6A-9C03140FA5D3 + 694768
   21  QuartzCore                          0x00000001c97a4890 5A4A8F86-A37D-3290-AC6A-9C03140FA5D3 + 866448
   22  CircusApp.iOS                       0x0000000105de498c CircusApp.iOS + 15436172
   23  CircusApp.iOS                       0x0000000105d56690 CircusApp.iOS + 14853776
   24  CircusApp.iOS                       0x00000001063ff338 CircusApp.iOS + 21836600
   25  CircusApp.iOS                       0x00000001050ab864 CircusApp.iOS + 1570916
   26  CircusApp.iOS                       0x00000001050a9268 CircusApp.iOS + 1561192
   27  CircusApp.iOS                       0x00000001050a9054 CircusApp.iOS + 1560660
   28  CircusApp.iOS                       0x00000001050a8fc8 CircusApp.iOS + 1560520
   29  CircusApp.iOS                       0x00000001050aba0c CircusApp.iOS + 1571340
   30  CircusApp.iOS                       0x000000010535810c CircusApp.iOS + 4374796
   31  CircusApp.iOS                       0x0000000106c87204 mono_pmip + 29200
   32  CircusApp.iOS                       0x0000000106d3fbdc mono_pmip + 785384
   33  CircusApp.iOS                       0x0000000106d457f0 mono_pmip + 808956
   34  CircusApp.iOS                       0x0000000106d7e8f8 mono_pmip + 1042692
   35  CircusApp.iOS                       0x0000000106d7e6bc mono_pmip + 1042120
   36  libsystem_pthread.dylib             0x00000001c2bb91ec _pthread_start + 124
   37  libsystem_pthread.dylib             0x00000001c2bbcaec thread_start + 8

Can you reproduce it on a simulator?

because I can't reproduce it on my sample on a simulator.
Probably I need a "heavy" UI for that?
Can you build a sample?

Now trying to "kill" the app with

still no crash on a simulator
Are you sure you don't change anything yourself?
Provide a sample with all necessary info, please

No, it does not crash on a Simulator but instead, it does not load the slide which should have crashed and the activity indicator shows that the swipe has occurred

@callyrajiv can you try to reproduce this bug on my sample?

https://forums.developer.apple.com/thread/121424

The link that you sent me, it has not been solved yet.
I'll prepare a sample and sent it to you by EOD or tomorrow

@callyrajiv great thanks

Just tried on a real device with "heavy" sample - no crash
So, yeah. Waiting for a sample from you :)


Port the original Http.url API to this project

Addresses #10

Any reason this PR hasn't been looked at or accepted? I'm wanting to construct a simple query string with elm, and it seems like this PR would help 😄

Yes. There is a package that will be released with the next version of Elm that will do this in a more comprehensive way. https://github.com/elm-lang/url It is not published yet, and the fastest path to getting it published is to focus on the big batch of work needed for the Elm release.


feat: add logging support

For #388
use golang 1.N.P version syntax

hi @yuluo-yx , https://github.com/LinuxSuRen/api-testing/pull/377 make this PR conflict status, sorry about this.

hi @yuluo-yx , #377 make this PR conflict status, sorry about this.

no problem, I will fix it. 🚀

ptal @LinuxSuRen , it is prepared to review

A few suggestion. Please take a look at it.
I guess some usages are incorrect. See also:
2024-04-22T11:13:34.014+0800    DPANIC  server  cmd/server.go:236       odd number of arguments passed as key-value pairs for logging   {"ignored key": "[::]:7070"}
2024-04-22T11:13:34.014+0800    INFO    server  cmd/server.go:236       gRPC server listening at %v
2024-04-22T11:13:34.015+0800    DPANIC  server  cmd/server.go:288       odd number of arguments passed as key-value pairs for logging   {"ignored key": "[::]:8080"}
2024-04-22T11:13:34.015+0800    INFO    server  cmd/server.go:288       HTTP server listening at %v

got it, I will fix it.

I would like to know if there is something special in this log lib you added, because I found that lots of colon were missing in the logging message🤔

And I also notice that you seems like constructing logging message manually instead of logging formatted. Are there any advantages?

I would like to know if there is something special in this log lib you added, because I found that lots of colon were missing in the logging message🤔

e.g.
xxxLogger.Info("this is a msg", "age", age, "name", name)
{"level":"info","msg":"this is a msg","age":20,"name":"test"}

And I also notice that you seems like constructing logging message manually instead of logging formatted. Are there any advantages?

I do not understand? Can you give an example?

I would like to know if there is something special in this log lib you added, because I found that lots of colon were missing in the logging message🤔

e.g.
xxxLogger.Info("this is a msg", "age", age, "name", name)
{"level":"info","msg":"this is a msg","age":20,"name":"test"}

I got it, thanks.

This mistake is made by me. Sorry about it.
I think this kind of log message is good for log system, but is not friendly for human reading.

And I also notice that you seems like constructing logging message manually instead of logging formatted. Are there any advantages?

I do not understand? Can you give an example?

I have got that you are using structured logs so you can ingore this👍

I need to do more tests manually due to there are some dependency upgrades. It might take some time.

no problem, If has any problem, please call me.

Please ignore the report error.


Enhance the books method in the UIDebugCommandFactory

./RULEngine/Debug/uidebug_command_factory.py:82:    # TODO make this better maybe?

The problem: ?

The book method should have the parameter of the command, instead of receiving a dict with everything

Done in #339


Change over from Algolia search to PHP search backend

We originally added in Algolia as a stop gap as we had not very many
days before launch and needed to get something in quickly. However
Algolia is very expensive and although the searching is great we cannot
afford to keep running the site on it.
Here is where @ChrisHolland came in :D. There is now a PHP backend
setup that is super fast and works the same as Algolia for all intents
and purposes for our search! The new useSearch hook uses that and
removes the need for Algolia entirely from the site.
NOTE: I believe the new backend only indexes approved Businesses, so I could remove that search filter.
Pages/Interfaces that will change

Businesses page search functionality has changed but should look exactly the same.

Steps to test

Go to the businesses page
View results
Search for as many different variations you can think of.
Go through many pages in pagination.
Try and break it.

Additional Notes

We will need to add SEARCH_API_ENDPOINT environment variable to Netlify.

Oh! @llexical any chance we can also remove the "Search powered by Algolia" bit in this PR as well?


Characteristic Warnings

Describe The Bug:
Continuation of bug/status report: https://github.com/baboons/homebridge-electrolux-wellbeing/issues/20
Version 1.1.1 has been running fine so far, thank you.
Haven't been logged off yet, but not too much time since install has elapsed.
Still getting the usual characteristics warnings. I don't know whether this is due to the AX5 only having the PM and light sensors, whereas the AX9 does have TVOC, temperature, humidity sensors in addition to the previously mentioned sensors.

Expected behavior:
Perhaps there's a way to chose in the plugin settings which sensors to display in HK. Or ideally have the plugin automatically choose the correct sensors. Just an idea. I have no clue, whether this can be achieved at all.

Logs:
[17/02/2023, 23:50:17] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[17/02/2023, 23:50:17] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Current Relative Humidity': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[17/02/2023, 23:50:17] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Carbon Dioxide Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[17/02/2023, 23:50:17] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'VOC Density': characteristic value expected valid finite number and received "NaN" (number). See https://homebridge.io/w/JtMGR for more info.
[17/02/2023, 23:50:17] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Filter Life Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[17/02/2023, 23:50:17] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Swing Mode': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.

Environment:

Plugin Version: homebridge-aeg-wellbeing v1.1.1
Homebridge Version: v1.6.0
Node.js Version: v18.12.1
Operating System: Raspbian GNU/Linux Bullseye (11)

I just got this error with the light sensor, so I commented it out. I will have a think, but the way it is currently written it adds the sensors to HK, before getting any data.

Actual looking a bit more maybe it does have enough data when it creates it in HK. In theory I just need to see what fields are in the first response from the server and hopefully that has the data in it we need to decide what sensors to create.
Just looked at the AX-5 and it costs only 10 quid less than what I paid in the January sales for the AX-9. Bit out of my budget to go by one, so if I see a way to fix this I'll need some help testing it.

I've just published v1.1.2-beta. It adds some extra logging when it starts up to print out all the data that comes back from the API. I would be great full if you could post what you get back below. I've also tidied up the code a fair bit, so it would be good if you test to see if I broke anything.

This is what I see with the AX9
[18/02/2023, 20:40:29] [homebridge-aeg-wellbeing] Fetched appliances:  [
  {
    applianceName: 'AEG AX9',
    created: '2023-01-31T16:10:35.420187Z',
    id: 1324775,
    modelName: 'PUREA9',
    timeZoneStandardName: 'Europe/London',
    pncId: '950011389103004025087076',
    domainId: 824217
  }
]
[18/02/2023, 20:40:29] [homebridge-aeg-wellbeing] Fetched data:  [
  {
    pncId: '950011389103004025087076',
    name: 'AEG AX9',
    modelName: 'PUREA9',
    firmwareVersion: '2.20',
    workMode: 'Auto',
    filterRFID: '1DB7027E580000',
    filterLife: 96,
    fanSpeed: 2,
    UILight: true,
    safetyLock: false,
    ionizer: true,
    sleep: undefined,
    scheduler: undefined,
    filterType: 96,
    version: 174,
    pm1: 0,
    pm25: 0,
    pm10: 0,
    tvoc: 46,
    co2: 688,
    temp: 23,
    humidity: 50,
    envLightLevel: undefined,
    rssi: -58
  }
]

I'll just dump the whole debug log in here, maybe that can steer you in the right direction.
And don't waste money on an AX5, just to test the plugin :)
Logs Debug:
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Fetched:  [
  {
    pncId: '950011561110006975087076',
    name: 'Luftreiniger ',
    modelName: 'WELLA5',
    firmwareVersion: '1.29.0',
    workMode: 'PowerOff',
    filterRFID: undefined,
    filterLife: undefined,
    fanSpeed: 0,
    UILight: true,
    safetyLock: false,
    ionizer: undefined,
    sleep: undefined,
    scheduler: undefined,
    filterType: undefined,
    version: 10833,
    pm1: 0,
    pm25: 0,
    pm10: 0,
    tvoc: undefined,
    co2: undefined,
    temp: undefined,
    humidity: undefined,
    envLightLevel: undefined,
    rssi: undefined
  }
]
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Error:
    at CurrentTemperature.Characteristic.characteristicWarning (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at CurrentTemperature.Characteristic.validateUserInput (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2903:14)
    at CurrentTemperature.Characteristic.updateValue (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at TemperatureSensor.Service.updateCharacteristic (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at /var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:224:10
    at Array.map (<anonymous>)
    at AEGWellbeingPlatform.updateValues (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:202:22)
    at AEGWellbeingPlatform.checkAppliances (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:117:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Current Relative Humidity': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Error:
    at CurrentRelativeHumidity.Characteristic.characteristicWarning (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at CurrentRelativeHumidity.Characteristic.validateUserInput (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2903:14)
    at CurrentRelativeHumidity.Characteristic.updateValue (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at HumiditySensor.Service.updateCharacteristic (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at /var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:228:10
    at Array.map (<anonymous>)
    at AEGWellbeingPlatform.updateValues (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:202:22)
    at AEGWellbeingPlatform.checkAppliances (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:117:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Carbon Dioxide Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Error:
    at CarbonDioxideLevel.Characteristic.characteristicWarning (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at CarbonDioxideLevel.Characteristic.validateUserInput (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2903:14)
    at CarbonDioxideLevel.Characteristic.updateValue (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at CarbonDioxideSensor.Service.updateCharacteristic (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at /var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:235:10
    at Array.map (<anonymous>)
    at AEGWellbeingPlatform.updateValues (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:202:22)
    at AEGWellbeingPlatform.checkAppliances (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:117:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'VOC Density': characteristic value expected valid finite number and received "NaN" (number). See https://homebridge.io/w/JtMGR for more info.
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Error:
    at VOCDensity.Characteristic.characteristicWarning (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at VOCDensity.Characteristic.validateUserInput (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2903:14)
    at VOCDensity.Characteristic.updateValue (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at AirQualitySensor.Service.updateCharacteristic (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at /var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:255:10
    at Array.map (<anonymous>)
    at AEGWellbeingPlatform.updateValues (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:202:22)
    at AEGWellbeingPlatform.checkAppliances (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:117:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Filter Life Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Error:
    at FilterLifeLevel.Characteristic.characteristicWarning (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at FilterLifeLevel.Characteristic.validateUserInput (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2903:14)
    at FilterLifeLevel.Characteristic.updateValue (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at AirPurifier.Service.updateCharacteristic (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at /var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:262:10
    at Array.map (<anonymous>)
    at AEGWellbeingPlatform.updateValues (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:202:22)
    at AEGWellbeingPlatform.checkAppliances (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:117:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] This plugin generated a warning from the characteristic 'Swing Mode': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[18/02/2023, 21:39:03] [homebridge-aeg-wellbeing] Error:
    at SwingMode.Characteristic.characteristicWarning (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105)
    at SwingMode.Characteristic.validateUserInput (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2903:14)
    at SwingMode.Characteristic.updateValue (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20)
    at AirPurifier.Service.updateCharacteristic (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:795:35)
    at /var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:289:10
    at Array.map (<anonymous>)
    at AEGWellbeingPlatform.updateValues (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:202:22)
    at AEGWellbeingPlatform.checkAppliances (/var/lib/homebridge/node_modules/homebridge-aeg-wellbeing/src/index.ts:117:10)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Thank you, that is really useful. You have a lot more undefined things than me.
If the AX5 had been cheap, I'd consider one in another room. It seems paying £290 for the AX9 was a crazy good deal last month, it's now £590.

@Dann1bo1 just published another beta version that should hopefully get rid of those errors for you.
To remove all the useless sensors from HomeKit, you will need to remove your device from the HomeBridge cache. HK will then see it a few moments later as a new device in HK.
Please let me know how you get on with this version.

v1.1.2-beta.2 seems to have done the trick. No more redundant sensors in HK and no characteristics warnings in HB.
Haven't had any login issues as well. Everything seems pretty stable at the moment.
Thank you!

Thanks for testing it. I've just released v1.1.2 which now also displays the correct AEG model names in the Home App. However, you will need to remove it from the HomeBridge Cache again to see this change.
It was all pretty simple to fix, just added a bunch of if() statements to check if the return data had defined values for the different features.


Incorrect length in enclosure

According to the RSS spec:

The length attribute indicates the size of the file in bytes.

Currently, spotifeed uses duration_ms from the API as enclosure length, which is wrong. As we don't know the size of any particular episode beforehand, from the same doc:

When an enclosure's size cannot be determined, a publisher should use a length of 0.

This should be item.enclosure.length = 0.

Thanks, just put a fix in for that.