Problem on fresh install

OS: macosx
Node version: v14.20.0
Npm version: 6.14.17
Steps to reproduce
git clone git@github.com:bigcommerce/widget-builder.git
cd widget-builder
npm run install-cli

Errors

<EMAIL_ADDRESS>install-cli /Users/wipdz/Projects/bigcommerce-wip-stencil/testingbc/widget-builder
npm install; npm run build && npm install -g

npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition for chalk (https://github.com/chalk/chalk). chalk provides its own type definitions, so you don't need @types/chalk installed!
npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition for commander (https://github.com/tj/commander.js). commander provides its own type definitions, so you don't need @types/commander installed!
npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition for ajv (https://github.com/epoberezkin/ajv). ajv provides its own type definitions, so you don't need @types/ajv installed!
npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition. dotenv provides its own type definitions, so you do not need this installed.
npm WARN deprecated<EMAIL_ADDRESS>babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated<EMAIL_ADDRESS><EMAIL_ADDRESS>is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated<EMAIL_ADDRESS>You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1

<EMAIL_ADDRESS>postinstall /Users/wipdz/Projects/bigcommerce-wip-stencil/testingbc/widget-builder/node_modules/core-js
node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js
https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

<EMAIL_ADDRESS>postinstall /Users/wipdz/Projects/bigcommerce-wip-stencil/testingbc/widget-builder/node_modules/core-js-pure
node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js:

https://opencollective.com/core-js
https://patreon.com/zloirock
bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

<EMAIL_ADDRESS>postinstall /Users/wipdz/Projects/bigcommerce-wip-stencil/testingbc/widget-builder/node_modules/styled-components
node ./scripts/postinstall.js || exit 0

Use styled-components at work? Consider supporting our development efforts at https://opencollective.com/styled-components
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of acorn@^8 but none is installed. You must install peer dependencies yourself.
added 1315 packages from 843 contributors and audited 1320 packages in 91.498s
145 packages are looking for funding
run npm fund for details
found 2 moderate severity vulnerabilities
run npm audit fix to fix them, or npm audit for details

<EMAIL_ADDRESS>build /Users/wipdz/Projects/bigcommerce-wip-stencil/testingbc/widget-builder
npm run build-cli && npm run build-server && npm run build-client

<EMAIL_ADDRESS>build-cli /Users/wipdz/Projects/bigcommerce-wip-stencil/testingbc/widget-builder
cd src/cli && tsc -p tsconfig.cli.json

../../node_modules/@types/express-serve-static-core/index.d.ts:99:68 - error TS1110: Type expected.
99 type RemoveTail<S extends string, Tail extends string> = S extends ${infer P}${Tail} ? P : S;
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:99:77 - error TS1005: '}' expected.
99 type RemoveTail<S extends string, Tail extends string> = S extends ${infer P}${Tail} ? P : S;
~
../../node_modules/@types/express-serve-static-core/index.d.ts:99:78 - error TS1128: Declaration or statement expected.
99 type RemoveTail<S extends string, Tail extends string> = S extends ${infer P}${Tail} ? P : S;
~
../../node_modules/@types/express-serve-static-core/index.d.ts:99:80 - error TS1005: ';' expected.
99 type RemoveTail<S extends string, Tail extends string> = S extends ${infer P}${Tail} ? P : S;
~
../../node_modules/@types/express-serve-static-core/index.d.ts:101:33 - error TS1005: ';' expected.
101     RemoveTail<RemoveTail<S, /${string}>, -${string}>,
~
../../node_modules/@types/express-serve-static-core/index.d.ts:101:48 - error TS1005: ';' expected.
101     RemoveTail<RemoveTail<S, /${string}>, -${string}>,
~
../../node_modules/@types/express-serve-static-core/index.d.ts:102:8 - error TS1005: ';' expected.
102     .${string}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:108:22 - error TS1005: ';' expected.
108     : Route extends ${string}(${string}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:108:23 - error TS1005: ';' expected.
108     : Route extends ${string}(${string}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:108:33 - error TS1005: ')' expected.
108     : Route extends ${string}(${string}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:110:26 - error TS1005: ';' expected.
110         : Route extends ${string}:${infer Rest}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:110:27 - error TS1005: ';' expected.
110         : Route extends ${string}:${infer Rest}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:110:35 - error TS1128: Declaration or statement expected.
110         : Route extends ${string}:${infer Rest}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:110:37 - error TS1005: ';' expected.
110         : Route extends ${string}:${infer Rest}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:110:44 - error TS1005: ';' expected.
110         : Route extends ${string}:${infer Rest}
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:114:52 - error TS1005: ';' expected.
114                 : GetRouteParameter extends ${infer ParamName}?
~
../../node_modules/@types/express-serve-static-core/index.d.ts:114:53 - error TS1005: ';' expected.
114                 : GetRouteParameter extends ${infer ParamName}?
~
../../node_modules/@types/express-serve-static-core/index.d.ts:114:60 - error TS1005: ';' expected.
114                 : GetRouteParameter extends ${infer ParamName}?
~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:114:70 - error TS1128: Declaration or statement expected.
114                 : GetRouteParameter extends ${infer ParamName}?
~
../../node_modules/@types/express-serve-static-core/index.d.ts:118:28 - error TS1005: ';' expected.
118             (Rest extends ${GetRouteParameter<Rest>}${infer Next}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:118:29 - error TS1005: ';' expected.
118             (Rest extends ${GetRouteParameter<Rest>}${infer Next}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:118:53 - error TS1005: '(' expected.
118             (Rest extends ${GetRouteParameter<Rest>}${infer Next}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:118:55 - error TS1005: ';' expected.
118             (Rest extends ${GetRouteParameter<Rest>}${infer Next}
~
../../node_modules/@types/express-serve-static-core/index.d.ts:118:62 - error TS1005: ';' expected.
118             (Rest extends ${GetRouteParameter<Rest>}${infer Next}
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:224:41 - error TS1005: ';' expected.
224      * Map the given param placeholder name(s) to the given callback(s).
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:233:31 - error TS1005: ';' expected.
233      * of the user. Once the next() function is invoked, just like middleware
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:259:62 - error TS1005: ';' expected.
259      * Special-cased "all" method, applying the given route path,
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:355:49 - error TS1005: ';' expected.
355  * @param P  For most requests, this should be ParamsDictionary, but if you're
~~~~~~~~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:356:59 - error TS1005: ';' expected.
356  * using this in a route handler for a route that uses a RegExp or a wildcard
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:357:5 - error TS1005: ';' expected.
357  * string path (e.g. '/user/*'), then req.params will be an array, in
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:357:25 - error TS1005: ';' expected.
357  * string path (e.g. '/user/*'), then req.params will be an array, in
~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:357:44 - error TS1005: ';' expected.
357  * string path (e.g. '/user/*'), then req.params will be an array, in
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:358:31 - error TS1005: ';' expected.
358  * which case you should use ParamsArray instead.
~~~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:363:84 - error TS1005: ';' expected.
363  *     app.get('/user/:id', (req, res) => res.send(req.params.id)); // implicitly ParamsDictionary
~~~~~~~~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:378:13 - error TS1005: ';' expected.
378      * The Referrer header field is special-cased,
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:379:14 - error TS1005: ';' expected.
379      * both Referrer and Referer are interchangeable.
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:379:29 - error TS1005: ';' expected.
379      * both Referrer and Referer are interchangeable.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:392:20 - error TS1005: ';' expected.
392      * Aliased as req.header().
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:401:28 - error TS1005: ';' expected.
401      * Check if the given type(s) is acceptable, returning
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:402:45 - error TS1005: ';' expected.
402      * the best match when true, otherwise undefined, in which
~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:405:13 - error TS1005: ';' expected.
405      * The type value may be a single mime type string
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:479:56 - error TS1005: ';' expected.
479      * Parse Range header field, capping to the given size.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:483:48 - error TS1005: ';' expected.
483      * If the Range header field is not given undefined is returned.
~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:502:35 - error TS1005: ';' expected.
502      * Return the value of param name when present or defaultValue.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:502:58 - error TS1005: ';' expected.
502      * Return the value of param name when present or defaultValue.
~~~~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:508:36 - error TS1005: ';' expected.
508      * To utilize request bodies, req.body
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:510:13 - error TS1005: ';' expected.
510      * the connect.bodyParser() middleware.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:516:53 - error TS1005: ';' expected.
516      * header field, and it contains the give mime type.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:556:26 - error TS1005: ';' expected.
556      * "trust proxy" is true return
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:562:31 - error TS1005: ';' expected.
562      * When "trust proxy" is true, parse
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:585:24 - error TS1005: ';' expected.
585      * Short-hand for url.parse(req.url).pathname.
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:666:20 - error TS1005: ';' expected.
666      * Set status code.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:671:46 - error TS1005: ';' expected.
671      * Set the response HTTP status code to statusCode and send its string representation as the response body.
~~~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:684:46 - error TS1005: ';' expected.
684      * Set Link header field with the given links.
~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:732:40 - error TS1005: ';' expected.
732      * Transfer the file at the given path.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:735:22 - error TS1005: ';' expected.
735      * The callback fn(err) is invoked when the transfer is complete
~~
../../node_modules/@types/express-serve-static-core/index.d.ts:736:51 - error TS1005: ';' expected.
736      * or when an error occurs. Be sure to check res.headersSent
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:742:13 - error TS1005: ';' expected.
742      *   - maxAge   defaulting to 0 (can be string converted by ms)
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:742:68 - error TS1005: ';' expected.
742      *   - maxAge   defaulting to 0 (can be string converted by ms)
~~
../../node_modules/@types/express-serve-static-core/index.d.ts:743:13 - error TS1005: ';' expected.
743      *   - root     root directory for relative filenames
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:744:13 - error TS1005: ';' expected.
744      *   - headers  object of headers to serve with file
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:745:13 - error TS1005: ';' expected.
745      *   - dotfiles serve dotfiles, defaulting to false; can be "allow" to send them
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:745:68 - error TS1005: ';' expected.
745      *   - dotfiles serve dotfiles, defaulting to false; can be "allow" to send them
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:747:43 - error TS1005: ';' expected.
747      * Other options are passed along to send.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:751:48 - error TS1005: ';' expected.
751      *  The following example illustrates how res.sendFile() may
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:752:44 - error TS1005: ';' expected.
752      *  be used as an alternative for the static() middleware for
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:753:47 - error TS1005: ';' expected.
753      *  dynamic situations. The code backing res.sendFile() is actually
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:792:40 - error TS1005: ';' expected.
792      * Transfer the file at the given path as an attachment.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:794:54 - error TS1005: ';' expected.
794      * Optionally providing an alternate attachment filename,
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:795:31 - error TS1005: ';' expected.
795      * and optional callback fn(err). The callback is invoked
~~
../../node_modules/@types/express-serve-static-core/index.d.ts:797:35 - error TS1005: ';' expected.
797      * ocurred. Be sure to check res.headersSent if you plan to respond.
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:802:26 - error TS1005: ';' expected.
802      * This method uses res.sendfile().
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:809:49 - error TS1005: ';' expected.
809      * Set Content-Type response header with type through mime.lookup()
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:809:64 - error TS1005: ';' expected.
809      * Set Content-Type response header with type through mime.lookup()
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:810:66 - error TS1005: ';' expected.
810      * when it does not contain "/", or set the Content-Type to type otherwise.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:823:49 - error TS1005: ';' expected.
823      * Set Content-Type response header with type through mime.lookup()
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:823:64 - error TS1005: ';' expected.
823      * Set Content-Type response header with type through mime.lookup()
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:824:66 - error TS1005: ';' expected.
824      * when it does not contain "/", or set the Content-Type to type otherwise.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:837:52 - error TS1005: ';' expected.
837      * Respond to the Acceptable formats using an obj
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:840:26 - error TS1005: ';' expected.
840      * This method uses req.accepted, an array of
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:848:54 - error TS1005: ';' expected.
848      * you may alter this within the callback using res.type()
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:849:12 - error TS1005: ';' expected.
849      * or res.set('Content-Type', ...).
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:849:39 - error TS1109: Expression expected.
849      * or res.set('Content-Type', ...).
~
../../node_modules/@types/express-serve-static-core/index.d.ts:882:38 - error TS1005: ';' expected.
882      * By default Express passes an Error
~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:883:36 - error TS1005: ';' expected.
883      * with a .status of 406 to next(err)
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:891:72 - error TS1005: ';' expected.
891      * Set Content-Disposition header to attachment with optional filename.
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:896:20 - error TS1005: ';' expected.
896      * Set header field to val, or pass
~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:896:31 - error TS1005: ';' expected.
896      * Set header field to val, or pass
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:905:20 - error TS1005: ';' expected.
905      * Aliased as res.header().
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:916:31 - error TS1005: ';' expected.
916     /** Get value for header field. */
~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:919:23 - error TS1005: ';' expected.
919     /** Clear cookie name. */
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:923:20 - error TS1005: ';' expected.
923      * Set cookie name to val, with the given options.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:923:30 - error TS1005: ';' expected.
923      * Set cookie name to val, with the given options.
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:923:52 - error TS1005: ';' expected.
923      * Set cookie name to val, with the given options.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:927:14 - error TS1005: ';' expected.
927      *    - maxAge   max-age in milliseconds, converted to expires
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:927:63 - error TS1005: ';' expected.
927      *    - maxAge   max-age in milliseconds, converted to expires
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:928:14 - error TS1005: ';' expected.
928      *    - signed   sign the cookie
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:929:14 - error TS1005: ';' expected.
929      *    - path     defaults to "/"
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:944:36 - error TS1005: ';' expected.
944      * Set the location header to url.
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:946:19 - error TS1005: ';' expected.
946      * The given url can also be the name of a mapped url, for
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:958:46 - error TS1005: ';' expected.
958      *   When an application is mounted and res.location()
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:972:31 - error TS1005: ';' expected.
972      * Redirect to the given url with optional response status
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:972:60 - error TS1005: ';' expected.
972      * Redirect to the given url with optional response status
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:975:23 - error TS1005: ';' expected.
975      * The resulting url is determined by res.location(), so
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:975:46 - error TS1005: ';' expected.
975      * The resulting url is determined by res.location(), so
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:977:9 - error TS1005: ';' expected.
977      * "back" etc.
~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:994:16 - error TS1005: ';' expected.
994      * Render view with the given options and optional callback fn.
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:994:38 - error TS1005: ';' expected.
994      * Render view with the given options and optional callback fn.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:994:70 - error TS1005: ';' expected.
994      * Render view with the given options and optional callback fn.
~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1000:12 - error TS1005: ';' expected.
1000      *  - cache     boolean hinting to the engine it should cache
~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1001:12 - error TS1005: ';' expected.
1001      *  - filename  filename of the view being rendered
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1071:53 - error TS1005: ';' expected.
1071      * Register the given template engine callback fn
~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1072:12 - error TS1005: ';' expected.
1072      * as ext.
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1074:25 - error TS1005: ';' expected.
1074      * By default will require() the engine based on the
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1089:52 - error TS1005: ';' expected.
1089      * though note that it aliases this method as ejs.__express internally
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1104:16 - error TS1005: ';' expected.
1104      * Assign setting to val, or return setting's value.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1104:29 - error TS1005: ';' expected.
1104      * Assign setting to val, or return setting's value.
~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1104:46 - error TS1005: ';' expected.
1104      * Assign setting to val, or return setting's value.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1140:18 - error TS1005: ';' expected.
1140      * Check if setting is enabled (truthy).
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1152:18 - error TS1005: ';' expected.
1152      * Check if setting is disabled.
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1163:17 - error TS1005: ';' expected.
1163     /** Enable setting. */
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1166:18 - error TS1005: ';' expected.
1166     /** Disable setting. */
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1170:31 - error TS1005: ';' expected.
1170      * Render the given view name name with options
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1170:48 - error TS1005: ';' expected.
1170      * Render the given view name name with options
~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1186:16 - error TS1005: ';' expected.
1186      * A node http.Server is returned, with this
~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1187:33 - error TS1005: ';' expected.
1187      * application (which is a Function) as its
~~~~~~~~
../../node_modules/@types/express-serve-static-core/index.d.ts:1255:1 - error TS1160: Unterminated template literal.
1255
Found 127 errors.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>build-cli: cd src/cli && tsc -p tsconfig.cli.json
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-cli script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/wipdz/.npm/_logs/2022-09-20T10_29_12_278Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>build: npm run build-cli && npm run build-server && npm run build-client
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/wipdz/.npm/_logs/2022-09-20T10_29_12_302Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>install-cli: npm install; npm run build && npm install -g
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install-cli script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/wipdz/.npm/_logs/2022-09-20T10_29_12_326Z-debug.log

Seeing the same issue... was this resolved?


deference java.util.LinkedList.peek().size throw run time ceylon.language.AssertionError

Ceylon 1.3.3，jdk1.8.0_121.
code below:
value queue = LinkedList();
Integer size = queue.peek().size;
print("size = " + size.string);
in Intellij IDEA 2017.2，no warning, but run with exception, I expect present compile error !
Exception in thread "main" ceylon.language.AssertionError "null value returned from native call not assignable to Object"
at com.redhat.ceylon.compiler.java.Util.checkNull(Util.java:1008)
at excercise.hello_.hello(excercise1.ceylon:24)
......

@IamSungod this is by design. Since there is no way for the Ceylon compiler to know if the Java method peek() can return null, it cannot guarantee null safety for this at compile time.
The alternative would be to require all values returned from Java methods to have an explicit null check, but that would be way too burdensome for the programmer.
See more here: https://ceylon-lang.org/documentation/1.3/tour/interop/#null_return_values_are_checked_at_runtime

Or should give a compile warning on peek().size ?
Would you prefer add the !! operator in Kotlin ?
See:
https://kotlinlang.org/docs/reference/null-safety.html

Or should give a compile warning on peek().size ?

Most calls to Java would then result in a warning. With so many warnings, they would lose meaning.

Would you prefer add the !! operator in Kotlin ?

This would have a similar problem. Typing !! would become a habit and all of the !!s would just look like clutter.
And AFAIK, Kotlin does not require !! to de-optionalize interop values.

This behavior is by design (and thoroughly correct, IMO) and is well-documented.

Ok, It seems no solution by the compiler currently.


Introduce Cloud Foundry Service Dashboard for Abacus

Coverage remained the same at 90.055% when pulling 07630cd73066fb727a39ba3a7817f15ab617ebee on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.

Coverage remained the same at 90.055% when pulling 031abeb4b46496ee411baa752e95a5fc9429910e on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.

Coverage remained the same at 90.055% when pulling 0e3fcd92f73c9ca0b169166b716a67d309de1dac on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.

Coverage remained the same at 90.055% when pulling caf755a9a43b648d3ffc24ad3724b5bd32a63d5c on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.

Looks good in my opinion. @stoyanr @astefanova WDYT?
A couple of remarks:

The dashboard has to be added to the package list so it can be build by Travis.
Dashboard has to be added to the list of applications in broker: https://github.com/cloudfoundry-incubator/cf-abacus-broker/blob/master/etc/apps.rc
The code should comply to the eslint rules on root level. This might require adding eslint script and changing jsbeautify settings

Coverage remained the same at 90.055% when pulling f83e6dc7ac120a49a4a11039ddd4392f9a310ead on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.

Coverage remained the same at 90.055% when pulling f83e6dc7ac120a49a4a11039ddd4392f9a310ead on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.

Coverage decreased (-2.8%) to 87.228% when pulling 2245ab90a0c24d7ace993ea69dcf7c6d914a5978 on abh1kg:master into 7c9542fe7f67416833ec259ddfed5adebd53de5c on cloudfoundry-incubator:master.


Update Screenshots in Kaiascope guide to reflect New Kaiascope UI #169

Proposed changes

Replaced outdated Klaytnscope screenshots with updated Kaiascope UI screenshots.
Reviewed steps to ensure accuracy and retained the original naming conventions for the screenshots.

Resolves #169
Types of changes
Please put an x in the boxes related to your change.

[ ] Minor Issues and Typos
[ x] Major Content Contribution
[ ] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to reach out. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES
[x] I have read the CLA and signed by comment I have read the CLA Document and I hereby sign the CLA in first time contribute
[x] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Related issues

Please leave the issue numbers or links related to this PR here.

https://github.com/kaiachain/kaia-docs/issues/169
Further comments
If this is a relatively large content contribution, kick off the discussion by explaining why you would suggest the content contribution, etc...

I have read the CLA Document and I hereby sign the CLA


ENH: provide output optionally as csv/tsv for automated analysis/sharing

Right now the output is good for interactive human analysis, but there's a lack of csv/tsv machine readable output for sharing/further analysis.
From my experience with Nextclade, main difficulty here is the design of the specs of the file, which columns to include etc, which separators to take if you need an intra-column separator etc.
Maybe best to discuss on this issue before implementing something as one will kind of get locked in to the format.

I'm still through the code, but I'd be happy to implement this in my fork

Yes, that's how I would interpret the regions (breakpoint between 21618 and 21762).
Would reporting private mutations generate unique output that Nextclade doesn't provide? I like to run sc2rf in tandem with Nextclade, and then fuse and compare their results.

Yes, it would provide more comprehensive private mutations, because Nextclade will attach to the bigger donor and hence mask some interesting mutations that may occur in the nearest neighbour.
So for example, if we have a AY.39.1 / BA.2 recombinant, Nextclade would show private mutations with respect to AY.39.1 and that would exclude all the AY.39.1 mutations.
sc2rf would report all mutations that are in addition to 21J  and BA.2, including the defining AY.39.1 mutations.

Thanks for the explanation, that seems very useful to report as well!

Would it be better to have an option that switches between screen and CSV file outputs, or a flag that specifies a path to optionally write CSV output?

it's looking like it would be easier to tuck CSV writing into the show_matches where some things you want reported like intermissions are being calculated
this would mean the CSV rows would be structured by tuples of example indices (combinations of variants) in the outer loop, and then iterate over samples
if it's annoying for me to be commenting here let me know, I'll just carry over to my fork

Okay I've got the beginnings of CSV output:
art@Wernstrom sc2rf % python3 sc2rf.py data/BA1-BA2-Finland.aln.fa --csvfile temp.csv

Potential recombinants between ['Omicron / BA.1 / 21K', 'Omicron / BA.2 / 21L']:

coordinates<PHONE_NUMBER>111222222222222222222222222222222222222222222222222222222
<PHONE_NUMBER>90000123455789011112222222222222333333333333344445566666677777888889
<PHONE_NUMBER>4580144581427419067892566666778899000000245568914450502557823338238885
<PHONE_NUMBER>2362944389041165516480777788781899144567002905432600867370558880718881
<PHONE_NUMBER>4469879705804035582670834968563225308535235944804930400079892347111230

genes                           1a                 1b     S                                  3aEM   6   7b9N
ref                            CTCACGCTGCACCCCGCACTCCCCACACCCGTGTCTCAGAGTGCAAGAATCACTCCGCATCCCCCACGCAGATCACGGGA

Omicron / BA.1 / 21K           T••GT••GA••••T••AG•CTT••G•••TT••ACTCT•••••AACGAGTCAGTGAATATATTT•TGGA•C•••TTTAAC•
Omicron / BA.2 / 21L           TGT•TAT••TGTTTTAA•T•T•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC

2022-05483                     T••GT••GA••••T••AG•CT•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP
2022-05506                     T••GT••GA••••T••AG•CT•TTGTGT••AGANNNNNACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP
2022-05508                     T••GT••GA••••T••AG•CT•TTGNNT••AGN•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP
2022-05526                     T••GT••GA••••T••AG•CT•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP
2022-05535                     T••GT••GA••••T••AG•CT•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP
2022-05565                     T••GT••GA••••T••AG•CT•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAATNTA•TTTTNNATCCTCTTTAACC 1 BP
2022-05568                     T••GT••GA••••T••AG•CT•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP
2022-05602                     T••GT••GA••••T••AG•CT•TTGTGT••AGA•TCTGACTGAACG•GTC•GTGAAT•TA•TTTT•GATCCTCTTTAACC 1 BP

made with Sc2rf - available at https://github.com/lenaschimmel/sc2rf

art@Wernstrom sc2rf % head temp.csv
sample,examples,intermissions,breakpoints,regions
2022-05483,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05506,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05508,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05526,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05535,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05565,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05568,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,
2022-05602,"Omicron / BA.1 / 21K,Omicron / BA.2 / 21L",0,1,

obviously haven't implemented regions yet
https://github.com/ArtPoon/sc2rf/commit/6cdec7d360ee840a225252b6ac7352b92f4f9a10

Now reporting regions and private mutations in CSV:
https://github.com/ArtPoon/sc2rf/commit/6c97ca540db89678ba90e655b5920da303634174
sample,examples,intermissions,breakpoints,regions,privates
2022-05483,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C3241T,G5924A,C22792T,C27945T"
2022-05506,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C3241T,G5924A,C22792T,C27945T"
2022-05508,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C3241T,G5924A,A22628C,A22634C,C22792T,C27945T"
2022-05526,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C21T,C3241T,G5924A,C22792T,C27945T,G29759T"
2022-05535,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C21T,C3241T,G5924A,C22792T,C27945T"
2022-05565,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","T2886G,C3241T,G5924A,C22792T,C27945T"
2022-05568,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C3241T,G5924A,C22792T,C27945T"
2022-05602,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"670|Omicron/BA.1/21K,15240|Omicron/BA.2/21L","C3241T,G5924A,T19857A,C22792T,C27945T,G29759C"

issued PR #25

Thank you a lot for your PR and for putting up with my uncommented, chaotic code!
I just tested it and noticed that the format of the regions is different from the one @ktmeaton and @corneliusroemer discussed above. Is this a deliberate choice? I think I would prefer their version.
I was just about to implement that change myself, but realized it might be better to discuss it before.

I would prefer their version too, but I reached the end of the day and I'm supposed to be reading someone's thesis :-)  If you can change the format, that would be great!
And thanks @lenaschimmel for making this great and open resource.  I'm seriously impressed you've put it together so quickly, and I love the retro command-line output.

Ok, I can try to change the format, but I can't promise that I'll find time for it (even it's only about 20 minutes, I guess) before Tuesday evening.

Ah it's ok, I'll work on it - I just got the impression from your earlier comment that you were already about to implement a format change!

@ktmeaton - your example indicates that the last column should report regions that match more than one example:
0:5386|21L,6308:20052|21K,20582:29132|21L&21M
Incorporating multiple matches in a given region is going to take a bit more work because we'll need to record this information under the condition len(matching_exs) < len(examples), and prev_definitive_match is only tracking a single example.  In other words I'd have to modify some of the data structures or logic in show_matches, which is more likely to break something.

Actually cases where a region matches multiple examples are not even registered as breakpoints in the current code.  If the list matching_exs transitions from [ex1] to [ex2] (where exn is n-th example), this is registered as a breakpoint, but what if we transition from [ex1] to [ex2, ex3]?   Right now the only action in the latter case is:
https://github.com/lenaschimmel/sc2rf/blob/c96954b95185c509e117a995c2d626474bbfb003/sc2rf.py#L671-L673
Is this an edge case that we can ignore, or should this also be considered a breakpoint that is not marked in the screen output, but recorded in the CSV?

In my view, recombinants of more than 2 parents are very rare and this is an edge case that could be ignored for now.
Could always be extended later on?
Triple recombinants are rather unlikely for now I think.

I've almost got it, though :-)

art@Wernstrom sc2rf % python3 sc2rf.py data/BA1-BA2-Finland.aln.fa --csvfile temp.csv > /dev/null
art@Wernstrom sc2rf % cat temp.csv
sample,examples,intermissions,breakpoints,regions
2022-05483,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05506,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05508,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05526,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05535,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05565,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05568,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
2022-05602,"21K,21L",0,1,"241:14408|21K,15240:29510|21L"
art@Wernstrom sc2rf % python3 sc2rf.py data/BA1-BA2-Finland.aln.fa --csvfile temp.csv --show-private-mutations > /dev/null
art@Wernstrom sc2rf % cat temp.csv
sample,examples,intermissions,breakpoints,regions,privates
2022-05483,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C3241T,G5924A,C22792T,C27945T"
2022-05506,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C3241T,G5924A,C22792T,C27945T"
2022-05508,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C3241T,G5924A,A22628C,A22634C,C22792T,C27945T"
2022-05526,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C21T,C3241T,G5924A,C22792T,C27945T,G29759T"
2022-05535,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C21T,C3241T,G5924A,C22792T,C27945T"
2022-05565,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","T2886G,C3241T,G5924A,C22792T,C27945T"
2022-05568,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C3241T,G5924A,C22792T,C27945T"
2022-05602,"21K,21L",0,1,"21:14408|21K,15240:29759|21L","C3241T,G5924A,T19857A,C22792T,C27945T,G29759C"

just need a test case to confirm that all examples are reported when two or more match a given region

@ktmeaton @corneliusroemer - while generating test cases, I realized that not all examples have a NextstrainClade or PangoLineage.  This means that it is not possible to write outputs with just NextstrainClade as requested.  Is it okay if the CSV uses the full names?

@ArtPoon can you explain what you mean by "not all examples have a NextstrainClade or PangoLineage", I don't quite understand. Can you give an example of a full name?

> require(jsonlite)
> vprop <- read_json("virus_properties.json", simplifyVector=TRUE)
> vprop$variants[c("name", "NextstrainClade", "PangoLineage")]
                                name NextstrainClade      PangoLineage
1              Alpha / B.1.1.7 / 20I             20I           B.1.1.7
2               Beta / B.1.351 / 20H             20H           B.1.351
3                  Gamma / P.1 / 20J             20J               P.1
4            Delta / B.1.617.2 / 21A             21A         B.1.617.2
5                        Delta / 21I             21I
6                        Delta / 21J             21J
7                       Delta / AY.4                              AY.4
8                     Delta / AY.103                            AY.103
9                      Delta / AY.43                             AY.43
10                     Delta / AY.44                             AY.44
11                    Delta / AY.122                            AY.122
12                      Delta / AY.3                              AY.3
13                    Delta / AY.4.2                            AY.4.2
14                    Delta / AY.100                            AY.100
15                   Delta / AY.25.1                           AY.25.1
16                     Delta / AY.25                             AY.25
17           Kappa / B.1.617.1 / 21B             21B         B.1.617.1
18 Epsilon / B.1.427 / B.1.429 / 21C             21C B.1.427 / B.1.429
19               Eta / B.1.525 / 21D             21D           B.1.525
20              Iota / B.1.526 / 21F             21F           B.1.526
21               Lambda / C.37 / 21G             21G              C.37
22                Mu / B.1.621 / 21H             21H           B.1.621
23              Omicron / BA.1 / 21K             21K              BA.1
24              Omicron / BA.2 / 21L             21L              BA.2
25                    Omicron / BA.3                              BA.3
26         Omicron / B.1.1.529 / 21M             21M         B.1.1.529
27                     B.1.177 / 20E             20E           B.1.177
28            B.1.1.519 / 20B/S:732A      20B/S:732A         B.1.1.519
29              B.1.620 / 20A/S:126A      20A/S:126A           B.1.620
30                 B.1.160 / 20A.EU2         20A.EU2           B.1.160
31              B.1.258 / 20A/S:439K      20A/S:439K           B.1.258
32               B.1.221 / 20A/S:98F       20A/S:98F           B.1.221
33               B.1.367 / 20C/S:80Y       20C/S:80Y           B.1.367
34            B.1.1.277 / 20B/S:626S      20B/S:626S         B.1.1.277
35           B.1.1.302 / 20B/S:1122L     20B/S:1122L         B.1.1.302

Also see https://github.com/lenaschimmel/sc2rf/blob/main/mapping.csv

@corneliusroemer wrote:

In my view, recombinants of more than 2 parents are very rare and this is an edge case that could be ignored for now.
Could always be extended later on?
Triple recombinants are rather unlikely for now I think.

Yes, I believe that triple recombinants will occur very rarely in reality - even though we might encounter recombinants where one of the two parents is already a recombinant, and maybe one that has not already been assigned an X... pango lineage, so they may appear like triple recombinants. Let's just hope that all recombinants will be assigned before they spread far enough to recombine once again...
@ArtPoon wrote:

Is this an edge case that we can ignore, or should this also be considered a breakpoint that is not marked in the screen output, but recorded in the CSV?

I think it is okay to ignore this edge case for now, and not generate the proper output for the affected samples.
The case for results with many parents
The final result of analyzing a recombinant sample will most likely show two parents and a small number of breakpoints.
Situations with more than two parents are not very relevant as final results, but might become important as intermediate results. Sometimes, Sc2rf will propose three or more potential parents when it can't be very sure about which two parents are the actual ones. I think it can be useful to show this to the user, so that they can decide it manually, or using some other tool. In the mid-future, I want to add another output mode to Sc2rf, so that the visual display of 3 or more potential parents is much more useful that it currently is. Once this is working, we might want to reduce the filtering that Sc2rf currently applies to avoid three-parent-hypothesis during analysing.
On the one hand, saving those unclear intermediate results to a file so that some other tool can try to make a better decision. On the other hand, I'm unsure if the current file format is a good approach to capture these unclear results, or if we would need another, more complex format anyway.
But let's not worry too much about that future now.

@lenaschimmel - thanks for the detailed response!  I agree that it would be useful to indicate to the user when matches are ambiguous (with multiple parents).
Regarding my PR (#25), I am going to revise the labels to use the full name rather than just NextstrainClade and I think that should address this issue (unless I hear otherwise from @ktmeaton or @corneliusroemer).  Will that be okay with you?

Absolutely!

Ok, pushed the above change.  CSV now looks like this:
sample,examples,intermissions,breakpoints,regions,privates
2022-05483,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C3241T,G5924A,C22792T,C27945T"
2022-05506,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C3241T,G5924A,C22792T,C27945T"
2022-05508,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C3241T,G5924A,A22628C,A22634C,C22792T,C27945T"
2022-05526,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C21T,C3241T,G5924A,C22792T,C27945T,G29759T"
2022-05535,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C21T,C3241T,G5924A,C22792T,C27945T"
2022-05565,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","T2886G,C3241T,G5924A,C22792T,C27945T"
2022-05568,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C3241T,G5924A,C22792T,C27945T"
2022-05602,"Omicron/BA.1/21K,Omicron/BA.2/21L",0,1,"21:14408|Omicron/BA.1/21K,15240:29759|Omicron/BA.2/21L","C3241T,G5924A,T19857A,C22792T,C27945T,G29759C"


Android TV: Keyboard automatically open when pressing numeric key in specific conditions

Description
Keyboard automatically open when pressing numeric key (KEYCODE_1, ... ) after removing an InputText from the View on AndroidTV (not tested on ios, but not sure it makes sens as there is no key number on apple TV)
React Native version:
0.66.3-3
Steps To Reproduce
Run following sample. This is just a dummy InputText which is removed from main View onSubmit.
Once you end typing text, the view disappear.
At that point, if you press numerical key on remote control, the keyboard is automatically opened.
As a complementary test, if you initialize show state to false and input numerical Keycode, the issue is not reproduced.
Reproduced on multiple Androidtv devices and on emulator.
Keycode can be simulate with following adb command: 'adb shell input keyevent KEYCODE_1'
Expected Results
The keyboard should not show at that point.
code example:
Sample project : https://github.com/freeboub/React-Native-tvos-demo/tree/sample_keyboard_issue
code sample code:
`
import React, {useRef} from 'react';
import {View, TextInput, LogBox} from 'react-native';
const TVEventHandlerView = () => {
const [show, setShow] = React.useState(true);
const firstRef = useRef();
return (
<>
{show && (
<>
<TextInput
ref={firstRef}
defaultValue={'hello'}
showSoftInputOnFocus={true}
autoFocus={true}
editable={true}
onChangeText={() => {
console.log('onTextChange');
}}
onSubmitEditing={() => {
console.log('onSubmitEditing');
setShow(false);
}}
placeholder={'Search...'}
/>
</>
)}
</>
);
};
export default function App() {
return (
<View style={{flex: 1}}>

);
}
`
Additionnal interesting informations:

If I add a TouchableWithoutFeedback after the InputText the issue is not reproduce (I think focus correctly moves to the TouchableWithoutFeedback)
If I launch google voice assistant the incorrect behavior disappear.

Try to investigate:

when the issue happen, android layout inspector confirm that the ReactEditText is well removed from the global layout
This is reproduced with official react-native 0.66.3
When the issue present (keyboard opens when it should not), the android Activity doesn't receive onKeyDown ( but correctly receive onKeyUp )

@freeboub please try setting the feature flag for onKeyDown events. See https://github.com/react-native-tvos/react-native-tvos/pull/258 .

Hello @douglowder,
Unfortunnatly it doesn't work... (and notice that shouldDispatchEvent is not called due to dispatchKeyEvent(KeyEvent ev) with action KEY_UP not called ...)
I try to put a lot of logs in react-native (built from source), and I cannot point anything for now...
I tried following things:

Add traces in ReactActivity onKey and implement dispatchKeyEvent -> nothing the KeyDown is never received in both functions.
Override public boolean onKeyPreIme (int keyCode, KeyEvent event) in ReactEditText -> it is never called, I also try to implement it in ReactRootView, it is also not called. Notice That it is also not called in 'normal' use case.
I also try to change options to show and hideKeyboard, also a failure.

I am now suspecting something in lower level of react-native...
If you ave any other clue, I would be happy to test / experiment !
Thank you.

Maybe should I clone this issue on offical repo as it seems to be generic issue ?
I think this is very important with TV integration, but very low criticity on mobile devices ...

Here are some addtionnal informations:

to workaround the issue I tried to implement by own InputText component (I can share it if needed), but the same issue is reproduced with a custom component, so I think we can asume the issue is not directly linked to EditText management in react-native. It's really looks like a low level issue. Maybe a reference leak ...
I found an 'ugly' workaround which is working. When a TextInput is blured or unmounted, I launch an empty transparent activty. This activity just call finish onResume... Then the activity stack is correctly cleared and keyboard doesn't take the focus instead of our app. I causes a very small freeze in UI, but It is better than this issue.

Thanks for the detailed information and repro, and for creating the new issue for the core repo. I'll see what the RN core Android developers think about what the issue really is, before picking this up.


CocoaPods-installed source (./ios/Pods) should be .gitignore'd

As someone who develops in a lot of iOS/macOS apps, I think it's best to put Pods/ directories in your repo's .gitignore. When Podfiles are set up correctly, pod install should work consistently across all environments. In addition, keeping that out of your git history will keep your git database much lighter in the long run.
Just a suggestion though, feel free to close if you disagree. Looking forward to contributing!

pod install doesn't work consistently though since you can't guarantee the gem version to be exactly the same across all machines. Considering possible API changes, it's much better to be able to revert all pod versions to a previous commit and working state, which is usually the reason why e.g. gitignore.io doesn't do it automatically any more.

You can use a Gemfile to make sure the version of pod used is consistent. Also, the pod version is printed at https://github.com/odota/mobile/blob/e6eef63fc6c3a6e07fe2c104b50bf82304ee3b53/ios/Podfile.lock#L24

Too much effort for something that git gives for free. I prefer having a running project after a checkout far more than having a smaller repo. That, and making sure any other dependencies (ruby version, cocoapods gem) can be a hassle to setup if you use any form of automation or CI/CD.

I think that's a fair point, especially for smaller projects with a few CocoaPods dependencies, like this one.

having a running project after a checkout

Don't forget that this is a React Native app, and you still need to run npm/yarn install.

Closing this one for now.


Not compiling on arm-none-eabi-gcc 6.3.1

1. OS Version
Ubuntu 16.04
2. git tag (master, stable, v1.0, etc..)
master
3. parameter file (rosservice call /param_save_to_file)
None
4. Compiler version (arm-none-eabi-gcc --version)
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437]
5. Hardware configuration (MAV type, flight controller version, connected sensors)
None
Compile bug:
When trying to compile the firmware I get the following error:
In file included from /usr/arm-none-eabi/include/stdlib.h:11:0,
                 from /usr/arm-none-eabi/include/c++/6.3.1/cstdlib:75,
                 from /usr/arm-none-eabi/include/c++/6.3.1/stdlib.h:36,
                 from lib/breezystm32/breezystm32.h:25,
                 from naze32.cpp:38:
lib/breezystm32/breezyprintf.h:118:16: error: conflicting declaration of C function 'int tfp_printf(const char*, ...)'
 #define printf tfp_printf
                ^
In file included from lib/breezystm32/breezystm32.h:46:0,
                 from naze32.cpp:38:
lib/breezystm32/breezyprintf.h:113:6: note: previous declaration 'void tfp_printf(const char*, ...)'
 void tfp_printf(const char *fmt, ...);
      ^~~~~~~~~~
In file included from /usr/arm-none-eabi/include/stdlib.h:11:0,
                 from /usr/arm-none-eabi/include/c++/6.3.1/cstdlib:75,
                 from /usr/arm-none-eabi/include/c++/6.3.1/stdlib.h:36,
                 from lib/breezystm32/breezystm32.h:25,
                 from naze32.cpp:38:
lib/breezystm32/breezyprintf.h:119:17: error: conflicting declaration of C function 'int tfp_sprintf(char*, const char*, ...)'
 #define sprintf tfp_sprintf
                 ^
In file included from lib/breezystm32/breezystm32.h:46:0,
                 from naze32.cpp:38:
lib/breezystm32/breezyprintf.h:114:6: note: previous declaration 'void tfp_sprintf(char*, const char*, ...)'
 void tfp_sprintf(char* s, const char *fmt, ...);
      ^~~~~~~~~~~
In file included from /usr/arm-none-eabi/include/c++/6.3.1/ext/string_conversions.h:43:0,
                 from /usr/arm-none-eabi/include/c++/6.3.1/bits/basic_string.h:5417,
                 from /usr/arm-none-eabi/include/c++/6.3.1/string:52,
                 from /usr/arm-none-eabi/include/c++/6.3.1/stdexcept:39,
                 from /usr/arm-none-eabi/include/c++/6.3.1/array:39,
                 from /usr/arm-none-eabi/include/c++/6.3.1/tuple:39,
                 from /usr/arm-none-eabi/include/c++/6.3.1/functional:55,
                 from ../../include/board.h:35,
                 from naze32.h:41,
                 from naze32.cpp:45:
/usr/arm-none-eabi/include/c++/6.3.1/cstdio:127:11: error: '::printf' has not been declared
   using ::printf;
           ^~~~~~
/usr/arm-none-eabi/include/c++/6.3.1/cstdio:137:11: error: '::sprintf' has not been declared
   using ::sprintf;
           ^~~~~~~
Makefile:218: recipe for target 'build/rosflight/./naze32.o' failed
make[1]: *** [build/rosflight/./naze32.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /usr/arm-none-eabi/include/stdlib.h:11:0,
                 from /usr/arm-none-eabi/include/c++/6.3.1/cstdlib:75,
                 from /usr/arm-none-eabi/include/c++/6.3.1/stdlib.h:36,
                 from lib/breezystm32/breezystm32.h:25,
                 from naze32.h:38,
                 from main.cpp:32:
lib/breezystm32/breezyprintf.h:118:16: error: conflicting declaration of C function 'int tfp_printf(const char*, ...)'
 #define printf tfp_printf
                ^
In file included from lib/breezystm32/breezystm32.h:46:0,
                 from naze32.h:38,
                 from main.cpp:32:
lib/breezystm32/breezyprintf.h:113:6: note: previous declaration 'void tfp_printf(const char*, ...)'
 void tfp_printf(const char *fmt, ...);
      ^~~~~~~~~~
In file included from /usr/arm-none-eabi/include/stdlib.h:11:0,
                 from /usr/arm-none-eabi/include/c++/6.3.1/cstdlib:75,
                 from /usr/arm-none-eabi/include/c++/6.3.1/stdlib.h:36,
                 from lib/breezystm32/breezystm32.h:25,
                 from naze32.h:38,
                 from main.cpp:32:
lib/breezystm32/breezyprintf.h:119:17: error: conflicting declaration of C function 'int tfp_sprintf(char*, const char*, ...)'
 #define sprintf tfp_sprintf
                 ^
In file included from lib/breezystm32/breezystm32.h:46:0,
                 from naze32.h:38,
                 from main.cpp:32:
lib/breezystm32/breezyprintf.h:114:6: note: previous declaration 'void tfp_sprintf(char*, const char*, ...)'
 void tfp_sprintf(char* s, const char *fmt, ...);
      ^~~~~~~~~~~
In file included from /usr/arm-none-eabi/include/c++/6.3.1/ext/string_conversions.h:43:0,
                 from /usr/arm-none-eabi/include/c++/6.3.1/bits/basic_string.h:5417,
                 from /usr/arm-none-eabi/include/c++/6.3.1/string:52,
                 from /usr/arm-none-eabi/include/c++/6.3.1/stdexcept:39,
                 from /usr/arm-none-eabi/include/c++/6.3.1/array:39,
                 from /usr/arm-none-eabi/include/c++/6.3.1/tuple:39,
                 from /usr/arm-none-eabi/include/c++/6.3.1/functional:55,
                 from ../../include/board.h:35,
                 from naze32.h:41,
                 from main.cpp:32:
/usr/arm-none-eabi/include/c++/6.3.1/cstdio:127:11: error: '::printf' has not been declared
   using ::printf;
           ^~~~~~
/usr/arm-none-eabi/include/c++/6.3.1/cstdio:137:11: error: '::sprintf' has not been declared
   using ::sprintf;
           ^~~~~~~
Makefile:218: recipe for target 'build/rosflight/./main.o' failed
make[1]: *** [build/rosflight/./main.o] Error 1
rm lib/breezystm32/startup_stm32f10x_md_gcc.s
make[1]: Leaving directory '/home/emifre/Git/rosflight_firmware/boards/naze'
Makefile:54: recipe for target 'all' failed
make: *** [all] Error 2

Thanks for documenting this, this is actually a known bug that we've pretty much been ignoring.  I'm not sure why gcc 6 has a different include structure than gcc 5 on the same Makefile.  It looks like it's including the breezySTM32 version of nanoprintf which is wrong, and is probably causing namespace issues with cstdio

@korken89 I'm also running gcc 6.3.1, and it looks like the feature_85 branch has partially resolved this issue, although it still has build errors:

OS Version
MacOS 10.13.1

git tag (master, stable, v1.0, etc..)
feature_85

parameter file (rosservice call /param_save_to_file)
None

Compiler version (arm-none-eabi-gcc --version)
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437]

Hardware configuration (MAV type, flight controller version, connected sensors)
None

Compile bug:
When trying to compile the firmware I get the following error:
%% state_manager.cpp
../../src/param.cpp: In member function 'void rosflight_firmware::Params::add_callback(std::function<void(int)>, uint16_t)':
../../src/param.cpp:254:52: error: unused parameter 'callback' [-Werror=unused-parameter]
 void Params::add_callback(std::function<void(int)> callback, uint16_t param_id)
                                                    ^~~~~~~~
../../src/param.cpp:254:71: error: unused parameter 'param_id' [-Werror=unused-parameter]
 void Params::add_callback(std::function<void(int)> callback, uint16_t param_id)
                                                                       ^~~~~~~~
../../src/param.cpp: In member function 'void rosflight_firmware::Params::change_callback(uint16_t)':
../../src/param.cpp:290:39: error: unused parameter 'id' [-Werror=unused-parameter]
 void Params::change_callback(uint16_t id)

I just pushed an update to the fix_271_printf_issue branch.  Could you give it a try? (be sure to update submodules) I just successfully compiled it with gcc-arm-none-eabi 6.3.1 (from the PPA).
I haven't run it though, I don't have hardware with me at the moment.

Resolves it for me.

Yeah, the branch is compiling fine!

Cool.  Let me do some hardware testing and I'll merge it into master


Webhooks Notifications object?

Is the CodeGen generating the object that is received from the Webhooks Notifications?
Cannot seem to find the object that QBO is sending when hitting the Webhook. Is it included or generated by the XSD?

No, I don't believe that the XSD includes this object.


Try with custom docker image

I even tried linking this repo to our gcp project (https://cloud.google.com/build/docs/automating-builds/github/connect-repo-github), but even that did not solve the problem.
The solution was to make the image publicly available.

Thanks. Added a note about it in the README.


FR: Website Favicon URL in Page Variables

Describe the solution you'd like
Include the favicon URL of the clipped website as a variable in the page properties. This would allow it to be referenced in templates.
Use case
With the Auto Card Link community plugin, having access to the favicon URL would make it possible to display the website's icon in card-style links, adding additional visual context and ensuring visual consistency across all cardlinks in one's vault:

Perhaps a workaround for this could be set up somehow where, upon note creation via the clipper, the URL of the clipped webpage (added with the {{url}} variable) would be selected, and "Enhance selected URL to cardlink" Command Palette command would be run.

It appears that the template variable {{selector:link[rel='icon']?href}} works for extracting and displaying favicons. However, a dedicated page variable would ensure broader compatibility with various favicon sources, such as /favicon.ico or meta tags.

The full Auto Card Link syntax is as follows:
```cardlink
url: {{url}}
title: "{{title}}"
description: "{{description}}"
host: {{domain}}
favicon: {{selector:link[rel='icon']?href}}
image: {{image}}
\```

The backslash need to be removed as it is used to escape the triple backticks in this comment.

Added in 0.9.8.

Awesome! I ended up with this template:
```cardlink
url: {{url|trim}}
title: "{{title|trim|replace:("\n":" ")|replace:("  ":" ")}}"
description: "{{description|trim|replace:("\n":" ")|replace:("  ":" ")}}"
host: {{domain|trim|replace:("\n":" ")|replace:("  ":" ")}}
favicon: {{favicon|trim}}
image: {{image|trim}}
\```

[replace](eplace:("\n":" ") removes newlines because the cardlink plugin doesn't support it
replace:("  ":" ") removes double spaces - purely cosmetic
trim - just in case
\ is used to escape triple backticks in this comment, needs to be removed


implement crude selectivity per mask heuristics

Pull Request Test Coverage Report for Build 95

25 of 29 (86.21%)  changed or added relevant lines in 8 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+1.3%) to 82.722%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/uk/co/openkappa/bitrules/matchers/GenericEqualityNode.java
0
1
0.0%

src/main/java/uk/co/openkappa/bitrules/matchers/SelectivityHeuristics.java
16
17
94.12%

src/main/java/uk/co/openkappa/bitrules/matchers/LongMatcher.java
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/uk/co/openkappa/bitrules/Matcher.java
1
0.0%

Totals

Change from base Build 94:
1.3%

Covered Lines:
924

Relevant Lines:
1117

💛  - Coveralls


New release and new gem

Hi,
When is a new release planned for the plugin? Since the last release on March 12 2016 there have been a couple of fixes made to the plugin.
I install all plugins as gems on my servers, is there some better way to get the latest fixes other than waiting for new gem to be released?

Hello, I just released 1.0.0.

Thank you!


Bug on GetWorkingPath - Failed to find Module on MEM::GetModuleBaseFileName

After a debugging I found out that CRT::StringCopy() is crashing cs, also MEM::GetModuleBaseFileName(static_cast(hDll), true); is returning null / nothing

I modified using own and it works, that's the only problem I encounter

Show debugger and stuffs, doesn't happen to my pc


No content in the attachment

Issue Summary
When sending email from localhost apache server, the filename which is getting sent is correct, but there is no content in the file. The file size is 1KB.
Steps to Reproduce
$from = new SendGrid\Email("pk", "some@example.com");
$subject = "Sending with SendGrid is Fun";
$to = new SendGrid\Email("sk", "some2@example.com");
$content = new SendGrid\Content("text/plain", "and easy to do anywhere, even with PHP");
$mail = new SendGrid\Mail($from, $subject, $to, $content);

$fileName = 'test.pdf';
$filePath = dirname(__FILE__);
$base64Data = base64_encode(file_get_contents($filePath.'/'.$fileName));

print_r($base64Data);

$attachment = new SendGrid\Attachment();
$attachment->setContent($base64Data);
$attachment->setType("application/pdf");
<EMAIL_ADDRESS>.'/'.$fileName);
$attachment->setDisposition("attachment");
$attachment->setContentId("Balance Sheet");
$mail->addAttachment($attachment);

$apiKey = '*****************************************************************';
$sg = new \SendGrid($apiKey);

$response = $sg->client->mail()->send()->post($mail);
echo $response->statusCode();
print_r($response->headers());
echo $response->body();

Technical details:

sendgrid-php Version: master (latest commit: [commit number])
PHP Version: PHP 7.1.10-1+ubuntu17.04.1+deb.sury.org+1

Could you please provide output from your print statements using a local file?
I like to test with a logo from here: https://sendgrid.com/resource/brand/

Used same code. Seems to be working fine with the normal standard installation. Can you provide some output response?


Add Bazel support

Is there a possibility to support Bazel and not only the native Go tooling?

Does go-licenses 1.0 work with bazel?

AFAIU no it does not.
Bazel fetches the depedencies based on rules on the WORKSPACE file and stores them in different directories than the native go tooling

https://docs.bazel.build/versions/0.24.0/be/functions.html#licenses
Should bazel handle licenses by itself? It already has dependency info for all packages including, but not limited to Go.

hey @Bobgy i think this refers to the license of the app not of the depedencies


Add UWP test support to flutter/plugins

Before landing any UWP plugin support in flutter/plugins, we'll need to bring up UWP CI testing for that repo. I expect we'll be able to use the same bots, so it'll be script/tooling work.

I'll close this because it is for obsolete UWP engine.
See: https://github.com/flutter/flutter/issues/14967#issuecomment-1085490495


Using the Command Bus

Section 8 (v2, rev 1) of the white paper talks about the "Command Bus":

Toast comes with a simple CommandBus implementation. The Command Bus is an interface
that takes in data from the Command Line (or a remote console) and passes it to Toast or the
appropriate module to be processed. This means modules can register their own commands
that invoke and action when used.

http://www.chiefdelphi.com/media/papers/3174?langid=1
I'd like to cause inputs on the simulator to change through external manipulation so that my code can respond to those changes. It sounds like this is what the Command Bus can do, but it's not clear how to access it.
Two questions:

Is my understanding of the purpose of the Command Bus correct?
How can I gain access the Command Bus interface? For example, should I try to ssh into the simulator? (have tried, but don't know port/username/password)

I've successfully installed ToastAPI on Ubuntu 16.04 using Eclipse, can run the simulator, and have written a few simple modules, all following the tutorials. But I'm new to programming the RoboRio, so it's possible I'm missing something obvious.

You are correct, you can use the command bus in that manner. You can access
the command bus either through STDIN on the simulator, or running the
gradlew toastConsole command on your development machine.
To add your own commands, see the registration functions in the
CommandBusclass. They must implement AbstractCommand, and examples can
be found in the jaci.openrio.toast.core.command package.
On Fri, 27 May 2016 10:48 Richard Apodaca<EMAIL_ADDRESS>wrote:

Section 8 (v2, rev 1) of the white paper talks about the "Command Bus":
Toast comes with a simple CommandBus implementation. The Command Bus is an
interface
that takes in data from the Command Line (or a remote console) and passes
it to Toast or the
appropriate module to be processed. This means modules can register their
own commands
that invoke and action when used.
http://www.chiefdelphi.com/media/papers/3174?langid=1
I'd like to cause inputs on the simulator to change externally so that my
code can respond to those changes. It sounds like this is what the Command
Bus can do, but it's not clear how to access it.
Two questions:

Is my understanding of the purpose of the Command Bus correct?
How can I gain access the Command Bus interface? For example,
should I try to ssh into the simulator? (have tried, but don't know
port/username/password)

I've successfully installed ToastAPI on Ubuntu 16.04 using Eclipse, can
run the simulator, and have written a few simple modules, all following the
tutorials. But I'm new to programming the RoboRio, so it's possible I'm
missing something obvious.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Open-RIO/ToastAPI/issues/45, or mute the thread
https://github.com/notifications/unsubscribe/AJyG6OrBKB5MPcyPlstycgWEzJKIZurMks5qFluWgaJpZM4IoIHK
.

Thanks for the quick response.
In my project, I tried:
$ ./gradlew toastConsole

while the simulator was running (launched from Eclipse).
I got back:
Trying to override old definition of datatype scp
Trying to override old definition of datatype sshexec
:toastConsole
Attempting via Hostname roboRIO-1000-frc.local...
Client Disconnected
> Building 0% > :toastConsole

I get the same message regardless of the phase the simulator is in (Disabled, Autonomous, Teleop, Test).
Do I need to configure my hosts file or change something else to make the roboRIO-1000-frc.local domain active?

You can access the command bus either through STDIN ...

Is that possible through Eclipse? If not, how would I run the project is such a way that I can enter comments through STDIN?

Regarding the second point, I think I've found the answer. Just type commands into the bottom "Console" window in Eclipse (looks read-only, but it will take commands).
Using the help command I can see various commands through list, but none appear to be aimed at directly causing inputs to change value. Would this be something I need to add myself through a subclass of AbstractCommand? If so, are there any examples you can point me to? I found the four AbstractCommand subclasses in the jaci.openrio.toast.core.command package, but they don't seem to be aimed at manipulating inputs.

Yup, toastConsole is for a roborio connection. The eclipse console window
is STDIN for simulation
On Fri, 27 May 2016 13:26 Richard Apodaca<EMAIL_ADDRESS>wrote:

Regarding the second point, I think I've found the answer. Just type
commands into the bottom "Console" window in Eclipse (looks read-only, but
it will take commands).
Using the help command I can see various commands through list, but none
appear to be aimed at directly causing inputs to change value. Would this
be something I need to add myself through a subclass of AbstractCommand? If
so, are there any examples you can point me to? I found the four
AbstractCommand subclasses in the jaci.openrio.toast.core.command
package, but they don't seem to be aimed at manipulating inputs.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Open-RIO/ToastAPI/issues/45#issuecomment-222063110,
or mute the thread
https://github.com/notifications/unsubscribe/AJyG6BOi1I_sxcyrkHUboOMgmUQshUyyks5qFoCGgaJpZM4IoIHK
.

If you want to change inputs, you will need to write your own command. All
the variables you need to change will be located in the SimulationData
class
On Fri, 27 May 2016 14:00 Jaci Brunning<EMAIL_ADDRESS>wrote:

Yup, toastConsole is for a roborio connection. The eclipse console window
is STDIN for simulation
On Fri, 27 May 2016 13:26 Richard Apodaca<EMAIL_ADDRESS>wrote:

Regarding the second point, I think I've found the answer. Just type
commands into the bottom "Console" window in Eclipse (looks read-only, but
it will take commands).
Using the help command I can see various commands through list, but none
appear to be aimed at directly causing inputs to change value. Would this
be something I need to add myself through a subclass of AbstractCommand? If
so, are there any examples you can point me to? I found the four
AbstractCommand subclasses in the jaci.openrio.toast.core.command
package, but they don't seem to be aimed at manipulating inputs.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Open-RIO/ToastAPI/issues/45#issuecomment-222063110,
or mute the thread
https://github.com/notifications/unsubscribe/AJyG6BOi1I_sxcyrkHUboOMgmUQshUyyks5qFoCGgaJpZM4IoIHK
.

If you like, submit a pull request to Toast if you want to add the command
into the toast core
On Fri, 27 May 2016 14:02 Jaci Brunning<EMAIL_ADDRESS>wrote:

If you want to change inputs, you will need to write your own command. All
the variables you need to change will be located in the SimulationData
class
On Fri, 27 May 2016 14:00 Jaci Brunning<EMAIL_ADDRESS>wrote:

Yup, toastConsole is for a roborio connection. The eclipse console window
is STDIN for simulation
On Fri, 27 May 2016 13:26 Richard Apodaca<EMAIL_ADDRESS>wrote:

Regarding the second point, I think I've found the answer. Just type
commands into the bottom "Console" window in Eclipse (looks read-only, but
it will take commands).
Using the help command I can see various commands through list, but
none appear to be aimed at directly causing inputs to change value. Would
this be something I need to add myself through a subclass of
AbstractCommand? If so, are there any examples you can point me to? I found
the four AbstractCommand subclasses in the
jaci.openrio.toast.core.command package, but they don't seem to be
aimed at manipulating inputs.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Open-RIO/ToastAPI/issues/45#issuecomment-222063110,
or mute the thread
https://github.com/notifications/unsubscribe/AJyG6BOi1I_sxcyrkHUboOMgmUQshUyyks5qFoCGgaJpZM4IoIHK
.

This makes a bit more sense now - thanks. I'm able to change values using the static setX methods on SimulationData. I'll look into making a few Commands.
The ToastAPI document states: "For example, a team may use the CommandBus to define the layout of the Outer Works in the 2016 Stronghold Tournament (hint, hint)."
That sounds intriguing, but I'm not sure I follow. Can you point me to a simple example that would illustrate using the Command Bus to define a "layout" of a game field? I'm somewhat familiar with Stronghold.
Aside from what's outlined in the "Contributing to Toast" document, are there any requirements around unit tests or some other QA for pull requests?

We used the CommandBus to set the outerworks layout this year in our code, but the change was later reverted in favour of a WebUI. The arguments passed to the invokeCommand method can be used to gather arguments for the command (i.e. if I type myCommand someText someOtherText, the args parameter will be an array of [someText, someOtherText]. With some clever code, this can be used to configure the layout of the Outer Works before a match, if your autonomous relies on it.
There are no other requirements around contributing to Toast. I leave it with good faith in the community that if the initial travis build passes, and I give it a quick lookover that the PR is good to go.


Cannot "npm install": Cannot find module 'david-www/node_modules/level-session/node_modules/generic-session/node_modules/keygrip/install.js'

Hi there,
I'm trying to build david and I cannot :(
$ npm instal

><EMAIL_ADDRESS>install /app_local/installs/david-www/node_modules/level-session/node_modules/generic-session/node_modules/keygrip
> [ -x /usr/bin/nodejs ] && /usr/bin/nodejs ./install.js || node ./install.js

-
module.js:340
    throw err;
          ^
Error: Cannot find module '/app_local/installs/david-www/node_modules/level-session/node_modules/generic-session/node_modules/keygrip/install.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:929:3
npm WARN optional dep failed, continuing<EMAIL_ADDRESS>npm WARN optional dep failed, continuing<EMAIL_ADDRESS>-

The install keeps going and fails with the node-gyp error... But it exists..
><EMAIL_ADDRESS>install /app_local/installs/david-www/node_modules/level/node_modules/leveldown
> node-gyp rebuild

sh: node-gyp: command not found
npm ERR! Linux 2.6.32-431.1.2.el6.x86_64
npm ERR! argv "node" "/usr/bin/npm" "instal"
npm ERR! node v0.10.36
npm ERR! npm  v2.4.1
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the leveldown package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls leveldown
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /app_local/installs/david-www/npm-debug.log

I have all the needed dependencies:
$ node-gyp --version
v1.0.3

What else could that be? I'm on RHEL 6.5...
thanks!
Marcello

Noice.


[test] Java codegen: Run cadl ranch tests

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


KAFKA-7909: Coordinator changes to fix flakiness of Connect Test

KAFKA-7909: Coordinator changes to fix flakiness of Connect Integration Test
This commit introduces a change and reverts a recent one. First, in
GroupCoordinator, we attempt to complete JoinGroup when the last member
joins. Second, we revert a recent change in AbstractCoordinator
that changed how a Generation is determined to be valid. The second
change is required in the following situation: a group of consumers
are killed when they are in the midst of a JoinGroup operation, and
the consumers that correctly initiated the JoinGroup request, that are
just waiting for the last member(s) to join, try to LeaveGroup, but
are unable to do so because they are not considered valid. If these
consumers are restarted, these old consumers are still in the group, and the
new JoinGroup never succeeds.
Signed-off-by: Arjun Satish<EMAIL_ADDRESS>After these changes, we are able to run the flaky test locally more than 300 times (with 2 tests in parallel) without seeing any failures.
Committer Checklist (excluded from commit message)

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

Thanks for the PR. We should add a unit test.

retest this please.

cc @abbccdda

Thanks for the notice! @hachikuji

@hachikuji @abbccdda thanks for the comments. this is ready for another pass.

@hachikuji updated the PR (apologies for the confusion). will try to add some tests. thanks!

@hachikuji I've addressed your comments. Hopefully, this is good to be merged now. Thanks!

@hachikuji responded to one of your comments, and updated the tests for others. Let me know what you think. Thanks!

@hachikuji addressed your comments. thanks!

@hachikuji addressed your last two comments. thanks!

retest this please

@hachikuji looks like the tests passed. although the JDK 11 build finished running unit and integration test in 1h 39m?

Thanks for the patch. Merging to trunk and 2.2.

@wicknicks Sorry for late response Arjun. Thank you so much for fixing the leaving group logic!


Compatibility check

The latest stable ESP-IDF version is 5.1.1 so reading the issues and Pull Request I added the necessary changes for the code to support 5.X.X and 4.X.X.
#17 I took in consideration both message in the pull request
#18 I added the information provided by @KikyTokamuro in this issue
I only have installed ESP-IDF v5.1.1 so I haven't test if this changes work in ESP-IDF v4.X.X, but it should.
Also adding the information in the Readme allows people to understand everything easily
I was able to compile console, sd_mmc, and spiffs, though, I only tested with the board the spiffs example.
For the case of sd_spi example I could not make it work because of changes between version 4.X.X and 5.X.X of ESP-IDF like changing sdspi_slot_config_t to sdspi_device_config_t, which changes the structure and haven't search more on it.
I have been using ESP-IDF Visual Studio Code Extension v1.6.5 for the compilation and for it to work I had to change the main/CMakeLists.txt file commenting the line idf_build_component(esp32-idf-sqlite3). Also, the file CMakeLists.txt (in root) had to be updated, commenting the line include($ENV{IDF_PATH}/tools/cmake/idf.cmake) and decommenting include($ENV{IDF_PATH}/tools/cmake/project.cmake). I also updated the cmake minimum version to 3.16 because the examples from ESP-IDF have that version
Edit: I was able to test successfully console and sd_mmc examples

You need to add 'REQUIRES spi_flash' to the cmake lists file to support 5.2.0


[Frontend] Bad words sampling parameter

FIX https://github.com/vllm-project/vllm/issues/986

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

I'm unsure whether or not it makes sense to support this. I know it's an option in transfomers but it was added very early on and the implementation seems limited/clunky to me. Wouldn't it make more sense for the bad words to be a list of strings rather than token sequences?

I'm unsure whether or not it makes sense to support this. I know it's an option in transfomers but it was added very early on and the implementation seems limited/clunky to me. Wouldn't it make more sense for the bad words to be a list of strings rather than token sequences?

@njhill
Yes, I absolutely agree that this "list of lists of token ids" structure is not very friendly and easy to use 😅 Sure, list of strings will be more convenient. I believe I can change that. Just wanted to clarify some questions before actually making some changes.
If we make bad words as list of strings (and call it, for example, just bad_words), we will lose compatibility with transformers interface. If people come to vLLM after transformers, they might already now about bad_words_ids parameter and how to use it. And they will look for this parameter in SapmlingParams attributes.
So, the main and only question is actually the following — should we keep transformers' "clumsy" bad_words_ids option together with more friendly bad_words? should we support list of lists of ids structure or only list of strings?
Oh, and one more point.
Currently, SamplingParams has stop_token_ids parameter (list of token ids). If we make bad_words as list of strings, would it not bring some "heterogeneity"? (one parameter is about token ids, another one is about strings) If bad_words_ids is about token ids, then it is quite consistent with stop_token_ids.
Hmm, just noticed, SamplingParams actually has another parameter — stop, which is like stop_token_ids, but consisting of strings...
Ok, I agree that introducing bad_words instead of bad_words_ids is overall a good idea) At the moment, I do not see a way to change the behavior easily (it seems unlikely that a logits_preprocessor will do the thing as we will not know token ids beforehand), but I will definitely look into this in the coming days) I am just afraid that, after changes, it will be a completely different PR 🙂

My view on this kind of thing is to collect some concrete requirements / use cases and base on that. I.e. avoid adding things with hypothetical benefit. Would be good to see some explicit examples of how/where this functionality is used, and that should then also inform what kind of thing makes the most sense w.r.t. the various options being discussed.

I looked through some examples and use cases.
First, it seems that bad_words_ids (lists of token sequences) is already a requested feature. Apart from the issue which this PR is linked to, I also found this already closed issue in vLLM (where the proposed solution works only for single tokens). In TensorRT-LLM, they already have this feature, also as lists of token ids. In OpenAI request parameters, there is one called "logit_bias" which is like a generalization of bad_words_ids, and also works on a token level.
However, seems like it would be indeed better to have a list of words and not token sequences. Because people always have to use tokenizers in order to get token ids. This is just stated in the documentation on the transformers docs site. Usually, these tokenizer things lead to questions (not very friendly "low level" functionality).
I also found a few mentions of bad words list (not token ids) functionality in other repositories. For example, in TensorRT-LLM Backend, there is already an option to provide a list of bad words as strings. In outlines, there are plans to add this feature.
So, I updated the PR: now there is bad_words parameter, not bad_words_ids.
However, to some extent, this complicated the implementation. So that I am currently not 100% sure that it is just a "Frontend" related feature :sweat_smile:
@njhill could you please take a look and share your thoughts on the updated code?
Points which are to be resolved (if the general idea would seem OK, I will fix this):

NoBadWordsLogitsProcessor is still in sampling_params.py file
AsyncLLMEngine would need corresponding updates

P.S.
For the history, this is the PR which added bad_words_ids to the transformers library: https://github.com/huggingface/transformers/pull/3367.

Forgot to add, in vLLM, there is already something like bad words ids thing: logit_bias_logits_processor, which is added for the compatibility with OpenAI request params.

@njhill 🥺 👉👈
Since last time, also did:

Move all logits process stuff to separate file
Make the appropriate process-bad-words-param changes to the AsyncLLMEngine
(And update and merge main, resolve some conflicts & fix some things)

@njhill just reminding to take a look at the PR when you have time
P.S. If you don't mind, I plan to do such reminders once a week for some time.
P.P.S. There is a new code conflict now. I am planning to resolve it as part of future work on the PR after it has been reviewed and commented on.

Apologies @Alvant and thanks for the reminder, I miss the GH notifications sometimes because I'm subscribed to so many things. I'll take another look at this in the next day or two.

@njhill, it seems we need one more reminder :)

@njhill
from vllm import LLM

model = LLM("openai-community/gpt2")

request_outputs = model.generate(
    "Will the 'Bad words' pull request be reviewed anytime soon?.."
)
output = request_outputs[0].outputs[0].text

print(output)  # "I don't know, my friend, I don't know..."

P.S.
The growing number of conflicts over time inspires me with a kind of terror that covers my skin with goosebumps. However, the belief that the request will still be merged after all is still alive in me...

@njhill
I had an idea in my head. You said that you can sometimes miss GH notifications because you get so many of them from lots of sources. So, maybe if I ping you a little more often, the likelihood of you noticing will be higher. To check this out, now I'm going to ping you not once a week, but.... once a day! I'm announcing a Seven-Day Ping Marathon. And it starts... today!
Seven-Day Ping Marathon, Day 1
@njhill, ping

Seven-Day Ping Marathon, Day 2
1 + 1 = 2
"Hello" + " world!" = "Hello world!"
Red + Blue = Violet
#5986 PR + @njhill = Reviewed #5986 PR = @Alvant happy

Seven-Day Ping Marathon, Day 3
@njhill

  _
 |_)  _  ._ _  o ._   _|  _  ._
 | \ (/_ | | | | | | (_| (/_ |

@njhill
Levenshtein says there are only four steps from "reminder" to "review"...
Seven-Day Ping Marathon, Day 4

@njhill
PR's alone, with no review,
Has also conflicts quite a few.
But I do like it anyway
And hope it'll be merged someday...
Seven-Day Ping Marathon, Day 5

Hi @Alvant . Please remember that vLLM committers are not paid and it is unfair to treat them with these kind of reminders. Regardless of whether this PR is mergable or not, this behavior will not get it merged. Thanks for your understanding.

Hello, @cadedaniel. Of course I understand. I'm sorry. All I needed now was at least a sign that the request was remembered. When you don't get any response, not a word, for a few weeks, it's starting to be a bit worrying. I hope you understand too) And your reply gives me new hope that the request will get some progress in the future (I can wait, I just want to be sure that I don't wait in vain). Thanks!

Better an inglorious end than a miserable existence

I desperately need this feature. @Alvant could you open it again? you are saving the world.

@hwang136 Wow, your words are just melting my heart) Thank you! Glad to hear that someone really needs the feature)
Sure, I can open the PR again. After all, it's just a matter of a click of a button)
I think I'm also going to update the code in this branch (merge all latest vLLM updates). So as to make it somewhat easier to use for everyone who needs it and might want to try.
However, I cannot guarantee that this code will ever be merged into the main vLLM repo (in the near or however distant future)

Wow, seems I fucked up this branch trying to fix this goddamit DCO with all this rebase-all-your-commits-and-fix-million-conflicts-afterwards routine. Hmm, guess I'll close this PR again :sweat_smile: And create a new one from scratch... But without any DCO this time, no :sweat_smile:

DCO signed (probably), but all is messed up (for sure). Closing this PR in favour of a new one: https://github.com/vllm-project/vllm/pull/9717. Which contains all the commits. (But not DCO signatures. No, thanks.)

@hwang136, hello!
I updated the code. Now the branch seems compatible with the latest vLLM. Hope I didn't break anything in the process) I only checked manually the "bad words" functionality itself (by running the corresponding tests).
However... while trying to fix all the conflicts (not only the code-related conflicts but also the ones preventing this PR from being merged), I accidentally messed up the PR :sweat_smile: So I closed it again (now once and for all :saluting_face:). Here is a new one: https://github.com/vllm-project/vllm/pull/9717. It contains all the code. Only misses the comments and discussion. Which continue to be available here, for history)

Well, I guess, until some further notice, I am done here)

Just in case, sorry for notifications anybody who appeared linked to this PR due to my failure to fix DCO)

@hwang136
I just wanted to say that the code is merged. So, "bad words" should now be available as a sampling parameter (at least if you build vLLM from source).


[docs] The example in tutorials doc missed checkpoint and primary key setting

The example in tutorials doc tutorials missed checkpoint and primary key setting.
Since CDC 2.0， checkpoint and primary key in CDC table are required,
Thus we should fix the doc for master branch and release-2.0 branch

assigned me


add precise guess first when adding points to paths

Resolves

Resolves #504

Proposed Changes
add precise guess first when adding points to paths
Reason for Changes
If two lines are closed to each other and the distance between them is less than Ghost.linemask, we can't add reshape dots to the second line, because our guess draw for the first line will reach the threshold.
Test Coverage

[x] macOS 10.15.6
[x] iPad mini 2 (12.5)
[x] Kindle Fire HD 8 (Android 5.2)

SJR-160


Linux download link doesn't work on website

The linux download link doesn't work on the website, simply saying Version not found: latest

#799. Please use the search bar provided with Github issues.

#780


[Feature] Decide user and subnet visibility based on ACL rules

Use case
Improve security by hiding nodes that are completely unavailable to users (cannot be accessed as src or dest)
Description
See https://tailscale.com/kb/1087/device-visibility
Contribution

[ ] I can write the design doc for this feature
[ ] I can contribute this feature

How can it be implemented?
No response

This is an invalid question, it seems that it has already been implemented


In Mobile view-> on the admin panel, It is hiding the velocity Title in the velocity page.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
In the admin panel on the velocity page, in the mobile view, it is hiding the metadata tab title to the update button.
Preconditions
Go to the velocity page on the admin panel.
Steps to reproduce

Go to the 'admin panel'
Click on 'setting->velocity-> metadata tab'
open mobile view to 'inspect'
See the error

Expected Result
it should not hide the title.
Actual Result
it is hiding the title.
Screenshots

Additional context
No response

please assign this issue to me