Uncaught JSONDecodeError at Startup

When trying to set up via integrations keep getting unexpected error
Home Assistant 0.110.0
HASSOS:NO
I've succefyully set this up on the beta so not sure why its not working on the stable version
Home Assistant 0.110.0b5
HASSOS:NO
Logger: homeassistant.components.blink.config_flow
Source: components/blink/config_flow.py:22
Integration: Blink (documentation, issues)
First occurred: 9:01:22 AM (1 occurrences)
Last logged: 9:01:22 AM

Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/blink/config_flow.py", line 69, in async_step_user
    response = await validate_input(self.hass, self.blink)
  File "/usr/src/homeassistant/homeassistant/components/blink/config_flow.py", line 22, in validate_input
    response = await hass.async_add_executor_job(blink.get_auth_token)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.7/site-packages/blinkpy/blinkpy.py", line 176, in get_auth_token
    self.setup_params(self.login_response)
  File "/usr/local/lib/python3.7/site-packages/blinkpy/blinkpy.py", line 189, in setup_params
    self.networks = self.get_networks()
  File "/usr/local/lib/python3.7/site-packages/blinkpy/blinkpy.py", line 195, in get_networks
    response = api.request_networks(self)
  File "/usr/local/lib/python3.7/site-packages/blinkpy/api.py", line 82, in request_networks
    return http_get(blink, url)
  File "/usr/local/lib/python3.7/site-packages/blinkpy/api.py", line 301, in http_get
    is_retry=is_retry,
  File "/usr/local/lib/python3.7/site-packages/blinkpy/helpers/util.py", line 104, in http_req
    if json_resp and "code" in response.json():
  File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 898, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/simplejson/__init__.py", line 525, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.7/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/local/lib/python3.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)```

Disregard Working now

It briefly worked now it's not cannot find an error other than

Yes email verified with Blink,
            {
                "connection_class": "cloud_poll",
                "data": {
                    "login_response": {
                        "account": {
                            "id": XXXXXX,
                            "verification_required": false
                        },
                        "authtoken": {
                            "authtoken": "XXXXXXX",
                            "message": "auth"
                        },
                        "client": {
                            "id": XXXXX,
                            "verification_required": false

No problem thank you for your efforts! Let me know if you need anything
HA Unraid Docker HA0.110.0 but can switch to any version you need.

The weird thing is it is still receiving the state so it's connected in some way

It's working now I signed out of the blink app removed the config.yaml blink section and used the integration only and I can now arm and disarm from HA but I did not receive the 2fa email for HA

I'm getting this error sometimes. I can't figure out what makes it happen. I added a loop to util.http_req() and when blink.session.send() returns an empty string I print a line to that effect, sleep 1 second, and try the send() again. My hacked up code looks like this:
rbrown@yoda ~/git/blinkpy/blinkpy/blinkpy/helpers $ git diff util.py
diff --git a/blinkpy/helpers/util.py b/blinkpy/helpers/util.py
index 9079e3d..bdd32d0 100644
--- a/blinkpy/helpers/util.py
+++ b/blinkpy/helpers/util.py
@@ -100,7 +100,12 @@ def http_req(
     prepped = req.prepare()

     try:
-        response = blink.session.send(prepped, stream=stream)
+        response = None
+        while not response:
+            response = blink.session.send(prepped, stream=stream)
+            if not response:
+                _LOGGER.debug('blink.session.send() unexpectedly returned an empty string. retrying...')
+                time.sleep(2)
         if json_resp and "code" in response.json():
             resp_dict = response.json()
             code = resp_dict["code"]

When broken, it loops seemingly forever:
Logging into the BLINK servers...
Attempting login with https://rest-prod.immedia-semi.com/api/v4/login
Starting new HTTPS connection (1): rest-prod.immedia-semi.com:443
https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
blink.session.send() unexpectedly returned an empty string. retrying...
https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
blink.session.send() unexpectedly returned an empty string. retrying...

Ah yes I see that now, after I modified the code to only loop 5x then move along.  When I got to my download files stage, however, it made a bunch of successful calls then failed:
rbrown@yoda ~/git/blinkpy $ docker run -v /nas/archive/blink:/nas/archive/blink -it 7a2827206b73 bash
root@7df5aad7512c:/# python3 /dashrb/dashrblink/download.py -v
2020-05-22 03:52:07 AM|INFO|Attempting login with https://rest-prod.immedia-semi.com/api/v4/login
2020-05-22 03:52:07 AM|DEBUG|Starting new HTTPS connection (1): rest-prod.immedia-semi.com:443
2020-05-22 03:52:07 AM|DEBUG|https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
2020-05-22 03:52:07 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:09 AM|DEBUG|https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
2020-05-22 03:52:09 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:11 AM|DEBUG|https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
2020-05-22 03:52:11 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:13 AM|DEBUG|https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
2020-05-22 03:52:13 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:15 AM|DEBUG|https://rest-prod.immedia-semi.com:443 "POST /api/v4/login HTTP/1.1" 404 18
2020-05-22 03:52:15 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:17 AM|INFO|Attempting login with https://rest-prod.immedia-semi.com/api/v3/login
2020-05-22 03:52:17 AM|DEBUG|https://rest-prod.immedia-semi.com:443 "POST /api/v3/login HTTP/1.1" 200 264
2020-05-22 03:52:17 AM|DEBUG|Setting base url to https://rest-u008.immedia-semi.com.
2020-05-22 03:52:17 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/networks
2020-05-22 03:52:17 AM|DEBUG|Starting new HTTPS connection (1): rest-u008.immedia-semi.com:443
2020-05-22 03:52:17 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /networks HTTP/1.1" 200 1998
2020-05-22 03:52:17 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/api/v3/accounts/6196/homescreen
2020-05-22 03:52:17 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v3/accounts/6196/homescreen HTTP/1.1" 200 6608
2020-05-22 03:52:17 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/network/6635/syncmodules
2020-05-22 03:52:17 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /network/6635/syncmodules HTTP/1.1" 200 636
2020-05-22 03:52:17 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/network/6635

SNIP..... LATER, DURING DOWNLOAD:
Downloading since 2020-05-01t00-00-00
2020-05-22 03:52:21 AM|INFO|Retrieving videos since 2020-05-01T00:00:00+0000
2020-05-22 03:52:21 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=1
2020-05-22 03:52:21 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=1 HTTP/1.1" 200 11351
2020-05-22 03:52:21 AM|DEBUG|Processing page 1
2020-05-22 03:52:21 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/api/v2/accounts/6196/media/clip/696003796.mp4
2020-05-22 03:52:21 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v2/accounts/6196/media/clip/696003796.mp4 HTTP/1.1"<PHONE_NUMBER>
2020-05-22 03:52:22 AM|INFO|Downloaded video to /nas/archive/blink/2020-05/driveway-tree-2020-05-22t03-03-32-00-00.mp4
2020-05-22 03:52:22 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-21t14-28-40-00-00.mp4 already exists, skipping...
2020-05-22 03:52:22 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-21t16-04-46-00-00.mp4 already exists, skipping...

SNIP a bunch of pages of files....  up to page 11:
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t19-44-08-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=10
2020-05-22 03:52:23 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=10 HTTP/1.1" 200 11330
2020-05-22 03:52:23 AM|DEBUG|Processing page 10
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t19-51-26-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t19-54-58-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t20-06-50-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t20-19-12-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t20-23-50-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t20-55-45-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t20-53-14-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t20-58-36-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-09-45-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-01-03-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-12-38-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-23-19-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-15-15-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-28-37-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-39-05-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-41-21-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-44-06-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-42-55-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-44-58-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-45-44-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-46-43-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-47-34-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-48-58-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/garage-2020-05-19t21-48-25-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|INFO|/nas/archive/blink/2020-05/driveway-tree-2020-05-19t21-50-04-00-00.mp4 already exists, skipping...
2020-05-22 03:52:23 AM|DEBUG|Making GET request to https://rest-u008.immedia-semi.com/api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=11
2020-05-22 03:52:23 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=11 HTTP/1.1" 403 134
2020-05-22 03:52:23 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:25 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=11 HTTP/1.1" 403 134
2020-05-22 03:52:25 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:27 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=11 HTTP/1.1" 403 134
2020-05-22 03:52:27 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:29 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=11 HTTP/1.1" 403 134
2020-05-22 03:52:29 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:31 AM|DEBUG|https://rest-u008.immedia-semi.com:443 "GET /api/v1/accounts/6196/media/changed?since=2020-05-01T00:00:00+0000&page=11 HTTP/1.1" 403 134
2020-05-22 03:52:31 AM|DEBUG|blink.session.send() unexpectedly returned an empty string. retrying...
2020-05-22 03:52:33 AM|DEBUG|other exception received from blink.session.send(): Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/dashrb/dashrblink/download.py", line 62, in <module>
    blink.download_videos(dest, since=since, stop=1000000)
  File "/usr/local/lib/python3.8/site-packages/blinkpy/blinkpy.py", line 293, in download_videos
    response = api.request_videos(self, time=since_epochs, page=page)
  File "/usr/local/lib/python3.8/site-packages/blinkpy/api.py", line 211, in request_videos
    return http_get(blink, url)
  File "/usr/local/lib/python3.8/site-packages/blinkpy/api.py", line 294, in http_get
    return http_req(
  File "/usr/local/lib/python3.8/site-packages/blinkpy/helpers/util.py", line 155, in http_req
    return response.json()
  File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 898, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/local/lib/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Seeing the Same thing here.

arch
x86_64

dev
false

docker
true

hassio
false

installation_type
Home Assistant Core on Docker

os_name
Linux

os_version
4.19.107-Unraid

python_version
3.7.7

timezone
America/New_York

version
0.110.1

virtualenv
false

arch | x86_64
-- | --
dev | false
docker | true
hassio | false
installation_type | Home Assistant Core on Docker
os_name | Linux
os_version | 4.19.107-Unraid
python_version | 3.7.7
timezone | America/New_York
version | 0.110.1
virtualenv | false

I deleted the integration and re-installed it and it's working again lol


Compilation warnings

I've started develop zephir-ide, plugin for Atom. Firstly I wrote a script for collecting function signatures.
Stubs for json: https://github.com/nkt/zephir-ide/blob/master/stubs/functions/json.json
This stubs are better than reflection because they contain args types. Using it in zephir we could improve compile-time static analysis with messages like:
json_decode(value, 1);
-------------------^
json_decode 2 argument should be boolean

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/11920820-compilation-warnings?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github).

I've started develop zephir-ide, plugin for Atom.

Wow :+1:


Missing license for el files

Files below src/el includes the comment "See LICENSE for licensing information" but that referenced file apparently is missing.
Perhaps the files originate from Ufasoft Coin project at http://ufasoft.com/coin/ and the license therefore is GPL 3 or newer.
Please add the missing LICENSE file (i.e. include the actual file that is referenced - unless you are the copyright holder then creating some other LICENSE file than the original is fraud), or replace those files with ones properly licensed.
Also, please consider including notes on the origin of those files (even if not required by the license), for those who might want to track the origin rather than your fork.

Added elk/LICENSE file with "Public Domain" license.

Thanks!
Uhm, but now there is explicit license for two of the involved files, leaving it less reasonable to assume any license for the third.
Please extend to also clarify license of src/el/x86x64.inc.


Encrypted Password Before storing

Description
In Your website the password are storing in database in without encryption, so their is no security for user.
i added the full encryption method for password encryption and now you password is secure.
Related Issue
Also added bcrypt compair so that user can smoothly login
Type of change

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

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@subhadipbhowmik Please merge it brother


Load Data via Javascript

Is there any way to load data into an ST instance... either while initializing and/or after initialization? Thanks!

SirTrevor.onBeforeSubmit(); will write the SirTrevor instance data to your text field.
By load on init, I'm not really sure what you're asking about, but if you assign data to the text field then initialize it will load SirTrevor in the correct state.

@timmyg this is something i've been looking at implementing as part of improvements for using sir-trevor within non form based environments.
When the editor is being built it fetches the .value from the textarea.
https://github.com/madebymany/sir-trevor-js/blob/master/src/editor.js#L77
https://github.com/madebymany/sir-trevor-js/blob/master/src/editor.js#L106
One way to do what you'd like looks like this:
https://github.com/madebymany/sir-trevor-js/issues/319#issuecomment-89377587
Or you could rewrite the textarea contents and then call:
https://github.com/madebymany/sir-trevor-js/blob/master/src/editor.js#L142
Let us know how you get on.

Couldn't get the second approach working since instance.blocks was undefined. Not sure how to get the blocks.
The third approach using reinitialize seams good. Shall I then set $(".js-st-instance").val() to my saved value? And is that then SirTrevor.getInstance().store.retrieve()? And then run SirTrevor.getInstance().reinitialize(); to restore my blocks?
Tried for a bit now but so far no luck.

@nilsi reinitialize is the way I would do it.
Also i'd assign the editor instance you create to a variable that can be used.
'var instance = new SirTrevor.Editor(options);`
Set data:
$('.js-sir-trevor-instance').val();
Reinitialize:
instance.reinitialize();
Generate new data:
instance.onFormSubmit();
Get data:
instance.store.retrieve(); or instance.store.toString();
Also: There are going to be changes in SirTrevor in the future to make working in this way easier. So keep an eye out on future releases and the changelog for any migrations that might need to happen in your codebase.

Perfect! assigning the instance to a local variable and passing the saved instance as a string to val() solved my problems. Thanks a lot.

@raffij thanks for the great job. Can you consider adding a project design section explaining current state of affairs to the docs?
As far as I understand SirTrevor drifting towards from backend-oriented towards self-sufficient architecture and all of those will be absolute anytime soon (in 2016). Than that section can be marked as temporary, still saving some time and frustration for the developers :)

@lessless that's a good idea. Also looking at the docs right now they don't cover everything they need. So i'll get some more content alongside the current state section.

@raffij I hope I'll be able to get free time to help with refactoring in March. Do you have a plan how to unwire it from a form posting necessity?

After storing Sir Trevor's data in a mongo db I'm trying to load it in a new page using $('.js-sir-trevor-instance').val();
It works except for the image block, it says src=undefined while the image path is stored in a file object like as expected.
ex: '{"data":[{"type":"image","data":"file":"uploads/3e23dc6508df915e400f967add71dbce1473228835345.jpeg"}}]}'


Document Features

Explanation of basic functionality
List of features
Explanation for each feature
Update image(s)

Done


Client rendering color rescale issue

This is in reference to this discussion on pyvista.
If you run his example script, and click "Load Model", you get this image:

If you then click "Load Scalars", the desired output is the following:

However, instead, you get this:

But, if you then refresh the web page, you then get the correct image.
It appears that the colors are not getting rescaled properly. @jourdain, is this potentially an issue with updating from a delta state?
Note that if we change the viewer mode to "server" instead of "client", it works properly.

Yes we will need to see why the delta update is not properly working in that case.

Posted the required fix on the PyVista discussion since it is PyVista related.
FYI @banesullivan


Make interceptors

Note:
The PR code depends on temporal/sdk interceptors branch.
After this PR merge the composer.json should be changed.

What was changed
Added OTEL interceptors
Checklist

How was this tested: manually with other SDK
There is documentation in readme.md
Feel free to propose any other package name (right now it is temporal/open-telemetry-interceptors)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Also, it'd be good to try to be consistent with other SDKs with span names. There are TS names here and Java names here which are generally consistent. They're also both using : as delimiters in the span. Trying to match them would be good

Span names have been renamed:
https://github.com/temporalio/sdk-php-interceptors-opentelemetry/blob/feature/interceptors/src/Enum/SpanName.php
Compared new names with names used in the TypeScript SDK (Zipkin lowercases them).
PHP SDK

TypeScript SDK


Added complete TCO (tail call optimization).

Works across functions and generates simpler and faster code than #701.
Works even across files when used in conjunction with runtime option.
Closes #256.

whoa, this is awesome!

🎈🎊🎉 This is amazing! 🎉🎊🎈

:thumbsup:

:+1:

Actually this can be cleaned up a bit more, but going to sleep, will do that tomorrow. Thanks everyone!

:+1:

(y)

Is this in the REPL yet? I tried compiling this:
const mapWith = (fn, [first, ...rest], prepend = []) =>
  first === undefined
    ? prepend
    : mapWith(fn, rest, [...prepend, fn(first)]);

And I got this, a “Plain Old Recursive Function:”
"use strict";

var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };

var mapWith = function (fn, _ref) {
  var _ref2 = _toArray(_ref);

  var first = _ref2[0];
  var rest = _toArray(_ref2).slice(1);

  var prepend = arguments[2] === undefined ? [] : arguments[2];
  return first === undefined ? prepend : mapWith(fn, rest, [].concat(_toArray(prepend), [fn(first)]));
};

I would expect this to compile the tail call into a trampoline invocation. Am I misunderstanding how to write a function that triggers the optimization?

I haven't pushed out a new release yet, no.
On Sunday, 8 February 2015, Reg Braithwaite<EMAIL_ADDRESS>wrote:

Is this in the REPL yet? I tried compiling this:
const mapWith = (fn, [first, ...rest], prepend = []) =>
first === undefined
? prepend
: mapWith(fn, rest, [...prepend, fn(first)]);
And I got this, a "Plain Old Recursive Function:"
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var mapWith = function (fn, _ref) {
var _ref2 = _toArray(_ref);
var first = _ref2[0];
var rest = _toArray(_ref2).slice(1);
var prepend = arguments[2] === undefined ? [] : arguments[2];
return first === undefined ? prepend : mapWith(fn, rest, [].concat(_toArray(prepend), [fn(first)]));
};
I would expect this to compile the tail call into a trampoline invocation.
Am I misunderstanding how to write a function that triggers the
optimization?
--
Reply to this email directly or view it on GitHub
https://github.com/6to5/6to5/pull/714#issuecomment-73391728.

--
Sebastian McKenzie

I haven't pushed out a new release yet, no.

Thanks for the :rocket: :email: :exclamation:

:+1:

:raised_hands:

:trophy:

Nice, looking forward to using recursion full-time over loops! Thanks for the hard work.

Need to fix some bugs and do some more performance tweaks and I'll push out a new minor later today.

Saw this floating around: http://jsperf.com/tco/8
Probably good to use this as a benchmark suite for TCO?

@Dashed Probably. This is automated and a handwritten optimised version is always going to be faster.

Although there are some relevant parts in there that @RReverser may be able to change/implement.

@Dashed Yes, I was just looking into the performance for comparison, and created that jsperf revision. @sebmck Obviously handwritten code will always have an edge, still great to have an automated TCO solution

@jabbrass The transformation/detection is already in place so optimising the helper will be trivial. Super happy to have this finally available.
Available as of 3.5.0

@sebmck Oh yeah, unrolled versions are no doubt faster. On my machine with Chrome Beta, the jsperf demonstrated that 6to5 TCO beat every other handwritten TCO version in that benchmark; which is not bad.

Actually this can be cleaned up a bit more, but going to sleep, will do that tomorrow.

@sebmck Ah, I hoped to do this before release, but just woke up. Nothing critical, anyway. Thank you for releasing it!

@RReverser Too many people excited for this to wait! Awesome work, really appreciated.

+1 excitement level!  Really looking forward to this.  Thanks!  We love 6to5 at my workplace!

Yes, I was just looking into the performance for comparison, and created that jsperf revision from a set of benchmarks created several years ago from this gist: https://gist.github.com/Gozala/1697037.

@jabbrass Ah damn, didn't see that, so had to create own implementation. I'll look if we can optimize with those.

Great news :+1:

:+1: sharing the excitement here! thanks.

Thanks :)

This work is awesome (y) but there is a memory issue with the current implementation.
function length(arr, n = 0) {
  return arr[n] === undefined ? n : length(arr, n + 1);
}

generates:
function length(arr) {
  var _arguments = arguments,
      _this = this,
      _shouldContinue,
      _result;
  do {
    _shouldContinue = false;
    _result = (function (arr) {
      var n = arguments[1] === undefined ? 0 : arguments[1];
      if (arr[n] === undefined) {
        return n;
      } else {
        _arguments = [arr, n + 1];
        _this = undefined;
        return _shouldContinue = true;
      }
    }).apply(_this, _arguments);
  } while (_shouldContinue);
  return _result;
}

But as you can see, the function is defined in the loop each time round meaning the the memory will balloon. For example running length on an array of size will cause the memory to grow to over 1GB.
If the output is more like:

function length(arr) {
  var _arguments = arguments,
      _this = this,
      _shouldContinue,
      _result,
      _fn;

  _fn = (function (arr) {
    var n = arguments[1] === undefined ? 0 : arguments[1];
    if (arr[n] === undefined) {
      return n;
    } else {
      _arguments = [arr, n + 1];
      _this = undefined;
      return _shouldContinue = true;
    }
  });
  do {
    _shouldContinue = false;
    _result = _fn.apply(_this, _arguments);
  } while (_shouldContinue);
  return _result;
}

the implementation won't have this memory issue and will also be faster.

@camspiers Yep, that was fixed with ee5cb8d9ede5db14be5b6944f574f295957ddb8e. We're currently working on optimising it even further.

Oh awesome!

Where can I file a complaint? You've just obsoleted both of my blog posts about Trampolining in JavaScript: Trampolines in JavaScript  and High Level Trampolining. :skull:

Update: This code obsoletes  Trampolines in JavaScript , it optimizes tail-recursive functions. But it does not obsolete High Level Trampolining, it does not rewrite tail-calling functions into trampolined functions, therefore it does not optimize things like co-recursive functions.
For example:
	function even (n) {
	  return n == 0
	    ? true
	    : odd(n - 1);
	};

	function odd (n) {
	  return n == 0
	    ? false
	    : even(n - 1);
	};

@raganwald Not sure what implementation you're referring to since there's two and the one included in this PR isn't in the 6to5 core because there are issues with nested tail calls.

@raganwald @sebmck Looks like we three wanted to write the same thing at the same time :)

the one included in this PR isn't in the 6to5 core because there are issues with nested tail calls.

Good point. I'll save my gnashing of teeth over obsolescence for when this ships. You probably know this already, but trampolining (as opposed to optimizing for tail-recursive functions) is useful for more than just co-recursion. It solves the problem that this is optimized:
function even (n) {
  return n === 0
    ? true
    : (n === 1
         ? false
         : even(n-2)
      );
}

But currently, this is not:
const even = (n) =>
  n === 0
    ? true
    : (n === 1
         ? false
         : even(n-2)
      );

I presume this is because the current tail-recusion optimizer does not recognize that this anonymous function can only ever call itself, unlike the edge case of possibly re-binding even in the following snippet:
let even = (n) =>
  n === 0
    ? true
    : (n === 1
         ? false
         : even(n-2)
      );

@RReverser:
Just to be painfully explicit, it looks like 6to5 turns this:
function even (n) {
  return n === 0 ? true : n === 1 ? false : even(n - 2);
}

Into:
function even(n) {
  var _arguments = arguments,
      _this = this,
      _shouldContinue,
      _result;
  do {
    _shouldContinue = false;
    _result = (function (n) {
      if (n === 0) {
        return true;
      } else if (n === 1) {
        return false;
      } else {
        _arguments = [n - 2];
        _this = undefined;
        return _shouldContinue = true;
      }
    }).apply(_this, _arguments);
  } while (_shouldContinue);
  return _result;
}

Whereas it doesn't do anything special with:
function even (n) {
  return n === 0 ? true : odd(n - 1);
}

function odd (n) {
  return n === 0 ? false : even(n - 1);
}

Meaning, this is optimizing the special case of tail-recursion, but not the general case of all tail-calls.
Am I correct?

@raganwald Please read carefully previous @sebmck's message.

Not sure what implementation you're referring to since there's two and the one included in this PR isn't in the 6to5 core because there are issues with nested tail calls.

This PR was attempt for complete tail call optimization, but it had too much edge cases and so 6to5 switched back to #701 which is what you observe.

@RReverser:
Thanks, that is very clear. :gift:


Align ref interface with the FlatList

Initial version of the FlatList ref API
https://github.com/LegendApp/legend-list/issues/17

Beautiful ❤ Thank you!


Changing aspect ratio in the transition results in weird glitch on iOS

Bug Information
While the transition seems to animate the new bounds and the new aspect ratio on Android, on iOS it only transitions the position and then snaps to the new bounds and aspect ratio.
Version Number of Plugin: <IP_ADDRESS>
Steps to reproduce the Behavior
Create a solution with a BindableLayout and a Second Page where you pass the image (advanced transitioning)
Expected Behavior
like on Android. -> Image changes bounds and aspect ratio while transitioning
Actual Behavior
image transitions using the old aspect ratio and then snaps to the new aspect ratio
Workaround i'm currently using
Make the source and destination image have the same height- & widthrequest.
Layout image in destination page after the transition.
Screenshots
Bug looks like this:

Workaround looks like this:

umm.. interesting. When i developed this i tried this scenario and was working.
The snapshot code for images is a bit clunky and i suspect with the new xamarin.iOS versions isnt working well.
would you mind to upload your test project? so i'll work directly on it

Yes I will try to upload a test project later today.
Will comment here with a link asap :)

The test project is located under this link.
https://www.dropbox.com/s/fqr9xg8dije27b9/TestProject_SharedTransitions.zip?dl=0

I have similar issue with android
video:
https://1drv.ms/v/s!ApSKgKoPus5HlKt6j-MCGI-JI9O7xg
And same Workaround fixing height- & widthrequest.

@Evolutionlab Do you have any news on this? Currently im lacking the time to look into it myself but i'll let you know here, if i have a chance to look at it :)

@Evolutionlab I tinkered around with the project but unfortunately I couldn't find any possible solutions.

The shared transitions works by taking a snapshot of the starting view and moving it where the final view is placed, modifying the size if needed. The resizing is made by keeping the aspect ratio.
When transition ends, the starting view is cleared and the destination view will remain to screen: this is producing the glitch you see. To make it simple: in order to prevent glitch, starting and ending views need to have the same aspect ratio.
At the moment i cant crop and modify the aspect ratio while transitioning. sure, i can work on aspect ratio, maybe adding a new bindable property, but the crop... i don't know if its possible at least in ios.
Regarding the android example in order to make it work, you should use the same image, but in the destination page you can set a negative margin (so the upper part of the image will be hidden below the navigation bar).

with the latest commit this should have been resolved. I'll create a new nuget package soon


Evaluating a module at a specific path

Module resolution (for things like ../a.js, or bare module specifiers with js.esm-bare-specifier-relative-lookup) is relative to the current module's path, but there doesn't seem to be a way to specify the path of a module passed to eval.
I can use Source.newBuilder to create a module with a specific name, but that's not the same as the path, from what I can tell.

Hi @bakkot, you can use a FileSystem to customize the way ES modules are resolved. We have a simple example here (and a few more here).

Unfortunately that doesn't help: the FileSystem is passed the imported module specifier but not location of the base module. And in fact there is no way to specify the location of the base module.
That is, if I eval a module with contents import foo from "./a.js", the FileSystem just sees a.js. If the module being evald is supposed to be at location some/path/b.js, then the import should resolve to some/path/a.js. But as far as I can tell there is no way to do this. The FileSystem is only going to see a.js, which is not sufficient.

I can use Source.newBuilder to create a module with a specific name, but that's not the same as the path, from what I can tell.

Does something like
Source source = Source.newBuilder("js", new File("/some/path/b.js")).content("import foo from './a.js'").mimeType("application/javascript+module").buildLiteral();

works for you? Note that the file /some/path/b.js does not have to exist. Its content is not read because you specify it explicitly. It just serves as the information about the location of the source.

@iamstolis Yeah, that seems to work. Thanks.
Is there... a better way than that? 'Cause that's kind of ugly.

Is there... a better way than that? 'Cause that's kind of ugly.

Well, this code reflects what you want to achieve pretty well IMHO. So, I don't see a big difference between the ugliness of your requirement and the corresponding code. What kind of better way would you expect?

I was hoping for a way to set the path directly, or to evaluate a string as a module and specify the path. Getting a File object involved which doesn't correspond to any actual underlying file seems very strange to me.

I am sorry, I still fail to understand why you dislike the File-based approach.

I was hoping for a way to set the path directly, or to evaluate a string as a module and specify the path.

You want to evaluate a string and make the engine work as if the string was in the file on the specified path. That's exactly what the pattern above does: you specify File telling the engine where the corresponding Source is located and you specify its content (so there is no need for the File to actually exist on the disk).

I suppose I'm just not used to using File to represent things which don't correspond to files on disk. And it seems odd that I can use the Source builder to explicitly specify the file name, mimetype, and content of the source object, but not its path.
Anyway, this solution works fine, even if it feels weird to me. Thanks for your help!


Bumping versions to versions correctly back into main. Someone merged…

… an old Gemfile.lock
Signed-off-by: John McCrae<EMAIL_ADDRESS>Updating gem versions and doing Goalie work
Description

Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

Totally blown out... BOO

#13338 fixes the dependencies for knife.gemspec and chec.gemspec for train 3.10.7 which which has the correct dependency update for net-ssh 7. Once this is merged ‘bundled update’ will work correctly and not revert net-ssh, net-scp, or net-sftp gems.
In my tests running bundled update works best when run in knife folder then chef root and then omnibus folder. I think it has something to do with the way deps are updated and cascading deps.


A question about the section 4 of the paper

thanks for your great work！I have a little question about the section 4——Masked Optimal Transport.
In this section，you said that “Moreover, the defined MWD can recover WD by setting M = 1n×m and it is obvious that Lmw(M, a, b) ≥ Lw(a, b)“.I wonder if there is something wrong with the ”Lmw(M, a, b) ≥ Lw(a, b)“. I think，some elements of the M⊙P will be zero comparing with P，so according to Eq（2）and Eq（3），Lmw（M，a，b）should be smaller.

Thank you for your interest!  The   $dom ~\mathbf P$  of  MOT is the subset of  OT.  The solution of MOT is not simply masking the solution of OT with $\mathbf M$.


Peek: images displayed with incorrect colors/levels

Microsoft PowerToys version
0.71.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
Peek
Steps to reproduce
Method 1

Create multiple copies of an image.
Convert each copy to a different embedded ICC profile (eg. Display P3, DCI, Adobe RGB, BT.2020).
Scroll through duplicate images with Peek.

Method 2

Use a wide gamut monitor with selectable modes that apply system ICC profiles.
Set monitor to any profile (eg. Display P3, DCI, Adobe RGB, BT.2020)
Peek at images.
Select another monitor profile.
Peek at images again.

✔ Expected Behavior
An image should appear near-identical regardless of monitor profile or embedded profile, when the viewing gamut meets or exceeds the image gamut. If the viewing gamut is smaller than the image gamut, colors should be fitted according to system color management settings.
In all cases, color management should be applied.
❌ Actual Behavior
Images appear oversaturated, undersaturated, have incorrect levels (incorrect gamma) depending on the combination of embedded profile and monitor profile used.
Images are only correctly displayed if the image embedded profile coincidentally matches the monitor profile. It appears that Peek is not using color management.
This report applies to 10-bit SDR desktop, but the problem may also occur with the HDR-enabled desktop as well (have not tested in HDR mode). This problem may also apply to videos (have not tested Peek with videos).
Other Software
No response

Are you still experiencing this issue? /needinfo


API Version not read

When setting "API Version" to any string not matching the ^v[0-9]+ pattern, the "Versioning Scheme" field is hidden, and when run, the task does not set the version as specified. However, APIM Portal allows any Versioning string.

I did some investigations, and I noticed that whenever the API in not already present, v1 is created instead of the passed version label.
https://github.com/stephaneey/azure-apim-extension/blob/master/apimversioned/v2/apimversioned.ps1#L185
I do understand this might be the default behavior, but it is actually misleading IMHO

I have the same problem


Saved files have unknown color space

Hi.  My wife has been using LightZone for a couple years now.  Every so often we get a photo that looks fine in preview, but shows up with a yellow tint in a browser, on a printer, and as a desktop wallpaper.
This seems like a colorspace error.  (I'm a programmer, not a photographer and I only have half a clue (at best) about colorspaces).  eog's details property shows me Other>ColorSpace is set to "Internal error (unknown value 65535)" on broken files.  We get sRGB as expected on good files.  However, the xmp exif section shows exif:ColorSpace = 1, which google says is sRGB.
I've been able to fix individual photos by attaching an icc file with imagemagick: convert "$img" -colorspace srgb -profile /usr/share/color/icc/colord/sRGB.icc "$fixed_img" , but the process is really irritating and I'd like LightZone to just work.
We're using lightzone 4.1.5 on Debian's stable release.

Hi, which camera do you use? Could you upload both original and broken files to somewhere I can download?

Nikon D5200.  I'll have to get back to you on the photos.

Here are some files.  We took these on an iPhone and got the same yellowing effect.  The only edit in Lightzone was a crop.  They look identical in gimp and eog, but nautilus's thumbnail shows snoopy_lzn.jpg as significantly more yellow.
https://www.dropbox.com/s/0pxu9rrijf9s945/snoopy_lightzone.zip?dl=0

Thank you, I'll take a look.

I haven't found the cause of this issue yet, but

As for the snoopy image, it seems that the yellow cast is caused by a known bug in nautilus (https://bugs.launchpad.net/nautilus/+bug/1190686). I think that it is not related to the problem described in your first post.
ColorSpace=65535 means "uncalibrated", so the "Internal error (unknown value 65535)" message in eog is misleading, if my understanding is correct.
I checked some _lzn.jpg files using exiftool -htmldump and found that all of the files contained an APP2 ICC_Profile segment. I'm not sure if the ICC profile is wrong or empty on the broken files.

Could you upload Nikon D5200 samples that you mentioned in the first post, too?

Here you go: https://www.dropbox.com/s/pku2qkauf7vfu14/nikon_lightzone.zip?dl=0
I wouldn't care if it was just nautilus yellowing images.  But they print that way too.  We only noticed the problem in nautilus when trying to figure out why the stuff we print was coming out so yellow.

Thank you, I'll look into it. I think it is an original image. Would you also upload a _lzn.jpg created from this one?
By the way, I created another _lzn.jpg from your snoopy.jpg on Ubuntu 15.04, then compared it with your snoopy_lzn.jpg. I found that output from exiftool -hex are different, especially Matrix Column tags. The values in my file are for D50 sRGB:

Red Matrix Column               : 0.43585 0.22238 0.01392
Green Matrix Column             : 0.38533 0.71704 0.09714
Blue Matrix Column              : 0.14302 0.06059 0.71384

but in your file the values are for D65 sRGB:

Red Matrix Column               : 0.4124 0.21265 0.01933
Green Matrix Column             : 0.35759 0.71518 0.1192
Blue Matrix Column              : 0.18048 0.0722 0.95055

I have no idea where this D65 icc segment came from. Just to make sure, could you check that Preference -> Save -> Color Profile is set to sRGB?

My bad, I thought I did that in the first place.  The file in here was _lzn.jpg before I renamed it.  https://www.dropbox.com/s/0d16jv2iiddxmv7/lz.zip?dl=0
I'm not sure how to read the matrix column stuff, but it looks like mine's got less RG and more B.
Yes, color profile is sRGB.  I noticed there's also sRGB.icc, which seems redundant but might point to a different profile?


Drop down showing syntax instead of Label

Issue type:

Python version: 2.7.12
NetBox version: 1.9.5-dev
When adding new device I am seeing this, also see this when connecting interfaces

Confirmed also present when connecting interfaces on regular v1.9.4 (have not tried r1 yet).

Django 1.11 changed the way certain form widgets are rendered. Downgrade to Django 1.10 for now; v2.0 will support only Django 1.11 and up.

78b00720513ebd8c7f4236097c336777c8eeaeb4 will prevent Django 1.11 from being installed beginning with v1.9.5.

That fixed it, thanks would it be worth changing the requirements.txt??


XIVY-11980 implement basic editor layout

I moved the new editor into its own package to not interfere with existing stuff.


Optimise symbolic execution

Simplify some aspects of symbolic execution and small fix to simulator presentation.

I couldn't actually measure any improvement on execution time, unfortunately. But it is not worse either, and it does simplify the code...


Use editable install to fix coverage

Using the editable install fixed coverage.py being able to associate the coverage report with the source files, so now we have correctly working coverage reports again.
Please review @Tobychev @LukasNickel
The muon fit fix is temporary, a proper fix is under investigation  in #2425

I don't understand what the problem being solved is, nor why doing an editable install would matter so I don't think I can provide a meaningful review.

I don't understand what the problem being solved is

Codecov reports coverage of 60% on 30 lines, because it doesn't recognize the file paths being tested because we run the tests in a temporary directory using the package installed into the prefix of the python installation.
See: https://app.codecov.io/gh/cta-observatory/ctapipe/

why doing an editable install would matter.

Doing an editable install means the installation is just creating symlinks to the checked out repository, which means that codecov can link the executed code to the source files correctly.

I don't even understand why the muon test needs to be patched in this PR

To be honest, me neither. The test started failing after I added the -e and I fixed it to see if the coverage was ok after I got the tests to run using the editable install, which it does now, see:
https://app.codecov.io/gh/cta-observatory/ctapipe/pull/2460/indirect-changes


instantiate model from overridable ressource method

Hello,
I look for your solution in this commit. It doesn't sounds good to me to use the map function for instantiation. First, cause it's not the role of a method called map. Second, cause it force the user of your library to check for null value in the method.
But your solution is the one. Give the user a hook to tell to your library how to build the object. That's why I propose to you this dedicated method of instantiation.
Have a nice day,
Cham

Hello.
Thank you very much for your effort.
I'm totally agree with you. And yesterday I released v 1.14 with the same solution you've proposed in the PR.
I had 20 min free and I've did the changes (v 1.14) and totally forgot to inform you about that.
Please update to v.1.14 and check the readme file.
Again thank you very much for your PR and sorry that I did not inform you about the new version.

Ah ah no worries. I'm glad you do the release ;).


[FIX-1] Bar chart with budget burned and budget forecast

This PR fixes #1.
Two bar charts are added in Budgets Overview and Budget Details.
The charts show

the budget burned aggregated by month for all months since the first record's date and until today's month
the budget planned aggregated by month for all months since next month and until the last record's date

In Budget Overview the charts contains data of all budgets in the project. You can toggle between net and gross values, by the net-gross-link in the 'Options'-menu.
In Budget Details the chart contains only the data of this budget.

I tried it out, but I'm not seeing any values for the planned budget (they do show up in the Month Report).
Also I'm not completely sure the charts are in the best place possible, but that's more of a formating issue. A separate page for just one chart doesn't make much sense either, but maybe the chart could be initially minimized, this way the user would have to explicitly click on it if they're interested and won't otherwise have to scroll down too much to find the options panel.

The chart boxes are collapsed now by default.
I think the missing planned values are intended.
The forecast charts show only planned values for the future (months after the current month).
The month report shows only planned values for the past months and the current month.
The data isn't overlapping.
Unfortunatly, as the underlying chart class wants value types in its datasets, the planned values can't be set to null.
So currently planned values for the past months and this month are set to 0.
This results in different plan values shown in the budget details and overview (seen in this screenshot)

and in the month report (seen in this screenshot)

I see, that this inconsistency might be quite confusing to the user, but I wanted to keep everything as near as possible to the issue.
To improve it, I have the following suggestions:

show the plan values like they are in the month report, so the visualisation of plan values is consistent and not confusing.
set the plan values to the same value as the burned values, so it is still near to the issue, but less  confusing

The best solutions might be to show no plan values at all for the past and the present, but this doesn't seem to possible with the underlying chart class and I don't about know another possible base class for charts.


[Request] Add ability to remove alloy smelter recipes or disable them entirely

I'm making a modpack that includes RetroComputers as a replacement for RP2 computers, alongside some other mods that replace other redpower features. I noticed that this mod includes a bunch of blocks and items that do not appear to have any use, which I am able to remove by disabling crafting recipes and hiding them in JEI with crafttweaker. However, I cannot remove or hide the recipes in the alloy furnace, meaning that players could potentially be confused when looking through JEI. It would be nice if there was just a config option to disable all of the Alloy Furnace recipes, so that I could keep JEI clean. Thanks in advance.

What items do you mean? QuackLib should only add items that are needed for RetroComputers. I guess you could go into the jar and delete the therealfarfetchd/quacklib/common/jei/JEIPlugin.class file, that should work to disable the JEI plugin at least

Alright. Note that the log file is rather large because of broken advancements from recipe changes.
Minecraft Log: https://pastebin.com/Nq3avXVM

Hm, looks like RetroComputers enables those features despite not using them (look at line 1048-1089). Oh well
Just delete the class file I've told you from the jar

Ok, will do. In any case, thanks for the help.


x/pkgsite: search page redesign

This is the umbrella issue for an upcoming redesign of the search page on pkg.go.dev. Specific plans will be discussed via the issues below:

#47320
#47315
#44142
#42704

The motivation for these changes were originally discussed in #41585.
Copied from the "Search page" section:

Search results are noisy:

#37788
#36814
#39525

The “latest” version for a search result can be confusing:

#36969
#41108
https://github.com/golang/go/issues/36806#issuecomment-580242621

These features are live on https://beta.pkg.go.dev! 🎉
Give it a try, and please file an issue for any feedback.

This is live on pkg.go.dev. See https://go.dev/blog/pkgsite-search-redesign for details.


start time and end time don't work as they should

Description of the issue
This comes from #267 and the discussion of the issue in dev-meeting 10.
If we have different time steps which share a common "border time", say 11:00-12:00 and 12:00-13:00, 12:00 is a zero-dimensional temporal region that is a start time (because of its "role" for the first time step) as well as an ending time (because of the second time step).
This leads to the problem that a time step can have two zero-dimensional temporal regions associated with it via a has part relation. Both zero-dimensional temporal regions can be start and ending times because of their use in this and / or other time steps. In that situation it gets hard to determine which of the zero-dimensional temporal regions is the start and which the ending time.
Ideas of solution
This can be prevented by using different object properties like has start time and has ending time instead of has part, which refer directly to a zero-dimensional region instead of start time and ending time. This way, start / ending time would get replaced by object properties.
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

To make it consistent, we should also transform time stamp from a class to an object property. Our object properties need definitions as well. My suggestions:

has start time: A relation between a one-dimensional temporal region and a zero-dimensional temporal region where the zero-dimensional region indicates the beginning of the one-dimensional region.
has ending time : A relation between a one-dimensional temporal region and a zero-dimensional temporal region where the zero-dimensional region indicates the end of the one-dimensional region.
has time stamp: A relation between a time step and a zero-dimensional temporal region where the zero-dimensional temporal region is used to describe the time step.

What do the other experts think about this topic? @OpenEnergyPlatform/oeo-general-expert-formal-ontology

the definitions are complex to read, but good (maybe use abbreviations for simplicity? 1d-region or something like that? but thats not necessary).
I think Timestamp can be both. I don't see a logical problem like the one described above for start and end time. So question is would it be helpful for the users of our ontology if timestamp is a class?

the pull request #573 stated the domain of start time as "'has start time' exactly 1 'zero-dimensional temporal region'" and the domain of ending time the same way.
I think the underlying idea of that is that a process can always have just one start time.
The implementation here is not correct, it states that just a class with exactly one "has start time" relation can get the relation "has start time", which is paradox.
My proposed implementation of that would be to make the properties "start time" and "end time" functional. Which means for each element of the domain (here processes) there is exactly one element of the range (here 0-dim regions, the start times)

Could we reuse the has_beginning, has_end relations from the owl-time ontology?

hasBeginning and hasEnd from the owl-time ontology are defined as Beginning / End of a temporal entity. (temporal entity is quite similar to our temporal region). So this would basically be a shorter (and probably more understandable) version of my definition.

I didn't take part in the last meeting, so it is hard for me to reconstruct the discussion and I don't really get the problem.
A general question: How is a 0-dim temporal region related to its value (e.g. 12:00)? Is the value directly a data property of the 0-dim temporal region or is it related to a quantity value?
And time stamp should be a quantity value in my opinion, or if an entity in reality is needed, an information content entity. It contains of a value (e.g. 12:00), sometimes a time standard (e.g. UTC). The relation has time stamp doesn't make sense to me. How would it be used?

The idea (as far as I understand it) is that we have a zero-dim temporal region which is related to quantity values via has quantity value. These quantity values consist of a unit (like minute, hour, year, ...) and a number (e.g. 12).
For time stamp I wanted to treat it similar to start / ending time because in two of three cases it is the same as a start / ending time. has time stamp some zero-dim temporal region would be used as a substitute for the has part some time stamp-relation we currently have for time step.

The idea (as far as I understand it) is that we have a zero-dim temporal region which is related to quantity values via has quantity value. These quantity values consist of a unit (like minute, hour, year, ...) and a number (e.g. 12).

You also need a reference point. A quantity value (-5) and unit (seconds) only gives you five seconds before something, not an absolute position (T - 5 seconds, where T is the reference point).
https://github.com/OpenEnergyPlatform/ontology/issues/567#issuecomment-712726956

The reference point may be implied, as in ISO 8601, but it has to be there.   owl-time seems to have more thought put into it than BFO …

The idea (as far as I understand it) is that we have a zero-dim temporal region which is related to quantity values via has quantity value. These quantity values consist of a unit (like minute, hour, year, ...) and a number (e.g. 12).

Ok, I agree. We'd need a concept as subclass of quantity value here. In my opinion, the respecive class is time stamp. Time stamp is not a 0-dim temporal region itself.

A: time step has start time 0-dim temporal region has quantity value 01.01.2020 12:00:00 UTC
B: time step has part start time has quantity value 01.01.2020 12:00:00 UTC
Since the values are assigned via the quanity value, why does B cause problems and A doesn't?

B causes problems if you also have
C: time step has part end time has quantity value 01.01.2020 12:00:00 UTC
for another time step.
Then you have two options: The start time from B and the end time from C are different individuals. That would be bad because it lead to two different individuals which describe the exact same thing. The other option is using the same individual for B and C. This individual would then be classified as a start time and as an ending time. So when we look at our time step from B again, we have a has part-relationship with a start and ending time and don't know anymore if it is the start or the end of the time step. (Of course you could still find out which one it is if you want to, but it gets harder and more confusing, the more start and ending times you add)

Ok, I agree. We'd need a concept as subclass of quantity value here. In my opinion, the respecive class is time stamp. Time stamp is not a 0-dim temporal region itself.

That's an interesting idea. So time stamp would be some sort of "absolute time value"-class. I'm not sure if quantity value fits as a parent class for this, since 01.01.2000 12:00:00 is not really a numeral and UTC not really a unit. As @0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q pointed out, the owl-time-ontology has some useful concepts which could help us with the representation of time values.

B causes problems if you also have
C: time step has part end time has quantity value 01.01.2020 12:00:00 UTC
for another time step.
Then you have two options: The start time from B and the end time from C are different individuals. That would be bad because it lead to two different individuals which describe the exact same thing.

Are you positive on this?  Are there individuals in the ontology to begin with?
If I want to annotate my data set with OEO, I surely don't need to edit the ontology to create some representation for all the time steps/stamps I need, no?  I expect to have to generate meta data that looks something like
  "time step": [
    {
      "id": "2005",
      "start time":  "2003-01-01 00:00:00 UTC",
      "ending time": "2008-01-01 00:00:00 UTC"
    },
    {
      "id": "2010",
      "start time":  "2008-01-01 00:00:00 UTC",
      "ending time": "2013-01-01 00:00:00 UTC"
    },
    ...
  ],

(but I'm not sure, and my questions concerning this so far weren't answered conclusively).
So in what sense are there individuals in the ontology?

So when we look at our time step from B again, we have a has part-relationship with a start and ending time and don't know anymore if it is the start or the end of the time step.

I don't get that either.
There are two time steps, let's call them "B" and "C".  Both link (have a relation) to the temporal instant "01.01.2020 12:00:00 UTC", let's call it T.  B's relation is has part start time, so T is the start of B.  C's relation is has part ending time, so T is the end of C.
I'm puzzled.

There are two time steps, let's call them "B" and "C". Both link (have a relation) to the temporal instant "01.01.2020 12:00:00 UTC", let's call it T. B's relation is has part start time, so T is the start of B. C's relation is has part ending time, so T is the end of C.

B's relation is has part T and C's relation is has part T in this case. T has the relations Type:  start time and Type: ending time. This is all assuming we use individuals for temporal instants in the ontology.

So in what sense are there individuals in the ontology?

That is a good question and I am not sure about this. Maybe @MGlauer, who originally brought up this issue, or someone else from @OpenEnergyPlatform/oeo-general-expert-formal-ontology knows more.

In dev-meeting 11, we decided to close this issue, since we were not sure if there are use cases for which this problem arises.


phoneme_model

Hey Sean,
Sorry for the delay.
I can't auto-merge with the AN4Phoneme Branch, but I'm up-to-date with your master and my changes are pretty trivial. I'm guessing I need a branch off of master to merge into.

Hey thanks for this! I'll have a look as soon as I can, and see what I can do, cheers!

The branch has been merged into AN4Phoneme (excuse the commit message error) here. Thanks so much, this was an awesome PR, I've credited you in the README :)

Awesome, Thanks!


Piwik !

Why develop a plugin of a open source project on a closed tool ?
Please consider using Piwik which is a real open source alternative

Hi all,
I created a fork and integrated piwik. No "choose driver" option though, "just (also) use piwik it it is present".
But see for your self: https://github.com/azine/videojs-analytics
Cheers,
D.


What is the file type for the images!???

``I've been trying to read th 50GB images file to train my own model for pose estimation but I cannot figure out the file extennsion or the encoding. Eveytime I open it with python using different encodings I get an error similar to this one:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8f in position 1614: character maps to
I know the reason for this error but what is the encoding of this file, please somebody give me some direction on how to work with this data so that I can train a model.
Code To Check File Details
`import os
import sys
import mimetypes
def get_file_details(file_path):
if not os.path.isfile(file_path):
print(f"The path {file_path} does not point to a valid file.")
return
file_name = os.path.basename(file_path)
file_extension = os.path.splitext(file_path)[1]
file_size = os.path.getsize(file_path)
mime_type, _ = mimetypes.guess_type(file_path)

print(f"File Name: {file_name}")
print(f"File Extension: {file_extension}")
print(f"File Size: {file_size} bytes")
print(f"MIME Type: {mime_type}")

if name == "main":
if len(sys.argv) != 2:
print("Usage: python file.py <file_path>")
else:
get_file_details(sys.argv[1])
    file = open(sys.argv[1], "r", encoding="windows-1252", errors="ignore")
    content = file.read(10000)

    print(content)`

It's a compressed tar file. Try this to extract it:
tar -xvzf amateur_drawings.tar

Hi Jesse,
I hope this email finds you well.
Firstly, I want to express my sincere gratitude for your invaluable
assistance with my project. Your guidance has been a tremendous help,
especially given the stress this project has caused me.
I have one more question, which stems from a bit of curiosity on my part.
Recently, I attempted to decompress a .tar file using WinRAR. However,
instead of extracting the expected contents, I ended up with a single file
with no extension. This outcome was quite different from the results I
achieved using the command you provided, which successfully generated
images from the archive.
Could you kindly shed some light on why this discrepancy occurred? I’m
eager to understand what might have gone wrong during my attempt with
WinRAR and how I can ensure proper decompression in the future.
Thank you once again for all your support.
Best regards,
Raahim
On Fri, Aug 16, 2024 at 9:34 PM hjessmith @.***> wrote:

It's a compressed tar file. Try this to extract it:
tar -xvzf amateur_drawings.tar
—
Reply to this email directly, view it on GitHub
https://github.com/facebookresearch/AnimatedDrawings/issues/299#issuecomment-2293814733,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3ZQAEIX3BHESJJ7TDZDGPLZRYS2HAVCNFSM6AAAAABMUG54W2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJTHAYTINZTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>


The combination if headless server + mlts is broken on and master

master : https://github.com/istio/istio/pull/18914
@howardjohn Since it is not huge divergence between master and 1.4 I think 1.4 is impacted

FYI: release-1.3 is good https://github.com/istio/istio/pull/18916

Thanks @lambdai . I disabled a feature flag related to this on your master PR, will see if that makes it pass

It does not @hzxuzhonghu can you take a look? any idea what may have broken?

The traffic from headless to itself goes directly to the inbound listener?

It first intercepted by 15006(virtualInbound), and matched by destinationPort=80's filter and routed to "inbound|80|http|headless.reachability-1-7670.svc.cluster.local" cluster, which has tls settings.

@lambdai I have a headless server + strict mtls on 1.4 and it works fine. Will try master
Config:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpbin
spec:
  selector:
    matchLabels:
      app: httpbin
  template:
    metadata:
      labels:
        app: httpbin
    spec:
      containers:
      - name: httpbin
        image: docker.io/kennethreitz/httpbin
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: httpbin
spec:
  clusterIP: None
  selector:
    app: httpbin
  ports:
  - name: http
    port: 80
    targetPort: 80

@hzxuzhonghu and matched by destinationPort=80's filter. This filter chain should have the tls setting and expecting tls traffic if global mtls is on, but app is talking to sidecar envoy with raw traffic. That is one source of failure.

I don't fully understand if reach-ability test fails because of above

To make it clear, the inbound cluster has tls settings, but the traffic out of the app is raw.
let's take 80 svc port as an example:
app--->inbound listener--> matched by 80 filter --> inbound route --> inbound cluster with tls setting ---> app
We can see the traffic is not tls encrypted. But envoy expects.

@hzxuzhonghu Are you suggesting

our mtls+headless tests should disable the app calling itself, and only reenable it once the fix is done?
app1 call app2 should succeeds under mtls+headless?

/cc @incfly

@lambdai, In theory, it works.

Hey @hzxuzhonghu I'm trying to use a headless service with a statefulset. mtls is globally enabled and I'm trying to disable it for that service. However my nodes can't communicate. I'm on 1.4. Could it be caused by the issue described in this ticket ?
Here is deployment file I use :
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
  name: "default"
  namespace: "cassandra-e2e"
spec:
  peers:
    - mtls:
        mode: PERMISSIVE
---
apiVersion: "networking.istio.io/v1alpha3"
kind: "DestinationRule"
metadata:
  name: "tls-only-native-port"
  namespace: "cassandra-e2e"
spec:
  host: "*.cassandra-e2e.svc.cluster.local"
  trafficPolicy:
    tls:
      mode: DISABLE
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: cassandra
  namespace: cassandra-e2e
  name: cassandra
spec:
  clusterIP: None
  ports:
  - name: tcp-client
    port: 9042
  - name: tcp-intra-node
    port: 7000
  - name: tcp-tls-intra-node
    port: 7001
  - name: tcp-jmx
    port: 7199
  selector:
    app: cassandra
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  namespace: cassandra-e2e
  name: cassandra
  labels:
    app: cassandra
spec:
  serviceName: cassandra
  replicas: 2
  selector:
    matchLabels:
      app: cassandra
  template:
    metadata:
      labels:
        app: cassandra
    spec:
      terminationGracePeriodSeconds: 1800
      containers:
      - name: cassandra
        # image: orangeopensource/cassandra-image:3.11.4-8u212-0.3.1-cqlsh
        imagePullPolicy: IfNotPresent
        image: gcr.io/google-samples/cassandra:v14
        command:
        - /usr/bin/dumb-init
        - /bin/bash
        - -c
        - /run.sh
        ports:
        - containerPort: 7000
          name: intra-node
        - containerPort: 7001
          name: tls-intra-node
        - containerPort: 7199
          name: jmx
        - containerPort: 9042
          name: native
        resources:
          limits:
            cpu: "1"
            memory: 768Mi
          requests:
            cpu: "1"
            memory: 768Mi
        securityContext:
          capabilities:
            add:
              - IPC_LOCK
        livenessProbe:
            exec:
              command:
              - /bin/bash
              - -c
              - nodetool status
            failureThreshold: 3
            initialDelaySeconds: 120
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 20
        readinessProbe:
            exec:
              command:
              - /bin/bash
              - -c
              - /ready-probe.sh
            failureThreshold: 3
            initialDelaySeconds: 60
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 10
        env:
          - name: MAX_HEAP_SIZE
            value: 192M
          - name: CASSANDRA_SEEDS
            value: cassandra-0.cassandra.cassandra-e2e.svc.cluster.local
          - name: CASSANDRA_CLUSTER_NAME
            value: K8Demo
          - name: CASSANDRA_DC
            value: DC1-K8Demo
          - name: CASSANDRA_RACK
            value: Rack1-K8Demo
          - name: POD_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.name
          - name: POD_IP
            valueFrom:
              fieldRef:
                fieldPath: status.podIP

@cscetbon You disabled mtls, so i think your issue is not the same. Please file a new issue and provide more details like the errors and the configdump.

@hzxuzhonghu when MTLS is disabled are communications still proxified and that could explain why it does not work. The Gossip Protocol needs to communicate locally with the current node. But I thought disabling MTLS would just skip the configured flow, am I right ?

Without tls, it works well. We have e2e cases cover this. The traffic is on this path: app--->inbound listener (virtualInbound)--> matched by 80 filter --> inbound route --> inbound cluster ---> app.

Ok then I’ll create a ticket cause it doesn’t work in my tests

@hzxuzhonghu could it be that it works with http protocol but not with “server-speaks-first” protocols ? I was able to get it to work with Linkerd by using specific options to skip those protocols https://github.com/linkerd/linkerd2/issues/3404. Does it help diagnosing what's going on ?

update: There is also a bug for headless service if the port and target port is not the same, say headless svc, the access by curl http://headless.reachability-1-38206.svc.cluster.local:80 can not access the expected 8090 inbound listener. Because the outbound cluster from the src is ORIGINAL_DST type.
apiVersion: v1
kind: Service
metadata:
  annotations:
  labels:
    app: headless
  name: headless
  namespace: reachability-1-38206
spec:
  clusterIP: None
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8090
  - name: tcp
    port: 9090
    protocol: TCP
    targetPort: 9090
  - name: grpc
    port: 7070
    protocol: TCP
    targetPort: 7070
  selector:
    app: headless
  sessionAffinity: None
  type: ClusterIP

For headless service in k8s, the port and target port should be the same, otherwise user can not access the service by domain：svcPort
For headless Services, a cluster IP is not allocated, kube-proxy does not handle these Services, and there is no load balancing or proxying done by the platform for them.

https://kubernetes.io/docs/concepts/services-networking/service/#headless-services

Without tls, it works well. We have e2e cases cover this. The traffic is on this path: app--->inbound listener (virtualInbound)--> matched by 80 filter --> inbound route --> inbound cluster ---> app.
@hzxuzhonghu did you try the deployment file I posted ? mtls is enabled globally and I'm trying to disable it specifically for port 7000 and 7001. I also tried adding

  annotations:
    traffic.sidecar.istio.io/excludeOutboundPorts: 7000,7001

to the statefulset metadata but it did not help

@cscetbon Is this related? https://istio.io/faq/applications/#cassandra

@hzxuzhonghu part of it relates to it. The issue with mtls is different. But I definitely think that it should support listening on the POD IP and not only on <IP_ADDRESS>

I agree with this. It is really hack to only redirect to <IP_ADDRESS> But i am not sure how we can support it. maybe @lambdai has some solutions.

we could make an annotation configure if we connect to 127 or pod ip maybe?
On Sun, Jan 5, 2020, 5:53 PM Zhonghu Xu<EMAIL_ADDRESS>wrote:

I agree with this. It is really hack to only redirect to <IP_ADDRESS> But i
am not sure how we can support it. maybe @lambdai
https://github.com/lambdai has some solutions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/18921?email_source=notifications&email_token=AAEYGXN57NAA6YD5G22U7ZDQ4KFJDA5CNFSM4JMRNPM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIEGEQY#issuecomment-570974787,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXNYEWQ4ZNBEU5M4ADTQ4KFJDANCNFSM4JMRNPMQ
.


Deploy app build pipeline to test and prod shared environments

Getting MCP permissions for connection to Gitlab put in place.

@mcduffie did MCP grant the right permissions to allow this work to proceed?  Here's the MCP JIRA ticket that @edwinsarkissian submitted last Monday to request the appropriate permissions: https://jaas.gsfc.nasa.gov/servicedesk/customer/portal/2/GSD-3342

Latest comment on MCP JIRA ticket GSD-3342 shows that the MCP permissions were updated as requested, please confirm.

This should be resolved now, i think this is still "blocked" based on 153

Fixing connection issue to MCP

Deployment to dev and test, but not to prod because missing api-gateway setup

Final updates will be pushed into repos


Google Chrome Fails to Open (sierra)

Hey guys, new version of homebrew installed just yesterday. Installed the Google Chrome cask then it failed, due to a permissions error when I tried to open it.
To get past the issue I had to first:
mkdir -p "$HOME/Library/Application\ Support/Google/Chrome"
chown -R "$USER:$(id -gn)" "$HOME/Library/Application Support"/

Then run the install.
Other, hopefully useful, details; formula:
brew cask info google-chrome
google-chrome: latest
https://www.google.com/chrome/
/usr/local/Caskroom/google-chrome/latest (57K)
From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/google-chrome.rb
==> Name
Google Chrome
==> Artifacts
Google Chrome.app (app)

The install details:
brew cask list google-chrome
==> Apps
/Applications/Google Chrome.app (193 files, 167.3M)

I found the audit command; not sure of it's value.
brew cask audit | grep -i chrome
audit for chrome-devtools: passed
audit for chrome-remote-desktop-host: passed
audit for dmm-player-for-chrome: passed
audit for epichrome: passed
audit for google-chrome: passed
audit for mkchromecast: passed
audit for google-chrome-beta: passed
audit for google-chrome-canary: passed
audit for google-chrome-dev: passed

I cannot reproduce this:
-bash-4.4.12- /Users/miccal [> brew cask install google-chrome
==> Satisfying dependencies
complete
==> Downloading https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg
######################################################################## 100.0%
==> No checksum defined for Cask google-chrome, skipping verification
==> Moving App 'Google Chrome.app' to '/Applications/Google Chrome.app'
🍺  google-chrome was successfully installed!

@todd-dsm can you post the output of your brew doctor, brew cask doctor and brew config please.

@miccal It will install just fine but it will error when you open Chrome in the GUI.
Maybe you have to remove the directory after uninstalling it:
rm -rf "$HOME/Library/Application\ Support/Google/Chrome".
That directory doesn't exist on a new install.
The details you requested:
brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Putting non-prefixed coreutils in your path can cause gmp builds to fail.

Warning: Putting non-prefixed findutils in your path can cause python builds to fail.

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/python2.7/greenlet/greenlet.h
  /usr/local/include/python3.6m/greenlet/greenlet.h

brew cask doctor
==> macOS Release:
10.12.3
==> Hardware Architecture:
intel-64
==> Ruby Version:
2.0.0-p648
==> Ruby Path:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
==> Homebrew Version:
Homebrew 1.1.9
Homebrew/homebrew-core (git revision f205; last commit 2017-02-04)
==> Homebrew Executable Path:
/usr/local/bin/brew
==> Homebrew Cellar Path:
/usr/local/Cellar
==> Homebrew Repository Path:
/usr/local/Homebrew
==> Homebrew Origin:
https://github.com/Homebrew/brew
==> Homebrew-Cask Version:
Homebrew-Cask 1.1.9
caskroom/homebrew-cask (git revision a636cf; last commit 2017-02-05)
==> Homebrew-Cask Install Location:
<NONE>
==> Homebrew-Cask Staging Location:
/usr/local/Caskroom
==> Homebrew-Cask Cached Downloads:
/Users/thomas/Library/Caches/Homebrew/Cask
13 files, 1.3G (warning: run "brew cask cleanup")
==> Homebrew-Cask Default Tap Path:
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask
==> Homebrew-Cask Alternate Cask Taps:
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-fonts
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-versions
==> Homebrew-Cask Default Tap Cask Count:
3530
==> Contents of $LOAD_PATH:
/usr/local/Homebrew/Library/Homebrew/cask/lib
/usr/local/Homebrew/Library/Homebrew
/Library/Ruby/Site/2.0.0
/Library/Ruby/Site/2.0.0/x86_64-darwin16
/Library/Ruby/Site/2.0.0/universal-darwin16
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16
==> Contents of $RUBYLIB Environment Variable:
<NONE>
==> Contents of $RUBYOPT Environment Variable:
<NONE>
==> Contents of $RUBYPATH Environment Variable:
<NONE>
==> Contents of $RBENV_VERSION Environment Variable:
<NONE>
==> Contents of $CHRUBY_VERSION Environment Variable:
<NONE>
==> Contents of $GEM_HOME Environment Variable:
<NONE>
==> Contents of $GEM_PATH Environment Variable:
<NONE>
==> Contents of $BUNDLE_PATH Environment Variable:
<NONE>
==> Contents of $PATH Environment Variable:
PATH="/usr/local/opt/coreutils/libexec/gnubin:/usr/local/bin:/usr/local/opt/tcl-tk/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS:/usr/local/Homebrew/Library/Homebrew/cask/cmd:/usr/local/Homebrew/Library/Homebrew/shims/scm"
==> Contents of $SHELL Environment Variable:
SHELL="/usr/local/bin/bash"
==> Contents of Locale Environment Variables:
LANG="en_US.UTF-8"

brew config
HOMEBREW_VERSION: 1.1.9
ORIGIN: https://github.com/Homebrew/brew
HEAD: 664d0c67d5947605c914c4c56ebcfaa80cb6eca0
Last commit: 8 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: f205a58d52cb3a1786ab6d713b3c613018454b57
Core tap last commit: 2 days ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.0.0-p648
Clang: 8.0 build 800
Git: 2.11.1 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/local/bin/ruby => /usr/local/Cellar/ruby/2.4.0/bin/ruby
Java: 1.8.0_121
macOS: 10.12.3-x86_64
Xcode: N/A
CLT: <IP_ADDRESS>.1.1480973914
X11: N/A

@miccal It will install just fine but it will error when you open Chrome in the GUI.

What was the error exactly?

It was a GUI error. Of course, I was in a hurry and worked through it without saving a lot of detail.
I won't be able to get that for you till later, possibly tomorrow.

I just tested again on a different machine with install then ununstall (so the folder ~/Library/Application Support/Google/Chrome remained) and install again, and had no issues.
On a side note, I have Little Flocker and Little Snitch installed on my machine, and they both went crazy when I opened Google Chrome.app - this program reads a lot of files and connects to a lot of websites when starting!

The only thing we do in Chrome’s case is download the it and move it to it’s correct place. Whatever error you encountered was not related to HBC, as demonstrated by @miccal not being able to reproduce and this error never having happened to anyone else. Closing.
Though you should still feel free to reply if you and @miccal are interested in finding the cause. But it’s unlikely to have anything to do with HBC, so no point in keeping the issue open.


Int tests are not working

Currently, integration tests are not working. It falling with warden node never became running error.
Command:
cd tests && just test

Logs:
go test -run 'TestIntegration' -v ./integration_test.go
=== RUN   TestIntegration
=== RUN   TestIntegration/CreateSpace
setup test: CreateSpace
    warden_node.go:83:
                Error Trace:    /Users/igor/work/cosmos/warden/wardenprotocol/tests/framework/exec/warden_node.go:83
                                                        /usr/local/go/src/runtime/asm_arm64.s:1222
                Error:          Received unexpected error:
                                exec: /var/folders/83/_nhy87k943n6968qf_t87lvw0000gn/T/TestIntegration3218378275/001/wardend --log_no_color start --home /var/folders/83/_nhy87k943n6968qf_t87lvw0000gn/T/TestIntegrationCreateSpace2494717894/001 --x-crisis-skip-assert-invariants
                                err: signal: killed
                                stdout:
                                stderr:
                Test:           TestIntegration/CreateSpace
    warden_node.go:91:
                Error Trace:    /Users/igor/work/cosmos/warden/wardenprotocol/tests/framework/exec/warden_node.go:91
                                                        /Users/igor/work/cosmos/warden/wardenprotocol/tests/cases/create_space.go:26
                                                        /Users/igor/work/cosmos/warden/wardenprotocol/tests/integration_test.go:44
                Error:          Condition never satisfied
                Test:           TestIntegration/CreateSpace
                Messages:       warden node never became running
tests duration: 5.004322542s
--- FAIL: TestIntegration (15.37s)
    --- FAIL: TestIntegration/CreateSpace (5.00s)
FAIL
FAIL    command-line-arguments  15.782s
FAIL
error: Recipe `test` failed on line 3 with exit code 1

Also, it would be great to write more integration tests that will include all possible user actions.

it works for me (on current main branch) so it might be a timing issue. The expected output is this
❯ just test
go test -run 'TestIntegration' -v ./integration_test.go
=== RUN   TestIntegration
=== RUN   TestIntegration/CreateSpace
setup test: CreateSpace
run test: CreateSpace
tests duration: 1.402828709s
--- PASS: TestIntegration (9.93s)
    --- PASS: TestIntegration/CreateSpace (1.40s)
PASS
ok      command-line-arguments  10.242s

In order to understand if it's really just a matter of timing, could you increase the timeout here:
https://github.com/warden-protocol/wardenprotocol/blob/dbf46c837138e28e4bda2d3d7078e241d0cba0ef/tests/framework/exec/warden_node.go#L93
from 5 seconds to something like 5 minutes? It should be plenty of time to start a wardend node :)

Same result:
% just test

go test -run 'TestIntegration' -v ./integration_test.go
=== RUN   TestIntegration
=== RUN   TestIntegration/CreateSpace
setup test: CreateSpace
    warden_node.go:83:
                Error Trace:    /Users/igor/work/cosmos/warden/wardenprotocol/tests/framework/exec/warden_node.go:83
                                                        /usr/local/go/src/runtime/asm_arm64.s:1222
                Error:          Received unexpected error:
                                exec: /var/folders/83/_nhy87k943n6968qf_t87lvw0000gn/T/TestIntegration1475181834/001/wardend --log_no_color start --home /var/folders/83/_nhy87k943n6968qf_t87lvw0000gn/T/TestIntegrationCreateSpace255166513/001 --x-crisis-skip-assert-invariants
                                err: signal: killed
                                stdout:
                                stderr:
                Test:           TestIntegration/CreateSpace
    warden_node.go:91:
                Error Trace:    /Users/igor/work/cosmos/warden/wardenprotocol/tests/framework/exec/warden_node.go:91
                                                        /Users/igor/work/cosmos/warden/wardenprotocol/tests/cases/create_space.go:26
                                                        /Users/igor/work/cosmos/warden/wardenprotocol/tests/integration_test.go:44
                Error:          Condition never satisfied
                Test:           TestIntegration/CreateSpace
                Messages:       warden node never became running
tests duration: 5m0.012776042s
--- FAIL: TestIntegration (310.41s)
    --- FAIL: TestIntegration/CreateSpace (300.01s)
FAIL
FAIL    command-line-arguments  310.878s
FAIL
error: Recipe `test` failed on line 3 with exit code 1

can you change that same line to this:
	}, 5*time.Second, 5*time.Millisecond, "warden node never became running", "stdout", w.Stdout.String(), "stderr", w.Stderr.String())

so we can see the logs from the node

Messages: warden node never became running%!(EXTRA string=stdout, string=, string=stderr, string=)
tests duration: 5.00473425s

ah gotcha, the right syntax for the log message would be something like this
	}, 5*time.Second, 5*time.Millisecond, "warden node never became running.\nstdout:\n%s\nstderr:\n%s", w.Stdout.String(), w.Stderr.String())

I also tried this, but didn't get any logs:
require.Eventually(t, func() bool {
  stderr := w.Stderr.String()
  stdout := w.Stderr.String()
  if len(stderr) != 0 {
    println("!!! ERR", stderr)
  }
  if len(stdout) != 0 {
    println("!!! LOG", stdout)
  }
  ...
}

}, 5time.Second, 5time.Millisecond, "warden node never became running.\nstdout:\n%s\nstderr:\n%s", w.Stdout.String(), w.Stderr.String())

Messages:       warden node never became running.
                                stdout:

                                stderr:
tests duration: 5.006430208s

stdout := w.Stderr.String()
should be
stdout := w.Stdout.String()

Fixed, but got the same result

so strange, it works for me
!!! LOG 5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x14000f2bae0, group}" version=0
5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x14000d67be0, icacontroller}" version=0
5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x1400052a780, acc}" version=0
5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x14000eb8eb0, crisis}" version=0
5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x14000b883d0, slashing}" version=0
5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x14000e7c780, gov}" version=0
5:30PM INF Upgrading IAVL storage for faster queries + execution on live state. This may take a while commit=436F6D6D697449447B5B5D3A307D module=server store_key="KVStoreKey{0x14000f59bc0, circuit}" version=0
...

Do I need to create a snapshot or run a node before starting the test?

no, i just cloned this repo and only run just test and it worked for me, without doing anything else 🤔

I'm a bit out of ideas, maybe you can try running with a debugger attached? It's so weird that the stdout is not being captured
what OS are you using?
@optifat can you try to run these and see if they work for you?

For more information - I'm running it on Mac M1. I noticed that some commands can't be executed without editing.
For example, this line from just localnet falling with error:
sed -i 's/cors_allowed_origins = \[\]/cors_allowed_origins = ["*"]/' ~/.warden/config/config.toml

And it works only this way:
sed -i'' -e 's/cors_allowed_origins = \[\]/cors_allowed_origins = ["*"]/' ~/.warden/config/config.toml

I'm also on Mac and you're right, that sed command only works if you have GNU sed installed (brew install gnu-sed). Still I don't understand why the tests are not working :(

I'm a bit out of ideas, maybe you can try running with a debugger attached? It's so weird that the stdout is not being captured
what OS are you using?
@optifat can you try to run these and see if they work for you?

No, I got
run test: CreateSpace
    warden_cli.go:36:
        	Error Trace:	/Users/pavel/warden/wardenprotocol/tests/framework/exec/warden_cli.go:36
        	            				/Users/pavel/warden/wardenprotocol/tests/cases/create_space.go:31
        	            				/Users/pavel/warden/wardenprotocol/tests/integration_test.go:46
        	Error:      	Received unexpected error:
        	            	exec: sh -c /var/folders/v2/cjl08_v9281cygqjl_vf60lm0000gn/T/TestIntegration1010986435/001/wardend tx warden new-space --from alice --yes --node tcp://<IP_ADDRESS>:64518 --home /var/folders/v2/cjl08_v9281cygqjl_vf60lm0000gn/T/TestIntegrationCreateSpace3004294498/001 --chain-id warden --keyring-backend test --keyring-dir /var/folders/v2/cjl08_v9281cygqjl_vf60lm0000gn/T/TestIntegrationCreateSpace3004294498/001
        	            	err: exit status 1
        	            	stdout:
        	            	stderr: rpc error: code = Unknown desc = warden is not ready; please wait for first block: invalid height
        	Test:       	TestIntegration/CreateSpace
tests duration: 2.067708833s

I'm going to close this as we couldn't reproduce on several machines.


cannot open popups in Excel Addin

Hello,
I am working on an Excel Addin project using asp.net core 3.1. I want to open a popup to enable users to log in to the system. I use window.open("url") but this always returns null regardless of the fact that I already disable popups blocker in IE.
I am using Excel 365, Window 10 enterprise version 1809, Internet explorer version 11.1577.17763.0
Can anyone provide me some hints on this issue?

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

ID: 00c430f1-bbf5-53b8-a225-4fbe8fc39c3b
Version Independent ID: 0a069a0d-4d35-71ee-53af-8c55fe8548a0
Content: Browsers used by Office Add-ins - Office Add-ins
Content Source: docs/concepts/browsers-used-by-office-web-add-ins.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Hi @binhnguyen1984,
I believe this is a duplicate of #2455, which @Rick-Kirkham already responded to. I'm going to close this issue, but please let me know if I'm mistaken.
Thanks!

Hi @binhnguyen1984,
I believe this is a duplicate of #2455, which @Rick-Kirkham already responded to. I'm going to close this issue, but please let me know if I'm mistaken.
Thanks!


If local-to-scene is true, SubResource ID is modified whenever scene is instantiated, re-packed, and saved

Tested versions
Reproducible in v4.2.1.stable.mono.official [b09f793f5]
System information
Godot v4.2.1.stable.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated AMD Radeon (TM) R9 390 Series (Advanced Micro Devices, Inc.; 27.20.20913.2000) - Intel(R) Core(TM) i5-4430 CPU @ 3.00GHz (4 Threads)
Issue description
If Local to Scene is checked for any given SubResource within a scene, if that scene is instantiated, re-packed, and saved, (as in the following code example), the id for that SubResource will change.
var packed_scene := load("res://test_scene.tscn")
var instance_root = packed_scene.instantiate()
packed_scene.pack(instance_root)
ResourceSaver.save(packed_scene)

test_scene.tscn before running script:
[gd_scene load_steps=2 format=3]

[sub_resource type="BoxShape3D" id="BoxShape3D_j7mo4"]
resource_local_to_scene = true

[node name="CollisionShape3D" type="CollisionShape3D"]
shape = SubResource("BoxShape3D_j7mo4")

test_scene.tscn after running script:
[gd_scene load_steps=2 format=3]

[sub_resource type="BoxShape3D" id="BoxShape3D_aqm20"]
resource_local_to_scene = true

[node name="CollisionShape3D" type="CollisionShape3D"]
shape = SubResource("BoxShape3D_aqm20")

Possibly related: #82702, #74001, #55190
Steps to reproduce
Run the MRP and see if the SubResource ID of the BoxShape3D within test_scene.tscn changes
Minimal reproduction project (MRP)
SubResourceIdIssue.zip

Seems to be same as #76693
This is only supposed to work correctly when saving in editor.

Last time I rewrote resource_local_to_scene's doc, I explicitly stated the Resource is a duplicate of the original. What may be worth documenting is resource_local_to_scene is always disabled when editing the Resource (for obvious reasons).

I have reproduced this issue in 4.2 and 4.3-beta2
This bug makes it difficult to tell which files have actually changed in Git since I have code that runs in editor and instantiates scenes with their local resources, so the same few files always show as having been edited due to subresource ids changing.

I can confirm i'm having the exact same issue,  very frustrating in a git commit, even tho no changes have been made to it. Also has 16 changes. (all just new ids')