GW4200-DNS-30 can't connect with HomeAssistant

Hello,
I've updateded my inverter from a 1 string GW1500-XS to a 2 string GW4200-DNS-30.
After installation al went fine, the inverter is online on the SEMS portal and app
In HA I can't connect on IP address, i've the right one. I've made it static. Only message I'll get is can't connect.

Is this inverter  just new and not yet available with this intergration?
Now I'm using this intergration https://github.com/TimSoethout/goodwe-sems-home-assistant but the data u get in HA is only per 5 minutes and its not local.
Hope to hear from you,
Step-han.

Can you connect to the inverter by SolarGo mobile app ?

Can you connect to the inverter by SolarGo mobile app ?

I'll check it tomorrow, will let you know.

@mletenay
I can connect with de SolarGo mobile app. See screenshots.
https://user-images.githubusercontent.com/54219681/223156072-1a2c9499-683d-4422-96d7-161017755d6a.png
https://user-images.githubusercontent.com/54219681/223156087-c352308a-e0f5-4d47-ae7b-6eaad5c722a8.png
https://user-images.githubusercontent.com/54219681/223156106-80979653-bd09-4159-8a79-4bf4d7f2e921.png
https://user-images.githubusercontent.com/54219681/223156121-0d2a05c5-1ab4-4b30-9cb9-f63e938adf2a.png

Setup/adjust the log levels in configuration.yaml like this:
logger:
  default: warning
  logs:
    components.goodwe: debug
    goodwe: debug

and attach the log output

@mletenay here to log output:
2023-03-08 11:24:07.180 DEBUG (MainThread) [goodwe] Probing inverter at <IP_ADDRESS>.
2023-03-08 11:24:07.183 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241
2023-03-08 11:24:08.185 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:08.185 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #1/10
2023-03-08 11:24:09.187 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:09.187 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #2/10
2023-03-08 11:24:10.189 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:10.190 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #3/10
2023-03-08 11:24:11.193 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:11.194 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #4/10
2023-03-08 11:24:12.196 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:12.197 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #5/10
2023-03-08 11:24:13.199 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:13.199 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #6/10
2023-03-08 11:24:14.202 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:14.202 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #7/10
2023-03-08 11:24:15.204 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:15.205 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #8/10
2023-03-08 11:24:16.207 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:16.207 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #9/10
2023-03-08 11:24:17.211 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:17.211 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #10/10
2023-03-08 11:24:18.213 DEBUG (MainThread) [goodwe.protocol] Max number of retries (10) reached, request aa55c07f0102000241 failed.
2023-03-08 11:24:18.214 DEBUG (MainThread) [goodwe] Probing ET inverter at <IP_ADDRESS>.
2023-03-08 11:24:18.215 DEBUG (MainThread) [goodwe.inverter] Creating lock instance for current event loop.
2023-03-08 11:24:18.217 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1
2023-03-08 11:24:19.218 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:19.218 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #1/10
2023-03-08 11:24:20.221 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:20.221 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #2/10
2023-03-08 11:24:21.223 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:21.223 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #3/10
2023-03-08 11:24:22.225 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:22.225 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #4/10
2023-03-08 11:24:23.227 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:23.227 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #5/10
2023-03-08 11:24:24.230 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:24.230 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #6/10
2023-03-08 11:24:25.232 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:25.232 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #7/10
2023-03-08 11:24:26.235 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:26.235 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #8/10
2023-03-08 11:24:27.237 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:27.238 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #9/10
2023-03-08 11:24:28.240 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to f70388b800213ac1 in time (1s).
2023-03-08 11:24:28.240 DEBUG (MainThread) [goodwe.protocol] Sending: f70388b800213ac1 - retry #10/10
2023-03-08 11:24:29.242 DEBUG (MainThread) [goodwe.protocol] Max number of retries (10) reached, request f70388b800213ac1 failed.
2023-03-08 11:24:29.244 DEBUG (MainThread) [goodwe] Probing DT inverter at <IP_ADDRESS>.
2023-03-08 11:24:29.244 DEBUG (MainThread) [goodwe.inverter] Creating lock instance for current event loop.
2023-03-08 11:24:29.247 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409
2023-03-08 11:24:30.249 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:30.249 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #1/10
2023-03-08 11:24:31.251 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:31.252 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #2/10
2023-03-08 11:24:32.254 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:32.254 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #3/10
2023-03-08 11:24:33.257 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:33.257 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #4/10
2023-03-08 11:24:34.259 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:34.260 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #5/10
2023-03-08 11:24:35.261 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:35.262 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #6/10
2023-03-08 11:24:36.264 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:36.264 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #7/10
2023-03-08 11:24:37.266 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:37.267 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #8/10
2023-03-08 11:24:38.271 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:38.271 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #9/10
2023-03-08 11:24:39.273 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to 7f03753100280409 in time (1s).
2023-03-08 11:24:39.273 DEBUG (MainThread) [goodwe.protocol] Sending: 7f03753100280409 - retry #10/10
2023-03-08 11:24:40.275 DEBUG (MainThread) [goodwe.protocol] Max number of retries (10) reached, request 7f03753100280409 failed.
2023-03-08 11:24:40.277 DEBUG (MainThread) [goodwe] Probing ES inverter at <IP_ADDRESS>.
2023-03-08 11:24:40.277 DEBUG (MainThread) [goodwe.inverter] Creating lock instance for current event loop.
2023-03-08 11:24:40.279 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241
2023-03-08 11:24:41.281 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:41.281 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #1/10
2023-03-08 11:24:42.283 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:42.283 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #2/10
2023-03-08 11:24:43.285 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:43.285 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #3/10
2023-03-08 11:24:44.287 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:44.288 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #4/10
2023-03-08 11:24:45.290 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:45.290 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #5/10
2023-03-08 11:24:46.293 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:46.294 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #6/10
2023-03-08 11:24:47.295 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:47.296 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #7/10
2023-03-08 11:24:48.298 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:48.298 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #8/10
2023-03-08 11:24:49.300 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:49.300 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #9/10
2023-03-08 11:24:50.302 DEBUG (MainThread) [goodwe.protocol] Failed to receive response to aa55c07f0102000241 in time (1s).
2023-03-08 11:24:50.302 DEBUG (MainThread) [goodwe.protocol] Sending: aa55c07f0102000241 - retry #10/10
2023-03-08 11:24:51.303 DEBUG (MainThread) [goodwe.protocol] Max number of retries (10) reached, request aa55c07f0102000241 failed.

Hmm, that is similar mystery than in the #168 with DT inverter.
You get no responses from the inverter at all.
Either Goodwe invented brand new 4th protocol (quite unlikely I guess), or there is something with your network ??
Is the HA machine on the same Wifi ? If not on Wifi but LAN, isn't there a firewall/router which does some filtering and does not properly propagate UDP traffic ?

Hmm, that is similar mystery than in the #168 with DT inverter. You get no responses from the inverter at all. Either Goodwe invented brand new 4th protocol (quite unlikely I guess), or there is something with your network ?? Is the HA machine on the same Wifi ? If not on Wifi but LAN, isn't there a firewall/router which does some filtering and does not properly propagate UDP traffic ?

Nothing wrong with the network. TP-Link modem and deco m5 meshwifi accespoints (realty close to the inverter)
I tested with mesh wifi off and on filterd by the mac adress of the inverter.
The previous inverter GW1500-XS works like a charm.

UDP/8899 is used to communicate with inverter.
Can you sniff the traffic between the SolarGo and inverter to figure out why the app is working and HA not ?

I'll try tomorrow or Saturday.

On a quick look it seems to be the proper protocol and HA should work. But I've noticed SolarGo is connected to 10.10. network, i.e. directly to the inverter and not to your 192.168. local network. So it again smells like the inverter is somehow not properly connected to net. Try to connect SolarGo to your local wifi and not the inverter directly.

Will do tomorrow!

Connect the inverter with home wifi via SolarGo app, still the same issue..

I'm afraid I have no other suggestion for you.
The inverter seems to talk the proper protocol, so HA should work, but you receive absolutely no response to UDP packets.
Must be something specific to you network setup/firewall, you have to somehow figure it out.

There is no firewall that block UDP.
Maybe the wifi-stick in the inverter is not good? I''ll get a other one to test.

Well, the HA talks exactly the same way as SolarGo.
Try using the app from the same network as HA and/or vice versa.
If previous inverter worked, try using the same IP if that has any impact.

I have exactly the same problem with my GW4200-DNS-30. I have 5 Goodwe inverters and the GW4200-DNS-30 is the only one that doesn't work properly in HA. When I try to add it to HA, it kills my inverter connection and I have to do a complete reset of the inverter.
It looks like Goodwe changed something in their newest inverters (note that the the '-30' are relatively new Goodwe models)
I tried 2 different wifi-sticks, with the original firmware and updated firmware. But still the same issue.
My conclusion is that the GW4200-DNS-30 is not compatible with the Goodwe integration.

Finally someone who experiences the same. I even got a new wifi dongle under warranty, tested, exactly the same.
I think that this integration does indeed not work with the latest GoodWe inverter.
As a tip, I am now using this integration, which does work, via the sems-portal API: https://github.com/TimSoethout/goodwe-sems-home-assistant
Only there is 1 flaw, it refreshes the data once every 5 minutes.

The "official" integration will not be updated until someone figures out what is the problem.
The protocol seems to be unchanged, juts the inverter does not response, but it does response to SolarGo.
You have to figure out how/why ...

My GW4200-DNS-30 won't connect either to Home Assistant. I can see the inverter in the SolarGo app, but it only gives "NA" values. Semsportal works fine.
My GW3000-XS connects perfectly with my Home Assistant!

I have an GW3600-DNS-30 alongside a GW4K-DT
In my case, the DNS is also not connecting to Home assistant, the GW4K-DT is functioning properly.

After I have opened a ticket on the GoodWe support site, I received an ARM Firmware update. Now I can connect to the inverter with Home Assistant!
https://support.goodwe.com/

I have an GW3600-DNS-30 alongside a GW4K-DT I have exactly the same case, the GW3600 is not connecting to Home assistant, the GW4K-DT is functioning properly.

After an update by Goodwe i'm able to connect to GW3600-DNS30, but only once. The next day i have to restart/reboot Home Assistant and then HA is able to communicate with the convertor.

Did you guys figure this out? My 4200D-NS worked fine with Home Assistant until this morning, and now I can't get the integration to work again. I also noticed that the 'SolarWifi' network seems very spotty, and often disconnects - even when I'm close to the inverter. Could the wifi module be broken?


Adopt DiamondLightSource Copier Template

Adopt modern tooling via Diamond's copier template
Motivation and Context
The Diamond template is an attempt to create a managed baseline for tooling, configuration etc. for our projects. It is similar enough to projects like event-model and ophyd-async that it could see use in the bluesky org, with some bespoke modifications such as the license.
Description
Adopt the copier template including its tooling and config, and modify the repo to fit while making the minimum of changes to source/docs files.
The tooling includes:

Ruff, replacing flake8 and black for formatting
Mypy for type checking
Config for a developer container
An automatic version of versioneer

See below for rough procedure followed:
Bluesky Copier Adoption Procedure
Naive Adoption
First, naively adopt the copier template:
git checkout -b adopt-copier-template
copier copy --trust gh:DiamondLightSource/python-copier-template .

Offer the following answers to the prompts:
🎤 Name of the python import package
   bluesky
🎤 A short description of your project
   Experiment specification & orchestration.
🎤 Git platform hosting the repository
   github.com
🎤 GitHub organisation that will contain this repo.
Set to your GitHub username to make a personal repo, or DiamondLightSource
if you have permissions to make it in the DiamondLightSource organisation.
   bluesky
🎤 Name of the repository
   bluesky
🎤 Name of the python distribution package that will be created.
This is what people will `pip install`
   bluesky
🎤 Your full name
   danielballan
🎤 Your email address
   None
🎤 Owner of the component in the Developer Portal Software Catalogue.
This will normally be group:default/<your_group>
   group:default/sscc
🎤 Would you like to publish your project in a Docker container?
You should select this if you are making a service.
   No
🎤 How would you like to document your project?
You can start with just a README and change your answer to add a sphinx project later.
   sphinx
🎤 What type checker would you like to use?
Pyright is recommended for new projects, but it is stricter,
so you might need to select mypy for existing projects.
   mypy
🎤 Would you like the wheel and source distribution to be automatically uploaded to PyPI when a release is made?
   Yes

Files to Overwrite
Choose which files to keep and which to overwrite from the template. The LICENSE should definitely not be overwritten, after the template has rendered, delete the catalog info file and .vscode.
Git move all source files from bluesky to src/bluesky.
rm -rf src/bluesky
git mv bluesky src

CI
Delete old CI files and use new ones
Project files
There are various config files in the repo defining settings for the tools. In the copier template, these settings can all move into the appropriate sections of pyproject.toml and be deleted. List of files to move and delete:

.coveragerc
.flake8
.gitattributes
MANIFEST.in
requirements-dev.txt
requirements.txt
setup.cfg
setup.py
versioneer.p

Docs
Docs should be built with tox -e docs rather than the provided makefiles (which should be deleted). They should retain their current structure though.
Tests
At this point we should verify that the tests still pass, run them and track down any issues.
Commit
Commit changes at this point
Formatting
Formatting should be a separate commit to avoid confusing git.
python3.10 -m venv venv
. venv/bin/activate
pip install -e .[dev]
ruff --fix

Check the tests still pass
Type Checking
Finally run mypy and fix any errors, the fix will typically be # type: ignore unless it can be done without functional modifications (e.g. just changing a type annotation).
How Has This Been Tested?

Unit tests still pass
Basic manual testing with IPython and Jupyter and ophys sim devices

For prior art see https://github.com/bluesky/event-model/pull/245

I'm happy with this, @mrakitin will review, then we can merge if no more issues captured

Just a heads up - I am finishing my review, only around 30 files left to check. I have a few suggestions.


make run_tests error

I am using Ubuntu bash on Windows 10.
After:
successful compiling (and installing) gRPC (and proto3)
during:
make run_tests
Pawel@DESKTOP-HJSUITN:~/cpp-docs-samples/speech/api$ make run_tests
./transcribe -b 16000 resources/audio.raw
E1127 13:29:22.675581700   26963 ev_epoll_linux.c:1655]      pollset_work: {"created":"@1480282162.675479800","descripti
on":"pollset_work_and_unlock","file":"src/core/lib/iomgr/ev_epoll_linux.c","file_line":268,"referenced_errors":[{"create
d":"@1480282162.675471900","description":"OS Error","errno":38,"file":"src/core/lib/iomgr/ev_epoll_linux.c","file_line":
1486,"os_error":"Function not implemented","syscall":"epoll_wait() epoll fd: 6 failed with error: 38 (Function not imple
mented)"}]}
E1127 13:29:22.677600200   26963 google_default_credentials.c:149] pollset_work: {"created":"@1480282162.675479800","des
cription":"pollset_work_and_unlock","file":"src/core/lib/iomgr/ev_epoll_linux.c","file_line":268,"referenced_errors":[{"
created":"@1480282162.675471900","description":"OS Error","errno":38,"file":"src/core/lib/iomgr/ev_epoll_linux.c","file_
line":1486,"os_error":"Function not implemented","syscall":"epoll_wait() epoll fd: 6 failed with error: 38 (Function not
implemented)"}]}
E1127 13:29:22.677996000   26963 google_default_credentials.c:293] Could not create google default credentials.
E1127 13:29:22.678300500   26963 google_default_credentials.c:298] grpc_google_default_credentials_create: {"created":"@
1480282162.668035600","description":"Failed to create Google credentials","file":"src/core/lib/security/credentials/goog
le_default/google_default_credentials.c","file_line":237,"referenced_errors":[{"created":"@1480282162.668040700","descri
ption":"creds_path unset","file":"src/core/lib/security/credentials/google_default/google_default_credentials.c","file_l
ine":181},{"created":"@1480282162.668200400","description":"Failed to load file","file":"src/core/lib/iomgr/load_file.c"
,"file_line":82,"filename":"/home/Pawel/.config/gcloud/application_default_credentials.json","referenced_errors":[{"crea
ted":"@1480282162.668192800","description":"OS Error","errno":2,"file":"src/core/lib/iomgr/load_file.c","file_line":58,"
os_error":"No such file or directory","syscall":"fopen"}]}]}
E1127 13:29:22.841562400   26964 polling_entity.c:101]       Invalid grpc_polling_entity tag '-566067776'

It's failing to find your application default credentials.  See:
https://developers.google.com/identity/protocols/application-default-credentials


chore: remove deprecated pre_save

BREAKING CHANGE: Removes deprecated pre_save function.

This appears to be due to a missing Ubuntu 22.04 python 3.6.x version
https://github.com/actions/setup-python/issues/543


Refactor delimiter.js to use unicode to command mapping data

In https://github.com/Khan/KaTeX/pull/1205 it was suggested that we try to reuse the data from symbols.js that defines a mapping between LaTeX command unicode character.  It's not immediately clear the best way to do that though so we decided to break that work off into a separate task.

I suppose we could support each delimiter Unicode character with a macro, such as:
defineMacro("\u2308", "\\lceil");

Then PR #1207 would not have to change any part of symbols.js, delimiters.js, or delimsizing.js.
But I'm not sure that the content of delimiters.js can be streamlined much further. Not all delimiters stretch vertically. The ones that do are listed in delimiters.js. That's the purpose of the list.
And if we keep that list, then I personally don't like the macro idea. I like having the functions and Unicode equivalents defined near each other.

What if we changed the way that the Unicode symbols are handled (with defineSymbol(..., true)), to replace them with the equivalent command? (I guess this is like the macro suggestion, but cleaner.) Is there ever a reason that we'd like to distinguish between a command and its unicode equivalent, e.g., to treat them differently?


pkg_install: Support TreeArtifacts.

Implementation notes:
For tree artifacts, when creating directories, we mostly follow the modes set for the whole TreeArtifact, but also +x to allow searching the directory. This is similar to how pkg_tar etc. handles things.
Link: https://github.com/bazelbuild/rules_pkg/issues/308

I did a few changes:

Clean up some internal functions (done in a separate patch and rebased the patch on top of it)
Added tests
Addressed the comments.

As such, I did a force push for a fresh review. Please take a look; thanks!
I didn't handle symlinks within the tree artifact, though.

Hello, any updates? Could you please take a look at this pull request? Thanks!


add limit for gsp id

Pull Request
Description
Limit the gsp id in the fake data
How Has This Been Tested?
unittests and plotting

[ ] No
[ ] Yes

Checklist:

[ ] My code follows OCF's coding style guidelines
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #546 (ba8370f) into main (54d5da1) will decrease coverage by 1.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #546      +/-   ##
==========================================
- Coverage   90.93%   89.74%   -1.20%
==========================================
  Files          42       42
  Lines        2681     2681
==========================================
- Hits         2438     2406      -32
- Misses        243      275      +32

Impacted Files
Coverage Δ

nowcasting_dataset/data_sources/fake/batch.py
87.05% <ø> (ø)

nowcasting_dataset/data_sources/data_source.py
73.93% <0.00%> (-16.97%)
:arrow_down:

nowcasting_dataset/filesystem/utils.py
89.74% <0.00%> (-5.13%)
:arrow_down:

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 a5e4d7d...ba8370f. Read the comment docs.


Expose ability to configure mempool capacity override

bors merge

details about usage here: https://github.com/input-output-hk/cardano-node/pull/3343


Can't set custom font or font size.

I'm having trouble setting a custom font on my KILabel.
Here's my code:
 self.myLabel = [[KILabel alloc] init];
 self.myLabel.text = @"Some random text";
 self.myLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:12.4];
 self.myLabel.textColor = [UIColor colorWithRed:0.000 green:0.000 blue:0.000 alpha:1];
 [self.myLabel sizeToFit];

Any idea how I can set a custom font and font size?

I just took a closer look at the code and realized I need to be setting the font property before setting the text.


Previous/Next image version is buggy

Describe the bug
Previous/Next image version feature seems to be doing the same as First/Last image version.
To Reproduce

Open an image sequence that has at least 3 different versions
Click on Image --> Version --> Next / Previous
You'll see that it will jump to the First / Last version instead of the Next / Previous one

Desktop (please complete the following information):

OS: Windows 10 Pro 22H2
Version mrv2 1.3.0

Here's version v1.3.1 beta that should fix it:
.exe:
https://mega.nz/file/LaRlERIB#vI6QK_N30JDFis_be3yQsuHA-G4faS_WbCYjowboprA
.zip:
https://mega.nz/file/Xbx3WAiC#F-RS0XYnya9chsbMoU4uLlCAXpWk6wez-mbUB0KzZ_g

@hollov Can you confirm it is fixed and can the issue be closed?

Yep, it's fixed 🙏


VisibleExpression on a Page is not working

Describe the bug
The Property VisibleExpression on a Page is not working
To Reproduce
Steps to reproduce the behavior:

Go to Page2 set the Page VisibleExpression to 1==0
Preview Page (Crtl+P)

Expected behavior
Is that the Page is not visible.
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

OS: wininwos 10

Version fast report.net 2012.4.15

Additional context
Note there is no difference if page property visibility is set to true or false.
VisibleExpression to 1==1 also does not work if is visibility is set to  false.
Id also be interested in a workaround since i am suck with this version please mail to<EMAIL_ADDRESS>

Cannot be reproduced on v2021.1.10


Info page isn't scrollable

Describe the bug
Info page isn't scrollable so I cant access some elements on it
To Reproduce
Steps to reproduce the behavior:

Go to info page
You'll see the issue

Expected behavior
This page should be scrollable
Screenshots

Desktop:

Version <IP_ADDRESS>

fixed


Adding support for service monitor on NIM Service

please add some tests for ServiceMonitor if not already present.


Refactor/simplify Jupyter Connection

Related issue https://github.com/microsoft/vscode-jupyter/issues/11645

Done


Prefixing the sql object names with the database name in the generated sql

Hi,
I have another issue - it turns out that .net core doesn't support distributed transactions. See this.
Because the processing that I have to do involves multiple databases, would it be possible to include an option in facil to have it prefix sql object names with the database name? Fortunately, all my databases are on the same server, so if the objects are prefixed with the database name I could in theory use the same connection to do all the processing though in the yaml file the objects are under different connection strings. I tried to prefix a table name with the database name but it doesn't work, facil doesn't find the object, which was kind of what I expected. This is another option, to allow the developer to specify the database name in the yaml file, but I don't know if you want to go there. Well, I don't know what's simpler from an implementation point of view.
If you can't do it, then I will have to write more code manually.
Thanks!
PS. I appreciate greatly the help that provided so far!

Thanks for the feature suggestion. This would likely require significant changes across the codebase in regards to how objects are identified in Facil. Furthermore, in the (I would think common) case that the DBs are not named the same across environments (for example, testing/staging/production environments have different DB names), then it will not work.
For now, Facil will remain database-scoped.


Can't find place in the search (looks like search doesn't work) саксаганського 69

Description
Probably related 597
It seems that the search within Ukraine does not work
Nothing is displayed in the search for саксаганського 69
OsmAnd
OsmAnd test
OSM

<title>404 Not Found</title>

404 Not Found

nginx/1.18.0 (Ubuntu)

 try {
        const fullOptions = Object.assign({}, { redirect: 'manual' }, options);
        response = await fetch(fullURL, fullOptions);
    } catch (e) {
        // got general error (have no response)
        console.debug('fetch-catch-error', url, e);
        const ret = { ok: false, text: () => null, json: () => null, blob: () => null, data: null };
        if (options?.throwErrors) {
            const error = new Error('fetch-catch-error');
            error.response = ret;
            throw error;
        } else {
            return ret;
        }
    }

Steps to reproduce

Click on one of the links above > Type саксаганського 69 in the search bar > Press Enter

Actual result
OsmAnd & OsmAnd test

Expected result
OSM or App

I couldn’t reproduce the issue. Please try the following:

Open the web version: https://test.osmand.net/map/search/#19/50.43672/30.50515.
Search for "саксаганського 69."

Result:
The address is successfully found both on the web version and in the app. This appears to be a local issue.

Also I wanted to share some observations:

On macOS, the behavior of the search engine appears to be influenced by the geolocation settings:

When geolocation is activated, searching for "саксаганського 69." yields no results.
When geolocation is disabled, the search works as expected and successfully finds "саксаганського 69."
To reproduce, you can open the web version of OsmAnd on macOS, locate the geolocation icon in the top line of the site, and select "Always allow access to geolocation." After refreshing the page (Shift + Command + R), try searching again for "саксаганського 69." You should notice that no results are displayed.

On Windows, the search works correctly regardless of the geolocation setting, always providing accurate results.

https://github.com/user-attachments/assets/252b6b25-9d65-42fd-9aa3-b557a9807bec

We need to fix display, "69" is incomplete output. Check android it has full address street name and city name.
So to fix display name as in Android


Uncaught (in promise) TypeError: utxos.map is not a function: Keep crashing

This is what I am getting
eturn Promise.all((utxos as any).map(async (utxo: any) => {
at Kupmios.kupmiosUtxosToUtxos (https://deno.land/x/lucid@0.10.1/src/provider/kupmios.ts:224:39)
at Kupmios.getUtxos (https://deno.land/x/lucid@0.10.1/src/provider/kupmios.ts:92:17)
at eventLoopTick (ext:core/01_core.js:183:11)
at async Command.actionHandler (file:///home/x/fortuna/miner/main.ts:105:28)
at async Command.execute (https://deno.land/x/cliffy@v1.0.0-rc.3/command/command.ts:1948:7)
at async Command.parseCommand (https://deno.land/x/cliffy@v1.0.0-rc.3/command/command.ts:1780:14)
at async file:///home/x/fortuna/miner/main.ts:401:1

closing as it's a problem with the hosted kupo instance


add support for choosing system UCX

Codecov Report

Merging #37 (33de2fb) into master (3c43174) will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
- Coverage   61.23%   61.14%   -0.09%
==========================================
  Files           6        5       -1
  Lines         632      628       -4
==========================================
- Hits          387      384       -3
+ Misses        245      244       -1

Impacted Files
Coverage Δ

src/UCX.jl
81.52% <0.00%> (+0.10%)
: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 3c43174...33de2fb. Read the comment docs.


Thanks + Review + My Use Case + Proposals in followup issues

Foreword

😎 Minimalist and elegant player, see my  #11
👍 Thanks for providing this software!

Feedback & Ideas
General Inquiry

Readme currently targeted at JS developers. Would appreciate a: #12 🙂

Bugs & Improvements

#14
#13
#15
#16

New Features

#19
#18
#17
#20

My use case

I share my application. Potentially helpful for getting to know your users' goals and needs.
Hobby project, not commercial, done for personal reasons only.

I'm creating a memorial website for a deceased relative.
Among the legacy are some songs.

I have created the lyric files already.

For downloading audio file plus lyrics sidecar file, for Desktop / Mobile audio players which support this.
For embedding lyrics into the audio files (where supported, either static or synced). Again player support may vary.
I strived to also include lyrics in the web presentation.

I have them anyhow. So why not make use of them? Makes the presentation richer!
Making a lyrics video felt not right: Large in file size, not responsive medium, no interactivity, not adaptable.
I looked for a web based audio + lyrics player, and eventually found yours! Thanks!

Being a UX designer, quite tech-savvy, but not into JS, I'd very much appreciate a #12

The songs and the need for presentation

The songs are sung in Viennese German dialect.
So I created 3 lyrics variants:

Viennese, which as a dialect is not standardized, neither in grammar nor orthography.
Standard German, better readable for a wider audience.
English, to be internationally accessible too.

To make optimal use of different lyrics languages

I'd like to be able to #20

I plan to put album art as the background, whose opacity adapts according to playback-status

Proposal: #18

Thanks for your software!

@mcanam my feedback complication is now complete! 🙂

@mcanam my feedback compilation is now complete! 👍

Possible the definition of what liricle is and is not is not entirely clear.

The LRC parser
The playback/sync framework
The player UI, of which two version are known to me

Current Line UI: Player + Current lyrics line rendered

as presented on https://dev.to/mcanam/javascript-lyric-synchronizer-4i15#:~:text=result:

Multi Line Scrolling UI: Player + Scrolling Lyrics + Current line/word highlighted

as presented on https://mcanam.github.io/liricle/
All my feedback was addressing this UI. Meanwhile I have realized that this consits of liricle and some 3rd party libs too. So some of my feedback concerned parts of the UI, e.g. the timeline, which uses an external slider UI library. If we consider the whole player experience to be "liricle" -- that's my perception eventually -- then ofc the project would needed to handle some problems itself, and some upstream, or simply fork/override, where something slightly different is needed.

A response what liricle is and what it's not, and what you say is in scope, would be appreciated!

Liricle was primarily designed as a synchronization library its core focus is parsing .lrc files and syncing lyrics to audio playback.

In Scope:

The core functionality includes parsing and syncing lyrics data with audio in real-time.
The provided examples demonstrate how liricle can be used in different interfaces, but liricle itself isn't intended to be a full playback or UI framework.

Out of Scope:

Player UI elements, sliders, and animations are from external libraries and aren't directly maintained within liricle's codebase. They mainly serve as examples to showcase liricle's integration capabilities.

But, i'm planning to update the demo to include some of these UX ideas to make it look even better. Besides that, i'm also looking into adding new multilingual features based on your suggestions. It's very interesting :)


Workload app support + test example that does nothing

What does this PR do?
Add support for deploying ECS workload apps in the ECS provider.
The feature already exists for Kubernetes provider, we add it for ECS

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge -c

/merge

As a follow up, can you also clean the current ECS environment removing AWSEnvironment and other properties that are not needed? Would require updating NPM ECS tests

Sure, discussed offline I'll do that in a follow-up PRs


Add diskpath to GetConfig

do not burden libhvee with another look up into hyperv to find the diskpath of an image.  here just added the diskpath to the function call as an arg.

minor change, im taking the risk and force merging so i can cut a release


Exclude Theano legacy functions when reporting coverages

This PR excludes Theano legacy functions when reporting coverages. This affects only calculating test coverages.

The results are:

Before
After

Python 2.7 + C
88.41%
88.91%

Python 3.5 + C
88.37%
88.88%

(before) keras/backend/theano_backend.py            1312    146    89%
(after) keras/backend/theano_backend.py            1250     86    93%


Add indexeddb feature

I found a big one for you, @foolip.

Actually, I shouldn't do this sort of thing late in the evening. Pausing this for a bit—I know there's a bunch of oddities with this, but was on autopilot..


User aggregatemetric notification ui

This is actually done, but I'll WIP it until #201, which this is based on, is merged.  I'll rebase this at that point to clearly show that it only includes 2 commits.

Rebased, and ready for review.

LGTM (plus one snarky comment).


Minecraft fails to start with REID

Hello,
Switching out my JEID and NEID for this mod makes minecraft unable to be launched. I am one of the people who has the issue of world generating empty chunks with NEID and JEID, so this mod would be a very welcome fix.
here is the crash log;
https://pastebin.com/ZuTmCVWF

Seems like you have mods with different bundled versions of Mixin. You can try if this mod helps.

You are entirely correct, had forgotten what a mixin incompabilty crash looked like. After a bit of tinkering, I got it to stop. Loading in now :)


Netty Resource Leak observed with sorted queries leading to OutOfDirectMemoryError

We are observing increased used of memory due to Netty resource leaks which is leading the process to fail with OutOfDirectMemoryError. In some of the setups we are observing Netty leak warnings like
[2018-11-15T17:59:45.025Z] [ERROR] LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.

At times the container crashes with following exception seen
[2018-11-16T11:08:34.576Z] [WARN] An exception was thrown by io.reactivex.netty.pipeline.ssl.SslCompletionHandler$1.operationComplete()
io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 16777216 byte(s) of direct memory (used:<PHONE_NUMBER>, max:<PHONE_NUMBER>)
    at io.netty.util.internal.PlatformDependent.incrementMemoryCounter(PlatformDependent.java:640)
    at io.netty.util.internal.PlatformDependent.allocateDirectNoCleaner(PlatformDependent.java:594)
    at io.netty.buffer.PoolArena$DirectArena.allocateDirect(PoolArena.java:764)
    at io.netty.buffer.PoolArena$DirectArena.newChunk(PoolArena.java:740)
    at io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:244)
    at io.netty.buffer.PoolArena.allocate(PoolArena.java:226)
    at io.netty.buffer.PoolArena.allocate(PoolArena.java:146)
    at io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:324)

Per Netty Leak Detection documentation this warning would be emitted if its resource leak detection logic (which works by sampling 1% allocations) detects a leak.
Key Observations
With some trial and error following observations can be made wrt leak

Its only being seen with sorted queries
Happens more prominently with data set involving multiple partitions. Probably its a function of number of simulatenous parallel connections being made for a query
Issue is not seen with unsorted query. This probably because such queries do not make connections to partitions in parallel (Azure/azure-cosmosdb-java#54)

Due to requirement of large partitions its bit hard to reflect in simple test case
Test Setup
This issue also has a PR #74 which adds a testcase NettyLeakTest which can either make use of existing data set or can create a synthetic data set and then perform multiple query both in sorted and non sorted mode. It makes use of Netty ResourceLeakDetector to track number of reported leaks via a custom RecordingLeakDetector. In ideal case the reported leak count should be zero. The test would also set -Dio.netty.leakDetection.level=PARANOID
It also tracks the Netty DIRECT_MEMORY_COUNTER which tracks the direct memory allocated by Netty. In case of leak this counter would report an upward trend. In ideal case it should eventually return to a base value. It reports in following format
==> Query Count - Direct Memory Counter [Query Result Count]
==>   0 - 134217735 [200]
==>   5 - 134217735 [200]
==>  10 - 134217735 [200]
==>  15 - 134217735 [200]

Where

First column is query count
Second column is amount of direct memory used
Third column is query result count

The leak reports are more pronounced when memory is constrained -Xmx200m
Netty leak detection logic also reports stack traces of recent access to leaked resource i.e. ByteBuf
2018-11-25 11:27:57,578       [rxnetty-nio-eventloop-3-5] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records:
#1:
    io.netty.handler.codec.http.DefaultHttpContent.release(DefaultHttpContent.java:94)
    io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:88)
    io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:90)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438)
    io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310)
    io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284)
    io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1389)
    io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1159)
    io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1203)
    io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
    io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428)
    io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
    io.reactivex.netty.metrics.BytesInspector.channelRead(BytesInspector.java:59)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    io.reactivex.netty.pipeline.InternalReadTimeoutHandler.channelRead(InternalReadTimeoutHandler.java:108)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945)
    io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:146)
    io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
    io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
    io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
    io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
    io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
    io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    java.lang.Thread.run(Thread.java:748)

Test runs
Run against existing dataset (sorted)
While running against our dataset (having 5 partitions now) -Xmx200m -ea -Dcosmosdb.useExistingDB=true -Dcosmosdb.dbName=<db name> following output can be seen
==> Query Count - Direct Memory Counter [Query Result Count]
==>   0 - 33554439 [200]
==>   5 - 33554439 [200]
==>  10 - 33554439 [200]
2018-11-25 11:12:31,924       [rxnetty-nio-eventloop-3-3] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records:
==>  15 - 33554439 [200]
==>  20 - 33554439 [200]
...
==>  45 - 33554439 [200]
==>  50 - 33554439 [200]
==>  55 - 33554439 [200]
==>  60 - 67108871 [200]
...
==><PHONE_NUMBER>1 [200]
==><PHONE_NUMBER>1 [200]
==><PHONE_NUMBER>7 [200]
==><PHONE_NUMBER>7 [200]
==><PHONE_NUMBER>03 [200]
...
==><PHONE_NUMBER>03 [200]
==><PHONE_NUMBER>03 [200]
==><PHONE_NUMBER>19 [200]
==><PHONE_NUMBER>35 [200]
==><PHONE_NUMBER>35 [200]
==><PHONE_NUMBER>35 [200]
==><PHONE_NUMBER>35 [200]

java.lang.AssertionError: [reported leak count]
Expecting:
 <1>
to be equal to:
 <0>
but was not.

    at com.microsoft.azure.cosmosdb.rx.NettyLeakTest.queryAndLog(NettyLeakTest.java:80)
    at com.microsoft.azure.cosmosdb.rx.NettyLeakTest.queryDocumentsSortedManyTimes(NettyLeakTest.java:60)

Key points

Direct memory size can be seen as increasing. Eventually it can end up with OutOfDirectMemory
Here the backing dataset has 5 partitions

Run against test dataset (sorted)
While running against dataset created by test itself where it seeds 50000 records and then peform query against it.

2018-11-25 11:18:53,095       [RxComputationScheduler-1] INFO  com.microsoft.azure.cosmosdb.rx.internal.RxDocumentClientImpl - Getting database account endpoint from https://xxxd.documents.azure.com:443/
2018-11-25 11:18:56,830       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.NettyLeakTest - Seeding database with 50000 records
2018-11-25 11:19:00,668       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.NettyLeakTest - Inserted batch of 1000. 2% done
2018-11-25 11:19:03,394       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.NettyLeakTest - Inserted batch of 1000. 4% done
2018-11-25 11:21:12,166       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.NettyLeakTest - Inserted batch of 1000. 98% done
2018-11-25 11:21:14,900       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.NettyLeakTest - Inserted batch of 1000. 100% done
2018-11-25 11:21:14,900       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.NettyLeakTest - Created db with 50000 records
==> Query Count - Direct Memory Counter [Query Result Count]
==>   0 - 33554439 [200]
==>   5 - 33554439 [200]
...
==>  60 - 33554439 [200]
==>  65 - 33554439 [200]
==>  70 - 33554439 [200]
2018-11-25 11:21:50,529       [rxnetty-nio-eventloop-3-3] ERROR io.netty.util.ResourceLeakDetector - LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records:
==>  75 - 33554439 [200]
...
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]

java.lang.AssertionError: [reported leak count]
Expecting:
 <63>
to be equal to:
 <0>
but was not.

    at com.microsoft.azure.cosmosdb.rx.NettyLeakTest.queryAndLog(NettyLeakTest.java:80)
    at com.microsoft.azure.cosmosdb.rx.NettyLeakTest.queryDocumentsSortedManyTimes(NettyLeakTest.java:60)

Key points

Direct memory size does not show as increasing in this run
Here the backing dataset has 2 partitions
Leaks are still observed

Run against existing dataset (unsorted)
While running the
2018-11-25 11:30:00,098       [TestNG-method=beforeClass-1] INFO  com.microsoft.azure.cosmosdb.rx.internal.RxDocumentClientImpl - Initializing DocumentClient with serviceEndpoint [https://xxx.documents.azure.com:443/], ConnectionPolicy [ConnectionPolicy{requestTimeoutInMillis=60000, mediaRequestTimeoutInMillis=300000, connectionMode=Gateway, mediaReadMode=Buffered, maxPoolSize=1000, idleConnectionTimeoutInMillis=60000, userAgentSuffix='', retryOptions=RetryOptions{maxRetryAttemptsOnThrottledRequests=9, maxRetryWaitTimeInSeconds=30}, enableEndpointDiscovery=true, preferredLocations=null, usingMultipleWriteLocations=false, inetSocketProxyAddress=null}], ConsistencyLevel [Session]
2018-11-25 11:30:00,553       [RxComputationScheduler-1] INFO  com.microsoft.azure.cosmosdb.rx.internal.RxDocumentClientImpl - Getting database account endpoint from https://xxx.documents.azure.com:443/
==> Query Count - Direct Memory Counter [Query Result Count]
==>   0 - 33554439 [200]
==>   5 - 33554439 [200]
==>  10 - 33554439 [200]
==>  15 - 33554439 [200]
==>  20 - 33554439 [200]
...
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
==><PHONE_NUMBER>9 [200]
2018-11-25 11:33:00,832       [TestNG-method=afterClass-1] INFO  com.microsoft.azure.cosmosdb.rx.internal.GlobalEndpointManager - GlobalEndpointManager closed.

===============================================
Default Suite
Total tests run: 200, Failures: 0, Skips: 0
===============================================

Key points

No memory increase seen
No resource leak reported

Environment

SDK Version: 2.2.2, master branch
Java JDK version: jdk1.8.0_162
OS Version - MacOSX , Linux (Alpine)

Tried with Netty 4.1.31.Final and issue still persist so looks like some issue with way ordered queries are executed

thanks @chetanmeh for reporting this.
@chetanmeh are you only hitting this on orderby query? have you seen this on any other query?
@mbhaskar could you please take a look?

@chetanmeh Thanks for the PR . We could reproduce the above issue as per the testcase provided. We will get back to you

@chetanmeh, you did a complete diagnosis, thank you. We are looking at this.

@chetanmeh could you please try this and let us know if it resolves the leak issue:
https://github.com/Azure/azure-cosmosdb-java/blob/leak-tmp-fix/HOWTO.md

@moderakh The change does seem to fix the issue for us and no leak is observed. For my understanding can you confirm the fix approach?
From the change it appears we are now relying on content subscription timeout to discard the response content if not subscribed to within 1 ms from time of receiving the response? If yes would this cause issue in slow setups (vm env) where genuine cases may see responses being discarded?
Some observations on HTTP calls made
Sorted
For fetching 200 top records total 9 HTTP calls were made (thus fetching 900 records) for our setup having 5 partitions and probably only response from 6-7 were consumed. So unconsumed response from the 2 calls was adding up to leak. With this fix ByteBuf for those responses would be now released.
UnSorted
For unsorted case only 4 calls were made and all response was consumed

@simplynaveen20 will respond.

@chetanmeh This content subscription timeout is the default value of RXNetty HttpClientResponse , we tested different scenario  and its working fine , please let us know if you find any issue or odd behavior.

@simplynaveen20 Yup its part of rxnetty default. My worry was more about the timeout being low like 1 ms which may cause issue on boxes with high CPU contention. For example in one the usage I see it being set to 5 secs
https://github.com/Netflix/rx-aws-java-sdk/blob/0cc14ddc3d9bdb299f5b5769d53cc83507a22d79/rx-aws-java-sdk-core/src/main/java/com/amazonaws/http/AmazonRxNettyHttpClient.java#L409-413
I was trying to see if the unconsumed response can possibly be addressed (irrespective of timeout) by implementing onUnsubscribe in AsyncOnSubscribe created in Paginator where I believe we have access to last invoked request for a partition. But got lost in layers!
Anyways for now in our testing we do not see any issue. Would keep a watch and let you know if we observe any related issue

Not observed this issue since updating to latest CosmosDB SDK 2.3.0. Resolving it as closed


Always check for nullability in TsMorphMetadataProvider

Currently when one provide type or entity decorator parameter, it is not checked for nullability:
@ManyToOne()
favouriteBook?: Book; // correct: no `type` or `entity` provided, **will** be marked as `nullable`

@ManyToOne(() => Book, { nullable: true })
favouriteBook?: Book; // correct, `entity` provided and explicitly marked as `nullable`

@ManyToOne(() => Book)
favouriteBook?: Book; // wrong, not marked as `nullable`

The reason for this was to allow skipping (resource heavy) ts-morph source code analyses. For that now one should use different metadata provider - ReflectMetadataProvider.
This will also allow to skip explicit wrappedReference parameter when using Reference wrapper.
Opening discussion: #218

Will be part of 3.0.0-rc.4.


play editor slower?

The play editor seems to be very slow now (when editing and compiling).
Looking in the developer console, the "load compiler" is taking a long time.
bundle.js:49550 [fetch compiler]:<PHONE_NUMBER>71875ms
bundle.js:49554 [load compiler]: 1778.483154296875ms
bundle.js:49562 [wrap compiler]: 0.17919921875ms

These actions are also down with every character typed in the code.

The experience was probably to my local pc. However as discussed in the gitter, the performance could be optimized, here is a suggestion:
Wait 2 seconds after the typing has ended before you start compiling.


Collect additional container provider events

This PR will include three commits:

Fix collected event names according to events naming conventions
Add events to Node, Pod and Container
Collect events for Replication Controller

@miq-bot remove_label wip

@dkorn Legitimate test failure on Travis

Thanks, fixed.

@simon3z please review

@dkorn With the Event Switchboard PR #4328 merged we will need to move the updates to the event_handling: section of event_handling.tmpl.yml into the automate model.
cc @lfu

@dkorn can you rebase thanks

@dkorn have you been able to verify this?

@dkorn have you been able to verify this?

Sadly no. I've tried to debug the worker problem but was unable to solve it or find out the cause yet.

@dkorn I tested this (on master with hash aa18d85) and it works for me. Please remove all the wip names and labels. Let's merge.
LGTM :+1: cc @chessbyte @blomquisg ready for merge (when wip will be removed).

@miq-bot add_label backport/yes


FTP Upload Path

Hello,
is it possible to add a upload directory path for ftp upload?
Kind regards

See this commit:
https://github.com/roleoroleo/yi-hack-Allwinner/commit/318db69195255cd496360c8e2c480a48064cea7a

I'm looking forward to the next release

@roleoroleo Is there an ETA for the next release?

that would be great with the ftp upload path

No ETA at the moment.
I have to find the time to test the new image.

Do you have a built image with the latest changes? I can help you with testing.

Yes:
y20ga_0.2.0.tar.gz
Rename it from tar.gz to .tgz

i have try now to add a FTP-Directory, i have add /Kamera/yi-home/, than i click on save and reboot the camera, than the FTP-Directory box is emty.

the new mqtt messages does work. 👍
what about #150 ?
next i will have a look at the new ftp directory.

if mqtt "AI Human Detection" is enabled, motion_detection=motion_start and ai_human_detection=human_start or ai_human_detection=human_stop doesnt work.
if mqtt "Baby crying detect" is enabled, motion_detection=motion_start and baby_crying=crying does work again.

This is a know issue of the yi firmware.

video recording does not work for me. neither on sd-card nor ftp.
cloud is disabled. "Recording without Cloud" and "Save video when a motion is detected" are enabled...
where can i find log files? /var/log is empty...

If "AI Human Detection" is enabled, probably it doesn't work.
Otherwise it must work.

what about #150 ?

Merged and ready for next release.

I didn‘t know if the human_detection was enabled when ftp fails.
I will give a new try the next days.

ftp upload is working, but only when i chage i set the path in the system.conf.
FTP_DIR=/Kamera/yi-home
when i set it up in the gui, the FTP_DIR is emty, also in the file.

@mpuff please try to clear the browser cache.

thank you for this info, i have now opened it with another browser and the ftp path is in the box.


Possible issue with Blogdown and Hugo Modules

Some time ago I built a Hugo website using the hugo academic theme and using R Blogdown. Today, I wanted to use the same theme to build a website for our group of researchers. It seems that "gcushen/hugo-academic" theme was recently replaced/renamed by wowchemy and therefore the installation of the theme no longer works.  I tried to replace "gcushen/hugo-academic" with "wowchemy/starter-academic", which seems to be the replacement, but received an error.
What is the new location of the academic theme and how can I install it using R Blogdown?

If you think you have found a bug using Blogdown with Hugo's Module system, then feel free to raise it with the Blogdown community in the relevant repo: https://github.com/rstudio/blogdown
The official installation guide for Wowchemy/Academic is currently working fine and can be found at: https://wowchemy.com/docs/install/
If you have a question about the installation guide, you can raise it on the support channel - see https://github.com/gcushen/hugo-academic/blob/master/.github/support.md

@michielvandijk I have a similar situation as you. The repo that was renamed is now a Hugo module. To use the theme as before from blogdown, I think you have to use this repo:
blogdown::new_site(theme = "wowchemy/starter-academic")
Also ensure Go binary is available on your machine.

@erikriverson Thanks. I think I tried that but it did not work. Probably because Go and the extended version of Hugo were not installed. In the end I solved it by installing the software and then cloning the repo directly from Github. It already has a .Rproj file so worked straight away in Rstudio.


Description of Zero-width lookbehind/lookahead assertion is missing/wrong

In the documentation, the current example provided for the Zero-width negative lookahead assertion gives the results of a Zero-width negative lookbehind assertion, which is wrong.
Moreover, there is no description on these within the Grouping Constructs section of the documentation, and from the examples provided in the documentation it doesn't get clear how lookaround assertions behave in particular.
So, I propose to revise the examples of these four grouping elements by utilizing one uniform regular expression pattern and one uniform probe string for all the four groupings, so it gets clear what their particular features are.
This is my proposal:

Grouping construct
Description
Pattern
Matches

(?=subexpression)

Zero-width positive lookahead assertion.

\b\w+\b(?=.+and.+)

"cats", "dogs"in"cats, dogs and some mice."

(?!subexpression)

Zero-width negative lookahead assertion.

\b\w+\b(?!.+and.+)

"and", "some", "mice"in"cats, dogs and some mice."

(?<=subexpression)

Zero-width positive lookbehind assertion.

\b\w+\b(?<=.+and.+)

"some", "mice"in"cats, dogs and some mice."

\b\w+\b(?<=.+and.*)

"and", "some", "mice"in"cats, dogs and some mice."

(?<!subexpression)

Zero-width negative lookbehind assertion.

\b\w+\b(?<!.+and.+)

"cats", "dogs", "and"in"cats, dogs and some mice."

\b\w+\b(?<!.+and.*)

"cats", "dogs"in"cats, dogs and some mice."

Please note:

To my proposal I only added the four rows in need of improvement. You need to add the other rows from the original table, too, if you'd decide to revise your table.
If you want me to provide a full Grouping Constructs table, please drop me a note.

GitHub seems to wrap table columns, even when they contain pre-formatted text.
So, in order to keep the regular expressions in my proposed content from being accidentally wrapped, I added a number of non-breaking spaces below the first regular expression. So, the regular expressions column won't be wrapped now. To the other table rows I then added a line-break alone, so the vertical spacing appears the same across all table rows.

In order to provide two row-spanning columns I had to use the HTML table format in favour of the Markdown format because Markdown doesn't support rowspan.

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

ID: 16d4698e-4220-c422-a554-8a481803d240
Version Independent ID: f0e3b82a-8d81-ad9e-97fc-efb92f7d0d38
Content: Regular Expression Language - Quick Reference
Content Source: docs/standard/base-types/regular-expression-language-quick-reference.md
Product: dotnet-fundamentals
GitHub Login: @adegeo
Microsoft Alias: adegeo

Greetings! I'll forward this to some of our area experts: @pgovind @eerhardt can you comment on this suggestion?

Greetings! I'll forward this to some of our area experts: @pgovind @eerhardt can you comment on this suggestion?

I had been meaning to look at this today, but couldn't. I'll look at this on Monday. The examples themselves look correct. I haven't had a chance to see our current documentation here yet though!

I had been meaning to look at this today, but couldn't. I'll look at this on Monday. The examples themselves look correct. I haven't had a chance to see our current documentation here yet though!

Hi @pgovind,
Perhaps this may be of any help:
I used the following PowerShell script to test the lookaround results from my table proposal:
using namespace System.Text.RegularExpressions

$ErrorActionPreference = 'Stop'

$test = 'cats, dogs and some mice.'

Clear-Host

'\b\w+\b(?=.+and.+)',
'\b\w+\b(?!.+and.+)',
'\b\w+\b(?<=.+and.+)',
'\b\w+\b(?<=.+and.*)',
'\b\w+\b(?<!.+and.+)',
'\b\w+\b(?<!.+and.*)' | ForEach-Object {
	Write-Output ([Environment]::NewLine + ":: ${_} ::")
	[Regex]::Matches($test, $_, [RegexOptions]::CultureInvariant + [RegexOptions]::IgnoreCase + [RegexOptions]::Singleline).Groups |
		Select-Object -ExpandProperty Value -
}

Hi @pgovind,
Perhaps this may be of any help:
I used the following PowerShell script to test the lookaround results from my table proposal:
using namespace System.Text.RegularExpressions

$ErrorActionPreference = 'Stop'

$test = 'cats, dogs and some mice.'

Clear-Host

'\b\w+\b(?=.+and.+)',
'\b\w+\b(?!.+and.+)',
'\b\w+\b(?<=.+and.+)',
'\b\w+\b(?<=.+and.*)',
'\b\w+\b(?<!.+and.+)',
'\b\w+\b(?<!.+and.*)' | ForEach-Object {
	Write-Output ([Environment]::NewLine + ":: ${_} ::")
	[Regex]::Matches($test, $_, [RegexOptions]::CultureInvariant + [RegexOptions]::IgnoreCase + [RegexOptions]::Singleline).Groups |
		Select-Object -ExpandProperty Value -
}

So the example at Zero-Width Negative Lookahead is:
      string pattern = @"\b(?!un)\w+\b";
      string input = "unite one unethical ethics use untie ultimate";

And matches are
//       one
//       ethics
//       use
//       ultimate

This looks correct to me. At each match, we're checking that the match does not start with un and is enclosed by word boundaries.
I do like using the same example with different lookaround patterns though. I think a table like the one you've posted is valuable when one wants to look at all the lookaround behaviors at a glance.
@adegeo : What do you think about having a section after Zero-Width Negative Lookbehind Assertions titled Lookaround Constructs: At A Glance that lists the table that @SetTrend posted? cc @eerhardt

So the example at Zero-Width Negative Lookahead is:
      string pattern = @"\b(?!un)\w+\b";
      string input = "unite one unethical ethics use untie ultimate";

And matches are
//       one
//       ethics
//       use
//       ultimate

This looks correct to me. At each match, we're checking that the match does not start with un and is enclosed by word boundaries.
I do like using the same example with different lookaround patterns though. I think a table like the one you've posted is valuable when one wants to look at all the lookaround behaviors at a glance.
@adegeo : What do you think about having a section after Zero-Width Negative Lookbehind Assertions titled Lookaround Constructs: At A Glance that lists the table that @SetTrend posted? cc @eerhardt

@pgovind: 👍👍👍
Yes, I can see it now. The original statements are correct. I must have made a mistake when checking the original Regular Expressions in the documentation for the first time.
However, to me your suggestion and amendment to my proposal seems very valuable.

@pgovind: 👍👍👍
Yes, I can see it now. The original statements are correct. I must have made a mistake when checking the original Regular Expressions in the documentation for the first time.
However, to me your suggestion and amendment to my proposal seems very valuable.

Please let me add that in my above proposal I wanted to easily and figuratively convey the gist in regard to lookaround assertions:

When the regular expression engine hits a lookaround expression, it takes the substring from the current text position to either the start (lookbehind) or end (lookahead) of the string and runs Regex.IsMatch on that substring. - Success of this subexpression's IsMatch() result is then determined by whether it's a positive or negative assertion.

In my obvious "five words" example the above gist is supposed to be very easy to grasp.

Please let me add that in my above proposal I wanted to easily and figuratively convey the gist in regard to lookaround assertions:

When the regular expression engine hits a lookaround expression, it takes the substring from the current text position to either the start (lookbehind) or end (lookahead) of the string and runs Regex.IsMatch on that substring. - Success of this subexpression's IsMatch() result is then determined by whether it's a positive or negative assertion.

In my obvious "five words" example the above gist is supposed to be very easy to grasp.

Thank you @pgovind for taking a look at the issue.
@SetTrend this isn't a high priority area right now for us, so this will be on the backlog and I'll leave it open. However, if you feel up to the challenge, feel free to open a PR editing the article. Tag myself and @pgovind for review.
Cheers!

Thank you @pgovind for taking a look at the issue.
@SetTrend this isn't a high priority area right now for us, so this will be on the backlog and I'll leave it open. However, if you feel up to the challenge, feel free to open a PR editing the article. Tag myself and @pgovind for review.
Cheers!


Live

Test PR

Docs Build status updates of commit 598652c:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Test


ACME email address

When using ACME, I would like to specify an email address.   Is there an option to specify an email address for this?

Looks like no option, because it need to pass in this structure as Email - https://github.com/basecamp/thruster/blob/main/internal/server.go#L78-L84 (based on https://cs.opensource.google/go/x/crypto/+/refs/tags/v0.31.0:acme/autocert/autocert.go;l=156 )


Shirnk stack size of FixedBitset

The length in the Vec is redundant with the separate length in bits, making FixedBitset have some stack size overhead compared to a Vec. This PR removes that extra length, using the bit length to figure out the block length when necessary.
Ran benchmarks and saw no significant regressions.

This change makes FixedBitSet !Send, which breaks our code https://github.com/bytedance/g3/pull/191

That should be fixed as of 0.5.6 and #124.


About converting HDF5 to npy

Hi, what is the advantage of converting HDF5 to npy first? Will it accelerate the training speed or accuracy?

We find npy files much more convenient and natural to work with. There's not a substantial speed difference and there's no difference in accuracy, they're just nicer. For example, from the test-eval notebook:
    if use_np_features:
        feats = torch.FloatTensor(np.asarray(features[image_idx])).to(device)
    else:
        # Using HDF5 files requires some overhead due to constraints on how those may
        # be accessed. We cannot index into the file using a numpy array. We also cannot
        # access the same element multiple times (e.g. we cannot index into an h5py.File
        # with [1,1,1]) because we are constrained to increasing sequences
        feats = []
        for idx in image_idx:
            feats.append(np.asarray(features[idx]))
        feats = torch.FloatTensor(np.asarray(feats)).to(device)


[feature] support signal handling in AWS batch

Allows the run-job tool cancel or terminate the job after submission.
The batch API now also supports the above during job creation.

Codecov Report

Merging #17 into master will decrease coverage by 1.5%.
The diff coverage is 37.5%.

@@           Coverage Diff            @@
##           master     #17     +/-   ##
========================================
- Coverage    77.4%   75.9%   -1.6%
========================================
  Files          11      11
  Lines         439     453     +14
  Branches       45      51      +6
========================================
+ Hits          340     344      +4
- Misses         88      96      +8
- Partials       11      13      +2


Implement (Possibly Inaccurate) Bitmask Selection Without Centroids

User story
Users may not always want to pre-calculate centroids for selection when using a Bitmask and may be happy enough with some sort of rough selection mechanism that is not necessarily accurate.  To this end we should be able to implement a rough selection mechanism for the bitmask alone.
Preferred solution
Use the already existing SelectionLayer and pass in a new prop, something like bitmaskDataDownsampled that contains a downsampled version of the bitmask for use in selection.  Then with the polygon coordiantes in hand, you should be able to recover all of the unique ids under the selection polygon.

Can the first pixel of the bitmask be used as a rough estimate of the position for selections? Would that be faster than computing the centroid? Not sure if I entirely understand the issue

Can the first pixel of the bitmask be used as a rough estimate of the position for selections? Would that be faster than computing the centroid? Not sure if I entirely understand the issue

Currently we build a quad tree of centroids, overlay the polygon of the selection, and then intersect the two taking the cells that are within the the polygon via their centroid coordinate.  But without that centroid coordinate (i.e if we only have a bitmask) we have no way of knowing (at the moment) if something is within the polygon bounds.
To implement this selection mechanism for the bitmask without needing the centroid, we'd have to create a way to go row by row through the bitmask where we go from the column n to m where those are the outer bounds of the row under the mask.  Basically do something like this and then take all the unique ids you find:

But this could be inaccurate because cell ids could be lost to downsampling which is why it's better to have the centroids (and we do have them for HuBMAP, which is the driving use case here).
Does that make sense?  I'm bad at explaining things.  We could hop on a call together to discuss or something, let me know.


fix: class names of Row and Col components when using custom prefix

Resolves https://github.com/mll-lab/react-components/issues/124

import 'antd/es/grid/style/index is required somewhere to include the styles for mll-ant-col etc.


CI: runtrybot fails when triggered a second time on a CL patchset

When one wants to test a CUE CL, the following steps happen:

Developer runs cueckoo runtrybot HEAD
The command above triggers the trybot_dispatch workflow on cue-lang/cue
trybot_dispatch creates a branch on cue-lang/cue-trybot with the change, and opens a PR to run the actual tests (the PR helps with sharing caches between builds)

However, that third step uses a branch name in the form of trybot/${change_id}/${commit}/${cl}/${patchset}, like trybot/Ie11c8cfdc3741927c2aae28bce0d67c214411480/0539d459a8bcc4dc0d424e42f24214271722f0b7/548783/4. If I run cueckoo runtrybot twice on the same CL patchset, which has the same change ID and commit hash, then trybot_dispatch pushes to the same branch name and tries to open an identical PR.
And, unfortunately, GitHub doesn't like opening such a PR if an identical one was already opened in the past, even if it was closed by our automation:

a pull request for branch "trybot/Ie11c8cfdc3741927c2aae28bce0d67c214411480/0539d459a8bcc4dc0d424e42f24214271722f0b7/548783/4" into branch "master" already exists:
https://github.com/cue-lang/cue-trybot/pull/146

Being able to run the trybots twice on the same commit may seem unnecessary, but there are situations where it's necessary, such as temporarily working around test flakes. In any case, failing with this PR step isn't right.
One potential fix is to always use unique branch names, such as by appending a random string as a last /${RANDOM} component. This would avoid conflicts with branch names and PRs, but it would still allow us to easily fetch the variables like the change ID or CL number from the branch name.
cc @mpvl @myitcv

Opened in this repo and not in https://github.com/cue-sh/tools, since the bug is in the workflow contained in this repo, and not in cmd/cueckoo.

@myitcv and I fixed this by no longer using GitHub Pull Requests to trigger Actions for the trybots. We use force-pushes to a single branch now.

Delighted to be able to close this. Thanks for all your helping making and testing those changes.


chore: update examples

Issue #, if available:
Description of changes:
Update sketch-constructor version and sync fs-extra version in examples, fix lint
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Mainly chore work, but looking very good to me!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


When will the official new Java SDK be released?

I am developing a project which is planning to use the new Resource Management API.
I wonder how can I download all the new jar files and when will official ones be available.
Thanks.

How can I get all the Azure jars and the third part jars?

Related issue: https://github.com/Azure/azure-sdk-for-java/issues/637

You can use the beta1 release in maven today. However, be noticed that it's not stable and is going to change in the upcoming beta2 (end of June) and stable release (~late summer).
We don't have shaded jars at this moment yet. But they will be provided in a later release.


Ng Component w/ Custom Element: "cannot be invoked without new" in Karma

Bug Report or Feature Request (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request

Versions.

@angular/cli: 1.3.0
node: 6.2.2
os: darwin x64
@angular/animations: 5.0.0-rc.2
@angular/common: 5.0.0-rc.2
@angular/compiler: 5.0.0-rc.2
@angular/core: 5.0.0-rc.2
@angular/forms: 5.0.0-rc.2
@angular/http: 5.0.0-rc.2
@angular/platform-browser: 5.0.0-rc.2
@angular/platform-browser-dynamic: 5.0.0-rc.2
@angular/router: 5.0.0-rc.2
@angular/cli: 1.3.0
@angular/compiler-cli: 5.0.0-rc.2
@angular/language-service: 5.0.0-rc.2
Repro steps.

git clone https://github.com/priley86/storybook-angular-demo.git
git fetch origin testing
npm run test
The log given by the failure.

Karma seems to be failing to load the Web Component polyfills correctly (referenced in polyfills.ts here: https://github.com/priley86/storybook-angular-demo/blob/master/src/polyfills.ts#L52).
When initializing a component that references a custom element, Karma fails to invoke the Custom Element constructor. This appears to be an issue with Karma not loading the polyfill correctly.
Integration testing of web components in the Angular CLI project will be a very important theme in the future. It'd be great to document how to do this!
Karma failure logs:
16 10 2017 15:30:59.489:INFO [karma]: Karma v1.7.1 server started at http://<IP_ADDRESS>:9876/
16 10 2017 15:30:59.490:INFO [launcher]: Launching browser Chrome with unlimited concurrency
16 10 2017 15:30:59.502:INFO [launcher]: Starting browser Chrome
16 10 2017 15:31:14.456:WARN [karma]: No captured browser, open http://localhost:9876/
16 10 2017 15:31:14.633:INFO [Chrome 61.0.3163 (Mac OS X 10.12.6)]: Connected on socket FGpSES_F21AxxvReAAAA with id 74040345
Chrome 61.0.3163 (Mac OS X 10.12.6): Executed 3 of 5 SUCCESS (0 secs / 0.352 secs)
Chrome 61.0.3163 (Mac OS X 10.12.6) ERROR
  Uncaught TypeError: Class constructor HelloComponent cannot be invoked without 'new'
Chrome 61.0.3163 (Mac OS X 10.12.6) ERROR
  Uncaught TypeError: Class constructor HelloComponent cannot be invoked without 'new'
  at http://localhost:9876/_karma_webpack_/polyfills.bundle.js:1
Chrome 61.0.3163 (Mac OS X 10.12.6): Executed 3 of 5 ERROR (0 secs / 0.352 secs)
Chrome 61.0.3163 (Mac OS X 10.12.6) ERROR
  Uncaught TypeError: Class constructor HelloComponent cannot be invoked without 'new'
Chrome 61.0.3163 (Mac OS X 10.12.6): Executed 3 of 5 ERROR (0.474 secs / 0.352 secs)

Relevant commit which adds the web component/storybook demo to Angular CLI project:
https://github.com/priley86/storybook-angular-demo/commits/testing
Desired functionality.

Passing integration tests with Ng and a Custom Element
Mention any other details that might be useful.

getting this also. Even with 1.6.0-rc.0 which I thought had a fix for it :)
I'm getting it much less now actually, but it seems to be when extending:
import { Inject, Pipe, PipeTransform, LOCALE_ID } from '@angular/core';
import { DatePipe } from '@angular/common';

// Safari can't parse the dates returned by legacy REST API.
// This should be deleted once we replace all REST call with GraphQL
@Pipe({
  name: 'date',
})
export class DateTransformPipe extends DatePipe implements PipeTransform {
  constructor(@Inject(LOCALE_ID) currentLocale: string) {
    super(currentLocale);
  }

  toISO(value: string) {
    return value.toString().replace(/\s+/g, 'T').replace('.000000', '.000Z');
  }

  transform(value: any, args?: any): any {
    return super.transform(!value ? value : this.toISO(value), args);
  }
}

Using it like:
beforeEach(async(() => {
  TestBed.configureTestingModule({
    schemas: [NO_ERRORS_SCHEMA],
    declarations: [
      SomethingComponent,
      DateTransformPipe,
    ],
    ...

I'm going to close this as it's a very old issue, and we changed a lot during Angular 6.x regarding running karma and running tests (in both the CLI and Angular Core).
If you can still see this happening, please file a new issue with a recent reproduction. Thanks!


Correct RepresentativeType spelling error

Trade Association was spelt incorrectly & as it is validated against the
schema it can cause claims to fail validation and not be sent through to
Jadu.

:+1:

LGTM


When selecting a value in the line graph and hovering another, show the difference between the values in addition to the time delta

Duplicate of #159


Future of the "color" prop

We started a discussion in #3269 regarding the color prop. I think the prop adds complexity to the components. For example, I've seen code that inspects style objects passed as props and determines whether it needs to change based on the color prop. Personally, I don't like when props are coupled to each other and can have side effects on one another.  It's just another area where things can break and consistency has to be maintained.
I think this behavior has the possibility to confuse developers too when there could be more than one way to do something. I think developers generally when customizing styles will be creating a style object and to separate set a color string in a separate prop seems like more of an inconvenience than a convenience.
That's my opinion though!
Counter arguments are that color helps abstract when you should be using the color css key vs the fill css key for SVGIcons. Though I think it's better not to hide that from users.
Notes:
I did a search for color: React in an effort to find components that define a prop for color. Here's the list...

Avatar
CardText
CircularProgress
FontIcon
InkBar
LinearProgress
RefreshIndicator
SvgIcon

Search results also included: CircleRipple and TouchRipple which I consider more internal components.
These have backgroundColor:

Avatar
FlatButton
FloatingActionButton
RaisedButton

I agree with this. but I really don't know what we should do with fill. maybe use backgroundColor?

That's an interesting issue. Having a look at the React Native documentation, I can see that they provide a color property and his variants, like colorHint, underlayColor on many components.
But, their components are far less customizable. They don't provide style properties for nested element.

there could be more than one way to do something

I couldn't agree more. Things should be as simple as possible. Providing two-ways to do stuff as we do now for providing the muiTheme is just confusing and harder to maintain.

No argument here!

in my opinion styles for nested elements are often workarounds... I believe we should not be able to style innerdiv and internal structure of a component. (it's hard to understand and implementation specific).
I distinguish two cases:

internal wrapper, that should not be visible / configuration. (when we wrap something in a div for alignment purpose)
composed component, for example the TextField, with a label, an input, an underline. They all have to be configurable separately.

I often ran into issues where I want to change the size or the textAlign of a component and I have to adjust nested elements.
Maybe it makes sence to distinguish between 'raw style' as we have them now, and style properties that applies to more than one element.

I agree with @cgestes If we make our components composable enough we won't have to worry about this.

@newoga FWIW my first attempt to colour an SVG icon in this lib was to use fill, not `color.

I agree with @cgestes If we make our components composable enough we won't have to worry about this.

I agree that more composable components will make this a lot easier for developers to understand.

@newoga FWIW my first attempt to colour an SVG icon in this lib was to use fill, not color.

Yeah, that's my fear with the current color abstraction. It ends up confusing developers that understand and expect it to work the same way it works outside of the library.
I think we should move towards deprecating the color props and encouraging styling using color for fonts and fill for svg using their respective style props.

That's exactly what I tried, style={{ fill: Colors.grey300 }}

@newoga That's exactly what I tried, style={{ fill: Colors.grey300 }}

Yeah the current implementation is broken in my opinion. I think if you use an <SvgIcon /> by itself, your example should've work as long as you don't provide a color prop. The problem happens when you provide an <SvgIcon /> (or a component based on <SvgIcon />) as a prop to another component (such as passing an icon to <Avatar />. The <Avatar /> component clones the icon and passes a color prop so any fill you would've provided to the <SvgIcon /> style prop would've been ignored.
I think this is essentially what makes the current approach confusing.

Agreed (currently broken). I'd have expected that to work without a color prop provided. Side note: this type of expectation is a great example of where a good test suite would help.
And as you'd like color to have the ability to override style.fill, we end up stuck because <Avatar /> passes color as it is a default prop.
One thing that I think this library needs to be wary of is having too much magic happen between the user's component and the final render output. The developer needs to be in control.

And as you'd like color to have the ability to override style.fill, we end up stuck b/c  passes color as it is a default prop.

This can be fixed by assigning the child styles to the cloned element. It's easy to fix actually, I self assigned that task, but forgot about it :sweat_smile: :sweat_smile:
I like the idea of style.fill :+1: :+1: @newoga Should we go with this?

One thing that I think this library needs to be wary of is having too much magic happen between the user's component and the final render output. The developer needs to be in control.

Couldn't agree more. I'm working on some external projects that will help this library a lot. I hope they will help this cause

This can be fixed by assigning the child styles to the cloned element. It's easy to fix actually, I self assigned that task, but forgot about it :sweat_smile: :sweat_smile:

@alitaheri This is already happening, but <SvgIcon /> right now will ignore it if color is provided. So the parent components that clone the icon would have to check the child props actually for the value and make sure not to assign the child styles but pass it as a prop instead. Or SvgIcon would have to override the color prop with style not the other way around (what I suggest we should do).

I like the idea of style.fill :+1: :+1: @newoga Should we go with this?

I think so! I wouldn't put it at the top of our agenda, maybe we should put it on future ROADMAP and plan to deprecate them color props all together for the components I listed at the top of the issue.

I've been banging my head against the wall trying to change the color of an icon inside a FloatingActionButton. I've tried:

FloatingActionButton.style.color
FloatingActionButton.iconStyle.color
FloatingActionButton.color
Icon.color
Icon.style.color

and a couple of others. Without success. Several times I had to resort to waiting for the DOM to settle and then manually (with JS) modify styles in the DOM! The is the opposite of what React is supposed to enable. Can somebody enlighten me to how I can change the color of an icon inside a FloatingActionButton? My apologies if this is the wrong place, but it seems I am not the only one struggling with this aspect of the API.

@killroy42 That's not the end yet. To get a perfect result, you would also need to apply the style on the overlay element (that can be reached with the style properties): https://github.com/callemall/material-ui/blob/master/src/FloatingActionButton/FloatingActionButton.js#L51.
I agree with you. It's far from perfect. @nathanhere Has been working on a new theme property so any key that can be changed at the theme level (floatingActionButton.iconColor) in our case, can also be changed at the component level.
Hopefully, that would make things much simpler.

I may be misusing the component, but I was using it as a "close" button in the upper right corner of an editor. Thus, It would require it's own style, not one shared with all other FloatingActionButtons, making theming a bit tricky as well. It almost seems a perfect fit for CSS, lol ;)

I believe that this thread has been answered by this one #7324. To summarize, some of our components, maybe half, expose a color property. The values you can set are very specific. You shouldn't find anything else than: primary, accent, default, contrast, inherit, secondary. For anything else, people are free to use their styling solution to change the color. Still, we should do our best to make it easy. For instance, setting the color at the root of the component so users don't have to dig into the elements of the component.


Remove flash message on route change with vue-router

Using vue-router, the flash message does not disappear when the route changes. This would be a desirable feature as used by many people.

Hey @belvederef ! Yes, it's a great feature to add in future releases. I'll keep that in mind, thank you