:sparkles: Fixups for new version

Adding more tests, and improving error reporting.

Travis tests have failed
Hey Gant,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
Node.js: node

npm run test:ci

><EMAIL_ADDRESS>test:ci /home/travis/build/infinitered/solidarity
> jest --ci --runInBand && yarn test:extras

PASS __tests__/commands/snapshot.ts
PASS __tests__/command_helpers/checkRequirement.ts
PASS __tests__/command_helpers/updateRequirement.ts
PASS __tests__/command_helpers/reviewRule.ts
PASS __tests__/command_helpers/appendSolidaritySettings.ts
PASS __tests__/command_helpers/checkShell.ts
PASS __tests__/commands/solidarity.ts
PASS __tests__/command_helpers/checkRequirementPlugins.ts
FAIL __tests__/integration/solidarity-check/check-valid.ts (6.658s)
  ● default looks for .solidarity file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |   process.chdir(tempDir)
      24 |   try {
    > 25 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      26 |     done()
      27 |   } catch (err) {
      28 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:25:59)

  ● also looks for .solidarity.json file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      35 |   process.chdir(tempDir)
      36 |   try {
    > 37 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      38 |     done()
      39 |   } catch (err) {
      40 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:37:59)

  ● verbose flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --verbose",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --verbose",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      44 | test('verbose flag works', async done => {
      45 |   try {
    > 46 |     await execa(SOLIDARITY, ['--verbose']).then(result => expect(result).toMatchSnapshot())
      47 |     done()
      48 |   } catch (err) {
      49 |     const x = err

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:46:74)

  ● silent flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --silent",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --silent",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      54 | test('silent flag works', async done => {
      55 |   try {
    > 56 |     await execa(SOLIDARITY, ['--silent']).then(result => expect(result).toMatchSnapshot())
      57 |     done()
      58 |   } catch (err) {
      59 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:56:73)

 › 4 snapshot tests failed.
PASS __tests__/command_helpers/getSolidaritySettings.ts
PASS __tests__/command_helpers/getVersion.ts
PASS __tests__/command_helpers/checkCLIForUpdates.ts
PASS __tests__/command_helpers/quirksNodeModules.ts
PASS __tests__/command_helpers/printResults.ts
PASS __tests__/command_helpers/removeNonVersionCharacters.ts
PASS __tests__/command_helpers/updateVersions.ts
PASS __tests__/commands/create.ts
PASS __tests__/command_helpers/findPluginInfo.ts
PASS __tests__/command_helpers/getLineWithVersion.ts
PASS __tests__/integration/solidarity-report/report-basic.ts
PASS __tests__/command_helpers/checkCLI.ts
PASS __tests__/command_helpers/skipRule.ts
PASS __tests__/extensions/extensionCheck.ts
PASS __tests__/index.ts
PASS __tests__/commands/help.ts
PASS __tests__/command_helpers/checkENV.ts
PASS __tests__/command_helpers/checkDir.ts
FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● solidarity report works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/bin/sh -c echo n | /Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity snapshot",
    +   "cmd": "/bin/sh -c echo n | /home/travis/build/infinitered/solidarity/bin/solidarity snapshot",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |     execa.shell(`echo n | ${SOLIDARITY} snapshot`).then(result => {
      24 |       // check a few from the report
    > 25 |       expect(result).toMatchSnapshot()
      26 |       expect(result.code).toBe(0)
      27 |       done()
      28 |     })

      at _execa2.default.shell.then.result (__tests__/integration/solidarity-snapshot/snapshot-nada.ts:25:22)

 › 1 snapshot test failed.
PASS __tests__/command_helpers/checkFile.ts
PASS __tests__/command_helpers/setSolidaritySettings.ts
PASS __tests__/command_helpers/solidarityReport.ts
PASS __tests__/integration/solidarity-check/check-invalid.ts
PASS __tests__/commands/report.ts
PASS __tests__/command_helpers/createPlugin.ts
PASS __tests__/docs/testDocs.ts
PASS __tests__/command_helpers/binaryExists.ts
PASS __tests__/schema/validateExampleSchema.ts

Summary of all failing tests
FAIL __tests__/integration/solidarity-check/check-valid.ts (6.658s)
  ● default looks for .solidarity file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |   process.chdir(tempDir)
      24 |   try {
    > 25 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      26 |     done()
      27 |   } catch (err) {
      28 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:25:59)

  ● also looks for .solidarity.json file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      35 |   process.chdir(tempDir)
      36 |   try {
    > 37 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      38 |     done()
      39 |   } catch (err) {
      40 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:37:59)

  ● verbose flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --verbose",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --verbose",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      44 | test('verbose flag works', async done => {
      45 |   try {
    > 46 |     await execa(SOLIDARITY, ['--verbose']).then(result => expect(result).toMatchSnapshot())
      47 |     done()
      48 |   } catch (err) {
      49 |     const x = err

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:46:74)

  ● silent flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --silent",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --silent",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      54 | test('silent flag works', async done => {
      55 |   try {
    > 56 |     await execa(SOLIDARITY, ['--silent']).then(result => expect(result).toMatchSnapshot())
      57 |     done()
      58 |   } catch (err) {
      59 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:56:73)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● solidarity report works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/bin/sh -c echo n | /Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity snapshot",
    +   "cmd": "/bin/sh -c echo n | /home/travis/build/infinitered/solidarity/bin/solidarity snapshot",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |     execa.shell(`echo n | ${SOLIDARITY} snapshot`).then(result => {
      24 |       // check a few from the report
    > 25 |       expect(result).toMatchSnapshot()
      26 |       expect(result.code).toBe(0)
      27 |       done()
      28 |     })

      at _execa2.default.shell.then.result (__tests__/integration/solidarity-snapshot/snapshot-nada.ts:25:22)

Snapshot Summary
 › 5 snapshot tests failed in 2 test suites. Inspect your code changes or run `npm run test:ci -- -u` to update them.

Test Suites: 2 failed, 35 passed, 37 total
Tests:       5 failed, 155 passed, 160 total
Snapshots:   5 failed, 40 passed, 45 total
Time:        24.554s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test:ci: `jest --ci --runInBand && yarn test:extras`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-03-02T04_55_41_708Z-debug.log

yarn danger ci

yarn run v1.3.2
$ /home/travis/build/infinitered/solidarity/node_modules/.bin/danger ci
You may have updated from Danger 2.x -> 3.x without updating from `danger` to `danger ci`.
No issues or messages were sent. Removing any existing messages.
Done in 2.68s.

Node.js: 8

npm run test:ci

><EMAIL_ADDRESS>test:ci /home/travis/build/infinitered/solidarity
> jest --ci --runInBand && yarn test:extras

PASS __tests__/commands/snapshot.ts
PASS __tests__/command_helpers/checkRequirement.ts
PASS __tests__/command_helpers/updateRequirement.ts
PASS __tests__/command_helpers/reviewRule.ts
PASS __tests__/command_helpers/appendSolidaritySettings.ts
PASS __tests__/command_helpers/checkShell.ts
PASS __tests__/commands/solidarity.ts
PASS __tests__/command_helpers/checkRequirementPlugins.ts
FAIL __tests__/integration/solidarity-check/check-valid.ts (7.223s)
  ● default looks for .solidarity file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |   process.chdir(tempDir)
      24 |   try {
    > 25 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      26 |     done()
      27 |   } catch (err) {
      28 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:25:59)

  ● also looks for .solidarity.json file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      35 |   process.chdir(tempDir)
      36 |   try {
    > 37 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      38 |     done()
      39 |   } catch (err) {
      40 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:37:59)

  ● verbose flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --verbose",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --verbose",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      44 | test('verbose flag works', async done => {
      45 |   try {
    > 46 |     await execa(SOLIDARITY, ['--verbose']).then(result => expect(result).toMatchSnapshot())
      47 |     done()
      48 |   } catch (err) {
      49 |     const x = err

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:46:74)

  ● silent flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --silent",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --silent",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      54 | test('silent flag works', async done => {
      55 |   try {
    > 56 |     await execa(SOLIDARITY, ['--silent']).then(result => expect(result).toMatchSnapshot())
      57 |     done()
      58 |   } catch (err) {
      59 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:56:73)

 › 4 snapshot tests failed.
PASS __tests__/command_helpers/getSolidaritySettings.ts
PASS __tests__/command_helpers/getVersion.ts
PASS __tests__/command_helpers/checkCLIForUpdates.ts
PASS __tests__/command_helpers/quirksNodeModules.ts
PASS __tests__/command_helpers/printResults.ts
PASS __tests__/command_helpers/removeNonVersionCharacters.ts
PASS __tests__/command_helpers/updateVersions.ts
PASS __tests__/commands/create.ts
PASS __tests__/command_helpers/findPluginInfo.ts
PASS __tests__/command_helpers/getLineWithVersion.ts
PASS __tests__/integration/solidarity-report/report-basic.ts
PASS __tests__/command_helpers/checkCLI.ts
PASS __tests__/command_helpers/skipRule.ts
PASS __tests__/extensions/extensionCheck.ts
PASS __tests__/index.ts
PASS __tests__/commands/help.ts
PASS __tests__/command_helpers/checkENV.ts
PASS __tests__/command_helpers/checkDir.ts
FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● solidarity report works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/bin/sh -c echo n | /Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity snapshot",
    +   "cmd": "/bin/sh -c echo n | /home/travis/build/infinitered/solidarity/bin/solidarity snapshot",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |     execa.shell(`echo n | ${SOLIDARITY} snapshot`).then(result => {
      24 |       // check a few from the report
    > 25 |       expect(result).toMatchSnapshot()
      26 |       expect(result.code).toBe(0)
      27 |       done()
      28 |     })

      at _execa2.default.shell.then.result (__tests__/integration/solidarity-snapshot/snapshot-nada.ts:25:22)

 › 1 snapshot test failed.
PASS __tests__/command_helpers/checkFile.ts
PASS __tests__/command_helpers/setSolidaritySettings.ts
PASS __tests__/command_helpers/solidarityReport.ts
PASS __tests__/integration/solidarity-check/check-invalid.ts
PASS __tests__/commands/report.ts
PASS __tests__/command_helpers/createPlugin.ts
PASS __tests__/docs/testDocs.ts
PASS __tests__/command_helpers/binaryExists.ts
PASS __tests__/schema/validateExampleSchema.ts

Summary of all failing tests
FAIL __tests__/integration/solidarity-check/check-valid.ts (7.223s)
  ● default looks for .solidarity file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |   process.chdir(tempDir)
      24 |   try {
    > 25 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      26 |     done()
      27 |   } catch (err) {
      28 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:25:59)

  ● also looks for .solidarity.json file

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      35 |   process.chdir(tempDir)
      36 |   try {
    > 37 |     await execa(SOLIDARITY).then(result => expect(result).toMatchSnapshot())
      38 |     done()
      39 |   } catch (err) {
      40 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:37:59)

  ● verbose flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --verbose",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --verbose",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      44 | test('verbose flag works', async done => {
      45 |   try {
    > 46 |     await execa(SOLIDARITY, ['--verbose']).then(result => expect(result).toMatchSnapshot())
      47 |     done()
      48 |   } catch (err) {
      49 |     const x = err

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:46:74)

  ● silent flag works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity --silent",
    +   "cmd": "/home/travis/build/infinitered/solidarity/bin/solidarity --silent",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      54 | test('silent flag works', async done => {
      55 |   try {
    > 56 |     await execa(SOLIDARITY, ['--silent']).then(result => expect(result).toMatchSnapshot())
      57 |     done()
      58 |   } catch (err) {
      59 |     done.fail()

      at then.result (__tests__/integration/solidarity-check/check-valid.ts:56:73)

FAIL __tests__/integration/solidarity-snapshot/snapshot-nada.ts
  ● solidarity report works

    expect(value).toMatchSnapshot()

    Received value does not match stored snapshot 1.

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      Object {
    -   "cmd": "/bin/sh -c echo n | /Users/gantman/Documents/Projects/js/rn/node_packages/solidarity/bin/solidarity snapshot",
    +   "cmd": "/bin/sh -c echo n | /home/travis/build/infinitered/solidarity/bin/solidarity snapshot",
        "code": 0,
        "failed": false,
        "killed": false,
        "signal": null,
        "stderr": "",

      23 |     execa.shell(`echo n | ${SOLIDARITY} snapshot`).then(result => {
      24 |       // check a few from the report
    > 25 |       expect(result).toMatchSnapshot()
      26 |       expect(result.code).toBe(0)
      27 |       done()
      28 |     })

      at _execa2.default.shell.then.result (__tests__/integration/solidarity-snapshot/snapshot-nada.ts:25:22)

Snapshot Summary
 › 5 snapshot tests failed in 2 test suites. Inspect your code changes or run `npm run test:ci -- -u` to update them.

Test Suites: 2 failed, 35 passed, 37 total
Tests:       5 failed, 155 passed, 160 total
Snapshots:   5 failed, 40 passed, 45 total
Time:        34.624s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test:ci: `jest --ci --runInBand && yarn test:extras`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-03-02T04_55_46_737Z-debug.log

yarn danger ci

yarn run v1.3.2
$ /home/travis/build/infinitered/solidarity/node_modules/.bin/danger ci
You may have updated from Danger 2.x -> 3.x without updating from `danger` to `danger ci`.
No issues or messages were sent. Removing any existing messages.
Done in 2.67s.

Travis tests have failed
Hey Gant,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.
Node.js: node
Node.js: 8

npm run test:ci

><EMAIL_ADDRESS>test:ci /home/travis/build/infinitered/solidarity
> jest --ci --runInBand && yarn test:extras

PASS __tests__/commands/snapshot.ts (16.698s)
PASS __tests__/command_helpers/checkRequirement.ts
PASS __tests__/command_helpers/updateRequirement.ts
PASS __tests__/command_helpers/reviewRule.ts
PASS __tests__/command_helpers/appendSolidaritySettings.ts
PASS __tests__/command_helpers/checkShell.ts
PASS __tests__/commands/solidarity.ts
PASS __tests__/command_helpers/checkRequirementPlugins.ts
PASS __tests__/integration/solidarity-check/check-valid.ts (20.73s)
PASS __tests__/command_helpers/getSolidaritySettings.ts
PASS __tests__/command_helpers/getVersion.ts
PASS __tests__/command_helpers/checkCLIForUpdates.ts
PASS __tests__/command_helpers/quirksNodeModules.ts
PASS __tests__/command_helpers/printResults.ts
PASS __tests__/command_helpers/removeNonVersionCharacters.ts
FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● solidarity report works

    expect(received).toBeTruthy()

    Expected value to be truthy, instead received
      false

      29 |       expect(result.stdout.includes('CPU')).toBeTruthy()
      30 |       expect(result.stdout.includes('Report Info')).toBeTruthy()
    > 31 |       expect(result.stdout.includes('yarn')).toBeTruthy()
      32 |       expect(result.stdout.includes('node')).toBeTruthy()
      33 |       expect(result.code).toBe(0)
      34 |       done()

      at then.result (__tests__/integration/solidarity-report/report-basic.ts:31:46)

PASS __tests__/command_helpers/updateVersions.ts
PASS __tests__/commands/create.ts
PASS __tests__/command_helpers/findPluginInfo.ts
PASS __tests__/command_helpers/getLineWithVersion.ts
PASS __tests__/command_helpers/checkCLI.ts
PASS __tests__/command_helpers/skipRule.ts
PASS __tests__/extensions/extensionCheck.ts
PASS __tests__/index.ts
PASS __tests__/commands/help.ts
PASS __tests__/command_helpers/checkENV.ts
PASS __tests__/integration/solidarity-snapshot/snapshot-nada.ts (5.147s)
PASS __tests__/command_helpers/checkDir.ts
PASS __tests__/command_helpers/checkFile.ts
PASS __tests__/command_helpers/setSolidaritySettings.ts
PASS __tests__/integration/solidarity-check/check-invalid.ts
PASS __tests__/command_helpers/solidarityReport.ts
PASS __tests__/commands/report.ts
PASS __tests__/command_helpers/createPlugin.ts
PASS __tests__/docs/testDocs.ts
PASS __tests__/command_helpers/binaryExists.ts
PASS __tests__/schema/validateExampleSchema.ts

Summary of all failing tests
FAIL __tests__/integration/solidarity-report/report-basic.ts
  ● solidarity report works

    expect(received).toBeTruthy()

    Expected value to be truthy, instead received
      false

      29 |       expect(result.stdout.includes('CPU')).toBeTruthy()
      30 |       expect(result.stdout.includes('Report Info')).toBeTruthy()
    > 31 |       expect(result.stdout.includes('yarn')).toBeTruthy()
      32 |       expect(result.stdout.includes('node')).toBeTruthy()
      33 |       expect(result.code).toBe(0)
      34 |       done()

      at then.result (__tests__/integration/solidarity-report/report-basic.ts:31:46)

Test Suites: 1 failed, 36 passed, 37 total
Tests:       1 failed, 159 passed, 160 total
Snapshots:   45 passed, 45 total
Time:        93.136s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test:ci: `jest --ci --runInBand && yarn test:extras`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-03-02T05_35_54_501Z-debug.log

yarn danger ci

yarn run v1.3.2
$ /home/travis/build/infinitered/solidarity/node_modules/.bin/danger ci
You may have updated from Danger 2.x -> 3.x without updating from `danger` to `danger ci`.
No issues or messages were sent. Removing any existing messages.
Done in 7.26s.


Refactor langchain4j-vearch

Issue

Closes #1954
Change

Refactor langchain4j-vearch with new REST API.
Support Metadata type: Long and Double.
Add request and response logging during http request.

After this refactor, the next step is to support filter and remove.
BTW, maybe this refactor is a breaking change because it change the constructor in VearchEmbeddingStore.

General checklist

[ ] There are no breaking changes
[x] I have added unit and integration tests for my change
[x] I have manually run all the unit and integration tests in the module I have added/changed, and they are all green
[x] I have manually run all the unit and integration tests in the core and main modules, and they are all green

[ ] I have added/updated the documentation
[ ] I have added an example in the examples repo (only for "big" features)
[ ] I have added/updated Spring Boot starter(s) (if applicable)

Checklist for changing existing embedding store integration

[x] I have manually verified that the {NameOfIntegration}EmbeddingStore works correctly with the data persisted using the latest released version of LangChain4j

@Martin7-1 this might be a good candidate for the community repo as well. Moreover, you are the author of this module

@Martin7-1 this might be a good candidate for the community repo as well. Moreover, you are the author of this module

Sure. I think so.

@Martin7-1 great, thank you! Should I close this PR then?

@Martin7-1 great, thank you! Should I close this PR then?

Yes. Just go ahead.


Splunk Connect pods consuming too much memory

We are seeing our pods are consuming a lot of memory over time.
NAME                                                        CPU(cores)   MEMORY(bytes)
splunk-dev-eks-splunk-kubernetes-logging-hkdkh              5m           206Mi
splunk-dev-eks-splunk-kubernetes-logging-hnzj2              7m           497Mi
splunk-dev-eks-splunk-kubernetes-logging-jf766              23m          350Mi
splunk-dev-eks-splunk-kubernetes-logging-k9fp5              9m           238Mi
splunk-dev-eks-splunk-kubernetes-logging-qr4dg              27m          827Mi
splunk-dev-eks-splunk-kubernetes-logging-rl4ct              73m          489Mi
splunk-dev-eks-splunk-kubernetes-metrics-6c469697f8-sr926   0m           76Mi
splunk-dev-eks-splunk-kubernetes-objects-bbccdd967-tp26s    30m          329Mi
For example splunk-dev-eks-splunk-kubernetes-logging-qr4dg  is already at 828MB and eventually goes up to at least 2GB.

Just a follow up on this one.
We were able to rectify by ensuring the filters and multiline regex rules were optimized.
So far so good.
Will be updating docs to assist in avoiding issues in the future


[Bug]: Remove double icon box in Team page

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

Double "Contact Us" icon box in "Team" page.
I want to Fixed this issue properly.
@mansiruhil13 please assign me this task.
Add Screenshots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

@4F24L please assign me this issue


Is there a wrong document or wrong codes  about RenderTexture ?

The doc says that  :
* A RenderTexture takes a snapshot of any Display Object given to its render method.
* The position and rotation of the given Display Objects is ignored.

But  I found when I render a sprite to an RenderTexture,  it couldn't ignore rotation.
My test code is very simple :
        var img = ResourcePool.get("rmbp");
        var texture = PIXI.Texture.from(img);
        var sprite = PIXI.Sprite.from(texture);
        sprite.tint = 0xFF0000;
        sprite.rotation = 0.8;
        sprite.position.set(10,10);
        sprite.scale.set(0.5, 0.5);
        sprite.anchor.set(0.5, 0.5);

        var renderTexture = PIXI.RenderTexture.create(800, 600);
        game.renderer.render(sprite, renderTexture);

        this.stage = new PIXI.Container();
        var tempSprite = PIXI.Sprite.from(renderTexture);
        this.stage.addChild(tempSprite);

        game.renderer.render(this.stage);

Only  position is ignored.
.

@staff0rd , I think this is not a question .
It's a Bug.
The bug of document or codes .

(removed)


WebChucK v1.2.9

Changes

Ability for preloadFiles to auto create virtual directories based on path (thanks @qlambert-pro)
WebChucK can now create virtual directories with createDirectory() (@qlambert-pro)
Introduce Accelerometer and Gyroscope classes for WebChucK on mobile (thanks @mulshine)
Bump to ChucK version <IP_ADDRESS> => <IP_ADDRESS>
misc. bug fixes

WebChucK Site Improvements

New and improved developer documentation
Added WebChucK version info to the website
Improved Website UX and load time

LGTM!


pydantic doesn't support inheriting from a type inheriting from TypedDict

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and still think this is a bug

Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
             pydantic version: 1.8.2
            pydantic compiled: True
                 install path: /usr/local/lib/python3.8/site-packages/pydantic
               python version: 3.8.5 (default, Jul 21 2020, 10:42:08)  [Clang 11.0.0 (clang-1<IP_ADDRESS>)]
                     platform: macOS-10.16-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions']

TypedDict supports inheritance, see https://www.python.org/dev/peps/pep-0589/#toc-entry-6, so I expected this to work:
import pydantic
from typing_extensions import TypedDict

class Base(TypedDict):
    base_field: str

class Deriv(Base):
    deriv_field: str

class Model(pydantic.BaseModel):
    typed_dict: Base

base_dict = Base(base_field="foo")
deriv_dict = Deriv(base_field="hello", deriv_field="world")
for d in base_dict, deriv_dict:
    m = Model(typed_dict=d)
    print(m.typed_dict)

But pydantic drops keys not in Base:
{'base_field': 'foo'}
{'base_field': 'hello'}

Replacing the type in the model with typed_dict: Union[Deriv, Base] helps:
{'base_field': 'foo'}
{'base_field': 'hello', 'deriv_field': 'world'}

But this is not scalable if there more types. The order in the Union also matters as Union[Base, Deriv] doesn't work.

This is the expected behavior. For TypedDict's the concept of inheritance doesn't exist, we want to make sure the fields are the ones defined in the defined type.

I think the ambiguity about the right thing to do here is an unfortunate consequence of the fact that type checkers seem to treat TypedDict differently than a typescript-style interface. In particular, type checkers allow instances of subclasses, but do not allow dicts with undefined fields. I would entertain an argument that pydantic should allow extra fields for TypedDict-annotated fields, but the strongest argument for that would be to get mypy to change its behavior.
In particular, it's still strange to me that even though at runtime there is functionally no difference in the two variants of the final line in the following snippet, but one is acceptable to mypy, and the other raises a type error
from typing_extensions import TypedDict

class BaseDict(TypedDict):
    field1: str

class SubDict(BaseDict):
    field2: str

def f(x: BaseDict):
    print(x['field1'])

f(SubDict(field1='abc', field2='def'))  # no mypy errors
f(dict(field1='abc', field2='def'))  # mypy error: Extra key "field2" for TypedDict "BaseDict"  [typeddict-unknown-key]

While I understand where @Kludex is coming from pointing out that this is related to issues with the nature of TypedDict, I think that given there is no way to distinguish between these two cases at runtime but one of them is acceptable to mypy,  there is an argument to be made for allowing "extra" (and, in particular, keeping the values around) on typeddicts by default (rather than ignoring/forbidding it by default).
Given that, I'd like to re-open this issue and get @samuelcolvin's input before closing.
(For context, I'm not suggesting we change the default behavior of pydantic_core.typed_dict_schema or whatever; just when we create a core schema for a subclass of typing.TypedDict via pydantic, I'm thinking it might make sense for extra='allow' to be the default config setting.)

Also cc: @adriangb since you have been paying close attention to some of the TypedDict stuff in mypy world, etc.

It's true that inheritance w/ TypedDict has a lot of warts. We fixed some of that in typing-extensions and 3.12, so it might be better going forward.
Generally, I agree with you @dmontagu: I don't think there's any situation in which having extra keys hurts unless you're unpacking the dict into something that expects them. I do think when we serialize we should remove them.

@adriangb good point about serialization, definitely should not include the extra keys when serializing according to a schema defined using the "subclass". (Basically the same behavior as we would do for subclasses of models now)

We’re no longer actively developing Pydantic V1 (although it will continue to receive security fixes for the next year or so), so we’re closing issues solely related to V1. If you really think this shouldn’t be closed, please comment or create a new issue 🚀.


Tab separated output

*_results.csv files are now tab separated

lgtm

ml_ops.sh is still producing a results file at the end:
move results to hdfs.
cd ${LPATH}
hadoop fs -getmerge ${HDFS_SCORED_CONNECTS}/part-* ${DSOURCE}_results.csv && hadoop fs -moveFromLocal
${DSOURCE}_results.csv  ${HDFS_SCORED_CONNECTS}/${DSOURCE}_results.csv
shall we still call it *_results.csv? or change to *_results.tsv to keep consistency name/content?

I'll be applying the corresponding changes to the OA on all affected pipelines (Proxy, Flow and DNS) to match this new file structure

so, the thing about calling it a tsv is that it kind of nails us down to a tab-separated file and I was thinking of letting the delimiter be configurable.... also, "csv" often means "character separated values" so the name applies regardless of the character used


Added Avalonia.ForTestingOnly to InternalsVisibleTo list

Required for prototyping stuff out-of-tree and other purposes.
Do not use in nuget libs.

You can test this PR using the following package version. 11.0.999-cibuild0039069-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]


Couldn't recognize the field dt on BlockTransaction

Could not recognize the field "dt", for any fields on AlgoSdk.BlockTransaction

This requires a feature addition to see internal transactions.


Query

I completed building a model in snorkel, how to use it on new data?
@jason-fries  @ajratner

Hi!
This question might provide more info beyond the examples in the tutorials: https://github.com/HazyResearch/snorkel/issues/861


Unable to Authenticate Function App and Web App Services

I am a beginner with azure services. I have replicated all the steps demonstrated in this example.
I am unable to authenticate Function App and Web App from the code here. can someone help me with this.

Can you share the exact error message that is occurring when you run the JfkInitializer project?  It would also be helping if you set the DebugMode boolean flag to true to get additional details on what is going wrong.

I have set debug mode to true and tried to debug the code. I am getting 401 unauthorized error while authenticating Function App and Web App. I am confused if i am passing wrong Username and Password through config. Which Username and Password to provide here.

You should be getting the username and password as part of step 9 of the instructions in the README (i.e. they will be output as part of the deployment template so you don't need to search for them).  Here are some additional instructions on where to find these credentials in the Azure portal if needed for some reason: https://docs.microsoft.com/en-us/azure/app-service/deploy-configure-credentials#appscope

I was trying multiple things and i tried these FTP Creds also. i tried app creds and user creds also but nothing seems to work.

how can i remove user creds from app service ?

If you deploy and use the apps that created as part of the instructions as explicitly written in this repo, then you should have no issues. If you are trying to use an app service that you created separately, there are no guarantees on it being able to work.

Thank you. Issue is now solved 👍


[Keyvault] deprecate soft-delete

Resource Provider

Keyvault team will deprecate soft-delete at July 27th. CLI need to deprecate it also
Description of Feature or Work Requested

Minimum API Version Required

Swagger Link

Target Date

working with service team to get more info: when they're going to remove the property from Swagger. What's the behavior before the property is removed from Swagger.

hi @bim-msft what's status of this issue? is deprecating message added to the param?


Fix: SelectStateOptions is not exported in .d.ts

Closes https://github.com/adobe/react-spectrum/issues/4460
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

GET_BUILD

Not sure why the CLA check is stuck, gonna close and reopen

Gonna close+reopen one more time to try and get the CLA status

Don't know why the CLA is stuck, I'm going to open this as a complete new PR and I'll close this one after


MML-227 Datepicker: Restrict format values

Restrict possible date format placeholders to 'M', 'd', and 'y'. Right now it is possible to add seconds, minutes, etc, which can create issues and confusion.

It always interesting to provide details in the commit message to understand why the change was made (here we have the reference to the ticket but that is one extra step and you might not have access to it, like I do)

Added


Fix PoSH script to unregister serverendpoint

Current PoSH is incorrect in 3 places:
a) We need the -ResourceGroupName parameter in both the Get-AzStorageSyncGroup and Get-AzStorageSyncServerEndpoint cmdlets (they are missing)
b) $SyncGroup.Name Name is not a valid property of object type AzStorageSyncGroup $SyncGroup.SyncGroupName
c) $.DisplayName is not a valid object property for AzStorageSyncServerEndpoint changed to $.FriendlyName

@ryschwaMSFT : Thanks for your contribution! The author, @wmgries, has been notified to review your proposed change.

This has been fixed in a different way. #please-close @roygara


Display Chinese have a problem？

The figure I show up with a red box labeled that “周”，instead “周一、周二、周三...”.I do not know what went wrong, please take a look at the trouble

#29 is supposed to fix this.
I don't speak nor read Chinese so it's hard to judge for me, but comparing that pull request with your comment, it looks like it will do the job.
Please reopen this if the next release doesn't solve the issue.


Wall splitting and join works only in active scene

Describe the issue
Trying to split or join a wall in a scene that is not active fails.
To Reproduce
Steps to reproduce the behavior:
On a new world with only DF Architect and its dependencies active:

Create a new scene.

View the new scene, but do not activate.

Create a wall in the scene.

Select the wall and click the split button: fails.

Set scene to active.

Select the wall and click the split button: creates split.

Re-ordering / changing the priority of DF Architect and Lib-ColorSettings does not appear to make a difference.
Expected behavior
I would expect that walls can be split or joined in non-active scenes.
Screenshots (Optional)

Im having the same issue, when its not active Im getting the following errors like the wall object doesn't exist but it does to select and delete it.
Uncaught (in promise) Error: The key Gpg6hbHaV4ufeakW does not exist in the EmbeddedCollection Collection
at Map.get (collection.mjs:106)
at ClientDatabaseBackend._preDeleteDocumentArray (foundry.js:8955)
at ClientDatabaseBackend._deleteEmbeddedDocuments (foundry.js:8931)
at ClientDatabaseBackend.delete (backend.mjs:214)
at async Function.deleteDocuments (document.mjs:402)
backend.mjs:306 Foundry VTT | Deleted Wall with id [Gpg6hbHaV4ufeakW] in parent Scene [BjKuCKEioUyJ5nxE]
backend.mjs:306 Foundry VTT | Created Wall with id [0e14y5fFewhooAih] in parent Scene [BjKuCKEioUyJ5nxE]
collection.mjs:106 Uncaught (in promise) Error: The key 0e14y5fFewhooAih does not exist in the EmbeddedCollection Collection
at Map.get (collection.mjs:106)
at ClientDatabaseBackend._preDeleteDocumentArray (foundry.js:8955)
at ClientDatabaseBackend._deleteEmbeddedDocuments (foundry.js:8931)
at ClientDatabaseBackend.delete (backend.mjs:214)
at async Function.deleteDocuments (document.mjs:402)
get @ collection.mjs:106
_preDeleteDocumentArray @ foundry.js:8955
_deleteEmbeddedDocuments @ foundry.js:8931
delete @ backend.mjs:214
Promise.then (async)
step @ df-architect.js:19
(anonymous) @ df-architect.js:19
__awaiter$4 @ df-architect.js:19
_splitWalls @ df-architect.js:19
_onClickTool @ foundry.js:27425
🎁call_wrapped @ libWrapper-wrapper.js:465
(anonymous) @ df-architect.js:27
(anonymous) @ df-architect.js:27
__awaiter$8 @ df-architect.js:27
🎁SceneControls.prototype._onClickTool#df-architect @ df-architect.js:27
🎁call_wrapper @ libWrapper-wrapper.js:574
🎁SceneControls.prototype._onClickTool#0 @ libWrapper-wrapper.js:162
dispatch @ jquery.min.js:2
v.handle @ jquery.min.js:2
collection.mjs:106 Uncaught (in promise) Error: The key 0e14y5fFewhooAih does not exist in the EmbeddedCollection Collection
at Map.get (collection.mjs:106)
at ClientDatabaseBackend._preDeleteDocumentArray (foundry.js:8955)
at ClientDatabaseBackend._deleteEmbeddedDocuments (foundry.js:8931)
at ClientDatabaseBackend.delete (backend.mjs:214)
at async Function.deleteDocuments (document.mjs:402)

I'll also mention something I have noticed recently as well. The L and R labels do not update properly when the scene is not the active scene.
It appears to be that the non-active scene has many waking issues. I'll have to investigate and try to figure out why a scene acts so differently when it is not the active one.

Same issue here, confirmed activating the scene functions as a temporary workaround.


ansible-srl blog post

@hellt  the diagrams may need fixing. Maybe better to have them in the learn-srlinux repo?

@wdesmedt thank your for your contribution.
I left a comment explaining how I add graphics and here is a color palette you can stick to to maintain visual coherence https://gitlab.com/rdodin/pics/-/wikis/colors


[Traefik Plugin Catalog] Plugin Analyzer has detected a problem.

The plugin was not imported into Traefik Plugin Catalog.
Cause:
the import "github.com/Saman-jafari/correlation-traefik" must be related to the module name "github.com/saman-jafari/correlation-traefik"

Traefik Plugin Analyzer will restart when you will close this issue.
If you believe there is a problem with the Analyzer or this issue is the result of a false positive, please contact us.

.traefik.yml updated with naming correction


Implemented tests

Based on #2 (thanks to @FritsvanCampen’s contribution)
Perhaps naive suggestions… looking forward to feedback.

Dropped Babel development dependencies given .ts and .tsx files are transpired by TypeScript when one runs npm run code or npm run build
Added files property to package.json to not include test files during packaging
Renamed index.test.tsx to test.tsx (personal preference)
Incremented semver to beta release (thanks to tests)
Applied Prettier project styling

Dropped Babel development dependencies given .ts and .tsx files are transpired by TypeScript when one runs npm run code or npm run build

Build is part of publishing and can be separate from development. Not having babel makes development a little bit more difficult because you have to build in between test runs. It breaks jest --watch for instance. But, considering this library shouldn't ever have a large code base it doesn't really matter.
I think you forgot to drop @babel/core as a dependency.

Incremented semver to stable release

Wonderful!

Build is part of publishing and can be separate from development.

I agree package and tests should be isolated. Full disclosure, I know little about React development.
Given src/index.test.tsx file was in src folder, file was transpiled and included in build folder when npm run code or npm run build ran… hence why I suggested dropping Babel dependencies given lack of isolation.
That said, I would love to learn how to better isolate tests.
Perhaps you have suggestions?

How most ts repos seem to do it is to have a publish action which builds the js files and then publishes that. This means the build files are never part of the repository. I don't think it's necessary to set something like that up so manually updating the build files is fine, but that means we need to make sure our configs are set up to deal with it.
I do think it is a good idea to keep full typescript support in development - so don't test the build artifacts.
To prevent jest from running the test files in build/ we need some config to ignore that.
Maybe something like testMatch: [ "src/**" ] works?
If ts dev support isn't added I would change the test script to: test: "npm run build; jest build/test.js" to make it clear how it's supposed to work.
It's up to you really, what you have now works but I think that's not how people would expect it to work.


Modify STAKE_POOL_NEXT_01 not to fail due to inability to spend rewards in Jormungandr

Issue Number

Overview

8f79d8b7ded18827a75b1b02f886e5a6de9ee958
Modify STAKE_POOL_NEXT_01 not to fail due to inability to spend rewards in Jormungandr

Comments

bors r+


Pro users should not have any autocomplete or chat limits

We are not moving the Cody Manage and onboarding from dotcom to SSC. This is already solved in the current version.


getting panic on wrong expression

i'm getting panic on bad jsonpath expression  syntax: $[*].{}, expecting to get error not panic :)
json example:
[
  {
    "Name": "sds-sds",
    "BackendName": "sd",
    "ID": "i-0sdsd44c0",
    "PublicIP": "<IP_ADDRESS>",
    "PrivateIP": "<IP_ADDRESS>",
    "Status": "Running",
    "Type": "r5d.large"
  }
]

// example of struct
type Instance struct {
  ID          string
  BackendName string
  Name        string
  Type        string
  Status      string
  PrivateIP   string
  PublicIP    string
}

items := make([]*Instance, 0)

...

expr, err := jp.ParseString("$[*].{}")
if err != nil {
	return err
}

out, err := oj.Marshal(items), &oj.Options{Indent: 2, KeyExact: true})
if err != nil {
	return err
}

panic: reflect: call of reflect.Value.CanInterface on zero Value

goroutine 1 [running]:
reflect.Value.CanInterface(...)
        /usr/local/opt/go/libexec/src/reflect/value.go:1005
github.com/ohler55/ojg/jp.Expr.reflectGetChild(0xc0004f22c0, 0x3, 0x4, 0x2f01e60, 0xc0004e43f0, 0xc000494878, 0x2, 0x4, 0x2e6760f, 0x4)
        /Users/shareed2k/go-workspace/pkg/mod/github.com/ohler55/ojg@v1.4.1/jp/get.go:1145 +0x38d
github.com/ohler55/ojg/jp.Expr.Get(0xc0004f22c0, 0x3, 0x4, 0x3102880, 0xc0004db700, 0x4, 0x0, 0x0)
        /Users/shareed2k/go-workspace/pkg/mod/github.com/ohler55/ojg@v1.4.1/jp/get.go:66 +0x66fe
github.com/shareed2k/honey/pkg/place/printers.Print(0xc00035fca0, 0x4, 0x4)
        /Users/shareed2k/golang_projects/honey/pkg/place/printers/printer.go:61 +0x759
github.com/shareed2k/honey/pkg/place/operations.Find(0x370d060, 0xc0000520a0, 0xc0004db440, 0x2, 0x2, 0x7ffeefbff1ed, 0x5, 0x0, 0x7ffeefbff1f5, 0x10, ...)
        /Users/shareed2k/golang_projects/honey/pkg/place/operations/find.go:75 +0x2d2
github.com/shareed2k/honey/cmd.glob..func1(0x441e5a0, 0xc000443d60, 0x0, 0x5, 0x0, 0x0)
        /Users/shareed2k/golang_projects/honey/cmd/root.go:44 +0xad
github.com/spf13/cobra.(*Command).execute(0x441e5a0, 0xc00004e250, 0x5, 0x5, 0x441e5a0, 0xc00004e250)
        /Users/shareed2k/go-workspace/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:850 +0x47c
github.com/spf13/cobra.(*Command).ExecuteC(0x441e5a0, 0x1046ab7, 0x43b0c80, 0xc000000180)
        /Users/shareed2k/go-workspace/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:958 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
        /Users/shareed2k/go-workspace/pkg/mod/github.com/spf13/cobra@v1.1.1/command.go:895
github.com/shareed2k/honey/cmd.Execute()
        /Users/shareed2k/golang_projects/honey/cmd/root.go:53 +0x3b
main.main()
        /Users/shareed2k/golang_projects/honey/main.go:10 +0x25

The {} is not valid syntax but there should not be a panic. I'll get that fixed right away.

I wasn't sure what the code above was trying to do but after some trial and error on the pieces you had I can up with a unit test that does panic. On the way to fixing it now. The test is:
	type Instance struct {
		ID          string
		BackendName string
		Name        string
		Type        string
		Status      string
		PrivateIP   string
		PublicIP    string
	}
	items := []*Instance{
		{
			Name:        "sds-sds",
			BackendName: "sd",
			ID:          "i-0sdsd44c0",
			PublicIP:    "<IP_ADDRESS>",
			PrivateIP:   "<IP_ADDRESS>",
			Status:      "Running",
			Type:        "r5d.large",
		},
	}
	expr, err := jp.ParseString("$[*].{}")
	tt.Nil(t, err)
	_ = oj.JSON(expr.Get(items))

Fixed in branch bug/get-nothing. Please give it a try and I will make a release if you don't have any problem with the branch.

now if i will try to pass invalid syntax $[*].{.dfs}sd33434 it should return error? cause now it just return an empty json array ?

So that path when broken down is any array element on root followed by a object entry with a key of { which is then followed by a key of dfs}sd33434. The path implementation allows '{' and '}'. I had to double check to confirm that in the code. If you are using the resultant path expression there are no matches in your data and an empty slice is returned.
What call are you making that you expect and error from?

ok never mind, all good now, another question not related to this issue, there any way to add flag to lower case the keys or maybe some hook function  to transform keys ?

Do you mean to make the path search be case insensitive? That might be a nice option if that is what you mean. Or do you mean to have code that modifies JSON to make all keys lowercase?

yes I mean to modify all json keys to lowercase

That's not really something that belongs in OjG but if you would like some code to do that I would be glad to put together a simple function to do that.

There is most likely room for improvement but this should change a parsed JSON into all lower case keys:
func lower(val interface{}) {
	switch tv := val.(type) {
	case map[string]interface{}:
		for k, v := range tv {
			lower(v)
			lo := strings.ToLower(k)
			if lo == k {
				continue
			}
			delete(tv, k)
			tv[lo] = v
		}
	case []interface{}:
		for _, v := range tv {
			lower(v)
		}
	}
}

Can this be closed?

Yes please

Thank you


Implement the download_file widget action

Implements usage of the download_file action of the Widget API.
See MSC4039 .
Also moves the UploadImagePage page to ImagePage since it now demos up- and download of content.
Needs https://github.com/matrix-org/matrix-react-sdk/pull/12931

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages (more info).
[x] Added or updated documentation.
[ ] Tests for new functionality and regression tests for bug fixes.
[ ] Screenshots or videos attached (for UI changes).
[x] All your commits have a Signed-off-by line in the message (more info).

test setup: https://github.com/matrix-org/matrix-widget-api/pull/99#issuecomment-2314962447

matrix-widget-api was merged and released as 0.9.0, matrix-react-sdk was merged and is slated for the next element-web release cycle (RC on 2024-09-03 and release on 2024-09-10).

one missing part appears
diff --git a/example-widget-mui/src/ImagePage/ImagePage.test.tsx b/example-widget-mui/src/ImagePage/ImagePage.test.tsx
index 69233d9..9842b7a 100644
--- a/example-widget-mui/src/ImagePage/ImagePage.test.tsx
+++ b/example-widget-mui/src/ImagePage/ImagePage.test.tsx
@@ -95,6 +95,7 @@ describe('<ImagePage>', () => {
         ROOM_EVENT_UPLOADED_IMAGE,
       ),
       WidgetApiFromWidgetAction.MSC4039UploadFileAction,
+      WidgetApiFromWidgetAction.MSC4039DownloadFileAction,
       WidgetApiFromWidgetAction.MSC4039GetMediaConfigAction,
     ]);


arm_barycenter_f32 problem in Python wrapper

The function is crashing on Mac and Linux (segmentation fault).
It is working on Windows.
(testdsp5.py to reproduce the issue).

Solved


Feature Request: Provide option to copy ClassName, ClassName::method()

I find myself if I explain something to somebody to fairly often need to refer to a Specific class in different ways:

Namespace\And\ClassName
Namespace\And\ClassName::method()
Namespace\And\ClassName::method(mixed $parameter mixed $signature): ReturnType
ClassName
ClassName::method()
ClassName::method(mixed $parameter mixed $signature): ReturnType

It would be cool if this extension could provide these options, since it already provide copying the namespace.

Sorry missunderstood this, to be able to copy class method namespace reference we'll probably need a full language server and that's something this extension doesn't have/provide.

If the Whole method signature thing is too much, maybe we can still get the classname? That shouldn't be much more complicated than the namespace, no?


Integration tests

This is currently a work in progress where I try to add the initial code for our integration tests. Expect things to change until this is ready.
To run all tests
./tests/integration/build.ps1

./tests/integration/build.sh
```

#### To run a single test

```
./tests/integration/build.ps1 -Target "Cake.Common.IO.DirectoryAliases.CreateDirectory"
```
```
./tests/integration/build.sh -t "Cake.Common.IO.DirectoryAliases.CreateDirectory"
```

#### To skip building of Cake before running tests

./tests/integration/build.ps1 -SkipBuildingCake

./tests/integration/build.sh -s

This require Cake to be present somewhere under `./build/`.

Closes #362

@patriksvensson great, going to test some more, but currently when I run ./tests/integration/build.ps1 in repo root I get an error
Could not find script 'C:/temp/dev/gh/devlead/cake/windows.cake'.
See it exists in tests/integration/windows.cake so likely just an path issue.

@devlead Ah, actually only run the script from the drectory itself so it's probably a working dir thing. Let me take a look.

Works if I run in folder, so we should just pushd, cd & popd.

@devlead Made a mistake. Setting the absolute path to the script from the bootstrapper worked fine.

@devlead Will push in 1 min. Just going to verify on OS X as well.

@patriksvensson LGTM :+1: , I'll merge as soon as travis passes.


[TC-IDM-2.1]-SDK support required for the test step 16 in Read Request Action from DUT to TH test case.

Test-Case ID
[TC-IDM-2.1] Read Request Action from DUT to TH [DUT - Controller]
Problem
As per Test-Plan, test step 16 is expecting "DUT should sends the Read Request Message to the
TH to read any data which is larger than 1 MTU(1280 bytes)"  was out of scope for TE-8 and doesn't had the verification steps.

PFA Test-plan Screenshot:

Do we have the SDK developed to support these steps? If it is , please share the verification steps for the same.

Test Plan reference :
https://github.com/CHIP-Specifications/chip-test-plans/blob/master/src/interactiondatamodel.adoc#312-tc-idm-12-invoke-response-action-from-dut-to-th

@Rajashreekalmane @mrjerryjohns   It is unclear to me that there is anything to do here, expect picking up the right attribute that is a list with enough data ? Or even do a read of multiple elements such as ./out/debug/standalone/chip-tool any read-by-id 0xFFFFFFFF 0xFFFFFFFF 0x12344321 1 and observe that there is multiple chunked messages ?


add metapath count in node search results

Note that I took out the identifier field from the search results. Does anyone really know those by heart such that they would recognize them? I know our search includes the identifier field too, but I don't envision people needing that there? It looks a bit crowded with both the metapath count and the identifier.

Note that I took out the identifier field from the search results. Does anyone really know those by heart such that they would recognize them?

The nice thing about the identifier is that they often provide additional information to domain experts about the node. For example, DOID:453 allows the user to see that it's a Disease Ontology term. That being said, I don't think it's essential to include this in the search, especially if you think it's making the search process less effective by information overload / crowding.

What symbol / character is that? It reminds me of a code fork or other type of split from a common ancestor situation. Not sure it's the best here.

That being said, I don't think it's essential to include this in the search, especially if you think it's making the search process less effective by information overload / crowding.

It can be added back in pretty easily, so we can do that on request.

What symbol / character is that? It reminds me of a code fork or other type of split from a common ancestor situation. Not sure it's the best here.

I couldn't find any other fontawesome icons that fit better. If you can find one, it's an easy swap. Otherwise I can make a custom icon.

I am okay with merging now, but think we should update the icon at later date (or before merging if there's a quick solution).

I can probably whip something up pretty quick. Please do look through fontawesome though.
Also side note, maybe the lab should invest in a font awesome pro subscription. Of course if we ever let our subscription lapse, the icons no longer appear (i guess). But we also have to continue paying for the backend servers to keep it all working.

I made a custom icon. Why didn't circleci rerun for my latest commit.

I don't know why the latest commit doesn't triiger CircleCI test. Can you try it again?

From https://status.circleci.com/, "Experiencing Issues with GitHub Notifications".

Here is a screenshot in the meantime

Also side note, maybe the lab should invest in a font awesome pro subscription. Of course if we ever let our subscription lapse, the icons no longer appear (i guess).

My main worry about this is creating things that depend on proprietary assets and thus are no longer open source. For example, we don't want there to be a barrier to someone forking and modifying the websites because then they incur some fontawesome cost. I don't understand how the licensing works here, so if this is not an issue, then happy to use the pro font awesome.

I made a custom icon.

Nice.

My main worry about this is creating things that depend on proprietary assets and thus are no longer open source.

Yes that's a good point. Even if they allowed distributing the pro icons as part of an open source package, the pro icons themselves still (presumably) wouldn't be accessible to people trying to fork it.


Parallel ScriptEngine script compilation

Using the ScriptEngine API to compile scripts fails when called from different threads.
This is because the GraalJSBindings of the engine context are accessed during compilation, leading to at least three different types of errors:

 Exception in thread "main" java.lang.NullPointerException
 	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
 	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
 	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
 	at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:542)
 	at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:567)
 	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:670)
 	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
 	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
 	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
 	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765)
 	at Test.main(Test.java:25)
 Caused by: java.lang.NullPointerException: Cannot invoke "java.util.Map.entrySet()" because "this.global" is null
 	at com.oracle.truffle.js.scriptengine.GraalJSBindings.entrySet(GraalJSBindings.java:198)
 	at java.base/java.util.AbstractMap.containsKey(AbstractMap.java:148)
 	at java.scripting/javax.script.SimpleScriptContext.getAttribute(SimpleScriptContext.java:158)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.createSource(GraalJSScriptEngine.java:462)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.compile(GraalJSScriptEngine.java:653)
 	...

 java.lang.IllegalStateException: Multi threaded access requested by thread Thread[#32,ForkJoinPool.commonPool-worker-10,5,main] but is not allowed for language(s) js.
 	at com.oracle.truffle.polyglot.PolyglotEngineException.illegalState(PolyglotEngineException.java:133)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.throwDeniedThreadAccess(PolyglotContextImpl.java:1392)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.checkAllThreadAccesses(PolyglotContextImpl.java:1058)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.enterThreadChanged(PolyglotContextImpl.java:884)
 	at com.oracle.truffle.polyglot.PolyglotEngineImpl.enterCached(PolyglotEngineImpl.java:2080)
 	at com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:109)
 	at com.oracle.truffle.api.impl.DefaultCallTarget.callDirectOrIndirect(DefaultCallTarget.java:85)
 	at com.oracle.truffle.api.impl.DefaultCallTarget.call(DefaultCallTarget.java:102)
 	at com.oracle.truffle.polyglot.PolyglotMap.entrySet(PolyglotMap.java:124)
 	at com.oracle.truffle.js.scriptengine.GraalJSBindings.entrySet(GraalJSBindings.java:198)
 	at java.base/java.util.AbstractMap.containsKey(AbstractMap.java:148)
 	at java.scripting/javax.script.SimpleScriptContext.getAttribute(SimpleScriptContext.java:158)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.createSource(GraalJSScriptEngine.java:462)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.compile(GraalJSScriptEngine.java:653)
 	...
 	Suppressed: Attached Guest Language Frames (1)

 java.lang.IllegalStateException: Multi threaded access requested by thread Thread[#44,ForkJoinPool.commonPool-worker-11,5,main] but is not allowed for language(s) js.
 	at com.oracle.truffle.polyglot.PolyglotEngineException.illegalState(PolyglotEngineException.java:133)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.throwDeniedThreadAccess(PolyglotContextImpl.java:1392)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.checkAllThreadAccesses(PolyglotContextImpl.java:1058)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.enterThreadChanged(PolyglotContextImpl.java:884)
 	at com.oracle.truffle.polyglot.PolyglotEngineImpl.enterCached(PolyglotEngineImpl.java:2080)
 	at com.oracle.truffle.polyglot.PolyglotEngineImpl.enterIfNeeded(PolyglotEngineImpl.java:2008)
 	at com.oracle.truffle.polyglot.PolyglotValueDispatch.hostEnter(PolyglotValueDispatch.java:1256)
 	at com.oracle.truffle.polyglot.PolyglotContextImpl.parse(PolyglotContextImpl.java:1649)
 	at com.oracle.truffle.polyglot.PolyglotContextDispatch.parse(PolyglotContextDispatch.java:65)
 	at org.graalvm.polyglot.Context.parse(Context.java:483)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.checkSyntax(GraalJSScriptEngine.java:680)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.compile(GraalJSScriptEngine.java:664)
 	at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.compile(GraalJSScriptEngine.java:654)
 	...

How to reproduce
Here is a simple reproducer: reproducer.zip
Commented out lines work around these issues (explained below).
Possible workaround

Synchronize on the engine bindings to fix all compliation errors:synchronized (scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE)) {
  ((Compilable) scriptEngine).compile(jsScript);
}

Add this line right after instantiating the script engine:scriptEngine.getBindings(ScriptContext.ENGINE_SCOPE).entrySet();

It resolves compilation slowdowns by initializing the GraalJSBindings context early.
Synchonization from 1) somehow does not take care of this internal race condition. Maybe it's a thread visibility issue, not sure.

Another workaround would be to just replace the engine bindings with SimpleBindings, but this massively degrades script compilation performance, because the engine will then create new GraalJSBindings + context per compilation.
Solution?
Synchronize on the context here
https://github.com/oracle/graaljs/blob/39b63b9a2202e1c10248357161ea5e63e2934792/graal-js/src/com.oracle.truffle.js.scriptengine/src/com/oracle/truffle/js/scriptengine/GraalJSScriptEngine.java#L462 and here
https://github.com/oracle/graaljs/blob/39b63b9a2202e1c10248357161ea5e63e2934792/graal-js/src/com.oracle.truffle.js.scriptengine/src/com/oracle/truffle/js/scriptengine/GraalJSScriptEngine.java#L680
Maybe additional synchronization here would fix performance issues from 2):
https://github.com/oracle/graaljs/blob/39b63b9a2202e1c10248357161ea5e63e2934792/graal-js/src/com.oracle.truffle.js.scriptengine/src/com/oracle/truffle/js/scriptengine/GraalJSBindings.java#L88-L92

Using the ScriptEngine API to compile scripts fails when called from different threads.

A ScriptEngine (similar to Java Collection) may or may not be thread safe. If it is not explicitly documented to be thread safe then you should assume that it is not. ScriptEngine provided by graal-js is not thread safe. So, if you want to use it from multiple threads then it is up to you to ensure that it is not used concurrently.
BTW: ScriptEngine API gives you a hint on whether a particular implementation is thread safe through ScriptEngineFactory.getParameter("THREADING"), see the JavaDoc of this method.

The JavaDoc only mentions executing script, not compiling them. Compilation afaik does not include execution of scripts.
Do you see dangers in compiling scripts concurrently via the mentioned workaround?

The JavaDoc only mentions executing scripts, not compiling them.

That's why I wrote that it gives you a hint. If you want to be that strict about wording then you can try to find any JavaDoc saying that a multi-threaded usage of other parts (like the compile() method) of the scripting API is thread safe ;-).

Do you see dangers in compiling scripts concurrently via the mentioned workaround?

As I mentioned above, if you want to use our ScriptEngine from multiple threads then you should not do so concurrently.
You may also want to know that no compilation (just parsing) takes places when the compile() method is invoked. We compile just the frequently used methods and the compilation is based on the information collected during the execution of these methods. Considering that there was no execution yet, there is no useful code that we can produce.
On the other hand, the usage of compile()/CompiledScript is recommented because once some hot method is compiled then the compiled code is linked with the corresponding CompiledScript object. If you keep this object alive then you keep the compiled code alive. If you execute some script repeatedly without the usage of CompiledScript, you risk garbage collection of profiling/compilation data (and new profiling/compilation of the script).


The default window title and icon are flashed before the custom ones

The window pops up with the default kivy icon and title ('Kivy') before the custom ones are applied to the window, seen on Windows.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Only solution I could find is to remove hard-coded title value from Window core (https://github.com/kivy/kivy/blob/master/kivy/core/window/init.py#L507) and inject values from Config module. Also, it might be necessary to be more consistent with such settings. Why can we set icon from app, window and config? If ConfigParser is loaded before Window is created there is no reason why we can fetch the values directly from it.
My 2 cents, this is not easy, remove label please. Gotcha, I dunno if this impacts older versions of Kivy or not.

Still present in master branch https://github.com/kivy/kivy/blob/67d02cdcd7f077bdf7f6c9568c4720aef2746dcd/kivy/core/window/init.py#L840

Still present in master branch

@Julian-O
I set the title in build and have not had this issue on WIndows or Mac.
The app icon should be set using the config object, to avoid the icon flashing.  My apps that target Mac and Windows use the code below.
if platform == 'macosx':
    Config.set('kivy', 'window_icon','Images/app_logo_512.png') # macos uses a 512x512 png
else:
    Config.set('kivy', 'window_icon','Images/app_logo_64.png')  # Windows uses a small 64x64 png

@ElliotGarbus: I am just saying that code, which defaults to 'Kivy' as a title is still present. It would be interesting to learn if is still flashing, just very quickly, or that problem is solved.
Meanwhile the unclear icon sizing should be document with an example like yours.
I am surprised an .ico file doesn't work on Windows. It is designed for precisely this situation, and may include multiple sizes. Supporting ico (as well as png) seems appropriate. Supporting .ico on other platforms sounds like it would be simple too.

There are two issues here. Leaving this one as the flashing icon. Creating a new one for icon size issues.

@Julian-O
The .ico file on Windows, and .incs file for MacOS are used in pyinstaller to associate the Icon with the exe (or .app).
I've found I need to use both the icon file and a png.
The title does not flash.

@ElliotGarbus: Understood. There is a need for an icon before the app loads, and then another one that is requested when the app loads. Further discussion on this should be in #8456,
Meanwhile I am closing this issue about the flashing of the title and icon, because, as described above, it doesn't happen any more.
The OP, Dessant, is no longer on the project, but if anyone else sees this behaviour continuing, please let us know.


ci: add workflow automation to webkitgtk-sdk

Also branch needs to be renamed to 2204

Mostly looks good, though there was a failure in CI for the sdk snap. I've re-run the job for now, but we'll need to make sure that's green before merging. Thanks! :)


glide-media-player: 0.6.2 -> 0.6.3

Description of changes
Tested
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Letting ofBorg help me test builds on darwin, I will go to bed

Result of nixpkgs-review pr 298949 run on aarch64-linux 1

1 package built:

glide-media-player


Windows Package Manager v1.1.12653

Discussed in https://github.com/microsoft/winget-cli/discussions/1515

Originally posted by denelon September 28, 2021
This release represents our Windows Package Manager 1.1 release candidate build for Windows 10 (1809+).
Experimental features have been disabled in this release. We will follow this release with another Pre-release "developer" build at GitHub so users can continue with experimental features available.
Bugs
#797 Silent install of "winget install git.git" is not working
#1497 Make rename retry more frequently for longer, then try making a hardlink
This discussion was created from the release Windows Package Manager v1.1.12653.

Was this opened by accident?


MLP: Check for 1-hot encoding of dependent variable for minibatch

This commit adds a check to make sure that the dependent variable for mlp
minibatch is one hot encoded. This only validates that the dependent
variable array has more than 1 value.
Co-authored-by: Orhan Kislal<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/439/


sqlservercache command fails to run due to runtime compatibility check

C:\>sqlservercache
System.InvalidOperationException: The current runtime target framework is not compatible with 'app'.
Current runtime target framework: 'DNX,Version=v4.5.1 (dnx451)'
 Version:      1.0.0-rc1-16231
 Type:         Clr
 Architecture: x64
 OS Name:      Windows
 OS Version:   10.0
 Runtime Id:   win10-x64

Please make sure the runtime matches a framework specified in project.json
   at Microsoft.Dnx.ApplicationHost.DefaultHost.GetEntryPoint(String applicationName)
   at Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args)
   at Microsoft.Dnx.ApplicationHost.Program.Main(String[] args)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider)
   at Microsoft.Dnx.Host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env, String appBase, FrameworkName targetFramework)
   at Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, BootstrapperContext bootstrapperContext)
   at Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, BootstrapperContext bootstrapperContext)

This appears to be because sqlservercache targets net451 and dotnet5.4 instead of dnx451 and dnxcore50.

@danroth27 Did you try with RC2?

I tried the rc1 version of the tool with the rc2 dnx. Still doesn't work.

I guess once we have the new TFMs and update all our project.json files, we'd be testing this once more.

Assigning to @BrennanConroy. Hopefully we'll get the new TFMs in soon.

Since this isn't how commands are run anymore I'm closing this.
I did check if the command could run though and did eadd03f74bb49cc70ba63b685a610e5877b354b9 as a result

Sounds good, thanks!

Hi @danroth27 Did you find a fix to this? I am having same issues.

@murpheux What's the version of the tool?

I have an ASP.Net project with dnx461 and I am running with dnx 1.0.0-rc1-update2 -arch x64

@murpheux DNX was obsolete as of RC2. Now that ASP.NET Core 1.0.0 is released, I recommend moving your project to dotnet CLI/SDK. Follow the links on https://dot.net.


feat: add hint around text editing

It's not obvious (https://github.com/excalidraw/excalidraw/issues/3707) since we don't state it anywhere.
Added hints:

enter/double-click to edit

[ ] Should we add it to the help dialog as well?

esc/ctrl-enter to finish editing

[ ] should we have different hints for mobile/desktop?

enter/double-click to edit

[ ] Should we add it to the help dialog as well?

Makes sense to add it to the help dialog. Hints can be missed (I personally haven't noticed hints much)


converted DominatorTree to DominatorTreePreorder in alias_analysis file

ref: #7954
Hey @jameysharp,
I made a few changes; this is my first time contributing to wasmtime. please let me know if there are any changes to make.

@jameysharp, sounds like you have some previous context for this change?

I do, thanks Andrew! I proposed doing this in #7954.
@VamshiReddy02, this is a good start! I'm excited that you're working on it.
I labeled this issue "easy" but there are some things that are not so easy about it, and you've started with one of the more difficult cases: Comparing two instructions, instead of two blocks. That's okay! Let's figure out how to make it work.
Instruction a dominates instruction b if either of these conditions are true:

a and b are in the same block, and a is not after b. Here's an example showing how to check if inst_a is not after last: https://github.com/bytecodealliance/wasmtime/blob/71800cc1a1daf01e8c3cfee09e651cf8f46ff31b/cranelift/codegen/src/dominator_tree.rs#L137
Or the block containing a dominates the block containing b.

You've implemented the second condition, but not the first.
The first thing I think you should do is add a new method to DominatorTreePreorder which answers the question of whether one instruction dominates another. I suggest this method should look like pub fn dominates_inst(&self, a: Inst, b: Inst, layout: &Layout) -> bool, and it needs to implement the above condition.
Then you can call dominates_inst in alias_analysis.rs. I think this should make the changes in alias_analysis.rs very small. This method will also be useful for the calls to dominates that are in cranelift/codegen/src/verifier/mod.rs. The only other calls are in cranelift/codegen/src/loop_analysis.rs, which can just compare blocks, but it's a little complicated to explain why.
I hope that helps. One more request:
Could you run cargo fmt before committing changes? That will clean up changes to whitespace and make your pull requests easier to review.
Thank you for working on this!

Hey @jameysharp,
Thank you for the feedback. Correct me if I am wrong, First I need to add a new method called pub fn dominates_inst(&self, a: Inst, b: Inst, layout: &Layout) -> bool in the DominatorTreePreorder applying all the above conditions. For example like this:
impl DominatorTreePreorder {
 pub fn dominates_inst(&self, a: Inst, b: Inst, layout: &Layout) -> bool {
        match (layout.inst_block(a), layout.inst_block(b)) {
            (Some(block_a), Some(block_b)) => {
                if block_a == block_b {
                    layout.pp_cmp::<ProgramPoint, ProgramPoint>(a.into(), b.into()) != Ordering::Greater
                } else {
                    self.dominates(block_a, block_b)
                }
            }
            _ => false,
        }
    }
}

Then I need to call the dominates_inst in alias_analysis.rs file, for example like this:
let aliased =
                    if let Some((def_inst, value)) = self.mem_values.get(&mem_loc).cloned() {
                        trace!(
                            " -> sees known value v{} from inst{}",
                            value.index(),
                            def_inst.index()
                        );
                        if let (Some(_def_block), Some(_inst_block)) = (
                            func.layout.inst_block(def_inst),
                            func.layout.inst_block(inst),
                        ) {
                            if self.domtree.`dominates_inst(def_inst, inst, &func.layout)` {
                                trace!(
                                    " -> dominates; value equiv from v{} to v{} inserted",
                                    load_result.index(),
                                    value.index()
                                );
                                Some(value)
                            } else {
                                None
                            }
                        } else {
                            None
                        }
                    } else {
                        None
                    };

Am I going in the correct direction?

Yes, that is the correct direction! There are a few ways to make this easier though:

In alias_analysis.rs, you don't need to call inst_block, because now you don't need to know the blocks there. So you can delete that if in the middle.

Instead of explicitly specifying the type of pp_cmp, you can let Rust figure it out. layout.pp_cmp(a, b) should work. Just don't call .into() in this case, because that gives the compiler too many choices and it gets confused.

When dominates_inst is called, I happen to know that the instructions should be in the Layout, so inst_block should not fail. As a result, instead of checking whether inst_block returns Some, you can use expect, like this: https://github.com/bytecodealliance/wasmtime/blob/81a89169f556d2ba8c6ddc75ae0ac471f213f1c3/cranelift/codegen/src/dominator_tree.rs#L133-L135

But yes, you are most of the way there! I look forward to seeing your updated pull request.
Some other projects expect "perfect" git commits, so I just want to let you know that we don't care about that for Wasmtime and Cranelift.  You don't need to open a new PR or use git rebase or anything. We'll "squash" your changes together into a single commit once they're ready to merge.

Hey @jameysharp, I made some changes, let me know if any changes need to be made.

I think you are very close to having this working, so I just want to check how you're doing with it. I'd love to merge this PR once it passes the test suite!

happy to take a look if @VamshiReddy02 does not enough bandwith.

Sure! Sorry for being inactive, caught up with some work. I'll close this PR. @fbrv you can create a new PR.

Thank you for your effort on this, @VamshiReddy02! I think you got most of the way there and I appreciate the time that you put into it.
@fbrv, welcome! Let me know if you have any questions.


FYI: Updating your serverless funcs from Node.js 8x to 10x may cause "ImportModuleError"

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
I changed the body of some of my serverless functions, which were initially created with an older amplify-cli version (still using Node.js 8x at the time). After amplify pushing, I started getting the following error:
Runtime.ImportModuleError: Error: Cannot find module 'lodash'
Two things to note here: (1) It appears that the amplify-cli will automatically update your function's runtime, so be careful with amplify-pushing into production. (2) The function will not throw the above error if I switch the runtime to Node.js 8x; going back to Node.js 10x will, of course, throw the error again.
This probably isn't an amplify specific problem and I haven't bothered looking into it anymore. If I find a solution, I'll post it here.
Amplify CLI Version
3.17.0

Ugh what a strange issue. After deleting node_modules in each function's src, reinstalling them with npm install, the functions appear to be working just fine now. I can confirm that they had lodash in node_modules before.


partial revert of 79d84c34bd1d98c248cef427c90cfebe270dfb49

Commit 79d84c34bd1d98c248cef427c90cfebe270dfb49 accidentally commented out a line from build_rocm_python3 script.

rocm-xla has absolutely nothing to do with this change.  Going ahead with merge.


"Users" of the C++ compiler are "developers"

Users of the C++ compiler are generally developers. Isn't it a bit more precise and a bit more humanizing to refer to them as such?

If we had the engagement rate of products with users we’d be in way better shape.
And no, I’m not talking about software.
From: Colin Robertson<EMAIL_ADDRESS>Sent: Thursday, February 15, 2018 12:04
To: MicrosoftDocs/cpp-docs<EMAIL_ADDRESS>Cc: Andrew Pardoe<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/cpp-docs] "Users" of the C++ compiler are "developers" (#171)
@corob-msft approved this pull request.
Sure, users are those people software is developed for, not the people doing the development themselves. On the other hand, if you're old enough you remember when we were called programmers.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fcpp-docs%2Fpull%2F171%23pullrequestreview-96987175&data=04|01|Andrew.Pardoe%40microsoft.com|6bf0893d840b45940ca808d574af3569|72f988bf86f141af91ab2d7cd011db47|1|0|636543218219464910|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=mrfIs73paIp9Jufmtfbft4I4%2FV%2Budar5EuG5pNPGLpk%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJeja906LzgDadHcss7oRwKzB8A4HoESks5tVI2bgaJpZM4SGPyV&data=04|01|Andrew.Pardoe%40microsoft.com|6bf0893d840b45940ca808d574af3569|72f988bf86f141af91ab2d7cd011db47|1|0|636543218219464910|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwifQ%3D%3D|-1&sdata=Ep3LMHRcUyUzAZPaTKMZ2CPE039XG0mtKFdEfF2sV2I%3D&reserved=0.


Logical nullish assignment together with nullish coalescing produces false positive for "use before assignment"

TypeScript Version:  4.1.0-dev.20201015

Search Terms: logical nullish assignment use before assigned
Code
let x: boolean;
declare function getX(): boolean;
declare function maybeGetX(): boolean | undefined;

if (Math.random() > 0.5) {
	x = getX();
}

x; // x is used before being assigned (expected)

x ??= maybeGetX() ?? true;

x; // Error: x is used before being assigned (UNEXPECTED)

Expected behavior:
No error in the last line
Actual behavior:
Error: x is used before being assigned
Playground Link: Playground
Related Issues:

Possibly related: #40494

Yes. It's the same reason of #40494
You can try this


Stuck on "Requesting stream"

The Issue
When opening any video on the latest LBRY 0.13, I get stuck on "requesting stream... it may sit here....". I have not tried earlier versions.
Steps to reproduce

Open LBRY application
Click video
Keeps showing "requesting stream"

Expected behaviour
I would expect the video to start playing after several seconds. Even waiting for 30 minutes makes no difference.
Actual behaviour
The application stays responsive but the video won't load. Download doesn't work either.
System Configuration
daemon (lbrynet)	0.13.1
wallet (lbryum)	2.8.4
interface	0.13.0
Platform	Windows (Windows-8.1-6.3.9600)
Installation ID	3KBpKGuNJrjEKKVipsHJLcNFLay18jX81Nd2ScpUGVUvejkv7RhNPsCENHtNAQ3ie
Anything Else
-I have a recent router that has uPnP
-I tried manually forwarding port 3333 & 4444 and checked online if they were actually open
-Both lbry and lbry-daemon are allowed in the firewall
-I tried running the application as administrator
-I have tried on another device on my network with a different account that has early access
-I have tried connecting via 4g usb tethering and confirmed that I was using a different network
-Attatched is my lbrynet.log:
lbrynet.zip
Screenshots

To anyone looking at this, the relevant parts of the log looks like this:
lbrynet.lbrynet_daemon.Daemon:2523: Need sd blob
lbrynet.core.client.ConnectionManager:38: Connection Manager
8abb1d449ecbae5e7df22690281906972722f17b616bbc7130de5a02ccc135f76f629e96c3034a7c8d89ee6f351e648f initialized
lbrynet.lbrynet_daemon.Downloader:104: Download lbry://linked-ep5 status changed to initializing
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (1 seconds)
lbrynet.lbrynet_daemon.Downloader:104: Download lbry://linked-ep5 status changed to
downloading_metadata
lbrynet.core.client.ConnectionManager:38: Connection Manager
8abb1d449ecbae5e7df22690281906972722f17b616bbc7130de5a02ccc135f76f629e96c3034a7c8d89ee6f351e648f initialized
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (2 seconds)
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (3 seconds)
lbrynet.lbrynet_daemon.Daemon:2532: Blob (8abb1d449ecbae5e7df2) download timed out
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (4 seconds)
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (5 seconds)
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (6 seconds)
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (7 seconds)
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (8 seconds)
lbrynet.lbrynet_daemon.Downloader:97: Downloading stream descriptor blob (9 seconds)

After timing out, it just keeps counting up. In the log he tries a few times, and in one of them it times out, waits a bit, and tries to download another blob which also times out.

Is there anything else using up port 3333 in port forwarding or upnp? Is it possible for you to connect directly to modem and try (I know you tried 4g)?

I have to disconnect my mining operation in order to connect straight to modem so that's not an option. None of my network devices are using 3333 as far as I know but I'm not sure how I can make sure. (I checked all devices via netstat -a)
When i check netstat -a on the device that is trying to stream a video this appears in the list:

We'll keep looking into it, right now I don't have any suggestions except to double check upnp settings and port forwarding to make sure no other IP because the lbry pc is getting 3333.

Ok, thanks! I'll keep trying and post if I can figure it out.

I have this issue too with all previous versions (starting from lbry app 0.8 when I first installed lbry) and current version of the lbry app (0.13.0) daemon (0.13.1) and wallet (2.84).
My OS is however Linux Ubuntu 17.04 "zesty" running the kernel version 4.12 (mainline) and hence this is not an OS dependent issue.
Furthermore, through the help of some help of certain LBRY mods on Slack, I have already opened up port 3333 and port 4444 on both TCP and UDP protocols. I have even tried disabling my custom port forwarding and tried UPNP based on one of the mods suggestions.
The logs seem standard and give little to know issue like the original log above so I don't think posting my similar looking log would help that much anyways.
In an event that this happens, after timing out, the daemon will still continue to try to download the Stream descriptor blob continuously to no end. Like a loopback.

Same issue. Downloads the blobs to eternity after the initial timeout.

Without changing anything, it suddenly appears to work for the first time.
lbrynet - log.zip

@rubenbryon - are you sure nothing changed in your network or pc settings?

yes, and I haven't gotten it to work anymore since.

@tzarebczan please re-open if you can work with @rubenbryon to get this issue into a workable state.

@rubenbryon - I noticed that in the time it worked, upnp had failed (7-11 19:33:36,197 WARNING  lbrynet.core.Session:243: UPnP failed. Reason: UnknownError) - which is even more strange.  Do you know anything on your end that would have caused this to happen? Can you try disabling UPNP and not forward 3333 - try like this first, and then try forwarding it.

I trying with using port 3333
Success:  I can see your service on <IP_ADDRESS> on port (3333)
Your ISP is not blocking port 3333 ..
but same problem then I tried to make UPNP disable but still not working !

Exact same issue here and another relevent issue is closed, this really makes me wanna sell all my LBRY coins and just give up.

We have thousands of users, but only a handful are reporting download issues. It's likely tied to some local network, port or firewall issues .
We will be working on a troubleshooting guide which will show all ports to check in order to ensure a good connection to lbrynet. Typically you want to check 3333 (tcp)  4444 (UDP) 50001 5279 (local ports)
Sorry for your trouble, we will continue to work with you. What is the video you are trying to stream?
Also, let's please keep price/market talk away from github...not the correct forum.

I picked the craziest, most twisted video on the main page just to see if even so weird content is available.
lbry://six
Couldn't care less about the video itself, but I was quite sure there'll be problems if I try to open that and I wasn't wrong.

@olokos Can you try six or seven again today? I updated them with my uploads. Were you able to stream any other videos on the home page?

Those uploads look much better now, lol.
https://pastebin.com/btYuurCb
Seems to get stuck on 51%, could be due to me mining LBRY atm, but it shouldn't matter too much.

I reached out to you on Slack :)

For those who had issues downloading ANY file from LBRY, I may have figured it out. It's most likely related to the DHT port which is used to share the content. Possibly something else is using it on 4444 or its blocked on your ISP.
Give this a try:
Download this daemon_settings.yml file: https://www.dropbox.com/s/tkqelvkvwqw237k/daemon_settings.yml?dl=0
Steps -
1 - Close LBRY
2 - Copy daemon_settings.yml to lbrynet folder (find the folder: https://lbry.io/faq/lbry-directories)
*If you already have a daemon_settings.yml file here, open it with notepad, add a new line at the end and type:
dht_node_port: 44444
3 - Start LBRY
4 - Try downloading the top left video, be patient. If it fails, go to home, and try again.
Depending on your network, you may need port 44444 UDP (the new port that was just setup) forwarded. Also, for file sharing to work properly, you may need port 3333 (TCP) open/forwarded (check canyouseeme.org for 3333. 44444 will fail since its UDP). Also, you may need to check firewall settings.

@jackrobison can we add a startup check for this?

It seems to be resolved on my end without changing anything. I am often switching between pools and algorithms so it might have been related to other services using ports 3333 or 4444.


Moving to Database 6.0.0-rc6,  batch-writes tutorial.

@volmarl , thanks. @pvinh-spike , Only one approval is suffucuent in this repo, so will go ahead and merge.


Voice note message

Send voice note to the user in the chat

Hi @plazzy99 , can you assign this one to me :)