Atari env

Hello, I attempted to set up an Atari environment and train using your current code, but unfortunately, I was unable to learn anything during training. Could you suggest any possible explanations for this and recommend specific hyperparameters that I could experiment with for Pong?

Hi @hlsafin
which hyperparameters did you initially try? Could you check the tensorboard summary for vanishing gradients?

Here is my yaml file. I couldn't go too crazy with the architecture because I'm using a RTX 3080 and the VRAM is ~16G
I didn't record tensorboard because I was just doing initial tests where I printed the rewards when the game ends and essentially all the rewards were around 0-2 after 8 hours of training with this setup.
environment:     type: "Atari"     name: BreakoutNoFrameskip-v4 gamma: 0.995 lamda: 0.95 updates: 200000 epochs: 4 n_workers: 2 worker_steps: 128 n_mini_batch: 8 value_loss_coefficient: 0.5 hidden_layer_size: 128 max_grad_norm: 0.5 transformer:     num_blocks: 3     embed_dim: 128     num_heads: 4     memory_length: 64     positional_encoding: "relative" # options: "" "relative" "learned"     layer_norm: "post" # options: "" "pre" "post"     gtrxl: False     gtrxl_bias: 0.0 learning_rate_schedule:     initial: 3.5e-4     final: 1.0e-4     power: 1.0     max_decay_steps: 250 beta_schedule:     initial: 0.001     final: 0.001     power: 1.0     max_decay_steps: 10000 clip_range_schedule:     initial: 0.1     final: 0.1     power: 1.0     max_decay_steps: 10000

Yeah, still I am not getting any good results. I might be doing something wrong here. who knows.

Could you provide a tensorboard summary?

and this is breakout

I mean the entire summary file as I'm interested in all monitored stats.

Just attach the summary file to this issue via drag and drop.
Please provide your current config.
By looking at the screenshots the norm of the value function's gradients is notably sticking out.
The value functions suffers from the vanishing gradient issue.
Also, the monitored value mean sticks around zero.
There most be something wrong with your Atari environment wrapper.
Could it be that the step function does not properly return the reward?
The tensorboard summary shows the return that is part of the info dictionary. So there could be an issue with your step() function.
Could you provide your environment code?

import gym import numpy as np import time import collections class MaxAndSkipEnv(gym.Wrapper):     def __init__(self, env=None, skip=1):         """Return only every skip`-th frame"""
super(MaxAndSkipEnv, self).init(env)
# most recent raw observations (for max pooling across time steps)
self._obs_buffer = collections.deque(maxlen=2)
self._skip = skip
def step(self, action):
    total_reward = 0.0
    done = None
    for _ in range(self._skip):
        obs, reward, done, info = self.env.step(action)
        self._obs_buffer.append(obs)
        total_reward += reward
        if done:
            break
    max_frame = np.max(np.stack(self._obs_buffer), axis=0)
    return max_frame, total_reward, done, info

def reset(self):
    """Clear past frame buffer and init. to first obs. from inner env."""
    self._obs_buffer.clear()
    obs = self.env.reset()
    self._obs_buffer.append(obs)
    return

class Atari:
def init(self, env_name ):
self._env = gym.make(env_name)
#self.max_episode_steps = self._env.spec.max_episode_steps
self.max_episode_steps = 108000
#self._env = MaxAndSkipEnv(self._env, skip=4)
self._env = gym.wrappers.ResizeObservation(self._env, (int(84/1), int(84/1)))
self._env  = gym.wrappers.GrayScaleObservation(self._env )
self._env = gym.wrappers.FrameStack(self._env, 1)
@property
def observation_space(self):
    return self._env.observation_space

@property
def action_space(self):
    return self._env.action_space

def reset(self):
    self._rewards = []
    obs = self._env.reset()
    obs = np.stack(obs[0]._frames)
    return obs

def step(self, action):
    #obs, reward, done, info = self._env.step(action[0])
    obs, reward, done,_, info = self._env.step(action[0])
    obs = np.stack(obs._frames)
    self._rewards.append(reward)
    if done:
        info = {"reward": sum(self._rewards),
                "length": len(self._rewards)}
        print(sum(self._rewards))
    else:
        info = None
    return obs , reward / 100.0, done, info

def render(self):
    self._env.render()
    time.sleep(0.033)

def close(self):
    self._env.close()`

Did you test your wrapper and print reward / 100.0 and obs?
self.max_episode_steps = 108000
This is way too large and will consume too much memory. Lower this to like 512.

noted, I can bring that down to 512 and test it again, not sure if that was the main cause. I can do further tests of the reward / 100.

Max episode steps won't be the cause for bad training results. This makes the runtime less efficient.
Most importantly verify your environment. Based on the tensorboard summary it really looks like that the agent receives always 0 as reward.

Certainly, this might be the case I will change it to "return obs, reward, done, info" instead and see if this makes a difference. I will do another run later tonight, and see what happens. I'll keep you posted
Thank you

You can write a script that runs your environment wrapper using random actions.

What is your memory_length? It cannot be greater than max_episode_steps.

memory_length is 16. Okay, I did another training last night here are the results. I zipped and uploaded the summary here.
summaries.tar.gz

okay, sorry! I fixed the issue, it was definitely in the setup of the environment. I forgot to create the self.t value.
Thank you!

Glad you found it!


Import a ntebook.

In addition (I'd say in place of) the provided notebook. I would link to here. This is what you will want to use on DataBricks with Spark, not the regular python client. I knew something was fishy when it was a pip install here and not a maven install. Get the Spark Connector from Maven, "com.microsoft.azure.kusto:spark-kusto-connector:1.1.2"
https://github.com/Azure/azure-kusto-spark/blob/master/samples/src/main/python/pyKusto.py

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

ID: 66353133-1b29-fa99-c9bd-e74c4a2f14dc
Version Independent ID: 5cf9bdf3-207a-ab00-4cb9-4b5e4668f894
Content: Connect to Azure Data Explorer from Azure Databricks using Python
Content Source: data-explorer/connect-from-databricks.md
Service: data-explorer
GitHub Login: @orspod
Microsoft Alias: orspodek

@dciborow - thanks for your feedback.
@ManojRaheja - please assist with the question and LMK if doc changes are necessary?

Hi Dan,
Thanks for your feedback. We do have some customers wanted to use Kusto Python SDK on Azure Databricks, will update to the doc to reflect both the options.
Thanks,
Manoj

@dciborow - thanks for your feedback. I am moving to close this issue. WI has been created to update the doc as per your suggestion: https://mseng.visualstudio.com/TechnicalContent/_workitems/edit/1721614


Add Italian translation

I'm working on the Italian translation, so I created a branch for PR.

References #248

@hermannhausherr are you still working on this? Otherwise I'll close this PR/issue in order for other ones to provide italian translation.
Issue and PR will be closed if no further response recieved: 2024-11-15

Closed due to unresponsiveness.


Added Logistic regression from scratch in python

@all-contributors please add @kauravankit25 for code
Thanks for your contribution!


aalc: Add pump board sensors initial setting

Summary:
-modified: meta-facebook/aalc-rpu/src/platform/plat_init.c
Description:
-Add pump board sensors init
Test Plan:
-Build code: PASS

Can you rebase to main so we get proper build signals?

Hi @amithash , we rebased on new main branch. Please help us merge it in, thanks!


Headers containing underscores should be ignored?

Hello
I am using Connexion framework to deliver a Rest API.
My production server (nginx + gunicorn + flask) dropped every header containing an underscore "_".
Please note that this is done by default by nginx and apache.
https://stackoverflow.com/questions/22856136/why-do-http-servers-forbid-underscores-in-http-header-names
https://stackoverflow.com/questions/43011065/apache-convert-underscores-to-dashes-in-headers
https://github.com/pallets/werkzeug/commit/5ee439a692dc4474e0311de2496b567eed2d02cf#diff-abeaeb33abe8954dc4551a4631392ac46ad65e8b9f8404cec0e276a0d345af3bL204
https://github.com/pallets/werkzeug/issues/2693
My development server didn't do it (old version of werkzeug) and my team had a hard time when it discovered that there were typographies in our code (ex: headers['MY_CUSTOM_HEADER'] = 'minimal'), visible only on the production environment.
This was fixed by werkzeug 2.3.3.
However with Connexion v3, I now use a2wsgi which normalizes my headers (ex MY_CUSTOM_HEADER => MY-CUSTOM-HEADER), and again it is risky because it might hide bugs in our codebase.
What do you think about dropping headers with underscores?
a2wsgi/wsgi.py:139

https://stackoverflow.com/a/22857932/9301113 Here, I prefer to adhere to the RFC standard and not make any additional processing for headers (i.e., not deleting header entries containing underscores). If you have such a requirement, you can write a pure ASGI middleware to wrap it around a2wsgi.WSGIMiddleware.

@abersheeran Ok I understand that, but currently underscores are replaced with dashes. I don't know the RFC well, but  isn't this additional processing?

Ok, so you are right, it is easy to handle with a middleware:
class MyMiddleware:
    def __init__(self, app: ASGIApp):
        self.app = app

    async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
        if scope['type'] in ('http', 'websocket'):
            scope['headers'] = [h for h in scope['headers'] if '_' not in h[0].decode()]
        return await self.app(scope, receive, send)

Haha, great share.


Add support for sub-state machines

Hello and thanks for this wonderful tool!
In this PR, I've added a new base class for AacFlState and AacFlStateMachine called AacAnimatorNode<T> which contains common code, such as placement of nodes.
Child nodes of an AacFlStateMachine are stored in _childNodes upon creation, so that node layout between state and state machines is consistent.
AacTransitionEndpoint is now used for sources & destinations of transition wrappers. This can contain either an AnimatorState or AnimatorStateMachine. It is expected that if the AacTransitionEndpoint is not null then one of its members will also not be null; this is checked using exceptions.
Syntax for StateMachines the same as for States:
var l = aac.CreateSupportingFxLayer("Face");
l.WithAvatarMaskNoTransforms();

var moodMachine = l.NewStateMachine("Default");
moodMachine.TransitionsFromEntry().When(moodParam.IsEqualTo(0));
moodMachine.Exits().When(moodParam.IsNotEqualTo(0));

var state = moodMachine.NewState("Default");
state.TransitionsFromEntry().When(...);
state.Exits().WithTransitionDurationSeconds(transitionTime).When(...);

Also changed ResolveAvatarMask and WithAvatarMaskNoTransforms functions (since they were void) to return the AvatarMask created so that the user can edit / re-use it further without much hassle.
Please let me know what you think.

Thank you, I won't be able to take a look at it today but I will.
See discussion on Discord, but here's a non-exhaustive task list of what I have to do:

[ ] Discuss a real world use case for sub state machines and example code that consumes this new API to ensure that the exposed API feels right, the objective being to facilitate the creation of sub state machines (opinionated API)
[ ] Verify that layer creation and removal does not leave non-destroyed internal assets behind lingering in the controller
[ ] Evaluate the addition of possible (AacFlLayer/AacFlStateMachine).Entry() methods to be able to move Entry/Exit positions, and use them as targets for transitions

here's the script I'm using right now. FaceMood.GetMoods reads the motion files and metadata from the folder structure.
var l = aac.CreateSupportingFxLayer("Face");
l.WithAvatarMaskNoTransforms();

var moodParam = l.IntParameter("_Activity");
var gestureLeft = l.IntParameter("GestureLeft");
var gestureRight = l.IntParameter("GestureRight");

var state = l.NewState("10_Bypass");
state.TransitionsFromEntry().When(moodParam.IsEqualTo(10));
state.Exits().When(moodParam.IsNotEqualTo(10));

foreach (var mood in FaceMood.GetMoods(_data, aac))
{
    var moodMachine = l.NewStateMachine($"{mood.Id}_{mood.Name}");
    moodMachine.TransitionsFromEntry().When(moodParam.IsEqualTo(mood.Id));
    moodMachine.Exits().When(moodParam.IsNotEqualTo(mood.Id));

    foreach (var category in mood.Categories)
    {
        var catMachine = moodMachine.NewStateMachine(category.Name);
        category.LeftGestureInts.Aggregate(
            catMachine.Exits().When(moodParam.IsNotEqualTo(mood.Id)).Or().WhenConditions(),
            (c, i) => c.And(gestureLeft.IsNotEqualTo(i)));

        foreach (var i in category.LeftGestureInts)
            catMachine.TransitionsFromEntry().When(gestureLeft.IsEqualTo(i));

        foreach (var g in category.RightGestures)
        {
            state = catMachine.NewState(g.HandGesture).WithAnimation(g.Motion)
                .Drives(l.BoolParameter("_Blink"), g.WantBlink)
                .Drives(l.IntParameter("_EarL"), g.EarL)
                .Drives(l.IntParameter("_EarR"), g.EarR);
            state.TransitionsFromEntry().When(gestureRight.IsEqualTo(g.Id));
            state.Exits().WithTransitionDurationSeconds(mood.TransitionTime).When(gestureRight.IsNotEqualTo(g.Id));
            state.Exits().WithTransitionDurationSeconds(mood.TransitionTime).When(moodParam.IsNotEqualTo(mood.Id));

            category.LeftGestureInts.Aggregate(
                state.Exits().WithTransitionDurationSeconds(mood.TransitionTime).WhenConditions(),
                (c, i) => c.And(gestureLeft.IsNotEqualTo(i)));
        }

        // if no other exit was hit, just re-enter the current ssm
        catMachine.Restarts();
    }

    moodMachine.Restarts();
}

top level state machine - each state/sub-state machine in here corresponds to an Activity value, from exp menu

2nd level state-machine - each SSM in here corresponds to one or more GestureLeft values

3rd level state-machine - each state in here corresponds to a single GestureRight value

The following commits are effectively part of V1, almost verbatim:

add AacFlStateMachine.Restarts() for self-transitions galister* 19/03/2022 21:26
format & refactor galister* 19/03/2022 12:08
default location of new nodes more to the right galister* 19/03/2022 12:03
-add support for sub-state machines galister* 19/03/2022 12:03

The commit "avatarMask functions to return the generated mask" will not as these functions now return an AacFlLayer instead of void/AvatarMask

Closing, as the commits are effectively in the WIP V1 branch 👍
Can't get GitHub to recognize this PR as being merged


Make it possible to set special dates that add a certain class to dates

Something I had to implement to get some classes set to a list of dates for the datepicker.
So what happens is that options is given something like:
specialDates: [
    {
        className: "reserved",
        dates: [list, of, date, objects]
    }
]

Those dates are then given the class when rendered in the datepicker month view.
This PR is not ready to merge by any means - if the repo owner wants this functionality I'd be ready to cleanup this to a proper PR.

@jaywink would like to see this feature in the library. Could you clean the PR up? :)

Took a while :) How does it look?

Hmm, the tests pass in the browser for me locally, will see if I can hook qunit's to run to see if I can reproduce travis failures locally.

This can be done with the new onRender<view> functions


fix typo framework org name and correct usage dev env when use cli

@koichimurakami cc @baquan1708
I just created a merge request: changed the package name (mbc-cqrs-severless -> mbc-cqrs-serverless) and updated the project run steps when created using the CLI in the documentation.
Could you merge it?


[TOPIC-BLE-LLCP] Bluetooth: controller: Adding Central/Peripheral compile dependencies to new LLCP

Compiling only the code needed depending on CONFIG_BT_CENTRAL/CONFIG_BT_PERIPHERAL for procedures:
Feature Exchange, Min Used Channels, PHY Update and Encryption
Remaining procedures will be visited when complete.
Compile permutations script updated to compile all permutations so far, except ones with CENTRAL==PERIPHERAL==n

rebased


[ADD] Graph Algorithms: Floyd-Warshall Algorithm

I want to work on this issue.

@Subhoshri Go ahead


SIM118 fixes a case in contains which was using self, causing recusrion

An issue similar to #4481, Ruff incorrectly marks a case of SIM118 as an error and as fixable when neither is the case.
from typing import KeysView

class Foo:
    def keys() -> KeysView[object]:
        ...

    def __contains__(self, key: object) -> bool:
        return key in self.keys()  # SIM118 replaces this with `return key in self`

The above is a likely pattern when writing a subclass of collections.abc.Mapping.
Command: ruff example.py --select SIM --fix
Version: ruff 0.0.280

We can make the rule ignore self.keys which will almost always be wrong, but that’s probably the best we can do at present.

Or ignoring this rule in contains would also be reasonable.

I'm not in a hurry. I'm already ignoring these manually and checked to see if there was a issue for this.
Ignoring self.keys() in __contains__ might work.  Since this issue is very specific.


Ubuntu package is not starting the service after install

The issue is reported on forums. I also tried this on 16.04, same issue there as well.

So the reason why it failed to start the service after install the DEB installer on Ubuntu is that invoke-rc.d failed. The fix is simply change it to the more recommended way to start a service nowadays, using /etc/init.d/fdb-document-layer start. This is also how we start FDB KVS services in the FDB DEB installers.


Feature Request

at time editor should be align horizontaly and verticaly and also by aligning drag and drop

@MandarSant It's not clear to me what you suggest. Can you add more explanations?

@aeschli  have u used atom

@MandarSant Yes, but it still not clear to me (and probably to others) what exactly you like to see in VSCode. Please describe the interactions, where to click, where to drag, how is it shown...

@aeschli in atom when u want to align editor u just drag the tab in desired way same feature in vscode

Is this a duplicate of #14909?

@aeschli 40% similar

@MandarSant Please a animated gif or screenshots that describe the feature you imagine.

@aeschli  i dont know how to create gif

Closing due to lack of information. @MandarSant  Please reopen with more details such as screenshots.


support overriding the tls host

For https://github.com/MaterializeInc/materialize/issues/18683 we need to ensure that aws privatelink connections are configured the exact same as non-privatelink ones. Instead of the error-prone route of copying all the tcp socket configuration, I think instead we should just expose the 1 difference between tunneled and non-tunneled connections: what host to check the tls cert against
this pr adds this option!

I think ci is just broken on our fork?

merging with nits @benesch
ill probably try to upstream it as well

I doubt Steven will accept it, but go for it!


chore!: Upgrade media chrome to 4.1.0

Draft PR until both current and classic themes are updated with new menu elements.
ts-ignore was required for the theme imports from player.style, build works fine like this but TS complains of missing modules without the ignore.
Removed selectmenu menus and used new menus in current and classic theme
This change also brings in tooltips and they are enabled in the default theme (open to styling suggestions), new no-tooltips attribute / noTooltips prop available available also to disable them regardless of which theme is enabled.

I also updated the standard player example in the vanilla examples to use a new video that has captions and multiple audio tracks for easier testing.

@AdamJaggard haven't reviewed for this yet in your PR, but make sure you catch any of the updates @luwes did in #961 for TS migration.

@cjpillsbury did some more testing with your changes in and it's looking good on my end


CloudWatch Event rules number

❔ Question
How many CloudWatch Event rules are created for the application?
🔦 Context
During the install process, the installation is failing with a LimitExceededException on CloudWatch Event rules. This is strange, because my account only has 2 defined events before running this process. How many rules are created for the application?
💻 Code Sample
Output from log/error.log:
Error: Error applying plan:

7 error(s) occurred:

* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules[44]: 1 error(s) occurred:

* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules.44: Creating CloudWatch Event Rule failed: LimitExceededException: The requested resource exceeds the maximum number allowed.
        status code: 400, request id: 9ccebcaa-f0f0-41bc-86b3-c02a05aa28d6
* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules[33]: 1 error(s) occurred:

* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules.33: Creating CloudWatch Event Rule failed: LimitExceededException: The requested resource exceeds the maximum number allowed.
        status code: 400, request id: 51bc2508-b7a8-4343-bbdd-7f7e0329c966
* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules[69]: 1 error(s) occurred:

* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules.69: Creating CloudWatch Event Rule failed: LimitExceededException: The requested resource exceeds the maximum number allowed.
        status code: 400, request id: 4f7a448b-a40b-4588-9e69-89b939c17f7d
* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules[56]: 1 error(s) occurred:

* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules.56: Creating CloudWatch Event Rule failed: LimitExceededException: The requested resource exceeds the maximum number allowed.
        status code: 400, request id: 6ea0114a-0d94-447c-98df-f4e36c2a4773
* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules[7]: 1 error(s) occurred:

* aws_cloudwatch_event_rule.lambda_rule_engine_function_RuleEngineEventRules.7: Creating CloudWatch Event Rule failed: LimitExceededException: The requested resource exceeds the maximum number allowed.
        status code: 400, request id: 765d95a7-eb5a-469a-add4-da1d8ec16ba7

There are 103 cloudwatch rules will be created as part of PacBot installation
By default only 100 rules are supported by Aws in a region. You need to request AWS support to extend this limit in order to create all the rules safely

Thanks @sajeer-nooh, I did have a poke through the code and came up with a similar conclusion. I have raised a case for support to increase the limit. Thanks for your help.
However, I do think this should be listed in the Install notes. There's an FAQs file as well that lists the count as 82 rules

We will update the faq


Root package 'serverfireteam/blog' cannot require itself in its composer.json

I add "serverfireteam/blog": "2.*" to require section of composer
I get message:
Root package 'serverfireteam/blog' cannot require itself in its composer.json
Did you accidentally name your root package after an external package?
Who Error?

No we don't have blog in panel require.


God damn that FAQ is something

After reading the UWS FAQ page I had to take a long bath.
I felt like a poor mistreated chinese boy in an iPhone factory.
It's not even a FAQ I think.  Jesus.
How do you pull request the FAQ? Can't find it. I was gonna throw in a couple kitten pictures to minimize the risk of psychological trauma.
Now don't tell anyone, but if you need something to lighten up the mood here, I know a couple hookers - never before have I seen them deny a pull request.

I can merge this if you're willing to finish it up. Timer support is missing, etc.

Haha, just realized this PR is my own work. Funny guy right here. Okay take care now


Error: "ETELEGRAM: 403 Forbidden: bot was blocked by the user"

Telegram was working fine but recently I started to get error messages
Cannot send message [chatId - 505191441]: Error: ETELEGRAM: 403 Forbidden: bot was blocked by the user
Here my logic (not changed recently)

I have telegram adapter 1.7.0
Node.js v12.19.0
Controller 3.2.11

Try re-setup the bot user ... becase error says that the user blocked the bot as it seems

Try re-setup the bot user ... becase error says that the user blocked the bot as it seems

In Telegram application on my PC I found a way to restart the bot and everything is working now. Thank you.

In Telegram application on my PC I found a way to restart the bot and everything is working now. Thank you.

I reset bot within PC Telegram application and everything works now. Thank you.
Anatoly
On Jan 27, 2021, 5:16 PM, at 5:16 PM, Ingo Fischer<EMAIL_ADDRESS>wrote:

Try re-setup the bot user ... becase error says that the user blocked
the bot as it seems
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/iobroker-community-adapters/ioBroker.telegram/issues/204#issuecomment-768614871

I reset bot within PC Telegram application and everything works now. Thank you.
Anatoly
On Jan 27, 2021, 5:16 PM, at 5:16 PM, Ingo Fischer<EMAIL_ADDRESS>wrote:

Try re-setup the bot user ... becase error says that the user blocked
the bot as it seems
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/iobroker-community-adapters/ioBroker.telegram/issues/204#issuecomment-768614871


MINOR: Verify acls for group resource on all servers of test cluster.

@ewencp mind looking at this minor change.

LGTM

+1


Mexc Connector Bug Report

Describe the bug
There is an issue observed with MEXC connector, if the order was partially filled and Humming bot canceled it - then it cannot fetch status update on this order.
Failed to cancel order <order id> error appears in log
Error fetching status update for the lost order ... Partially Cancelled
I would appreciate if anyone can fix it.
MEXC is growing exchange and connector deserves to be GOLD :)
Steps to reproduce

connect to MEXC
using pure_market_making create some orders on any paid
wait when one of order will be partially filled and bot will attempt to cancel it
-> here comes the error

Release version
1.21.0
Type of installation
Docker
Attach required files
logs_MM_JOY_test.log

@rapcmia @fengtality @nikspz I talked with @leetjoy and he wants to fund this bounty. I think that has to be considered as P2 and the solution should include:

cancel order method --> Review how the order is processed when sending the cancelation. (specially when having partial fills)
evaluate the solution proposed in this PR https://github.com/hummingbot/hummingbot/pull/6584/files for the methods:
_is_order_not_found_during_status_update_error
_is_order_not_found_during_cancelation_error

Once the connector solution is ready we have to validate it by running a bot for > 1 day without issues

https://hummingbot.org/bounties/sponsors/
Okay, then to validate this as P2 Bounty (50k HBOT) it should be funded with 55k HBOT (50k +10%) or 133USDC (111 USDC +20%) using these wallets:
https://hummingbot.org/bounties/sponsors/#foundation-bounty-wallets

@nikspz can I fund this bounty by sending USDC from CEX?

@leetjoy For BEP20, 0xE517b826a26B439eCE92f3220628eC007049d915 can be used for USDC.

hi @leetjoy Are you still willing to fund the bounty?

hi @leetjoy Are you still willing to fund the bounty?

bounty funded
tx: 0xf3868f71b20055aadc03a1c136f7f9c670b3b38367fe513091aff1a9b969f14e

Severity: P2
Bounty: 111 USDC (Developer portion)
Rationale:

Related to the MEXC exchange connector issue
MEXC connector fails to fetch status updates for partially filled and canceled orders, resulting in log errors
Please read issue description as the reference

Bounty Opened for developers who want to be assigned

@yancong001 this might be of your interest

ok, i will fix this bug

here https://github.com/hummingbot/hummingbot/pull/6691

Fix has been deployed to release version 1.23.0

thank you guys, will test this out.

@nikspz
how to update to version 1.23?

@nikspz
how to update to version 1.23?

https://hummingbot.org/installation/post-installation/#updating-hummingbot


Add new log field to output server name sent by client in TLS handshake.

This is https://github.com/apache/trafficserver/pull/6027 back from the dead.

[approve ci Clang-Analyzer]

Do we still need all of this with #6198 ?

I need to change it to store the SNI server name in the session object.  I could close this PR and open a new one if you prefer.

This PR is replaced by https://github.com/apache/trafficserver/pull/6238 .


SAK-43000 Give assessment settings expand/collapse all functions consistent icons and highlighting

https://jira.sakaiproject.org/browse/SAK-43000
Menus that are open will have arrows pointing down, and are highlighted. Menus that are closed will have arrows pointed to the right - unhighlighted. Expand and collapse all buttons will consistently open / close / highlight

I wonder if there a simpler way to fix this so that the changes aren't so fragile and reliant on markup structure.
I would have to look into ideal ways to fix this, but I found this similar discussion:
https://stackoverflow.com/questions/1592494/collapse-all-the-tabs-in-a-accordion-on-jquery
that has a potentially-simple fix.

I found this same post when looking into this initially, and tried something of that nature, and had issues with it; I don't recall why though

Fixed quotes, all straight now.


Error: Unexpected token

Hi,
after copieing the Datasource to the plugin-folder and clicking on the new datasource check_mk (without logo by the way) the following Error appears:

Error: Unexpected token '<' Evaluating http://x.x.x.x:3000/public/app/plugins/datasource/checkmk-datasource/module Loading app/plugins/datasource/checkmk-datasource/module
Data Source Error

Grafana:  v6.6.0 (5c11bbdfb4)
Check_MK: Enterprise 1.6.0p7
Anything to do for me?

Sadly i have the feeling that this issue is no longer relevant. In the meantime there was a complete rewrite of the plugin which is no longer compatible with 1.6.0
If you still experience this problem, feel free to comment on this issue.
Sorry that it took us so long to respond to your problem.


e2e learning story syntax error

Rasa version: 2.2.2
Rasa SDK version (if used & relevant):
Rasa X version (if used & relevant):
Python version: 3.8.6
Operating system (windows, osx, ...): osx
Issue:
I'm trying to capture a name using an e2e story. When I start the user statement in the training data with an entity, the model fails to train citing a yaml error. Here's the story:
- story: capture name
  steps:
  - user: hi.
  - bot: what's your name?
  - user: [chris](name)
  - action: utter_name

Error (including full traceback):
(e2e) chris@ChristophersMBP e2e % rasa train; rasa shell
YamlSyntaxException: Failed to read 'data/stories.yml'. while parsing a block mapping
  in "data/stories.yml", line 58, column 5
did not find expected key
  in "data/stories.yml", line 58, column 18

You can use https://yamlchecker.com/ to validate the YAML syntax of your file.
^CTraceback (most recent call last):
  File "/Users/chris/.pyenv/versions/e2e/bin/rasa", line 5, in <module>
    from rasa.__main__ import main
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/__init__.py", line 9, in <module>
    from rasa.train import train
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/train.py", line 39, in <module>
    from rasa.core.agent import Agent
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/core/agent.py", line 29, in <module>
    from rasa.core.policies.ensemble import PolicyEnsemble, SimplePolicyEnsemble
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/core/policies/__init__.py", line 2, in <module>
    from rasa.core.policies.policy import Policy
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/core/policies/policy.py", line 27, in <module>
    from rasa.core.featurizers.single_state_featurizer import SingleStateFeaturizer
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/core/featurizers/single_state_featurizer.py", line 27, in <module>
    from rasa.utils.tensorflow.model_data_utils import TAG_ID_ORIGIN
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/utils/tensorflow/model_data_utils.py", line 9, in <module>
    from rasa.utils.tensorflow.model_data import Data, FeatureArray
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/rasa/utils/tensorflow/model_data.py", line 5, in <module>
    import tensorflow as tf
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/tensorflow/__init__.py", line 41, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/tensorflow/python/__init__.py", line 40, in <module>
    from tensorflow.python.eager import context
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/tensorflow/python/eager/context.py", line 35, in <module>
    from tensorflow.python import pywrap_tfe
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/tensorflow/python/pywrap_tfe.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/Users/chris/.pyenv/versions/3.8.6/envs/e2e/lib/python3.8/site-packages/tensorflow/python/pywrap_tensorflow.py", line 64, in <module>
    from tensorflow.python._pywrap_tensorflow_internal import *

Command or request that led to error:
rasa train

Content of configuration file (config.yml) (if relevant):
# Configuration for Rasa NLU.
# https://rasa.com/docs/rasa/nlu/components/
language: en

pipeline:
# # No configuration for the NLU pipeline was provided. The following default pipeline was used to train your model.
# # If you'd like to customize it, uncomment and adjust the pipeline.
# # See https://rasa.com/docs/rasa/tuning-your-model for more information.
#   - name: WhitespaceTokenizer
#   - name: RegexFeaturizer
#   - name: LexicalSyntacticFeaturizer
#   - name: CountVectorsFeaturizer
#   - name: CountVectorsFeaturizer
#     analyzer: char_wb
#     min_ngram: 1
#     max_ngram: 4
#   - name: DIETClassifier
#     epochs: 100
#   - name: EntitySynonymMapper
#   - name: ResponseSelector
#     epochs: 100
#   - name: FallbackClassifier
#     threshold: 0.3
#     ambiguity_threshold: 0.1

# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies:
# # No configuration for policies was provided. The following default policies were used to train your model.
# # If you'd like to customize them, uncomment and adjust the policies.
# # See https://rasa.com/docs/rasa/policies for more information.
  - name: MemoizationPolicy
  - name: TEDPolicy
    max_history: 10
    epochs: 100
  - name: RulePolicy

Content of domain file (domain.yml) (if relevant):
version: "2.0"

intents:
  - greet
  - goodbye
  - affirm
  - deny
  - mood_great
  - mood_unhappy
  - bot_challenge
  - joke

responses:
  utter_greet:
  - text: "Hey! How are you?"

  utter_cheer_up:
  - text: "Here is something to cheer you up:"
    image: "https://i.imgur.com/nGF1K8f.jpg"

  utter_did_that_help:
  - text: "Did that help you?"

  utter_happy:
  - text: "Great, carry on!"

  utter_goodbye:
  - text: "Bye"

  utter_iamabot:
  - text: "I am a bot, powered by Rasa."

  utter_name:
  - text: "nice ta meet ya {name}"

session_config:
  session_expiration_time: 60
  carry_over_slots_to_new_session: true

Hi @desmarchris, I think the problem is that yaml thinks that keys starting with [ constitute a list. Maybe we can fix that somehow. For now, a workaround is to wrap sentences that start with an entity in double quotes indicating that it is a string.
This will work:
- story: capture name
  steps:
  - user: hi.
  - bot: what's your name?
  - user: "[chris](name)"
  - action: utter_name


Toolbar Overflow button style

Describe the bug
Toolbar Overflow button style is white
To Reproduce
Steps to reproduce the behavior:

Add toobar in AdonisWindow

Expected behavior
I think the toolbar overflow should take the global style
Screenshots

Additional context
I'm using last nuget version, how I can set style? Thank you, I love your library!

I actually noticed this too but I forgot to create an issue.
What I did instead is what the demo app does: just make a stack panel and add buttons and make them use the tool bar style. See here: https://github.com/benruehl/adonis-ui/blob/master/src/AdonisUI.Demo/Views/ButtonReference.xaml#L62
It isn't an actual toolbar, but maybe it will do what you need for now.

Thank you! Great solution!

The ToolBar control is one of the few remaining controls that are not covered by Adonis UI yet. Sorry for that.
I will add this to the to do list.

No problem @benruehl, I love your library anyway!


Improving cn/owner search endpoint

This PR aims at improving the performance of this endpoint, but eliminating unnecessary elements.

Coverage decreased (-0.01%) to 58.908% when pulling 3b258447dbb46c3bc7f1e3adf48dc0361670c208 on hosseinsh:improving-cn-owner-search-endpooint into 831e5619e1aec4bbc250e4fbe4d99b11bd754fde on Netflix:master.

thanks for the feedback @csine-nflx
moving to a simpler structurer.
== is not helping much compared to ilike, so removing that optimization


Consider add fps again

Unit system cannot hold without a precise definition of fps, otherwise, one shall be confused with how many frames to advance within a so-called "unit".

You should do this under the rule that don't make breaking change! Please add back unit

Breaking changes should be allowed when needed
Generally speaking, When playing animations, elapsed should be advanced by 1 each time called update, rather than set directly by physical time elapsed.
Current implementation take the fps as default as 1000 per second, that is 1 per millisecond, but actually not every frame take time exactly as 1 milisecond


feat: ApiController tests

Breaking Changes
N/A
Changes

feat: adds tests for ApiController
fix:
chore:

Warnings
⚠	Changes were made to one or more package.json(s), but not to package-lock.json
Generated by 🚫 dangerJS against 907d85f

Don't forget to update package-lock.json


[ENHANCEMENT REQUEST] Downloading images directly from the code

Our company Wiiisdom creating an application that uses the embedding API to retrieve data from Vizzes in automation.
Unfortunately, when downloading the image we need to click on the "Download" button in the embedded Viz. This download is in the user directory. But, when the user enables the "Save as" capability in its browser configuration we are unable to retrieve the image.
Enhancement
Would be it possible to have a function directly in the embedding API to download the image?

To confirm, viz.exportImageAsync() tells the browser to download the viz image. Is that what you are looking for?
https://help.tableau.com/current/api/embedding_api/en-us/docs/embedding_api_export.html#export-image-png

Hello,
I'm sorry for the response time I didn't receive the notification, thank you for your fast answer !!
Unfortunately, we already use this function to export the image and it raises the "Save as" popup.
After updating data on it with the embedding API, we need to retrieve a screenshot of the Viz (like filters or parameters). So if an API that returns this screenshot with the changes exists it's exactly what I'm looking for.

Thank you. Let me me make sure I'm understanding correctly.

viz.exportImageAsync() is insufficient because some users configure their browser to prompt for the save location when the image attempts to download; and this prevents some later logic in your web app from retrieving this image from the filesystem?
The request is to add an API that returns the base64-encoded string data of the image itself, allowing you to retrieve the screenshot directly from the code rather than relying on the browser downloading the file?

Something like this:
const base64str = viz.getImageDataAsync();
console.log(base64str);

// data:image/png;base64,iVBOR...ErkJggg==

Because of the browser's dialogue, we can't save the image in any folder. Unfortunately, it's insufficient yes :/.
Exactly, it would be perfect!

const base64str = viz.getImageDataAsync();
console.log(base64str);

// data:image/png;base64,iVBOR...ErkJggg==

I want to use this.
I really need it...


Remove unused tools (#1531)

This is a backport of #1531

These changes are included in #1662. Closing this PR.


Added missing action to Application Owner

Added missing permissions to Application Owners role:

Actions: *
No Actions:  Microsoft.Authorization/*/write

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


Include the news folder in the repo FBO documentation git submodule

Before merging, please try to reproduce what I see locally. If you do not see it, then it is my local repo and possibly a symlink issue. This might be related to my work on https://github.com/plone/volto/pull/5135

For about the last month, when a submodule tip was included in some pull request, the news folder got dropped. Now plone/documentation always says this:
$ git status
On branch 6.0
Your branch is up to date with 'origin/6.0'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
        modified:   submodules/volto (untracked content)

no changes added to commit (use "git add" and/or "git commit -a")

...even after manually going through those steps. So I think that this pull request will fix that. Now I see:
$ git status
On branch 6.0
Your branch is up to date with 'origin/6.0'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   submodules/volto (new commits)

no changes added to commit (use "git add" and/or "git commit -a")

...which is hopeful.

@stevepiercy this one after #5135 right?

After building docs locally, if you see that git submodule warning from git status now, then you can merge this PR now. If not, then after merging #5135, and after building docs locally, if you start to see that git submodule warning, then this PR will solve that issue. Basically I am not entirely sure when it started to appear for me locally, so I hoped someone else could try to reproduce it.

@stevepiercy the release (17.4.0) went well, no issues whatsoever, how about documentation? I think all good in there too, right? Can we say that this is not needed?

I think it is needed.
Go into documentation and make clean build. One warning pops up:
/Users/stevepiercy/projects/Plone/documentation/docs/volto/index.md:46: WARNING: toctree contains reference to nonexisting document 'volto/news*'

...and when going into Volto:
 /Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/4947.feature: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/4949.feature: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5294.breaking: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5363.documentation: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5364.bugfix: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5367.internal: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5368.bugfix: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5370.documentation: WARNING: document isn't included in any toctree
/Users/stevepiercy/projects/Plone/documentation/submodules/volto/docs/source/news/5371.documentation: WARNING: document isn't included in any toctree

It appears the problem shifted from the git submodule error to these build errors, at least for me. If you can reproduce these warnings locally, then I would go ahead and merge it. If not, report back what you see, and we can troubleshoot.

This PR is no longer necessary, as the issue has gone away. Closing.


Initial updates for version 2 of the AI job

Issue #, if available:
Description of changes:
Added a new version of the Control-M Application Integrator job definition created to support running AWS Mainframe Modernization Blu Age jobs.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Please don't pull this request. Still doing some internal review of the code.


use structured debug logging, and wrap JSON payloads in repr()

This is a fix for #599 which also fixes the debug-logging from frames to use structured-style logging -- since we already special-cased JSON payloads (opcode == 1) this just wraps those in a repr() so they're properly escaped (and also easy to copy/paste now).

Current coverage is 57.34%

Merging #606 into master will increase coverage by +0.01% as of 01f332d

@@            master    #606   diff @@
======================================
  Files           61      61
  Stmts        10240   10238     -2
  Branches      1664    1664
  Methods          0       0
======================================
  Hit           5871    5871
  Partial        556     556
+ Missed        3813    3811     -2

Review entire Coverage Diff as of 01f332d

Powered by Codecov. Updated on successful CI builds.


Error: Can't resolve '/img/flags/ad.svg'

HI, i've installed "tabler-react": "^2.0.0-alpha.1" and I'm stuck with this error:
./node_modules/tabler-react/dist/Tabler.css (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-4-1!./node_modules/postcss-loader/src??postcss!./node_modules/tabler-react/dist/Tabler.css)
Error: Can't resolve '/img/flags/ad.svg' in '/home/myuser/mypath/node_modules/tabler-react/dist'

How can I solve it?
Already tried to delete node_modules and redoing npm install but this didn't solve the problem.
Btw, with "tabler-react": "^1.30.1", there is no error but I need StatsCard with charts, so I need the 2.0.0-alpha.1 version...
Thank for the help!

Having the same issue. Thought the problem is that the flags are located in images folder and not in img, but changing it, does not help

Changing it to "./images/flags/ad.svg" (replacing all /img to ./images/) helps a little bit, but that it complains about './images/flags/es-ct.svg' which indeed does not exist.

You Have to Put A Dot In Starting

Is this still unresolved?


python-packages markupsafe: 0.15 -> 0.23

markupsafe builds fine. I didn't run nox-review though.
@domenkozar this requires quite some rebuilds (last time I checked, parts of KDE as well). Maybe run this on Hydra first?

You can use following trick to see how many packages changed:

$ nix-env -f . -qaP --drv-path > before
make changes
$ nix-env -f . -qaP --drv-path > after
`$ diff before after

I'll have to try that. Check Travis, all desktop environments need rebuilding

Yeah, sorry still didn't get to test this. How in hurry are you?

No problem. It's for bokeh (#9520), a plotting library. I'm not really
using it, so it can wait.
On Thu, Oct 29, 2015 at 7:57 PM, Domen Kožar<EMAIL_ADDRESS>wrote:

Yeah, sorry still didn't get to test this. How in hurry are you?
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/pull/10673#issuecomment-152286985.

Pushed to staging, thanks


Reorganize Learn section of Dev Portal into subsections

And move up key former Build docs

I'm noting the virtual reorg of the Learn section is live. Let's evaluate and then restructure the directories and files accordingly.


DF Settings Clarity: Search is searching very illogically

Module
DF Settings Clarity 3.2.1
Describe the issue
I think the image best describes it, the search appears to be splitting up the input however it likes and matching the chars in order on anything within the setting and/or description. It's basically like it's doing a .* regex between every character input.
To Reproduce
Steps to reproduce the behavior:

Go to settings and search

Expected behavior
Don't split the search term where there isn't a logical break

So this isn't really something I can prevent as I am using a third-party Fuzzy Search library. The closest solution would be what is proposed in this ticket #178

Does the fuzzy search not return a score to indicate how likely of a match it is? I'd expect those results above to have a pretty low score


How can I mocking addTransactionalDataSources()

I want to write test code without DB Connect so I tried mocking typeorm
When I tried to write test code below
/* eslint-disable max-nested-callbacks */
import { CqrsModule } from "@nestjs/cqrs";
import { Test, TestingModule } from "@nestjs/testing";

import { CommandHandlers } from "../domain/commands/handlers";
import { QueryHandlers } from "../domain/queries/handlers";
import { FaucetService } from "./faucet.service";
import { getRepositoryToken } from "@nestjs/typeorm";
import { Faucet } from "@src/shared/entities";
import { HealthCheckResponseDto, RequestFaucetDto, RequestFaucetResponseDto } from "../domain/dtos";
import { initializeTransactionalContext } from "typeorm-transactional";
import { addTransactionalDataSource, getTransactionalContext } from "typeorm-transactional/dist/common";

describe("FaucetService", () => {
    let faucetService: FaucetService;

    jest.mock('typeorm-transactional', () => ({
        Transactional: () => () => ({}),
    }));

    const mockFaucetRepository = {
        save: jest.fn(),
        findOne: jest.fn()
    };

    beforeEach(async () => {
        const transactionalContext = getTransactionalContext();
        if (!transactionalContext) {
            initializeTransactionalContext();
        }

        const module: TestingModule = await Test.createTestingModule({
            imports: [CqrsModule],
            providers: [FaucetService, ...CommandHandlers, ...QueryHandlers,
                {
                    provide: getRepositoryToken(Faucet),
                    useValue: mockFaucetRepository,
                },
            ]
        }).compile();
        await module.init();
        faucetService = module.get<FaucetService>(FaucetService);

    });

    describe("healthCheck", () => {
        it("should return HealthCheckResponseDto", async () => {
            const resp = HealthCheckResponseDto.of({ result: "HealthCheck :)" });
            expect(await faucetService.healthCheck()).toStrictEqual(resp);
        });
    });

    describe("requestFaucet", () => {
        it("should return 'RequestFaucetResponseDto", async () => {
            const resp = RequestFaucetResponseDto.of({ result: "done" });
            const mockBody = RequestFaucetDto.of({ address: "5FvBpTg5eoowM87vvBeiRmFUPvVPAZyVbkE9GrYhb9Fw6nGZ", amount: 1 });
            const mockRemoteAddress = "<IP_ADDRESS>";

            expect(await faucetService.requestFaucet(mockBody, mockRemoteAddress)).toStrictEqual(resp);
        });
    });
});

It comes error like this
  No data sources defined in your app ... please call addTransactionalDataSources() before application start

Any solution about this?

Since your test does not operate with database and you mocked Transactional annotation, you probably don't need to initialize transactional context. Try removing first 3 lines in your beforeEach block.

Has anybody figured out how to mock @Transactional?

I just add this code and works
jest.mock("typeorm-transactional", () => ({
    Transactional: () => () => ({}),
    runOnTransactionCommit: () => () => ({}),
    runOnTransactionRollback: () => () => ({}),
    runOnTransactionComplete: () => () => ({})
}));

@sweatpotato13 thanks for the reply... I tried your suggested code, and I still get the following:
No storage driver defined in your app ... please call initializeTransactionalContext() before application start.

      31 |
      32 |   beforeEach(async () => {
    > 33 |     const transactionalContext = getTransactionalContext();
         |                                                         ^
      34 |     if (!transactionalContext) {
      35 |       initializeTransactionalContext();
      36 |     }

@sweatpotato13 and for anyone else in my situation...
UPDATE - Great news! I moved the jest.mock to be outside of the top-level describe block, just below my import statements, and added a mock for initializeTransactionalContext and it worked!
In this example, I have a 'MyController' which has a createAndSave endpoint with @Transactional() decorator above it.
import { initializeTransactionalContext } from "typeorm-transactional";
import { Test, TestingModule } from "@nestjs/testing";
import { getRepositoryToken } from "@nestjs/typeorm";
import { MyService } from "./my.service";
import { MyController } from "./my.controller";
import { MyEntity } from "./my.entity";

jest.mock("typeorm-transactional", () => ({
  Transactional: () => () => ({}),
  runOnTransactionCommit: () => () => ({}),
  runOnTransactionRollback: () => () => ({}),
  runOnTransactionComplete: () => () => ({}),
  initializeTransactionalContext: () => ({}),
}));

describe("MyController", () => {
  let myController: MyController;
  let myService: MyService;
  let app: TestingModule;

  const mockMyRepository = jest.fn(() => ({
    findOne: jest.fn(),
    find: jest.fn(),
    // etc.
  }));

  beforeEach(async () => {
    initializeTransactionalContext();

    app = await Test.createTestingModule({
      controllers: [MyController],
      providers: [
        MyService,
        {
          provide: getRepositoryToken(MyEntity),
          useValue: mockMyRepository,
        },
      ],
    }).compile();
    await app.init();

    myController = app.get<MyController>(MyController);
    myService = app.get<MyService>(MyService);
  });

  const testEntity: MyEntity = {
    id: "1",
    name: "my1",
  };

  beforeEach(() => {
    jest.clearAllMocks();
  });

  afterAll(async () => {
    await app.close();
  });

  describe("createAndSave", () => {
    it("should create a My record", async () => {
      jest.spyOn(myService, "createAndSave").mockResolvedValueOnce(testEntity);
      const result = await myController.createOne(testEntity);
      expect(result).toMatchObject(testEntity);
    });
  });
});


The console screen does't clear after exiting mitmproxy

Problem Description
I do not know if this is normal, but when I exit from mitmproxy, the console does not clear.
Steps to reproduce the behavior:

Open mitmproxy
Close that

System Information
Mitmproxy: 9.0.0.dev (+13, commit 3eab9f0)
Python:    3.10.4
OpenSSL:   OpenSSL 3.0.3 3 May 2022
Platform:  Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.35

At the bottom left it says "Quit (yes, no)", did you see that?

I don't have access to a Windows machine right now to test it. But can you confirm that after hitting y the process actually exits? What I mean is, is the terminal not cleared or does y not actually exit the process? You should be able to check the process manager for mitmproxy and see if it goes away after trying to exit.
This could also be https://github.com/urwid/urwid/issues/487 or does it behave differently?


Date handling in monitor doesn't work on macOS

as the title says.

Does date +%s return a timestamp on macOS? If so, it's the parsing of the snapshot timestamp.

that returns a timestamp. Issue is ```
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
expr: syntax error
expr: syntax error
bin/backup: line 101: [: -lt: unary operator expected
bin/backup: line 104: [: -lt: unary operator expected

so -d doesn't work

I am fixing with brew install coreutils and will provide PR to choose appropriately

closing via https://github.com/binarybucks/restic-tools/pull/5


APPLICATIONINSIGHTS_CONNECTIONSTRING not matching Azure Monitor docs

The document states that the key name for App Insights connection string is
APPLICATIONINSIGHTS_CONNECTIONSTRING but when looking at ARM templates created by the Azure Portal and in the Azure Monitor docs, the key name is different, it is:
APPLICATIONINSIGHTS_CONNECTION_STRING
Im guessing the ARM template and Azure Monitor docs are the right. Can you confirm and update this article?

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

ID: 18aa54fd-3aa1-37c5-925c-51a0195b1030
Version Independent ID: 60198016-1ea9-e7ae-b00b-2c665d5ad8ca
Content: App settings reference for Azure Functions
Content Source: articles/azure-functions/functions-app-settings.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Hi @mikanyg Thanks for your feedback. We will review and update as appropriate.

@mikanyg PR has been created for this which will address this. Thanks so much for providing the feedback that help us in improving the documentation. For now I will proceed with closure of this and If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Sampling insert lengths did not find at least two usable lengths

Downloaded fastqs from here https://www.ebi.ac.uk/ena/browser/view/SRX143960?show=reads
Build the reference using your data in the test folder
bowtie2-build ecoli-GCF_000005845.2_ASM584v2_genomic.fa my_reference
Map and Align the reads
bowtie2 -p 32 -X 2000 -x my_reference -1 SRR490124_1.fastq.gz -2 SRR490124_2.fastq.gz | samtools sort -m 10G -@ 4 -T _tmp -o my_mappings.bam -
Try and simulate the data
reseq illuminaPE -j 8 -r ecoli-GCF_000005845.2_ASM584v2_genomic.fa -b /data/my_mappings.bam -1 my_simulated_data_1.fq -2 my_simulated_data_2.fq --adapterFile /ReSeq/adapters/TruSeq_single.fa --adapterMatrix /ReSeq/adapters/TruSeq_single.mat
Error
!!! bool reseq::InsertLengthSpline::GetSamplePositions(const reseq::Vect<long unsigned int>&) [/ReSeq/reseq/FragmentDistributionStats.cpp:1686]: error: Sampling insert lengths did not find at least two usable lengths.
!!! bool reseq::Simulator::Simulate(const char*, const char*, reseq::Reference&, reseq::DataStats&, const reseq::ProbabilityEstimates&, reseq::uintNumThreads, reseq::uintSeed, reseq::uintFragCount, double, reseq::RefSeqBiasSimulation, const string&, const string&, const string&, const string&, const string&) [/ReSeq/reseq/Simulator.cpp:2844]: error: An error occurred in the process: Terminating simulation

Thank you for the detailed report, but unfortunately I could not reproduce the issue.
I followed your workflow except of redownloading the data and reference, because as you most likely know, they are already one of my test cases.
One thing I noticed is that you are providing absolute paths instead of relative and the positions are unlikely to contain the files, but I assume you shortened the paths for the post and if the files cannot be found or are problematic you should get errors before. Anyways, to use the provided adapters --adapterFile TruSeq_single should be enough.
I used the latest version of the devel branch for the test, but since it is one of my test cases it is unlikely (not impossible, since you skipped some of the preprocessing) that the errors occur with a different version.
I suggest you check if your downloaded files are complete and correct. If this is the case, you can send me an email<EMAIL_ADDRESS>and I can provide you with my files (.bam/.reseq/.reseq.ipf) and you can check if the simulation step still crashes using those and if that is not the case if the whole pipeline crashes starting from my bam file. This might provide insight into where our results are diverging.
Even if this turns out to not be a bug in the software I would be interested to hear, why it occurred, to improve the error message and help other users with the same issue.

I actually provided the wrong mapping and alignment commands:
zcat SRR490124_1.fastq.gz | head n400 > SRR490124_1_400.fastq
zcat SRR490124_2.fastq.gz | head n400 > SRR490124_2_400.fastq

bowtie2 -p 32 -X 2000 -x my_reference -1 SRR490124_1_400.fastq -2 SRR490124_2_400.fastq | samtools sort -m 10G -@ 4 -T _tmp -o my_mappings.bam -
When I don't subsample the fastq, the software works just fine.

I am not surprised that something crashes with just 100 reads. I never tested it, because crash or not the results will not be good. It is simply not enough data to extract proper statistics. What are you trying to achieve with this drastic downsampling? Or if this was just a test for low number of reads, what is your use case?

It was purely to test using a low number of reads. Thank you for following up with my question.

Thank you. I added the information about issues with very low number of reads to the error message.


Added enter and exit methods to oandapyV20

Support with statement from PEP343
Close requests.Session on exit
The unclosed requests.Session was throwing an unclosed socket in my unit tests.  Similar findings were found in https://stackoverflow.com/questions/48160728/resourcewarning-unclosed-socket-in-python-3-unit-test
The stackoverflow link shows some other suitable workarounds.
with API(access_token=access_token, environment=env) as client:
    r = trades.TradesList(accountID)
    rv = client.request(r)
    print("RESPONSE:\n{}".format(json.dumps(rv, indent=2)))

Coverage decreased (-0.2%) to 99.077% when pulling adbc099048814c0ff18c0956946f61dfb2615fb4 on ricfaith:close-requests-session-with-exit into 3ec71d331b509750c4985db0a9b73bec6bf5f9f7 on hootnot:master.

@ricfaith I'll have a look at it this weekend. Sounds like a good change

@ricfaith merged your code with a small change: I added a close method allowing to explicitly close the session also.
exiting code can be extended that way by simply adding the line:

client = API(...)
client.request(...)

client.close()

thanks!


pod install

Command
/usr/local/bin/pod install

Report

What did you do?

What did you expect to happen?

What happened instead?

Stack
   CocoaPods : 1.11.3
        Ruby : ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]
    RubyGems : <IP_ADDRESS>
        Host : macOS 12.6 (21G115)
       Xcode : 14.0 (14A309)
         Git : git version 2.37.0 (Apple Git-136)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : trunk - CDN - https://cdn.cocoapods.org/

Plugins
cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-stats       : 1.1.0
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0

Podfile
# Uncomment this line to define a global platform for your project
platform :ios, '11.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

Error
ArgumentError - Illformed requirement `"^2.6.0"`
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/requirement.rb:63:in `parse'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/requirement.rb:88:in `block in initialize'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/requirement.rb:88:in `map!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/requirement.rb:88:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/requirement.rb:34:in `new'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/requirement.rb:34:in `create'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/dependency.rb:101:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification/consumer.rb:233:in `new'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification/consumer.rb:233:in `block in dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification/consumer.rb:232:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification/consumer.rb:232:in `map'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification/consumer.rb:232:in `dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification.rb:403:in `block in dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification.rb:402:in `map'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/specification.rb:402:in `dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/validator.rb:44:in `initialize'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/external_sources/abstract_external_source.rb:201:in `new'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/external_sources/abstract_external_source.rb:201:in `validator_for_podspec'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/external_sources/abstract_external_source.rb:186:in `validate_podspec'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/external_sources/abstract_external_source.rb:178:in `store_podspec'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/external_sources/path_source.rb:17:in `block in fetch'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/external_sources/path_source.rb:11:in `fetch'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:993:in `fetch_external_source'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:972:in `block (2 levels) in fetch_external_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:971:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:971:in `block in fetch_external_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:970:in `fetch_external_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:117:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:416:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:241:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:240:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:161:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

Can you please try with version 3.0.0-beta.1? I can't see why this would be caused by this package.


Allow multiple tabs of the app in the same browser

Multiple instances of this app would try to overwrite each other. This could be prevented if only one would be allowed to access the database.

Approach 1: Store multiple Character sheets. Each sheet can only be opened once (ask other tabs using window message). On startup, ask the user for a sheet if there is more than one available.

Approach 2: Only the first tab opened is allowed to access the database.

Workaround: Multiple "Sub-Sheets" can be stored within one sheet. Use the summoning jutsu.


Updated codebase to ES2015

PLEASE REVIEW BUT DO NO MERGE INTO master.
This is the first prerequisite step for ReactFire 2.0.0. This updates the entire codebase to use ES2015 and get transpiled via Babel. I intentionally chose to not fix the lint issues in the source and test files since it would be a lot of wasted work since hardly any of that code is going to be re-used in ReactFire 2.0.0.
I also updated almost every dependency to the latest and simplified the ESLint configuration to use the default used by the Airbnb style guide.

Thanks for the review! I fixed both things, but I'm assigning this back to myself until I get Travis passing.

Woot, Travis is passing! Back to you @tstirrat!

Back to you again @tstirrat.

LGTM!
🎾

Thanks! I'm going to keep this branch around and use it to track the ReactFire 2.0.0 effort. More PRs hopefully coming sooner rather than later.

Why not merge this right now?

There's nothing to merge yet. All this does is update the code to use ES2015. It doesn't affect the output library or add any new features. It is simply a setup step in order to get a 2.0.0 release out.

Changes Unknown when pulling 417c7afd8cb5fe6fcadbf2d2db619acf621f8f56 on jw-es6 into ** on reactfire2**.


get balance card and latest transactions cards working and updating

code already exists to some extent, this will all be fixed

There is now a subscription from new block that triggers all the rc state update functions and then once received triggers an update signal on the main loop. New blocks are the only event that really changes any state so this is the right time to update, it takes about 1 second and then redraws after each new block


[0.8.1] Duplicate entries in Spool history

1 job (which BTW didn't raster when it should have), 4 entries....

Logic added to prevent duplicate entries, although not sure from where it came from. So more a bandaid than a patch.

If it is any help I noticed that entries are added if I close and open the spooler window.

The issue is that on a window load when it registers the signal, in this case, "spooler;completed" it force resends the last valid signal. This is so that if you have some text boxes that are filled and updated with signals, you don't need the signal to fire after the window loads. The signals always save the last signal and when registered it "sends" the last detected signal so that that box will always have the last valid information.
The problem here is that the spooler history is actually using signals to send the information and the spooler window is doing the logging. So each time you re-open the window, you actually get that last signal again, which saves but could have already been added to the logs.
    @signal_listener("spooler;completed")
    def on_spooler_completed(self, origin, info, *args):
        # Info is just a tuple with the label and the runtime
        # print ("Signalled...", type(origin).__name__, type(info).__name__)
        if info is None:
            return
        if len(info) > 1 and info[1] is None:
            return
        self.refresh_history(newestinfo=info)
        self.save_history()

#1540 should also be helpful in correcting this, while it doesn't do this work yet, since it's touching on code jpirnay authored almost exclusively, the spoolers should be able to log their own information about what they did and use a signal to notify any windows which may be open (but do not need to be open) that the recorded history has changed. This is also intended to allow additional information like original time estimate to be saved to the log without needing to display in the spooler, etc. So if we have potentially useful information, we can record that information without needing to use it. Also, we could hide entries in the log rather than needing to clear the entire set of logs, since that gets a lot easier when we're just passing info to and from a consistent source.


Could be possible to only compress when building?

It looks like when I'm on dev mode still compresses al the files

The plugin does not compress anything in dev mode. The problem is that the plugin always prints the log "Compressing bundled files..." even it does nothing.
I released a new version 1.0.5 where I moved this log statement. The plugin now only prints it when it starts compressing files.

Thank you 🙂


Some Project Cars 1's Tracks BFFs cannot be extracted.

Some Track BFFs cannot extracted, usually, half of the BFFs having "GP" on their name.

Try with 1.1.4.


MONDO:0000884 & MONDO:0013296 myeloid neoplasm associated with FGFR1 rearrangement [Merge]

Mondo term (ID and Label)
MONDO:0000884 myeloid and lymphoid neoplasms associated with FGFR1 abnormalities
Reason
Exact match on one of these is same name as other
Myeloid/lymphoid neoplasm associated with FGFR1 rearrangementORDO
DOID definition is A myeloid and lymphoid neoplasms with eosinophilia and abnormalities of PDGFRA, PDGFRB, and FGFR1 that is characterized by the rearrangement of the FGFR1 gene, resulting in translocations with an 8p11 breakpoint. (80167) that matches syns/ molecular etiology on the other term.
**term to merge with **
MONDO:0013296 myeloid neoplasm associated with FGFR1 rearrangement

Dear @kanems,
Thank you for reaching out to the Mondo Disease Ontology, part of the Monarch Initiative!
We have received your ticket and will review it as soon as possible.
If you have any additional information or updates relevant to your inquiry, please add them in a comment on this ticket. Your input is valuable in helping us understand and resolve the issue effectively.
Thank you for your patience and for your contributions to Mondo!
Sincerely,
The Mondo Team

@kanems Thank you for this request!
For the reasons that you state, MONDO:0000884 myeloid and lymphoid neoplasms associated with FGFR1 abnormalities will be merged into MONDO:0013296 myeloid neoplasm associated with FGFR1 rearrangement.
This change will appear in the next release of Mondo.


Made navbar responsive

The navbar was non-responsive so I made some changes in the HTML and CSS code. For small screens the navbar would contain a hamburger icon. @akshitagupta15june

@riyaVerma1726 Please refrain from submitting a pr before getting assigned to the issue, @akshitagupta15june will soon begin assigning issues on a first come first serve basis.


ElementArrayFinder#reduce is inconsistent with Array#reduce

In case when initialValue is not provided Array#reduce uses first value as first argument in reduce callback and ElementArrayFinder#reduce just fails with runtime exception.
var sum = [ 1, 2, 4 ].reduce(function(sum, item) {
   return sum + item;
}); //7

element.all(by.repeater('item in items')).reduce(function(first, second) {
   // first is undefined. runtime exception
});

And I believe https://github.com/angular/protractor/blob/master/lib/element.js#L560 should use reduce instead of forEach.

Yeah, we should fix that inconsistency.

I wouldn't call this a bug. Consider the typical use case:
var value = element.all(by.css('.items li')).reduce(function(acc, elem) {
  return elem.getText().then(function(text) {
    return acc + text + ' ';
  });
}, '');

// value is now a promise resolving to 'First Second Third '

Now, if you don't pass the initial value, it makes little sense to use the first element in the elementArrayFinder (which is an element finder) as the initial value.
I don't even know how to use reduce if acc took the initial value as an element finder:
var value = element.all(by.css('.items li')).reduce(function(acc, elem, index) {
  // acc could be an elementfinder or a promise of a value
  if (index == 0) {
    ?? // acc is an elementFinder
  } else {
    ?? // acc is a promise of the previously return value
  }
});

The only when this can be useful is when resulting promise resolves to ElementFinder (e.g. sort or another kind of comparison)
sortedItems = element.all().reduce(function(first, second){
  return promise.all([ first.getText(), second.getText() ]).then(function(texts) {
   return texts[0] > texts[1] ? first : second;
})
})

I'm not convinced this is actually useful (given the reasons I gave above), and I'm worried about people forgetting the initial value and getting weird results.
I'll leave this issue open for now and see if anyone else wants this behavior. For now I've fixed the docs to be correct: https://github.com/angular/protractor/commit/d7bb003062077833c491820ec39cf73592bc6c13

@hankduan currently user also may forget to pass initial value and  receives runtime error or weird result
I believe  underscorejs is popular enough and that _.reduce is one of the most used functions, don't believe somebody won't see if forgets accumulator. So, please read their description http://underscorejs.org/#reduce

Sorry for the slow responses - I agree with Hank here, the best way to avoid anyone shooting themselves in the foot is to require an initial value. Thanks for the discussion!


KAFKA-15399: Enable OffloadAndConsumeFromLeader test

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test Report

[SUCCESS] (1) create topic: Topic[name=topicA partition-count=1 replication-factor=1 segment-size=1 assignment=null properties={remote.storage.enable=true, local.retention.bytes=1, index.interval.bytes=1, segment.index.bytes=12}]

[SUCCESS] (2) produce-records: topicA-0
    ProducerRecord(topic=topicA, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k1, value=v1, timestamp=null)
    ProducerRecord(topic=topicA, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k2, value=v2, timestamp=null)
    ProducerRecord(topic=topicA, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k3, value=v3, timestamp=null)
    Segment[partition=topicA-0 offloaded-by-broker-id=0 base-offset=0 record-count=1]
    Segment[partition=topicA-0 offloaded-by-broker-id=0 base-offset=1 record-count=1]

[SUCCESS] (3) create topic: Topic[name=topicB partition-count=1 replication-factor=1 segment-size=2 assignment=null properties={remote.storage.enable=true, local.retention.bytes=1, index.interval.bytes=1, segment.index.bytes=24}]

[SUCCESS] (4) produce-records: topicB-0
    ProducerRecord(topic=topicB, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k1, value=v1, timestamp=null)
    ProducerRecord(topic=topicB, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k2, value=v2, timestamp=null)
    ProducerRecord(topic=topicB, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k3, value=v3, timestamp=null)
    ProducerRecord(topic=topicB, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k4, value=v4, timestamp=null)
    ProducerRecord(topic=topicB, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=k5, value=v5, timestamp=null)
    Segment[partition=topicB-0 offloaded-by-broker-id=0 base-offset=0 record-count=2]
    Segment[partition=topicB-0 offloaded-by-broker-id=0 base-offset=2 record-count=2]

[SUCCESS] (5) consume-action:
  topic-partition = topicA-0
  fetch-offset = 1
  expected-record-count = 2
  expected-record-from-tiered-storage = 1

[SUCCESS] (6) consume-action:
  topic-partition = topicB-0
  fetch-offset = 1
  expected-record-count = 4
  expected-record-from-tiered-storage = 3

Content of local tiered storage:

Broker IDFile                                       | Offsets |      Records
----------------------------------------------------------------------------------------
topicA-0                                            |         |
<PHONE_NUMBER>0000000000-z5vzX2egQSWFoceLXBFIpw.log |       0 |     (k1, v1)
                                                    |         |
<PHONE_NUMBER>0000000001-f33sDWOvTCWlMkiwxlbo4Q.log |       1 |     (k2, v2)
                                                    |         |
topicB-0                                            |         |
<PHONE_NUMBER>0000000000-iCzBGsRPRuuGfYY3XqCNgg.log |       0 |     (k1, v1)
                                                    |       1 |     (k2, v2)
                                                    |         |
<PHONE_NUMBER>0000000002-MQelU_s8SvO2mC_BcFqDBg.log |       2 |     (k3, v3)
                                                    |       3 |     (k4, v4)
                                                    |         |

@satishd @divijvaidya @showuon @clolov
Call for review. PTAL.

@clolov has a national holiday today. Merging this in since we have 2 approvals already and merging this test is time sensitive due to code freeze. We can address his comments once he is back in a separate PR.

Merging into 3.6