Jest spends several seconds in loadTSConfigFile before running tests

🐛 Bug Report
I am working in a yarn 2 monorepo that has a handful of separate TypeScript packages. When running Jest on a small test file, it takes about 8 seconds before the test even starts running. During this time it seems like Jest is running loadTSConfigFile and processing all the tsconfig files in our repo:

To help address I created a custom tsconfig for jest, but needed to keep some of the typeRoots. This helped somewhat but the performance is still quite poor. I'd appreciate any advice on how to speed things up! Why does it take so long for jest to process these config files? Should I convert them all to jest.config.json instead of jest.config.ts?
To Reproduce
Steps to reproduce the behavior:

Check out this repo @ 2a41078a and run yarn.
Run yarn test app/util/time.test.ts. Or yarn test:debug app/util/time.test.ts to inspect with Chrome dev tools.

Expected behavior
The test file is small, so it should run quickly.
Link to repl or repo (highly encouraged)
https://github.com/foxglove/studio/tree/2a41078ac99f3a636e4288c31bb188e54a9f2ed3

envinfo

  System:
    OS: macOS 11.2.3
    CPU: (8) arm64 Apple M1
  Binaries:
    Node: 15.9.0 - ~/.nvm/versions/node/v15.9.0/bin/node
    Yarn: 2.4.1 - ~/.nvm/versions/node/v15.9.0/bin/yarn
    npm: 7.5.4 - ~/.nvm/versions/node/v15.9.0/bin/npm
  npmPackages:
    jest: 27.0.0-next.8 => 27.0.0-next.8

It seems like converting all jest.config.ts files to jest.config.json helps a lot. Still think this performance issue is an important one to flag.

Seems like ts-node is slow, not much we can do about that here. You could use a JS file and jsdoc comments instead of a TS file and skip the compile (drawback is that it won't fail on startup, but you'll at least get red squiggles in you IDE). See example in #11110.
We could of course include some note that it'll be slower to spin up the TS compiler than not, but not sure where it'd fit? Possibly by the samples added in #11110?

transpileOnly will also make it waaay faster.  https://typestrong.org/ts-node/docs/performance
If you really want ts-node to be typechecking your config, you can use some of the other advice on that page.  But transpileOnly is my recommendation.

indeed, it will help a lot if jest will load ts config files with transpileOnly: true option by default

Sounds like this is still an issue.


Wifi problem OGA 1.1/Updates

Hi everyone, im having issues to connect to wifi,my console has a wifi chip and i even tried with a dongle,i cant,the wifi symbol wont show up on the home screen , i also dont get a confirmation of correct network connection.There is some way to update the OS manually moving some files from the pc? i have the 03/11/2023 update and i just checked and im 3 updates behind,also i just tried and i cant even get pass the wifi menu, i press the + symbol and gets freezed.
Anyone knows if the links to the Images on the wiki are updated? since it says (03/11/2023)

Did you follow these instructions for configuring your wifi? https://github.com/christianhaitian/arkos/wiki/Frequently-Asked-Questions---RGB10#q-how-do-i-configure-my-wifi-connection-in-arkos

Did you follow these instructions for configuring your wifi? https://github.com/christianhaitian/arkos/wiki/Frequently-Asked-Questions---RGB10#q-how-do-i-configure-my-wifi-connection-in-arkos
You press the R1 button to scroll through the wifi menu. The other options is that you can configure it through retroarch and use a text file. That's all explained in the instructions provided there.

i will try the text thing, just in case im just doing a backup of roms,the image on the wiki is updated? because if i cant connect i just will accumulate some updates and reflash the card every once in a while

The link on the wiki is the latest image available. All updates are available through OTA updates until an updated image is made available which I probably won't provide until later this year.

i will update the results of the text file when i try it, thanks a lot!

Update! the wifikeyfile.txt worked perfectly, im alredy up to date, thanks christian


Need UT coverage for RunWhileConnectedCoordinator

Would appreciate help here :)
This issue is opened in context of https://github.com/microsoft/FluidFramework/pull/7321/ & https://github.com/microsoft/FluidFramework/issues/7311

Keeping this alive.

Tracked in ADO


tests fail on TestIsExistingEmail

log:
=== CONT  TestIsExistingEmail
validator_test.go:661: Expected<EMAIL_ADDRESS>to be false, got true.
--- FAIL: TestIsExistingEmail (0.45s)
I have different opinions on the result of IsExistingEmail("nosuchdomain@bar.coffee"), I think the result should be True, not false.

this can be closed now @wangsongc


Post Live: Announcements

Post sanity test:
For the main feature:

[ ] Video tutorial
[ ] Tweet
[ ] Blog
[ ] LinkedIn, YouTube etc.
[ ] Send App Notification

App notification: Hexa version 2.06 is now available. Now you can stack sats with Swan Bitcoin and hodl within Hexa in an exclusive Swan Account.

App notification: Hexa version 2.0.71 is now available. Now you can send/receive sats via lightning.

2.0.71: Working on video tutorial for Lightning within Hexa.

App notification
Header: Hexa version 2.0.72 is now available. Upgrades to lightning flow.
Body: Release notes
@cakesoft-shashank

2.0.74 app notification:
Header: Hexa version 2.0.74 is now available.
Body: (Release notes)


Hero 3 error on take photo

I get an error upon attempting to take a photo with a Hero 3 Black.
I've seen others post similar issues. I've tried everything in those posts and I still get the same result
I've also manually replaced the GoProCamera.py with the version published on Dec 8, 2020. Same result
To Reproduce

from goprocam import GoProCamera
from goprocam import constants
gpCam = GoProCamera.GoPro(constants.auth)
Connected to <IP_ADDRESS>
gpCam.take_photo()
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
Traceback (most recent call last):
File "/usr/lib/python3.6/http/client.py", line 297, in _read_status
status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/ubuntu/.virtualenvs/goprocam/lib/python3.6/site-packages/goprocam/GoProCamera.py", line 574, in take_photo
return self.getMedia()
File "/home/ubuntu/.virtualenvs/goprocam/lib/python3.6/site-packages/goprocam/GoProCamera.py", line 636, in getMedia
raw_data = self._request("gp/gpMediaList")
File "/home/ubuntu/.virtualenvs/goprocam/lib/python3.6/site-packages/goprocam/GoProCamera.py", line 149, in _request
return urllib.request.urlopen(uri, timeout=_timeout, context=_context).read()
File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib/python3.6/urllib/request.py", line 1353, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.6/urllib/request.py", line 1328, in do_open
r = h.getresponse()
File "/usr/lib/python3.6/http/client.py", line 1373, in getresponse
response.begin()
File "/usr/lib/python3.6/http/client.py", line 311, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.6/http/client.py", line 301, in _read_status
raise BadStatusLine(line)

I get the same exact traceback with a 3+ silver running a raspberry pi. The same valueError is raised when calling downloadLastMedia,

@NMiklave Any progress? I checked #107, but it seems unrelated. Were you referencing a difference issue by chance? Thx.

Hi, that seems like a bug in the requests library... GoPro HERO3 server isn't returning a correct status error. Unfortunately my last Hero3 camera broke a few years ago so I cannot test it. What version of requests are you using?

@KonradIT Hello. I'm running Python 3.6.9. Think I should upgrade to Python 3.9.2?

To test, run urllib.request.urlopen("http://<IP_ADDRESS>/gp/gpMediaList") on both Python 3.6 and 3.9 and see if on 3.9 it still fails.

@KonradIT I get the same results with I run the urllib test in Python 3.6 and 3.9.
Here's the output:
3.6.9
`(goprocam) ubuntu@ubuntu:~$ python
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import urllib.request
urllib.request.urlopen("http://<IP_ADDRESS>/gp/gpMediaList")
Traceback (most recent call last):
File "/usr/lib/python3.6/http/client.py", line 297, in _read_status
status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/usr/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/usr/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib/python3.6/urllib/request.py", line 1353, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.6/urllib/request.py", line 1328, in do_open
r = h.getresponse()
File "/usr/lib/python3.6/http/client.py", line 1373, in getresponse
response.begin()
File "/usr/lib/python3.6/http/client.py", line 311, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.6/http/client.py", line 301, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: HTTP/1.1 ÿûAllow: GET

`
3.9.2
`(goprocam_3.9.2) ubuntu@ubuntu:~$ python3.9
Python 3.9.2 (default, Feb 20 2021, 20:57:50)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import urllib.request
urllib.request.urlopen("http://<IP_ADDRESS>/gp/gpMediaList")
Traceback (most recent call last):
File "/usr/lib/python3.9/http/client.py", line 293, in _read_status
status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.9/urllib/request.py", line 517, in open
response = self._open(req, data)
File "/usr/lib/python3.9/urllib/request.py", line 534, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
result = func(*args)
File "/usr/lib/python3.9/urllib/request.py", line 1375, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.9/urllib/request.py", line 1350, in do_open
r = h.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 297, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: HTTP/1.1 ÿûAllow: GET

`

@KonradIT Could this error be authentication related? Based on the examples you provide, it appears the Hero3 authenticates differently than the later models. Just a thought. Thx.

Hi, /gp/gpMediaList isnt' authenticated with the password... Can you browse the URL in your browser? This is weird because I tested with Hero3 Black and getting last media worked (01:33 timestamp).

@KonradIT I think I discovered something. I was able to get results if I added ":8080" to the URL.
`Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import urllib.request
with urllib.request.urlopen('http://<IP_ADDRESS>:8080/gp/gpMediaList') as f:
...      print(f.read(900))
...
b'{"id":"3348086306992407555","media":[{"d":"100GOPRO","fs":[{"n":"GOPR0171.JPG","s":"2208880"},{"n":"GOPR0172.JPG","s":"2101300"},{"n":"GOPR0173.JPG","s":"2370476"},{"n":"GOPR0174.JPG","s":"2391124"}]}]}\n'
`

Ah, interesting, can you try my API with this constructor:
gopro = GoProCamera.GoPro(ip_address="<IP_ADDRESS>:8080", camera=constants.auth)

Progress for sure. It appears to be connecting, but throws a 404 error. I haven't been able to get it to actually take a picture. Will test more.
`Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

from goprocam import GoProCamera
from goprocam import constants
gpCam = GoProCamera.GoPro(ip_address="<IP_ADDRESS>:8080", camera=constants.auth)
Error code:404
Make sure the connection to the WiFi camera is still active.
Connected to <IP_ADDRESS>:8080
print(gpCam.take_photo(10))
Error code:404
Make sure the connection to the WiFi camera is still active.
wait 10 seconds.
Error code:404
Make sure the connection to the WiFi camera is still active.
http://<IP_ADDRESS>:8080/videos/DCIM/100GOPRO/GOPR0174.JPG
`

Same story on my end so far. couldn't get to the URL in my browser until I added the :8080. I can navigate the filesystem from the camera IP in my browser. Any command now throws the 404 error. @pgregg88, have you not been able to take a picture at all, or just with this change? My camera has been taking pictures, but the code crashes immediately afterwards.
I tried updating the requests library from 2.18 to 2.25 and the requests-unixsocket from 0.1.5 to 0.2.0. Neither did the trick.

You could try applying this patch to GoProCamera.py:
diff --git a/goprocam/GoProCamera.py b/goprocam/GoProCamera.py
index 01ffa1e..4255b83 100644
--- a/goprocam/GoProCamera.py
+++ b/goprocam/GoProCamera.py
@@ -144,7 +144,7 @@ class GoPro:
                                      self.ip_addr, path, param, value)
         elif param == "" and value == "":
             uri = "%s%s/%s" % ("https://" if _isHTTPS else "http://",
-                               self.ip_addr, path)
+                               self.ip_addr + ":8080" if path == "gp/gpMediaList" and self._camera == constants.Camera.Interface.Auth else "", path)
         if self._camera == constants.Camera.Interface.Auth:
             return urllib.request.urlopen(uri, timeout=_timeout, context=_context).read()
         else:

Applied the patch, throws a new error when calling gpCam = GoProCamera.GoPro(constants.auth) and with the other call gpCam = GoProCamera.GoPro(ip_address="<IP_ADDRESS>:8080", camera=constants.auth). Heres the new error.
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/goprocam/GoProCamera.py", line 213, in sendBacpac
self.getPassword() + value_notempty)
File "/usr/local/lib/python3.6/dist-packages/goprocam/GoProCamera.py", line 135, in _request
return urllib.request.urlopen(uri, timeout=_timeout, context=context).read()
File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.6/urllib/request.py", line 524, in open
req = meth(req)
File "/usr/lib/python3.6/urllib/request.py", line 1248, in do_request
raise URLError('no host given')
urllib.error.URLError:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/nicholas/.config/JetBrains/PyCharmCE2020.3/scratches/scratch_4.py", line 7, in
gpCam = GoProCamera.GoPro(ip_address="<IP_ADDRESS>", camera=constants.auth)
File "/usr/local/lib/python3.6/dist-packages/goprocam/GoProCamera.py", line 65, in init
self.power_on_auth()
File "/usr/local/lib/python3.6/dist-packages/goprocam/GoProCamera.py", line 490, in power_on_auth
return self.sendBacpac("PW", "01")
File "/usr/local/lib/python3.6/dist-packages/goprocam/GoProCamera.py", line 215, in sendBacpac
print("Error code:" + str(error.code) +
AttributeError: 'URLError' object has no attribute 'code'
Process finished with exit code 1

Try without the ip_address="<IP_ADDRESS>:8080" part. From what I'm seeing, the 8080 port is needed only on gp/gpMediaList, the rest uses the standard 80 port.

I'm getting a similar error using:
gopro = GoProCamera.GoPro(constants.auth)
@KonradIT thank you for all of the help on this.
'(goprocam_3.9) pgregg@wewx:~/goprocam$ python
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

from goprocam import GoProCamera, constants
gopro = GoProCamera.GoPro(constants.auth)
Traceback (most recent call last):
File "/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages/goprocam/GoProCamera.py", line 213, in sendBacpac
return self._request("bacpac/" + param + "?t=" +
File "/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages/goprocam/GoProCamera.py", line 135, in _request
return urllib.request.urlopen(uri, timeout=_timeout, context=context).read()
File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.8/urllib/request.py", line 522, in open
req = meth(req)
File "/usr/lib/python3.8/urllib/request.py", line 1274, in do_request
raise URLError('no host given')
urllib.error.URLError:

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages/goprocam/GoProCamera.py", line 65, in init
self.power_on_auth()
File "/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages/goprocam/GoProCamera.py", line 491, in power_on_auth
return self.sendBacpac("PW", "01")
File "/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages/goprocam/GoProCamera.py", line 216, in sendBacpac
print("Error code:" + str(error.code) +
AttributeError: 'URLError' object has no attribute 'code''

Ok, maybe lets change error.code to error.reason since both URLError and HTTPError have those.

Just out of curiosity are you on the latest firmware?

@KonradIT I'm on 4.1.0. testing error.reason now.

@KonradIT @NMiklave SUCCESS!
`Python 3.9.2 (default, Feb 20 2021, 20:56:08)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import sys
sys.path.append(r'/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages')
from goprocam import GoProCamera, constants
gopro = GoProCamera.GoPro(camera=constants.auth)
Connected to <IP_ADDRESS>
gopro.take_photo()
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
'http://<IP_ADDRESS>/videos/DCIM/100GOPRO/GOPR0177.JPG'
gopro.getMedia()
bx00x02x04x0cHD3030300x13Hero3BlackEdition
'http://<IP_ADDRESS>/videos/DCIM/100GOPRO/GOPR0177.JPG'
gopro.shutter(constants.start)
b'\x00\x01'
gopro.shutter(constants.stop)
b'\x00\x01'

`
@KonradIT I really appreciate you working with us to get this figured out. Thank you very much.

Ah, so the patch works? I'll push it to releases/pypi. So weird considering I tested with the Hero3 Black when I had it...

@KonradIT The second patch does the trick. Thank you.
Just noticed I'm getting a similar error when I run
' gopro.downloadLastMedia()'
'>>> gopro.downloadLastMedia()
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
filename: GOPR0180.JPG
size: 2.23MB
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
Traceback (most recent call last):
File "/usr/lib/python3.9/http/client.py", line 293, in _read_status
status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/pgregg/.virtualenvs/goprocam_3.9/lib/python3.8/site-packages/goprocam/GoProCamera.py", line 879, in downloadLastMedia
urllib.request.urlretrieve(
File "/usr/lib/python3.9/urllib/request.py", line 239, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.9/urllib/request.py", line 517, in open
response = self._open(req, data)
File "/usr/lib/python3.9/urllib/request.py", line 534, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
result = func(*args)
File "/usr/lib/python3.9/urllib/request.py", line 1375, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.9/urllib/request.py", line 1350, in do_open
r = h.getresponse()
File "/usr/lib/python3.9/http/client.py", line 1347, in getresponse
response.begin()
File "/usr/lib/python3.9/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.9/http/client.py", line 297, in _read_status
raise BadStatusLine(line)
http.client.BadStatusLine: HTTP/1.1 ÿûAllow: GET '
Should I assume a similar patch in the right place would resolve this as well? If so, I'll try to fix this one myself. I'll also test the other functions. Thx.

If you try rolling back to, say, Python 3.4 and use the same code, maybe that actually gets rid of the bug, seems to be a core bug since it's on the http core library.

No luck rolling back. I tried 3.4, 3.0, 3.6 and 3.9. It appears to be something related to the Hero3 response that sets off python. I get the same errors using requests.
I'm able to pull files using wget.download('http://<IP_ADDRESS>:8080/videos/DCIM/100GOPRO/GOPR0126.JPG',current_folder) so I have enough working to cover my immediate needs. Thanks for the help.

@KonradIT @NMiklave
After some more investigation, it appears to be related to not having the :8080 added to the URL for the download functions.
Here's my test code:
import requests
from requests.exceptions import HTTPError

for url in ['http://<IP_ADDRESS>/videos/DCIM/100GOPRO/', 'http://<IP_ADDRESS>:8080/videos/DCIM/100GOPRO/G0031250.JPG']:
    try:
        response = requests.get(url)

        # If the response was successful, no Exception will be raised
        response.raise_for_status()
    except HTTPError as http_err:
        print(f'HTTP error occurred: {http_err}')  # Python 3.6
    except Exception as err:
        print(f'Other error occurred: {err}')  # Python 3.6
    else:
        print('Success!')

Here's my output:
$ python3.9 2.py
Other error occurred: ('Connection aborted.', BadStatusLine('HTTP/1.1 ÿûAllow: GET \r\n'))
Success!

Here's an example of some errors that may mean more to you than they do to me.
>>> gopro = GoProCamera.GoPro(camera=constants.auth)
Connected to <IP_ADDRESS>
>>> gopro.downloadAll()
filename: G0011210.JPG
bx00x02x04x0cHD3030300x13Hero3BlackEdition
Traceback (most recent call last):
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 293, in _read_status
    status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 973, in downloadAll
    self.downloadMedia(folder, file, folder+"-"+file)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 931, in downloadMedia
    urllib.request.urlretrieve(
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 239, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1375, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1350, in do_open
    r = h.getresponse()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1347, in getresponse
    response.begin()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 297, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: HTTP/1.1 ÿûAllow: GET

>>> gopro.overview()
camera overview
current mode: Burst
current video resolution: 1080p
current photo resolution: 12mp
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 1512, in overview
    print("current timelapse interval: " + self.parse_value(constants.Hero3Status.TimeLapseInterval,
TypeError: can only concatenate str (not "NoneType") to str

>>> gopro.downloadLastMedia()
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
filename: G0031250.JPG
size: 74.9MB
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
Traceback (most recent call last):
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 293, in _read_status
    status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 878, in downloadLastMedia
    urllib.request.urlretrieve(
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 239, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1375, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1350, in do_open
    r = h.getresponse()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1347, in getresponse
    response.begin()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 297, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: HTTP/1.1 ÿûAllow: GET

>>> gopro = GoProCamera.GoPro(camera=constants.auth)
Connected to <IP_ADDRESS>
>>> gopro.syncTime()
Error code:410
Make sure the connection to the WiFi camera is still active.
>>> gopro.take_photo()
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
'http://<IP_ADDRESS>/videos/DCIM/100GOPRO/GOPR1280.JPG'

>>> gopro.getVideoInfo("file")
bx00x02x04x0cHD3030300x13Hero3BlackEdition
bx00x02x04x0cHD3030300x13Hero3BlackEdition
Traceback (most recent call last):
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 293, in _read_status
    status = int(status)
ValueError: invalid literal for int() with base 10: 'ÿûAllow:'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 1100, in getVideoInfo
    data = self._request("gp/gpMediaMetadata?p=" + self.getMediaInfo(
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 135, in _request
    return urllib.request.urlopen(uri, timeout=_timeout, context=_context).read()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 517, in open
    response = self._open(req, data)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 534, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1375, in http_open
    return self.do_open(http.client.HTTPConnection, req)
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/urllib/request.py", line 1350, in do_open
    r = h.getresponse()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 1347, in getresponse
    response.begin()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/http/client.py", line 297, in _read_status
    raise BadStatusLine(line)
http.client.BadStatusLine: HTTP/1.1 ÿûAllow: GET

>>> gopro.listMedia(True)
bx00x02x04x0cHD3030300x13Hero3BlackEdition
G0011210.JPG
GOPR1211.JPG
GOPR1212.JPG
GOPR1213.JPG
GOPR1214.JPG
GOPR1215.JPG
GOPR1216.JPG
GOPR1217.JPG
GOPR1218.JPG
GOPR1219.JPG
G0021220.JPG
G0031250.JPG
GOPR1280.JPG
G0011210.JPG
GOPR1211.JPG
GOPR1212.JPG
GOPR1213.JPG
GOPR1214.JPG
GOPR1215.JPG
GOPR1216.JPG
GOPR1217.JPG
GOPR1218.JPG
GOPR1219.JPG
G0021220.JPG
G0031250.JPG
GOPR1280.JPG
>>> gopro.listMedia(True, True)
bx00x02x04x0cHD3030300x13Hero3BlackEdition
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pgregg/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 754, in listMedia
    [i["d"], i2["n"], i2["s"], i2["mod"]])
KeyError: 'mod'

Ordered a Hero9 :-)

Nice! You'll notice this API will not be able to do a bunch of stuff over WiFi (eg: change modes, start record...) so check gopro-ble-py for a Bluetooth implementation of the GoPro API.


raftstore-v2: implement rollback merge

What is changed and how it works?
Issue Number: Ref #12842
What's Changed:
Implement rollback merge for raftstore-v2

Related changes
https://github.com/pingcap/kvproto/pull/1110
Check List
Tests

Unit test

Release note
None

/merge


Update sql-database-auto-failover-group.md

fixed "network security guidelines" link

@jdms754 : Thanks for your contribution! The author, @anosov1960, has been notified to review your proposed change.

Verified link correction.


Content-lenght-timeout should not happen if the server returns the total file lenght.

Currently it may happen when getting a 30gb file with Archivebot that the file currently in download may  run into content-lenght-timeout, this should not happen if the server does provide the content lenght.
This would of course still prevent archivebot from endlessy getting for example an infinite radio stream but it would make those big file download correctly. Probably having a switch to enable this feature on jobs with bigfiles would be a good idea.

Stream detection is already in place; see e.g. https://github.com/ArchiveTeam/ArchiveBot/blob/master/pipeline/wpull_hooks.py#L223.  If you're running into a new sort of stream, we need to know what that is.


Fix progress object with invalid Content-Length headers.

Fixes #1771.

          1 Warning

:warning:
Consider adding supporting documentation to this change. Documentation can be found in the docs directory.

          3 Messages

:book:
iOS: Executed 278 tests, with 0 failures (0 unexpected) in 13.338 (13.484) seconds

:book:
tvOS: Executed 278 tests, with 0 failures (0 unexpected) in 13.100 (13.238) seconds

:book:
macOS: Executed 278 tests, with 0 failures (0 unexpected) in 13.343 (13.470) seconds

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #1815 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development    #1815   +/-   ##
============================================
  Coverage        90.83%   90.83%
============================================
  Files                5        5
  Lines              131      131
============================================
  Hits               119      119
  Misses              12       12

Continue to review full report at Codecov.

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


Select for input device A for output device B

Implement the possibility to set different source for input and output, for example for input Bluetooth device for output phone microphone. Or it have already been implemented in the lib?

@Yuriy29 This feature is not supported by audio switch, and supporting it would require a significant redesign of the library. Feel free to attempt to do it yourself though, It would entail using the androidx.mediarouter APIs and more complicated Bluetooth APIs.


 Especially this adds two
even hooks coupled with the life cycle of HTTP filter config handled in the main
thread.
The key idea is to do the direct pointer (context) passing between the boundary;
This allows us to avoid maintaining IDs and global mapping state, which makes it
easier to test as well as it has benefit in terms of performance. E.g. there's no
need to look up "contexts" on each even hook entry.
The next follow-up PR will add per-stream event hooks (filter implementation).
After the event hooks are done, module->Envoy functions will be added (e.g.
accessing headers, etc.)
Risk Level: low
Testing: done
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

cc @marc-barry

sorry for the slow progress for the last few weeks - i've been swamped by other works, now I managed to allocate some cycles on this one. The plan is after this PR, the per-stream event hooks will be implemented and then module->envoy call backs (e.g. getting headers etc) will be added. Feels like we will soon be able to provide basic functionality.

/retest

As a side note, Linkedin's infra team has extensively tested my PoC impl, and according to their evaluation, it's working pretty great and they observed almost zero overhead compared with the native C++ impl, which sounds awesome. The work here is and subsequent PRs will be based on their feedback as well as the original PoC implementation.

i am surprised that ASAN works for Rust SDK tests as well (pure Rust codes) without any build tweaks, feeling good


Build with react-build fails

Hi,
Using this package in a react app, when i try to build for prod, i've got the following error :
`

npm run build
<EMAIL_ADDRESS>build /app/front
react-scripts build
Creating an optimized production build...
Failed to compile.
Failed to minify the code from this file:
   ./node_modules/@mapbox/mapbox-gl-style-spec/function/index.js:15

`
(npm run build launch react-scripts build)
I'm trying to solve that problem. If you have any clue on what's happening. I'm not a master on npm builds.
Thanks.

The docs in here: https://github.com/boundlessgeo/sdk/blob/master/docs/getting-started.md#doing-a-production-build should help you get around the issue

@bartvde Thank you. It helped a lot. It works now.


Add option to set axis for clr normalization.

Changelog
CLR Axis argument can now be overriden on all levels
Issue ticket number and link
Closes #752
Checklist before requesting a review

[ ] I have performed a self-review of my code

[ ] Conforms to the Contributor's guide

Check the correct box. Does this PR contain:

[ ] Breaking changes
[ ] New functionality
[ ] Major changes
[x] Minor changes
[ ] Documentation
[ ] Bug fixes

[ ] Proposed changes are described in the CHANGELOG.md

[ ] CI tests succeed!

@jakubmajercik ping 😃

@jakubmajercik ping 😃

will do today


Update LICENSE

Please prefix your pull request with one of the following: [FEATURE] [FIX] [IMPROVEMENT].
In raising this pull request, I confirm the following (please check boxes):

[x] I have read and understood the contributors guide.
[x] I have checked that another pull request for this purpose does not exist.
[x] I have considered, and confirmed that this submission will be valuable to others.
[x] I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
[x] I give this submission freely, and claim no ownership to its content.

My familiarity with the project is as follows (check one):

[ ] I have never used the project.
[ ] I have used the project briefly.
[ ] I have used the project extensively, but have not contributed previously.
[x] I am an active contributor to the project.

If the project maintainer has any additional requirements, they will be listed here.

No additional requirements.

Ganti lisensi dari MIT jadi (un)license, baca lanjut di unlicense.org

Gimana menurutmu?


Clock moves onto lifelines

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go mobile view
Go to fullscreen
See screen

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Closed with #106


add a way to disable/enable the touch to sign on a specific key

I use a lot my laptop connected to a external monitor, and have the lid closed. I want a way to enabled/disable that can be used without having to "touch for sign", I know that this is a way more insecure, because in the case that someone hack your laptop they can sign in your behalf. also this is a good idea for DevOps that runs Ansible scripts, etc temporary disable to run the script. something that I need to do is everytime the touch to sign is disabled is raise an osx notification when is signing.

If I may, I'd like to suggest a further refinement of this idea: sudo-like behavior where when the user authenticates with Touch ID, the key they used remains unlocked for some configurable length of time.


Unable to authenticate using mosquitto-go-auth due to format change of password_hash in user table

Hi all,
I'm testing chirpstack 4.0.0-rc.3.
And I'm doing mosquitto-go-auth at https://www.chirpstack.io/project/guides/mqtt-authentication. Yes, it works for ChirpStack Application Server v3.
In the v4, the auth_opt_hasher_iterations seems to change from 100000 to 10000.
And the table names are changed from organization to tenant and organization_user to tenant_user.
So I modified the mosquitto-go-auth as below.
auth_opt_hasher pbkdf2
auth_opt_hasher_salt_size 16           # salt bytes length
auth_opt_hasher_iterations 10000       # number of iterations
auth_opt_hasher_keylen 32              # key length
auth_opt_hasher_algorithm sha512       # hashing algorithm, either sha512 (default) or sha256
auth_opt_hasher_salt_encoding base64   # salt encoding, either base64 (default) or utf-8
...
auth_opt_pg_userquery select password_hash from "user" where email = $1 and is_active = true limit 1
auth_opt_pg_superquery select count(*) from "user" where email = $1 and is_admin = true
auth_opt_pg_aclquery select distinct 'application/' || a.id || '/#' from "user" u inner join tenant_user tu on tu.user_id = u.id inner join tenant t on t.id = tu.tenant_id inner join application a on a.tenant_id = t.id where u.email = $1 and $2 = $2

However, the format of password_hash in v4 is not compatible with mosquitto_go_auth any more.
The password_hash format in v3 works fine.

The password_hash format in v4 is not compatible with mosquitto_go_auth

Mosquitto-go-auth required the password_hash format to be like this PBKDF2$sha512$100000$2WQHK5rjNN+oOT+TZAsWAw==$TDf4Y6J+9BdnjucFQ0ZUWlTwzncTjOOeE00W4Qm8lfPQyPCZACCjgfdK353jdGFwJjAf6vPAYaba9+z4GWK7Gg==
After I manually update the v4 user with v3 password_hash, mosquitto-go-auth can anthenticate with user credentials in Postgres.
Is there any workaround to change the mosquitto-go-auth to fit v4?
Or we need to set the format of password_hash in v4 back to v3 to be compatible with mosquitto-go-auth?
Thanks a lot and have a nice day.

I'm sorry this no longer works. Since quite a while, ChirpStack offers a way to generate client-certificates for gateways and the (application) MQTT integration through the web-interface. For ChirpStack v4 you can find documentation here: https://www.chirpstack.io/docs/guides/mosquitto-tls-configuration.html.
The best place to handle this is probably the mosquitto-go-auth code itself. The ChirpStack v4 code uses the (new) format as defined by https://docs.rs/pbkdf2/latest/pbkdf2/.

Thanks a lot.
Let me try your suggestion.

To fix mosquitto-go-auth to support PHC format instead.
Closed.


Prevent launch script from denying Docker v1.6.0

It may be noted that this won't scale with more versions.
Fixes: #52

it any better way to compare the version? in case docker update to 1.7.0, we need to update this again

We could use something like cloudflare/semver_bash, or we can parse it manually. I can try out parsing later today.

Thanks for the pull!
I think the easiest way to compare version numbers that won't break on new versions is with sort -V [0]
Also would you mind make this a pull in to pachyderm:next. Merging in to master automatically ships the code so as a general rule we merge in to next and then in to master when we want to ship. (This should be in the Readme but it's not.
[0] http://stackoverflow.com/questions/16989598/bash-comparing-version-numbers#answer-24067243


Did flutter open Stack-smashing Protection when compling libflutter.so ?

I did an binary check on libflutter.so.
The result shows x86_64 and arm64-v8a didn't open  Stack-smashing Protection. But  armeabi-v7a ver had open it.
So I want to make sure did you guys open the protection when complie?
For open the protection can add -fstack-protector or -fstack-protector-all flag when complie with GCC.

Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.17.5, on Microsoft Windows [Version 10.0.18363.720], locale zh-CN)
libflutter.so version is  ee76268252c22f5c11e82a7b87423ca3982e51a7.
If necessary I opend libflutter.so with IDA PRO and searched key words __stack_chk_fail to find out library is on protect or not.

@leo7723
You seem to be on obsolete version of Flutter. Current stable is 1.22.5. I'd recommend you to upgrade to latest and try again to see if it works or persists.
Thanks.

I download latest fluttersdk 1.22.5 and find out the default engine version is 'ae90085a8437c0ae94d6b5ad2741739ebc742cb4'.
Then I take a check on this version of engine.
It shows the same problem.
Maybe __stack_chk_fail flag was removed when Optimize Code.
Can you make sure of this? It seems like a big problem.

We have observed same problem with latest Flutter SDK as well, do we have any fix for this?


nixos/modules: services.syncthing add guiAddress parameter

Motivation for this change
To make it possible to configure your syncthing from a remote machine.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Looks good, thank you for your contribution @mrVanDalo

Could you add a release note that explains guiAddress change? This appears to override the default from configDir.
https://github.com/NixOS/nixpkgs/issues/49805

All, please note that the latest version .52 is just out which supports a "unix://" parameter to guiAddress - would be neat to support that here as part of this PR.


gitstatus: 1.4.4 -> 1.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/romkatv/gitstatus/releases.
meta.description for gitstatus is: "10x faster implementation of git status command"
meta.homepage for gitstatus is: "https://github.com/romkatv/gitstatus"
meta.changelog for gitstatus is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/9lcqrrzxf2ga8lpqpdnbw2azbv7j735j-gitstatus-1.5.0/bin/gitstatusd passed the binary check.

1 of 1 passed binary check by having a zero exit code.

1 of 1 passed binary check by having the new version present in output.

found 1.5.0 with grep in /nix/store/9lcqrrzxf2ga8lpqpdnbw2azbv7j735j-gitstatus-1.5.0

found 1.5.0 in filename of file in /nix/store/9lcqrrzxf2ga8lpqpdnbw2azbv7j735j-gitstatus-1.5.0

directory tree listing: https://gist.github.com/d7da79c71bf9f34b464814a32d00a0fe

du listing: https://gist.github.com/909a8febe62f1e143ca1b9e3c5db0d84

Rebuild report (if merged into master) (click to expand)

2113 total rebuild path(s)

541 package rebuild(s)

540 x86_64-linux rebuild(s)
529 i686-linux rebuild(s)
512 x86_64-darwin rebuild(s)
532 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
ansible
ansible-lint
ansible_2_10
ansible_2_11
appdaemon
apprise
argo
arrow-cpp
azure-cli
beancount
beets
beetsExternalPlugins.alternatives
beetsExternalPlugins.copyartifacts
beetsExternalPlugins.extrafiles
check-esxi-hardware
cl
dvc-with-remotes
ejabberd
elixir
elixir_1_10
elixir_1_11
elixir_1_12
elixir_1_7
elixir_1_9
elixir_ls
erlang
erlang-ls
erlang_javac
erlang_nox
erlang_odbc
erlang_odbc_javac
fava
fdroidserver
git-annex-remote-googledrive
gitstatus
gnvim
gphotos-sync
gpt2tc
home-assistant
home-assistant-cli
jenkins-job-builder
jira-cli
khal
ledger2beancount
lexicon
mailman-web
mblaze
mercury
mix2nix
neovim-qt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9lcqrrzxf2ga8lpqpdnbw2azbv7j735j-gitstatus-1.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gitstatus https://github.com/r-ryantm/nixpkgs/archive/9c086cc6555068c2be915613ad4c9c89f6d49bcd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9lcqrrzxf2ga8lpqpdnbw2azbv7j735j-gitstatus-1.5.0
ls -la /nix/store/9lcqrrzxf2ga8lpqpdnbw2azbv7j735j-gitstatus-1.5.0/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @mmlb @mweinelt for testing.

Result of nixpkgs-review pr 125033 at 9c086cc6 run on x86_64-linux 1

1 package built successfully:

gitstatus

2 suggestions:

warning: patch-phase
patchPhase should not be overridden, use postPatch instead.
Near pkgs/applications/version-management/git-and-tools/gitstatus/default.nix:15:3:
   |
15 |   patchPhase = ''
   |   ^

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/version-management/git-and-tools/gitstatus/default.nix:20:3:
   |
20 |   installPhase = ''
   |   ^


-i flag: allow selection based on visibility

@franziskuskiefer what do you think? it's an enhancement, but I don't know if we care

Let's throws this onto a doc for potential features if you think it's worth it. Then close it.

I've documented this in https://github.com/hacspec/hax/issues/497! That's a bit the wishlist for the i flag.


Fix the Installation Tutorial on knowrob.org

The installation tutorial at http://knowrob.org/installation/catkin doesn't work, if you try to install knowrob from scratch.
/home/sascha/test_ws/src/stacks/knowrob/knowrob_vis/knowrob_vis/src/main/java/org/knowrob/vis/TaskTreeVisualization.java:124: error: cannot find symbol 			t.setTip("ID: " + tasks[i][1] + ", Goal: " + tasks[i][0] + 			 ^   symbol:   method setTip(String)   location: variable t of type Task 1 error 1 warning
Adding iai_common_msgs to the .rosintall-files seems to fix the problem (and the tutorial).

I also meet the problem when I catkin_make the workspace.The branch of knowrob what I use is the master version. How can I solve the problem?Should I use the branch of indigo?Can you describe the soiution "Adding iai_common_msgs to the .rosintall-files seems to fix the problem (and the tutorial)." in detail.Thanks a lot!

I'm using the master version. I solved the problem for me by adding
- git:     local-name: iai_common_msgs     uri: https://github.com/code-iai/iai_common_msgs.git
to the end of the .rosinstall (should be at /src/.rosinstall. Then you need to call wstool update (Like in the tutorial). After this you should be able to build the workspace with catkin_make.

    I tried the method,and found it worked.Thanks a lot!
    But I meet a new problem.I want to use the browser-based visualization canvas.I launch the rosbridge websocket server in another terminal using the following command:
    roslaunch rosbridge_server rosbridge_websocket.launch
    Then I input the website http://localhost:1111/ or the website http://localhost:1111/robohow.html to the browser,but I find I can not found the both wesites.
    I just install the KnowRob in the /home/admin6/catkin_ws/src/stacks,without the resourse of knowrob_addons,should I download the knowrob_addons-master.zip from the github website,and catkin_make the resource in the folder  /home/admin6/catkin_ws?
    Or this problem is due to other reasons?I can not make sure the website http://localhost:1111/ is correct,should I modify the client address or the port?
    Could you help me?Thank you very much!

Hi @munu8 the current state of the web vis in the knowrob_vis is unfortunately a bit messy.
Please note that there is a submodule repository that includes some JS files for the browser.
The reason that this is not maintained well is that we use a docker-based application for web visualization since some time (called openEASE), you can find some installation instructions here: http://knowrob.org/doc/docker
Also note that KnowRob uses an extended marker visualization API. Thus, vis messages generated by KnowRob should also show up in rviz!

About the iai_common_msgs: It is actually listed as compile time dependency in build files as far as I can see.
Anyway, I've just added it to all the rosinstall files

Thanks a lot!


Added Version support for IPv6 Dual stack support in HNS

Added version support for HNS IPv6 dual stack.

LGTM, but please do wait for Justin's signoff before submitting.

@kumarvin123 seems the ci fails on the line where it will cd into the tests dir, thats interesting

@kumarvin123 Cool the ci issue was resolved. LGTM but can you sign your commits with -s or --signoff?

Please use git rebase to turn this into a single commit.

It looks like the commit is signed as Kathryn. @kumarvin123 it should be signed by you, via git commit -s.

@kumarvin123 thank you! I appreciate it


problem publishing ts app using web deploy

Hi, I have a problem publishing an asp.net 4 app using angular, ts 1.8 from visual studio.
Since with ts 1.8 is possible to add a tsconfig file in asp.net 4 projects too, I added it and configured it to create a single output file this way
{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "target": "es5",
    "inlineSourceMap": true,
    "inlineSources": true,
    "outFile": "Scripts/application.js"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

All works fine until I try to deploy to an azure app service using web deploy: added it, configured, but when I try to deploy I have this error:
Copying file App\Maintenance.js to obj\Debug\Package\PackageTmp\App\Maintenance.js failed. Could not find file 'App\Maintenance.js'.
This is one the ts files that are compiled in the single file 'application.js'.
If my ts installation is not broken, looks like web deploy still continues to look inside the msbuild project settings for the deployment settings of ts files, but adding tsconfig.json file this changes, and when tsconfig file is present typescript project settings are disabled.
Proof of this is that if I rename the tsconfig file, reapply settings via project settings and try to deploy, everything works fine.
Is this normal?

this is caused by the same issue as https://github.com/Microsoft/TypeScript/issues/7247

This is fixed in the nightly NuGet packages in builds after 1.9.0-beta-20160411-1.


updated visualization attributes-aesthetics

In the future can you add a description to the pull request please? Also it looks like there is a good amount of changes here just beyond the heat map visualization updates. I think most of this is fine except we have a conflict with the waveome_marine.ipynb file. @grahnavard You asked me to update the notebook which I did and ended up in the previous pull request #7 , do you want to keep that information (now in main) or overwrite it with what you are trying to merge in now?

Please keep that information (now in main) for waveome_marine.ipynb. The issue we had was with https://github.com/omicsEye/waveome/blob/main/examples/Marine_microbiome/16S_environment_microbiome_antibiotic_treatments.ipynb. If you run an update it with the info provided in Slack.

Accepted.


Update cloudknox-report-view-system-report.md

Minor updates to make the doc consistent to the current UX.

@marcelodiiorio : Thanks for your contribution! The author(s) have been notified to review your proposed change.


feat: Dynamic Form for edit DB Modal

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
This is the edit modal for databases created using the new dynamic form.
TESTING INSTRUCTIONS

Currently, the steps required would be to create a new database using the dynamic form, and then try to edit it.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

git checkout superset-frontend/package-lock.json

/testenv up

/testenv up


⚠ GitLab Server has degraded performance

In b903655, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6684 ms

Resolved: GitLab Server performance has improved in 6507822.


use HTTPS when retrieving code from the internet

Also update site links to use HTTPS.
Closes #156
Closes #173

Patch still relevant but closing due to no interest.


Please add support for the new metadata endpoint

Using the media/metadata/create endpoint as described in https://dev.twitter.com/rest/reference/post/media/metadata/create requires adding a "Content-Type: application/json" header, but currently twurl (or the Ruby OAuth library it uses) overwrites this with "Content-Type: application/x-www-form-urlencoded", resulting in a "401 Authorization Required" and "32 Could not authenticate you." response from the API.
Minimal solution would be to not overwrite such a header, better would be to support JSON content for POSTs.

twurl 0.9.3 with modern (2.3.0) and legacy (1.9.3p551) ruby handles -A parameter correctly in my testing.
Anyone else who can reproduce? This new endpoint is an important feature but it's also an odd duck implementation compared to the rest of the existing REST 1.1 ones.
With 1.9.3:
$ rvm 1.9.3 do ruby $twurl_path/bin/twurl -t -A "Content-Type: application/json" -H upload.twitter.com "/1.1/media/metadata/create.json" -d "{\"media_id\":<PHONE_NUMBER>18648320, \"alt_text\":{\"text\": \"some label here\"} }"

USING RUBY VERSION: 1.9.3
opening connection to upload.twitter.com...
opened
<- "POST /1.1/media/metadata/create.json HTTP/1.1\r\nContent-Type: application/json\r\nAccept: */*\r\nUser-Agent: OAuth gem v0.5.1\r\nAuthorization: …\r\nConnection: close\r\nHost: upload.twitter.com\r\nContent-Length: 73\r\n\r\n"
<- "{\"media_id\":<PHONE_NUMBER>18648320, \"alt_text\":{\"text\": \"some label here\"} }"
-> "HTTP/1.1 200 OK\r\n"
…
-> "status: 200 OK\r\n"
…
-> "\r\n"
reading 0 bytes...
-> ""
read 0 bytes
Conn close

With 2.3.0:
$ rvm 2.3.0 do ruby $twurl_path/bin/twurl -t -A "Content-Type: application/json" -H upload.twitter.com "/1.1/media/metadata/create.json" -d "{\"media_id\":<PHONE_NUMBER>18648320, \"alt_text\":{\"text\": \"some label here\"} }"

USING RUBY VERSION: 2.3.0
opening connection to upload.twitter.com:443...
opened
starting SSL for upload.twitter.com:443...
SSL established
<- "POST /1.1/media/metadata/create.json HTTP/1.1\r\nContent-Type: application/json\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nUser-Agent: OAuth gem v0.5.1\r\nAuthorization: …\r\nConnection: close\r\nHost: upload.twitter.com\r\nContent-Length: 73\r\n\r\n"<- "{\"media_id\":<PHONE_NUMBER>18648320, \"alt_text\":{\"text\": \"some label here\"} }"
-> "HTTP/1.1 200 OK\r\n"
…
-> "status: 200 OK\r\n"
…
-> "\r\n"
reading 0 bytes...
-> ""
read 0 bytes
Conn close

I see "User-Agent: OAuth gem v0.5.1" in both of your examples. Over here I get "User-Agent: OAuth gem v0.4.7". I just checked, and even the latest Ubuntu only has v0.4.7 of that package :/

Forced downgrade to match patch level and OAuth gem, same result.
Can you share your command+output to see if anything stands out?
$ rvm 1.9.3-p484 do ruby $twurl_path/bin/twurl -t -A "Content-Type: application/json" \
-H upload.twitter.com "/1.1/media/metadata/create.json" \
-d "{\"media_id\":<PHONE_NUMBER>18648320, \"alt_text\":{\"text\": \"some label here\"} }"

USING RUBY VERSION: 1.9.3-p484
opening connection to upload.twitter.com...
opened
<- "POST /1.1/media/metadata/create.json HTTP/1.1\r\nContent-Type: application/json\r\nAccept: */*\r\nUser-Agent: OAuth gem v0.4.7\r\nAuthorization: …\r\nConnection: close\r\nHost: upload.twitter.com\r\nContent-Length: 73\r\n\r\n"
<- "{\"media_id\":<PHONE_NUMBER>18648320, \"alt_text\":{\"text\": \"some label here\"} }"
-> "HTTP/1.1 200 OK\r\n"
…
-> "status: 200 OK\r\n"
…
-> "\r\n"
reading 0 bytes...
-> ""
read 0 bytes
Conn close

Here's what I got:
~/scriptfun/twurl/bin/twurl -t -A "Content-Type: application/json" -H upload.twitter.com "/1.1/media/metadata/create.json" -d "{\"media_id\":<PHONE_NUMBER>86050048, \"alt_text\":{\"text\": \"some label here\"} }"
opening connection to upload.twitter.com...
opened
<- "POST /1.1/media/metadata/create.json HTTP/1.1\r\nContent-Type: application/x-www-form-urlencoded\r\nAccept: */*\r\nUser-Agent: OAuth gem v0.4.7\r\nAuthorization: OAuth ..., oauth_version=\"1.0\"\r\nConnection: close\r\nHost: upload.twitter.com\r\nContent-Length: 105\r\n\r\n"
<- "%7B%22media_id%22%3A+716361330786050048%2C+%22alt_text%22%3A%7B%22text%22%3A+%22some+label+here%22%7D+%7D"
-> "HTTP/1.1 401 Authorization Required\r\n"
-> "connection: close\r\n"
-> "content-length: 64\r\n"
-> "content-type: application/json; charset=utf-8\r\n"
-> "date: Sat, 02 Apr 2016 20:27:15 GMT\r\n"
-> "server: tsa_b\r\n"
-> "set-cookie: guest_id=v1%3A145962883500649331; Domain=.twitter.com; Path=/; Expires=Mon, 02-Apr-2018 20:27:15 UTC\r\n"
-> "strict-transport-security: max-age=631138519\r\n"
-> "vary: Origin\r\n"
-> "x-connection-hash: 9287491a8012cd36b7d9e3bd5ceab674\r\n"
-> "x-frame-options: SAMEORIGIN\r\n"
-> "x-response-time: 9\r\n"
-> "x-tsa-request-body-time: 149\r\n"
-> "x-xss-protection: 1; mode=block\r\n"
-> "\r\n"
reading 64 bytes...
-> ""
-> "{\"errors\":[{\"code\":32,\"message\":\"Could not authenticate you.\"}]}"
{"errors":[{"code":32,"message":"Could not authenticate you."}]}read 64 bytes
Conn close

Hoh.. I think I've found the problem. I thought I had my twurl installation matched to the latest version, but turns out it was still v0.9.2.
Installed v0.9.3 (and reapplied my hack to read the config from ./twurlrc instead of ~/.twurlrc) and.. oy, that looks more like it should :smile:

OK, I think this is because you're using twurl gem version 0.9.2
This appears to be behavior fixed by #60 which is in the latest, but not in 0.9.2

Yep, just tried tweeting, and there's alt text now \o/

Well, I guess that solves the issue. Might still want to consider adding something to not need the Content-Type: header, but at least things work for now.


Don't mention server-server stuff in client-server spec

lgtm modulo my grumble about repeating yourself. lgtm modulo my grumble about repeating yourself.


Questions on Re-Parcellating WMH, Processing Multiple Subjects, and Extracting Fasciculus in UFA Toolbox

Description
I have a few questions regarding the use of the UFA toolbox and would appreciate any guidance:

How can I re-parcellate WMH areas using a different atlas, such as aparc+aseg?
Is there a way to process multiple subjects at once with the UFA toolbox, or do I need to handle each subject individually?
How can I extract fasciculus instead of U-fiber using the toolbox? Any tips or resources would be very helpful.

Thank you for your assistance!

Hi, thank you for your interest in my toolbox. You have suggested some great questions!

You may need to carefully read the code of CNS (which was used in my toolbox to extract the WMHs) and you can modify the codes to achieve your goal.
Yes, you can write batch processing scripts by combining all the codes in the UFA toolbox and it can handle multi-subject situations.
Yes, you can modify the input file in WMA_clustering_SWM.sh and select the whole brain fibers as input and it can result in 74 fiber tracts in both superficial and deep white matter regions.

For more detailed questions, you can contact me by email<EMAIL_ADDRESS>or follow my Wechat official account "神农造大脑” can leave your message in the chat box.

Description
I have a few questions regarding the use of the UFA toolbox and would appreciate any guidance:

How can I re-parcellate WMH areas using a different atlas, such as aparc+aseg?
Is there a way to process multiple subjects at once with the UFA toolbox, or do I need to handle each subject individually?
How can I extract fasciculus instead of U-fiber using the toolbox? Any tips or resources would be very helpful.

Thank you for your assistance!

Description
I have a few questions regarding the use of the UFA toolbox and would appreciate any guidance:

How can I re-parcellate WMH areas using a different atlas, such as aparc+aseg?
Is there a way to process multiple subjects at once with the UFA toolbox, or do I need to handle each subject individually?
How can I extract fasciculus instead of U-fiber using the toolbox? Any tips or resources would be very helpful.

Thank you for your assistance!

Hi, I have updated the UFA toolbox and now it can extract and quantify the whole brain white matter fibers (including 16 superficial fibers and 58 deep white matter fibers). Maybe you can download the latest UFA toolbox from the baiduNet disk. If you have any other questions, please leave your message. Good luck to you!


Change repository preview site link's protocol to https

See image:

I think either @KyleAMathews , @scottnonnenberg , @gesposito or @alxshelepenok are privileged to change this repository setting.


Reset spawner (1.16.3)

Hi,
[QUOTE="sixamscrew, post: 3942626, member: 38711"]Hey, since updating to latest 3.0.8 for 1.16.2 server, whenever a player places old spawners (1.16.1), all of them turn to pig spawners. Do I have to regen the config? Thanks.[/QUOTE]
The same in 1.16.3 (I didn't have the problem in 1.16.2).
All transformed spawners dating from before 1.16.3 are reset to Pig... :/
I use Paper 1.16.3 and the last version of  this plugin.
My plugins : https://www.spigotmc.org/threads/mineablespawners-1-8-1-16-silkspawners-alternative.334866/page-14

I cant see this being an issue of my plugin. It works fine for me on 1.16.3 and if the conversion from an older version bugged them out I suspect this to be a spigot conversion issue or something. My plugin doesn't affect already placed spawners, once they are placed and changed they are out of my spawners hands and get handled by the server like any other spawner.


Implement static GC arenas

A static GC arena gives us read-only access into a specific GC object in a regular GC arena. A static gc arena is not bounded by any lifetime, and can therefore be moved freely. A static GC arena can be read from using the read method, which uses the same lifetime mechanics as arena::mutate to guarantee no GC objects are smuggled out of the static arena. If a regular GC arena gets dropped and there are still static GC arenas with references to them, attempts to read from the dangling static GC arena will result in a panic. Similarly, if we are currently reading from a static GC arena and the regular GC arena gets dropped mid read, a panic will be triggered to prevent UB.

This PR accomplishes this using the static_gc macro, as well as the static_gc_cell macro. Here is an example on how to use them:
#[derive(Collect)]
#[collect(no_drop)]
struct TestRoot<'gc> {
    test: Gc<'gc, i32>,
}

make_arena!(TestArena, TestRoot);
// Creates a new StaticArena in a new module named `test_static` that references a Gc that contains an i32.
static_gc!(test_static, i32);

let mut arena = TestArena::new(ArenaParameters::default(), |mc| TestRoot {
    test: Gc::allocate(mc, 42),
});

let mut static_arena = None;

arena.mutate(|mc, root| {
    // Here we wrap the Gc<'gc, i32> in the StaticArena, which now becomes the root of the StaticArena.
    // Then, we move the static arena outside of the closure.
    static_arena = Some(test_static::StaticArena::wrap(mc, root.test.clone()));
});

if let Some(static_arena) = static_arena {
    // Now all we have to do is use the `read` method to access the object in our StaticArena.
    static_arena.read(|root| {
        assert_eq!(*root, 42);
    })
}

Alright, i've actually come up with a better solution for this, so i'm going to open a new PR instead


Replace Scala Maps with Java Maps to in choice parsers to avoid bad diagnostics

When Scala serializes a Map, it uses writeReplace() to actually serialize a HashMap$SerializationProxy object. There appears to be a bug in the deserialization of this proxy object which can lead to very confusing diagnostics if classpaths are not set up correctly when reloading a saved parser.
For example, if a layer transformer is not on the classpath when reloading, you could get an error mentioning only this HashMap$SerializationProxy and the ChoiceCombinator parser. It is not clear at all that the core issue is a layer transformer is not on the classpath.
To fix this, this changes the choice combinator parsers and unparsers to use Java Maps instead. This do not have the deserialization issues that Scala Maps have. Now, if a layer transformer is not on the classpath you get a much more helpful diagnostic stating the saved parser was "created with a different set of dependencies containing a class no longer on the classpath", and includes the actual transformer factory class name, making it much more clear what the problem is.
DAFFODIL-2728

Note that I was only able to reproduce this using a very large complicated schema. Even having a pretty good guess at what the underlying issue is (direct dispatch choices failing to deserialize because they refer to missing layers), I was still unable to reproduce the problem with a smaller schema. That said, even if I found one I'm not sure how easy it would be to create a regression test since it requires messing saving/reloading parsers with different classpaths and missing layers.
But I did confirm this change results it much better diagnostic for the large schema where it is reproducible.

All comments resolved. I also added an implicit class that decorates Maps with a toProperlySerializableMap function which handles the logic to correctly convert a Scala Map to a Java Map.


Timeout issue fix

Problem
The deployments were stalling, after the timeout changes have been merged.
Finding
On investigating the problem, we have found that when the row count limit is reached for a process then logs does not appear although, we are setting CI attributes with the help of logs like this ***RESULT: in many places and our CI attributes are not saved in CMS DB. As far as the deployment is concerned the deployment does not get stuck but necessary CI attributes are not passed and our deployments fails on next steps.
Solution
Now we have separate out the error and output streams so that error logs should not effect the output log limit. Also in case of a stuck deployment our code will wait for timeout interrupt and simply kills the current process.
Testing
We have tested this out in our local environment by setting the row count limit to 10 and setting the timeout value to 5 sec. After every ~5 sec the process got killed and after logging the first 10 lines the logger only logs the command which it is trying to execute, their exit code and whatever we have mentioned explicitly in our java code.

Changes LGTM. As mentioned in the chat, Ideally what should have done is skip the stg/err logging when reaches the log limit and continues processing the results ci until we reach the timeout.


Translation Updates

@blackbetty @StephanRaab @ireneml-fr @phpgeek @AnotherJavaCoder @w3suli @baivong @shiaoshin
1. New keys need translated
There have been a lot of changes to the translation file recently. I'll be gearing up to do a new release of Scout-App in the next week or two.
All new keys have been Google Translated, so you just need to look at anything that is Red and verify that it is correct and turn it Black, or correct it and then turn it black.

https://docs.google.com/spreadsheets/d/16FtHGThz0-CBz_rf_9QO4zOV7oNmNk2BlwmtvKuzAhs/edit#gid=1819360077

Here are the two new screens for reference for the new translation keys.

2. Site Credits

http://scout-app.io/#contributors

After I release the next version of Scout-App, the translator credits on Scout-App.io will be updated to match this list:

Stephan Raab - French & Dutch
Daniel Golant - Russian
Johan Holst Nielsen - Danish
Luca Paco Palomba - Italian
The Chris Lusk - Redneck
ireneml-fr - Spanish
Arthur Tesse - French improvements
W3Suli - Hungarian
Zzbaivong - Vietnamese
Hsin Cheng Lin (Luke) - Chinese (Traditional)

Let me know if your information needs changed. (The list is ordered chronologically)

@blackbetty @StephanRaab @phpgeek @lucapalomba
Reminder to take a look at the translation file and correct or improve the Google Translated text. I'll be doing builds and releasing the app in a few days, so whatever state the translations are in then will be in the next release.

https://docs.google.com/spreadsheets/d/16FtHGThz0-CBz_rf_9QO4zOV7oNmNk2BlwmtvKuzAhs/edit#gid=1510538720

New version with these keys has been released. You can still improve any of the translations if you didn't get a chance for this release and they'll go into the next release.
Closing this issue.

http://Scout-App.io


NARR limbo due to const_evaluatable_unchecked

warning: cannot use constants which depend on generic parameters in types
   --> src/slices/mod.rs:16:20
    |
16  |         type NARR: $trait_name<'a, T, 0>;
    |                    ^^^^^^^^^^^^^^^^^^^^^
...
181 |     slice_trait!(Slice);
    |     ------------------- in this macro invocation
    |
    = note: `#[warn(const_evaluatable_unchecked)]` on by default
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!

https://github.com/ranging-rs/slicing-rs/blob/main/src/slices/mod.rs#L16=

Can't workaround by having an if/else expression in generic bounds:
trait Foo<const N: usize>
where
    [(); if N>0 { N } else {panic!() }]: Sized,
{
    type Narr: Foo<0>;
}

-> overly complex generic constant


Train Tiago in multiple tasks

Check the Tiago URDF (compare to iGibson Tiago) and try to train the robot in basic configs  (reach, push, Pnp). Let the body fixed, use only one arm in action space.

Tiago reach (joints and step control)

tiago pnp_3n (joints and step control)


No PostCSS Config found with build:prod

I'm submitting a ...
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository

When I try to deploy the dashboard using Jenkins on a Linux environment, I am getting the following error
 ERROR in ./~/css-loader!./~/postcss-loader!./~/resolve-url-loader!./~/sass-loader?sourceMap!./~/bootstrap-loader/lib/bootstrap.styles.loader.js!./~/bootstrap-loader/no-op.js
Module build failed: Error: No PostCSS Config found in: /app/jenkins/workspace/dashboard/node_modules/bootstrap-loader
at Error (native)
at /app/jenkins/workspace/Toolbox-web/node_modules/postcss-load-config/index.js:51:26
@ ./~/style-loader!./~/css-loader!./~/postcss-loader!./~/resolve-url-loader!./~/sass-loader?  sourceMap!./~/bootstrap-loader/lib/bootstrap.styles.loader.js!./~/bootstrap-loader/no-op.js 4:14-193
@ ./~/bootstrap-loader/lib/bootstrap.loader.js!./~/bootstrap-loader/no-op.js
 @ ./~/bootstrap-loader/loader.js
@ ./src/vendor.browser.ts

Any idea on what the problem might be?

I have the same issue since 4 hours ago ! No idea where does it from

same issue too

I had the same issue, I manage to fix it by changing in the dependencies of my package.json :
"postcss-loader": "^1.0.0" by "postcss-loader": "1.0.0"
and adding "postcss-load-config": "1.0.0"

Or you can create a file named postcss.config.js in root directory.
Just leave it empty or write the following line.

module.exports = {};

It is a temp fix if you want to use postcss-loader with version > 1.2.1.

FWIW, I had to create the postcss.config.js (with module.exports={}) to get things working again. Even with the latest commit which locks the version to 1.0.0 and adds the loader entry, the problem is not resolved without the minimal config file.

@ESadouski please take a look at https://github.com/akveo/ng2-admin/issues/604#issuecomment-271974780 comment which looks like a proper fix.

https://github.com/akveo/ng2-admin/pull/614

better solution... since you're obviously using webpack, add a postcss: {} key val to your webpack config. or if using webpack 2, loader options plugin, pass that key val pair.

@momikey seems good, but I cannot get it to work with webpack 2. The workaround with the postcss.config.js file does work. A bit less elegant, though.

@gazorg can you post your config? :)

Of course I can. As it is just doodling, I can post the entire build. Though, I should say that I just have the same problem and was very happy to find a workaround. My setup is vue js 2/webpack 2/bootstrap 4 so I think quite different. That was the reason I didn't post the config in the first place.
https://github.com/gazorg/vue2bootstrap4webpack2test

https://github.com/postcss/postcss-loader#sourcemap

@moimikey
I've following thing.. (using webpack 2)
		new webpack.LoaderOptionsPlugin({
			options: {
				babel,
				postcss: [
					require('autoprefixer')({ browsers:['last 3 version'] })
				]
			}
		})

You suggested to use this and I already have browsers:[...] so it doesn't work.
Started happening after I updated it from "postcss-loader": "^1.3.3", to "postcss-loader": "^2.0.6",
However, this works fine.

same problem here just like @aseem2625 , same results from trying both fixes.
webpack 3.0.0, postcss-loader 2.0.6
 new webpack.LoaderOptionsPlugin({
                options: {
                    context: sourcePath,
                    postcss: removeEmpty([
                        require('postcss-import')({addDependencyTo: webpack}),
                        require('postcss-url')(),
                        require('autoprefixer'),
                        require('postcss-reporter')(),
                        ifNotProd(require('postcss-browser-reporter')()),
                    ])
                }
            }),

Adding postcss.config.js is a good solution. However, if you want to avoid adding an extra file, read how I solved it:
I had the Error: No PostCSS Config found issue after upgrading to postcss-loader version 2.0.6 and because I was still using Webpack's LoaderOptionsPlugin. But with the latest version of PostCSS, you should no longer use that plugin. You can place the PostCSS configuration right within your Webpack rules (and no longer use the LoaderOptionsPlugin). That solved my issue. See how I added options to the postcss-loader:
...
      test: /\.s?css$/,
      exclude: /node_modules/,
      use: ExtractTextPlugin.extract({
        use: [{
          loader: 'css-loader'
        }, {
          loader: 'postcss-loader',
          options: {
            plugins: (loader) => [
              require('postcss-smart-import'),
              require('autoprefixer'),
            ]
          }
        }, {
          loader: 'sass-loader'
        }]
      })
...

@AlbertXingZhang  thanks you man it has been 3 hours that i had this problem

another alternatives from adding postcss.config.js is to add a file name .postcssrc with content:
{}

or better, add this single line into package.json
{
  ...
  "postcss": {},
  ...
}

Had the same issue and I've managed to solve it thanks to @kevinweber. The only thing I changed was postcss-smart-import to postcss-import, like this:
...
    use: ExtractTextPlugin.extract({
        use: [
        ...
        {
          loader: 'postcss-loader',
          options: {
            plugins: (loader) => [
              require('postcss-import'),
              require('autoprefixer')
            ]
          }
        }
        ...
        ]
      })
...

I ran into this issue using a monorepo with dependency hoisting enabled (via pnpm and --shamefully-hoist=true) and a package built with Vue. The loader was looking for my postcss.config.js in the project root instead of in the package where it was being used. The empty file fix mentioned above worked, but it wasn't using any of my plugins. To fix this, I turned the the empty postcss config file into a proxy to the currently running package. Here is my file structure:
/my-monorepo
    postcss.config.js
    node_modules/
        webpack/
        postcss-loader/
    packages/
        my-vue-app/
            postcss.config.js
            vue.config.js

Here is the proxy file:
const relativeCwd = '.' + process.cwd().replace(__dirname, ''); //-> ./packages/my-vue-app
module.exports = require(relativeCwd + '/postcss.config.js');

Hope that helps someone.

@DesignByOnyx ,用你的方法解决了我的问题，但导致另一个项目出现了问题，我改成了这个全都可以运行了
const relativeCwd = '.' + process.cwd().replace(__dirname, '');

module.exports = require('fs').existsSync(relativeCwd + '/.postcssrc.js')
    ?require(relativeCwd + '/.postcssrc.js')
    :require('fs').existsSync(relativeCwd + '/postcss.config.js')
    ?require(relativeCwd + '/postcss.config.js')
    :{}


x/tools/cmd/gopls: completions do not work for unpersisted imports

What version of Go are you using (go version)?

$ go version
go version go1.12.2 linux/amd64
$ go list -m golang.org/x/tools
golang.org/x/tools v0.0.0-20190406165526-0d5674b3111a

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN="/home/myitcv/gostuff/src/github.com/myitcv/govim/cmd/govim/.bin"
GOCACHE="/home/myitcv/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPROXY=""
GORACE=""
GOROOT="/home/myitcv/gos"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/govim/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build127648482=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Considering the following govim testscript in which I attempt a completion in a file that does not currently have the relevant import (of "fmt") persisted to disk:
vim ex 'e main.go'
vim ex 'call setline(3, \"import \\\"fmt\\\"\")'
vim ex 'call setline(6, \"\\tfmt.Pr\")'
vim ex 'call cursor(6,1)'
vim ex 'call feedkeys(\"A\\<C-X>\\<C-O>\\<C-N>\\<C-N>\\<C-N>\\<ESC>\", \"x\")'
vim ex 'w'
cmp main.go main.go.golden

-- go.mod --
module mod.com

-- main.go --
package main

// import

func main() {
	// fmt.Pr
}

-- main.go.golden --
package main

import "fmt"

func main() {
	fmt.Println
}

As with all govim buffers, every initial buffer read is sent to gopls as a DidOpen notification; every subsequent change is sent as a DidChange.
What did you expect to see?
The completion to succeed and hence the test to pass.
What did you see instead?
> cmp main.go main.go.golden
[diff -main.go +main.go.golden]
 package main

 import "fmt"

 func main() {
-       fmt.Pr
+       fmt.Println
 }
-

FAIL: testdata/complete_import_not_on_disk.txt:10: main.go and main.go.golden differ

cc @stamblerre @ianthehat

Duplicate of #31467


Form gets appended as GET request

Something is borked with the new version:
I haven't been able to find an exact way to reproduce but it's been twice now that I ended up with the secret in the URL (https://keedrop.com/?secret=Schalala)

Subsequent cause of #68
Deployed fix.

This needs further investigation.


Add compliance component.

Do not merge until deployment has been changed to avoid duplicate notices.

Requires theme package update once https://github.com/microbit-foundation/python-editor-v3-microbit/pull/28 has been merged.


Replace deprecated Dependency Tree API

The latest version of maven-dependency-tree dropped the Maven2 dependency tree API. See https://issues.apache.org/jira/browse/MSHARED-420 .
Adjust the plugin to use the official dependency graph API.

There is no replacement for the deprecated tree API. The maven-dependency-plugin does not use it anymore since version 3.0.
if ( verbose )
{
  // To fix we probably need a different DependencyCollector in Aether, which doesn't remove nodes which
  // have already been resolved.
  getLog().info( "Verbose not supported since maven-dependency-plugin 3.0" );
}

As in the Apache issue mentioned, the replacement for the old package org.apache.maven.shared.dependency.tree is the package org.apache.maven.shared.dependency.graph. Therefore, I think the access point for the new API is DependencyGraphBuilder .


DG Plague Marines flail error

Describe the bug
Every time I try to convert an army with plague marines included it always fails if I include one plague marine with flail of corruption. What happens is that for some reason I get one less marine in that unit and one marine gets double weapons. Furthermore the flail doesn't seem to remove the bolter in the data sheet for that marine.
I haven't tested with other melee-weapons but I guess this will be the same for the others as well
Expected behavior
I expect that the unit will populate with ie. 1xmarine w/ flail and 3xmarines w/ bolters and a champion.
DG 500Pts V2 – Kopi.zip

Plague Marines in General are a bit of a mess

I had a squad with 1 champ, 1 flail, 1 bolter, 1 x2 knives, 1 sprayer, come out as the campion and the guy with the flail having all the datasheets for the others remaining


Implement "Groups" Support

This likely is no longer a separate endpoint, but just a string attribute on a service object. Nevertheless, we need utility functions for typical sorting actions. We may also need to delete the groups object in Fabric in Redux, as this likely is no longer needed.

Correct, this will be a new attribute per service returned from the SDS.

Just to be clear, we always planned on returning a group field in the service object.  The new field is the 'owner' field.  That is, every service from the Discover Service /services endpoint will have a group and owner field that will be some user defined string.
Sean, we are currently exposing a /groups endpoint in the discovery service that returns a list of the groups.  Are you suggesting that:
a) You no longer need that endpoint and will not need an /owner endpoint to complement?
b) You would like server side sorting or filtering of services based on group and or owner?
Obviously a) is easy simple but b) does require some implementation (though trivial).

Actually, I think we said they would be owner and category.  With the two combining in the grouping functionality.

OBE by https://github.com/DecipherNow/gm-fabric-dashboard/issues/408


Animated webp is played slower than expected.

Describe the bug
Animated webp is player slower than expected.
To Reproduce
Download a small (both resolution and file size) animated webp picture and see different playing speed in web browser and aves.
Expected behavior
It should be played as normal FPS setted in webp file.
Screenshots
No.
System information and logs:
No.
Additional context
Version: 1.7.10

A sample: 636kb, 9sec, 320x240@15fps
Aves plays that one in ~11s instead of ~9s.
I also noticed that some webp loop and some don't. Not sure where the responsibility lies, image or player.

I also noticed that some webp loop and some don't. Not sure where the responsibility lies, image or player.

Should not worry about it. Webp sets loop times itself. Can be one time, can be several times, can be endless.


Problem with the training code

Hi, trying to reproduce the results of this repo, but got the following error when running the top-level script (train_gn_pdam.sh)
Traceback (most recent call last):
  File "tools/train_net.py", line 206, in <module>
    main()
  File "tools/train_net.py", line 201, in main
    model = train(cfg, args.local_rank, args.distributed)
  File "tools/train_net.py", line 90, in train
    do_train(
  File "/home/FCAM/jyu/PDAM/maskrcnn_benchmark/engine/trainer.py", line 96, in do_train
    loss_dict = model(s_images, t_images, s_targets, grl_alpha, s_semgt)
  File "/home/FCAM/jyu/miniconda3/envs/pdam/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/FCAM/jyu/miniconda3/envs/pdam/lib/python3.8/site-packages/apex-0.1-py3.8-linux-x86_64.egg/apex/amp/_initialize.py", line 198, in new_fwd
    output = old_fwd(*applier(args, input_caster),
  File "/home/FCAM/jyu/PDAM/maskrcnn_benchmark/modeling/detector/generalized_rcnn.py", line 103, in forward
    = self.roi_heads(t_features, t_proposals, targets=None, is_source=False)
  File "/home/FCAM/jyu/miniconda3/envs/pdam/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/FCAM/jyu/PDAM/maskrcnn_benchmark/modeling/roi_heads/roi_heads.py", line 26, in forward
    x, detections, loss_box = self.box(features, proposals, targets, is_source)
  File "/home/FCAM/jyu/miniconda3/envs/pdam/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/FCAM/jyu/PDAM/maskrcnn_benchmark/modeling/roi_heads/box_head/box_head.py", line 56, in forward
    result, keep_list, keep_list2 = self.post_processor((class_logits, box_regression), proposals)
  File "/home/FCAM/jyu/miniconda3/envs/pdam/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1102, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/FCAM/jyu/PDAM/maskrcnn_benchmark/modeling/roi_heads/box_head/inference.py", line 84, in forward
    boxlist = boxlist.clip_to_image(remove_empty=False)
  File "/home/FCAM/jyu/PDAM/maskrcnn_benchmark/structures/bounding_box.py", line 216, in clip_to_image
    self.bbox[:, 0].clamp_(min=0, max=self.size[0] - TO_REMOVE)
RuntimeError: Output 0 of SelectBackward0 is a view and is being modified inplace. This view is the output of a function that returns multiple views. Such functions do not allow the output views to be modified inplace. You should replace the inplace operation by an out-of-place one.

Any suggestions?
My environment is:
python                   3.8
torch                    1.10.0+cu111
torchaudio               0.10.0+rocm4.1
torchvision              0.11.0+cu111

Never mind. Figured it out.
I guess the code probably worked in older version of torch. But it is a bit outdated. Here is a patch if you care:
diff --git a/maskrcnn_benchmark/structures/bounding_box.py b/maskrcnn_benchmark/structures/bounding_box.py
index 25791d5..dd72dbd 100644
--- a/maskrcnn_benchmark/structures/bounding_box.py
+++ b/maskrcnn_benchmark/structures/bounding_box.py
@@ -213,10 +213,12 @@ class BoxList(object):

     def clip_to_image(self, remove_empty=True):
         TO_REMOVE = 1
-        self.bbox[:, 0].clamp_(min=0, max=self.size[0] - TO_REMOVE)
-        self.bbox[:, 1].clamp_(min=0, max=self.size[1] - TO_REMOVE)
-        self.bbox[:, 2].clamp_(min=0, max=self.size[0] - TO_REMOVE)
-        self.bbox[:, 3].clamp_(min=0, max=self.size[1] - TO_REMOVE)
+        self.bbox = torch.stack([
+            torch.clamp(self.bbox[:, 0], min=0, max=self.size[0] - TO_REMOVE),
+            torch.clamp(self.bbox[:, 1], min=0, max=self.size[1] - TO_REMOVE),
+            torch.clamp(self.bbox[:, 2], min=0, max=self.size[0] - TO_REMOVE),
+            torch.clamp(self.bbox[:, 3], min=0, max=self.size[1] - TO_REMOVE),
+        ], axis=-1)
         if remove_empty:
             box = self.bbox
             keep = (box[:, 3] > box[:, 1]) & (box[:, 2] > box[:, 0])
diff --git a/maskrcnn_benchmark/utils/c2_model_loading.py b/maskrcnn_benchmark/utils/c2_model_loading.py
index cbf4c05..017f8ce 100644

When using CycleGAN to generate Kumar-like style images from BBBC images, it seems that the results are learned in reverse, although the style is learned. That is, the region of cell nuclei in BBBC, is shown as background in the generated data, while the region of background in BBBC, has cell nuclei in the generated data.
From the second image, there appear to be white transparent cells on the left image, but ideally the color of these cells would be purple, like the style in kumar.
May I ask if you encountered such a problem with your reproduction? I'm not sure what the problem is and would appreciate your help.


boot upgrade <path> runs a OR Spring upgrade recipe on given path

The given path is used to create the OR AST.
All recipes on classpath are discovered
The recipe is found by its name
The recipe is executed on the AST
The resulting diffs get prointed

Running the example:

run ./run.sh, which will build the sbm-support-rewrite component and install it to local repo
run  boot upgrade [...]/demo-spring-song-app in IntelliJ
When running the jar it fails with some unresolvable type through the Maven plexus container. Need to investigate

Now in #154


Change Process.process_name to Processes.process_name

Details
Found a small typo in a few searches, which was causing process_name to always be missing
Checklist

[x] Validate name matches <platform>_<mitre att&ck technique>_<short description> nomenclature
[ ] CI/CD jobs passed ✔
[x] Validated SPL logic.
[x] Validated tags, description, and how to implement.
[x] Verified references match analytic.

Hello @sanjay900 : Thank you for an awesome PR with the fixes! I have created a duplicate PR with your changes to run it. via detection pipeline We will get this merged soon. :)
https://github.com/splunk/security_content/pull/2488


Add option for shallow clones

Cloning Git repos can take a while. It would be nice to offer a config option to clone repositories shallowly by default.

In regards to freezing versions into a version lockfile, do you know of a way for shallow clones to clone at a depth needed for a particular git revision (i.e. the revision specified in the lockfile)? Because if not, shallow clones would not work with freezing, right?

Good point. I guess we would have to do something like clone with a default depth (say, 100) and then if the ref doesn't exist, fetch the rest of the history.
It is possible to fetch a specific commit, but unfortunately that doesn't work with all server configurations (and, in particular, it doesn't work with GitHub):
$ git fetch origin f63eb28cca61edfa338041da4b4a7fff378c621c
error: Server does not allow request for unadvertised object f63eb28cca61edfa338041da4b4a7fff378c621c

I found that since git version 2.11, git clone has a --shallow-since=<date> option. I haven't tested anything at all, but if I understand correctly, it means initially if one does not have a version lockfile, and if they want to use shallow clones, then straight can shallow clone with a depth of 1. And then later when they invoke straight-freeze-versions, the date (of the recorded git revision) is also recorded in the version lockfile, which can then later be used with --shallow-since when the user wants to reproduce their setup. (And then I assume you'd just git reset --hard <the recorded revision> after the shallow clone and it would hopefully work.)
This sounds too good to be true though so I'm probably wrong, but I can't test this at the moment... but I still wanted to mention it now. :wink:

Actually I just tried this and it seems to work! :tada:
Not sure how robust this method would be though. :woman_shrugging:

That is pretty sweet. :+1:
It'll make the lockfiles a little ugly and harder to hand-edit so I'll make this an opt-in option.

Sometimes shallow cloning using --shallow-since doesn't work properly and does a full clone instead, even if the date given matches with the commit/tag. I think that it might be due to local time or timezone differences or something, but I haven't bothered to figure out what exactly it could be.
However, it seems to reliably shallow clone if I just subtract 1 day from the date of the commit/tag, which I feel like is an acceptable trade off. If we do this, a time/date library would be needed and thankfully emacs seems to have one, linking here for future reference: https://www.gnu.org/software/emacs/manual/html_node/elisp/Time-Calculations.html#Time-Calculations.
I'm not sure how --shallow-since would work (or not) with submodules though, haven't messed with it.

It might honestly be better to just do #149 instead, since it'll have mostly the same effect for UX: you're acquiring the package in some nonstandard way for speed, but then when it's time to do actual development you probably want to convert it to a normal repository. (The reason being that shallow clones are full of caveats, as you've observed, whereas I pretty much already know how to implement #149.)

The size of the EmacsMirror git repo epkgs  is large
~ $ du -sh ~/.emacs.d/straight/repos/* | sort -hr | head
311M	/Users/xcy/.emacs.d/straight/repos/epkgs
150M	/Users/xcy/.emacs.d/straight/repos/language-detection.el
130M	/Users/xcy/.emacs.d/straight/repos/elpa
37M	/Users/xcy/.emacs.d/straight/repos/helm
35M	/Users/xcy/.emacs.d/straight/repos/melpa
26M	/Users/xcy/.emacs.d/straight/repos/magit
24M	/Users/xcy/.emacs.d/straight/repos/flycheck
15M	/Users/xcy/.emacs.d/straight/repos/notmuch
9.2M	/Users/xcy/.emacs.d/straight/repos/web-mode
8.5M	/Users/xcy/.emacs.d/straight/repos/dired-sidebar

Shallow clone reduces the size quite a lot (311M -> 26M)
~ $ git clone --depth 1 file:////Users/xcy/.emacs.d/straight/repos/epkgs
Cloning into 'epkgs'...
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 9 (delta 0), reused 3 (delta 0)
Receiving objects: 100% (9/9), 6.58 MiB | 5.59 MiB/s, done.
~ $ du -sh epkgs
26M	epkgs

And I think there is no point to keep the whole history of this repo, maybe it is a good idea to shadow clone this repo.

As someone who has their OS on a small partition, I would quite like this feature. There's not much point in storing all of the history on disk (by default), especially for things that I know I won't want to do anything with, such as epkgs or Melpa.

Rip. GitHub didn't pick up that that PR "partially" closes this issue :P


Update pl_pl.json

What are your thoughts on #157? You two have many different translations. My apologies for getting to these so late, but I would like to merge this soon.

Ended up going with #157. If you have any issues with their translations, feel free to submit another PR.


Test image before release

CI/CD pipeline doesn't do any testing of the image before release. Need to run integration tests before release.

Turns out #55 broke the tests by always testing against 2.0. Missed that in review.


fix(xxx-intl): replace misused EventEmitter with Subject

According to https://angular.io/api/core/EventEmitter#description, EventEmitter is not for services. And Subject is preferrable.

The tests should be fine, there is something wrong with travis.


Small follow-up fixes for #1029

Address feedback by @thomaseizinger & fix an omission that I noticed :)

bors r+