[feature request] Add syntax for declaring receipe dependency on 3rd party tool

Hello
Just recepies are often used to call other 3rd party tools, like compilers, formatters etc. If justfiles are used by multiple devs within the sam organization, those devs may not have the tools installed at their computers at the moment. Since missing tool errors may be quite cryptic during the execution - I propose to implement following

Come up with an idea of syntax to declare that justfile execution depends on some tool, e.g. kubectl.
Dependency may be declared either for entire justfile or for particular receipe, what is easier to implement.
Dependency declaration syntax may allow definition of custom error message.
Dependency declaration should allow definition of installation instruction link.

So if a person runs one of the recepies that requires kubectl to be installed - just will provide a clean message with direct installation link if that tool is missing from person's computer.
WDYT ?

I definitely agree that this is a problem, however I don't think that it's possible for just to solve it in a general way. In particular:

Dependencies can be installed in many different ways, not just by a link. Sometimes you need to run a command, sometimes you need to follow instructions that you can link to, sometimes you need to install something on an app store.
There's no general way to detect if a command has failed because a dependency is missing.
There's no general way to detect if a dependency is available.

I have solved this in a different way:

recipes can depend on a recipe that checks if in a docker container
if not in a docker container, fail and print command to enter the container (in my case, the default command immediately creates a docker container and mounts the local directory in)
When in the docker container, you completely control the environment

Here's a subset of a justfile with just those steps. It might not work, I didn't test it, but I copied it from a bigger one that works:
set shell       := ["bash", "-c"]
set dotenv-load := true
export DOCKER_IMAGE_PREFIX         := env_var_or_default("DOCKER_IMAGE_PREFIX", "")
export DOCKER_TAG                  := env_var_or_default("DOCKER_TAG", `git rev-parse --short HEAD`)

_help:
    #!/usr/bin/env bash
    if [ -f /.dockerenv ]; then
        just --list --unsorted
    else
        # Not in a docker container? Get in one
        just _docker .
    fi

# builds (versioned) production docker images
@some-other-command: _ensure_inside_docker
    echo "I am definitely in a docker container"

_ensure_inside_docker:
    #!/usr/bin/env bash
    if [ ! -f /.dockerenv ]; then
        echo -e "🌵🔥🌵🔥🌵🔥🌵 First run the command: just 🌵🔥🌵🔥🌵🔥🌵"
        exit 1
    fi

# Build and run the cloud image, used deployments
_docker +args="bash": _build
    #!/usr/bin/env bash
    # exit when any command fails
    set -euo pipefail
    mkdir -p {{ROOT}}/.tmp
    touch {{ROOT}}/.tmp/.bash_history
    docker run \
        $(if [ "$CI" != 'true' ]; then echo '-ti'; fi) \
        -e CI=true \
        -e PS1='<${PWD#"${PWD%/*/*}/"}/> ' \
        -e PROMPT="<%/% > " \
        -e DOCKER_IMAGE_PREFIX={{DOCKER_IMAGE_PREFIX}} \
        -e HISTFILE={{ROOT}}/.tmp/.bash_history \
        -v {{ROOT}}:{{ROOT}} \
        {{DOCKER_IMAGE_PREFIX}}cloud:{{DOCKER_TAG}} {{args}}

# If the ./app docker image in not build, then build it
_build:
    #!/usr/bin/env bash
    set -euo pipefail
    # No buildkit, it does not use the local cache, which we want
    export DOCKER_BUILDKIT=0
    export DOCKER_PLATFORM="$(docker version -f '{{{{json .}}' | jq -r '.Server.Arch')"
    if [[ "$(docker images -q {{DOCKER_IMAGE_PREFIX}}cloud:{{DOCKER_TAG}} 2> /dev/null)" == "" ]]; then
        echo -e "🚪🚪  ➡ {{bold}}Building ./cloud docker image ...{{normal}} 🚪🚪 ";
        docker build -f Dockerfile -t {{DOCKER_IMAGE_PREFIX}}cloud:{{DOCKER_TAG}} . ;
    fi

It's really really convenient and simplifies development when you can guarantee and version the available tools in the CLI environment. For me, the only place that isn't dockerized is browser development, since that machinery is still too slow to run in a container efficiently (once the website is sufficiently complex).
It also makes CI/CD easier, since all the pipeline tools can be versioned and controlled together, since everything is just containers.

I came up with a similar solution than the one provided by @dionjwa .
# -- FILE: justfile
# USECASE: Python -- Use "pip" to install Python packages.

# DEFAULT-TARGET: Run the tests.
default: test

# PART=all, testing, other, ...
install-packages PART="all":
    @echo "INSTALL-PACKAGES: {{PART}} ..."
    pip install --quiet -r py.requirements/{{PART}}.txt
    @touch "{{HERE}}/.done.install-packages.{{PART}}"

_ensure-install-packages PART="all":
    #!/usr/bin/env python3
    from subprocess import run
    from os import path
    if not path.exists("{{HERE}}/.done.install-packages.{{PART}}"):
        run("just install-packages {{PART}}", shell=True)

test *TESTS: (_ensure-install-packages "testing")
    pytest {{TESTS}}

other-command: (_ensure-install-packages "other")
    @echo "Run OTHER command ..."
    ...

A similar approach should work for package manager(s), like apt.
You just need a small script that reads the package list from a file.
And you can use other recipes, like _ensure-install-apt-packages and install-apt-packages, etc. (if multiple package managers are involved.


What is the state of this project?

Recent discussion on https://github.com/SpringerSBM/gomatic/pull/10 has lead to my, and others, wondering the state of this project. Is this project still maintained? If so, who are the maintainers?
If this package is not maintained, can the following steps be taken?

Now: Update the README to reflect the state of the project, and request new maintainers.
Later: Transfer ownership of the project (including the PyPI package) to new maintainers.
Later: Update the README of this repo to point to the location of the new repo.

FYI @Drakekin @gbigwood @savagematt

Love to get this clarified and to kickstart development again. This is literally the only viable project to keep complex GoCD configurations in code.

@hilverd I spoke with our team here and we are willing to take over ownership of this project. I would be the admin and we have a few others who could help. I think edX has a lot we can contribute to this project and use it extensively.
This project has been a great help to us and we would like to see it continue to move forward. Thank you for all of your work.

@hilverd there's a few people here at ThoughtWorks, myself included, who would also be quite keen to provide support. @macdiesel, @clintonb, would y'all be interested in some sort of communal ownership under the https://github.com/gocd-contrib org?

@MFAnderson I think we would be fine with that. Our cycles on gomatic and our gomatic scripts can be sporadic now the the bulk of our lift to migrate to GoCD is complete. Our main concern is the ability to get some fixes patched in to gomatic as quickly as possible. Obviously releasing software is not our main business, though getting features to production greatly benefits us.
What we would really like would be a way to quickly get the patches in to gomatic that we need to continue our operations. An example of the types of things we have added have been fixes for ssl support, exposing unencrypted secure variables to jobs and stages, shallow cloning and integration tests to ensure upstream artifacts exist.
As long as we have a pathway for quickly landing these improvements and thoughtworks is open to pulling in these changes I do not believe we would have objections to you and your team owning the project. It is much more in your wheelhouse than ours. =)

@macdiesel sorry, I guess I didn't convey myself well. I was hoping that we would work collaboratively on it. The gocd-contrib org is largely for discoverability purposes and edX's fork looks great, so was hoping to maybe move it under that org but have you (and potentially other folks from edX) included as owners on the repo.

@MFAnderson That sounds fine and we are willing to do this.
Let me know what I can do to get the ball rolling.

Transferring ownership of the repository towards gocd-contrib would be the next logical step I presume?

Hi @moritzheiber, if you could please give me permission to create repositories on gocd-contrib, then I can transfer the repository.

Hey @hilverd-springer, trying to get permissions sorted out with the owners of the org. I have 'create repo' but not 'invite to org'.

Thanks @MFAnderson. I've done the transfer (feel free to have me removed from gocd-contrib), please let me know what to do with the PyPI package.

@hilverd-springer not sure what the right long term home is for it, but you can transfer it to me for the time being PyPI username is the same as github.

@MFAnderson Done.

I am so happy development is continuing with the project.  Thank you for picking it up!

🎉


Issue with unspents

Hello, the issue is, a few days ago a successfully sent a transaction with the .send function. Today I tried again and got an error about unspents, so i did a little bit of debbuging and I found out that unspents do not get updated before the call to self.unspents in the create_transaction function before the sanitizing, so I added or NetworkAPI.get_unspent(self.address) here instead of or self.unspents:
unspents, outputs = sanitize_tx_data(
            unspents or NetworkAPI.get_unspent(self.address),
            outputs,
            fee or DEFAULT_FEE,
            leftover or self.address,
            combine=combine,
            message=message,
            compressed=self.is_compressed(),
            custom_pushdata=custom_pushdata,
        )

and now it works as it should, but obviously I have some doubts about this, can you help me figure out the issue?
The error I got is the following:
Traceback (most recent call last):
  File "...", line 148, in ...
    txid = self.__wallet.send([], fee = 1, message = binascii.unhexlify(msg))
  File "C:\...\venv\lib\site-packages\bitcash\wallet.py", line 349, in send
    unspents=unspents,
  File "C:\...\venv\lib\site-packages\bitcash\wallet.py", line 293, in create_transaction
    custom_pushdata=custom_pushdata,
  File "C:\...\venv\lib\site-packages\bitcash\transaction.py", line 169, in sanitize_tx_data
    raise ValueError("Transactions must have at least one unspent.")
ValueError: Transactions must have at least one unspent.

Could you provide a minimal reproducible example?

This
self.__wallet.send([], fee = 1, message = binascii.unhexlify(msg))
where the message is an hexadecimal string. That's all I did.

You need to call wallet.get_unspents() before. Or wallet.get_balance(). Does that solve the issue?

100% would solve the issue (and it does), but is it intended to work this way? And I don't know why it worked days ago.

Yes it is intended as per the docs https://pybitcash.github.io/bitcash/.

Maybe in a future major version, send could take care of collecting unspents. I am happy to receive pull requests and potentially include such a change later on.


puppeteer.launch() never returns

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.11.0
Platform / OS version: MacOS Mojave 10.14
URLs (if applicable):
Node.js version: v10.11.0

What steps will reproduce the problem?
await puppeteer.launch({ headless: false, sloMo: 0, args: [
'--window-size=400,714',
'--unlimited-storage',
'--no-startup-window',
'--disable-dev-shm-usage',
'--disable-crash-reporter',
'--disable-breakpad'
]});
What is the expected result?
Chromium to launch, and puppeteer.launch() return.
What happens instead?
The dock icon for puppeteer appears, but puppeteer.launch() never returns.
I added a console.log to puppeteer/lib/Launcher.js to output the full command line being run, in case that helps.
/Users/adf/Projects/dalang/node_modules/puppeteer/.local-chromium/mac-609904/chrome-mac/Chromium.app/Contents/MacOS/Chromium --disable-background-networking --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=site-per-process --disable-hang-monitor --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-sync --disable-translate --metrics-recording-only --no-first-run --safebrowsing-disable-auto-update --enable-automation --password-store=basic --use-mock-keychain about:blank --window-size=400,714 --unlimited-storage --no-startup-window --disable-dev-shm-usage --disable-crash-reporter --disable-breakpad --remote-debugging-port=0 --user-data-dir=/var/folders/7r/_3bt2vjs2lb7ql4tg98983x00000gn/T/puppeteer_dev_profile-l9JwIX
If I click on the dock icon that appeared for chromium, puppeteer.launch() then returns.
If I set executablePath to point at my normal Chrome executable (/Applications/Google Chrome.app/Contents/MacOS/Google Chrome), puppeteer.launch() works as expected.

Been trying a few things to get to try to get to the bottom of what is going, so I downgraded to puppeteer 1.3.0 (the version I was originally successfully using) and that works.
1.3.0 ok
1.4.0 ok
1.6.2 puppeteer.launch() hangs (until click dock icon)
1.4.0 ok

It's blocking on:- await initialPagePromise; in ensureInitialPage in Launcher.js

Puppeteer expects and waits for a page on startup. Passing --no-startup-window doesn't create the page. Why do you want to use this argument?

The way my code works is (in 1.3.0 and 1.4.0)
It calls puppeteer.launch() with --no-startup-window which means that browser.getPages() returns an empty list. So I then do if (pages.length === 0) pages.push(await browser.newPage()) which gives me a page I can then pages[0].goto(url); to navigate.
const browser = puppeteer.launch({ args: [ '--no-startup-widnow' ] });
const pages = browser.getPages();
if (pages.length === 0) pages.push(await browser.newPage());
pages[0].goto('http://www.google.com/');

All perfectly reasonable, I thought.  But that code does not work since 1.6.2 because puppeteer.launch() blocks.
The error I am seeing if I don't add --no-startup-window is in the code below:
const connection = browser._connection;
const { targetInfos: [{ targetId }] } = await connection.send('Target.getTargets');
const { windowId } = await connection.send('Browser.getWindowForTarget', { targetId });
await connection.send('Browser.setWindowBounds', { bounds: { width, height } });

The issue is that the order of the two pages (targets) that is returned by Target.getTargets is different without --no-startup-window, the above code made the assumption (based on using --no-startup-window) of the order of the targets returned.
I can ofc fix my code to remove that assumption, but the real question is, is the first example considered code that should work, because it certainly used to.

Some other oddities when not using --no-startup-window that I am observing:-
Both with and without --no-startup-window window.innerHeight shows the frame height (including chrome) not the inner content area height.
There is now an annoying infobar telling me what I already know, further reducing the available content area.

Problems I am going to need to find separate solutions for, if I can't use --no-startup-window.

@Mehuge so what is the motivation to pass --no-startup-window flag? If you want to avoid creating second page and reuse the one that gets opened by default, you can get it like this:
const browser = await pptr.launch();
const [page] = await browser.pages();

That is essentially what my code is now doing.
https://github.com/redskyit/dalang/blob/master/dalang.js#L127
The motivation was indeed to avoid the second tab (in headless: false mode).


[stable/kibana] Add support for user-defined init containers

What this PR does / why we need it:
Allows to define custom init containers. This is useful for e.g. checking if elasticsearch is already up and running (before starting kibana container), creating custom ES indexes for kibana upfront, etc. More generic example use-cases can be found here: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#examples
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

@pavdmyt can you please add a test case in the ci directory? this is seemingly a reasonable perspective to take and the PR looks fine from my POV, but it would be helpful for others to have a test case in the ci so this feature of the chart doesn't break going forward.

@compleatang sure, I'll prepare commit.

@compleatang  I've changed initContainers type from [] to {}. This is useful because it makes possible to override specific fields of any init container from a parent chart (very helpful for my specific use-case).
Regarding tests in ci directory. I'm not sure how it is exactly working. README is not very clear to me. As I understood, it is possible to provide custom *-values.yaml file which will be used at CI side to pass additional values to default chart's values.yaml. I've created ci/initcontainers-values.yaml for this purpose. Please advice whether it is appropriate.

Yup. That's how that dir works. Thanks!
/ok-to-test

/retest

/lgtm


Listening...
############################
2017-11-20 09:47:01.975 [  6] 9 SpeechSynthesizer:provideState:token=9
2017-11-20 09:47:01.975 [  7] 9 SpeakerManager:executeProvideStateCalled
2017-11-20 09:47:01.980 [  9] 0 SpeechSynthesizer:executeProvideState:stateRequestToken=9
2017-11-20 09:47:01.981 [  9] 9 MediaPlayer:getOffsetCalled
2017-11-20 09:47:01.980 [  7] 9 MediaPlayer:getSpeakerSettingsCalled
2017-11-20 09:47:01.982 [  2] 0 MediaPlayer:handleGetOffsetCalled:idPassed=7,currentId=7
2017-11-20 09:47:01.983 [  2] 9 MediaPlayer:handleGetSpeakerSettingsCalled
2017-11-20 09:47:01.983 [  9] 0 ContextManager:updateStateLocked:action=updatedState,state={"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":1187,"playerActivity":"PLAYING"},namespace=SpeechSynthesizer,name=SpeechState
2017-11-20 09:47:01.983 [  7] 9 MediaPlayer:getSpeakerSettingsCalled
2017-11-20 09:47:01.984 [  2] 9 MediaPlayer:handleGetSpeakerSettingsCalled
2017-11-20 09:47:01.984 [  7] 9 SpeakerManager:validateSpeakerSettingsConsistencyResult:consistent=true
2017-11-20 09:47:01.984 [  7] 9 SpeakerManager:validateSpeakerSettings:volume=100,mute=false
2017-11-20 09:47:01.985 [  7] 0 ContextManager:updateStateLocked:action=updatedState,state={"volume":100,"muted":false},namespace=Speaker,name=VolumeState
2017-11-20 09:47:01.985 [  6] 0 ContextManager:buildContextSuccessful:context={"context":[{"header":{"namespace":"Speaker","name":"VolumeState"},"payload":{"volume":100,"muted":false}},{"header":{"namespace":"AudioPlayer","name":"PlaybackState"},"payload":{"token":"","offsetInMilliseconds":0,"playerActivity":"IDLE"}},{"header":{"namespace":"SpeechSynthesizer","name":"SpeechState"},"payload":{"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":1187,"playerActivity":"PLAYING"}},{"header":{"namespace":"Alerts","name":"AlertsState"},"payload":{"allAlerts":[],"activeAlerts":[]}},{"header":{"namespace":"SpeechRecognizer","name":"RecognizerState"},"payload":{"wakeword":"alexa"}}]}
2017-11-20 09:47:01.986 [  a] 0 AudioInputProcessor:executeOnContextAvailable:jsonContext={"context":[{"header":{"namespace":"Speaker","name":"VolumeState"},"payload":{"volume":100,"muted":false}},{"header":{"namespace":"AudioPlayer","name":"PlaybackState"},"payload":{"token":"","offsetInMilliseconds":0,"playerActivity":"IDLE"}},{"header":{"namespace":"SpeechSynthesizer","name":"SpeechState"},"payload":{"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":1187,"playerActivity":"PLAYING"}},{"header":{"namespace":"Alerts","name":"AlertsState"},"payload":{"allAlerts":[],"activeAlerts":[]}},{"header":{"namespace":"SpeechRecognizer","name":"RecognizerState"},"payload":{"wakeword":"alexa"}}]}
2017-11-20 09:47:01.986 [  a] 1 FocusManager:acquireChannel:channelName=Dialog,activityId=SpeechRecognizer.Recognize
2017-11-20 09:47:01.987 [ 11] 0 SpeechSynthesizer:onFocusChanged:newFocus=NONE
2017-11-20 09:47:01.987 [  a] I DirectiveProcessor:setDialogRequestIdLocked:oldValue=49f14886-fa22-4650-ba9c-3dd04d4429bc,newValue=ee4d278c-f8eb-4d4e-9281-db28bba2859f
2017-11-20 09:47:01.987 [  a] 0 DirectiveProcessor:scrubDialogRequestIdLocked:dialogRequestId=49f14886-fa22-4650-ba9c-3dd04d4429bc
2017-11-20 09:47:01.987 [  a] 0 EventBuilder:buildJsonEventString:messageId=840f3d63-34b3-45bc-9d53-6c4968cb9055,namespace=SpeechRecognizer,name=Recognize
2017-11-20 09:47:01.988 [ 10] I DirectiveRouter:cancelDirective:messageId=7957ccc4-5bea-4daf-9be3-6aafbe11a917,action=calling
2017-11-20 09:47:01.987 [  9] 0 SpeechSynthesizer:executeStateChange:newState=FINISHED
2017-11-20 09:47:01.988 [  9] 9 SpeechSynthesizer:stopPlaying
2017-11-20 09:47:01.988 [ 10] 9 SpeechSynthesizer:cancelDirective:messageId=7957ccc4-5bea-4daf-9be3-6aafbe11a917
2017-11-20 09:47:01.988 [  9] 9 MediaPlayer:stopCalled
2017-11-20 09:47:01.989 [  2] 0 MediaPlayer:handleStopCalled:idPassed=7,currentId=7
2017-11-20 09:47:02.018 [  2] 0 MediaPlayer:callingOnPlaybackStopped:currentId=7
2017-11-20 09:47:02.018 [  2] 9 SpeechSynthesizer:onPlaybackStopped:callbackSourceId=7
2017-11-20 09:47:02.019 [  2] 9 SpeechSynthesizer:onPlaybackFinished:callbackSourceId=7
2017-11-20 09:47:02.019 [  2] 9 MediaPlayer:tearDownTransientPipelineElements
2017-11-20 09:47:02.019 [  2] 9 BaseStreamSource:~BaseStreamSource
2017-11-20 09:47:02.018 [  9] 0 SpeechSynthesizer:executeCancel:messageId=7957ccc4-5bea-4daf-9be3-6aafbe11a917
2017-11-20 09:47:02.021 [  9] 0 SpeechSynthesizer:executePlaybackFinished
2017-11-20 09:47:02.021 [  9] 0 SpeechSynthesizer:executeProvideState:stateRequestToken=0
2017-11-20 09:47:02.021 [  9] 0 ContextManager:updateStateLocked:action=updatedState,state={"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":0,"playerActivity":"FINISHED"},namespace=SpeechSynthesizer,name=SpeechState
2017-11-20 09:47:02.021 [  9] 9 SpeechSynthesizer:releaseForegroundFocus
2017-11-20 09:47:02.021 [ 11] 9 SpeechSynthesizer:onFocusChangedSuccess
2017-11-20 09:47:02.022 [  9] 1 FocusManager:releaseChannel:channelName=Dialog
2017-11-20 09:47:02.022 [  a] 0 AudioInputProcessor:executeOnFocusChanged:newFocus=FOREGROUND
2017-11-20 09:47:02.022 [  9] 9 SpeechSynthesizer:setHandlingCompleted
2017-11-20 09:47:02.022 [  9] 0 DirectiveProcessor:onHandlingCompeted:messageId=7957ccc4-5bea-4daf-9be3-6aafbe11a917,directiveBeingPreHandled=(nullptr)
2017-11-20 09:47:02.022 [ 11] E FocusManager:releaseChannelHelperFailed:reason=observerDoesNotOwnChannel,channel=Dialog
2017-11-20 09:47:02.022 [  a] 9 HTTP2Transport:enqueueRequest
2017-11-20 09:47:02.022 [  9] 0 CapabilityAgent:removingMessageIdFromMap:messageId=7957ccc4-5bea-4daf-9be3-6aafbe11a917
2017-11-20 09:47:02.089 [  b] 0 HTTP2Transport:processNextOutgoingMessage
2017-11-20 09:47:02.089 [  b] 0 HTTP2StreamPool:getStream:streamId=33,numAcquiredStreams=2
2017-11-20 09:47:02.090 [  b] 9 HTTP2Transport:insertActiveStream:handle=0xb4dec168
2017-11-20 09:47:03.606 [  e] 0 MessageInterpreter:receive:messageId=fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7:No dialogRequestId attached to message.
2017-11-20 09:47:03.606 [  e] I DirectiveSequencer:onDirective:directive={"namespace:"SpeechRecognizer",name:"StopCapture",messageId:"fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7",dialogRequestId:""}
2017-11-20 09:47:03.607 [  f] I DirectiveRouter:preHandleDirective:messageId=fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7,action=calling
2017-11-20 09:47:03.607 [  f] 0 CapabilityAgent:addingMessageIdToMap:messageId=fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7
2017-11-20 09:47:03.607 [ 10] I DirectiveRouter:handleDirective:messageId=fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7,action=calling
2017-11-20 09:47:03.607 [  a] 0 AudioInputProcessor:stopCapture:stopImmediately=true
2017-11-20 09:47:03.608 [  a] 0 AudioInputProcessor:setState:from=RECOGNIZING,to=BUSY
2017-11-20 09:47:03.608 [  a] 0 DirectiveProcessor:onHandlingCompeted:messageId=fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7,directiveBeingPreHandled=(nullptr)
2017-11-20 09:47:03.608 [  d] 0 DialogUXStateAggregator:setState:from=LISTENING,to=THINKING
2017-11-20 09:47:03.608 [  a] 0 CapabilityAgent:removingMessageIdFromMap:messageId=fb1647ec-d1ab-41d1-8d15-a59c1ff0f1a7
###########################
Thinking...
###########################
2017-11-20 09:47:03.616 [  b] I InProcessAttachmentReader:readFailed:reason=SDS is closed
2017-11-20 09:47:04.099 [  b] 0 HTTP2Stream:receivedRequestId:value=x-amzn-requestid: 1271b1fffe9ff1ca-00006e19-00088b08-2913e378f27063ff-1d5821a3-33
2017-11-20 09:47:04.329 [  e] I DirectiveSequencer:onDirective:directive={"namespace:"SpeechSynthesizer",name:"Speak",messageId:"4a40fa53-1746-4aae-bb4a-86cbdd747d11",dialogRequestId:"ee4d278c-f8eb-4d4e-9281-db28bba2859f"}
2017-11-20 09:47:04.330 [  f] I DirectiveRouter:preHandleDirective:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11,action=calling
2017-11-20 09:47:04.330 [  f] 0 CapabilityAgent:addingMessageIdToMap:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:04.330 [  f] 9 SpeechSynthesizer:preHandleDirective:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:04.331 [  9] 0 SpeechSynthesizer:executePreHandle:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:04.331 [ 10] I DirectiveRouter:handleDirective:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11,action=calling
2017-11-20 09:47:04.331 [ 10] 9 SpeechSynthesizer:handleDirective:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:04.334 [  9] 0 SpeechSynthesizer:executeHandle:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:04.334 [  9] 1 FocusManager:acquireChannel:channelName=Dialog,activityId=SpeechSynthesizer.Speak
2017-11-20 09:47:04.335 [ 11] 0 SpeechSynthesizer:onFocusChanged:newFocus=FOREGROUND
2017-11-20 09:47:04.335 [  a] 0 AudioInputProcessor:executeOnFocusChanged:newFocus=NONE
2017-11-20 09:47:04.335 [  9] 0 SpeechSynthesizer:executeStateChange:newState=PLAYING
2017-11-20 09:47:04.335 [  a] 0 AudioInputProcessor:executeOnFocusChanged:reason=Lost focus
2017-11-20 09:47:04.335 [  9] 9 SpeechSynthesizer:startPlaying
2017-11-20 09:47:04.335 [  a] 0 AudioInputProcessor:setState:from=BUSY,to=IDLE
2017-11-20 09:47:04.335 [  9] 9 MediaPlayer:setSourceCalled:sourceType=AttachmentReader
2017-11-20 09:47:04.336 [  2] 0 MediaPlayer:handleSetSourceCalled
2017-11-20 09:47:04.336 [  2] 9 MediaPlayer:tearDownTransientPipelineElements
2017-11-20 09:47:04.336 [  d] 0 DialogUXStateAggregator:setState:from=THINKING,to=IDLE
########################################
Alexa is currently idle!
########################################
2017-11-20 09:47:04.349 [  9] 9 MediaPlayer:playCalled
2017-11-20 09:47:04.349 [  2] 0 MediaPlayer:handlePlayCalled:idPassed=8,currentId=8
2017-11-20 09:47:04.350 [  2] 0 MediaPlayer:handlePlay:attemptBuffering=0
xcb_connection_has_error() returned true
2017-11-20 09:47:04.387 [  2] 0 MediaPlayer:handlePlay:startingState=PLAYING,stateReturn=ASYNC
2017-11-20 09:47:04.388 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.388 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.389 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.389 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.390 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.390 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.390 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.391 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.391 [  2] 9 MediaPlayer:State Change:oldState=NULL,newState=READY,pendingState=PLAYING
2017-11-20 09:47:04.391 [ 19] 9 BaseStreamSource:onNeedDataCalled:size=4096
2017-11-20 09:47:04.391 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.392 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.392 [  2] 9 MediaPlayer:messageReceived:messageType=stream-status
2017-11-20 09:47:04.392 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.393 [  2] 9 MediaPlayer:messageReceived:messageType=stream-status
2017-11-20 09:47:04.393 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.393 [  2] 9 MediaPlayer:messageReceived:messageType=stream-status
2017-11-20 09:47:04.394 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.394 [  2] 9 MediaPlayer:messageReceived:messageType=stream-status
2017-11-20 09:47:04.394 [  2] 9 BaseStreamSource:handleNeedDataCalled
2017-11-20 09:47:04.394 [  2] 9 BaseStreamSource:installOnReadDataHandler:action=newSourceId,sourceId=84
2017-11-20 09:47:04.395 [  2] 9 AttachmentReaderSource:read:size=4096,status=0
2017-11-20 09:47:04.395 [  2] 9 AttachmentReaderSource:read:size=4096,status=0
2017-11-20 09:47:04.395 [  2] 9 AttachmentReaderSource:read:size=4096,status=0
2017-11-20 09:47:04.396 [  2] 9 AttachmentReaderSource:read:size=3437,status=0
2017-11-20 09:47:04.424 [ 19] 9 MediaPlayer:onPadAddedCalled
2017-11-20 09:47:04.631 [  2] 9 AttachmentReaderSource:read:size=4096,status=0
2017-11-20 09:47:04.631 [  b] 0 AudioInputProcessor:onSendCompleted:status=SUCCESS
2017-11-20 09:47:04.632 [  b] 0 HTTP2Transport:cleanupFinishedStream:streamId=33,result=200
2017-11-20 09:47:04.632 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.632 [  b] 0 HTTP2StreamPool:releaseStream:streamId=33,numAcquiredStreams=1
2017-11-20 09:47:04.632 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.632 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.632 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.633 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.633 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.633 [  2] 9 AttachmentReaderSource:read:size=4096,status=0
2017-11-20 09:47:04.633 [  2] 9 MediaPlayer:handlePadAddedSignalCalled
2017-11-20 09:47:04.653 [  2] 9 AttachmentReaderSource:read:size=4096,status=0
2017-11-20 09:47:04.653 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.654 [  2] 9 MediaPlayer:messageReceived:messageType=stream-start
2017-11-20 09:47:04.654 [  2] 9 AttachmentReaderSource:read:size=976,status=0
2017-11-20 09:47:04.655 [  2] I InProcessAttachmentReader:readFailed:reason=SDS is closed
2017-11-20 09:47:04.655 [  2] 9 AttachmentReaderSource:read:size=0,status=3
2017-11-20 09:47:04.655 [  2] 9 BaseStreamSource:signalEndOfDataCalled
2017-11-20 09:47:04.656 [  2] 9 BaseStreamSource:clearOnReadDataHandlerCalled:sourceId=84
2017-11-20 09:47:04.675 [  2] 9 MediaPlayer:messageReceived:messageType=latency
2017-11-20 09:47:04.677 [  2] 9 MediaPlayer:messageReceived:messageType=tag
2017-11-20 09:47:04.677 [  2] 0 MediaPlayer:callingOnTags
2017-11-20 09:47:04.678 [  2] 9 MediaPlayer:messageReceived:messageType=tag
2017-11-20 09:47:04.679 [  2] 0 MediaPlayer:callingOnTags
2017-11-20 09:47:04.680 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.680 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.680 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.681 [  2] 9 MediaPlayer:State Change:oldState=READY,newState=PAUSED,pendingState=PLAYING
2017-11-20 09:47:04.681 [  2] 9 MediaPlayer:messageReceived:messageType=async-done
2017-11-20 09:47:04.681 [  2] 9 MediaPlayer:messageReceived:messageType=new-clock
2017-11-20 09:47:04.684 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.685 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.690 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.691 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.693 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.695 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.697 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.698 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.699 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.699 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.700 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.700 [  2] 9 MediaPlayer:messageReceived:messageType=state-changed
2017-11-20 09:47:04.700 [  2] 9 MediaPlayer:State Change:oldState=PAUSED,newState=PLAYING,pendingState=VOID_PENDING
2017-11-20 09:47:04.700 [  2] 0 MediaPlayer:callingOnPlaybackStarted:currentId=8
2017-11-20 09:47:04.701 [  2] 9 SpeechSynthesizer:onPlaybackStarted:callbackSourceId=8
2017-11-20 09:47:04.701 [  9] 0 SpeechSynthesizer:executePlaybackStarted
2017-11-20 09:47:04.701 [  9] 0 SpeechSynthesizer:executeProvideState:stateRequestToken=0
2017-11-20 09:47:04.701 [  9] 9 MediaPlayer:getOffsetCalled
2017-11-20 09:47:04.703 [  2] 0 MediaPlayer:handleGetOffsetCalled:idPassed=8,currentId=8
2017-11-20 09:47:04.704 [  9] 0 ContextManager:updateStateLocked:action=updatedState,state={"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":14,"playerActivity":"PLAYING"},namespace=SpeechSynthesizer,name=SpeechState
2017-11-20 09:47:04.704 [ 11] 9 SpeechSynthesizer:onFocusChangedSuccess
2017-11-20 09:47:04.704 [  9] 0 EventBuilder:buildJsonEventString:messageId=714c7854-6b45-4503-a69b-fe73b63faa14,namespace=SpeechSynthesizer,name=SpeechStarted
2017-11-20 09:47:04.705 [  9] 9 HTTP2Transport:enqueueRequest
2017-11-20 09:47:04.705 [  d] 0 DialogUXStateAggregator:setState:from=IDLE,to=SPEAKING
###########################
Speaking...
###########################
2017-11-20 09:47:04.726 [  2] 9 MediaPlayer:messageReceived:messageType=tag
2017-11-20 09:47:04.726 [  2] 0 MediaPlayer:callingOnTags
2017-11-20 09:47:04.733 [  b] 0 HTTP2Transport:processNextOutgoingMessage
2017-11-20 09:47:04.733 [  b] 0 HTTP2StreamPool:getStream:streamId=35,numAcquiredStreams=2
2017-11-20 09:47:04.733 [  b] 9 HTTP2Transport:insertActiveStream:handle=0xb4dec168
2017-11-20 09:47:05.036 [  b] 0 HTTP2Stream:receivedRequestId:value=x-amzn-requestid: 1271b1fffe9ff1ca-00006e19-00088b08-2913e378f27063ff-1d5821a3-35
2017-11-20 09:47:05.036 [  b] 0 HTTP2Transport:cleanupFinishedStream:streamId=35,result=204
2017-11-20 09:47:05.037 [  b] 0 HTTP2StreamPool:releaseStream:streamId=35,numAcquiredStreams=1
2017-11-20 09:47:05.037 [  b] 0 CurlEasyHandleWrapper:reset:responseCode=HTTP_RESPONSE_SUCCESS_NO_CONTENT
2017-11-20 09:47:05.834 [  a] 0 AudioInputProcessor:setState:from=IDLE,to=RECOGNIZING
2017-11-20 09:47:05.834 [  6] 9 SpeakerManager:provideStateCalled
2017-11-20 09:47:05.834 [  d] 0 DialogUXStateAggregator:setState:from=SPEAKING,to=LISTENING
2017-11-20 09:47:05.834 [  6] 9 SpeechSynthesizer:provideState:token=10
############################
Listening...
############################
2017-11-20 09:47:05.834 [  7] 9 SpeakerManager:executeProvideStateCalled
2017-11-20 09:47:05.835 [  9] 0 SpeechSynthesizer:executeProvideState:stateRequestToken=10
2017-11-20 09:47:05.835 [  7] 9 MediaPlayer:getSpeakerSettingsCalled
2017-11-20 09:47:05.839 [  9] 9 MediaPlayer:getOffsetCalled
2017-11-20 09:47:05.841 [  2] 0 MediaPlayer:handleGetOffsetCalled:idPassed=8,currentId=8
2017-11-20 09:47:05.843 [  9] 0 ContextManager:updateStateLocked:action=updatedState,state={"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":1195,"playerActivity":"PLAYING"},namespace=SpeechSynthesizer,name=SpeechState
2017-11-20 09:47:05.843 [  2] 9 MediaPlayer:handleGetSpeakerSettingsCalled
2017-11-20 09:47:05.844 [  7] 9 MediaPlayer:getSpeakerSettingsCalled
2017-11-20 09:47:05.844 [  2] 9 MediaPlayer:handleGetSpeakerSettingsCalled
2017-11-20 09:47:05.845 [  7] 9 SpeakerManager:validateSpeakerSettingsConsistencyResult:consistent=true
2017-11-20 09:47:05.845 [  7] 9 SpeakerManager:validateSpeakerSettings:volume=100,mute=false
2017-11-20 09:47:05.845 [  7] 0 ContextManager:updateStateLocked:action=updatedState,state={"volume":100,"muted":false},namespace=Speaker,name=VolumeState
2017-11-20 09:47:05.847 [  6] 0 ContextManager:buildContextSuccessful:context={"context":[{"header":{"namespace":"Speaker","name":"VolumeState"},"payload":{"volume":100,"muted":false}},{"header":{"namespace":"AudioPlayer","name":"PlaybackState"},"payload":{"token":"","offsetInMilliseconds":0,"playerActivity":"IDLE"}},{"header":{"namespace":"SpeechSynthesizer","name":"SpeechState"},"payload":{"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":1195,"playerActivity":"PLAYING"}},{"header":{"namespace":"Alerts","name":"AlertsState"},"payload":{"allAlerts":[],"activeAlerts":[]}},{"header":{"namespace":"SpeechRecognizer","name":"RecognizerState"},"payload":{"wakeword":"alexa"}}]}
2017-11-20 09:47:05.847 [  a] 0 AudioInputProcessor:executeOnContextAvailable:jsonContext={"context":[{"header":{"namespace":"Speaker","name":"VolumeState"},"payload":{"volume":100,"muted":false}},{"header":{"namespace":"AudioPlayer","name":"PlaybackState"},"payload":{"token":"","offsetInMilliseconds":0,"playerActivity":"IDLE"}},{"header":{"namespace":"SpeechSynthesizer","name":"SpeechState"},"payload":{"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":1195,"playerActivity":"PLAYING"}},{"header":{"namespace":"Alerts","name":"AlertsState"},"payload":{"allAlerts":[],"activeAlerts":[]}},{"header":{"namespace":"SpeechRecognizer","name":"RecognizerState"},"payload":{"wakeword":"alexa"}}]}
2017-11-20 09:47:05.848 [  a] 1 FocusManager:acquireChannel:channelName=Dialog,activityId=SpeechRecognizer.Recognize
2017-11-20 09:47:05.848 [ 11] 0 SpeechSynthesizer:onFocusChanged:newFocus=NONE
2017-11-20 09:47:05.848 [  a] I DirectiveProcessor:setDialogRequestIdLocked:oldValue=ee4d278c-f8eb-4d4e-9281-db28bba2859f,newValue=29a8eb1c-6c12-4d27-9987-7545f0900062
2017-11-20 09:47:05.848 [  a] 0 DirectiveProcessor:scrubDialogRequestIdLocked:dialogRequestId=ee4d278c-f8eb-4d4e-9281-db28bba2859f
2017-11-20 09:47:05.848 [  9] 0 SpeechSynthesizer:executeStateChange:newState=FINISHED
2017-11-20 09:47:05.849 [  9] 9 SpeechSynthesizer:stopPlaying
2017-11-20 09:47:05.849 [  9] 9 MediaPlayer:stopCalled
2017-11-20 09:47:05.849 [ 10] I DirectiveRouter:cancelDirective:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11,action=calling
2017-11-20 09:47:05.849 [  2] 0 MediaPlayer:handleStopCalled:idPassed=8,currentId=8
2017-11-20 09:47:05.850 [ 10] 9 SpeechSynthesizer:cancelDirective:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:05.849 [  a] 0 EventBuilder:buildJsonEventString:messageId=5c364b72-bd11-4662-ad1e-efd63e71fee2,namespace=SpeechRecognizer,name=Recognize
2017-11-20 09:47:05.875 [  2] 0 MediaPlayer:callingOnPlaybackStopped:currentId=8
2017-11-20 09:47:05.875 [  9] 0 SpeechSynthesizer:executeCancel:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:05.875 [  2] 9 SpeechSynthesizer:onPlaybackStopped:callbackSourceId=8
2017-11-20 09:47:05.876 [  2] 9 SpeechSynthesizer:onPlaybackFinished:callbackSourceId=8
2017-11-20 09:47:05.876 [  2] 9 MediaPlayer:tearDownTransientPipelineElements
2017-11-20 09:47:05.876 [  9] 0 SpeechSynthesizer:executePlaybackFinished
2017-11-20 09:47:05.877 [  9] 0 SpeechSynthesizer:executeProvideState:stateRequestToken=0
2017-11-20 09:47:05.877 [  9] 0 ContextManager:updateStateLocked:action=updatedState,state={"token":"amzn1.as-ct.v1.Domain:Application:Music#ACRI#DeviceTTSRendererV4_82c94a86-7b72-42d4-b007-5e0269401607","offsetInMilliseconds":0,"playerActivity":"FINISHED"},namespace=SpeechSynthesizer,name=SpeechState
2017-11-20 09:47:05.877 [  9] 9 SpeechSynthesizer:releaseForegroundFocus
2017-11-20 09:47:05.876 [  2] 9 BaseStreamSource:~BaseStreamSource
2017-11-20 09:47:05.877 [ 11] 9 SpeechSynthesizer:onFocusChangedSuccess
2017-11-20 09:47:05.878 [  9] 1 FocusManager:releaseChannel:channelName=Dialog
2017-11-20 09:47:05.878 [  9] 9 SpeechSynthesizer:setHandlingCompleted
2017-11-20 09:47:05.878 [ 11] E FocusManager:releaseChannelHelperFailed:reason=observerDoesNotOwnChannel,channel=Dialog
2017-11-20 09:47:05.878 [  a] 0 AudioInputProcessor:executeOnFocusChanged:newFocus=FOREGROUND
2017-11-20 09:47:05.878 [  9] 0 DirectiveProcessor:onHandlingCompeted:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11,directiveBeingPreHandled=(nullptr)
2017-11-20 09:47:05.878 [  a] 9 HTTP2Transport:enqueueRequest
2017-11-20 09:47:05.879 [  9] 0 CapabilityAgent:removingMessageIdFromMap:messageId=4a40fa53-1746-4aae-bb4a-86cbdd747d11
2017-11-20 09:47:05.940 [  b] 0 HTTP2Transport:processNextOutgoingMessage
2017-11-20 09:47:05.940 [  b] 0 HTTP2StreamPool:getStream:streamId=37,numAcquiredStreams=2
2017-11-20 09:47:05.941 [  b] 9 HTTP2Transport:insertActiveStream:handle=0xb4dec168
.....
.....
Tell us about your environment:
arm linux
Tell us what hardware you're using:
ARM Cotext A9, core x 4
Tell us about your OS (Type & version):
root@s500:~/BUILD# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 8.9 (jessie)
Release:	8.9
Codename:	jessie

Hi!
Could you please answer serveral questions:

What was the iHeart station that you were trying to listen to?
Could this be reproduced with other stations as well?
Is it always reproducible?
Is this issue appear right from the start or some other activity required prior to that?

Hi mavamazon,
What was the iHeart station that you were trying to listen to?
FOX Sport 1360
Could this be reproduced with other stations as well?
We are not sure but we will try it
Is it always reproducible?
Yes
Is this issue appear right from the start or some other activity required prior to that?
Yes, this issue  appear right from the start.

Thank you for your information. We are going to investigate it and will keep you informed.

Hey!
Can you tell what wakeword engine do you use?
Andrey.

Hi Andrey,
Sensory
aki

Aki,
This problem occurs due to the lack of echo cancellation. At some point, when Alexa says " getting the last iHeartRadio station..." the part "the last i" is recognized as a wakeword "Alexa" and SDK tries to listen for a new command. You may try it with a head set to see that it won't enter the listening state anymore. Also you should add echo cancellation to your audio processing chain if possible.
Andrey.

Hi mavamazon,
You are right.
We can perform "play iHeartRadio" command successfully if we volume down our speaker.
aki


Timer Extension

Hi, @ridsuteri I am a contributor @ GSSOC'22, and I wud like to add a timer extension to your project.

I want to work on this issue under gssoc'22

ok @Me-keer go ahead :)

@Sanghu01 issues will be assigned on fcfs basis, if @Me-keer fails to submit a PR, you will be assigned with this issue :)

@Me-keer any updates on this issue?

@Me-keer you want to work on this?

I will not be able to complete in the given deadline sir.
On Sun, Mar 13, 2022, 8:21 PM Riddhi Suteri @.***>
wrote:

@Me-keer https://github.com/Me-keer you want to work on this?
—
Reply to this email directly, view it on GitHub
https://github.com/ridsuteri/Awesome-Chrome-Extensions/issues/43#issuecomment-1066118181,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXJF5XZZJNUTWM6KP26R3VTU7X6IDANCNFSM5PUZNMPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@Me-keer do you want to take some more time then?

I want to work on this issue. Can I work on this issue?


Caps Lock doesn't work when elements running

Caps Lock doesn't work when elements running and the system may lazy when I use Caps Lock

the same with me. Using MacBook Pro mid 2015 with wired Apple keyboard. When I start "Keyboard preview" in System Preferences I see that the system sees the keybord and react for pressing Caps Lock key.

This appears to be a duplicate of https://github.com/tekezo/Karabiner-Elements/issues/467

right. sorry!
Pozdrawiam / Best regards,
Piotr Rutkowski
Wiadomość napisana przez alvin-a-garcia<EMAIL_ADDRESS>w dniu 12.12.2016, o godz. 15:11:
This appears to be a duplicate of #467 https://github.com/tekezo/Karabiner-Elements/issues/467
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/tekezo/Karabiner-Elements/issues/485#issuecomment-266440267, or mute the thread https://github.com/notifications/unsubscribe-auth/AXY4fwFQP-9MxfgecTRCXC7XzkvS1alCks5rHVYugaJpZM4LKfxc.


ryuk does not work with rootless docker, due to hardcoded path in ResourceReaper.java

I am trying to run testcontainers with rootless docker in Linux. The only problem now is that ryuk is not working, due to hardcoded path to the unix domain socket in ResourceReaper.java . The value from DOCKER_HOST environment variable should be used, if possible.
For example, in my case DOCKER_HOST=unix:///var/run/user/1000/docker.sock
By changing the line from
binds.add(new Bind("/var/run/docker.sock", new Volume("/var/run/docker.sock")));
to
binds.add(new Bind("/var/run/user/1000/docker.sock", new Volume("/var/run/docker.sock")));
in ResourceReaper.java, then ryuk is working correctly.
This issue was already raised in closed issue #862 , which had a pull request but was not merged.
If this is difficult to fix in general, how about just adding the possibility to override the harcoded value by using a property / environment variable ?

@kmehltretter thanks for raising the issue! I did a (successful) experiment with rootless Docker and came across the same issue.
I added it to #2943 👍

Any news on this one?
It would be nice to have it fixed :)

Rootless Docker is supported started with Testcontainers 1.15.0 :)


[SPARK-17648][CORE] TaskScheduler really needs offers to be an IndexedSeq

What changes were proposed in this pull request?
The Seq[WorkerOffer] is accessed by index, so it really should be an
IndexedSeq, otherwise an O(n) operation becomes O(n^2).  In practice
this hasn't been an issue b/c where these offers are generated, the call
to .toSeq just happens to create an IndexedSeq anyway.  But its better
I got bitten by this in performance tests I was doing, and its better
for the types to be more precise so eg. a change in Scala doesn't destroy
performance.
How was this patch tested?
Unit tests via jenkins.

Test build #65839 has started for PR 15221 at commit d6957e2.

Test build #65839 has finished for PR 15221 at commit d6957e2.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65839/
Test FAILed.

Test build #65940 has started for PR 15221 at commit f2f1252.

Test build #65940 has finished for PR 15221 at commit f2f1252.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65940/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins, retest this please

Test build #65976 has started for PR 15221 at commit f2f1252.

Test build #65976 has finished for PR 15221 at commit f2f1252.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65976/
Test PASSed.

I'm glad Jenkins finally got it together. LGTM.

This looks reasonable. Merging into master. I will leave it out from branch-2.0 just in case.


Accessing to the account on the "cloudron" realm: Invalid parameter: redirect_uri

It is not possible to access to our account when logged in to a user on cloudron realm.
On master it works: https://keycloak.my-cloudron.org/realms/master/account/
But not on cloudron: https://keycloak.my-cloudron.org/realms/cloudron/account/
Error message: Invalid parameter: redirect_uri
Same problem when using impersonation. Go to:
https://keycloak.my-cloudron.org/admin/master/console/#/realms/cloudron/users
Choose a user and clic the "Impersonate" button.
You arrive on https://keycloak.my-cloudron.org/realms/cloudron/protocol/openid-connect/auth?client_id=account-console&redirect_uri=https%3A%2F%2Fkeycloak.my-cloudron.org%2Frealms%2Fcloudron ....
And the same  Invalid parameter: redirect_uri appears (but impersonation works).
This problem is not related to a client. Clients works and don't have any redirection problem.
PS: in our case, the cloudron realm has been renamed to another name, but I doubt this could have an impact.

I tried to reproduce the issue but I couldn't. Could you share some kind of screenshot / screen recording showing the problem? Also, the issue might have been fixed in Keycloak 17.0.1 because I only tested on the latest installation.
Thanks!

Thanks for your answer. The problem came from renaming the realm. When I rename it to the original name cloudron it works well!


Unsubscribe a certain subscription

At default, SubsManager caches all subscriptions in _cacheList and _cacheMap. It seems that there're only three ways to unsubscribe them:

When the cache is overflown
When subscriptions are expired
When clear() is called

However, I think sometimes it might be convenience if one can selectively unsubscribe a certain subscription. Here are some relative issues:

Are you able to call subs.subscribe("mySub").stop() ?
SubsManager does not return object with the same API as Meteor.subscribe? (missing stop method)
Is there an easy way to expireAll() or stopAll() and resubscribeAll()?

I've made several modifications:

When subscribe is called, it returns a key, which is essentially a JSON string of the subscription arguments. The key can be used to refer to the specified subscription.
A method named unsubscribe is added. This method accept a subscription key, and stop it selectively.

Hope this can help.

@arunoda any thoughts on this?

@arunoda bump?


LEGO: Pull request from lego/hb_919_20170615134502860 to master

LEGO: Pull request from lego/hb_919_20170615134502860 to master with localized lcls

@csigs,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot


[FEATURE]

Just a quick proposal, before I would start refactoring, need a buy-in from the owner.
As you are slowly adding features from Hunter, expanding beyond just Vampire, could we make the prefixes, names etc. (VTM5E, vtm5e) refactored to a more generic (WOD5E, wod5e)?

Yes and no haha. Because of how foundry IDs systems, the path and system name/ID needs to stay vtm5e. Everything else can use a generic wod5e.

so css classes, prefix for lang.json contents etc. can be modified. I will fork it and make changes, hopefully not breaking anything ;)


Review Download PDF error state

Show an error message when PDF download fails on Review page.

Fixes one of: eregs/notice-and-comment#288

:+1:


TypeError: stream.on is not a function

ref: https://github.com/sindresorhus/gulp-imagemin/issues/167

rolled back to imagemin-pngquant 4.2.2 and the issue disappears.

https://github.com/sindresorhus/gulp-imagemin/issues/167#issuecomment-216426269


High Water Mark and podConnection eviction

When the failed message array for a podConnection gets to a certain (configurable) size, that pod should be removed from the ring.
Pods should also be able to disconnect themselves.

Done!


Fix: CodeLens double-click & File Attachment

Fixes file attachment in CodeLens instructions & prevents CodeLens to be sent multiple times by exposing isStreaming from refact-chat-js
To test out, use wip/codelens-timeouts branch of refact-chat-js
Relies on #155

Import error will disappear in pipelines after publishment of newer version of refact-chat-js


Require netavark network backend for podman

What does this PR change?
We have two options for podman network backend on SLEM5.5 - legacy CNI and Netavark. CNI is on a way out and to prevent further confusion we opted to go with Netavark. Netavark will also be only upstream supported option for podman 5.
Test coverage

No tests: already covered

[X] DONE

Links
Issue(s): https://github.com/SUSE/spacewalk/issues/24302

[X] DONE

Changelogs
Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository
If you don't need a changelog check, please mark this checkbox:

[ ] No changelog needed

If you uncheck the checkbox after the PR is created, you will need to re-run changelog_test (see below)
Before you merge
Check How to branch and merge properly!

Only merge once https://github.com/containers/aardvark-dns/pull/449 is released.


Key repeat rate is slow

Is there a way to edit the XVim key repeat rate? I notice the XVim repeat rate is lower than the system wide setting ( that is set via defaults write NSGlobalDomain KeyRepeat -int 0 in terminal ) .

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5971013-key-repeat-rate-is-slow?utm_campaign=plugin&utm_content=tracker%2F252770&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F252770&utm_medium=issues&utm_source=github).

+1 -- going to put bounty on it this drives me nuts


Show full path to files with errors

Right now paths to files with errors are relative, which makes them non-clickable in IntelliJ/AndroidStudio:

For comparison, Detekt shows full paths to files with violations, which makes them clickable in IDE build/terminal windows:

This is very convenient, especially since IDE will immediately navigate to proper line as well.
Is there an option right now to enable such behavior for ktlint? I'm using Kotlinter, but I believe it doesn't provide output itself. I'd also like to avoid writing custom reporter for that (is it even possible to change the stdout reporter?)

This seems to be fixed in latest master

Checked it and the problem is in Kotlinter plugin. Running ktlint via custom JavaExec task or ktlint-gradle plugin outputs full path to failed file.
Please open the issue in Kotlinter issue tracker.


Edit Character levels and exp recommendation

I would like to see the ability to edit the levels of my characters in the game. Just a suggestion because the levels is one of the most important features in the game.

It's planned, I need some times to add them


Recurrent Neural Network update on sequence of length 1

The Recurrent class of 'rnn' does not allow training updates on sequences of length 1. Minimal example:
  require 'rnn'

  x = torch.rand(200)
  target = torch.rand(1)

  rho = 5
  hiddenSize = 100
  -- RNN
  r = nn.Recurrent(
     hiddenSize, nn.Linear(200,hiddenSize),
     nn.Linear(hiddenSize, hiddenSize), nn.Sigmoid(),
     rho
  )

  seq = nn.Sequential()
  seq:add(r)
  seq:add(nn.Linear(hiddenSize, 1))

  criterion = nn.MSECriterion()

  output = seq:forward(x)
  err = criterion:forward(output,target)
  gradOutput = criterion:backward(output,target)
  seq:backward(x,gradOutput)

  seq:updateParameters(0.01)

As far as I understand this should not be an issue, yet when ran this gives something like:
  /Users/hroosterhuis/torch/install/bin/luajit: /Users/hroosterhuis/torch/install/share/lua/5.1/nn/Add.lua:62: bad argument #1 to 'size' (dimension 1 out of range of 0D tensor at /Users/hroosterhuis/torch/pkg/torch/generic/Tensor.c:17)
  stack traceback:
  [C]: in function 'size'
  /Users/hroosterhuis/torch/install/share/lua/5.1/nn/Add.lua:62: in function 'accGradParameters'
  ...s/hroosterhuis/torch/install/share/lua/5.1/nn/Module.lua:53: in function 'accUpdateGradParameters'
  ...oosterhuis/torch/install/share/lua/5.1/rnn/Recurrent.lua:247: in function 'accUpdateGradParametersThroughTime'
  ...is/torch/install/share/lua/5.1/rnn/AbstractRecurrent.lua:73: in function 'backwardUpdateThroughTime'
  ...is/torch/install/share/lua/5.1/rnn/AbstractRecurrent.lua:83: in function 'updateParameters'
  ...roosterhuis/torch/install/share/lua/5.1/nn/Container.lua:31: in function 'updateParameters'
  testRNN.lua:26: in main chunk
  [C]: in function 'dofile'
  ...huis/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:131: in main chunk
  [C]: at 0x0103773780

Ok. Should be fixed now. git pull and luarocks make. Let me know.

I just checked and it seems to work fine now.
Thanks a lot!


⚠ Bofrost.lu has degraded performance

In 4a0af2c, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1082 ms

Resolved: Bofrost.lu performance has improved in 4e18e4c after 7 minutes.


Optimizer always trying the same points

Steps to reproduce

Set up an optimizer with a parametrization
Run optimizer.minimize()
Print values being tested

Observed Results

What happened?  This could be a description, log output, etc.
The argument of the objective function are always the same

Expected Results

What did you expect to happen?
The optimizer tries new values

Relevant Code
from concurrent import futures

import nevergrad as ng
import numpy as np

class myobj:
  def __init__(self):
      self.params = ng.p.Dict(
          kernel=ng.p.Log(lower=3, upper=2000).set_integer_casting()
      )

  def get_optimizer(self, parametrization, dictA):
      optimizer = ng.optimizers.NGO(
          parametrization=parametrization,
          budget=dictA["budget"],
          num_workers=dictA["workers"],
      )
      return optimizer

  def fn(self, params, dictA, X, Y):
      print(params)
      kvalue = params['kernel']
      print(kvalue)
      return kvalue * np.mean((Y - X)**2)

  def optimize_params(self, dictA, X, Y):
      # breakpoint()
      parametrization = ng.p.Instrumentation(
          self.params, dictA=dictA, X=X, Y=Y
      )
      optimizer = self.get_optimizer(parametrization, dictA)
      with futures.ThreadPoolExecutor(
          max_workers=optimizer.num_workers
      ) as executor:
          r = optimizer.minimize(
              self.fn, executor=executor, batch_mode=False
          )
      return r

obj = myobj()
dictA = {'budget':5, 'workers':2}
recom = obj.optimize_params(dictA, np.zeros(3), np.ones(3))
print('recommendation: ')
print(*recom.args)

I am sure I am doing something wrong, but I can not detect what. Any helpful hand is welcome.

From what I could see, in this situation NGO chooses DoubleFastGADiscreteOnePlusOne which seemingly does not work in dimension 1 (cc @teytaud). I'll need to add a test for this.
For the time being you need either:

add another variable
use a different optimizer

Well, I am going for the second option: "use a different optimizer". However, which optimizers are suited for the parallel univariate optimization problem? I run all of them and got this:
Working optimizers
[{'DE': ({'kernel': 39},)},
{'TwoPointsDE': ({'kernel': 6},)},
{'LhsDE': ({'kernel': 24},)},
{'QrDE': ({'kernel': 8},)},
{'NoisyDE': ({'kernel': 18},)},
{'AlmostRotationInvariantDE': ({'kernel': 26},)},
{'RotationInvariantDE': ({'kernel': 15},)},
{'RecES': ({'kernel': 28},)},
{'RecMixES': ({'kernel': 6},)},
{'RecMutDE': ({'kernel': 4},)},
{'ES': ({'kernel': 5},)},
{'MixES': ({'kernel': 4},)},
{'MutDE': ({'kernel': 8},)},
{'RandomSearch': ({'kernel': 37},)},
{'QORandomSearch': ({'kernel': 24},)},
{'ORandomSearch': ({'kernel': 42},)},
{'RandomSearchPlusMiddlePoint': ({'kernel': 32},)},
{'MetaRecentering': ({'kernel': 6},)},
{'MetaTuneRecentering': ({'kernel': 6},)},
{'HAvgMetaRecentering': ({'kernel': 6},)},
{'AvgMetaRecenteringNoHull': ({'kernel': 6},)},
{'HaltonSearch': ({'kernel': 7},)},
{'HaltonSearchPlusMiddlePoint': ({'kernel': 7},)},
{'LargeHaltonSearch': ({'kernel': 7},)},
{'ScrHaltonSearch': ({'kernel': 7},)},
{'ScrHaltonSearchPlusMiddlePoint': ({'kernel': 7},)},
{'HammersleySearch': ({'kernel': 6},)},
{'HammersleySearchPlusMiddlePoint': ({'kernel': 7},)},
{'ScrHammersleySearchPlusMiddlePoint': ({'kernel': 7},)},
{'ScrHammersleySearch': ({'kernel': 6},)},
{'QOScrHammersleySearch': ({'kernel': 9},)},
{'OScrHammersleySearch': ({'kernel': 9},)},
{'CauchyScrHammersleySearch': ({'kernel': 6},)},
{'LHSSearch': ({'kernel': 11},)},
{'CauchyLHSSearch': ({'kernel': 4},)},
{'OnePlusOne': ({'kernel': 38},)},
{'NoisyOnePlusOne': ({'kernel': 4},)},
{'DiscreteOnePlusOne': ({'kernel': 18},)},
{'CauchyOnePlusOne': ({'kernel': 3},)},
{'OptimisticNoisyOnePlusOne': ({'kernel': 3},)},
{'OptimisticDiscreteOnePlusOne': ({'kernel': 77},)},
{'NoisyDiscreteOnePlusOne': ({'kernel': 77},)},
{'EDA': ({'kernel': 50},)},
{'PCEDA': ({'kernel': 13},)},
{'MPCEDA': ({'kernel': 4},)},
{'MEDA': ({'kernel': 4},)},
{'TBPSA': ({'kernel': 42},)},
{'NaiveTBPSA': ({'kernel': 97},)},
{'NoisyBandit': ({'kernel': 32},)},
{'PSO': ({'kernel': 8},)},
{'RealSpacePSO': ({'kernel': 6},)},
{'SplitOptimizer': ({'kernel': 44},)},
{'Portfolio': ({'kernel': 6},)},
{'CM': ({'kernel': 32},)},
{'BO': ({'kernel': 3},)},
{'cGA': ({'kernel': 105},)},
{'NaiveIsoEMNA': ({'kernel': 27},)}]
Optimizers that do not work
[{'NelderMead': '_ScipyMinimizeBase does not support parallelization'},
{'Powell': '_ScipyMinimizeBase does not support parallelization'},
{'RPowell': '_ScipyMinimizeBase does not support parallelization'},
{'Cobyla': '_ScipyMinimizeBase does not support parallelization'},
{'RCobyla': '_ScipyMinimizeBase does not support parallelization'},
{'SQP': '_ScipyMinimizeBase does not support parallelization'},
{'RSQP': '_ScipyMinimizeBase does not support parallelization'},
{'DoubleFastGADiscreteOnePlusOne': 'Always the same point'},
{'RecombiningPortfolioOptimisticNoisyDiscreteOnePlusOne': 'Always the same '
'point'},
{'CMA': 'optimization in 1-D is not supported (code was never tested)'},
{'DiagonalCMA': 'optimization in 1-D is not supported (code was never '
'tested)'},
{'FCMA': 'Please install fcmaes (pip install fcmaes) to use FCMA optimizers'},
{'SPSA': 'SPSA does not support parallelization'},
{'ParaPortfolio': 'optimization in 1-D is not supported (code was never '
'tested)'},
{'SQPCMA': 'optimization in 1-D is not supported (code was never tested)'},
{'ASCMADEthird': 'optimization in 1-D is not supported (code was never '
'tested)'},
{'ASCMADEQRthird': 'optimization in 1-D is not supported (code was never '
'tested)'},
{'ASCMA2PDEthird': 'optimization in 1-D is not supported (code was never '
'tested)'},
{'CMandAS2': 'optimization in 1-D is not supported (code was never tested)'},
{'CMandAS3': 'optimization in 1-D is not supported (code was never tested)'},
{'CMandAS': 'optimization in 1-D is not supported (code was never tested)'},
{'MultiCMA': 'optimization in 1-D is not supported (code was never tested)'},
{'TripleCMA': 'optimization in 1-D is not supported (code was never tested)'},
{'MultiScaleCMA': 'optimization in 1-D is not supported (code was never '
'tested)'},
{'chainCMAPowell': '_ScipyMinimizeBase does not support parallelization'},
{'NGO': 'Always the same point'},
{'Shiwa': 'Always the same point'}]
Code
from concurrent import futures
from pprint import pprint

import nevergrad as ng
import numpy as np

class myobj:
    def __init__(self, optim):
        self.params = ng.p.Dict(
            kernel=ng.p.Log(lower=3, upper=2000).set_integer_casting()
        )
        self.optim = optim
        self.params_list = []

    def get_optimizer(self, parametrization, dictA):
        optimizer = self.optim(
            parametrization=parametrization,
            budget=dictA["budget"],
            num_workers=dictA["workers"],
        )
        return optimizer

    def fn(self, params, dictA, X, Y):
        # print(params)
        kvalue = params['kernel']
        self.params_list.append(kvalue)
        return kvalue * np.mean((Y - X)**2)

    def optimize_params(self, dictA, X, Y):
        # breakpoint()
        parametrization = ng.p.Instrumentation(
            self.params, dictA=dictA, X=X, Y=Y
        )
        optimizer = self.get_optimizer(parametrization, dictA)
        with futures.ThreadPoolExecutor(
            max_workers=optimizer.num_workers
        ) as executor:
            r = optimizer.minimize(
                self.fn, executor=executor, batch_mode=False
            )
        assert len(set(self.params_list))>1, 'Always the same point'
        return r

dictA = {'budget':5, 'workers':2}
optimizers = list(ng.optimizers.registry.items())
successes, failures = [], []

for name, optim in optimizers:
    try:
        obj = myobj(optim)
        recom = obj.optimize_params(dictA, np.zeros(3), np.ones(3))
        successes.append({name: recom.args})
    except Exception as e:
        failures.append({name: str(e)})

print('## Working optimizers')
pprint(successes)
print('## Optimizers that do not work')
pprint(failures)

Thanks for the info!
#712 will fix this
Not sure what is the best option for your case (@teytaud?)
If you have a budget of 5 and only 1 variable + parallelization 2 I doubt there is much of a difference between all optimizers. I would tend to use NGO (after the fix is merged), OnePlusOne or one of the one shot optimizers (HaltonSearch, LHSSearch etc)

(this got close through the PR, please reopen or create a new issue for further questions)


Update Example

if video stop then replay !
and add AppBar

Thank you for your pull request !
Please wait a little longer as we will review it.

@j-j-gajjar
I'm sorry. In the future, we would like to proceed with development by clearly separating the develop branch and the master branch. Will you make another pull request for the develop branch?


chore(refactor): using es6 class, better async logic to start db connection

Codecov Report

Merging #50 into development will increase coverage by 2.83%.
The diff coverage is 60.04%.

@@              Coverage Diff               @@
##           development     #50      +/-   ##
==============================================
+ Coverage        55.87%   58.7%   +2.83%
==============================================
  Files                2       2
  Lines              519     465      -54
==============================================
- Hits               290     273      -17
+ Misses             229     192      -37

Impacted Files
Coverage Δ

rethink.js
58.62% <60.04%> (+2.82%)
:arrow_up:

Continue to review full report at Codecov.

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


Support new Network resource VirtualRouter and VirtualRouterPeer

Resource Provider
Microsoft.Network
Description of Feature or Work Requested
This feature is to support customer creating new resource called VirtualRouter under Microsoft.Network and peerings child resource under virtualRouter. Customer can choose to reference VirtualNetworkGateway or Subnet where VirtualRouter would be hosted
Following is the work flow by customers using this feature

Create WorkFlow:

Create VirtualRouter inside a virtual network
Create one or more VirtualRouterPeers inside VirtualRouter

Update WorkFlow:

Update one or more VirtualRouterPeers inside VirtualRouter

Delete WorkFlow:

Delete one or more VirtualRouterPeers inside VirtualRouter
Delete VirtualRouter inside a virtual network

Minimum API Version Required
2019-08-01
Swagger Link
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/virtualRouter.json
1. VirtualRouterProperties
"VirtualRouterPropertiesFormat": {
  "properties": {
    "virtualRouterAsn": {
      "type": "integer",
      "readOnly": false,
      "format": "int64",
      "minimum": 1,
      "maximum":<PHONE_NUMBER>,
      "description": "VirtualRouter ASN."
    },
    "virtualRouterIps": {
      "type": "array",
      "readOnly": false,
      "description": "VirtualRouter IPs",
      "items": {
        "type": "string"
      }
    },
    "hostedSubnet": {
      "readOnly": false,
      "$ref": "./network.json#/definitions/SubResource",
      "description": "The Subnet on which VirtualRouter is hosted."
    },
    "hostedGateway": {
      "readOnly": false,
      "$ref": "./network.json#/definitions/SubResource",
      "description": "The Gateway on which VirtualRouter is hosted."
    },
    "peerings": {
      "type": "array",
      "readOnly": true,
      "description": "List of references to VirtualRouterPeerings",
      "items": {
        "$ref": "./network.json#/definitions/SubResource"
      }
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "readOnly": true,
      "$ref": "./network.json#/definitions/ProvisioningState"
    }
  },
  "description": "Virtual Router definition"
}

2. VirtualRouterPeering properties
 "VirtualRouterPeeringProperties": {
  "properties": {
    "peerAsn": {
      "type": "integer",
      "readOnly": false,
      "format": "int64",
      "minimum": 1,
      "maximum":<PHONE_NUMBER>,
      "description": "Peer ASN."
    },
    "peerIp": {
      "type": "string",
      "readOnly": false,
      "description": "Peer IP."
    },
    "provisioningState": {
      "description": "The provisioning state of the resource.",
      "readOnly": true,
      "$ref": "./network.json#/definitions/ProvisioningState"
    }
  },
  "description": "Properties of the rule group."
}

Target Date
We are targeting this feature for Ignite. Please help us with this feature

@naveenchekuri Thanks. We will make a plan for it.

just need hostedGateway(express-route gateway) for virtualrouter. peerIp and peerAsn can be arbitrary values.

https://github.com/Azure/azure-cli/pull/10994 Please check.


More than 10 computed values in one class breaks the babel replacement.

Any number of more than 10 computed values using css or styled don't get their replacements replaced.
(Sorry for yet another issue, just been stress testing Emotion recently 😆 )

emotion version: ^5.1.3
react version: ^15.6.1

Relevant code.
See the demo repo here: https://github.com/hamlim/emotion-breaks-after-ten-computed/blob/master/src/App.js
const app = css`
  background: ${'white'};
  color: ${'black'};
  text-decoration: ${'underline'};
  display: ${'block'};
  border-radius: ${'3px'};
  padding: ${'25px'};
  width: ${'500px'};
  z-index: ${100};
  font-size: ${'18px'};
  text-align: ${'center'};
  border: ${'solid 1px red'};
`;

What happened:
The 11th computed value only shows as xxx10xxx:

Reproduction:
Use css or styled and have 11 computed values of any kind (just template expressions will work like in the sample above)
Problem description:
Seems like Emotion only catches single digits when matching xxx[number]xxx.
Suggested solution:
The plugin should catch more than just single digit replacements.

Sounds like changing possibly changing this line https://github.com/tkh44/emotion/blob/master/src/babel.js#L22 to:
const re = /xxx(\S*)xxx|attr\(([^,\s)]+)(?:\s*([^,)]*)?)(?:,\s*(\S+))?\)/gm

(added an * right after the \S in-between the xxx's
This allows it to match xxx10xxx and up. But I don't have too much experience with regex pattern matching, only tested roughly here: https://regex101.com/r/tPdzC7/1 so this might act in different ways too.

Released in 5.1.4
cc @hamlim

Thanks a ton for fixing this!


Add interpreter for FftOp

Following the testing guidelines

This would involve either creating an expander pass (similar to how we have passes in HLO) or creating a direct implementation in StableHLO.


Can't run step-by-step crosstalk calibration

Hi,
I am using an AFBR-S50MV85G ToF sensor behind a cover glass and I would like to run a calibration in order to mitigate optical crosstalk from this cover glass. I am using CubeIDE for developping the software.
I've integrated both argus_xtalk_cal_cli.h and argus_xtalk_cal_cli.c into my project and I'm invoking  Argus_XtalkCalibration_CLI()  within the  main() . However, I can't compile the project because the function  UART_SetRxCallback()  is not defined.
I've been following Broadcom Programming Guide (version 1.2) to set up the UART Interface (P62) but there is no information provided regarding UART RX handling. I assume I need to establish the UART RX interface in a manner similar to the TX interface, but I'm unsure of the approach.
For now, I'm retrieving user inputs by calling HAL_UART_Receive_DMA(&huart2, &rxdata, 1) in  Get_UARTRxdata() . It seem to work, but I assume this is not the optimal solution and it might be the reason of my problem. Indeed, when I run the step-by-step crosstalk procedure  (by typing 's' in a terminal), I'm receiving weirds characters (just like a wrong baudrate ) :

So here is my question, how can I accomplish the step-by-step calibration successfully ?
Regards

Dear cypamigon,
thanks for your questions and raising this topic. It seems that the programming guide is not yet updated for the usage of the xtalk calibration CLI. However, there is a solution in the current repository because it also contains a working UART Rx interface for the STM project. Just clone or download and import it into your IDE. Then add the xtalk files as described in the app note and run the calibration CLI accordingly. Please let us know if your issue is resolved.

Ok, I've found why the task selection in the CLI were not triggered on character reception. We need to add the call to the function USER_UART_IRQHandler(UART_HandleTypeDef *huart) on USART2_IRQHandler(void) (in 'stm32f4xxx_it.c') otherwise the callback is not triggered on character reception.
So in 'stm32f4xxx_it.c'' add :
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN TD */
extern void USER_UART_IRQHandler(UART_HandleTypeDef *huart);

/* USER CODE END TD */

and add the call in USART2_IRQHandler() :
void USART2_IRQHandler(void)
{
  /* USER CODE BEGIN USART2_IRQn 0 */

  /* USER CODE END USART2_IRQn 0 */
  HAL_UART_IRQHandler(&huart2);
  /* USER CODE BEGIN USART2_IRQn 1 */

  USER_UART_IRQHandler(&huart2);

  /* USER CODE END USART2_IRQn 1 */
}

I'm still having an hardfault when i run the calibration though.


fix: missing call to SIWE onSignOut

Breaking Changes
N/A
Changes

fix: missing call to SIWE onSignOut

The function is already called. Please open an issue if you are facing any problem with SIWE so we can discuss how to fix it. Thanks!

The function is already called. Please open an issue if you are facing any problem with SIWE so we can discuss how to fix it. Thanks!

No it's not you can check the signIn function up too has to manually call it

Could you open an issue describing the problem and adding steps to reproduce it?


Added OpenSSL binary matcher

Thanks for this one as well!
cc @anchore/tools if we're ok with also moving the testing of these classifiers up to test/ so that we don't commit any more binaries and can fetch the artifacts just in time for testing.

moving the testing of these classifiers up to test/ so that we don't commit any more binaries and can fetch the artifacts just in time for testing

So the suggestion is testing the binary classifiers against a test image instead of committing a binary @spiffcs? Just wanted to make sure I understood the suggestion. I agree we should avoid committing binaries and testing against a container with the target binary installed makes a lot of sense to me.
If we wanted to keep unit tests around, we could also have a byte slice literal that contains a little noise plus the bytes the regex will match on. This might also be useful for debugging the regexes and checking them for edge cases.


Upgrading operator deleted cluster

Upgrading the kafka-operator helm chart caused my cluster to get deleted!
I was running version 0.12.2 of the operator, installed by helm chart. I ran helm upgrade --install kafka-operator banzaicloud-stable/kafka-operator --set certManager.enabled=true --namespace kafka-operator, which gave the following output:
manifest_sorter.go:192: info: skipping unknown hook: "crd-install"
 manifest_sorter.go:192: info: skipping unknown hook: "crd-install"
 manifest_sorter.go:192: info: skipping unknown hook: "crd-install"
 Release "kafka-operator" has been upgraded. Happy Helming!
 NAME: kafka-operator
 LAST DEPLOYED: Thu Sep  3 16:02:06 2020
 NAMESPACE: kafka-operator
 STATUS: deployed
 REVISION: 8
 TEST SUITE: None

helm ls -n kafka-operator
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART        APP VERSION
kafka-operator  kafka-operator  8               2020-09-03 16:02:06.494435966 +0000 UTC deployed        kafka-operator-0.2.22   v0.12.3

After which I found my cluster had completely disappeared! No kafka pods, and even the kafkacluster CRD was gone:
kubectl get kafkacluster -n pushdelivery-stage
error: the server doesn't have a resource type "kafkacluster"

Here are the latest logs from the operator before the upgrade (nothing particularly interesting here):
{"level":"info","ts":1599148172.6998022,"logger":"controllers.KafkaTopic","msg":"Reconciling KafkaTopic","kafkatopic":"pushdelivery-stage/push-delivery-results","Request.Name":"push-delivery-results"}
{"level":"info","ts":1599148172.6999924,"logger":"controllers.KafkaTopic","msg":"Retrieving Kafka client for pushdelivery-stage/kafka-pushdelivery-stage","kafkatopic":"pushdelivery-stage/push-delivery-results","Request.Name":"push-delivery-results"}
{"level":"info","ts":1599148172.8118215,"logger":"controllers.KafkaTopic","msg":"Topic already exists, verifying configuration","kafkatopic":"pushdelivery-stage/push-delivery-results","Request.Name":"push-delivery-results"}
{"level":"info","ts":1599148172.8408773,"logger":"controllers.KafkaTopic","msg":"Verified partitions and configuration for topic","kafkatopic":"pushdelivery-stage/push-delivery-results","Request.Name":"push-delivery-results"}
{"level":"info","ts":1599148172.84725,"logger":"webhooks","msg":"AdmissionReview for Kind=kafka.banzaicloud.io/v1alpha1, Kind=KafkaTopic, Namespace=pushdelivery-stage Name=push-delivery-results UID=0e04ed5d-d03f-4a19-9669-630f1bcf6d5e patchOperation=UPDATE UserInfo={system:serviceaccount:kafka-operator:kafka-operator-operator 2b69accc-63be-11ea-a6fa-06bc8cfa3fa2 [system:serviceaccounts system:serviceaccounts:kafka-operator system:authenticated] map[]}"}
{"level":"info","ts":1599148172.8473399,"logger":"webhooks","msg":"Doing pre-admission validation of kafka topic push-delivery-results"}
{"level":"info","ts":1599148172.9368777,"logger":"controllers.KafkaTopic","msg":"Ensured topic","kafkatopic":"pushdelivery-stage/push-delivery-results","Request.Name":"push-delivery-results"}
{"level":"info","ts":1599148172.936941,"logger":"controllers.KafkaTopic","msg":"Kafka client closed cleanly","kafkatopic":"pushdelivery-stage/push-delivery-results","Request.Name":"push-delivery-results"}
{"level":"info","ts":1599148172.9369812,"logger":"controllers.KafkaTopic","msg":"Reconciling KafkaTopic","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148172.93705,"logger":"controllers.KafkaTopic","msg":"Retrieving Kafka client for pushdelivery-stage/kafka-pushdelivery-stage","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148173.0359287,"logger":"controllers.KafkaTopic","msg":"Topic already exists, verifying configuration","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148173.0537887,"logger":"controllers.KafkaTopic","msg":"Verified partitions and configuration for topic","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148173.05574,"logger":"webhooks","msg":"AdmissionReview for Kind=kafka.banzaicloud.io/v1alpha1, Kind=KafkaTopic, Namespace=pushdelivery-stage Name=kafka-pushdelivery-stage-cruise-control-topic UID=98c1fead-c7c9-4422-86f2-e3b24aac16ea patchOperation=UPDATE UserInfo={system:serviceaccount:kafka-operator:kafka-operator-operator 2b69accc-63be-11ea-a6fa-06bc8cfa3fa2 [system:serviceaccounts system:serviceaccounts:kafka-operator system:authenticated] map[]}"}
{"level":"info","ts":1599148173.0558407,"logger":"webhooks","msg":"Doing pre-admission validation of kafka topic __CruiseControlMetrics"}
{"level":"info","ts":1599148173.1402967,"logger":"controllers.KafkaTopic","msg":"Ensured topic","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148173.140351,"logger":"controllers.KafkaTopic","msg":"Kafka client closed cleanly","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148173.1403859,"logger":"controllers.KafkaTopic","msg":"Reconciling KafkaTopic","kafkatopic":"pushdelivery-stage/push-delivery-failures","Request.Name":"push-delivery-failures"}
{"level":"info","ts":1599148173.1404526,"logger":"controllers.KafkaTopic","msg":"Retrieving Kafka client for pushdelivery-stage/kafka-pushdelivery-stage","kafkatopic":"pushdelivery-stage/push-delivery-failures","Request.Name":"push-delivery-failures"}
{"level":"info","ts":1599148173.2386732,"logger":"controllers.KafkaTopic","msg":"Topic already exists, verifying configuration","kafkatopic":"pushdelivery-stage/push-delivery-failures","Request.Name":"push-delivery-failures"}
{"level":"info","ts":1599148173.2584016,"logger":"controllers.KafkaTopic","msg":"Verified partitions and configuration for topic","kafkatopic":"pushdelivery-stage/push-delivery-failures","Request.Name":"push-delivery-failures"}
{"level":"info","ts":1599148173.260417,"logger":"webhooks","msg":"AdmissionReview for Kind=kafka.banzaicloud.io/v1alpha1, Kind=KafkaTopic, Namespace=pushdelivery-stage Name=push-delivery-failures UID=861d8f7a-e735-4b1b-81cc-a0fefe4401b2 patchOperation=UPDATE UserInfo={system:serviceaccount:kafka-operator:kafka-operator-operator 2b69accc-63be-11ea-a6fa-06bc8cfa3fa2 [system:serviceaccounts system:serviceaccounts:kafka-operator system:authenticated] map[]}"}
{"level":"info","ts":1599148173.2605708,"logger":"webhooks","msg":"Doing pre-admission validation of kafka topic push-delivery-failures"}
{"level":"info","ts":1599148173.3355663,"logger":"controllers.KafkaTopic","msg":"Ensured topic","kafkatopic":"pushdelivery-stage/push-delivery-failures","Request.Name":"push-delivery-failures"}
{"level":"info","ts":1599148173.3356223,"logger":"controllers.KafkaTopic","msg":"Kafka client closed cleanly","kafkatopic":"pushdelivery-stage/push-delivery-failures","Request.Name":"push-delivery-failures"}

And here are the logs immediately following the upgrade:
{"level":"info","ts":1599148927.4185057,"logger":"controllers.KafkaTopic","msg":"Reconciling KafkaTopic","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148927.4186797,"logger":"controllers.KafkaTopic","msg":"Retrieving Kafka client for pushdelivery-stage/kafka-pushdelivery-stage","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148927.420733,"logger":"controllers.KafkaCluster","msg":"Reconciling KafkaCluster","Request.Namespace":"pushdelivery-stage/kafka-pushdelivery-stage","Request.Name":"kafka-pushdelivery-stage"}
{"level":"info","ts":1599148927.4207926,"logger":"controllers.KafkaCluster","msg":"KafkaCluster is marked for deletion, checking for children","Request.Namespace":"pushdelivery-stage/kafka-pushdelivery-stage","Request.Name":"kafka-pushdelivery-stage"}
E0903 16:02:07.423850       1 reflector.go:178] pkg/mod/k8s.io/client-go@v0.18.2/tools/cache/reflector.go:125: Failed to list *v1.Namespace: namespaces is forbidden: User "system:serviceaccount:kafka-operator:kafka-operator-operator" cannot list resource "namespaces" in API group "" at the cluster scope
E0903 16:02:07.424939       1 reflector.go:178] pkg/mod/k8s.io/client-go@v0.18.2/tools/cache/reflector.go:125: Failed to list *v1.Namespace: namespaces is forbidden: User "system:serviceaccount:kafka-operator:kafka-operator-operator" cannot list resource "namespaces" in API group "" at the cluster scope
{"level":"info","ts":1599148927.426373,"logger":"controllers.KafkaUser","msg":"Reconciling KafkaUser","kafkauser":"pushdelivery-stage/kafka-admin","Request.Name":"kafka-admin"}
{"level":"info","ts":1599148927.4276004,"logger":"controllers.KafkaUser","msg":"failed to reconcile user secret","kafkauser":"pushdelivery-stage/kafka-admin","Request.Name":"kafka-admin"}
{"level":"error","ts":1599148927.4276366,"logger":"controller-runtime.controller","msg":"Reconciler error","controller":"kafkauser","request":"pushdelivery-stage/kafka-admin","error":"could not update secret with jks: secrets \"kafka-admin\" is forbidden: User \"system:serviceaccount:kafka-operator:kafka-operator-operator\" cannot update resource \"secrets\" in API group \"\" in the namespace \"pushdelivery-stage\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:258\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:90"}
{"level":"info","ts":1599148927.4311106,"logger":"controllers.KafkaUser","msg":"Reconciling KafkaUser","kafkauser":"pushdelivery-stage/kafka-exporter","Request.Name":"kafka-exporter"}
{"level":"info","ts":1599148927.43218,"logger":"controllers.KafkaUser","msg":"failed to reconcile user secret","kafkauser":"pushdelivery-stage/kafka-exporter","Request.Name":"kafka-exporter"}
{"level":"error","ts":1599148927.4322095,"logger":"controller-runtime.controller","msg":"Reconciler error","controller":"kafkauser","request":"pushdelivery-stage/kafka-exporter","error":"could not update secret with jks: secrets \"kafka-exporter\" is forbidden: User \"system:serviceaccount:kafka-operator:kafka-operator-operator\" cannot update resource \"secrets\" in API group \"\" in the namespace \"pushdelivery-stage\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:258\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:90"}
{"level":"info","ts":1599148927.5110118,"logger":"controllers.KafkaTopic","msg":"Kafka topic is marked for deletion","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
E0903 16:02:08.383143       1 leaderelection.go:320] error retrieving resource lock kafka-operator/controller-leader-election-helper: configmaps "controller-leader-election-helper" is forbidden: User "system:serviceaccount:kafka-operator:kafka-operator-operator" cannot get resource "configmaps" in API group "" in the namespace "kafka-operator"
{"level":"info","ts":1599148928.4324532,"logger":"controllers.KafkaUser","msg":"Reconciling KafkaUser","kafkauser":"pushdelivery-stage/kafka-admin","Request.Name":"kafka-admin"}
{"level":"info","ts":1599148928.4338923,"logger":"controllers.KafkaUser","msg":"failed to reconcile user secret","kafkauser":"pushdelivery-stage/kafka-admin","Request.Name":"kafka-admin"}
{"level":"error","ts":1599148928.4339426,"logger":"controller-runtime.controller","msg":"Reconciler error","controller":"kafkauser","request":"pushdelivery-stage/kafka-admin","error":"could not update secret with jks: secrets \"kafka-admin\" is forbidden: User \"system:serviceaccount:kafka-operator:kafka-operator-operator\" cannot update resource \"secrets\" in API group \"\" in the namespace \"pushdelivery-stage\"","stacktrace":"github.com/go-logr/zapr.(*zapLogger).Error\n\t/go/pkg/mod/github.com/go-logr/zapr@v0.1.1/zapr.go:128\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:258\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:232\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.6.0/pkg/internal/controller/controller.go:211\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/go/pkg/mod/k8s.io/apimachinery@v0.18.2/pkg/util/wait/wait.go:90"}
{"level":"info","ts":1599148928.7050483,"logger":"controllers.KafkaTopic","msg":"Deleted topic","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148928.706356,"logger":"controllers.KafkaTopic","msg":"failed to remove finalizer from kafkatopic","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}
{"level":"info","ts":1599148928.7064152,"logger":"controllers.KafkaTopic","msg":"Kafka client closed cleanly","kafkatopic":"pushdelivery-stage/kafka-pushdelivery-stage-cruise-control-topic","Request.Name":"kafka-pushdelivery-stage-cruise-control-topic"}

They go on for some time, alternating between "forbidden" errors and deleting my resources.
I then performed a rollback of the helm chart:
helm rollback kafka-operator -n kafka-operator
which at least got the CRDs restored:
 kubectl get kafkacluster -n pushdelivery-stage
No resources found in pushdelivery-stage namespace.

But of course my cluster and all of my data was totally gone.
Thankfully I performed the upgrade in a non-production environment, otherwise this would have been truly disastrous!
What went so wrong here?

I think what I'm seeing here is https://github.com/helm/helm/issues/7279
I need to figure out a way to upgrade without triggering the deletion of the CRDs, and also figure out why new ones didn't get created (maybe they were "created", and then deleted?)

@SapientGuardian I manage to repro your issue, there is an error in the helm chart inside the crds.yaml. Honestly I do not know yet how this get past our testing.
{{- if .Values.crd.enabled }}
{{- range $path, $bytes := .Files.Glob "crds/*.yaml" }}
{{ $.Files.Get $path }}
---
{{- end }}
{{- end }}

Here we are using the .Files.Glob and .Files.Get template functions. It turns out that Files.Get function only works with files inside helm chart. It means only files which are inside templates directory otherwise it fails silently. Sadly I had to figure this out from some comment from the helm developers in one of the issues. This is the reason why the new CRDs are not generated.

Thanks for getting back to me, I'm glad it wasn't something specific to my setup!

We try to figure out something about this.

Here we are using the .Files.Glob and .Files.Get template functions. It turns out that Files.Get function only works with files inside helm chart. It means only files which are inside templates directory otherwise it fails silently.

@baluchicken can you expand on this? Is this something new / regression in helm2?
This recipe is used in other helm charts out there, e.g prom-operator and seems to work just fine.

@SapientGuardian helm/helm#7279 seems indeed related to what you're seeing in your env. https://github.com/helm/helm/pull/7320 seems to fix this though. Are you running a recent version of helm 3.x?

@amuraru it is a rabbithole there is a more recent issue where they are reverting that fix: https://github.com/helm/helm/pull/7571

Yeah, I followed that rabbit hole. They've gone back and forth on the behavior with CRDs, not just in debate but in actual released versions. I used v3.2.1 when I did the upgrade. Looking at commits between then and the current release, I don't see any relevant commit messages referencing CRDs, though if you think that using the latest will solve the problem, I can certainly try that.

At last I managed to figure this out. I hope the explanation help.

I just bumped the chart version to 0.3.0 it should fix your issue.

I can confirm, chart version 0.3.0 did not delete the CRDs or my existing cluster. I did run into an unrelated problem that caused me to roll back the operator again, but I will open a separate issue for that.


"Auto" display scale on portrait vs landscape monitors is too large

Possibly related: #48226, godotengine/godot-proposals#2661
Godot version:
3.3 stable
OS/device including version:
Arch Linux, 5.11 kernel, KDE Plasma (global scaling off/100%). Nvidia proprietary drivers. I have 2 "2K" 2560x1440 monitors, the secondary of which is rotated 90 degrees to portrait orientation (I prefer editing code this way, more vertical space).
Issue description:
With interface/editor/display_scale set to "Auto" in the editor settings, if the Godot editor launches on my primary, landscape monitor, it correctly sets the display scale to 100%.
However, if it launches on my secondary (which can often happen by "accident" with various KDE settings and tiling window managers for example), it instead sets the UI scale to 150%, and this also causes the Godot window to stretch beyond the boundaries of my second monitor and "leak" into the first monitor.
It's a little tricky to see with screenshots alone, but here's the comparison (warning high res images and an eye-bleeding psychedelic wallpaper):
This is the editor, launched on the primary, landscape 2560x1440 monitor, then moved to secondary monitor for comparison, with the correctly applied 100% UI scale:
godot-100-on-portrait
And here is Godot launched on secondary portrait monitor, 1440x2560, incorrect 150% auto scale detected. In addition, the left edge of window cuts into the primary monitor (you can see the taskbar on the primary monitor floating above the Godot window for example - the taskbar ends at the right edge of the left screen. This is much clearer to see on the monitors themselves, so let me know if a photo would be helpful). Additionally, the Godot window width can't be shrunk any further and won't fit on the portrait screen at this scale.
godot-150-portrait
Actually the scaling doesn't look all that bad in the screenshot, but on the monitor itself (27") it's way too space consuming, and the edge "leaking" makes it unworkable.
Of course, this can entirely be fixed by manually setting the display scale to 100%, which is what I've done for a while now, but I just saw it happen again on a build with self contained config and thought to report it after searching the issues for relevant keywords :)
I haven't checked the editor code yet, but I suspect that it's looking to see if the monitor resolution height dimension is greater than a particular breakpoint to apply the relevant scaling. If that's the case, it should be checking the breakpoint against the smaller of the 2 dimensions (the smaller of either width or height) to get an accurate read.

We can probably fix this by picking the smallest screen dimension instead of only relying on the screen height.


Update/project pages

Update DToL db list and species.yaml
Add new clade->icon links
Update write_yaml for ERGA and CBP

poetry settings need a review but I am fine to merge it