ci: accept release publish

Solve publishing issue.

@matejchalk First of all, I'm sorry for the 4 first dummy commits I pushed by mistake. Hopefully, merging this PR by squashing commits should hide them.
Second, I tried to generate the changelog and it seemed to work only after I cleaned up my mess with the git tags.
(I brutally removed all my local tags; you might want to try something more subtle...)

 >  NX   Running release version for project: plugin-js-packages

plugin-js-packages 🔍 Reading data for package "@code-pushup/js-packages-plugin" from packages/plugin-js-packages/package.json
plugin-js-packages 📄 Unable to resolve the current version from git tag using pattern "v{version}". Falling back to the version on disk of 0.29.0
plugin-js-packages 📄 Resolved the specifier as "minor" using git history and the conventional commits standard.
plugin-js-packages ✍  New version 0.30.0 written to packages/plugin-js-packages/package.json

 >  NX   Running release version for project: plugin-coverage

plugin-coverage 🔍 Reading data for package "@code-pushup/coverage-plugin" from packages/plugin-coverage/package.json
plugin-coverage 📄 Using the current version 0.29.0 already resolved from disk fallback.
plugin-coverage ✍  New version 0.30.0 written to packages/plugin-coverage/package.json

 >  NX   Running release version for project: plugin-eslint

plugin-eslint 🔍 Reading data for package "@code-pushup/eslint-plugin" from packages/plugin-eslint/package.json
plugin-eslint 📄 Using the current version 0.29.0 already resolved from disk fallback.
plugin-eslint ✍  New version 0.30.0 written to packages/plugin-eslint/package.json

 >  NX   Running release version for project: models

models 🔍 Reading data for package "@code-pushup/models" from packages/models/package.json
models 📄 Using the current version 0.29.0 already resolved from disk fallback.
models ✍  New version 0.30.0 written to packages/models/package.json
models ✍  Applying new version 0.30.0 to 6 packages which depend on models

 >  NX   Running release version for project: utils

utils 🔍 Reading data for package "@code-pushup/utils" from packages/utils/package.json
utils 📄 Using the current version 0.29.0 already resolved from disk fallback.
utils ✍  New version 0.30.0 written to packages/utils/package.json
utils ✍  Applying new version 0.30.0 to 5 packages which depend on utils

 >  NX   Running release version for project: core

core 🔍 Reading data for package "@code-pushup/core" from packages/core/package.json
core 📄 Using the current version 0.29.0 already resolved from disk fallback.
core ✍  New version 0.30.0 written to packages/core/package.json
core ✍  Applying new version 0.30.0 to 1 package which depends on core

 >  NX   Running release version for project: cli

cli 🔍 Reading data for package "@code-pushup/cli" from packages/cli/package.json
cli 📄 Using the current version 0.29.0 already resolved from disk fallback.
cli ✍  New version 0.30.0 written to packages/cli/package.json

UPDATE packages/plugin-js-packages/package.json [dry-run]

    "name": "@code-pushup/js-packages-plugin",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "dependencies": {
-     "@code-pushup/models": "*",
-     "@code-pushup/utils": "*",
+     "@code-pushup/models": "0.30.0",
+     "@code-pushup/utils": "0.30.0",
      "zod": "^3.22.4"

UPDATE packages/plugin-coverage/package.json [dry-run]

    "name": "@code-pushup/coverage-plugin",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "dependencies": {
-     "@code-pushup/models": "*",
-     "@code-pushup/utils": "*",
+     "@code-pushup/models": "0.30.0",
+     "@code-pushup/utils": "0.30.0",
      "parse-lcov": "^1.0.4",

UPDATE packages/plugin-eslint/package.json [dry-run]

    "name": "@code-pushup/eslint-plugin",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "license": "MIT",
    "dependencies": {
-     "@code-pushup/utils": "*",
-     "@code-pushup/models": "*",
+     "@code-pushup/utils": "0.30.0",
+     "@code-pushup/models": "0.30.0",
      "eslint": "^8.46.0",

UPDATE packages/models/package.json [dry-run]

    "name": "@code-pushup/models",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "license": "MIT",

UPDATE packages/utils/package.json [dry-run]

    "name": "@code-pushup/utils",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "dependencies": {
-     "@code-pushup/models": "*",
+     "@code-pushup/models": "0.30.0",
      "bundle-require": "^4.0.1",

UPDATE packages/core/package.json [dry-run]

    "name": "@code-pushup/core",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "license": "MIT",
    "dependencies": {
-     "@code-pushup/models": "*",
-     "@code-pushup/utils": "*",
+     "@code-pushup/models": "0.30.0",
+     "@code-pushup/utils": "0.30.0",
      "@code-pushup/portal-client": "^0.6.1",

UPDATE packages/cli/package.json [dry-run]

    "name": "@code-pushup/cli",
-   "version": "0.29.0",
+   "version": "0.30.0",
    "license": "MIT",

    "dependencies": {
-     "@code-pushup/models": "*",
-     "@code-pushup/core": "*",
+     "@code-pushup/models": "0.30.0",
+     "@code-pushup/core": "0.30.0",
      "yargs": "^17.7.2",
      "chalk": "^5.3.0",
-     "@code-pushup/utils": "*"
+     "@code-pushup/utils": "0.30.0"
    }

 >  NX   Staging changed files with git

NOTE: The "dryRun" flag means no changes were made.
>  NX  Falling back to ts-node for local typescript execution. This may be a little slower.
  - To fix this, ensure @swc-node/register and @swc/core have been installed

 >  NX   Previewing a GitHub release and an entry in CHANGELOG.md for v0.30.0

CREATE https://github.com/getlarge/cli/releases/tag/v0.30.0 [dry-run]

UPDATE CHANGELOG.md [dry-run]

+ ## 0.30.0 (2024-03-27)
+
+
+ ### 🚀 Features
+
+ - configure build and tests to handle ESM and CJS configs ([48cd967](https://github.com/getlarge/cli/commit/48cd967))
+ - support TS config files using Jiti + hackfix lighthouse import.meta usages ([3b7927d](https://github.com/getlarge/cli/commit/3b7927d))
+ - support top-level await in config files ([7712250](https://github.com/getlarge/cli/commit/7712250))
+ - add transform to persist config ([#229](https://github.com/getlarge/cli/pull/229))
+ - **cli:** use bundle-require instead of jiti (no hackfix, but also no CJS configs) ([028c592](https://github.com/getlarge/cli/commit/028c592))
+ - **cli:** setup yargs for cli ([#42](https://github.com/getlarge/cli/pull/42))
+ - **cli:** initial collect command ([#45](https://github.com/getlarge/cli/pull/45))
+ - **cli:** persist login and formatting options ([#47](https://github.com/getlarge/cli/pull/47))
+ - **cli:** disabled version option ([#162](https://github.com/getlarge/cli/pull/162))
+ - **cli:** add `--persist.filename` cli option ([#187](https://github.com/getlarge/cli/pull/187))
+ - **cli:** introduce the `onlyPlugins` option ([#246](https://github.com/getlarge/cli/pull/246))
+ - **cli:** add autoloading of the config file ([#361](https://github.com/getlarge/cli/pull/361))
+ - **cli:** add hints to commands ([#443](https://github.com/getlarge/cli/pull/443))
+ - **cli:** add logger ([#459](https://github.com/getlarge/cli/pull/459))
+ - **cli:** print full report url after upload ([0eb7771](https://github.com/getlarge/cli/commit/0eb7771))
+ - **cli:** add --tsconfig option ([67abfb7](https://github.com/getlarge/cli/commit/67abfb7))
+ - **cli:** include commit info in report.json ([5965900](https://github.com/getlarge/cli/commit/5965900))
+ - **cli:** implement compare command ([314e7ba](https://github.com/getlarge/cli/commit/314e7ba))
+ - **cli:** include md format by default ([65a08ea](https://github.com/getlarge/cli/commit/65a08ea))
+ - **core:** add core package ([dd8ddae](https://github.com/getlarge/cli/commit/dd8ddae))
+ - **core:** add esm plugin logic ([#248](https://github.com/getlarge/cli/pull/248))
+ - **core:** change to execute all plugins before throwing on failed ([#275](https://github.com/getlarge/cli/pull/275))
+ - **core:** improve upload error messages, extend icon set ([2251ebd](https://github.com/getlarge/cli/commit/2251ebd))
+ - **core:** add grouping of promise results by status ([5f50e8e](https://github.com/getlarge/cli/commit/5f50e8e))
+ - **core:** update portal-client to version with request timeouts ([173bd2f](https://github.com/getlarge/cli/commit/173bd2f))
+ - **core:** add optional upload.timeout to config ([fdc3f58](https://github.com/getlarge/cli/commit/fdc3f58))
+ - **core:** convert all issue file paths after executing plugin ([d82c68d](https://github.com/getlarge/cli/commit/d82c68d))
+ - **core:** implement categories, groups and audits comparisons ([72d6c14](https://github.com/getlarge/cli/commit/72d6c14))
+ - **core:** implement compare reports functions ([5493cc4](https://github.com/getlarge/cli/commit/5493cc4))
+ - **core:** add history logic ([#541](https://github.com/getlarge/cli/pull/541))
+ - **core:** create report-diff.md file if specified by persist.format ([8c4e1e4](https://github.com/getlarge/cli/commit/8c4e1e4))
+ - **examples-plugins:** add package-json plugin 📦 ([#354](https://github.com/getlarge/cli/pull/354))
+ - **examples-plugins:** add lighthouse to examples ([#417](https://github.com/getlarge/cli/pull/417))
+ - **models:** setup types and parser with zod ([7d5c99e](https://github.com/getlarge/cli/commit/7d5c99e))
+ - **models:** validate plugin icons using portal-client package ([f52cc75](https://github.com/getlarge/cli/commit/f52cc75))
+ - **models:** add isBinary field to category schema ([8b13039](https://github.com/getlarge/cli/commit/8b13039))
+ - **models:** add report filename option ([#174](https://github.com/getlarge/cli/pull/174))
+ - **models:** add missing schema exports ([36d3eea](https://github.com/getlarge/cli/commit/36d3eea))
+ - **models:** create reportsDiff schema ([75dc8aa](https://github.com/getlarge/cli/commit/75dc8aa))
+ - **nx-plugin:** initial setup and init command ([#51](https://github.com/getlarge/cli/pull/51))
+ - **nx-plugin:** add configuration generator ([#294](https://github.com/getlarge/cli/pull/294))
+ - **plugin-coverage:** set up plugin-coverage package ([8b18a0f](https://github.com/getlarge/cli/commit/8b18a0f))
+ - **plugin-coverage:** implement plugin configuration ([513c518](https://github.com/getlarge/cli/commit/513c518))
+ - **plugin-coverage:** implement lcov parsing ([800e2d0](https://github.com/getlarge/cli/commit/800e2d0))
+ - **plugin-coverage:** provide coverage group ([8cddfcd](https://github.com/getlarge/cli/commit/8cddfcd))
+ - **plugin-coverage:** add coverage tool run option, convert to runnerConfig ([d259c14](https://github.com/getlarge/cli/commit/d259c14))
+ - **plugin-coverage:** get coverage paths using nx ([cd499ea](https://github.com/getlarge/cli/commit/cd499ea))
+ - **plugin-coverage:** allow passing results as strings ([6813021](https://github.com/getlarge/cli/commit/6813021))
+ - **plugin-eslint:** register audit metadata based on eslintrc and file patterns ([3aac581](https://github.com/getlarge/cli/commit/3aac581))
+ - **plugin-eslint:** convert rule ids to slugs, add basic description to audits ([971c97a](https://github.com/getlarge/cli/commit/971c97a))
+ - **plugin-eslint:** rule options used to identify audit, options in slug (hash) and description ([b9f51c9](https://github.com/getlarge/cli/commit/b9f51c9))
+ - **plugin-eslint:** include NPM package name and version ([25bda11](https://github.com/getlarge/cli/commit/25bda11))
+ - **plugin-eslint:** validate initializer params with Zod ([56e1aee](https://github.com/getlarge/cli/commit/56e1aee))
+ - **plugin-eslint:** implement runner logic ([0ad5445](https://github.com/getlarge/cli/commit/0ad5445))
+ - **plugin-eslint:** configure bin entry point ([b34ecb2](https://github.com/getlarge/cli/commit/b34ecb2))
+ - **plugin-eslint:** create groups from rules' meta.type (problem/suggestion/layout) ([0350e49](https://github.com/getlarge/cli/commit/0350e49))
+ - **plugin-eslint:** create groups from rules' meta.docs.category (per plugin) ([56e129c](https://github.com/getlarge/cli/commit/56e129c))
+ - **plugin-eslint:** add support for inline eslint config ([67571eb](https://github.com/getlarge/cli/commit/67571eb))
+ - **plugin-eslint:** provide Nx helper to combine eslint config from all projects ([82fa3e1](https://github.com/getlarge/cli/commit/82fa3e1))
+ - **plugin-eslint:** provide Nx helper to combine eslint configs from project with deps ([29cd887](https://github.com/getlarge/cli/commit/29cd887))
+ - **plugin-eslint:** add docs url ([d6a6b2a](https://github.com/getlarge/cli/commit/d6a6b2a))
+ - **plugin-eslint:** set "passed" displayValue for ESLint audits ([40f61a4](https://github.com/getlarge/cli/commit/40f61a4))
+ - **plugin-js-packages:** implement plugin schema and configuration flow ([e2ce3f6](https://github.com/getlarge/cli/commit/e2ce3f6))
+ - **plugin-js-packages:** use group per check, audit per dependency group ([1405e7d](https://github.com/getlarge/cli/commit/1405e7d))
+ - **plugin-js-packages:** implement runner for npm audit ([6aa55a2](https://github.com/getlarge/cli/commit/6aa55a2))
+ - **plugin-js-packages:** implement runner for npm outdated ([7cb623b](https://github.com/getlarge/cli/commit/7cb623b))
+ - **plugin-js-packages:** add runner config integration test, restructure runner ([cae4ca8](https://github.com/getlarge/cli/commit/cae4ca8))
+ - **plugin-js-packages:** improve output, scoring, error handling ([b9f1432](https://github.com/getlarge/cli/commit/b9f1432))
+ - **plugin-js-packages:** introduce yarn v1 outdated, unify type ([ca7905a](https://github.com/getlarge/cli/commit/ca7905a))
+ - **plugin-js-packages:** introduce yarn v1 audit, unify type ([ee3209d](https://github.com/getlarge/cli/commit/ee3209d))
+ - **plugin-js-packages:** process audit and outdated for different package managers ([3218162](https://github.com/getlarge/cli/commit/3218162))
+ - **plugin-js-packages:** fix npm v10 behaviour, parse json-lines ([daa5c5d](https://github.com/getlarge/cli/commit/daa5c5d))
+ - **plugin-lighthouse:** add onlyAudits logic ([#472](https://github.com/getlarge/cli/pull/472))
+ - **plugin-lighthouse:** add only filters logic for categories ([#515](https://github.com/getlarge/cli/pull/515))
+ - **plugin-lighthouse:** implement basic audit parsing ([#523](https://github.com/getlarge/cli/pull/523))
+ - **utils:** add package `utils` for cli independent logic ([#39](https://github.com/getlarge/cli/pull/39))
+ - **utils:** add command line args helper ([#52](https://github.com/getlarge/cli/pull/52))
+ - **utils:** add file size logging ([#65](https://github.com/getlarge/cli/pull/65))
+ - **utils:** move parts from utils into core ([#81](https://github.com/getlarge/cli/pull/81))
+ - **utils:** add upload logic ([#66](https://github.com/getlarge/cli/pull/66))
+ - **utils:** implement verbose helper logic ([#121](https://github.com/getlarge/cli/pull/121))
+ - **utils:** add scoring logic ([#133](https://github.com/getlarge/cli/pull/133))
+ - **utils:** implement report.md formatting ([#196](https://github.com/getlarge/cli/pull/196))
+ - **utils:** update git latest commit functionality ([#205](https://github.com/getlarge/cli/pull/205))
+ - **utils:** implement a new design for stdout ([#206](https://github.com/getlarge/cli/pull/206))
+ - **utils:** add audits sorting for reports ([#302](https://github.com/getlarge/cli/pull/302))
+ - **utils:** add file-system helper ([#336](https://github.com/getlarge/cli/pull/336))
+ - **utils:** add utility function for truncating texts ([bdce572](https://github.com/getlarge/cli/commit/bdce572))
+ - **utils:** add sorting of audit issues for report md ([b1c5dd7](https://github.com/getlarge/cli/commit/b1c5dd7))
+ - **utils:** include timezone in report.md ([27d267a](https://github.com/getlarge/cli/commit/27d267a))
+ - **utils:** implement helpers for making paths relative to git root ([b12df6d](https://github.com/getlarge/cli/commit/b12df6d))
+ - **utils:** add git helper ([#469](https://github.com/getlarge/cli/pull/469))
+ - **utils:** add helper functions for diffing ([4e87cd5](https://github.com/getlarge/cli/commit/4e87cd5))
+ - **utils:** implement markdown diff formatting ([5f453ef](https://github.com/getlarge/cli/commit/5f453ef))
+ - **utils:** improve reports diff formatting ([2bee85e](https://github.com/getlarge/cli/commit/2bee85e))
+ - **utils:** handle unchanged reports diff ([0cdcb9e](https://github.com/getlarge/cli/commit/0cdcb9e))
+ - **utils:** sort changed categories/groups/audits by most affected ([74cb57e](https://github.com/getlarge/cli/commit/74cb57e))
+ - **utils:** include unchanged and added categories in markdown table ([4e53077](https://github.com/getlarge/cli/commit/4e53077))
+ - **utils:** improve diff md formatting - change icon, n/a cells, percentage space ([27290f2](https://github.com/getlarge/cli/commit/27290f2))
+ - **utils:** use auto-link commit format (GitHub/GitLab) in markdown ([2f26c6c](https://github.com/getlarge/cli/commit/2f26c6c))
+
+ ### 🔥 Performance
+
+ - **utils:** add benchmark logic and example ([#137](https://github.com/getlarge/cli/pull/137))
+ - **utils:** improve the performance of scoring and reporting ([#212](https://github.com/getlarge/cli/pull/212))
+ - **utils:** setup microbenchmark for crawlFileSystem ([#355](https://github.com/getlarge/cli/pull/355))
+ - **utils:** add benchmarks for file system walk and glob libs ([#514](https://github.com/getlarge/cli/pull/514))
+
+ ### 🩹 Fixes
+
+ - sync package-lock.json with `npm install` ([0fde5f3](https://github.com/getlarge/cli/commit/0fde5f3))
+ - formatting ([7e5e743](https://github.com/getlarge/cli/commit/7e5e743))
+ - lint config and errors ([6f5f677](https://github.com/getlarge/cli/commit/6f5f677))
+ - refactor after core package intro ([#83](https://github.com/getlarge/cli/pull/83))
+ - stop CLI when a plugin fails ([263537c](https://github.com/getlarge/cli/commit/263537c))
+ - package json lock ([#562](https://github.com/getlarge/cli/pull/562))
+ - **cli:** run `npm install` before tests ([6507c2e](https://github.com/getlarge/cli/commit/6507c2e))
+ - **cli:** changed persist format options to array ([#153](https://github.com/getlarge/cli/pull/153))
+ - **cli:** parse multiple config args to last item of array ([#164](https://github.com/getlarge/cli/pull/164))
+ - **cli:** replace clui on @isaacs/cliui ([#282](https://github.com/getlarge/cli/pull/282))
+ - **cli:** exclude nested kebab-case keys, update tests ([741d5a5](https://github.com/getlarge/cli/commit/741d5a5))
+ - **cli:** fix json format handling ([#360](https://github.com/getlarge/cli/pull/360))
+ - **cli:** adjust persist.format options ([#363](https://github.com/getlarge/cli/pull/363))
+ - **cli:** set terminal output to full width ([#362](https://github.com/getlarge/cli/pull/362))
+ - **cli:** make onlyPlugins filter based on plugin not audit/group slug ([e963c36](https://github.com/getlarge/cli/commit/e963c36))
+ - **cli:** fix missing executable permissions for index.js ([0fd2eb4](https://github.com/getlarge/cli/commit/0fd2eb4))
+ - **cli-e2e:** re-create package-lock.json ([8a99ec0](https://github.com/getlarge/cli/commit/8a99ec0))
+ - **core:** audit metadata looked up in plugin config, not expected in output ([31ffd5e](https://github.com/getlarge/cli/commit/31ffd5e))
+ - **core:** include package.json data ([0fef0c3](https://github.com/getlarge/cli/commit/0fef0c3))
+ - **core:** update portal-client, fixed missing graphql dependency ([c16c0c8](https://github.com/getlarge/cli/commit/c16c0c8))
+ - **core:** upload issue without source if file not linked ([2923dbd](https://github.com/getlarge/cli/commit/2923dbd))
+ - **core:** ensure output directory exists in compareReportFiles ([cf309bc](https://github.com/getlarge/cli/commit/cf309bc))
+ - **models:** add package.lock ([8075613](https://github.com/getlarge/cli/commit/8075613))
+ - **models:** allow empty string as docsUrl ([1c34d92](https://github.com/getlarge/cli/commit/1c34d92))
+ - **models:** increase character limit for issue message ([e6f6fc8](https://github.com/getlarge/cli/commit/e6f6fc8))
+ - **models:** fix use case for a group reference but empty audits, clean up tests ([d311b95](https://github.com/getlarge/cli/commit/d311b95))
+ - **models:** issue file positions must be positive integers ([727926e](https://github.com/getlarge/cli/commit/727926e))
+ - **plugin-coverage:** calculate coverage for no found entities as full coverage ([349c772](https://github.com/getlarge/cli/commit/349c772))
+ - **plugin-coverage:** convert new lines on Windows for parse-lcov, update docs ([3195da2](https://github.com/getlarge/cli/commit/3195da2))
+ - **plugin-eslint:** exclude rules which are turned off ([f2cc454](https://github.com/getlarge/cli/commit/f2cc454))
+ - **plugin-eslint:** ensure runner output directory exists ([fca87f5](https://github.com/getlarge/cli/commit/fca87f5))
+ - **plugin-eslint:** pluralize audit display value based on count ([aa35d0c](https://github.com/getlarge/cli/commit/aa35d0c))
+ - **plugin-eslint:** handle implicitly relative config paths ([39a7d43](https://github.com/getlarge/cli/commit/39a7d43))
+ - **plugin-eslint:** omit empty docsUrl in audit metadata ([3127683](https://github.com/getlarge/cli/commit/3127683))
+ - **plugin-eslint:** allow unmatched patterns ([d350187](https://github.com/getlarge/cli/commit/d350187))
+ - **plugin-eslint:** ensure working directory exists before writing .eslintrc.json ([3f19d6f](https://github.com/getlarge/cli/commit/3f19d6f))
+ - **plugin-eslint:** dynamic import for optional peer dep @nx/devkit ([ab62f2f](https://github.com/getlarge/cli/commit/ab62f2f))
+ - **plugin-eslint:** truncate rule texts to pass models validations ([a6aac56](https://github.com/getlarge/cli/commit/a6aac56))
+ - **plugin-eslint:** set default lint file patterns for Nx projects ([9db19d0](https://github.com/getlarge/cli/commit/9db19d0))
+ - **plugin-eslint:** fix default Nx lint patterns - directory not valid for "files" in eslintrc ([6865800](https://github.com/getlarge/cli/commit/6865800))
+ - **plugin-eslint:** truncate long issue messages ([c39d0cc](https://github.com/getlarge/cli/commit/c39d0cc))
+ - **plugin-eslint:** handle rules which emit column 0 ([de791e1](https://github.com/getlarge/cli/commit/de791e1))
+ - **plugin-eslint:** pass arguments via config file instead of argv ([dca0266](https://github.com/getlarge/cli/commit/dca0266))
+ - **plugin-eslint:** eslint startline can be zero ([#563](https://github.com/getlarge/cli/pull/563))
+ - **plugin-eslint:** allow minor updates to eslint dependency ([efbe028](https://github.com/getlarge/cli/commit/efbe028))
+ - **testing:** fix tests for Windows ([#165](https://github.com/getlarge/cli/pull/165))
+ - **utils:** handle descriptions ending in code block in report.md ([a9a05ad](https://github.com/getlarge/cli/commit/a9a05ad))
+ - **utils:** set fixed locale for date in report.md ([aa4694b](https://github.com/getlarge/cli/commit/aa4694b))
+ - **utils:** sort groups and category refs correctly in report ([76a7636](https://github.com/getlarge/cli/commit/76a7636))
+ - **utils:** use shields.io for colorizing changed values ([d0eb475](https://github.com/getlarge/cli/commit/d0eb475))
+ - **utils:** literal asterisk in Markdown doc should be escaped ([6348ba3](https://github.com/getlarge/cli/commit/6348ba3))
+ - **utils:** prevent mixed summary when some audit changed only value ([20673fd](https://github.com/getlarge/cli/commit/20673fd))
+ - **utils:** use unicode arrows with wider OS support ([271155e](https://github.com/getlarge/cli/commit/271155e))
+ - **utils,cli:** remove all mentions of the `interactive` option ([#245](https://github.com/getlarge/cli/pull/245))
+ - **workflows:** update and improve labeler options ([146434a](https://github.com/getlarge/cli/commit/146434a))
+
+ ### ❤  Thank You
+
+ - Igor Katsuba @IKatsuba
+ - Katerina Pilatova
+ - Kateřina Pilátová
+ - Markus Nissl
+ - Matěj Chalk @matejchalk
+ - Michael @rx-angular
+ - Michael Hladky @BioPhoton
+ - Michael Seredenko @MishaSeredenkoPushBased
+
  # Changelog

  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).

 >  NX   Staging changed files with git

NOTE: The "dryRun" flag means no changelogs were actually created.

 >  NX   Committing changes with git

 >  NX   Tagging commit with git

Skipped publishing packages.

This time, it generates a new changelog with all the past commits caught by the default conventional commit rules.

You can see what the release would look like here

So, it does create the GitHub release and tags the commit. But for some reason it skips publishing to NPM. There's a bunch of Skipped package ... because <older-version> already exists ... logs, which I don't understand because they reference a different version (0.29.0) than what's being correctly calculated (0.31.0) in the logs above :confused:
Also, it seems to commit something and not push it (there's no release: ... commit), which causes the subsequent Code PushUp step to error (it looks up the current commit with git log -1). No clue what's happening there.

So, it does create the GitHub release and tags the commit. But for some reason it skips publishing to NPM. There's a bunch of Skipped package ... because <older-version> already exists ... logs, which I don't understand because they reference a different version (0.29.0) than what's being correctly calculated (0.31.0) in the logs above 😕
Also, it seems to commit something and not push it (there's no release: ... commit), which causes the subsequent Code PushUp step to error (it looks up the current commit with git log -1). No clue what's happening there.

At first sight, i don't know the reasons for this behaviour, i'll have a look.
In the meantime, you could try to publish manually with nx release publish and tell me the output.

If the package.json files located under the packages have the correct version (>0.29), could you try to run the build (skipping the cache) separately and then release publish?

Ok, that worked. I actually forgot about --skipNxCache, but it didn't seem to matter.
What I did:

moved git property to sub-commandsdiff --git a/nx.json b/nx.json
index 1534aeddd..5362bc27b 100644
--- a/nx.json
+++ b/nx.json
@@ -99,19 +99,22 @@
      "projectChangelogs": false,
      "workspaceChangelog": {
        "createRelease": "github"
+      },
+      "git": {
+        "commit": true,
+        "tag": true,
+        "commitMessage": "release: {version} [skip ci]"
      }
    },
-    "git": {
-      "commit": true,
-      "push": true,
-      "pushRemote": "origin",
-      "tag": true,
-      "commitMessage": "release: {version} [skip ci]"
-    },
    "version": {
      "conventionalCommits": true,
      "generatorOptions": {
        "skipLockFileUpdate": true
+      },
+      "git": {
+        "commit": true,
+        "tag": true,
+        "commitMessage": "release: {version} [skip ci]"
      }
    },
    "releaseTagPattern": "v{version}"

ran npx nx release version 0.34.0

without specifying version it didn't want to update from 0.33.0, even when I added a new fix: ... commit :confused:

ran npx nx release changelog 0.34.0

this actually created another release: 0.34.0 [skip ci] commit and then failed because of duplicate v0.34.0 tag, but it did updated the CHANGELOG.md correctly
also it logged a succesful CREATE https://github.com/code-pushup/cli/releases/tag/v0.34.0 message, but the GitHub release doesn't exist

ran npx nx release publish

succesfully published all the packages to NPM
forgot about skipping cache, but the builds were actually run anyway

So, not quite there yet with the automation, but at least I now have to some workaround to publish all packages manually :sweat_smile:

in fact something that could make it easier until having a stable flow:

npx nx release --skip-publish (would trigger both version and changelog commands
git push --follow-tags
npx nx release publish


[Question]: How to run docker ragflow on GPU？

Describe your problem
In current docker-compose.yaml file, it is not specified to run the docker on GPU, how should I change the yaml file? and how to stop current running docker( in yaml it is set to be always restart)

Please refer to: https://docs.docker.com/compose/gpu-support/#example-of-a-compose-file-for-running-a-service-with-access-to-1-gpu-device


Test the QA cache loader.

Description
The move2kube tool when run asks the user some questions about how to translate the project.
The answers gathered from this Question Answer (QA) session are stored in a yaml file that we call the QA cache.
The global variable qaengine is used to prompt the user and fetch answers during the QA session.
This package looks in the source folder for the QA cache yaml files and loads the filepaths into the plan.
It parses the yaml files it finds to check if they are qa cache files or not before adding them.
During the translate phase it also loads those caches into the QA engine.
How to get started
To gather some QA caches files to use as testdata, you can run move2kube on any of the projects in the samples folder.
You will find a file called m2kqacache.yaml in the output directory.
For this issue you should start with some simple tests that creates temporary directories and calls the functions on it.
Next step would be to make slight changes to the files in the directory and create a separate subtest for each scenario.
Some scenarios that are good to test:

Function called on non existent directory.
Function called on a file.
Empty directory.
Directory we don't have permission to read.
Directory with only non yaml files.
Directory with some yaml files that aren't QA cache files.
Directory with some QA cache files and other random files.

How to add unit tests
Some guidelines:

Look at the other tests in the package/project and write similar tests.
Use subtests to test different paths through the function.
Don't worry about testing every single path through the function. Focus on common use cases and failure modes.

Some helpful resources on how to write unit tests in Go:

https://blog.golang.org/subtests
https://youtu.be/hVFEV-ieeew

Code to be tested
https://github.com/konveyor/move2kube/blob/731b16a14cd33dd864e51eac3f7945f35266b18f/internal/metadata/qacaches.go#L34-L57

@Akash-Nayak Can you please take a look at this issue? Reach out to @HarikrishnanBalagopal if you have any questions.

@ashokponkumar Yes sure, I will look at this issue.


feat(Label): support themes for copy and close types

use colors from palette to describe style of hovered elements of Label component
add prop textClassName
translate readme and comments to english

https://github.com/yandex-cloud/uikit/issues/97

closing this PR, already implemented


Revert "cob_hand: 0.6.4-0 in 'indigo/distribution.yaml' [bloom]"

Reverts ros/rosdistro#18598
@fmessmer FYI
The builds for cob_hand_bridge are failing on all platforms after this release: http://build.ros.org/job/Isrc_uT__cob_hand_bridge__ubuntu_trusty__source/

that's why I already re-released in https://github.com/ros/rosdistro/pull/18618 and https://github.com/ros/rosdistro/pull/18619


Fix "Argument list too long: recursive header expansion failed" issue

Fixes #209.
See this comment, and this comment.

Thank! Sorry for the late reply. Do you have any idea why this solves the issue?

Sounds acceptable. I'll see if I can make the search paths even more specific, and if that doesn't work I'll merge as-is. Thanks! 🚀

Please merge. I had to make these changes in my project

This worked at one point, now getting this
Argument list too long: recursive header expansion failed at /Users/evanjmg/Desktop/development/cryptoBuyer/Bullish/node_modules/react-native-admob/ios/../../../ios/Pods/React/node_modules/react-tools/src/isomorphic/classic/element/__tests__

@evanjmg I had a lot of issues with my project as well, and the solution in my case was to stop including react-native-* packages as pods. When I started including them manually in Xcode, many issues are suddenly disappeared. It's slightly less convenient now than I'm unable to use react-native link command, but with some packages it was working incorrectly (like placing files in Recovered References section) anyway, and it's not like I include/exclude packages from my project often, so it was totally worth it.

This change prevents the project from working properly with manual linking (no CocoaPods). It can't find the GoogleMobileAds framework.

@rawrmaan you have to add GoogleMobileAds to your project yourself.

@koenpunt Yeah, I know. For some reason, this change prevents Xcode from finding the framework added to my project. I have my own branch where I reverted the change and it works perfectly.


Cognito class instances talk to AWS at import time

Because of code like jwks = JWKS.fromurl(url) in the __init__(), it is impossible to import modules without them trying to connect to AWS Cognito at import time. This can cause a variety of problems, e.g. - unable to run unit tests without an Internet connection.

Hi @jordan-dimov I was following this issue as I am dealing with edge devices and this is definitely an issue at the moment.
Did you close because you found a workaround?
If so, could you share?

@Minipada Oh, good to know it's not just me. I thought maybe I wasn't using it correctly. Ended up creating a fake Cognito class just for my unit tests, and switching between those with an environment variable. Happy to re-open this though.

I've faced with the same issue trying to write unittests using moto to fake Cognito resources. And in my case there is no straightforward way to pre-configure environment variable, since I create AWS Cognito resources using fixtures (pytest). Any good ideas how to overcome this?

I have faced the same issue and found a good solution mentioned on another issue here: https://github.com/tokusumi/fastapi-cloudauth/issues/32


updates to compliance dialog feature and bug fixes

Coverage remained the same at 27.602% when pulling 55cd632f2d821f18d7759b487370d20940de94d2 on theseyi:updates-from-bb-session into 5343abea3e4c89a954b1503e84d3cb754502e6cd on linkedin:master.

Codecov Report

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

@@          Coverage Diff           @@
##           master   #1211   +/-   ##
======================================
  Coverage    8.24%   8.24%
======================================
  Files          60      60
  Lines        2280    2280
  Branches      483     483
======================================
  Hits          188     188
  Misses       2092    2092

Continue to review full report at Codecov.

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


Initial revision of ITurnContext service API

This work is all related to DCR #339.

Moves service management API (e.g. Get, Set, Has) off ITurnContext
directly
Introduces an ITurnContextServiceCollection interface, a concrete
implementation of that interface via TurnContextServiceCollection and
a property of that type via ITurnContext::Services
Updates all existing logic to use the new service APIs

@tomlm It looks like whatever was merged down into this branch broke the build. Did you intend to merge whatever that was into this branch? If not, I can revert those commits, but if you did can you check out what broke?


Feature request: Highlight a single fluid system and keep it active without hovering

I use the hover-over pipe visualizer often to trace a single pipe through a factory. A really nice feature for this use case would be to 'lock' the visualization in place so it's not necessary to keep hovering over individual pipe sections during the tracing process. I think this feature could replace the hover interaction entirely because as long as it were bound to a convenient hotkey it's not much more effort to hover and hit a key vs just hovering.
This feature is necessary in addition to the current 'visualize all fluid systems' feature because it would not be limited by range and work in map view.
The Belt Visualizer mod has a feature like this for belts: when a belt is highlighted with H it remains highlighted until the H key is hit again.

I came here to request this! It would be super useful!

https://github.com/raiguard/PipeVisualizer/assets/3515394/74d16bc0-d0f5-4f7e-9b85-dfee0527cf32
Coming soon(TM)

The 2.0 branch is usable, but performance is pretty bad at the moment. You can grab the latest flib by cloning https://github.com/factoriolib/flib to your mods folder.

Implemented in 2.0.


Synchronizing without Importing New Users

Laravel Version: 7.2
Adldap2-Laravel Version: 6.1
PHP Version: 7.2
LDAP Type: ActiveDirectory

Description: Is there a way to this up to only sync user attributes for users existing in the eloquent user table and not import/create a new user in the eloquent user table?

Steps To Reproduce:

I figured out how to do this using the Rules.  I uncommented the following line and now I am able to prevent users not manually entered into the database from logging in.
// Allows only manually imported users to authenticate.
Adldap\Laravel\Validation\Rules\OnlyImported::class,

I figured out how to do this using the Rules. I uncommented the following line and now I am able to prevent users not manually entered into the database from logging in.
// Allows only manually imported users to authenticate.
Adldap\Laravel\Validation\Rules\OnlyImported::class


Add share button

Feature Proposal
Add share feature, when user click share, then create an image showing the Avg. Open and Unrealized P&L,
and the Kewenta logo.
Rationale

To better promote Kwenta
OKX and Binance had this
Branding

Implementation
https://www.npmjs.com/package/html-to-image

Solved with #853.


Dockerless install instructions

Subject :)  Would love to try and get this to run without docker..thank you.

Try this:
pip install pipenv
pipenv install
cd beagle/web/static
npm install && npm audit fix
npm run build

This should properly install everything, at this point, create the directory you want to store data into. I generally use /data/beagle.  Go into beagle/config/config_templates.cfg and change the paths of dir and database to reflect the storage directory.
For example, if i want to use /opt/beagle/data/ i would have the following:
[storage]
dir = /opt/beagle/data/
database = sqlite:////opt/beagle/data/beagle.db

Now, go back to the root folder of the repository and run the webserver like this
pipenv run gunicorn --bind <IP_ADDRESS>:8000 -w 12 --timeout 500 beagle.web.wsgi:app

Thank you!

I am having an issue during npm run build:

react-scripts-ts build

Creating an optimized production build...
Starting type checking and linting service...
Using 1 worker with 2048MB memory limit
(node:10927) DeprecationWarning: Tapable.plugin is deprecated. Use new API on .hooks instead
(node:10927) DeprecationWarning: Pass resolveContext instead and use createInnerContext
(node:10927) DeprecationWarning: Resolver: The callback argument was splitted into resolveContext and callback.
(node:10927) DeprecationWarning: Resolver#doResolve: The type arguments (string) is now a hook argument (Hook). Pass a reference to the hook instead.
Failed to compile.
/opt/beagle/beagle/web/static/src/views/Upload.tsx
ERROR in /opt/beagle/beagle/web/static/src/views/Upload.tsx(318,33):
TS2322: Type 'DataSourceEntry' is not assignable to type 'string | number | boolean | (string | number | boolean)[] | undefined'.
Type 'DataSourceEntry' is missing the following properties from type '(string | number | boolean)[]': length, pop, push, concat, and 26 more.

Make sure you install the same version of typescript as defined in package.json


[C Api] Documentation inconsistencies & General Crashing Issues

Last few weeks I've spent the time updating a beta version of steam audio to the latest stable and there are a few things I wanted to bring up which stomped me with the implementation.
Lack of errors/feedback from simulation/baking
Under certain circumstances, simulations can fail or throw an exception within phonon without a clear indication of why it happens or what caused it. An example of this is attempting to bake a path without a probe batch. This ends up causing an exception within phonon without any feedback on why it happens.
Inability to fetch specific probe data within a probe batch
Currently, if we need to fetch any information about a probe within a probe batch, there's no way to do this. We're able to fetch how many probes themselves exist within the batch, but we cannot any individual probes. In contrast, with a probe array, we're able to fetch information about any probe within it. This means to keep compatibility between versions we need to store a copy of all probes within our serialized steam audio file.
Reverb baking throws warnings unless bakeBatchSize >= 0 default scene bake
There's an inconsistency in the documentation for this.  When specifying baking params for reverb, it's not stated anywhere that bakeBatchSize needs to be a non-zero value. Within the documentation this field makes note of Radeon Rays, however, the warning from the baker refers to this as "max sources"
Baking progress callbacks can return NaN
When baking, we can specify a status/progress callback. There are situations where NaN can be passed to our callback function. This can lead to unexpected results when handling how far along the baking process is.
No ability to append probes to a probe array
If you want to place one probe at a time within a probe array, there's no nice way to handle this. The workflow is to use iplProbeArrayGenerateProbes with IPL_PROBEGENERATIONTYPE_CENTROID, then add this to a probe batch. Calling iplProbeArrayGenerateProbes multiple times on a single probe array ends up replacing all the probes within the array. Having an option to append without deleting previous probes would make it more intuitive to use.
Loading a probe batch from serialized data should automatically commit
Loading serialized data overwrites everything within the probe batch already. There's no reason commit shouldn't be called here automatically as it's a major change. It's a bit counter-intuitive and caught me off guard.
There might have been a few other oddities I missed but if they come back to me I'll update the issue

it seems that the developer abandoned the project

commenting to keep open


CRF weights never updated in Bi-LSTM-CRF

When using incubator-mxnet/example/gluon/lstm_crf.py, CRF transition matrix weights are never updated during training, defeating the purpose of the CRF layer. Printing model.transitions.data() each epoch confirmed this.
Compare these lines of MXNet version and the PyTorch reference:
self.transitions = nd.random.normal(shape=(self.tagset_size, self.tagset_size)) # MXNet
self.transitions = nn.Parameter(torch.randn(self.tagset_size, self.tagset_size)) # PyTorch

I was able to solve this issue by changing the above line to:
self.transitions = gluon.Parameter("crf_transition_matrix",
    shape=(self.tagset_size, self.tagset_size))

Making this change required adding .data() to all other references to self.transitions in the code, eg:
self.transitions[next_tag].reshape((1, -1) # Before
self.transitions.data()[next_tag].reshape((1, -1) # After

and manually updating the parameter dictionary outside of the class before model initialization:
model.params.update({'crf_transition_matrix':model.transitions}) # Added this line
model.initialize(mx.init.Xavier(magnitude=2.24), ctx=mx.cpu())
optimizer = gluon.Trainer(model.collect_params(), 'sgd', {'learning_rate': 0.01, 'wd': 1e-4})

@anbrjohn thanks for reporting. Would you send a patch to fix the example?


empty

Hi,
I'm trying to test that my array is not empty.
The following does not trigger an error
[].should.not.be.empty;

For the time being, I'm using a workaround:
[].length.should.be.above(0);

I'm using version 7.0.3

Hello.
should.js since version 7.x have no getter assertion. So your example should look like:
[].should.not.be.empty();


fix: substract table scroll from header to sync scrolls in results

here is an attempt to fix the scroll misalignment
while having more rows than could fit on the screen,
should fix #233 ... at least from here :)

I remember we had that code before. But I removed in some refactoring I guess because looked like it was not really applying any change. I hope it was there because of this problem 😄


Fixed #34920 -- Made FileExtensionValidator.eq() ignore allowed_extensions ordering.

Ticket: #34920

Sort the allowed_extensions list before assigning it in FileExtensionValidator class in django/core/validators.py
Add assertion to check the equality of two instances of FileExtensionValidator with different order of file extensions in tests/validators/tests.py

@ksg97031 Thanks :+1: Welcome aboard :boat:


Fast sync nodes and channel ?

Any way to do nodes fast sync?
"avg_out_degree": 3.1947743467933494,
"max_out_degree": 216,
"num_nodes": 842,
"num_channels": 1345,

connect dont help
openchannel helps but you have to open many...

Is this with a neutrino backend? Verifying channels takes additional time for light clients over full nodes.

Pruned bitcoind 50GB
2019-07-17 20:34:07.438 [INF] DISC: GossipSyncer(02a04446caa81636d60d63b066f2814cbd3a6b5c258e3172cbdded7a16e2cfff4c): querying for 500 new channels
2019-07-17 20:34:49.897 [INF] CRTR: Processed channels=4 updates=10 nodes=0 in last 1m0.0001762s
2019-07-17 20:35:01.732 [INF] DISC: Broadcasting 16 new announcements in 2 sub batches
2019-07-17 20:35:49.911 [INF] CRTR: Processed channels=0 updates=5 nodes=0 in last 1m0.0143601s
2019-07-17 20:36:32.858 [INF] DISC: Broadcasting 5 new announcements in 1 sub batches
2019-07-17 20:36:49.897 [INF] CRTR: Processed channels=0 updates=1 nodes=0 in last 59.9858555s
2019-07-17 20:39:17.194 [INF] DISC: GossipSyncer(02a04446caa81636d60d63b066f2814cbd3a6b5c258e3172cbdded7a16e2cfff4c): querying for 500 new channels
2019-07-17 20:39:31.198 [INF] DISC: Broadcasting 2 new announcements in 1 sub batches
2019-07-17 20:39:58.637 [INF] CRTR: Processed channels=0 updates=4 nodes=0 in last 2m8.7398383s
2019-07-17 20:40:58.638 [INF] CRTR: Processed channels=3 updates=3 nodes=0 in last 1m0.000628s
2019-07-17 20:41:00.749 [INF] DISC: Broadcasting 8 new announcements in 1 sub batches
2019-07-17 20:41:58.639 [INF] CRTR: Processed channels=0 updates=1 nodes=1 in last 1m0.0014285s
2019-07-17 20:42:32.394 [INF] DISC: Broadcasting 2 new announcements in 1 sub batches
2019-07-17 20:44:01.135 [INF] DISC: Broadcasting 1 new announcements in 1 sub batches
2019-07-17 20:44:25.780 [INF] DISC: GossipSyncer(02a04446caa81636d60d63b066f2814cbd3a6b5c258e3172cbdded7a16e2cfff4c): querying for 500 new channels
2019-07-17 20:44:45.942 [INF] CRTR: Processed channels=0 updates=2 nodes=1 in last 1m47.3101481s
2019-07-17 20:45:30.812 [INF] DISC: Broadcasting 9 new announcements in 1 sub batches
2019-07-17 20:45:45.941 [INF] CRTR: Processed channels=6 updates=7 nodes=0 in last 59.9992467s
2019-07-17 20:46:45.955 [INF] CRTR: Processed channels=0 updates=1 nodes=1 in last 1m0.0136562s
2019-07-17 20:47:01.226 [INF] DISC: Broadcasting 9 new announcements in 1 sub batches
2019-07-17 20:47:45.955 [INF] CRTR: Processed channels=0 updates=2 nodes=0 in last 1m0.0002562s
2019-07-17 20:48:00.722 [INF] DISC: GossipSyncer(0258e48eef689fda5c12eb29851e0438abac988365a9dac5f95ab9676ffc024723): applying gossipFilter(start=0001-01-01 00:00:00 +0000 UTC, end=0001-01-01 00:00:00 +0000 UTC)
2019-07-17 20:48:00.722 [INF] DISC: GossipSyncer(022457e61da38e1a7cac56a054eb0ef225d84dfc6b932dfa119ad7fe6fbecdb71d): applying gossipFilter(start=2019-07-17 20:48:00.7220513 +0100 BST m=+6657.499002301, end=2155-08-24 02:16:15.7220513 +0000 GMT m=+4294973952.499002301)
2019-07-17 20:48:30.802 [INF] DISC: Broadcasting 2 new announcements in 1 sub batches
2019-07-17 20:48:45.943 [INF] CRTR: Processed channels=0 updates=0 nodes=1 in last 59.987448s
2019-07-17 20:49:43.638 [INF] DISC: GossipSyncer(02a04446caa81636d60d63b066f2814cbd3a6b5c258e3172cbdded7a16e2cfff4c): querying for 500 new channels
2019-07-17 20:49:45.942 [INF] CRTR: Processed channels=0 updates=1 nodes=0 in last 59.9994838s
2019-07-17 20:50:00.947 [INF] DISC: Broadcasting 1 new announcements in 1 sub batches
2019-07-17 20:50:45.943 [INF] CRTR: Processed channels=1 updates=0 nodes=0 in last 1m0.0007868s
2019-07-17 20:51:30.845 [INF] DISC: Broadcasting 30 new announcements in 3 sub batches
2019-07-17 20:51:45.943 [INF] CRTR: Processed channels=12 updates=17 nodes=0 in last 59.9998539s
2019-07-17 20:52:45.942 [INF] CRTR: Processed channels=0 updates=1 nodes=1 in last 59.9989251s
2019-07-17 20:53:01.365 [INF] DISC: Broadcasting 2 new announcements in 1 sub batches

Running with a pruned bitcoind node is not supported at the moment. It's likely that your node has pruned the blocks for the channels you're attempting to verify. I'd suggest using a non-pruned full node.

Ok
NOTE: WE DO NOT FULLY SUPPORT PRUNED OPERATING MODES FOR FULL NODES. It’s possible to run a node in a pruned mode and have it serve lnd, however one must take care to ensure that lnd has all blocks on disk since the birth of the wallet, and the age of the earliest channels (which were created around March 2018).


Response not getting cached when using .Bytes() or .String() methods

I read the response quirks on the readme but have so far been unable to get a struct populated using the response.JSON() method.
I'm using the latest version of grequests with Go 1.11. Here is the chunk of code in question:
        resp, _ := session.Post(loginapi, ro)

	fmt.Println(resp.Bytes())
	fmt.Println(resp.String()) // S1
	fmt.Println(resp.StatusCode)

	var r = new(APIResponse)

	fmt.Println(resp.JSON(&r))
	fmt.Println(resp.String()) // S2

In this scenario, S1 will print the response string and S2 will be empty. If I remove the resp.JSON() line everything works fine. Even if I try to call resp.JSON() first to populate before any other response method calls, the struct comes back nil.

Please note that resp.JSON does return an error instead of your filled data struct. That is the reason, why you need to provide a pointer to it. So if resp.JSON returns nil no error occurred while unmarshaling the json string.


Expose valid function

The valid function exists in docs and tests but is not actually exported.

TypeError: calver.valid is not a function

That's nice. Thanks.


Update AutoRest C# version

Update AutoRest C# version to 3.0.0-beta.20220921.1

This will be resolved in https://github.com/Azure/azure-sdk-for-net/pull/31220

closing since it's resolved in #31220


HDDS-8645. Change TestOzoneManagerHASnapshot to not subclass TestOzoneManagerHA

What changes were proposed in this pull request?
TestOzoneManagerHASnapshot intermittently fails because DB is getting closed due to Ratis's consistence state.
Error:  org.apache.hadoop.ozone.om.TestOzoneManagerHASnapshot.testSnapshotNameConsistency  Time elapsed: 3.094 s  <<< ERROR!
java.lang.RuntimeException: java.io.IOException: Rocks Database is closed
	at org.apache.hadoop.ozone.om.TestOzoneManagerHASnapshot.lambda$testSnapshotNameConsistency$0(TestOzoneManagerHASnapshot.java:76)
	at org.awaitility.core.CallableCondition$ConditionEvaluationWrapper.eval(CallableCondition.java:99)
	at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:248)
	at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:235)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
	Suppressed: org.apache.ratis.util.ExitUtils$ExitException: Cannot load OM DB as it is in an inconsistent state.
		at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:141)
		at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:151)
		at org.apache.ratis.util.ExitUtils.terminate(ExitUtils.java:155)

TestOzoneManagerHASnapshot inherits TestOzoneManagerHA and uses cluster created by the base class which is statically initialized by BeforeAll.  Although we don't run test parallelly, there is some possibility one test is interfering with other one and causing inconsistency.
This change is to create mini cluster for TestOzoneManagerHASnapshot instead of using inherited one.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8645
How was this patch tested?
Ran this test 25 times in workflow and it passed all the time.
Run 1: https://github.com/hemantk-12/ozone/actions/runs/5019667607/jobs/9000405979
Run 2: https://github.com/hemantk-12/ozone/actions/runs/5019724655/jobs/9000519201
I tired to run 50 times too but it failed due to disk space: https://github.com/hemantk-12/ozone/actions/runs/5019375127/jobs/8999791082
CI/CD passed in one go on fork
Run 1: https://github.com/hemantk-12/ozone/actions/runs/5019860313
Run 2: https://github.com/hemantk-12/ozone/actions/runs/5026615405

Thank you @hemantk-12 for making these changes.


Remove useless parameter from KeepThis class

Remove requests_count attribute from KeepThis class.

I can take this if it is available

@duydosomething yeap, it will be cool!)
Sent with GitHawk

Submitted PR #13

@duydosomething thank you!) Will check it soon!)

Glad to help! If it looks good to you, could you wait til October for approval? haha.


Fix Coin Game

Repo Link
Live website here

Can you please add details regarding the issue?

Tried recreating, but didn't get any issue.

Hii, I believe I can tackle this issue effectively. I've also taken the time to thoroughly understand the problem and have some ideas on how to approach it.
Could you please assign this issue to me.
I'm eager to contribute and make a meaningful impact.

@deolekar If you move your cursor fast then game will be over instantly.
I also tried recreating and figured out that if you touched the wall, immediately game gets over. So, by moving the cursor fast we unknowingly touched the wall.So, that's why game get over instantly.

I will resolve this issue please assign to me

@swapnilsparsh I think the issue you're describing is not with moving the cursor fast but instead moving it outside the path i.e., in the walls region. Don't you think we should be making some changes in the logic of the game like maybe adding some danger zones or something of that sort to improve this one?

@Sanujkumar All the best and you can consider @AmbitiousCoder-07 idea.

Hello @swapnilsparsh  sir
I would like to work on this issue as a contributor to the GSSOC. please assign this to me!
I have relevant skills that definitely help to enhance the website.

@Sanujkumar Any update ?


[cyclonedds-cxx] Add new port

[x] Changes comply with the maintainer guide
[x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
[x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx
[x] The versioning scheme in vcpkg.json matches what upstream says.
[x] The license declaration in vcpkg.json matches what upstream says.
[x] The installed as the "copyright" file matches what upstream says.
[x] The source code of the component installed comes from an authoritative source.
[x] The generated "usage text" is accurate. See docs/examples/adding-an-explicit-usage.md for context.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is in the new port's versions file.
[x] Only one version is added to each modified port's versions file.

AFAIU only four features directly affect the build of this port. The other features only control port cyclonedds. Do we really need this group of features? Downstream usage of cyclonedds-cxx can request cyclonedds features via a direct dependency on cyclonedds.

@dg0yt
This make sense, I've fix features list

Even the remaining features seem to be strictly bound to cyclonedds. Is there no way for automatic discovery in the build system?
For one feature, there are different names in those two ports (idlc vs. idllib).

Tested the features [idllib,topic-discovery,type-discovery] successfully in the following triplet:

x86-windows
x64-windows

Tested feature [shm] successfully in the x64-osx triplet.
but when I tested the features [idllib,topic-discovery,type-discovery] by command ./vcpkg install cyclonedds-cxx[idllib,topic-discovery,type-discovery]:x64-windows-static in x64-windows-static triplet, it failed:
-- Performing post-build validation
warning: DLLs should not be present in a static build, but the following DLLs were found:

    F:/Feature-test/cyclonedds/vcpkg/packages/cyclonedds_x64-windows-static/bin/cycloneddsidl.dll
    F:/Feature-test/cyclonedds/vcpkg/packages/cyclonedds_x64-windows-static/debug/bin/cycloneddsidl.dll

warning: There should be no bin\ directory in a static build, but F:\Feature-test\cyclonedds\vcpkg\packages\cyclonedds_x64-windows-static\bin is present.
warning: There should be no debug\bin\ directory in a static build, but F:\Feature-test\cyclonedds\vcpkg\packages\cyclonedds_x64-windows-static\debug\bin is present.
warning: If the creation of bin\ and/or debug\bin\ cannot be disabled, use this in the portfile to remove them
    if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
        file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
    endif()

error: Found 2 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: F:\Feature-test\cyclonedds\vcpkg\ports\cyclonedds\portfile.cmake
Stored binary cache: "C:\Users\vzhli17\AppData\Local\vcpkg\archives\fd\fd0cc70c1a0d22ef919afbbae3394633918406dcad24ae5769b2f65390401a22.zip"
Elapsed time to handle cyclonedds:x64-windows-static: 2.404 min
Installing 2/2 cyclonedds-cxx:x64-windows-static...
Building cyclonedds-cxx[core,idllib,topic-discovery,type-discovery]:x64-windows-static...
-- Using cached eclipse-cyclonedds-cyclonedds-cxx-0.10.2.tar.gz.
-- Cleaning sources at F:/Feature-test/cyclonedds/vcpkg/buildtrees/cyclonedds-cxx/src/0.10.2-c986773ee2.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source F:/Feature-test/cyclonedds/vcpkg/downloads/eclipse-cyclonedds-cyclonedds-cxx-0.10.2.tar.gz
-- Using source at F:/Feature-test/cyclonedds/vcpkg/buildtrees/cyclonedds-cxx/src/0.10.2-c986773ee2.clean
-- Found external ninja('1.10.2').
-- Configuring x64-windows-static
-- Building x64-windows-static-dbg
-- Building x64-windows-static-rel
-- Installing: F:/Feature-test/cyclonedds/vcpkg/packages/cyclonedds-cxx_x64-windows-static/share/cyclonedds-cxx/copyright
-- Performing post-build validation
warning: DLLs should not be present in a static build, but the following DLLs were found:

    F:/Feature-test/cyclonedds/vcpkg/packages/cyclonedds-cxx_x64-windows-static/bin/cycloneddsidlcxx.dll
    F:/Feature-test/cyclonedds/vcpkg/packages/cyclonedds-cxx_x64-windows-static/debug/bin/cycloneddsidlcxx.dll

warning: There should be no bin\ directory in a static build, but F:\Feature-test\cyclonedds\vcpkg\packages\cyclonedds-cxx_x64-windows-static\bin is present.
warning: There should be no debug\bin\ directory in a static build, but F:\Feature-test\cyclonedds\vcpkg\packages\cyclonedds-cxx_x64-windows-static\debug\bin is present.
warning: If the creation of bin\ and/or debug\bin\ cannot be disabled, use this in the portfile to remove them
    if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
        file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
    endif()

error: Found 2 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: F:\Feature-test\cyclonedds\vcpkg\ports\cyclonedds-cxx\portfile.cmake
Stored binary cache: "C:\Users\vzhli17\AppData\Local\vcpkg\archives\04\0471e6121e976bf2a04e6d5457a7c7aff9efbd90475dee7ddb1b16dacfaa7bf9.zip"
Elapsed time to handle cyclonedds-cxx:x64-windows-static: 50.83 s
Total install time: 3.725 min

Even the remaining features seem to be strictly bound to cyclonedds. Is there no way for automatic discovery in the build system?
For one feature, there are different names in those two ports (idlc vs. idllib).

@dg0yt you are right about automatic feature discovery. For shm, data-dicovery and type-discovery this is present. So I removed these from features list.
But idllib is different:
cyclonedds[idlc] - IDL C library + idlc tool
cyclonedds-cxx[idllib] - IDL C++ library
There is a dependency between these features, but they are not the same. I borrow idlc and idllib names from build flags

in x64-windows-static triplet, it failed

@JonLiu1993  the problem should now be resolved

tested feature idllib successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static

tested usage successfully by cyclonedds-cxx:x64-windows:
Total install time: 5.237 min
cyclonedds-cxx provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(CycloneDDS-CXX CONFIG REQUIRED)
    target_link_libraries(main PRIVATE CycloneDDS-CXX::ddscxx CycloneDDS-CXX::idlcxx)


Different results AudioFileReader vs WaveFileReader?

Simple test program.
            byte[] samples;
            using (WaveFileReader reader = new WaveFileReader(files[selection - 1]))
            {
                samples = new byte[reader.Length];
                while (reader.Position + 4096 < reader.Length)
                {
                    reader.Read(samples, 0, 4096);
                    Console.Write("{0}\n", samples[0]);
                }
            }

This works correctly on a simple test.wav file. If I switch the WaveFileReader to AudioFileReader, it prints all zeros instead. Maybe I am misunderstanding how it is meant to be used, but this seems like unexpected behavior -- shouldn't AudioFileReader just be an abstraction so I can also read mp3s and etc?

AudioFileReader converts to IEEE floating point samples, so no, you wouldn't expect to see the same results.

Ah so the standard flow would be to call rawBytes = AudioFileReader.Read(...) and then some floatSamples = ConvertByetsToFloat(rawBytes) (?) right after?

you can read directly into a float[] with AudioFileReader as it implements ISampleProvider

Got it. Thanks!


Support build.mk

I'm usually porting existing applications to particle. With po, I was able to add a subdirectory to an existing source tree, and customize build.mk as needed to build. This seems no longer possible with neopo. The ability to set EXTRA_CFLAGS isn't nearly powerful enough. Is there a way to use a custom makefile with neopo?
(I'd be happy to continue to use po, but it seems it doesn't work with newer versions of Device OS. At least the code gets flashed to the wrong offset.)

Ah, figured it out - I can just put a build.mk into src!


Rewrite C dependency in Rust?

Less of an issue, more questions:
Are there any plans to get rid of the C dependency? How much work do you think it would be? Cmake dep is a huge bummer  It would also be nice to use const rather than all the generated tables.
Additionally, as you have the most relevant experience to answer this... the h3 api is very C-shaped with a lot of freestanding functions...if you were to write an idiomatic rust lib from the start, would the API be similar to h3ron or would you do things differently?

There are no such plans currently, although it would be very helpful to not require cmake and it would also resolve the issues people having compiling for WASM (#21) and on blockchain platforms (#30).
The main reasons for sticking with the C dependency for me would be:

Its the buildsystem supported upstream.
There is a lot of work done in the C library including an increasing amount of test coverage. I am not able to put this much effort into this library - a project I am mostly doing in my spare time.
Currently uber/h3 is preparing version 4 (https://github.com/uber/h3/pull/573), this will bring quite a few changes which h3ron needs to accommodate for. Thats reasonably easy when compiling in the upstream implementation, but would again be a lot of effort for keeping up with when maintaining a rewrite.

That being said, I would also be in favour of a rust-only crate. What may be worth exploring would be experimenting with tools like c2rust on how good the translation from C to rust is, and how much manual effort has to be put in when updating to newer h3 versions. Everything would be unsafe of course, but the current API wrappers can simply continue to exist. Those are a better fit for a rust-centered API than the single functions.
It also would be feasible to compile the C library using the cc crate by replicating a few build steps in the h3ron-h3-sys crate. That would remove the cmake requirement, but would be of little help for the WASM and blockchain issues. So it may not be worth it.

I'll have a lot of time on my hands to devote to open source soon and I'd love to contribute to a pure rust port. Would you want it as part of this project or would you rather me work elsewhere and then potentially combine once I have something to show?
Naively, the c code doesn't look like it would be hard to port or at least keep the C apo for tests.

Wow - sounds great. Just go ahead when you like and start working on a fork of this repo.
Somehow I like the idea of solution where the user of this crate can decide which implementation to use, the rust-port or the C library. That could be accomplished using a feature gate to switch between the h3ron-h3-sys crate and the rust port. The rust port could maybe be a part of the h3ron crate itself.

cc'ing @dfellis to this discussion as we've had some discussions about possibly rewriting the C library in Rust. Our primary goal with H3 being written in C was the portability of binding the core library to other languages - JavaScript, Python, Java, etc. which we felt C was the best option for. If bindings could be made to a Rust core library from these other languages, which I think could be the case, it may obviate the need for the C core library.

Agreed with @isaacbrodsky. A combination of DGGRID being C and Rust being much less mature 6-7 years ago is why we went with C.
We intentionally went with a memory ownership model where the callers of H3 provide the memory blocks to the library that then relinquish control back at the end to make integration with VMs simpler and roughly modeled that on Rust, so it has always been in the back of my mind.
I am confused by the statement that WASM support is hindered by the code being in C, however. Emscripten is designed with C as the first class citizen, and we only haven't done a WASM port due to personal time and API breakage with h3-js. It should be pretty straightforward to make a WASM port and re-expose the C functions for other WASM projects and minor tweaks to h3-js for JS exposure. (Worst case you can use WASM's ability to call JS code to bridge in h3-wasm (or h3-js right now).)
Where the code should live is a different discussion. I personally would like it in the H3 repo, but how that affects 4.0 is something to consider. It could be another barrier to upgrading if the code base is fully rewritten instead of what we have been doing. Perhaps it could live in a crate within the H3 repo and we write compatibility testing and fuzzing to confirm equivalent behavior and switch over in some 4.x release?
It would definitely be a lot easier to write the CLI executable in Rust, along with the advantages of a real dependency management system and the improved type safety.

Things are evolving quickly here.
I for my part would be very much in favour of an official rust crate.
The concept of having H3 only work on pre-allocated memory blocks is quite good.
As C i pretty much the optimum for creating bindings to other languages, the situation in rust may be a bit worse, although certainly not bad:

The rust implementation certainly could provide the same C-API the C implementation does. That also could be the way to stay compatible with most of the current H3 ecosystem.
For python bindings there is pyo3 and rust-numpy which works very well
JS is somewhat covered by compiling to WASM
There are crates for interfacing with the JVM - I never used one of those.
extendr for R
rustler for the erlang VM
... certainly more.

@dfellis The WASM issue is caused that - at least what I found when doing a little search - the ABI created when compiling C to WASM appears to be incompatible to the ABI WASM emitted by rust expects. But I do not know many more details on this, there are a few links in #21. The way through JS is just less straight forward and also less comfortable, and brings in some additional communication overhead.

Pre-allocated blocks are good in Rust for no_std support FWIW. I've personally never written a no_std rust lib though, just used them.

I am confused by the statement that WASM support is hindered by the code being in C, however

I've recently been building a rust-wasm library, so I think I can add a little context here. The issue is that there are two separate WASM targets from rust. There's wasm32-unknown-emscripten and wasm32-unknown-unknown. The vast majority of the rust-wasm ecosystem, projects like wasm-bindgen, js-sys, and wasm-pack are built around wasm32-unknown-unknown. As I understand it, the wasm32-unknown-unknown target generally creates smaller bundles but does not have a default C toolchain. Generally any pure-rust project is able to compile to wasm32-unknown-unknown without changes. Meanwhile I haven't seen any easy-to-use tooling made to work with wasm32-unknown-emscripten.
There is a bit more context in https://github.com/rustwasm/team/issues/291, but it seems like the core maintainers barely have time to keep up with wasm-bindgen as it is.
Last time I tried, I got lots of compilation errors when trying to compile h3-sys to wasm32-unknown-unknown (e.g. with wasm-pack build). I think it worked out of the box with cargo build --target wasm32-unknown-emscripten, but the issue is that only builds the wasm bundle (technically a shared object in the target dir?). I don't know how you'd go from that to actually using it from JS.

Thank you for this detailed writeup of the C + WASM situation @kylebarron

Ok, I haven't had time to try to port this "for real", but I was able to run c2rust on h3 and then manually tweaked it:
https://github.com/LegNeato/unsafe-h3lib
All C-based tests pass except for:
The following tests FAILED:
	 91 - testH3Api_test91 (Failed)
	 95 - testPolygonToCells_test95 (Failed)
	 99 - testLatLng_test99 (Failed)

This is likely because I couldn't use f128 as rust has no built-in support and the f128 crate on crates.io only works on linux.

I think @isaacbrodsky may have started hacking on an actual rust port

Sweet!

Interesting. @LegNeato Seems you had to do quite a few manual fixes to reach the working state, so c2rust may not be too great when the source needs to be updated periodically. In general, how would you rate the c2rust experience?
I am happy to hear the actual port of H3 to rust really appears to be in consideration.

It actually wasn't too bad to get it working, took me a couple of hours of actual work. It would have been quicker if my find and replace regex skills were better. The main changes / patterns were:

Formatting
Replacing f128. I just made these f64, but I should probably change to rust_decimal with the c_repr feature. This is probably the source of the test failures.
Adding the various Cargo.toml files.
Adding the various lib.rs files. This was needed as the app binaires aren't as standalone as they could be.
Silencing warnings, including things like using PI consts and unnecessary mut.
Fixing clippy lints
There was a c2rust bug in some of the tests I needed to work around by copying an informational output string. Oddly, it got it right in other cases so I need to investigate.

I also did a hacky change to cmake in the h3 project to call out to the Rust binaries so I could leverage the project's testing infra rather than rewrite them in Rust.
In hindsight, I shouldn't have bothered with any clippy or warning stuff and should have just stuck with changes that mattered so it would have been easier to forward-port. I actually thought it would be harder / c2rust would be worse so was just kinda exploring and then it worked 😄 .
I may take another crack at it tomorrow and see if I can't do it in such a way where it could be kept in lock-step with h3.  That seems like a better use of time for a couple of hours work then rewriting in Rust right now (though I would love to contribute to that effort some day). Note that it would take more work to having the generated code work under the target wasm32-unknown-unknown as the generated code relies on libc (I think? it didn't immediately build but I haven't done wasm stuff before).

Done 🙂

Great work!
Looks very complete and wonderful it is already available on crates.io. I will put a link in the README of this repository here to your project. Your implementations solves many issues people are having :+1:

Thanks!
Yup, in term of completeness I'm on par with the current H3 release (4.0). My C binding even pass their test suites.
And clearly, this will make integration in Rust projects smoother (it was one of the goal), while giving a nice perf boost.
I've also made an announcement on Reddit for the visibility, linking to an article that goes into more detail (for those who want to know more).

Thanks for the link. The performance improvements described in the article look quite impressive.
I guess I will need to find some time to port some of my stuff to your library soon :wink:

Haha thanks, I'm glad to hear that.
Don't hesitate to reach out if you need help (I tried to document it as best as I could, but external/fresh eyes are more than welcome), or have feedback on the API (rough edges, improvements, etc.)

@grim7reaper Looks amazing!

Exciting!

I am closing this issue here now. I linked to h3o from the main README of this repository.


LGTM.com - false positive

Description of the false positive
NEW Comparison of identical values; use cmath.isnan() if testing for not-a-number.
This condition is comparing integer IDs that cannot be nan, as they are not ever floats, and the type hinting on the objects reflects this.

https://lgtm.com/projects/gl/nekokatt/hikari/snapshot/deb08a0d7c11d86134ffed1f82b67ac9b8d46706/files/hikari/orm/state/state_registry_impl.py?sort=name&dir=ASC&mode=heatmap#x2cd1c87a68b370a1:1

(I don't really know python)
How is this not a true positive?
Aren't you comparing reaction_obj.message_id == reaction_obj.message_id which is comparing the same values?
The query talks about NANs, because they can be detected by comparing the same values;
doubleValue != doubleValue is only true, when doubleValue is a NAN.

Integer types arent the same as floating point types though. You can't have NaN in an integer type, so the mention of NaN checking is irrelevant for this

I think you may be misreading the alert message. The alert itself simply flags any equality comparison where both sides are identical (as in your case, where both sides are reaction_obj.message_id). This is generally not a sensible thing to do, as it will (almost) always result in True, and thus be redundant. There is one exception, however, and that's floating point NaN, which will evaluate as being not equal to itself. Thus, some people do f == f in order to test if f is NaN, and the alert is simply pointing out that this is better done through the isnan method.
Does that make sense? :slightly_smiling_face:
It sounds like we might want to reword the alert text to make this more clear.


includes in file gcn_translator.cpp are incorrect

adding the includes
#include <glslang/SPIRV/SpvBuilder.h>
#include <glslang/SPIRV/GLSL.std.450.h>
instead of
#include <SPIRV/SpvBuilder.h>
#include <SPIRV/GLSL.std.450.h>
seems to fix the issue

Nice issue number.

I cant seem to find this file ... is that gonna be an issue? maybe i got the wrong DL.


Prompt on stderr

Hi there, and thanks for your work on this crate!
Is your feature request related to a problem? Please describe.
From my understanding, it is hardcoded that prompts are sent to stdout (like here for crossterm).
While this may seem like a reasonable setting, I have a use case where I use a prompt to guide user into creating and submitting a bug report on panic and I would like to send it to stderr instead  so that it can't interfere with pipes.
For example, if user run command > example.txt, I want to be sure that the prompt won't be sent to example.txt if  command panics.
Actually, it is sometimes recommended (like here) to always send messages to stderr.
Describe the solution you'd like
A possible solution would be to let users be able to create Terminals that could be supplied to the prompt_with_backend methods that are currently private.
Describe alternatives you've considered
I am not aware of any way I could currently achieve this.
I am ready to work on a PR that let user choose, if anyone could guide me into the desired way to implement this.
Cheers!

PR #89 is actually about hardcoding stderr instead of stdout which seems even better.

Glad to have your comments supporting that PR, I'll certainly get on with making it happen.


Missing key switching guard timer

It seems that key switching guard timer is not implemented. Should I implement it?

I agree that this needs to be implemented, please submit a PR!


Collapsing Header API consistency

Stream of thoughts on the collapsing header API:

ui.collapsing_header takes TreeNodeFlags which is a bit cumbersome and not consistent with the other methods - generaly there is a "simple" method (if one exists) and one with config, or if no simple case exists it returns a builder (which seesm to be the case here as it has quite a few options and there's no clear "best" one - e.g open or closed by default)
It's build method doesn't take a closure unlike window, e.g ui.window("...").build(|| ui.text("...") but if ui.collapsing_header(...).build() { ... } whereas I would expect to do if ui.collapsing_header(...).begin() { ui.text("...") }
The build method is described as "provided for consistent naming" but makes the API inconsistent
Also the CollapsingHeader API is not consistent - build and build_with_close_button seem to act differently (one can be opened by clicking in the header, one only works clicking on the arrow - which is a different flag setting)

Just spotted this discussion which prompted the current API, https://github.com/imgui-rs/imgui-rs/issues/481#issuecomment-913234388 - and so I think some of the thoughts above are incorrect,

It's build method doesn't take a closure unlike window, e.g ui.window("...").build(|| ui.text("...")

On closer inspection the collapsing_header method is basically a button (just with a slightly different logic for when it returns true), so ui.collapsing_header() -> bool is perfectly fine, and it is consistent with basically every other input widget

The build method is described as "provided for consistent naming" but makes the API inconsistent

This should have said "The begin method" - this is inconsistent as I think every other begin method in the API returns a token (whereas collapsing_header is the only one which returns a bool)
So I think my plan is:

Simplify Ui::collapsing_header to just fn collapsing_header(&self, label: impl AsRef<str>) -> bool { as the "simple API"
Add a Ui::collapsing_header_config method which takes TreeNodeFlags
Clarify in that methods doc that it operates like a fancy button; it just returns true when the contents should be rendered (no fancy handling of the contents unlike child_window etc)
Mark CollapsingHeader::new as deprecated, directing people to Ui::collapsing_header or Ui::collapsing_header_config

I'm undecided what to do with Ui::collapsing_header_with_close_button. I think it might be neater to have this done by Ui::collapsing_header_config(...).build_with_close_button(...) - but it is a bit weird because either the user has to pass in the close-button flag, or we have to explicit set it in the build_... method. Leaning towards keeping the shortcut methods, but adding the same "simple API" version (collapsing_header_with_close_button not taking any flags)

Bumping to later release as not particularly important


Added ability to mount express apps using signalk-webapp mechanism

This patch allows a signalk-webapp to implement an express.Route in a module identified with the metadata expresshandler and have the SignalK server load is as a route rather than as a static path. This allows the webapp to implement server side webapp code, ie additional REST APIs.
The package.json would look like
{
...
"expresshandler": "index.js",
"keywords": [
    "signalk-webapp"
  ],
....

}
And the index.js file would look like
"use strict";

var express = require('express')
var router = express.Router()

// middleware that is specific to this router
router.use(function timeLog (req, res, next) {
  console.log('Time: ', Date.now())
  next()
})
// define the home page route
router.get('/', function (req, res) {
  res.send('Birds home page')
})
// define the about route
router.get('/about', function (req, res) {
  res.send('About birds')
})

module.exports = router

Would https://github.com/SignalK/signalk-server-node/pull/202 be enough to support your use case?

Hmm. That applies to plugins. I think we need uniform extension handling so that an extension can

provide http handlers
provide serverside functionalities
provide static resources
be enabled/disabled by configuration (as plugins now)

Ping @sbender9 ^^

We already have a way for plugins to get to the express router. Why extend the plugin stuff allow them to provide static resources?
@tkurki what do you mean by "provide serverside functionalities"?

provide serverside functionalities === what plugins do today: process data on the server.
If we extend plugins to be able to provide static resources webapps are then plugins without the serverside code - this is sort of what I meant: fuse webapps and plugins, to the extent that webapps.js and plugins.js are replaced by extensions.js.

We already have a way for plugins to get to the express router. Why not extend the plugin stuff allow them to provide static resources?

Could you give me a pointer to how a plugin can provide an express router ? Does it simply add one itself ? app.use(path,router). If so the router can add static paths so this patch isnt needed, unless there is a requirement to make the plugin appear under the list of "apps".

See #202 above.
I would rather have a shared mechanism where the static resources of an extension are mounted in a standard location, under plugin id, like current webapps.

Thanks. I can achieve what I need to using #202 in a server plugin module and a separate webapp module. S I don't have a pressing need for the patch, unless you want to have 1 module. Perhaps it would be best to close the patch and open an issue to discuss ?

Combining plugin + webapps turned out to be pretty easy: #284
@ieb improvements to https://github.com/SignalK/signalk-server-node/blob/master/SERVERPLUGINS.md are also very welcome ;-)


Collapsible sections CosmosDB for viewing documents

Is your feature request related to a problem? Please describe.
When you have a long document, like x thousand lines its difficult to scroll the whole document to get to the bottom or to a property (field) below a list
Describe the solution you'd like
Properties, Lists or Dicts are collapsible, like they are if you query the object via rest in Postman

Real world documents are not 3 field simpletons. Currently it is really cumbersome to constantly copy paste data to  a proper JSON-aware editor (like Visual Studio) for actually grasping what is being returned.
I'm pretty sure some existing editor components could be integrated, no need to reinvent the wheel.

CosmosDB support has been removed from Storage Explorer.


Revert 171 add maricopa community college

acu.txt

@anassaadhamad Pull request merged. Thank you!
Side note: the pull request title is misleading, there was nothing to revert.


The config.json configuration in the.continue directory cannot be read during Jetbrains debugging. How can I modify the debugging?

Validations

[ ] I believe this is a way to improve. I'll try to join the Continue Discord for questions
[ ] I'm not able to find an open issue that requests the same enhancement

Problem
When debugging with Run Extension in intellij, the config.json file in the.continue directory could not be read, causing the configuration to be invalid
Solution
No response

Modify the binary /. Continue/config. Json has been solved

Good callout here! I've updated the contributing docs to make this more clear: https://github.com/continuedev/continue/pull/2646/files#diff-fa29d4d1de60c09fb0de8d56aae928d9c6371a6477dd3d05d1ff79937c578acbR79-R82


SKOpenXRLoaderFolder conflicts when inside project

When using SKOpenXRLoaderFolder with a path inside the project structure, these binaries are already added to the project. This causes duplication conflicts when building. We can by default exclude these files, and then include the specific ones we want later.

This is not as trivially possible to do as expected! MSBuild has difficulty matching files that are the same, but addressed using differently shaped paths. For example, Snapdragon/arm64/libopenxr_loader.so will not match with C:/Projects/ProjectName/Snapdragon/arm64/libopenxr_loader.so or any such similar thing.


DBZ-7512 Support arbitrary payloads with outbox event router on debezium server

Outbox event router supports arbitrary payload formats with BinaryDataConverter as the value.converter which passes payload transparently. However this is  currently not supported with the embedded engine which handles message conversion using value.format to specify the format.
In addition, when we want to pass payload transparently, it makes sense to also pass aggregateid i.e. the event key transparently. The default outbox table configuration specifies aggregateid as a varchar which is also not supported by embedded engine.
Propose to introduce the following change to support the above use cases.

Support for string and binary serialization formats on debezium api.
Allow configuring separate key and value formats on embedded engine.

Hi @jpechane, wondering if you had a chance to review the new changes?

I see some CI checks failing but they seem to be unrelated to this change. Please let me know if something is needed from my side

@akulapid Applied, thanks!

Could you pease prepare a separate PR with docs update? Thanks

Thanks very much! There's doc changes included in this commit itself. If there's something specific you're thinking about let me know, will be happy to raise another PR

@akulapid You are right, it is exactly there. I somehow forgot about it while I was doing the last review, sorry for the confusion.


Contribution to "High severity vulnerability that affects org.springframework.security.oauth:spring-security-oauth2"

Updates

Affected products

Looking at detail of this vulnerability a fix version for 2.1.0 through 2.1.1 is documented as 2.12 yet on this https://tanzu.vmware.com/security/cve-2018-1260 the fix version states 2.1.2 so i think you are missing the "."

Hi @MikeMoore63! Thank you so much for being one of the first folks to submit a community contribution! We value you making our database better.
I'd love to learn more about your use case.
Would be interested in chatting with me for 30 minutes in the next month via Zoom? If so, please follow the link below to schedule a time that works best for us both. In recognition of your time, we’ll send you a $60 gift card/cash card/credit for the GitHub Swag store.
https://calendly.com/security-advisories-ux-calls/25min?back=1&month=2022-03


Connection error with OpenRouter

Hello,
Yesterday I tried to switch to OpenRouterAI and got this error message:

Error Connecting to AI Provider. error querying models API: Connection error

Can somebody please explain what this means and what to do about it? I've been using Chatcraft (+OpenAI) for many months now with zero problems. Also, there doesn't seem to be a problem at the OpenRouter side of things since I can use the playground normally.
Thanks in advance

I can't reproduce it:

I wonder if it was a temporary network issue on their end?  Does it persist for you today?

@alexisargyris would be helpful to see network trace like @humphd showed

Thanks a lot for the quick reply. I am behind a company firewall. Chatcraft + OpenAI never had any problems with that. Chatcraft + OpenRouterAI apparently is blocked. Here is what happens:

Maybe some port is required? Can this be avoided?

That's really odd, since I get the proper CORS header (access-control-allow-origin: *) when I hit it from here:
$ curl -I https://openrouter.ai/api/v1/models
HTTP/2 200
date: Wed, 26 Jun 2024 15:26:12 GMT
access-control-allow-credentials: true
access-control-allow-headers: Authorization, User-Agent, X-Api-Key, X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, HTTP-Referer, X-Windowai-Title, X-Openrouter-Title, X-Title, X-Stainless-Lang, X-Stainless-Package-Version, X-Stainless-OS, X-Stainless-Arch, X-Stainless-Runtime, X-Stainless-Runtime-Version
access-control-allow-methods: GET,OPTIONS,PATCH,DELETE,POST,PUT
access-control-allow-origin: *
cache-control: public, max-age=0, must-revalidate
content-security-policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://clerk.openrouter.ai https://cunning-heron-18.clerk.accounts.dev https://challenges.cloudflare.com https://checkout.stripe.com https://connect-js.stripe.com https://js.stripe.com https://maps.googleapis.com https://www.googletagmanager.com https://*.ingest.sentry.io; connect-src 'self' https://clerk.openrouter.ai https://cunning-heron-18.clerk.accounts.dev https://checkout.stripe.com https://api.stripe.com https://maps.googleapis.com *.google-analytics.com https://www.googletagmanager.com https://raw.githubusercontent.com https://*.ingest.sentry.io; frame-src 'self' https://challenges.cloudflare.com https://checkout.stripe.com https://connect-js.stripe.com https://js.stripe.com https://hooks.stripe.com https://us5.datadoghq.com https://*.ingest.sentry.io; img-src 'self' data: blob: https://img.clerk.com https://*.stripe.com https://www.googletagmanager.com https://t0.gstatic.com; worker-src 'self' blob:; style-src 'self' 'unsafe-inline' sha256-0hAheEzaMe6uXIKV4EehS9pu1am1lj/KnnzrOYqckXk=; upgrade-insecure-requests
strict-transport-security: max-age=63072000
x-matched-path: /api/v1/models
x-vercel-cache: MISS
x-vercel-id: cle1::d84w5-1719415571719-b6963067ed37
cf-cache-status: DYNAMIC
server: cloudflare
cf-ray: 899e36db0890ac84-YYZ

I also notice in that errors above that it looks like you're getting some other response, maybe an HTML page from CloudFlare with that 403 Forbidden failure?  Maybe your network is being blocked by CloudFlare somehow, or something else between you and them (your network) is injecting an error page that doesn't have the CORS headers and 403s?

So, today I made the following test:

Attempted to use Chatcraft with OpenRouter while being behind the company firewall. Result: failure (as above, with the same set of responses).
Temporarily, bypassed the company firewall. Chatcraft connected to OpenRouter and everything worked as expected. Made a test query to Claude-Sonnet. Everything ok.
Switched back to the company network. Immediately, I got a connection error.
Set Chatcraft to use OpenAI instead of OpenRouter and made a test query. Everything ok again.

If Chatcraft is not attempting to use some blocked port while attempting to connect to OpenRouter then the reason must be the range of IP address

@alexisargyris try opening https://openrouter.ai/api/v1/models in your browser and see what you actually get back.  I bet it's an HTML page with error info vs. the expected JSON response (e.g., something is redirecting you).
There's no port blocking happening here.

Yes, you are right. I get a notification about the address being blocked by the web safety filter. I'll see what can be done internally...

Fixed at our end, thanks a lot


update suse-leap's PIR image version (the old one is gone)

Not related with any swagger specs, but updating it as 42.2 is gone

Automation for azure-libraries-for-java

Automation for azure-sdk-for-node

//CC: @gatneil , the PIR suse-leap 42.2 is gone, hence i am updating it

Automation for azure-sdk-for-python

Cool! Thanks, @yugangw-msft :)

Automation for azure-sdk-for-go


Selected item is not centered

I fixed it with:
DotNavigationBar(
      itemPadding: EdgeInsets.only(left:12,right:12,top: 4,bottom:4) // Customize this as per your needs
      items: [
        ...
      ],
    )


Add codegen flag to overwrite existing files or clean build directory

I'll try this

Your help will definitely be appreciated!


Ptsd gold

Is this one ready to merge?

I think so. Obviously the dataset might still change in the future. Maybe it is an idea to do individual versioning of data sets?


Metric update method is called twice in a row

Why method update is called twice in a row when a metric is used?
Code
For instance, in the Precision metric below
import torch
from torch import nn
from pytorch_lightning.metrics.metric import Metric
from pytorch_lightning.metrics.utils import to_onehot, METRIC_EPS, _input_format_classification_one_hot

class Precision(Metric):

    def __init__(
        self,
        num_classes: int = 1,
        threshold: float = 0.5,
        average: str = 'micro',
        multilabel: bool = False,
        compute_on_step: bool = True,
        dist_sync_on_step: bool = False,
        process_group: Optional[Any] = None,
    ):
        super().__init__(
            compute_on_step=compute_on_step,
            dist_sync_on_step=dist_sync_on_step,
            process_group=process_group,
        )

        self.num_classes = num_classes
        self.threshold = threshold
        self.average = average
        self.multilabel = multilabel

        assert self.average in ('micro', 'macro'), \
            "average passed to the function must be either `micro` or `macro`"

        self.add_state("true_positives", default=torch.zeros(num_classes), dist_reduce_fx="sum")
        self.add_state("predicted_positives", default=torch.zeros(num_classes), dist_reduce_fx="sum")

    def update(self, preds: torch.Tensor, target: torch.Tensor):

        print("call update")
        preds, target = _input_format_classification_one_hot(
            self.num_classes, preds, target, self.threshold, self.multilabel
        )

        # multiply because we are counting (1, 1) pair for true positives
        self.true_positives += torch.sum(preds * target, dim=1)
        self.predicted_positives += torch.sum(preds, dim=1)

    def compute(self):
        if self.average == 'micro':
            return self.true_positives.sum().float() / (self.predicted_positives.sum() + METRIC_EPS)
        elif self.average == 'macro':
            return (self.true_positives.float() / (self.predicted_positives + METRIC_EPS)).mean()

when called, it produces the following output:
predictions = torch.rand(2,3)
targets = torch.rand(2,3)

mrr = Precision()
mrr(predictions, targets)
# call update
# call update
# tensor(0.4187)

The first call updates the global metric state (the one that is being accumulated over multiple batches) and the second is for calculating the metric value on the current batch. This cannot be combined into one call as we would limit how metric states can be used.
If you are only interested in only accumulating over multiple batches you can just call update and if you are only interested in calculating the metric on the current batch you can use the functional metric interface.

@Ceceu I am closing this, please reopen if more questions on this topic.

I ran into this issue just now, and I wonder if this is a limitation of the API: would it be better to have the abstract functions broken out into compute_state(), update_state() (which receives the results of compute_state()), and reduce_state() (which returns the synchronized state)?
Calling update() twice under the hood is very unexpected.

@indigoviolet how much of an issue is this? After all the reason why update is called twice is due to forward both calculating the metric on the current batch and updating the global state. It therefore makes some sense that update is called twice.
If one only want to update the global state, call update directly. If one only want the value for the current batch then calling update(...).compute() will do the trick.

yes,  but i still feel it is a gotcha which will trip up many new users. At
the very least we should document this behavior.
On Mon, Dec 28, 2020, 1:44 PM Nicki Skafte<EMAIL_ADDRESS>wrote:

@indigoviolet https://github.com/indigoviolet how much of an issue is
this? After all the reason why update is called twice is due to forward
both calculating the metric on the current batch and updating the global
state. It therefore makes some sense that update is called twice.
If one only want to update the global state, call update directly. If one
only want the value for the current batch then calling
update(...).compute() will do the trick.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PyTorchLightning/pytorch-lightning/issues/4921#issuecomment-751873598,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA32WTE5DXCEQ2WBX65ZB3SXD3Z7ANCNFSM4UH46XBQ
.

@indigoviolet I do agree that it is not something explicit written anywhere. Maybe we should make a note in the docs?
You are also right that it is a limitation of the current API, but IMO the simple API is more useful for the general user (even if it has some flaws).

yeah I think making a note in the docs is a good step for now.


Color Picker disables Hot Corner abilities

MacOs Version: Big Sur 11.3.1
As the title states I can't drag and drop any items when "show Desktop" is activated via hot corner.

Can you elaborate? How exactly does this app disable "hot corners"?

Sorry for keeping it so brief. I‘ve set my lower left corner to a hot corner which shows my desktop. While the color picker runs i can‘t drag and drop or interact with any file/ folder on the visible desktop. As i close the app the behaviour runs as expected. Cursor to the lower left, desktop Shows and i can interact with every file.

There's an update out that fixes this: https://apps.apple.com/no/app/system-color-picker/id1545870783?mt=12


Explicitly depend on htmlunit 2.20 to support jQuery 2.20

Same motivation like #39 has.
Also see https://github.com/playframework/playframework/pull/5786

Looks good to me too, after this fix, my local version of play-scala-intro template with ScalaTest works too.
I think we should backport this fix to 1.4.x too.

@cheeseng Backport is here.