User management

Codecov Report

Merging #5536 into master will decrease coverage by 0.02%.
The diff coverage is 88.31%.

@@             Coverage Diff              @@
##             master    #5536      +/-   ##
============================================
- Coverage     82.78%   82.75%   -0.03%
- Complexity    11454    11579     +125
============================================
  Files          1360     1378      +18
  Lines         44427    44799     +372
  Branches       5535     5569      +34
============================================
+ Hits          36778    37074     +296
- Misses         5079     5138      +59
- Partials       2570     2587      +17

Impacted Files
Coverage Δ
Complexity Δ

...er/src/main/java/io/crate/sql/tree/AstVisitor.java
29.26% <0%> (-3.79%)
36 <0> (-4)

...main/java/io/crate/analyze/CreateUserAnalyzer.java
100% <100%> (ø)
2 <2> (?)

...ava/io/crate/operation/user/WriteUserResponse.java
100% <100%> (ø)
6 <6> (?)

...ava/io/crate/protocols/postgres/PostgresNetty.java
85.22% <100%> (ø)
20 <0> (ø)
:arrow_down:

...va/io/crate/analyze/DropUserAnalyzedStatement.java
100% <100%> (ø)
4 <4> (?)

.../main/java/io/crate/action/sql/SessionContext.java
100% <100%> (ø)
9 <3> (+1)
:arrow_up:

...src/main/java/io/crate/module/CrateCoreModule.java
89.18% <100%> (+0.61%)
3 <0> (+1)
:arrow_up:

...a/io/crate/operation/auth/TrustAuthentication.java
100% <100%> (ø)
6 <1> (ø)
:arrow_down:

sql/src/main/java/io/crate/plugin/SQLModule.java
100% <100%> (ø)
2 <0> (ø)
:arrow_down:

...ion/reference/sys/RowContextReferenceResolver.java
84.82% <100%> (+0.13%)
19 <1> (+1)
:arrow_up:

... and 77 more

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 a2de066...0c1da4a. Read the comment docs.


kmod-batman-adv compile from packge batman-adv

This is correct, but here we are talking about runtime dependency and the package is called kmod-batman-adv.
https://github.com/openwrt/routing/blob/master/batman-adv/Makefile#L101


feat: change to manage versions by JSON file in installation directory

Description

Now users can keep their data even if they change the installation path.
BREAKING CHANGE: All installation information will be reset.
Related Issue

Closes #45
Motivation and Context

Reference #45
How Has This Been Tested?

OS: Windows 10 Home
Version: 21H1
Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@mitosagi Could you please debug this?

I fixed it.


[WIP] Build goal to clarifier agent refactor

Changes:

Removed build_goal step
Implemented clarifier agent that can collect missing information or terminate the run if the goal is out of scope
Removed liquidity research test as it is not a clear one
Research tests are now e2e (integration tests like before perform differently and are not as useful)
Prompt improvements to SendTokensAgent and SwapTokensAgent
Removed test_analyze_prompt tests that tested build_goal directly, will implement them as e2e in a follow up PR

/workflows/benchmarks agents/token 10

/workflows/benchmarks agents/token/send 10

/workflows/benchmarks agents/token/test_swap_and_send.py 5

/workflows/benchmarks agents/token/research/test_research.py 5

/workflows/benchmarks agents/token/research/test_research_and_swap.py 5

/workflows/benchmarks agents/token/test_swap_and_send.py 1


Android Support

I built this plugin in a day using Accelerate/vImage APIs (they are insanely fast!).
I didn't have the time to build an Android version of this plugin yet, as I am frankly not even sure if Android has such APIs.
I talked to @rodgomesc about this, maybe we can use Halide on Android to work on AHardwareBuffers efficiently - but I haven't done any research on this yet.
Related:

Fast Image Processing in Android With Halide (medium)
https://github.com/rodgomesc/pixi (https://github.com/rodgomesc/pixi/commit/8f826674854e832af0424ff2f0c7b507fc423b6e)
https://halide-lang.org

Maybe libyuv-android can help

Yea that looks interesting - I need it to run on either a AHardwareBuffer or a ByteBuffer.

Fixed in #9 ! Android is now implemented with libyuv :)
Gotta go to sleep now haha


feat: notifications history

I think we might want to put a notifications icon link on the home page or make it one of the bottom tabs. I think it may be too hidden in the settings menu. Could be nice to have some indicator that there were unread notifications as well.

I'm not sure mocking with transaction is the best way to get a feel for this component assuming we don't want transaction data in the notification history?

Merging this in order to see notifications in app so that we can reiterate on UI


Monsters only spawn in light

I looked into this one, it seems a bit difficult. I can't really find a central place to mixin.


Version upgrade

Issue #, if available:
Description of changes:
Updating version to 3.20.10
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@NihalM99 can you also please tag a release in git ?


KeyboardShouldPersistTaps={true} has been deprecated in ScrollView.

Team,
KeyboardShouldPersistTaps={true} has been deprecated in ScrollView. Should be replaced by value always..

I have some issue

Check out peacechen/react-native-modal-selector, it is an updated fork which have fixed this and other issues.


Name for choice value incorrectly truncated

Describe the issue
In compute 2019-12-01 HardwareProfile defines a large (unsealed) choice.  One of the choices has the name truncated resulting in duplicate names.
"Standard_GS3",
"Standard_GS4",
"Standard_GS5",
"Standard_GS4-8",
"Standard_GS4-4",
"Standard_GS5-16",

Choice Standard_GS4-4 is incorrectly named StandardGS4 which already exists.  It should be named StandardGS44.
** REQUIRED **
ModelerFour version: 4.13.339
AutoRest-core version: 3.0.6274
CommandLine :
OpenAPI/Swagger file:
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/compute.json

Blocking one of our target libraries.

It looks like this is due to some logic in the style formatters we use for names which removes one of the pair adjacent duplicate entries in the name (4 and 4 in this case).  There's a way to disable this behavior conditionally for different name types but I want to check with @fearthecowboy first to determine whether it's "safe" to turn it off for enums.

I'd be nervous of arbitrarily turning it off for a class of things, but I don't see another way.
Enum value names shouldn't ever be accidentally including duplicate words (unless they used duplicate words in the value itself?) , so ... yeah, turning it off for enum values may not be a bad idea at all.

This is fixed in the modelerfour version 4.13.348.

Confirmed fixed by @jhendrixMSFT, closing.


Cfn-lint fixes

Description of changes:

Updated OpenShiftSecret, GIAdminSecret SecretString values.
Added egress rule to BootnodeSecurityGroup.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

taskcat_outputs.zip


Rename the ui-js repository into a more understandable project name

The front-end is stored in ui-js repository
Let's rename it with a new name
@lalalaurentiu found out that the code sits in Testing branch
Let's move the code to the MAIN branch

@emese85  please give us some OPTIONS for name of the repository

renamed: https://github.com/peviitor-ro/search-engine


Reduce reserved CPU/memory of worker node

What would you like to be added:

reduce default reserved CPU/memory for worker node itself, so that some resource can be released for scheduled job.
document current behavior of reserved resources, and how to adjust it, if it's possible.

Why is this needed:
If user has a computer with 32G mem, there is only 16G for job scheduling. System reserved half of memory in this case, and similar with CPU core also.
Without this feature, how does the current module work：
There is no workaround so far.
Components that may involve changes:
Deployment

Before start this work, we need to have metrics and goals to measure reserved CPU/Memory usage.

will address it in pure k8s version.


line 1: could not parse: 0 HEAD

Hello, I've built gedcom2html (with go1.11 windows/amd64) but when I run it with a gedcom export from latest FTM I get the following:
gedcom2html -gedcom my.ged
2018/09/24 21:43:16 line 1: could not parse: 0 HEAD
head my.ged
0 HEAD
1 CHAR UTF-8
1 FILE my.ged
1 SUBM @SUBM@
1 GEDC
2 VERS 5.5.1
2 FORM LINEAGE-LINKED
0 @SUBM@ SUBM
1 NAME metaben
1 EMAIL metaben@metaben
Is this about line endings? The version of the gedcom? Something silly I missed? Thanks :)

Your usage is correct.
Hm... I suspect it's either line endings or a BOM marker at the start of the file. Would you be able to send me the file or just the first few lines?
My email is on my profile: https://github.com/elliotchance

@metaben thanks for sending the sample, fixed: https://github.com/elliotchance/gedcom/releases/tag/v23.3.1


fix: handle errors in store.set method and return result status

Please check if the PR fulfills these requirements

[x] Followed the Contributing guidelines.
[x] Tests for the changes have been added (for bug fixes/features) with 100% code coverage.
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
ref: https://github.com/jaredwray/keyv/issues/1244

@Sadzurami - thanks so much for this fix. I added in the linting and tests to make it work. Should have this fix rolled out in 2-3 weeks.


JavaScript

#JavaScript
##User Story
As a boot camp student
I want the prework noted to be structured on a webpage
So that I can easily find and read the information
#Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

finished JS


is support vs2017?

is support vs2017?

The installer warns that VS 2017 is not supported and that installing VsChromium for VS 2017 could cause instability. I'm trying to move towards using VS 2017 and it would be great to get VS Chromium support for VS 2017.

I did some testing, and VsChromium seems to work fine with VS 2017. The warning from the installer is just that... a warning. The reason there is a warning is that the vsix manifest format has been updated for VS 2017, and VS 2017 "blindly" warns when trying to use any extension that does not expose the new format (source: http://www.visualstudioextensibility.com/2017/01/10/its-time-to-change-the-vsix-manifest-of-your-extension-to-v3-for-visual-studio-2017-compatibility/).
I need to spend some time to figure out how to upgrade the manifest format, but VS 2017 hung when I tried to load the vs-chromium solution (after a failed conversion), so it does not look like it is as easy/trivial as I had hoped.

Good to hear. I'm using it in VS 2017 and so far it's looking promising.

great~


Is it possible to build a Web App with Flutter, like DartWeb？

So far I've only found Android apps and IOS apps, and I want it to build an app that runs directly on the browser

https://flutter.io/faq/#does-flutter-run-on-the-web


More documentation

Codecov Report

Merging #36 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #36   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          11     11
  Lines         375    375
  Branches       26     26
=====================================
  Hits          375    375

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 050d0af...3097977. Read the comment docs.

Codecov Report

Merging #36 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #36   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          11     11
  Lines         375    375
  Branches       26     26
=====================================
  Hits          375    375

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 050d0af...3097977. Read the comment docs.


generateClasses Type 'Record<string, string | FormKitClasses | Record<string, boolean>>' is not assignable to type

Reproduction
none
Describe the bug
Error when using generateClasses from import { generateClasses } from '@formkit/themes' .
I have installed this packages:
"dependencies": {
"@formkit/addons": "latest",
"@formkit/icons": "^0.17.4",
"@formkit/pro": "^0.112.7",
"@formkit/themes": "^0.17.4",
"@formkit/vue": "latest",
"@headlessui/vue": "^1.7.13",
"@heroicons/vue": "^1.0.6",

Environment
• OS: windows
• Browser chrome
• Vs Code

well isn't that strange? what would be the difference between string | FormKitClasses | Record<string, boolean> and string | Record<string, boolean> | FormKitClasses?

Looks like order is diferent, because FormKitClasses is on latest place.

That shouldn't matter to TS at all, that is the strange part. did you restart the TS server to see if the problem still exists?

I restart everything.

@justin-schroeder and @andrew-boyd any idea on what it could be?

Almost for sure this is different versions of FormKit being installed. I would suggest you manually lock your versions to 0.17.4 (remove latest for example) delete your lock file and node_modules and try re-installing — then restart your vue server.
Also make sure your project is in Takeover mode.


make -v cycle between different verbosity settings

Make the ‘-v’ option cycle between nothing, ‘--verbose’, and ‘--verbose
--verbose’. This was suggested before
(https://github.com/wbolster/emacs-python-pytest/pull/22#pullrequestreview-453656210)
but wasn't possible at the time of #22 because it seemed impossible due
to magit-popup.el limitations.
Now that the dispatch menu uses transient.el instead of magit-popup.el
(#18, #26), it can be implemented after all.

@r-zip @pkryger please review :pray:


Feat/skapres

This PR adds the main functionality of the locker system. It also includes a CameraFeed component.
Currently, there is no limit on how long a reservation can be set to, and all members of a group can reserve a locker for the group. We might want to add some limitations here in the future.
The frontend could also be improved.

I also think the add locker res. should be possible from /lockers and not just admin


Need a script to check dependencies license

[x] I have searched the issues of this repository and believe that this is not a duplicate.
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.

As discussed in<EMAIL_ADDRESS>In order to make sure all dependencies license is suitable for dubbo, we need a quick way (such as a convenient script) to check dependencies license.

Also need think about situation like: https://github.com/apache/incubator-dubbo/issues/3790

The pr have been merged。


"Cancelled" error when refreshing FreshRSS feeds on iOS 18.x

When refreshing a FreshRSS account's feeds within several minutes of another action, the progress bar stops early, and the process errors out with the following message:

The refresh runs successfully if repeated immediately afterwards. When testing a device on iOS 17 with the same FreshRSS instance, the problem does not occur, no matter how many times the feeds are refreshed or how quickly.

Looks like this issue is related to an issue with the quic-go library in Caddy with iOS 18--as commenters mention, it's particularly noticeable with Miniflux. Which is exactly what I use!
https://caddy.community/t/caddy-http-3-quic-and-the-new-apple-software-today/25660
Closing this out since it's not related to NetNewsWire. Thanks for a great app!


Added return type for bucket function

Added google.cloud.storage.Bucket return type for storage.bucket function for better typing support

@lahirumaramba how can I rerun the CLA workflow? I wasn't aware of this so I only signed up after the check failed!

@lahirumaramba how can I rerun the CLA workflow? I wasn't aware of this so I only signed up after the check failed!

Thank you! I triggered the CLA check.


Type definition for EcKeyImportParams in lib.dom.d.ts is incorrect according to W3

TypeScript Version:  2.5.2 (according to package.json in the directories above the offending file)
According to https://www.w3.org/TR/WebCryptoAPI/#dfn-EcKeyImportParams, the EcKeyImportParams inherits Algorithm, however in the lib.dom.d.ts file @ line 14022, EcKeyImportParams does not implement anything, which is incorrect and throws an error in Google Chrome 61 if it does not implement the "name" property from Algorithm

PRs welcomed. You can find more information about contributing lib.d.ts fixes at https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes.


figure out how to display/edit variant coordinates in a more compact manner

display as HGVS like string, show preview in edit form

Done.


Station case page

Relates #25

Codecov Report

Merging #84 into master will increase coverage by 1.92%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #84      +/-   ##
==========================================
+ Coverage   89.74%   91.66%   +1.92%
==========================================
  Files          11        9       -2
  Lines          39       36       -3
  Branches        2        2
==========================================
- Hits           35       33       -2
+ Misses          4        3       -1

Impacted Files
Coverage Δ

src/components/BackButton.js
100% <ø> (ø)
: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 25ecc69...630444c. Read the comment docs.


Improve arithmetic operations involving CFTimeIndexes and TimedeltaIndexes

[x] Closes #2484
[x] Tests added (for all bug fixes or enhancements)
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

Hello @spencerkclark! Thanks for submitting the PR.

There are no PEP8 issues in the file xarray/coding/cftimeindex.py !

There are no PEP8 issues in the file xarray/tests/test_cftimeindex.py !

Just add a brief comment here summarizing this, e.g., "# no longer used as
of pandas 0.23"
On Mon, Oct 15, 2018 at 5:36 AM Spencer Clark<EMAIL_ADDRESS>wrote:

@spencerkclark commented on this pull request.
In xarray/coding/cftimeindex.py
https://github.com/pydata/xarray/pull/2485#discussion_r225145820:

     return CFTimeIndex(other + np.array(self))

 def __sub__(self, other):

   return CFTimeIndex(np.array(self) - other)

   if isinstance(other, CFTimeIndex):

       return pd.TimedeltaIndex(np.array(self) - np.array(other))

   elif isinstance(other, pd.TimedeltaIndex):

       return CFTimeIndex(np.array(self) - other.to_pytimedelta())

   else:

       return CFTimeIndex(np.array(self) - other)

def _add_delta(self, deltas):

   # To support TimedeltaIndex + CFTimeIndex with older pandas versions

Yes, this method is not needed with recent versions of pandas. I think the
change that eliminated the need for it was in this PR:
pandas-dev/pandas#19895 https://github.com/pandas-dev/pandas/pull/19895,
which I guess would have made it into pandas version 0.23.0.
I added it because of the failing test in the Windows 32-bit Python 2.7
build that used pandas version 0.22.0. Should I just mark the test as an
expected failure for versions of pandas less than 0.23 and remove this
private method?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pydata/xarray/pull/2485#discussion_r225145820, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABKS1iKDRM5Cgp8ODnM18-bYY1rqidWmks5ulH9dgaJpZM4Xaojb
.


Pinning redis version to >=2.10.6, <3

Fixes #1868

having the exact same issue, version 2.10.6 is good

Likely solved by #1870

@browniebroke django-redis update to ver.: 4.10.0 does not solve all problems with redis==3.  See: #1868

Thanks for the contribution @Egregors!

By chance, does this resolve the security issue with Redis? I just deployed a project to DigitalOcean with redis==2.10.6 and django-redis==4.9.0. The docker config was not changed.
When I brought the instance up, DigitalOcean sent me the following email. If this is a separate issue, I can create a new ticket to dig into it further.

This configuration that was reported to us can allow attackers to gain local access to your Droplet, as well as the ability to read, change, or destroy any data hosted in your Redis instance. This issue could result in severe security breaches, and we strongly urge you to take immediate action to secure your Redis instance. We have several resources available to help you secure your server.
For securing your Redis instance on Ubuntu, refer to this tutorial: https://do.co/redis-security-ubuntu-1404
For securing your Redis instance on CentOS, refer to this tutorial: https://do.co/redis-security-centos-7
We also offer Cloud Firewalls – available in all regions at no additional cost – to protect your Droplet from traffic attempting to access it without permission. Learn more about Cloud Firewalls here: https://do.co/intro-to-cloud-firewalls
The security of all systems in our network is extremely important to us and we strongly encourage you to review your configuration promptly.
Regards,
Trust & Safety
DigitalOcean Security


use " shift + alt + F" and use "right menu" can't format json

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

vscode-JS-CSS-HTML-formatter
lonefy
0.2.2

csharp
ms-vscode
1.8.0

vscode-json-transform
octref
0.1.2

jsonhelper
Young
0.1.0

Steps to Reproduce:

Formatting JSON works for me in the latest VSCode.
Please run VSCode without any extensions. If you still see the issue, please paste the example code here that shows the problem.


add language Sorbian

@tyranja Sorbian is a language that has only iso_639_2 with three characters. I put this language inside the list of iso_639_1. Is it important to create a new correct list? Another question is if the validation for the lenght of the code is necessary. I guess not, because there is no possibility to make anything wrong. I commented it out for now.

Alternatively, we could store and compare all language abbreviations in an array for the purpose of validation. What's your opinion?

@tyranja Yeah, that's totally fine with me!

@sabrina-ulbrich Gonna deploy that today :tada:


Temporarily provide API for enabling mirrors

The Linux shell doesn't currently provide any command_line_args to the Flutter engine or provide any API for an app author to do so.

This exists in the current desktop embeddings for legacy reasons; the goal is not to expose it. There's only one internal use case that still might require this; I need to check if that's still necessary.

This exists in the current desktop embeddings for legacy reasons; the goal is not to expose it. There's only one internal use case that still might require this; I need to check if that's still necessary.

Ah good. I don't have a reason to add this feature other than the existing bindings did it. So please close this issue if it's not necessary.

I checked, and this is still needed. However, rather than allow arbitrary flags and encourage people to potentially rely on this for other things, let's just add a temporary affordance for the specific thing that's needed (retitling accordingly).
So what we need is an FlDartProject option for enabling mirrors which, when set, causes the engine initialization to pass --dart-flags=--enable_mirrors=true as an argument.

@robert-ancell Assigning to you since I assume you're the best person to do this, but if you don't have cycles you can assign it to me.


Runtime support for identity key paths.

Make sure the implementation can handle a key path with zero components by removing inappropriate assumptions that the number of components is always non-empty. Identity key paths also need some special behavior:

Appending an identity key path should be an identity operation for the other operand
Identity key paths have a MemoryLayout.offset(of:) zero
Identity key paths interop with KVC as key paths to @"self"

To be able to exercise and test this behavior, add a Builtin.identityKeyPath() function and WritableKeyPath._identity accessor in lieu of finalized syntax.
rdar://problem/40538312

Build failed
Swift Test Linux Platform
Git Sha - 7e62ffad3c846b5f04df495e246b087822349905

Build failed
Swift Test OS X Platform
Git Sha - 7e62ffad3c846b5f04df495e246b087822349905

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - 7e62ffad3c846b5f04df495e246b087822349905

Build failed
Swift Test Linux Platform
Git Sha - 7e62ffad3c846b5f04df495e246b087822349905

@swift-ci Please test

Build failed
Swift Test Linux Platform
Git Sha - 49b6a092de6deae0f3e7a09675151417d64a7e02

Build failed
Swift Test OS X Platform
Git Sha - 49b6a092de6deae0f3e7a09675151417d64a7e02

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - e3c51d6a4457d12f5d9b8197ac3a3bd20f919e41

Build failed
Swift Test Linux Platform
Git Sha - e3c51d6a4457d12f5d9b8197ac3a3bd20f919e41


Update documentation to let users know that the package is abandoned.

We have the same message on packagist: https://packagist.org/packages/symfony/security
I am not sure if the new version is the security bundle or this one?

Thanks, I'm going to mark the package as abandoned instead.


Dynamic meta injection inside constructor

I was wondering if there could be a way to inject meta tags and title
for any component in their respective constructor.
I have a Search Result component which updates its meta and title
on each different search, but I cant find a way to inject the meta and title dynamically.

There's a module named ngx-meta and other but I'm still not able to implement a method so that crawlers pickup the meta tags


fix(utils): make SVGO not remove title

Motivation
By default, SVGR removes the <title> tag from SVG inputs. This hinders a11y since "the <title> element provides an accessible, short-text description of any SVG container element or graphics element."
See: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title
The <title> tag can be set via the SVG React component's title prop, but it's unintuitive that existing <title> tags from the SVG files themselves get stripped beforehand.
This will not break behaviour for existing users since the title prop seems to override the image's default <title> tag if set according to the SVGR API docs:

If titleProp is set to true and no title is provided (title={undefined}) at render time, this will fallback to an existing title element in the svg if exists.

See: https://react-svgr.com/docs/options/#title
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Updated the existing test at packages/docusaurus-utils/src/__tests__/webpackUtils.test.ts.
Related PRs
N/A

aria-labelledby is the one that helps with a11y, and title is more of a supplement;

Hope this isn't an anti-pattern, but I have a use-case where I'm displaying an SVG icon without an element that labels it, so aria-labelledby doesn't exactly work.

Yeah, I just checked, seems in SVG land title does help with a11y. All good then


[fix] #1232: Introduce startup time benchmark

Description
You can now run scripts/test_env.py setup -b
If you want times for release mode you must copy the release binary to target/debug/iroha
Linked issue

Closes #{issue_number}

Benefits

Checklist

[ ] I've read CONTRIBUTING.md
[ ] I've used the standard signed-off commit format (or will squash just before merging)
[ ] All applicable CI checks pass (or I promised to make them pass later)
[ ] (optional) I've written unit tests for the code changes
[ ] I replied to all comments after code review, marking all implemented changes with thumbs up

If you want times for release mode you must copy the release binary to target/debug/iroha

IMO there should be a flag in test_env.py to run binary from target/release.
Although it can be done in another PR.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 34 (11.76%)  changed or added relevant lines in 4 files are covered.
6905 unchanged lines in 128 files lost coverage.
Overall coverage decreased (-4.1%) to 55.377%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cli/src/lib.rs
0
1
0.0%

core/src/sumeragi/main_loop.rs
0
1
0.0%

config/src/iroha.rs
4
6
66.67%

core/src/sumeragi/mod.rs
0
26
0.0%

Files with Coverage Reduction
New Missed Lines
%

config/base/derive/src/view.rs
1
99.37%

config/src/block_sync.rs
1
95.0%

config/src/network.rs
1
93.75%

config/src/torii.rs
1
95.45%

config/src/wasm.rs
1
87.5%

core/src/smartcontracts/isi/block.rs
1
87.5%

config/src/kura.rs
2
79.41%

config/src/lib.rs
2
0.0%

ffi/src/option.rs
2
71.43%

config/src/genesis.rs
3
72.92%

Totals

Change from base Build<PHONE_NUMBER>:
-4.1%

Covered Lines:
22144

Relevant Lines:
39988

💛  - Coveralls

I have split off the profiler work to a seperate issue, #4083, it was taking too long due to weird issues that needed solving.

If i understand scope of this PR correctly (measure raw performance of application of blocks to iroha storage) we already have apply_blocks and validate_blocks benchmarks and their's oneshot equivalents which could be profiled using binary profiler.
We can extend then to actually load blocks from store or add new one, in such case our profiling data wouldn't be polluted by some irrelevant stuff + we don't need to add extra flags inside iroha itself.

If i understand scope of this PR correctly (measure raw performance of application of blocks to iroha storage) we already have apply_blocks and validate_blocks benchmarks and their's oneshot equivalents which could be profiled using binary profiler.

The important difference are that those are synthetic benchmarks. The benchmark blockchain I have used here is obviously not representative. But we can easily swap in any customers or real world deployement blockchain and then reproducibly benchmark using that.
I'm curious how you are attatching a profiler to apply_blocks or validate_blocks? Maybe I just did not know how, but I found it impossibly difficult when I tried it. This benchmark plugs into the most universal api for profilers, "run this binary and see how long it runs for".

The important difference are that those are synthetic benchmarks.

I agree, that's why i suggested to improve them by using block strore (or add new benchmark).

I'm curious how you are attatching a profiler to apply_blocks or validate_blocks?

Like this:

# build oneshot equivalent of bechmark in release mode but with debug info
RUSTFLAGS=-g cargo build --release --example apply_blocks
# run this binary with profiler ([samply](https://github.com/mstange/samply) in my case)
samply record ./target/release/examples/apply_blocks

Actually what did you use to produce block store?

You mean that we could create a benchmark like the existing ones that would load an existing benchmark blockstore from disk?

Yes, exactly

In that case I guess we'll close this in favor of that strategy.


Update plenticore.js

Erweiterung des devicePort

Thanks for contributing. I think there has to be a check for validity of the port here and also in #27 to avoid errors.
Valid ports should be 1 to 65535 with fallback to default 80 on invalid setting.

<input type="number"  min="1" max=""65535" />
im plenticore.js kann man ja eine
if(devicePort<1 || devicePort>65535) {
devicePort = 80;
}


[Features] Add support nameserver-policy against proxy-groups

Verify steps

[X]  我已经在 Issue Tracker 中找过我要提出的请求 I have searched on the issue tracker for a related feature request.
[X]  我已经仔细看过 Documentation 并无法找到这个功能 I have read the documentation and was unable to solve the issue.

Description
Hi I am using servers with smart DNS to access netflix, etc for certain region. I setup mihomo for mixed node/proxies/proxy-groups. If we don't set nameserver-policy per rule-set, geosite they're gone astray since nameserver and fallback will be randomized resolved.
current set
  nameserver-policy:
    geosite:netflix: <IP_ADDRESS>#netflixproxy

Possible Solution
I Want requests features for
  nameserver-policy:
    proxy-groups:netflixproxy: <IP_ADDRESS>#netflixproxy
    proxies:singleproxy: <IP_ADDRESS>#singleproxy

For Someone That using smartdns it's very Useful Since we only Need setup proxies, proxy-groups DNS instead listing geosites. You May Found this features Like dns rules in sing-box

try rule-set. I have the same original demand as you. But I found that rule-set is capable to solve the problem, it is a existing solution. rule-set as below:
geosite, netflix
geosite, hulu
#……
domain #……

your config is as below:
rule-provider:
  netflixproxy:
    url: ……
    path: ……

dns:
  #……
  nameserver-policy:
    rule-set: netflixproxy: <IP_ADDRESS>#specific-proxy-group

rule:
  - RULE-SET, netflixproxy, specific-proxy-group

note: only domain and geo rules of rule-set are supported in nameserver-policy. wish to see more types of rule supported in the future (like logic rule or even process rule).

@malikshi True. I mentioned that in another issue looking forward to supporting more types. But it seemed impossible to support PROCESS rule type. I'm anticipating the feature. Trust and patience. Love from Teyvat.


fastlane match not working on 2.215

Issue Description
In the latest Fastlane version (2.215), when I tried to install Fastlane Match, I encountered the error message "Could not find option 'job_token' in the list of available options." Everything worked fine after I downgraded to version 2.214.
Command executed
fastlane match
Complete output when running fastlane, including the stack trace and command used

 [!] Could not find option 'job_token' in the list of available options: type, additional_cert_types, readonly, generate_apple_certs, skip_provisioning_profiles, app_identifier, api_key_path, api_key, username, team_id, team_name, storage_mode, git_url, git_branch, git_full_name, git_user_email, shallow_clone, clone_branch_directly, git_basic_authorization, git_bearer_authorization, git_private_key, google_cloud_bucket_name, google_cloud_keys_file, google_cloud_project_id, skip_google_cloud_account_confirmation, s3_region, s3_access_key, s3_secret_access_key, s3_bucket, s3_object_prefix, s3_skip_encryption, gitlab_project, gitlab_host, keychain_name, keychain_password, force, force_for_new_devices, include_mac_in_profiles, include_all_certificates, force_for_new_certificates, skip_confirmation, safe_remove_certs, skip_docs, platform, derive_catalyst_app_identifier, template_name, profile_name, fail_on_name_taken, skip_certificate_matching, output_path, skip_set_partition_list, verbose

Environment
macos

I gues fastlane 2.216.0 has not been published on gem yet

yeah, everything worked fine with latest version 2.216
Thanks for your help!


dependabot: check for github actions and bundler

Given we handle packaging of gems the system packages we build, i dont want automation to be bumping dependencies at the component level.

Dependabot wont bump it automatically, if thats your concern. It will inform you about updates.

For this particular repository we are trying to manage two streams (PE LTS and STS) with a single bolt version. The LTS is ruby 2.7 based and the STS is ruby 3. Straddling the line of gem compatibility is more complex than just asking for latest. I just dont see any value in running these actions for this project at this time as we have to manually update gem dependencies in our puppetlabs/puppet-runtime repository for the system packages that ship bolt.

Straddling the line of gem compatibility is more complex than just asking for latest

And because of that it's not asking for latest. It honors your ruby version requirement:
https://github.com/puppetlabs/bolt/blob/2b0d94362c814426392e36349fea5f1916e4552a/bolt.gemspec#L44

we have to manually update gem dependencies in our puppetlabs/puppet-runtime repository

So you duplicate the information from the gemspec and manage them by hand in another place? That workflow seems wrong. Is puppetlabs/puppet-runtime now the authoritative source for dependency versions? Aren't we allowed to update any dependencies in the bolt project?

I think i'm confused about what these actions actually do... puppet-runtime is the definitive source about what gems actually get shipped in bolt packages. These obviously must satisfy the requirements in bolts' gemspec. So both are important "definitive sources of truth". What do these actions actually do?

So I think this automation actually might be fine, it just might potentially be confusing for folks as to what it's doing. The gem specification here in the Bolt repo should generally be considered as the worst-case of all Bolt's dependencies in order for Bolt to work. Put another way: what's here in the gemspec specifies what's absolutely necessary to be installed for Bolt to be functional at all, not what should be installed in order for Bolt to run safely and well.
The puppet-runtime project defines what we actually ship inside public bolt packages, and therefore is the source of truth on what we consider to be the correct set of gem dependency versions to be using with bolt.

So you duplicate the information from the gemspec and manage them by hand in another place? That workflow seems wrong. Is puppetlabs/puppet-runtime now the authoritative source for dependency versions?

The information here in bolt's gemspec defines the absolute minimum bolt needs in order to run, and the puppet-runtime project defines the gem dependency versions we ship inside public packages. The two sets of information aren't actually duplicated, we're just only using gem/bundler functionality for defining minimum requirements here, and not using the functionality of those tools for pulling packages to resolve those minimum requirements.
We do that for a very specific reason, which is that bolt, and more importantly puppet, run on so many different platforms. puppet especially runs on what feels like everything under the sun. Updating gem dependencies has a long tail of testing on every platform we need the gems to work on. Additionally, like Cas mentioned, we also have multiple active supported releases of PE for which we need bolt to work with. All of which makes for an absolutely massive matrix of things to test.
So now we have puppet-runtime to determine the versions we're actually running with, and we have complete control over which gems get updated and when. That makes our lives easier because gem updates aren't constantly introducing new failures to our massive test matrices all the time because they failed to work on something like AIX or Solaris. While this certainly isn't efficient at all, it's been the best experience we've had managing deps.
Getting back to my original point: I actually think this automation is fine, it's just going to open PRs for updating the bare minimum requirements which I'm okay with. Mostly I am concerned that people will treat the information on these bare minimum requirements differently than we do: generally you probably shouldn't rely on the versions outlined in the gemspec to determine which versions you're actually using with bolt, because what's provided here is just a baseline. The actual versions you should use are the versions we ship in our public packages, which are defined in puppet-runtime.


Forms not generated for certain fields

I have been trying to intergrate this  library into my project lately, it works mostly fine, however some fields from my schema are not generated correctly. mostly array fields with oneOf sued to combine items. I made a fiddle here to show the case with my schema.
On the fiddle trying to add a new interface or a new openVpn object does not generate the corresponding form once I select the proper option from the list. No error is thrown so i do not understand y it behaves this way

Hi @gastonche , can you simplify the schema to the part misbehaving?

By the way allOf is still not supported

Version 2 (currently on development) will support it

any news re. allOf ?

https://github.com/brutusin/json-forms/blob/master/README.md#status


package.json points to wrong entry point

The entry point of version 1.0.0 is ./lib which is invalid and causes node to crash.
Changing it to ./src fixes the issue.

This took my site down when I deployed.

Oops!
I go home and I fix that...
Le jeu. 17 déc. 2015 à 19:43, Gregory Koberger<EMAIL_ADDRESS>a
écrit :

[image: :+1:] This took my site down when I deployed.
—
Reply to this email directly or view it on GitHub
https://github.com/kcbanner/connect-mongo/issues/208#issuecomment-165544009
.

Fixed in 1.0.1


Customer when run the code on vscode (Desktop /Web) an input box would appear asking for a snowflake URL token but it no longer appears

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
Customer when run the code on vscode (Desktop /Web) an input box would appear asking for a snowflake URL token but it no longer appears. This used to work fine and now its not working for any user and afffeceting workflow.
This works fine when same code is run on Azure ML notebook. Only issue when run from VScode.
The customer is working on an Azure ML Remote Compute instance
Even tried with new compute instance and facing same issue.
This issue has effected other members of our team as well.
Business impact: blocks us from doing any work, this is one of the pivotal parts to our authentication workflow
From Browser console logs: (For detail logs see the attachment
No Input box appears to add the token when ran using VScode.docx
)
Uncaught (in promise) DOMException: Failed to execute 'postMessage' on 'Worker': (k,D,M)=>{if(this.f&&this.u>this.f.threshold*3)return console.warn(`[${this.f.name}] REFUSES to accept new list......R} could not be cloned.
at https://main.vscode-cdn.net/stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/out/vs/workbench/workbench.web.main.js:591:47236
(anonymous) @ defaultWorkerFactory.ts:116
Promise.then (async)
postMessage @ defaultWorkerFactory.ts:116
sendMessage @ simpleWorker.ts:292
o @ simpleWorker.ts:254
(anonymous) @ simpleWorker.ts:132
sendMessage @ simpleWorker.ts:127
(anonymous) @ simpleWorker.ts:373
No Input box appears to add the token when ran using VScode.docx

VS Code Version
Latest (Tried using new compute Instance from ML)
Jupyter Extension Version
Latest (Tried using new compute Instance from ML)
Jupyter logs
No error on Jupyter. Input option is not enable to enter the token

Coding Language and Runtime Version
No response
Language Extension Version (if applicable)
NA
Anaconda Version (if applicable)
NA
Running Jupyter locally or remotely?
Remote

Please could you enable logging as follows:

Open settings & go into Jupyter->Logging
Change the value to verbose
Reload VS Code,
Attempt to repro the issue & then copy the output from the Jupyter output panel.

Closing as this has been confirmed as fixed.


botium reports null response; directline3 plugin missing

Describe the bug
Botium reports seeing - "null" when actual text is expected. When I manually interact with the chat bot, I see the expected text.
To Reproduce

Install botium-cli
npm install -g botium-cli
Install botium-directline3
npm install -g botium-connector-directline3
create file botium.json with contents:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "W2 Former bot",
"CONTAINERMODE": "directline3",
"DIRECTLINE3_SECRET": ,
"DIRECTLINE3_WEBSOCKET": false,
"DIRECTLINE3_POLLINGINTERVAL": 1000
},
"Sources": {},
"Envs": {}
}
}
create conversation file: where_will_i_get_my_w-2.convo.txt
W2 Former Bot Where will I get my W-2
Associate executes: Where will I get my W-2

#bot default
Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.
#bot default
If you are a current associate, please login.
There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/
#bot default
Before we start, I have to do this legal thing.
#bot default
Please confirm that you will not share highly sensitive information with me, such as social security numbers.
#me default
Agree
#bot default
Let’s get started!
#bot default
Please select one of the following options.
#me default
Where will I get my W-2
#bot default
No problem, I can help you with that!

Execute command:
botium-cli run --config test/botium.json --convos test/convos/where_will_i_get_my_w-2/ --verbose 2>&1 | tee bot_output_3.txt

Expected behavior
The chatbot is publicly available at: https://w2former.azurewebsites.net/
I created the conversation file by manually interacting with the bot; consequently, I expect the file to be successfully processed.
When I remove the last lines 29-30 of the conversation above, the file is successfully processed and passed the test.
I also see issues when I try to use: "DIRECTLINE3_WEBSOCKET": true
says cannot find module "directline3", but the directline3 module was installed.

2019-02-18T21:52:52.034Z botium-BotDriver Build - Envs : { IS_BOTIUM_CONTAINER: true }
2019-02-18T21:52:52.043Z botium-PluginConnectorContainer Loading Botium plugin from directline3 failed - { Error: Cannot find module 'directline3'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:613:15)
at Function.Module._load (internal/modules/cjs/loader.js:539:25)
at Module.require (internal/modules/cjs/loader.js:667:17)
at require (internal/modules/cjs/helpers.js:20:18)
at tryLoadPlugin (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/containers/PluginConnectorContainer.js:16:20)
at Validate.Validate.then (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/containers/PluginConnectorContainer.js:45:29) code: 'MODULE_NOT_FOUND' }
2019-02-18T21:52:52.078Z botium-PluginConnectorContainer Botium plugin botium-connector-directline3 loaded
2019-02-18T21:52:52.078Z botium-connector-directline3 Validate called
2019-02-18T21:52:52.078Z botium-connector-directline3 Build called
2019-02-18T21:52:52.079Z botium-connector-directline3 Start called
2019-02-18T21:52:52.099Z botium-connector-directline3 Directline Connection Status: 1 / Connecting
2019-02-18T21:52:52.099Z botium-cli-run running testcase W2 Former Bot Where will I get my W-2
2019-02-18T21:52:52.100Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:52:52.966Z botium-connector-directline3 Directline Connection Status: 2 / Online
2019-02-18T21:52:53.736Z botium-connector-directline3 received message  {
"type": "message",
"id": "Fldcns4xldD6OkSiWLy2dO|0000000",
"timestamp": "2019-02-18T21:52:53.1578032Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "Fldcns4xldD6OkSiWLy2dO"
},
"text": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"replyToId": "Ju6HtTfGBAD"
}
=====
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

macOS: 10.14.3  macOS Mojave

Additional context
m-c02x7peqjg5j:botium-box-basic-dist j0p01ex$ npm list | grep -e "bot"
<EMAIL_ADDRESS>/Users/j0p01ex/projects/botium-box/botium-box-basic-dist
├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>deduped
npm ERR! missing: esprima@git+https://github.com/codeforequity-at/jsonpath.git, required by<EMAIL_ADDRESS>npm ERR! extraneous<EMAIL_ADDRESS>/Users/j0p01ex/projects/botium-box/botium-box-basic-dist/node_modules/botium-cli/node_modules/jsonpath
m-c02x7peqjg5j:botium-box-basic-dist j0p01ex$
verbose output file with last lines included:
2019-02-18T21:15:06.758Z botium-cli Using Botium configuration file test/botium.json
2019-02-18T21:15:06.761Z botium-cli-run command options: { _: [ 'run' ],
help: false,
h: false,
version: false,
V: false,
config: 'test/botium.json',
c: 'test/botium.json',
convos: [ 'test/convos/where_will_i_get_my_w-2/' ],
C: [ 'test/convos/where_will_i_get_my_w-2/' ],
verbose: true,
v: true,
output: 'spec',
testsuitename: 'Botium Test-Suite',
n: 'Botium Test-Suite',
expandutterances: false,
timeout: 60,
'$0': '/usr/local/bin/botium-cli',
filter: undefined,
'reporter-options': undefined }
2019-02-18T21:15:06.761Z botium-cli-run Mocha Reporter "spec", options: undefined
2019-02-18T21:15:06.761Z botium-BotDriver Loaded Botium configuration file ./botium.json
2019-02-18T21:15:06.762Z botium-BotDriver Loaded Botium configuration file test/botium.json
2019-02-18T21:15:06.762Z botium-BotDriver Changed capability CONFIG to "test/botium.json" using environment variables.
2019-02-18T21:15:06.762Z botium-BotDriver BuildCompiler: Capabilites: { PROJECTNAME: 'W2 Former bot',
TEMPDIR: 'botiumwork',
CLEANUPTEMPDIR: true,
WAITFORBOTTIMEOUT: 10000,
SIMULATE_WRITING_SPEED: false,
DOCKERCOMPOSEPATH: 'docker-compose',
DOCKERMACHINEPATH: 'docker-machine',
DOCKERMACHINE: false,
DOCKERIMAGE: 'node:boron',
DOCKERUNIQUECONTAINERNAMES: false,
DOCKERSYSLOGPORT_RANGE: '47100-47299',
BOT_HEALTH_STATUS: 200,
SLACK_PUBLISHPORT_RANGE: '46100-46299',
FACEBOOK_PUBLISHPORT_RANGE: '46300-46499',
FACEBOOK_SEND_DELIVERY_CONFIRMATION: true,
BOTFRAMEWORK_PUBLISHPORT_RANGE: '46500-46699',
BOTFRAMEWORK_WEBHOOK_PORT: 3978,
BOTFRAMEWORK_WEBHOOK_PATH: 'api/messages',
BOTFRAMEWORK_CHANNEL_ID: 'facebook',
SIMPLEREST_PING_RETRIES: 6,
SIMPLEREST_PING_TIMEOUT: 10000,
SIMPLEREST_PING_VERB: 'GET',
SIMPLEREST_METHOD: 'GET',
WEBSPEECH_SERVER_PORT: 46050,
WEBSPEECH_LANGUAGE: 'en-US',
WEBSPEECH_CLOSEBROWSER: true,
SCRIPTING_TXT_EOL: '\n',
SCRIPTING_XLSX_EOL_SPLIT: '\r',
SCRIPTING_XLSX_EOL_WRITE: '\r\n',
SCRIPTING_XLSX_STARTROW: 1,
SCRIPTING_XLSX_STARTCOL: 'A',
SCRIPTING_NORMALIZE_TEXT: true,
SCRIPTING_ENABLE_MEMORY: false,
SCRIPTING_MATCHING_MODE: 'includeLowerCase',
SCRIPTING_UTTEXPANSION_MODE: 'all',
SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
SCRIPTING_UTTEXPANSION_INCOMPREHENSION: 'INCOMPREHENSION',
ASSERTERS: [],
LOGIC_HOOKS: [],
USER_INPUTS: [],
CONTAINERMODE: 'directline3',
DIRECTLINE3_SECRET:
'',
DIRECTLINE3_WEBSOCKET: false,
DIRECTLINE3_POLLINGINTERVAL: 1000,
CONFIG: 'test/botium.json' }
2019-02-18T21:15:06.957Z botium-ScriptingProvider Using matching mode: includeLowerCase
2019-02-18T21:15:06.957Z botium-asserterUtils Loaded Default asserter - [ 'BUTTONS',
'MEDIA',
'PAUSE_ASSERTER',
'ENTITIES',
'ENTITY_VALUES',
'INTENT',
'INTENT_CONFIDENCE' ]
2019-02-18T21:15:06.957Z botium-asserterUtils Loaded Default logic hook - [ 'PAUSE', 'WAITFORBOT' ]
2019-02-18T21:15:06.958Z botium-asserterUtils Loaded Default user input - [ 'BUTTON', 'MEDIA' ]
2019-02-18T21:15:06.961Z botium-ScriptingProvider ReadConvosFromDirectory(test/convos/where_will_i_get_my_w-2/) found filenames: where_will_i_get_my_w-2.convo.txt
2019-02-18T21:15:06.964Z botium-ScriptingProvider ReadConvosFromDirectory(test/convos/where_will_i_get_my_w-2/) found convos:
1 W2 Former Bot Where will I get my W-2 (Associate executes: Where will I get my W-2) ({ filename: 'where_will_i_get_my_w-2.convo.txt' }): Line 4: #bot - Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate. | Line 7: #bot - If you are a current associate, please login.
There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/ | Line 11: #bot - Before we start, I have to do this legal thing. | Line 14: #bot - Please confirm that you will not share highly sensitive information with me, such as social security numbers. | Line 17: #me - Agree | Line 20: #bot - Let’s get started! | Line 23: #bot - Please select one of the following options. | Line 26: #me - Where will I get my W-2 | Line 29: #bot - No problem, I can help you with that!
2019-02-18T21:15:06.964Z botium-ScriptingProvider ReadConvosFromDirectory(test/convos/where_will_i_get_my_w-2/) found utterances:
2019-02-18T21:15:06.964Z botium-cli-run ready reading convos (1), expanding convos ...
2019-02-18T21:15:06.964Z botium-ScriptingProvider ExpandConvos - Using utterances expansion mode: all
2019-02-18T21:15:06.964Z botium-cli-run ready expanding convos and utterances, number of test cases: (1).
2019-02-18T21:15:06.966Z botium-cli-run adding test case W2 Former Bot Where will I get my W-2 (from: { filename: 'where_will_i_get_my_w-2.convo.txt' })
Botium Test-Suite
2019-02-18T21:15:06.974Z botium-BotDriver Build - Capabilites: { PROJECTNAME: 'W2 Former bot',
TEMPDIR: 'botiumwork',
CLEANUPTEMPDIR: true,
WAITFORBOTTIMEOUT: 10000,
SIMULATE_WRITING_SPEED: false,
DOCKERCOMPOSEPATH: 'docker-compose',
DOCKERMACHINEPATH: 'docker-machine',
DOCKERMACHINE: false,
DOCKERIMAGE: 'node:boron',
DOCKERUNIQUECONTAINERNAMES: false,
DOCKERSYSLOGPORT_RANGE: '47100-47299',
BOT_HEALTH_STATUS: 200,
SLACK_PUBLISHPORT_RANGE: '46100-46299',
FACEBOOK_PUBLISHPORT_RANGE: '46300-46499',
FACEBOOK_SEND_DELIVERY_CONFIRMATION: true,
BOTFRAMEWORK_PUBLISHPORT_RANGE: '46500-46699',
BOTFRAMEWORK_WEBHOOK_PORT: 3978,
BOTFRAMEWORK_WEBHOOK_PATH: 'api/messages',
BOTFRAMEWORK_CHANNEL_ID: 'facebook',
SIMPLEREST_PING_RETRIES: 6,
SIMPLEREST_PING_TIMEOUT: 10000,
SIMPLEREST_PING_VERB: 'GET',
SIMPLEREST_METHOD: 'GET',
WEBSPEECH_SERVER_PORT: 46050,
WEBSPEECH_LANGUAGE: 'en-US',
WEBSPEECH_CLOSEBROWSER: true,
SCRIPTING_TXT_EOL: '\n',
SCRIPTING_XLSX_EOL_SPLIT: '\r',
SCRIPTING_XLSX_EOL_WRITE: '\r\n',
SCRIPTING_XLSX_STARTROW: 1,
SCRIPTING_XLSX_STARTCOL: 'A',
SCRIPTING_NORMALIZE_TEXT: true,
SCRIPTING_ENABLE_MEMORY: false,
SCRIPTING_MATCHING_MODE: 'includeLowerCase',
SCRIPTING_UTTEXPANSION_MODE: 'all',
SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
SCRIPTING_UTTEXPANSION_INCOMPREHENSION: 'INCOMPREHENSION',
ASSERTERS: [],
LOGIC_HOOKS: [],
USER_INPUTS: [],
CONTAINERMODE: 'directline3',
DIRECTLINE3_SECRET:
'',
DIRECTLINE3_WEBSOCKET: false,
DIRECTLINE3_POLLINGINTERVAL: 1000,
CONFIG: 'test/botium.json' }
2019-02-18T21:15:06.974Z botium-BotDriver Build - Sources : { LOCALPATH: '.',
GITPATH: 'git',
GITBRANCH: 'master',
GITDIR: '.' }
2019-02-18T21:15:06.974Z botium-BotDriver Build - Envs : { IS_BOTIUM_CONTAINER: true }
2019-02-18T21:15:06.983Z botium-PluginConnectorContainer Loading Botium plugin from directline3 failed - { Error: Cannot find module 'directline3'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:613:15)
at Function.Module._load (internal/modules/cjs/loader.js:539:25)
at Module.require (internal/modules/cjs/loader.js:667:17)
at require (internal/modules/cjs/helpers.js:20:18)
at tryLoadPlugin (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/containers/PluginConnectorContainer.js:16:20)
at Validate.Validate.then (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/containers/PluginConnectorContainer.js:45:29) code: 'MODULE_NOT_FOUND' }
2019-02-18T21:15:07.016Z botium-PluginConnectorContainer Botium plugin botium-connector-directline3 loaded
2019-02-18T21:15:07.016Z botium-connector-directline3 Validate called
2019-02-18T21:15:07.016Z botium-connector-directline3 Build called
2019-02-18T21:15:07.017Z botium-connector-directline3 Start called
2019-02-18T21:15:07.036Z botium-connector-directline3 Directline Connection Status: 1 / Connecting
2019-02-18T21:15:07.036Z botium-cli-run running testcase W2 Former Bot Where will I get my W-2
2019-02-18T21:15:07.038Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:07.818Z botium-connector-directline3 Directline Connection Status: 2 / Online
2019-02-18T21:15:08.722Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000000",
"timestamp": "2019-02-18T21:15:07.9097433Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"replyToId": "5w7KIXE5hV2"
}
2019-02-18T21:15:08.723Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000001",
"timestamp": "2019-02-18T21:15:08.1205585Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "If you are a current associate, please login.\n                    There are specific details just for current Associates by going here:                    https://us3.walmartone.com/pages/money/tax-center/tax-center/",
"replyToId": "5w7KIXE5hV2"
}
2019-02-18T21:15:08.723Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000002",
"timestamp": "2019-02-18T21:15:08.3393387Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Before we start, I have to do this legal thing.",
"replyToId": "5w7KIXE5hV2"
}
2019-02-18T21:15:08.723Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000003",
"timestamp": "2019-02-18T21:15:08.55684Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Please confirm that you will not share highly sensitive information with me,                 such as social security numbers.",
"inputHint": "expectingInput",
"suggestedActions": {
"actions": [
{
"type": "imBack",
"title": "Agree",
"value": "Agree"
},
{
"type": "imBack",
"title": "Disagree",
"value": "Disagree"
}
]
},
"replyToId": "5w7KIXE5hV2"
}
2019-02-18T21:15:08.724Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000000",
"timestamp": "2019-02-18T21:15:07.9097433Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"replyToId": "5w7KIXE5hV2"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"channel": "default"
}
2019-02-18T21:15:08.725Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 4 BOT: Hello! I’m a bot that can help with W-2 related questions if you are a former Walmart associate. = Hello! I’m a bot that can help with W-2 related questions if you are a former Walmart associate. ...
2019-02-18T21:15:08.725Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:08.726Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000001",
"timestamp": "2019-02-18T21:15:08.1205585Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "If you are a current associate, please login.\n                    There are specific details just for current Associates by going here:                    https://us3.walmartone.com/pages/money/tax-center/tax-center/",
"replyToId": "5w7KIXE5hV2"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "If you are a current associate, please login.\n                    There are specific details just for current Associates by going here:                    https://us3.walmartone.com/pages/money/tax-center/tax-center/",
"channel": "default"
}
2019-02-18T21:15:08.726Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 7 BOT: If you are a current associate, please login. There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/ = If you are a current associate, please login. There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/ ...
2019-02-18T21:15:08.726Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:08.726Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000002",
"timestamp": "2019-02-18T21:15:08.3393387Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Before we start, I have to do this legal thing.",
"replyToId": "5w7KIXE5hV2"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Before we start, I have to do this legal thing.",
"channel": "default"
}
2019-02-18T21:15:08.726Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 11 BOT: Before we start, I have to do this legal thing. = Before we start, I have to do this legal thing. ...
2019-02-18T21:15:08.726Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:08.726Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000003",
"timestamp": "2019-02-18T21:15:08.55684Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Please confirm that you will not share highly sensitive information with me,                 such as social security numbers.",
"inputHint": "expectingInput",
"suggestedActions": {
"actions": [
{
"type": "imBack",
"title": "Agree",
"value": "Agree"
},
{
"type": "imBack",
"title": "Disagree",
"value": "Disagree"
}
]
},
"replyToId": "5w7KIXE5hV2"
},
"media": [],
"buttons": [
{
"text": "Agree",
"payload": "Agree"
},
{
"text": "Disagree",
"payload": "Disagree"
}
],
"cards": [],
"messageText": "Please confirm that you will not share highly sensitive information with me,                 such as social security numbers.",
"channel": "default"
}
2019-02-18T21:15:08.726Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 14 BOT: Please confirm that you will not share highly sensitive information with me, such as social security numbers. = Please confirm that you will not share highly sensitive information with me, such as social security numbers. ...
2019-02-18T21:15:08.727Z botium-Convo W2 Former Bot Where will I get my W-2/Line 17: user says {
"sender": "me",
"channel": "default",
"messageText": "Agree",
"stepTag": "Line 17",
"not": false,
"asserters": [],
"logicHooks": [],
"userInputs": []
}
2019-02-18T21:15:08.727Z botium-connector-directline3 UserSays called
2019-02-18T21:15:08.727Z botium-connector-directline3 Posting activity  {
"from": {
"id": "me"
},
"type": "message",
"text": "Agree"
}
2019-02-18T21:15:10.437Z botium-connector-directline3 Posted activity, assigned ID  7Q3mjreG8adIl3grebrH0E|0000004
2019-02-18T21:15:10.438Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:10.651Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000005",
"timestamp": "2019-02-18T21:15:09.7355978Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Let’s get started!",
"inputHint": "acceptingInput",
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000004"
}
2019-02-18T21:15:10.651Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000006",
"timestamp": "2019-02-18T21:15:09.938729Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Please select one of the following options.",
"inputHint": "acceptingInput",
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000004"
}
2019-02-18T21:15:10.652Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000007",
"timestamp": "2019-02-18T21:15:10.2143599Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"attachments": [
{
"contentType": "application/vnd.microsoft.card.hero",
"content": {
"buttons": [
{
"type": "imBack",
"title": "Where will I get my W-2",
"value": "Where will I get my W-2"
},
{
"type": "imBack",
"title": "Change my Address",
"value": "Change my Address"
},
{
"type": "imBack",
"title": "Electronic W-2",
"value": "Electronic W-2"
},
{
"type": "imBack",
"title": "W-2 Validation",
"value": "W-2 Validation"
},
{
"type": "imBack",
"title": "More W-2 Questions",
"value": "More W-2 Questions"
}
]
}
}
],
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000004"
}
2019-02-18T21:15:10.652Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000005",
"timestamp": "2019-02-18T21:15:09.7355978Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Let’s get started!",
"inputHint": "acceptingInput",
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000004"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Let’s get started!",
"channel": "default"
}
2019-02-18T21:15:10.652Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 20 (Line 17: #me - Agree) BOT: Let’s get started! = Let’s get started! ...
2019-02-18T21:15:10.653Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:10.653Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000006",
"timestamp": "2019-02-18T21:15:09.938729Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "Please select one of the following options.",
"inputHint": "acceptingInput",
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000004"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Please select one of the following options.",
"channel": "default"
}
2019-02-18T21:15:10.653Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 23 (Line 17: #me - Agree) BOT: Please select one of the following options. = Please select one of the following options. ...
2019-02-18T21:15:10.653Z botium-Convo W2 Former Bot Where will I get my W-2/Line 26: user says {
"sender": "me",
"channel": "default",
"messageText": "Where will I get my W-2",
"stepTag": "Line 26",
"not": false,
"asserters": [],
"logicHooks": [],
"userInputs": []
}
2019-02-18T21:15:10.653Z botium-connector-directline3 UserSays called
2019-02-18T21:15:10.653Z botium-connector-directline3 Posting activity  {
"from": {
"id": "me"
},
"type": "message",
"text": "Where will I get my W-2"
}
2019-02-18T21:15:11.627Z botium-connector-directline3 received message  {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000009",
"timestamp": "2019-02-18T21:15:11.3168165Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"text": "No problem, I can help you with that!",
"inputHint": "acceptingInput",
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000008"
}
2019-02-18T21:15:11.766Z botium-connector-directline3 Posted activity, assigned ID  7Q3mjreG8adIl3grebrH0E|0000008
2019-02-18T21:15:11.767Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:15:11.767Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "7Q3mjreG8adIl3grebrH0E|0000007",
"timestamp": "2019-02-18T21:15:10.2143599Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "7Q3mjreG8adIl3grebrH0E"
},
"attachments": [
{
"contentType": "application/vnd.microsoft.card.hero",
"content": {
"buttons": [
{
"type": "imBack",
"title": "Where will I get my W-2",
"value": "Where will I get my W-2"
},
{
"type": "imBack",
"title": "Change my Address",
"value": "Change my Address"
},
{
"type": "imBack",
"title": "Electronic W-2",
"value": "Electronic W-2"
},
{
"type": "imBack",
"title": "W-2 Validation",
"value": "W-2 Validation"
},
{
"type": "imBack",
"title": "More W-2 Questions",
"value": "More W-2 Questions"
}
]
}
}
],
"replyToId": "7Q3mjreG8adIl3grebrH0E|0000004"
},
"media": [],
"buttons": [],
"cards": [
{
"buttons": [
{
"text": "Where will I get my W-2",
"payload": "Where will I get my W-2"
},
{
"text": "Change my Address",
"payload": "Change my Address"
},
{
"text": "Electronic W-2",
"payload": "Electronic W-2"
},
{
"text": "W-2 Validation",
"payload": "W-2 Validation"
},
{
"text": "More W-2 Questions",
"payload": "More W-2 Questions"
}
]
}
],
"messageText": null,
"channel": "default"
}
2019-02-18T21:15:11.767Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 29 (Line 26: #me - Where will I get my W-2) BOT: null = No problem, I can help you with that! ...
2019-02-18T21:15:11.769Z botium-cli-run W2 Former Bot Where will I get my W-2 failed: { TranscriptError: Error: W2 Former Bot Where will I get my W-2/Line 29: Expected bot response (on Line 26: #me - Where will I get my W-2) "null" to match one of "No problem, I can help you with that!"
at async.waterfall (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:173:25)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:473:16
at next (/usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:5329:29)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:969:16
at runConversation (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:157:15)
at async.mapSeries (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:331:9)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:1140:9
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:473:16
at iterateeCallback (/usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:988:17)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:969:16
name: 'TranscriptError',
transcript:
Transcript {
steps:
[ [TranscriptStep],
[TranscriptStep],
[TranscriptStep],
[TranscriptStep],
[TranscriptStep],
[TranscriptStep],
[TranscriptStep],
[TranscriptStep],
[TranscriptStep] ],
scriptingMemory: {},
convoBegin: 2019-02-18T21:15:07.037Z,
convoEnd: 2019-02-18T21:15:11.767Z,
err:
Error: W2 Former Bot Where will I get my W-2/Line 29: Expected bot response (on Line 26: #me - Where will I get my W-2) "null" to match one of "No problem, I can help you with that!"
at ScriptingProvider.assertBotResponse (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/ScriptingProvider.js:80:17)
at scriptingEvents.onBotStart.then.then (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:281:42)
at processTicksAndRejections (internal/process/next_tick.js:81:5) } }
1) W2 Former Bot Where will I get my W-2
2019-02-18T21:15:11.771Z botium-connector-directline3 Stop called
2019-02-18T21:15:11.771Z botium-connector-directline3 unsubscribing from directline activity subscription
2019-02-18T21:15:11.772Z botium-connector-directline3 unsubscribing from directline connectionstatus subscription
2019-02-18T21:15:11.772Z botium-connector-directline3 Clean called
2019-02-18T21:15:11.773Z botium-BaseContainer Cleanup rimrafing temp dir /Users/j0p01ex/projects/botium-box/botium-box-basic-dist/botiumwork/W2-Former-bot-20190218-151506-55HNR
0 passing (5s)
1 failing

Botium Test-Suite
W2 Former Bot Where will I get my W-2:
TranscriptError: Error: W2 Former Bot Where will I get my W-2/Line 29: Expected bot response (on Line 26: #me - Where will I get my W-2) "null" to match one of "No problem, I can help you with that!"
at async.waterfall (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:173:25)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:473:16
at next (/usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:5329:29)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:969:16
at runConversation (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:157:15)
at async.mapSeries (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/scripting/Convo.js:331:9)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:1140:9
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:473:16
at iterateeCallback (/usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:988:17)
at /usr/local/lib/node_modules/botium-cli/node_modules/async/dist/async.js:969:16

====
verbose output with last lines excluded:
2019-02-18T21:33:02.829Z botium-cli Using Botium configuration file test/botium.json
2019-02-18T21:33:02.832Z botium-cli-run command options: { _: [ 'run' ],
help: false,
h: false,
version: false,
V: false,
config: 'test/botium.json',
c: 'test/botium.json',
convos: [ 'test/convos/where_will_i_get_my_w-2/' ],
C: [ 'test/convos/where_will_i_get_my_w-2/' ],
verbose: true,
v: true,
output: 'spec',
testsuitename: 'Botium Test-Suite',
n: 'Botium Test-Suite',
expandutterances: false,
timeout: 60,
'$0': '/usr/local/bin/botium-cli',
filter: undefined,
'reporter-options': undefined }
2019-02-18T21:33:02.832Z botium-cli-run Mocha Reporter "spec", options: undefined
2019-02-18T21:33:02.833Z botium-BotDriver Loaded Botium configuration file ./botium.json
2019-02-18T21:33:02.833Z botium-BotDriver Loaded Botium configuration file test/botium.json
2019-02-18T21:33:02.834Z botium-BotDriver Changed capability CONFIG to "test/botium.json" using environment variables.
2019-02-18T21:33:02.834Z botium-BotDriver BuildCompiler: Capabilites: { PROJECTNAME: 'W2 Former bot',
TEMPDIR: 'botiumwork',
CLEANUPTEMPDIR: true,
WAITFORBOTTIMEOUT: 10000,
SIMULATE_WRITING_SPEED: false,
DOCKERCOMPOSEPATH: 'docker-compose',
DOCKERMACHINEPATH: 'docker-machine',
DOCKERMACHINE: false,
DOCKERIMAGE: 'node:boron',
DOCKERUNIQUECONTAINERNAMES: false,
DOCKERSYSLOGPORT_RANGE: '47100-47299',
BOT_HEALTH_STATUS: 200,
SLACK_PUBLISHPORT_RANGE: '46100-46299',
FACEBOOK_PUBLISHPORT_RANGE: '46300-46499',
FACEBOOK_SEND_DELIVERY_CONFIRMATION: true,
BOTFRAMEWORK_PUBLISHPORT_RANGE: '46500-46699',
BOTFRAMEWORK_WEBHOOK_PORT: 3978,
BOTFRAMEWORK_WEBHOOK_PATH: 'api/messages',
BOTFRAMEWORK_CHANNEL_ID: 'facebook',
SIMPLEREST_PING_RETRIES: 6,
SIMPLEREST_PING_TIMEOUT: 10000,
SIMPLEREST_PING_VERB: 'GET',
SIMPLEREST_METHOD: 'GET',
WEBSPEECH_SERVER_PORT: 46050,
WEBSPEECH_LANGUAGE: 'en-US',
WEBSPEECH_CLOSEBROWSER: true,
SCRIPTING_TXT_EOL: '\n',
SCRIPTING_XLSX_EOL_SPLIT: '\r',
SCRIPTING_XLSX_EOL_WRITE: '\r\n',
SCRIPTING_XLSX_STARTROW: 1,
SCRIPTING_XLSX_STARTCOL: 'A',
SCRIPTING_NORMALIZE_TEXT: true,
SCRIPTING_ENABLE_MEMORY: false,
SCRIPTING_MATCHING_MODE: 'includeLowerCase',
SCRIPTING_UTTEXPANSION_MODE: 'all',
SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
SCRIPTING_UTTEXPANSION_INCOMPREHENSION: 'INCOMPREHENSION',
ASSERTERS: [],
LOGIC_HOOKS: [],
USER_INPUTS: [],
CONTAINERMODE: 'directline3',
DIRECTLINE3_SECRET:
'',
DIRECTLINE3_WEBSOCKET: false,
DIRECTLINE3_POLLINGINTERVAL: 1000,
CONFIG: 'test/botium.json' }
2019-02-18T21:33:03.034Z botium-ScriptingProvider Using matching mode: includeLowerCase
2019-02-18T21:33:03.035Z botium-asserterUtils Loaded Default asserter - [ 'BUTTONS',
'MEDIA',
'PAUSE_ASSERTER',
'ENTITIES',
'ENTITY_VALUES',
'INTENT',
'INTENT_CONFIDENCE' ]
2019-02-18T21:33:03.035Z botium-asserterUtils Loaded Default logic hook - [ 'PAUSE', 'WAITFORBOT' ]
2019-02-18T21:33:03.035Z botium-asserterUtils Loaded Default user input - [ 'BUTTON', 'MEDIA' ]
2019-02-18T21:33:03.038Z botium-ScriptingProvider ReadConvosFromDirectory(test/convos/where_will_i_get_my_w-2/) found filenames: where_will_i_get_my_w-2.convo.txt
2019-02-18T21:33:03.041Z botium-ScriptingProvider ReadConvosFromDirectory(test/convos/where_will_i_get_my_w-2/) found convos:
1 W2 Former Bot Where will I get my W-2 (Associate executes: Where will I get my W-2) ({ filename: 'where_will_i_get_my_w-2.convo.txt' }): Line 4: #bot - Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate. | Line 7: #bot - If you are a current associate, please login.
There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/ | Line 11: #bot - Before we start, I have to do this legal thing. | Line 14: #bot - Please confirm that you will not share highly sensitive information with me, such as social security numbers. | Line 17: #me - Agree | Line 20: #bot - Let’s get started! | Line 23: #bot - Please select one of the following options. | Line 26: #me - Where will I get my W-2
2019-02-18T21:33:03.041Z botium-ScriptingProvider ReadConvosFromDirectory(test/convos/where_will_i_get_my_w-2/) found utterances:
2019-02-18T21:33:03.041Z botium-cli-run ready reading convos (1), expanding convos ...
2019-02-18T21:33:03.041Z botium-ScriptingProvider ExpandConvos - Using utterances expansion mode: all
2019-02-18T21:33:03.041Z botium-cli-run ready expanding convos and utterances, number of test cases: (1).
2019-02-18T21:33:03.043Z botium-cli-run adding test case W2 Former Bot Where will I get my W-2 (from: { filename: 'where_will_i_get_my_w-2.convo.txt' })
Botium Test-Suite
2019-02-18T21:33:03.046Z botium-BotDriver Build - Capabilites: { PROJECTNAME: 'W2 Former bot',
TEMPDIR: 'botiumwork',
CLEANUPTEMPDIR: true,
WAITFORBOTTIMEOUT: 10000,
SIMULATE_WRITING_SPEED: false,
DOCKERCOMPOSEPATH: 'docker-compose',
DOCKERMACHINEPATH: 'docker-machine',
DOCKERMACHINE: false,
DOCKERIMAGE: 'node:boron',
DOCKERUNIQUECONTAINERNAMES: false,
DOCKERSYSLOGPORT_RANGE: '47100-47299',
BOT_HEALTH_STATUS: 200,
SLACK_PUBLISHPORT_RANGE: '46100-46299',
FACEBOOK_PUBLISHPORT_RANGE: '46300-46499',
FACEBOOK_SEND_DELIVERY_CONFIRMATION: true,
BOTFRAMEWORK_PUBLISHPORT_RANGE: '46500-46699',
BOTFRAMEWORK_WEBHOOK_PORT: 3978,
BOTFRAMEWORK_WEBHOOK_PATH: 'api/messages',
BOTFRAMEWORK_CHANNEL_ID: 'facebook',
SIMPLEREST_PING_RETRIES: 6,
SIMPLEREST_PING_TIMEOUT: 10000,
SIMPLEREST_PING_VERB: 'GET',
SIMPLEREST_METHOD: 'GET',
WEBSPEECH_SERVER_PORT: 46050,
WEBSPEECH_LANGUAGE: 'en-US',
WEBSPEECH_CLOSEBROWSER: true,
SCRIPTING_TXT_EOL: '\n',
SCRIPTING_XLSX_EOL_SPLIT: '\r',
SCRIPTING_XLSX_EOL_WRITE: '\r\n',
SCRIPTING_XLSX_STARTROW: 1,
SCRIPTING_XLSX_STARTCOL: 'A',
SCRIPTING_NORMALIZE_TEXT: true,
SCRIPTING_ENABLE_MEMORY: false,
SCRIPTING_MATCHING_MODE: 'includeLowerCase',
SCRIPTING_UTTEXPANSION_MODE: 'all',
SCRIPTING_UTTEXPANSION_RANDOM_COUNT: 1,
SCRIPTING_UTTEXPANSION_INCOMPREHENSION: 'INCOMPREHENSION',
ASSERTERS: [],
LOGIC_HOOKS: [],
USER_INPUTS: [],
CONTAINERMODE: 'directline3',
DIRECTLINE3_SECRET:
'',
DIRECTLINE3_WEBSOCKET: false,
DIRECTLINE3_POLLINGINTERVAL: 1000,
CONFIG: 'test/botium.json' }
2019-02-18T21:33:03.046Z botium-BotDriver Build - Sources : { LOCALPATH: '.',
GITPATH: 'git',
GITBRANCH: 'master',
GITDIR: '.' }
2019-02-18T21:33:03.046Z botium-BotDriver Build - Envs : { IS_BOTIUM_CONTAINER: true }
2019-02-18T21:33:03.055Z botium-PluginConnectorContainer Loading Botium plugin from directline3 failed - { Error: Cannot find module 'directline3'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:613:15)
at Function.Module._load (internal/modules/cjs/loader.js:539:25)
at Module.require (internal/modules/cjs/loader.js:667:17)
at require (internal/modules/cjs/helpers.js:20:18)
at tryLoadPlugin (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/containers/PluginConnectorContainer.js:16:20)
at Validate.Validate.then (/usr/local/lib/node_modules/botium-cli/node_modules/botium-core/src/containers/PluginConnectorContainer.js:45:29) code: 'MODULE_NOT_FOUND' }
2019-02-18T21:33:03.089Z botium-PluginConnectorContainer Botium plugin botium-connector-directline3 loaded
2019-02-18T21:33:03.089Z botium-connector-directline3 Validate called
2019-02-18T21:33:03.090Z botium-connector-directline3 Build called
2019-02-18T21:33:03.091Z botium-connector-directline3 Start called
2019-02-18T21:33:03.110Z botium-connector-directline3 Directline Connection Status: 1 / Connecting
2019-02-18T21:33:03.110Z botium-cli-run running testcase W2 Former Bot Where will I get my W-2
2019-02-18T21:33:03.112Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:33:04.166Z botium-connector-directline3 Directline Connection Status: 2 / Online
2019-02-18T21:33:04.746Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000000",
"timestamp": "2019-02-18T21:33:04.6043505Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"replyToId": "EiF7D81mvlO"
}
2019-02-18T21:33:04.747Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000000",
"timestamp": "2019-02-18T21:33:04.6043505Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"replyToId": "EiF7D81mvlO"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Hello!  I’m a bot that can help with W-2 related questions if you are a former Walmart associate.",
"channel": "default"
}
2019-02-18T21:33:04.748Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 4 BOT: Hello! I’m a bot that can help with W-2 related questions if you are a former Walmart associate. = Hello! I’m a bot that can help with W-2 related questions if you are a former Walmart associate. ...
2019-02-18T21:33:04.749Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:33:05.687Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000001",
"timestamp": "2019-02-18T21:33:04.8251156Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "If you are a current associate, please login.\n                    There are specific details just for current Associates by going here:                    https://us3.walmartone.com/pages/money/tax-center/tax-center/",
"replyToId": "EiF7D81mvlO"
}
2019-02-18T21:33:05.687Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000002",
"timestamp": "2019-02-18T21:33:05.0429894Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Before we start, I have to do this legal thing.",
"replyToId": "EiF7D81mvlO"
}
2019-02-18T21:33:05.687Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000003",
"timestamp": "2019-02-18T21:33:05.2470076Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Please confirm that you will not share highly sensitive information with me,                 such as social security numbers.",
"inputHint": "expectingInput",
"suggestedActions": {
"actions": [
{
"type": "imBack",
"title": "Agree",
"value": "Agree"
},
{
"type": "imBack",
"title": "Disagree",
"value": "Disagree"
}
]
},
"replyToId": "EiF7D81mvlO"
}
2019-02-18T21:33:05.687Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000001",
"timestamp": "2019-02-18T21:33:04.8251156Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "If you are a current associate, please login.\n                    There are specific details just for current Associates by going here:                    https://us3.walmartone.com/pages/money/tax-center/tax-center/",
"replyToId": "EiF7D81mvlO"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "If you are a current associate, please login.\n                    There are specific details just for current Associates by going here:                    https://us3.walmartone.com/pages/money/tax-center/tax-center/",
"channel": "default"
}
2019-02-18T21:33:05.687Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 7 BOT: If you are a current associate, please login. There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/ = If you are a current associate, please login. There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/ ...
2019-02-18T21:33:05.688Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:33:05.688Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000002",
"timestamp": "2019-02-18T21:33:05.0429894Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Before we start, I have to do this legal thing.",
"replyToId": "EiF7D81mvlO"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Before we start, I have to do this legal thing.",
"channel": "default"
}
2019-02-18T21:33:05.688Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 11 BOT: Before we start, I have to do this legal thing. = Before we start, I have to do this legal thing. ...
2019-02-18T21:33:05.688Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:33:05.688Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000003",
"timestamp": "2019-02-18T21:33:05.2470076Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Please confirm that you will not share highly sensitive information with me,                 such as social security numbers.",
"inputHint": "expectingInput",
"suggestedActions": {
"actions": [
{
"type": "imBack",
"title": "Agree",
"value": "Agree"
},
{
"type": "imBack",
"title": "Disagree",
"value": "Disagree"
}
]
},
"replyToId": "EiF7D81mvlO"
},
"media": [],
"buttons": [
{
"text": "Agree",
"payload": "Agree"
},
{
"text": "Disagree",
"payload": "Disagree"
}
],
"cards": [],
"messageText": "Please confirm that you will not share highly sensitive information with me,                 such as social security numbers.",
"channel": "default"
}
2019-02-18T21:33:05.688Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 14 BOT: Please confirm that you will not share highly sensitive information with me, such as social security numbers. = Please confirm that you will not share highly sensitive information with me, such as social security numbers. ...
2019-02-18T21:33:05.688Z botium-Convo W2 Former Bot Where will I get my W-2/Line 17: user says {
"sender": "me",
"channel": "default",
"messageText": "Agree",
"stepTag": "Line 17",
"not": false,
"asserters": [],
"logicHooks": [],
"userInputs": []
}
2019-02-18T21:33:05.689Z botium-connector-directline3 UserSays called
2019-02-18T21:33:05.689Z botium-connector-directline3 Posting activity  {
"from": {
"id": "me"
},
"type": "message",
"text": "Agree"
}
2019-02-18T21:33:07.325Z botium-connector-directline3 Posted activity, assigned ID  1T4LymjgH9t2MxXCBXtgqu|0000004
2019-02-18T21:33:07.325Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:33:07.727Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000005",
"timestamp": "2019-02-18T21:33:06.6588506Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Let’s get started!",
"inputHint": "acceptingInput",
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000004"
}
2019-02-18T21:33:07.727Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000006",
"timestamp": "2019-02-18T21:33:06.8869842Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Please select one of the following options.",
"inputHint": "acceptingInput",
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000004"
}
2019-02-18T21:33:07.727Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000007",
"timestamp": "2019-02-18T21:33:07.091537Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"attachments": [
{
"contentType": "application/vnd.microsoft.card.hero",
"content": {
"buttons": [
{
"type": "imBack",
"title": "Where will I get my W-2",
"value": "Where will I get my W-2"
},
{
"type": "imBack",
"title": "Change my Address",
"value": "Change my Address"
},
{
"type": "imBack",
"title": "Electronic W-2",
"value": "Electronic W-2"
},
{
"type": "imBack",
"title": "W-2 Validation",
"value": "W-2 Validation"
},
{
"type": "imBack",
"title": "More W-2 Questions",
"value": "More W-2 Questions"
}
]
}
}
],
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000004"
}
2019-02-18T21:33:07.728Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000005",
"timestamp": "2019-02-18T21:33:06.6588506Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Let’s get started!",
"inputHint": "acceptingInput",
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000004"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Let’s get started!",
"channel": "default"
}
2019-02-18T21:33:07.728Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 20 (Line 17: #me - Agree) BOT: Let’s get started! = Let’s get started! ...
2019-02-18T21:33:07.729Z botium-Convo W2 Former Bot Where will I get my W-2 wait for bot 'default'
2019-02-18T21:33:07.729Z botium-Convo W2 Former Bot Where will I get my W-2: bot says {
"sender": "bot",
"sourceData": {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000006",
"timestamp": "2019-02-18T21:33:06.8869842Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Please select one of the following options.",
"inputHint": "acceptingInput",
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000004"
},
"media": [],
"buttons": [],
"cards": [],
"messageText": "Please select one of the following options.",
"channel": "default"
}
2019-02-18T21:33:07.729Z botium-ScriptingProvider assertBotResponse W2 Former Bot Where will I get my W-2/Line 23 (Line 17: #me - Agree) BOT: Please select one of the following options. = Please select one of the following options. ...
2019-02-18T21:33:07.729Z botium-Convo W2 Former Bot Where will I get my W-2/Line 26: user says {
"sender": "me",
"channel": "default",
"messageText": "Where will I get my W-2",
"stepTag": "Line 26",
"not": false,
"asserters": [],
"logicHooks": [],
"userInputs": []
}
2019-02-18T21:33:07.729Z botium-connector-directline3 UserSays called
2019-02-18T21:33:07.729Z botium-connector-directline3 Posting activity  {
"from": {
"id": "me"
},
"type": "message",
"text": "Where will I get my W-2"
}
2019-02-18T21:33:08.692Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000009",
"timestamp": "2019-02-18T21:33:08.3427803Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "No problem, I can help you with that!",
"inputHint": "acceptingInput",
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000008"
}
2019-02-18T21:33:08.692Z botium-connector-directline3 received message  {
"type": "message",
"id": "1T4LymjgH9t2MxXCBXtgqu|0000010",
"timestamp": "2019-02-18T21:33:08.5574688Z",
"channelId": "webchat",
"from": {
"id": "w2botprod",
"name": "w2botprod"
},
"conversation": {
"id": "1T4LymjgH9t2MxXCBXtgqu"
},
"text": "Were you separated on or before December 21, 2018?",
"inputHint": "expectingInput",
"suggestedActions": {
"actions": [
{
"type": "imBack",
"title": "Before  12-21-2018",
"value": "Before  12-21-2018"
},
{
"type": "imBack",
"title": "After  12-21-2018 ",
"value": "After  12-21-2018 "
}
]
},
"replyToId": "1T4LymjgH9t2MxXCBXtgqu|0000008"
}
2019-02-18T21:33:08.792Z botium-connector-directline3 Posted activity, assigned ID  1T4LymjgH9t2MxXCBXtgqu|0000008
2019-02-18T21:33:08.793Z botium-cli-run W2 Former Bot Where will I get my W-2 ready, calling done function.
✓ W2 Former Bot Where will I get my W-2 (5684ms)
2019-02-18T21:33:08.795Z botium-connector-directline3 Stop called
2019-02-18T21:33:08.795Z botium-connector-directline3 unsubscribing from directline activity subscription
2019-02-18T21:33:08.795Z botium-connector-directline3 unsubscribing from directline connectionstatus subscription
2019-02-18T21:33:08.796Z botium-connector-directline3 Clean called
2019-02-18T21:33:08.797Z botium-BaseContainer Cleanup rimrafing temp dir /Users/j0p01ex/projects/botium-box/botium-box-basic-dist/botiumwork/W2-Former-bot-20190218-153303-S5l5V
1 passing (6s)

Hello,
The problem is that the script is missing one of the messages from the bot and is confused: All the options "Where will I get my W-2", "Change my Address" are sent as a separate message by your bot and this has to be reflected in the Botium script, see the additional line below.
The log output "cannot find module" you can safely ignore (we have a pull request in the pipeline to omit this output message - https://github.com/codeforequity-at/botium-core/pull/228).
#bot default
Hello! I’m a bot that can help with W-2 related questions if you are a former Walmart associate.

#bot default
If you are a current associate, please login.
There are specific details just for current Associates by going here: https://us3.walmartone.com/pages/money/tax-center/tax-center/

#bot default
Before we start, I have to do this legal thing.

#bot default
Please confirm that you will not share highly sensitive information with me, such as social security numbers.

#me default
Agree

#bot default
Let’s get started!

#bot default
Please select one of the following options.

#bot default
BUTTONS Where will I get my W-2|Change my Address|Change my Address|Electronic W-2|W-2 Validation|More W-2 Questions

#me default
Where will I get my W-2

#bot default
No problem, I can help you with that!

One more thing: The "Setup" phase in this conversation is rather long (6-7 turns), and we know that we have to provide a solution for this. We are currently working on something we call "partial convos" to make it possible to compose the full conversation flow from smaller conversation pieces.
This will be part of Botium 1.4.10 and Botium Box 1.3 (the release after the next release this weekend).

I'm not able to get partial convos to work with botium-cli. Has this been released? Are there any examples of partial convos being used succesfully? I am following the suggestions here: https://medium.com/@floriantreml/botium-in-a-nutshell-part-2-writing-chatbot-tests-8726204c8da6 but it doesn't seem to work for me.

yes has been released. stackoverflow is better place to ask than a closed github issue. pls include used configuration and convos.

Thank you for the quick response! I'm sorry to ask in the wrong place, I just wanted to confirm it should have been working first before I tried to bother anybody - I have added as question on stackoverflow here: https://stackoverflow.com/questions/55774072/botium-partial-convos-are-not-actually-sending-conversations-to-chatbot
I did not find any tags that were botium-specific, but let me know if I missed them!


Update supported diagram types

Adds the following new diagram types as supported in Kroki 0.23.0:

symbolator
d2
tikz
wireviz
dbml

@TECH7Fox Let me know if there's anything I can do to move this along!

@TECH7Fox Would you be interested in merging this?

Ah sorry didn't see this message. Did you test it already?

@TECH7Fox No worries! I've added screenshots for each new diagram type to the MR description as well as a VS Code .devcontainer configuration with a minimal build environment.

Looks good, thank you for the PR!


Use Github Actions for Linux, Windows and macOS

This allows us to run automated builds and tests for the three OSes.

The tests will fail until #81 is merged