Error thrown running with the<EMAIL_ADDRESS>(mini repo included)

Description

Steps to reproduce
mini repo at https://gist.github.com/ztan/adefcaf938a4df7ef92b62c4738b7736

download the file from the gist
run

npm run test

Debug Logs
C:\work\projects\sandbox\lint-staged-test> npm run test

><EMAIL_ADDRESS>test C:\work\projects\sandbox\lint-staged-test
> lint-staged -d

  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
C:\work\projects\sandbox\lint-staged-test\node_modules\any-observable\register.js:29
                throw new Error('Cannot find any-observable implementation nor' +
                ^

Error: Cannot find any-observable implementation nor global.Observable. You must install polyfill or call require("any-observable/register") with your preferred implementation, e.g. require("any-observable/register")('rxjs') on application load prior to any require("any-observable").
    at loadImplementation (C:\work\projects\sandbox\lint-staged-test\node_modules\any-observable\register.js:29:9)
    at register (C:\work\projects\sandbox\lint-staged-test\node_modules\any-observable\loader.js:32:18)
    at Object.<anonymous> (C:\work\projects\sandbox\lint-staged-test\node_modules\any-observable\index.js:2:39)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test: `lint-staged -d`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\ztan\AppData\Roaming\npm-cache\_logs\2018-03-23T02_28_36_078Z-debug.log

expand to view
COPY THE DEBUG LOGS HERE

Environment

OS: Windows 10
Node.js: 8.9.1
lint-staged: 7.0.0

lint-staged doesn't use any of these dependencies so I'm not sure what's going on but I highly doubt it's this package fault. Please investigate further to the root cause.

It seems Listr depends on RxJS, and because it hasn't been updated to support RxJS 6, a compatibility package rxjs-compat is required. Once this package is installed, the issue goes away.

Thanks @ztan for getting to the bottom of that.

@sudo-suhas the solution for us users is for you to update your dependency on listr to 0.14 which has updated to support rxjs 6 and release a patch. 😄 https://github.com/SamVerschueren/listr/blob/master/package.json#L54

It's not that simple. Please see #426

I'm still having this error. Installing rxjs-compat did not fix it.
$ npx lint-staged
Cannot find any-observable implementation nor global.Observable.  It looks like it still uses an older version of any-observable.

@SamVerschueren thanks! Deleting node_modules did not do the trick, but deleting package-lock.json did.
PS: any-observable was already on the latest version, so it was something else. Here is the commit with the package-lock.json changes.

In my case, I've tried completely deleting both node_modules and my lockfile (yarn.lock in my case, but presumably same diff) and it didn't make a difference. I tried this both before and after adding rxjs-compat.
Anyone else have any suggestions?

You could double check the package versions you are pulling in

We could investigate the issue if you can share a minimal repo which can reproduce the issue.

I appear to be pulling in<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>which leads to me believe this should be working?
If I can't get this sorted out soon, I'll try to throw together a minimal failing example. Thanks for the quick reply!

It appears my issue was in yarn. Running a yarn cache clean before nuking my node_modules/etc seems to have cleaned everything up.

I cannot get around this error. I've tried wiping my caches and all the locks and node_modules and so on, but continue hitting it. So this is making lint-staged unusable for me on a certain project :(
Here are my relevant dependency versions:
└─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └─┬<EMAIL_ADDRESS>        └──<EMAIL_ADDRESS>

Ugh, it seemed to have resolved itself just by me npm ciing enough? Sorry for the noise. Hope it doesn't come back.

I just ran into this as well on https://github.com/okonet/eslint-config-okonet
Node: 10.3.0
BUT then I run pre-commit I see

husky > npm run -s precommit (node v8.11.2)

Not sure where it's coming from

Just had the same issue while running with lint-staged version 7.0.4
I just updated to 7.2.2 and the issue is gone

yarn cache clean then yarn add --dev<EMAIL_ADDRESS>worked for me.

just ran into this issue on v7.2.2.
I updated my node to v10.10.0 and did a npm install --save-dev lint-staged husky (even though I already had both dependencies updated in place) and it worked.

Interesting. That’s something we could try reproducing. But I think the fix should go to Listr

It seems that @pnpm is breaking lint-staged somehow.
Repro: https://github.com/aleclarson/repro/tree/lint-staged-416
/cc @zkochan

I've run into the same bug, but when using @pnpm to install lint-staged.
See here: https://github.com/pnpm/pnpm/issues/1496

I ran into the same error when I added rxjs to my projects. I'm using Lerna with yarn(workspaces), Husky, lint-staged. Monorepo setup
I'm using rxjs 6.3.3 which requires lint-staged 7.1.1
and I'm using lint-staged 8.1.0
The issue is when within the above combination of packages lint-staged is hoisted and all it's dependencies and it just breaks with not module found when internally running any-observable
adding to my root package.json  under workspaces (yarn) "nohoist": ["/rxjs","/lint-staged","/lint-staged/"] fixed the issue

Updated to latest list-staged version solved it for me.

I've tried everything on this thread and am still getting the same issue.
Configuration

Monorepo using Yarn Workspaces but NOT Lerna
Node v10.15.3
Yarn 1.15.2

# .nvmrc
v10.15.3

# yarn.lock -- all packages mentioned in this thread
<EMAIL_ADDRESS>  version "8.2.1"
  resolved "https://pkgs.dev.azure.com/frontporch/_packaging/fp-internal/npm/registry/lint-staged/-/lint-staged-8.2.1.tgz#752fcf222d9d28f323a3b80f1e668f3654ff221f"
  integrity sha1-dS/PIi2dKPMjo7gPHmaPNlT/Ih8=
  dependencies:
    chalk "^2.3.1"
    commander "^2.14.1"
    cosmiconfig "^5.2.0"
    debug "^3.1.0"
    dedent "^0.7.0"
    del "^3.0.0"
    execa "^1.0.0"
    g-status "^2.0.2"
    is-glob "^4.0.0"
    is-windows "^1.0.2"
    listr "^0.14.2"
    listr-update-renderer "^0.5.0"
    lodash "^4.17.11"
    log-symbols "^2.2.0"
    micromatch "^3.1.8"
    npm-which "^3.0.1"
    p-map "^1.1.1"
    path-is-inside "^1.0.2"
    pify "^3.0.0"
    please-upgrade-node "^3.0.2"
    staged-git-files "1.1.2"
    string-argv "^0.0.2"
    stringify-object "^3.2.2"
    yup "^0.27.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS>  version "6.5.2"
  resolved "https://pkgs.dev.azure.com/frontporch/_packaging/fp-internal/npm/registry/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
  integrity sha1-LjXOgVzUbYTQKiCftOWSHgUdvsc=
  dependencies:
    tslib "^1.9.0"

<EMAIL_ADDRESS>  version "6.2.2"
  resolved "https://pkgs.dev.azure.com/frontporch/_packaging/fp-internal/npm/registry/rxjs/-/rxjs-6.2.2.tgz#eb75fa3c186ff5289907d06483a77884586e1cf9"
  integrity sha1-63X6PBhv9SiZB9Bkg6d4hFhuHPk=
  dependencies:
    tslib "^1.9.0"

// root package.json
{
  "nohoist": [
    "**/api/**",
    "**/shared/**",
    "**/web/**",
    "husky",
    "lint-staged"
  ],
  "lint-staged": {
    "api/src/**/*.ts": [
      "prettier --write",
      "yarn workspace api run lint:ts",
      "git add"
    ],
    "api/e2e/**/*.ts": [
      "prettier --write",
      "yarn workspace api run lint:ts",
      "git add"
    ],
    "shared/src/**/*.ts": [
      "prettier --write",
      "yarn workspace shared run type-check",
      "yarn workspace shared run lint:ts",
      "git add"
    ],
    "web/src/**/*.{ts,tsx}": [
      "prettier --write",
      "yarn workspace web run lint:ts",
      "git add"
    ],
    "web/e2e/**/*.{ts,tsx}": [
      "prettier --write",
      "yarn workspace web run lint:ts:e2e",
      "git add"
    ],
    "web/src/**/*.{css,scss}": [
      "prettier --write",
      "yarn workspace web run lint:styles",
      "git add"
    ],
    "**/*.md": [
      "doctoc",
      "prettier --write",
      "git add"
    ],
    "**/*.{json,yml}": [
      "prettier --write",
      "git add"
    ],
    "ignore": [
      "api/src/**/*.d.ts",
      "web/src/**/*.d.ts"
    ]
  },
  "devDependencies": {
    "doctoc": "^1.4.0",
    "husky": "^2.4.1",
    "lint-staged": "^8.2.1",
    "npm-run-all": "^4.1.5",
    "prettier": "~1.18.2"
  }
}

Errors
$ git add . -A
$ git commit -m "My commit message"
husky > pre-commit (node v10.15.3)
/Users/rpass/FrontPorch/mobius/node_modules/any-observable/register.js:29
		throw new Error('Cannot find any-observable implementation nor' +
		^

Error: Cannot find any-observable implementation nor global.Observable. You must install polyfill or call require("any-observable/register") with your preferred implementation, e.g. require("any-observable/register")('rxjs') on application load prior to any require("any-observable").
    at loadImplementation (/Users/rpass/FrontPorch/mobius/node_modules/any-observable/register.js:29:9)
    at /Users/rpass/FrontPorch/mobius/node_modules/any-observable/loader.js:30:18
    at Object.<anonymous> (/Users/rpass/FrontPorch/mobius/node_modules/any-observable/index.js:2:39)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
husky > pre-commit hook failed (add --no-verify to bypass)

$ npx lint-staged -d
  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
Cannot find any-observable implementation nor global.Observable.

What I've tried
On each attempt/iteration, I did yarn cache clean && yarn rimraf:node_modules && yarn install. yarn rimraf:node_modules just does rm -rf node_modules on each package.

Adding a .nvmrc
Reverting Node to 8.16.0
yarn add rxjs -D -W
yarn add rxjs-compat -D -W
Adding all the additional nohoist paths that @alecorsino mentioned
yarn add husky -D -W && yarn add lint-staged -D -W

Upgrading list-staged to 8.1.1 solved the isssue

Firstly,thanks,It fixed my problem.But list-staged  name error.The right is lint-staged

Hmm, what's the solution?
npx lint-staged
Cannot find any-observable implementation nor global.Observable.

I am on lint-staged ^9.2.1.  I swear it was working fine yesterday

I have a question, during pre-commit, why dose lint-staged execute .js files in any-observable?

Regarding the messages from this thread, lint-staged doesn't use anything related to any-observable, with this being said, it shouldn't execute .js file in any-observable.

Still have this issue


hyperlink

hi
great useful lib.
is it possible to add hyperlink option to the menu. so that some options can point to a hyperlink.

@sankar-mukherjee you can trystreamlit-antd-components menu component to achieve this

Can you provide how? The codes I mean.

@sankar-mukherjee
sac.buttons([
        sac.ButtonsItem('Option 1', icon='arrow-clockwise'),
        sac.ButtonsItem('Option 2', icon='paypal',
                        href='https://paypal.me/andreasntr'),
        sac.ButtonsItem('Option 3', icon='discord',
                        href='https://discord.com/users/453277976490934282')
    ],
        format_func='title',
        key="menu_selection")
    if st.session_state.menu_selection == "Reset":
        welcome()

then you can style it with CSS as usual
@nicedouble however I think it's not really the same because one could want to have both link buttons and action buttons


fix: incorrect text color applied for headings 🛠

Close #1070
Description

Fixed the incorrect color applied for headings on OSCODE Website

Screenshots

Checklist:

[x] I have linked the PR to the correct issue.
[x] I have read the Contribution Guidelines
[x] I have built and tested the changes, and they do not break or show any errors.

Hey there @Vaishnavi-Patil2211, @akshathar-navada 👋🏻,
Please make sure to review this PR.
Thank you!


Queries to a collection fail with an empty response if the collection contains specific JSON data

Hi,
We've found a problem that some queries fail if collections contain some specific JSON data. I don't know what exactly in the data causes the failure.
Steps to reproduce:

Create a new collection e.g. test
Import the following json file https://www.dropbox.com/s/roael6lv15gu9ip/data.json?dl=0 which contains a list of countries with translated names
Open the API tool and create a POST request to /_api/cursor
As the query param use the following:

{"query":"LET nodes = (FOR node IN @@collection FILTER (node.`@id` == @iri) RETURN node), includes = (FOR node IN @@collection RETURN node) RETURN {nodes: nodes, includes: includes}","bindVars":{"@collection":"test","iri":"1282028"}}

and run the query.
Actual results:
Response Code: 201, empty response body (0 length body is invalid JSON)
Expected results:
Response Code: 201, the response body contains nodes from the collection or at least valid JSON with empty nodes object.
Linux Ubuntu 14.04 x86_64

architecture: 64bit
build-date: 2015-04-11 11:29:15
configure:  './configure' 'CC=gcc' 'CXX=g++' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-all-in-one-libev' '--enable-all-in-one-v8' '--enable-all-in-one-etcd' '--enable-internal-go' '--disable-mruby'
env:  CC='gcc' CXX='g++'
icu-version: 52.1
libev-version: 4.11
maintainer-mode: false
openssl-version: OpenSSL 1.0.1f 6 Jan 2014
server-version: 2.5.2
sizeof int: 4
sizeof void*: 8
v8-version: <IP_ADDRESS>

We use arangojs to query the database, the arangojs fails throwing a SyntaxError when it tries to parse an empty response from arrangodb. Despite this the data seems to be available via ArangoDB UI - i.e. one can browse the countries from the file.

I was able to reproduce this with 2.5.2. Interestingly the server returns a proper JSON when I use the devel version. Will try to figure out what causes this.

Found the reason: the response is assembled in the server correctly and then UTF-8 normalization of the response kicks in. This seems to expand the response string slightly so a target buffer cannot hold it. Normalization therefore returns with an error and no response string.
Will need to investigate how to properly fix this.

The issue has been fixed in 2.5 and devel now. The fix will be included in the next releases (e.g. 2.5.3).
I'd like to incorporate the JSON test data you linked into our test suite and would like to ask your permission for doing so. Are you ok with that?

Thanks for the quick fix. Sure, you can use the data that I provided. It's taken originally from http://sws.geonames.org/ and licensed under a Creative Commons Attribution 3.0 License
Could you estimate when the next release will happen? Or maybe if there is a way to get the fix before the release? or maybe do you know which part of the data exactly causes the problem so I can remove it temporarily? Thank you.

I think a 2.5.3 release can be built next week.
The problems seem to be caused by the alternateName attribute, specifically for the @language with value bn.
I tried copying the original data into a new collection with the bn language removed, and that seemed to work when running the original query. Here's my copy function for reference:
var _ = require("underscore");
db._create("copy");
var docs = db.test.toArray();
for (var i = 0; i < docs.length; ++i) {
  var doc = _.clone(docs[i]);
  doc.alternateName = docs[i].alternateName.filter(function(orig) {
    return orig["@language"] !== "bn";
  });
  db.copy.insert(doc);
}

Should be fixed in 2.5.3.


SourceValidationError should be pretty printed

Bug description
Error: Error: Error in datamodel: ErrorCollection { errors: [SourceValidationError { message: "The URL for datasource `db` must start with the protocol `sqlite://`.", source: "db", span: Span { start: 55, end: 73 } }] }

How to reproduce

prisma/schema.prisma file
datasource db {
    provider = "sqlite"
    url      = "sqlite:./1093.db"
}

generator client {
    provider = "prisma-client-js"
}

Run npx @prisma/cli@alpha introspect
Enjoy!
Expected behavior
The error should be pretty printed with a cursor pointing to the line.
Prisma information

Environment & setup

OS: Mac OS
Database: SQLite
Prisma version: 2.0.0-alpha.1108 (latest)

the same as this issues， when I follow Set up Prisma
Error: Error in datamodel: ErrorCollection { errors: [SourceValidationError { message: "The URL for datasource db must start with the protocol mysql://.", source: "db", span: Span { start: 155, end: 174 } }] }


Remove Generic variant from CppError

Codecov Report

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

@@           Coverage Diff           @@
##           master     #276   +/-   ##
=======================================
  Coverage   77.79%   77.79%
=======================================
  Files          26       26
  Lines        6516     6516
=======================================
  Hits         5069     5069
  Misses       1447     1447

Impacted Files
Coverage Δ

src/data/error.rs
93.89% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


import_from_armored_pgp  #error: no tailer found

#importKey.coffee
kbpgp = require 'kbpgp'

alice_pgp_key    = "-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)

mQENBFU1ezABCAC+l6VU6SwTYu8Pg0pLaIO9s7lmlf2tHOS4kYpu2PkwDFJxWAzU
Scb7x0ra/uV0AUnaWgmxAvfeRCOs95xjpiTf9EYIEgUVPz4uV7RGKRBBnpu7RxT5
jWYig+4FMdribUVT3dsRRjb4Mompi44VQ0tqEEgNxW3UALhIQlIawFf/cBo32i/o
Y8dmE2oUer+pS+RmzivPGaOFZ+D3tezPWp5Cz5sF/OmTaTlYSHrsbZ84zdRLj3vZ
dOllQmMZy1ohhFKe8M22o8oRuOdUXg/EY6YYYNrB+mxV/JjdzMU9bwvaDTCKvPH2
RZR1XKVAsDYvvrpOxlqoyU9haGT1iOz8H8pZABEBAAG0HXRlc3RtYXJrZXQgPHRl
c3RAbWFya2V0LmluZm8+iQE5BBMBAgAjBQJVNXswAhsPBwsJCAcDAgEGFQgCCQoL
BBYCAwECHgECF4AACgkQ24FBdj8pefAKzggAtWgMk/FJUaXJc06hP9TxYwc4CzCK
qj2G/Nul408EIYniC/JbwqV27uBG/wmAXSrg1QP58d2JsUKFy67AYWzEcR0neNU4
BMb9+jyfImf5co/unldlZ9vAtX+0+aEmeSOfmCBP/5FJDHbenARdaDcEbucHXJSA
Q6ReBJRpxX9uuGnpIrfw34+KZ324YcEjUNjZUsfRPDing90o0SSokSaFZ37q4mKJ
slmwdVQFtsN1lTq38jxvcnVH7cPla5/Qd8vJIRFkXf89JT+8tTE5LLbr8kwgQoZ5
Q6BKgpZ16Xr3eVH/du6DUqH88zD6pIUpRy2jQFQRYmLFXQKXbARXPSZzUQ==
=2XRv
-----END PGP PUBLIC KEY BLOCK-----"

kbpgp.KeyManager.import_from_armored_pgp {
  armored:    alice_pgp_key
}, (err, alice) ->
  console.log err # [Error: no tailer found]
  console.log alice # null

I was wondering why the above code is throwing a no tailer found error.
I was trying to figure out what was happening underneath and I believe the error traces to this code from pgp-utils, armor.iced:
  unframe : () ->
    rxx_b = /^(-{5}BEGIN PGP (.*?)-{5}.*$)/
    rxx_e = /^(-{5}END PGP (.*?)-{5})(.*)$/m
    rxx = rxx_b
    payload = []
    stage = 0
    type = null
    ret = null
    go = true
    pre = []
    post = []

    found_pre_std = (l, is_last) -> pre.push l
    found_pre_clearsign = (l, is_last) => @ret.clearsign.lines.push l

    found_pre = found_pre_std

    while @lines.length and go
      line = @lines.shift()
      switch stage
        when -1
          if (m = line.match /^([^:]+): (.*)$/)
            @ret.clearsign.headers[m[1].toLowerCase()] = m[2]
          else if line.match /^\s*$/
            stage++
            found_pre = found_pre_clearsign
          else
            throw new Error "Bad line in clearsign header"
          @ret.lines.push line
        when 0
          if (m = line.match rxx_b)?
            found_pre '', true
            @ret.lines.push (if @ret.clearsign then line else m[1])
            @type = m[2] unless @type?
            @last_type = m[2]
            if m[2] is "SIGNED MESSAGE"
              stage--
              @ret.make_clearsign()
            else
              stage++
          else
            @ret.lines.push line if @ret.clearsign
            found_pre line, false
        when 1
          if (m = line.match rxx_e)
            @ret.lines.push m[1]
            if m[2] isnt @last_type
              throw new Error "type mismatch -- begin #{@last_type} w/ end #{m[1]}"
            stage++
            post = [ m[3] ].concat @lines
            @lines = []
            go = false
          else
            @ret.lines.push line
            payload.push line
    if stage is 0 then throw new Error "no header found"
    else if stage is 1 then throw new Error "no tailer found" #this is the error I am getting
    else
      @payload = payload
      @ret.finish_unframe { pre, post }

My thought is the lack of newline is the cause. Is this actually a bug or am I out to lunch. Any recommendation for how best to convert a armoured public key string (for example from a textarea) to a KeyManager?

In coffee script you need triple quotes around the key here.  Otherwise
newlines are converted to spaces.
On Sunday, April 26, 2015, TRhode<EMAIL_ADDRESS>wrote:

#importKey.coffeekbpgp = require 'kbpgp'
alice_pgp_key    = "-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v2.0.22 (GNU/Linux)mQENBFU1ezABCAC+l6VU6SwTYu8Pg0pLaIO9s7lmlf2tHOS4kYpu2PkwDFJxWAzUScb7x0ra/uV0AUnaWgmxAvfeRCOs95xjpiTf9EYIEgUVPz4uV7RGKRBBnpu7RxT5jWYig+4FMdribUVT3dsRRjb4Mompi44VQ0tqEEgNxW3UALhIQlIawFf/cBo32i/oY8dmE2oUer+pS+RmzivPGaOFZ+D3tezPWp5Cz5sF/OmTaTlYSHrsbZ84zdRLj3vZdOllQmMZy1ohhFKe8M22o8oRuOdUXg/EY6YYYNrB+mxV/JjdzMU9bwvaDTCKvPH2RZR1XKVAsDYvvrpOxlqoyU9haGT1iOz8H8pZABEBAAG0HXRlc3RtYXJrZXQgPHRlc3RAbWFya2V0LmluZm8+iQE5BBMBAgAjBQJVNXswAhsPBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQ24FBdj8pefAKzggAtWgMk/FJUaXJc06hP9TxYwc4CzCKqj2G/Nul408EIYniC/JbwqV27uBG/wmAXSrg1QP58d2JsUKFy67AYWzEcR0neNU4BMb9+jyfImf5co/unldlZ9vAtX+0+aEmeSOfmCBP/5FJDHbenARdaDcEbucHXJSAQ6ReBJRpxX9uuGnpIrfw34+KZ324YcEjUNjZUsfRPDing90o0SSokSaFZ37q4mKJslmwdVQFtsN1lTq38jxvcnVH7cPla5/Qd8vJIRFkXf89JT+8tTE5LLbr8kwgQoZ5Q6BKgpZ16Xr3eVH/du6DUqH88zD6pIUpRy2jQFQRYmLFXQKXbARXPSZzUQ===2XRv-----END PGP PUBLIC KEY BLOCK-----"
kbpgp.KeyManager.import_from_armored_pgp {
armored:    alice_pgp_key
}, (err, alice) ->
console.log err # [Error: no tailer found]
console.log alice # null
I was wondering why the above code is throwing a no tailer found error.
I was trying to figure out what was happening underneath and I believe the
error traces to this code from pgp-utils, armor.iced:
unframe : () ->
rxx_b = /^(-{5}BEGIN PGP (.?)-{5}.$)/
rxx_e = /^(-{5}END PGP (.?)-{5})(.)$/m
rxx = rxx_b
payload = []
stage = 0
type = null
ret = null
go = true
pre = []
post = []
found_pre_std = (l, is_last) -> pre.push l
found_pre_clearsign = (l, is_last) => @ret.clearsign.lines.push l

found_pre = found_pre_std

while @lines.length and go
  line = @lines.shift()
  switch stage
    when -1
      if (m = line.match /^([^:]+): (.*)$/)
        @ret.clearsign.headers[m[1].toLowerCase()] = m[2]
      else if line.match /^\s*$/
        stage++
        found_pre = found_pre_clearsign
      else
        throw new Error "Bad line in clearsign header"
      @ret.lines.push line
    when 0
      if (m = line.match rxx_b)?
        found_pre '', true
        @ret.lines.push (if @ret.clearsign then line else m[1])
        @type = m[2] unless @type?
        @last_type = m[2]
        if m[2] is "SIGNED MESSAGE"
          stage--
          @ret.make_clearsign()
        else
          stage++
      else
        @ret.lines.push line if @ret.clearsign
        found_pre line, false
    when 1
      if (m = line.match rxx_e)
        @ret.lines.push m[1]
        if m[2] isnt @last_type
          throw new Error "type mismatch -- begin #{@last_type} w/ end #{m[1]}"
        stage++
        post = [ m[3] ].concat @lines
        @lines = []
        go = false
      else
        @ret.lines.push line
        payload.push line
if stage is 0 then throw new Error "no header found"
else if stage is 1 then throw new Error "no tailer found" #this is the error I am getting
else
  @payload = payload
  @ret.finish_unframe { pre, post }

My thought is the lack of newline is the cause. Is this actually a bug or
am I out to lunch. Any recommendation for how best to convert a armoured
public key string (for example from a textarea) to a KeyManager?
—
Reply to this email directly or view it on GitHub
https://github.com/keybase/kbpgp/issues/70.

Can confirm that fixed the problem. Thank you very much for the quick response.


No way to use Pod structure in component generators

There's no (apparent) way to use the --pod flag inside a generate blueprint command, is this intended and you expect people using pods to have the pod flag permanently set to "true" in the .ember-cli file?

We have an settings file where we could put in an extra setting to specify if pods are used or not. On the other hands pods are dying and I don't know if it makes sense to support it.

Ah, yeah just followed the rabbit down the module unification RFC hole. I'd say just leave it out then based on that discussion. Thanks for the speedy reply!

Still a good thing to have, especially for existing projects.


Standard way of extracting global time and timing of spikes

Is your feature request related to a problem? Please describe.
Different people have different ways of extracting the global time from multiple nev files. We would like to regularize it.
Describe the solution you'd like
Describe alternatives you've considered
Additional context
Make sure that data computer is running with NTP

The fxn we wrote to do this is called concatenateNevFiles and it's in the nevutils folder. This is a wrapper fxn that fuses code that Adi and I were using to create a compiled dat file for multiple files in a single session and has a flag to select which method of extracting the global time you want to use (using the nip clock start or the computer time). @rjohnston473 and @AdithyaNarayan101 can you test this code on your stuff? Here's sample code of how I use it. It has all of the optional inputs of nev2dat plus the optional input for the method of extracting global time:
dat = concatenateNevFiles(filenameNEV, 'useClockStart',false,'readNS5',true,'convertEyes',true);


Unable to provision nodes with fresh install of 2.1 using privateCA

Rancher versions:
rancher/rancher:v2.1.0
rancher/rancher-agent:v2.1.0
Infrastructure Stack versions:
n/a
Docker version: (docker version,docker info preferred)
(rancher server host, but all hosts are identical)
[ec2-user@ip-10-0-1-146 ~]$ docker info
Containers: 24
 Running: 20
 Paused: 0
 Stopped: 4
Images: 11
Server Version: 18.06.1-ce
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-862.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.5 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.7GiB
Name: ip-10-0-1-146.ec2.internal
ID: 7ULT:5ECE:6OU6:G4BI:B3TB:AWW4:PCNN:QDEC:5B2Z:GC2N:27TT:FCLA
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Operating system and kernel: (cat /etc/os-release, uname -r preferred)
[ec2-user@ip-10-0-1-146 ~]$ uname -r
3.10.0-862.el7.x86_64
[ec2-user@ip-10-0-1-146 ~]$ cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.5 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.5"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.5 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.5:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.5
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.5"

Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
AWS, technically, being treated as custom/bare metal.
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Rancher HA atop a cluster provisioned by RKE
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Steps to Reproduce:

Have a CA and TLS key in secrets that rancher can use.
Create a new rancher master deployed via helm using --set ingress.tls.source=secret and --set privateCA=true.
Create a cluster.
Try to provision a node into the cluster.

Results:
The generated join command has the wrong value for --ca-checksum and fails to join the cluster with level=error msg="Failed to connect to proxy" error="x509: certificate signed by unknown authority"
In 2.0.8 --ca-checksum was being set correctly. It is worth noting that 2.1.0 (latest) is now being deployed with no interaction from us via the same automation that was previously deploying 2.0.8 (stable) via the stable helm chart.
update: It also looks like it can't adopt the local cluster. I've blown this rancher install away and --set rancherImageTag=v2.0.8 until 2.1 can approach something resembling stable and/or the stable helm charts actually install a stable version.

I just ran the setup for v2.1.0 again with self signed certificates and I can create a custom cluster and add a node. Can you supply a bit more info on your setup? As there is a bug in the helm chart, what manual steps did you take? What certificates are you using, is it a single or with intermediates?
What checksum is being generated in the UI, and what is being returned from the API? (curl  -s -k https://RANCHER_URL/v3/settings/cacerts | jq -r .value | sha256sum) Is the cacerts.pem in the pod correctly configured? kubectl exec -n cattle-system a_rancher_pod -- cat /etc/rancher/ssl/cacerts.pem

This is a single self-signed RSA-4096 cert with no intermediates. To run the chart I simply copied the chart according to your PR (https://github.com/rancher/server-chart/pull/32) into my repo and am deploying from that rather than the cert repo. Other than that I have overridden the following:
--set hostname=[redacted]
--set ingress.tls.source=secret
--set privateCA=true
--set rancherImageTag=v2.0.8

Right now it is looking like something weird may be happening with certmanager, or possibly somewhere else in the cert process.
The ca cert in my repo is c236d6385970f85924207695a304a39bf541e46582e9abcf3f36ef86d5f82a3a
The ca cert at /v3/settings/cacerts is 07355aa4b982e48546b346adeaaec87ac0f333463759916aaa12986a8b59a7a6
The kube secret tls cert tls-rancher (with a key of tls.crt) is 07355aa4b982e48546b346adeaaec87ac0f333463759916aaa12986a8b59a7a6
The kube opaque secret tls-ca (with a key of ca.crt) is c236d6385970f85924207695a304a39bf541e46582e9abcf3f36ef86d5f82a3a
/etc/rancher/ssl/ca.crt on a rancher pod is c236d6385970f85924207695a304a39bf541e46582e9abcf3f36ef86d5f82a3a
/etc/rancher/ssl/cacerts.pem does not exist
The register command uses 07355aa4b982e48546b346adeaaec87ac0f333463759916aaa12986a8b59a7a6

The tls-ca key needs to be cacerts.pem

/etc/rancher/ssl/cacerts.pem is what used to calculate the checksum, what command did you run when you added the secret, it should be:
kubectl -n cattle-system create secret generic tls-ca \
  --from-file=cacerts.pem

Very similar, just a little modified to run well in CI:
kubectl -n cattle-system create secret generic tls-ca --from-file=./[redacted]/ca.crt --dry-run -o yaml | kubectl apply -f -


CMS - Create Dynamic Menu

Dynamic Menu should follow a little bit how WordPress do it, it's very easy and simple to use.

[x] Create Collection to Manage Recursive Menus
[x] Create Admin Edit of the Menu, with drag and Drop
[x] Create Component for the Client to load the Menu, dynamic based on the slug of the menu

Creating and Managin Menu is Working
TODO: Improve adding pagelink and on the view updating the link based on the page link this way if the page changes the link the Moenu will follow the link


Fixed FeatureGroup crash

Now a LayerGroup can be removed from a FeatureGroup without crashing. FeatureGroup's addLayer had the check in place, but removeLayer did not!

Dirty workaround until this is merged is to let LayerGroup have a fake 'off' fucntion:
L.LayerGroup.prototype.off = L.Util.falseFn;
That way calls to a FeatureGroup's removeLayer and clearLayers don't end up with:
TypeError: layer.off is not a function

Thanks, nice catch!


fix incorrect name of taiwan

I just fix the name
rake test pass all in my macbook, can't understand why failed on travis-ci
does anyone explain it for me ?? please


Dynamic Dispatch Perf in Primal

Improves the performance of dynamic dispatch for primal interpretation

Also redundant in light of #90 , so closing.


In Example -> Provided cores: 1

Hey,
Thank you for developing that pipeline and providing it to the community.
I wanted to test your pipeline for my projects.
When running the example data (RNA & WES) , the pipeline seems to be limited to one core:
$ ./run_analysis_locally.sh
Provided cores: 1
Rules claiming more threads will be scaled down.

I try to modify the the config.json file, but it seems that the configuration here would allow more cores.
Where should I adjust the config?
The machine  I am working on has 12 cores 64 GB of memory. - so this should not be the bottleneck.
Thanks!
Sincerely
Julius

Hi Julius,
just add -n  to the snakemake command in /run_analysis_locally.sh .
Best,
Jochen

Hi again,
actually with -n you can restrict the number of threads used. However, you also need to specify -j to define how many jobs should be run at the same time.
Sorry for the confusion.
Best,
Jochen


unigame already exists !

https://github.com/unigame
Should we change the name ?

Ohno, we should change the name then, btw the current one is just a temp name .
Do you have any suggestions ? My only requirement is started with "un" :)

unity, unreal and unigine are nice :)
These are a few proposals based on english word, but we can also make up a name
Some showing that the engine is not limiting you :

uncaged
unchain/unchained
unlock/unlocked

undercover
undergod
undertaker
underworld
unicorn
union
unique
unrest
unstoppable

unigine are nice , but already exits too.
And other names are already exits to (uncaged and unchain),
Um... would you think it is very weird if we named it "unrust" ? haha

:) unrust is fine

Then i would change it later ^^ and then i would close this.

The whole project name changed.


change CC0 example in [github] service tests

This is a suggested quick fix for the last failure identified in issue #1591
This test is failing because the license on our repo is not recognised as being CC0. If we hit https://api.github.com/repos/badges/shields GH describes our license as:
...
  "license": {
    "key": "other",
    "name": "Other",
    "spdx_id": null,
    "url": null
  },
...

This PR just switches the test to use an example which GH does identify as CC0 licensed to get the tests passing agiain.
There is a second issue though which is that GH no longer recognises our repo as being CC0 licensed. If we look at https://github.com/badges/shields/blob/master/LICENSE.md there is no banner but if we look at https://github.com/github/gitignore/blob/master/LICENSE there is. This is obviously something in the way GH identifies licenses that has changed fairly recently because that test passed at some point and LICENSE.md hasn't changed in 4 years. However, the path of least resistance may be to bring the wording/layout in our LICENSE file into line with the standard GH version so it will be correctly identified. Happy to submit a PR to do that, but I'm not familiar with the history around license choice for this project so might benefit from some input?

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @chris48s!

  Generated by :no_entry_sign: dangerJS

Failure is due to a timeout. That one does pass locally


Reference-based RNA-Seq data analysis: fix DEG workflow

This PR includes the following changes:

modifies the DESeq2 factor level groups in order to fix the following error:

parameter 'groups': invalid options ('paired') were selected (valid options: untreat,treat,single.counts,paired.counts)

changes the output format to tabular of the Concatenate output in order to fix the following error:

parameter 'field2': requires a value, but no legal values defined

I can't wait til the IWC comes up with nice ideas to make these easier to review :)

I could replace it with the text editor instead of using the workflow editor, sorry!


Ddd tracing

https://github.ibm.com/cp4i/icp4i-fermi/issues/114

Needed from within install.sh in the case repo?

this flag is not needed there...b/c its a flag if not provided it will assume its a main-namespace and proceed with that

Is there an install.sh to match these changes? Especially the release scripts?

yep taken care of that


Try to recover files

Hello Stefan,
I am trying to undelete files from a pool zfs in mirror between two disks on a remote server, launching your fantastic sw I receive this error:
java -jar ZfsSpy.jar -i <public_ip> -p 9999 -v /dev/sda1 -v /dev/sdb1
This is the output of "Browse block"

`Vdev
label nr
pool name
pool state
pool guid
transaction
top guid
vdev guid
uberblock

/dev/sda1
L0
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
c44eb7c69f38465
explore

/dev/sda1
L1
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
c44eb7c69f38465
explore

/dev/sda1
L2
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
c44eb7c69f38465
explore

/dev/sda1
L3
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
c44eb7c69f38465
explore

/dev/sdb1
L0
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
b8b739f21615df22
explore

/dev/sdb1
L1
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
b8b739f21615df22
explore

/dev/sdb1
L2
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
b8b739f21615df22
explore

/dev/sdb1
L3
dampool
active
b99a04a247c7b80c
1658399
133f58a71fa3ab50
b8b739f21615df22
explore

`

This is the output of filesystem:
Errors: Uberblock with last transaktion group not found. java.lang.Exception: Uberblock with last transaktion group not found. at httpHandlers.HttpHandlerDatasetSummary.createHtmlBody(HttpHandlerDatasetSummary.java:271) at httpHandlers.HttpHandlerBase.handle(HttpHandlerBase.java:249) at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:692) at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:664) at jdk.httpserver/sun.net.httpserver.ServerImpl$DefaultExecutor.execute(ServerImpl.java:159) at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.handle(ServerImpl.java:442) at jdk.httpserver/sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:408) at java.base/java.lang.Thread.run(Thread.java:834)
These are details of the system:
`fdisk -l /dev/sda
Disk /dev/sda: 10.9 TiB,<PHONE_NUMBER>5024 bytes,<PHONE_NUMBER>2 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C5F42F76-9DD2-8D44-AB83-A238A51DCCDC
Device           Start         End     Sectors  Size Type
/dev/sda1         2048<PHONE_NUMBER>9<PHONE_NUMBER>2 10.9T Solaris /usr & Apple ZFS
/dev/sda9<PHONE_NUMBER>0<PHONE_NUMBER>3       16384    8M Solaris reserved 1
fdisk -l /dev/sdb
Disk /dev/sdb: 10.9 TiB,<PHONE_NUMBER>5024 bytes,<PHONE_NUMBER>2 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: AFAF86BD-F107-BE46-83D7-4B6157A5D2E7
Device           Start         End     Sectors  Size Type
/dev/sdb1         2048<PHONE_NUMBER>9<PHONE_NUMBER>2 10.9T Solaris /usr & Apple ZFS
/dev/sdb9<PHONE_NUMBER>0<PHONE_NUMBER>3       16384    8M Solaris reserved 1
zpool status
pool: dampool
state: ONLINE
scan: scrub repaired 0B in 0h26m with 0 errors on Sun Feb  9 00:50:21 2020
config:
NAME        STATE     READ WRITE CKSUM
dampool     ONLINE       0     0     0
  mirror-0  ONLINE       0     0     0
    sda     ONLINE       0     0     0
    sdb     ONLINE       0     0     0

errors: No known data errors
uname -a
Linux  4.15.0-76-generic #86-Ubuntu SMP Fri Jan 17 17:24:28 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
`
Any clue please?
Thank you in advance....

Hello Gregorio,
This error means the current transaction ID is not in the transactions list. This could be the case if the filesystem is still mounted, or broken.
The "Browse Filesystem" on top level displays the current state of the filesystem, the files you searching are already deleted in this state, so you have to use the "Browse Block" mode first.
Please try out this:

"Browse Block"
"explore" in the Uberblock column. If the disks are heathy, it should not matter which line.
You should see a "uberblocks" table with numbers. This are transaction numbers, the highest one is the current, the lowest the oldest.
like this: https://imoriath.com/zfsspy/labeldetails?vDev=0&labelNr=0&options=00000
you can click on the transaction numbers to get more infos about this transaction, also the date.
like this: https://imoriath.com/zfsspy/uberblock?vDev=0&labelNr=0&uberBl=75&endian=1&options=00000
find the transaction number closest to the time before you deleted your files.
click on one of the "Pointers" links, if they are still valid.
You are now in the dataset management structure. It's a tree-like structure, you are on the root node.
Explore. Somewhere in the leafs you should find a "DSL DATASET (16)" object for every zfs dataset.
like the DMU Object #21 here: https://imoriath.com/zfsspy/block?vDev=0&sector=335415&csize=4&dsize=32&compress=15&objtype=10&endian=1&options=00000
Click on one of the Block pointers, and now you can get the link "Use target as Filesystem".
like this: https://imoriath.com/zfsspy/block?vDev=0&sector=242878&csize=1&dsize=4&compress=15&objtype=11&endian=1&options=00000
Now you can explore the pool in filesystem mode.

If you get stuck at "Invalid blockpointer" at some point, you can try out the other disk. Zfs mirror does not mean an exact disc copy, it means the files are equal. So its possible to get files on the one disk where already overwritten on the other one.
Please keep in mind ZfsSpy is NOT a complete, bugfree, nor professional program. It was made by me (a spare time coder) to recover some of my own files.


Using Vue.js inside Hits Template

Hi,
i am trying to use some vue / vue-router inside the Hits Template.
search.addWidget(
                    instantsearch.widgets.hits({
                        container: '#hits-container',
                        templates: {
                            item: '
' +
                            .....
                            '
<router-link to="/tutorials/{{slug}}" exact>{{title}}</router-link>
' +
                           ......
                        }
                    })
                );

Unfortunately it doesnt work, the <router-link> inside the Hits Template isnt rendered. The console does not throw any error.
Any Suggestions on how to use Vue inside a Hits Template?
I also tried to manipulate the Dates from my Algolia Index with moment.js which also did not worked. It seems that you cant use any third party libraries inside the Hits Template.

Hi @kayyyy indeed the use of vue-js directive in instantsearch.js is unlikely to work given the way instantsearch.js is done.
There's no easy solution to this but to build specific vue-instantsearch package where we would replicate our widgets using vuejs idioms and libraries.
This would make instantsearch project compatible with vuejs, we are currently doing this for React.
As for momentjs, you should be able to format the dates using momentjs methods by using a hogan helper like we show in our documentation: https://community.algolia.com/instantsearch.js/documentation/#helpers
Let me know if that works for you

I make a toy project with Vuejs and Algolia: kleicht/algolia-vuejs-example
I didn't use instantsearch but the lower-level client, namely algoliasearch-helper.
In the Result component you, you can add a vue-router link and retrieve data by ObjectID.

Great! I think that's the way to go with vue for now, here's an example on codepen that we did: http://codepen.io/Algolia/pen/bZvvvx

Thank you guys for your suggestions.


k_busy_wait() on nRF5x boards isn't waiting long enough

The nrf52840_pca10056 uses an arch-supplied implementation for k_busy_wait().  And it seems the clock being used is consistently slow by 10%, resulting in busy wait times that are incorrect.  This can be detected in tests now that high tick rates are being used (c.f. #16782)
See the code below.  It requests successively larger delays to k_busy_wait(), checks them against the cycle counter, and and there is a persistent 10% error between the two (even as the delays get into the multiple seconds range and should be utterly swamping any per-call overhead), e.g.:
***** Booting Zephyr OS zephyr-v1.14.0-1473-gf441944ad0e7 *****
us 30 cyc 2 (== ~61us, err = 103%)
us 37 cyc 2 (== ~61us, err = 64%)
us 46 cyc 2 (== ~61us, err = 32%)
us 57 cyc 2 (== ~61us, err = 7%)
us 71 cyc 3 (== ~91us, err = 28%)
us 88 cyc 4 (== ~122us, err = 38%)
us 110 cyc 4 (== ~122us, err = 10%)
us 137 cyc 5 (== ~152us, err = 10%)
...
us 6067090 cyc 219502 (== ~6698669us, err = 10%)
us 7583862 cyc 274425 (== ~8374786us, err = 10%)
us 9479827 cyc 343224 (== ~10474365us, err = 10%)

Disabling CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT produces correct behavior (as would be expected -- the default implementation is based on k_cycle_get_32() of course).  The error drops rapidly to zero as the delays get large.
The buggy z_arch_busy_wait() implementation is just a call to a HAL layer, so I don't have any visibility into how to fix it.  Presumably the relevant clock rates are simply misconfigured?  I don't know if this is generically wrong for all nRF5x SoC's or if the wrong rate is specific to the nrf52840_pca10056.
#include <zephyr.h>
#include <misc/printk.h>

void main(void)
{
	u32_t us, t0, t1, cyc, expect_us, err_pct;

	/* Start at a busy wait of 30us, increment by 25% until we run
	 * out of precision
	 */
	for (us = 30; us < 10000000; us += us / 4) {

		/* Timestamp a busy wait on either side with the cycle
		 * counter
		 */
		t0 = k_cycle_get_32();
		k_busy_wait(us);
		t1 = k_cycle_get_32();

		/* Compute the cycles we delayed, convert to
		 * microseconds, then compute an error vs. the
		 * requested delay as a percent.
		 */
		cyc = t1 - t0;
		expect_us = (int)((cyc * 1000000ull)
				  / CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC);
		err_pct = (100ull * (expect_us - us)) / us;

		printk("us %d cyc %d (== ~%dus, err = %d%%)\n", us, cyc,
		       expect_us, err_pct);
	}
}

Stumbled into this while tuning the timer stuff.   10% off hasn't really been noticeable so far, but it is now.  FWIW: having the busy wait implementation and the timing implementation be on (seemingly) different hardware clock bases may not be the best choice anyway.   The default implementation is super small and leverages the code already present for the cycle counter.  I'd suggest sticking with that.

This sort of delay can happen if the wait loop code isn't aligned to the proper offset for caching; see this comment.  Dunno why that would suddenly be occurring with Nordic's code, though, since it has an align directive.  I tested it back in the 1.14 days and it was dead on.
If the current standard busywait implementation is correct the custom busywait could be reverted.  It was way wrong (terminated early) in previous versions of Zephyr (see  #11626).

@andyross Your 10% overhead is because #16782 is causing the timer ISR to be entered every 60 us.
The SOC busy-wait is looping for the number of CPU clock cycles required to cover the requested duration.  It does this with interrupts enabled, so any extra work that happens during the loop is added to the apparent delay.  This is a cost we pay for having accurate short-duration (<= 100 us) delays; see da3f7feaf8f48b04d018b25ee8c729013880361a.
Reverting use of that independently-measured delay as done by f82822c600e0c95fcd860663ca6b969097d211b2 hides this behavior.
I'd suggest using a logic analyzer to verify that the timer ISR is being called as you expect.

@andyross: The default k_busy_wait() implementation is imprecise due to 2 reasons:

It bases on CPU execution speed (which is affected by icache).
It runs on RC clock by default (which is imprecise).

The (1) has been chosen as the default implementation because it can run on any Nordic SoC
The (2) is the default as RC oscillator requires less power than crystal.
To get the most precise busy wait, you have to do 2 things:

Use DWT instead of NOP-based delay (just set NRFX_DELAY_DWT_BASED to 1 in ext/hal/nordic/nrfx_glue.h)
Switch CPU clock to crystal by calling clock_control_on(device_get_binding(DT_NORDIC_NRF_CLOCK_0_LABEL "_16M"), UINT_TO_POINTER(1));

Hah.  Yeah, @pabigot saw it.  I'd broken the logic at the end of the process and was spamming interrupts.  Running that test code against master (which I would have sworn I did originally, but clearly didn't) works fine.  Closing.

Hah again.  Actually the version I pushed seems to have fixed that bug anyway.  We get correct ISR counts and correct busy wait durations (to within about .5%, but it's high and not low and tests don't see it).  Not even sure which version I tested this one against originally.
Clearly I rushed this report.  Sorry :)

@andyross Not sure how you're doing things, but I reproduced the problem of spamming ISRs on f82822c600e0c95fcd860663ca6b969097d211b2 which is #16782, with the application in this report, using this patch.
diff --git a/drivers/timer/nrf_rtc_timer.c b/drivers/timer/nrf_rtc_timer.c
index ddff1f5fd1..60c4635083 100644
--- a/drivers/timer/nrf_rtc_timer.c
+++ b/drivers/timer/nrf_rtc_timer.c
@@ -50,6 +50,7 @@ static u32_t counter(void)
 void rtc1_nrf_isr(void *arg)
 {
 	ARG_UNUSED(arg);
+	NRF_GPIO->OUTSET = (1U << 30);
 	RTC->EVENTS_COMPARE[0] = 0;

 	k_spinlock_key_t key = k_spin_lock(&lock);
@@ -70,6 +71,7 @@ void rtc1_nrf_isr(void *arg)

 	k_spin_unlock(&lock, key);
 	z_clock_announce(IS_ENABLED(CONFIG_TICKLESS_KERNEL) ? dticks : 1);
+	NRF_GPIO->OUTCLR = (1U << 30);
 }

 int z_clock_driver_init(struct device *device)
@@ -85,6 +87,11 @@ int z_clock_driver_init(struct device *device)

 	clock_control_on(clock, (void *)CLOCK_CONTROL_NRF_K32SRC);

+	NRF_GPIO->PIN_CNF[30] = ((GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos)
+			    | (GPIO_PIN_CNF_DRIVE_S0S1 << GPIO_PIN_CNF_DRIVE_Pos)
+			    | (GPIO_PIN_CNF_INPUT_Disconnect << GPIO_PIN_CNF_INPUT_Pos)
+			       | (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos));
+
 	/* TODO: replace with counter driver to access RTC */
 	nrf_rtc_prescaler_set(RTC, 0);
 	nrf_rtc_cc_set(RTC, 0, CYC_PER_TICK);

That GPIO toggles at 16 KiHz on a logic analyzer, while there aren't supposed to be any timers set.
Also after a while I get:
***** BUS FAULT *****     err = -1%)
  Unstacking error       s, err = 0%)
***** Hardware exception *****
***** HARD FAULT *****
  Fault escalation (see below)
***** BUS FAULT *****
  Precise data bus error
  BFAR Address: 0xbd525fb4

Please recheck the PR contents against what you're testing.

FWIW: the spam bug was the case where long timeouts (e.g. K_FOREVER) would because of the modular space be indistinguishable from missed ones, so it would set "idle" timeouts for 60ms.  It's definitely fixed in my tree, which has a few other things added as I work through the full test suite.  I just never put the clues together that this bug was just a symptom of the other issue (because my brain was in a "poll a counter" paradigm and I didn't realize the busy wait was a calibrated spin).  I'll push the new version as soon as I get it cleaned up.
Regardless, this bug as reported was wrong.  It works fine.


Being able to filter by foreign table columns

As mentioned here, PostgREST is able to filter and order by foreign columns when using join syntax.
Adding support for this feature would be very useful 🙂

Closing this one out as this feature should be a part of the library now.


[Experiment] Handle package.json watch in tsc --build

Changes in this:
tsc --build --watch mode earlier relied on what package.json were looked up during program construction. This was unreliable way to determine uptodate ness as when doing incremental build (that is tsc --b then some change to package json and then tsc --b, we couldnt look at the package.json as program wasnt created) Now instead we watch and look at all the package.json files that are next to own config or referenced projects's config.
Note we continue to watch using watchFile instead of watching for only file add or delete as package.json is now much more important as brought up here
Fixes #48314

Sounds related:

Also, the SolutionBuilderWithWatchHost framework (which I am using) doesn't seem to include a projects package.json as a file watch-dependecy.... (Note: the tsc program differs from SolutionBuilderWithWatchHost with respect to some watch-dependencies, I'm not sure at this moment whether tsc watches package.json or not).

@craigphicks https://github.com/microsoft/TypeScript/issues/48794#issuecomment-1105661500

The SolutionBuilderState has a field moduleResolutionCache:ModuleResolutionCache which appears from the type to contain a cached copies of package.jsons, or at least some of them.  However, in the test program #48958 the moduleResolutionCache member appears to be empty of information.
If that information was present, then when a package.json watch event occurred, it would be possible to test if the relevant package.json fields were changed or not, and avoid triggering project rebuilds unnecessarily.

We would not be caching the package json's for life times since we want to have similar experience with or without watch. Normally we only watch whole file and if it changed the timestamp, we rebuild it

We would not be caching the package json's for life times since we want to have similar experience with or without watch. Normally we only watch whole file and if it changed the timestamp, we rebuild it

Your logic is correct.  However, improving both incremental-only and incremental+watch behavior should be OK.
If the relevant package.json properties (or just a hash of their stringified version) were stored in a tsbuildinfo file, then both kinds of build could take advantage of the same code logic.
In think the the only definitely TypeScript-relevant fields of a projects own package.json are:

name
main
module
imports
exports
type
types
typesVersions
version  (not definitely needed, but often read and embedded in a release version)

Well we also need to consider size of build info before we start storing all these details .. so storing them isn’t practical esp when there are some huge projects with lots of package jsons

Well we also need to consider size of build info before we start storing all these details .. so storing them isn’t practical esp when there are some huge projects with lots of package jsons

By this do you mean a single Project (one project in a solution of projects) can have up to 1 one package.json for each source directory under it's root? So the worst case scenario would be one package.json per source file?

@andrewbranch @weswigham @amcasey ping on review

I don’t quite understand (3). If I understand correctly, the issue (or part of it) is that files’ impliedNodeFormat gets encoded into tsbuildinfo, which can be influenced by whatever package.json is nearest that file up the directory tree. So if the package.json that determined a file’s impliedNodeFormat changes between two incremental runs, the tsbuildinfo needs to be invalidated. I would expect that any package.json file that contributes to other info serialized into tsbuildinfo would have its timestamp/signature stored in the tsbuildinfo, and it would be part of the up-to-date check for that project.

Now instead we watch and look at all the package.json files that are next to own config or referenced projects's config.

But the package.json file could be one directory above a tsconfig?

@sheetalkamat
Re:  SolutionBuilderState field moduleResolutionCache:ModuleResolutionCache
Is that a dead field now?  (My runtime observation showed just an empty object).
For discussion context, this function in "moduleNameResolver.ts"
export function getPackageJsonInfo(packageDirectory: string, onlyRecordFailures: boolean, state: ModuleResolutionState): PackageJsonInfo | undefined

gets called from every createSourceFile which calls getImpliedNodeFormat which usually eventually calls getPackageJsonInfo which refers to cached value of PackageJsonInfo (or otherwise read the package.json file).

I don’t quite understand (3). If I understand correctly, the issue (or part of it) is that files’ impliedNodeFormat gets encoded into tsbuildinfo, which can be influenced by whatever package.json is nearest that file up the directory tree. So if the package.json that determined a file’s impliedNodeFormat changes between two incremental runs,

I dont think this has anything to do with incremental build or not.
This is about when to re-create the program. In tsc -b mode we parse the tsconfig file and check input files specified in tsconfig (either through wildcards or file list) and their output timestamps. Apart from that we do some more checks like if config file or extends clause config files are more recent than output.
So we do not want to rely on program construction to determine upto date ness.  The current methodology where we determine which package json files to check timestamp, cannot happen when doing tsc -b that is without watch. With watch if program is created then only the list of package json looked up is checked against the output.
So there is discrepancy in whether package json are checked or not.
Now we could encode this in buildinfo but what about non incremental projects that do not have buildinfo associated with them
I did consider storing packagejson for incremental builds and watching package.json next to referenced projects for the non incremental projects but thought that would be confusing..

But the package.json file could be one directory above a tsconfig?

Did think about this and we could go levels up till root directory till we find the package.json file but i thought in most mono repo cases the package.json file would be next to tsconfig and we could add this extra thing when someone reports and avoid having to lookup extra locations.
What are your thoughts on approach between incremental vs non incremental guess ?

Is that a dead field now? (My runtime observation showed just an empty object).

moduleResolutionCache isnt dead field.. we just arent using packagejson looked up during program construction to determine which package.json to look for timestamp validation

@andrewbranch > But the package.json file could be one directory above a tsconfig?
Did think about this and we could go levels up till root directory till we find the package.json file but i thought in most mono repo cases the package.json file would be next to tsconfig and we could add this extra thing when someone reports and avoid having to lookup extra locations.

An important thing to keep in mind when talking about package.json is that TypeScript is trying to smoothly integrate user experience with the new changes in nodejs' use of package.json.
Nodejs looks up the package.json at runtime, so the actual package.json being used is looked up relative to the output directory - it is the first one up from there.
As you say about the most common case:

but i thought in most mono repo cases the package.json file would be next to tsconfig

that is true.  However, there are other cases:

Multiple tsconfig files (with different names) in a single monorepo directory, with different output directories having different package.json.
One tsconfig file in a single monorepo directory, but instead of tsconfig, in the output directory.  One reason a developer a developer might try that is to escape rebuilds every time the package.json is changed even though the change shouldn't affect the build - but that strategy won't work since currently alternate locations are not supported.
A package.json further up - as you say "we could go levels up till root directory till we find the package.json file".

I think it is practical(*) to only support the most common case - certainly to start with it is much better to only support the most common case.
However, it should be documented on the manual page about supporting new nodejs package.json features, if only to cut down on "bug" -> "working as intended" issue clutter.
(*) However, if any change to package.json triggers a rebuild, even a change to "scripts" which should not trigger a rebuild, that would not be practical.  BUT - in fact, I seem to recall experiencing that in some situations a change to package.json does not trigger a rebuild.  I think it might be that you only do a package.json date check on program startup, but that is only a guess.  Perhaps you intentionally made it that way as a practical workaround to cut down unwanted rebuilds from changes to package.json that are not build-related (e.g., changes to scripts)?  That would be an understandable strategy, but to make that strategy advantageous to the user developer, it ought to be documented, because without documentation it can be confusing that package.json  behaves differently from other source files, resulting in time wasting confusion.
When newer-than-oldest-output date checking is performed:

on startup
on watch trigger

package.json
?
?

other source files
true
true

The documentation could be as simple as the above table with the unknown "?" entries filled in, and placed on the manual page about supporting new nodejs package.json features.

After we discussed this in the design meeting, I started to write down the different proposals we discussed, but ran some experiments with tsc --build as it exists today to make sure I understood the status quo. What I found was surprising to me:
// @Filename: tsconfig.json
{
  "compilerOptions": {
    "incremental": false,
    "outDir": "dist",
  },
  "files": ["index.ts"]
}

// @Filename: index.ts
import "./other";

// @Filename: other.ts
export {};

Experiment 1

tsc -b
Edit other.ts
tsc -b --verbose

On step (3), the build is skipped with output

Project 'tsconfig.json' is up to date because newest input 'index.ts' is older than oldest output 'dist/index.js'

So only root files have their timestamps checked—this seems undesirable, but there’s no alternative without a complete file list. This is exactly the problem we were discussing with package.json files. Wes mentioned that the same problem exists for your .d.ts node_modules dependencies; I didn’t realize it actually exists for all non-root files in your program.
Experiment 2
With that realization, I thought enabling incremental in tsconfig.json might “fix” the issue since after the first build, we will have a complete file list in the form of a tsbuildinfo file. I edited the tsconfig, removed the output folder, and ran the same steps. The result was the same: no rebuild after editing a non-root file, even though the tsbuildinfo file listed the file.
Experiment 3
Try editing other.ts under tsc -b --watch, whether the project was already built or not, and whether incremental is true or not. The file is never watched. Compare with tsc --watch, which always watches other.ts.
Experiment 4

Flip incremental back to false
mkdir src && echo 'import "../index";' > src/foo.ts
Replace "files": ["index.ts"] with "include": ["src/**/*"]
rm -r dist
tsc -b --verbose
tsc -b --verbose

Subsequent tsc -b runs always rebuild this project from scratch because the common source directory is assumed to be ./src via the tsconfig, but turns out to be . after all program files are discovered. That is, my dist folder looks like
dist/
├─ src/
│  ├─ foo.js
├─ index.js
├─ other.js

but the build output says

Project 'tsconfig.json' is out of date because output file 'dist/foo.js' does not exist

Experiment 5
Flipping incremental back to true has no impact on the results of Experiment 3.
How this relates to package.json discussions
Multiple proposals put forward in the design meeting about how to handle package.json as an up-to-dateness input when we only discover it is an input after program construction were centered around having a complete file list (either autogenerated and put in a build artifact like tsbuildinfo, or listed by the user in a tsconfig file). There was concern that adding any new restrictions would degrade existing scenarios. But it looks to me like package.json inputs have the exact same problem as non-root files, which already make existing scenarios behave unexpectedly.
Conclusions

Up-to-dateness checks currently do not work well without all program files being covered by the tsconfig. They cannot work well without a cheap way to generate the list of all input files. A build artifact like tsbuildinfo could be used for this purpose, but the tsbuildinfo file currently is not.
If we’re satisfied with all of the above as a known limitation of tsc --build, package.jsons may not need any special handling as they’re just another kind of non-root file, which are never checked for up-to-dateness and apparently never watched in tsc -b --watch. In fact, if we wanted to make tsc -b and tsc -b --watch internally consistent, the thing to do would be to remove the package.json watching we already have, not add more. (I don’t like this option.)
If we’re satisfied with the above as a known limitation of tsc --build but we want to provide users with configuration options that make it actually work for all their input files, including package.json inputs, it seems like we just need a tsconfig field like packageJsonFiles or the generic additionalFiles like Ryan/Wesley suggested. (Supplying these could be enforced under composite, although composite enforces "declaration": true which is unrelated to the goal here.)
If we would prefer to “fix” the behaviors I observed that were surprising to me with the minimum amount of breaking changes / degradation of existing scenarios, I think tsc --build should always produce a per-project artifact listing the files in the compilation that need their timestamps checked in order for the project to be considered up to date. (We could reuse tsbuildinfo files for this, though it is noted that this info is a subset of incremental puts in tsbuildinfo.) This could handle both non-root implementation files and package.json files. Also note that this is not mutually exclusive with option (3).

I think that’s a perfectly coherent mental model, but it seems to be very much not what exists today. As far as I can tell, tsc --build always tries to skip a build by comparing input/output timestamps, regardless of whether it can actually statically determine the set of input files. It simply assumes that your root files are the complete set of input files, which would be guaranteed (modulo package.json files in discussion now) only if composite were set.

``tsc -bcan be thought of as build orchestrator as mentioned by @RyanCavanaugh . It only looks at rootFiles, config file, extended config file and output files timestamps to determine if we should invoketsc -p` on the required project and subsequently either build or not other projects.
tsc -b -w is nothing but watching all the input files that would be time checked. So it doesn't watch non root files. This was by design for now.
To ensure all the files are listed as root files, (barring any d.ts files) we have composite flag that is irrespective of whether you are using --build or not. The composite flag is needed by any project that gets referenced by any other project. When you enable composite flag in a project, it automatically means it has enabled "declaration" and "incremental" flags as well and those flags cannot be turned off.
tsc -b has always ignored timestamp checking as well as watching anything related to module resolution or anything that cannot be determined by just reading tsconfig.json file.
tsc --b has a force flag that builds a project irrespective of its timestamp check and doesnot use tsbuildinfo to determine old program. So its as if you had all sources and you just built the projects.
Incremental build is per project thing where it determines based on file versions from old program and new program's file versions to determine which files need to be emiited/type checked.  Without incremental we would always emit all files. With incremental we emit subset of files that need to be emitted.

@RyanCavanaugh

I think the TL;DR for me on this is that the primacy of package.json in nodeNext means that composite only validating that your input and output source files are statically determinable is maybe not enough anymore - we should basically be validating that we can statically detect all files at least outside of node_modules when determining up-to-dateness.

Certainly the relevant package.json is now part of the build.  @sheetalkamat  has indicated

.... but i thought in most mono repo cases the package.json file would be next to tsconfig

that "package.json" adjacent next to project tsconfig is the only scenario currently supported.  (E.g., checking relative to output directory is not supported.)
That is because (under nodeNext etc.) the transforms depend on some sections of package.json so should trigger a rebuild if that section has changed.
But you say "we should basically be validating that we can statically detect all files at least outside of node_modules when determining up-to-dateness".  Suppose that package.json (in the supported locationm and under nodeNext etc,) now has full source file status.  In that case changes to any project's package.json would trigger rebuilds of own project, and other projects through the composite hierarchy graph, just like any source file would.  Do you mean there is something beyond that, that needs to be accounted for?  (I can think of checking that a cjs module does not call an es6-only module, but I cannot immediately see anything beyond that).
I hate be a bore and repeat myself but I do wish that that this table would be clarified:
Current behavior of when newer-than-oldest-output date checking is performed under tsc -b -w:

on startup
on watch trigger

package.json
true?
false?

other source files
true
true

because it is relevant to whether package.json has full source file status or not.

That confirms all my observations but the design seems weird to me. Timestamp checking and watching under tsc -b is only complete/accurate if the file listing restrictions imposed by composite are met. This means all referenced projects are fine, but it leaves a weird hole to fall into for the root project, which is not required to be composite. Why did we choose this design, and is there still a good reason not to change it?

Is it correct that the hole is the case with these 3 conditions satisfied?

composite not set
contains references to other projects
contains own source file list, and the build pulls unlisted source files.

At least it won't fail to trigger other rebuilds of projects that depend on it, because I guess no other projects depend on it.
But it is still a hole.


Don't hardcode repo2docker path

Easier to test locally

Nice!
Does it make sense to move to using repo2docker as a library eventually? Either way, this is a nice compromise in the meantime.

@pbugnion yup, I think that's the right thing to do. Am lazy though :)
Working on another PR that has instructions on local testing...

I'm going to count your 'approval' as a license to merge :) LMK if that isn't the case...


(Valve Index) (Suggestion) Hands Support?

Hey! Hope this mod is still getting updated. I think it would be cool if hands from the index controllers could be implemented? Also with all of these new controllers having joysticks, I'm not sure if it's possible to maybe implement them as axis (pitch, yaw, roll) instead of using the cockpit controls. I've always found that joystick hard to use. Anyways, great work on the mod!
Windows 10
KSP Version: [1.7.3]
Valve Index
Kerbal-VR Version: [3.2.4]

Have you tried explicitly mapping the controllers' joysticks to KSP controls in the settings menu? I'd be surprised if Windows didn't just register them as joysticks.

Thanks, almost forgot I could do that. It would be great though to have finger tracking in kerbal. Also ive heard that the new 1.8 update has a unity update in it so I believe, for this mod at least there will be a performance increase. Any way to make the mod faster would be nice.

I got an Index recently and am working on revamping the mod from the ground up (it's the development branch named restructured if anyone is interested in building it for themselves). KSP version 1.9 uses a new version of Unity (or maybe that was introduced in 1.8 as you said), and I am getting significant perf gains by taking advantage of multi-threaded rendering in the new Unity version (KSP is using Direct3D11 by default now, without any need for the hacky flags). It's going to be a lot of work to release a new version of the mod, but so far it really is looking promising.
Btw the latest version of the mod I released for KSP 1.9 is crashing way too much, it's completely unstable. The new work I'm doing is 100% stable and achieves much higher framerates (but still keep your gfx settings low 😉).
I'll also be taking advantage of the SteamVR input system, which should help facilitate controller bindings and all that. AND easily allows for finger tracking of course, which is amazing 😀
I agree that using the joysticks on the VR controller is probably a better way to control the craft. That virtual stick truly is difficult to manipulate carefully.

I believe the latest version addresses all the comments in this thread. Closing the issue for now. Please feel free to re-open if necessary, or if you have further feedback.


Pin dep temporarily to fix build issue

Applied fix from https://github.com/facebook/create-react-app/issues/11930
Revert once updated.

Can we have a release for this? it's preventing the build on CRA.

Can we have a release for this? it's preventing the build on CRA.

Hey @ImanMh, this repo is simply a personal project for which I also encountered a build issue when updating my dependencies. It might be more helpful to check out the thread linked up top.

@peterthehan Oops sorry. got it wrong.


Create Gallery “asdf”

Automatically generated by Netlify CMS

👷 Deploy Preview for pensive-borg-bce8d6 processing.
🔨 Explore the source changes: dce14fd07f7ad786b496bcce8238d16dfb9e0284
🔍 Inspect the deploy log: https://app.netlify.com/sites/pensive-borg-bce8d6/deploys/6148df0284e7da00083e9b6d


Triggering one pipeline job from another pipeline fails

Not sure if this is the right place for this, or if its better suited for the openshift-sync plugin, but we've noticed we cannot use the pipeline DSL's built-in build step to trigger a child pipeline in our pipeline jobs.
For CI, we have a "main" pipeline which triggers the build, deploy, and test pipelines within a test environment. Currently, this main pipeline uses the openshift-client plugin's startBuild to trigger pipeline jobs via the BuildConfig; however, we were hoping to use Jenkins directly to trigger the build to avoid some of the overhead of having Jenkins polling OpenShift for the status of its own job.
When using build from the main pipeline to trigger the child pipeline, the child pipeline job will successfully start, but the main pipeline will consider the trigger failed and will fail itself.
Below is a sample OpenShift template which defines two pipeline-strategy BuildConfigs to reproduce the issue. I've tested this on the default Jenkins master image that comes with OCP 3.7 and 3.9.
apiVersion: v1
kind: Template
metadata:
  name: test-pipelines
parameters:
  - name: NAMESPACE
    required: true
objects:

  - kind: BuildConfig
    apiVersion: v1
    metadata:
      name: parent-pipeline
    spec:
      runPolicy: Parallel
      strategy:
        jenkinsPipelineStrategy:
          env:
            - name: ENVIRONMENT
              value: test
            - name: OTHER_PARAM
              value: thing
          jenkinsfile: |-
            environment = "${params.ENVIRONMENT}"
            otherParam = "${params.OTHER_PARAM}"

            node('master') {
              stage 'Build'
              echo "Building ${otherParam} for environment ${environment}..."

              stage 'Deploy'

              build(
                job: "${NAMESPACE}-child-pipeline",
                parameters: [
                  string(name: 'ENVIRONMENT', value: environment)
                ]
              )
            }

  - kind: BuildConfig
    apiVersion: v1
    metadata:
      name: child-pipeline
    spec:
      runPolicy: Parallel
      strategy:
        jenkinsPipelineStrategy:
          env:
            - name: ENVIRONMENT
              value: dev
          jenkinsfile: |-
            environment = "${params.ENVIRONMENT}"

            node('master') {
              stage 'Verify'
              echo "Building environment ${environment}..."
            }

Lastly, I noticed if the job is triggered via build instead of startBuild,  the parameters are "duplicated" in the web UI. I've attached an example image.

Awesome! Thanks for the prompt and informative response. As @bparees said, we'll keep using the openshift-client plugin in the meantime to launch the pipelines but looking forward to seeing this eventually supported. Much appreciated again.

On Fri, Apr 6, 2018 at 4:27 PM, Hayden Fuss<EMAIL_ADDRESS>wrote:

Awesome! Thanks for the prompt and informative response. As @bparees
https://github.com/bparees said, we'll keep using the openshift-client
plugin in the meantime to launch the pipelines but looking forward to
seeing this eventually supported. Much appreciated again.

Sounds good  - thanks.  And yep @bparees, I inferred from the description
they were exploring alternatives to using the client plugin, which they
were doing already using, so that was not why I listed that as an
alternative ;-)

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/openshift/jenkins/issues/568#issuecomment-379367878,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADbadOVMpwNaR961nbbYawDsIjZe-m_hks5tl8-xgaJpZM4TJG6z
.

Trello card https://trello.com/c/Cron2mfq/1564-pipelineintegration-support-build-pipeline-step-with-sync-plugin-pipeline-strategy-builds

@gabemontero additionally, we noticed the Replay functional of pipelines is broken as a result of what you described from what I can tell in the sync-plugin code. Because all jobs not triggered by OpenShift itself are sort of "rejected" and redirected through OpenShift builds, replaying a pipeline job fails according to Jenkins and then obviously the build thats triggered through OpenShift doesn't have the pipeline revisions because it does an SCM checkout.
Should I file separate issue on the sync plugin for the Replay functionality? Also, with the Trello card you posted, will that include a rewrite of the build trigger logic?
It seems like having Jenkins update OpenShift build status rather than funneling everything through OpenShift would be more flexible, but I have no clue as to how big of a lift that is for you guys.

Thanks for the additional findings @brix4dayz
First, yeah, file a separate issue, so that we can short term update the README's restrictions section to include this.  One quick follow up:  were the failures ONLY when your pipeline did SCM checkouts, or did it universally fail?  I'll certainly try a few experiments when I get around to crafting the README update, but if it turns out to not be a more global restriction, the more detail we can get on how you are encountering it, the better.
Based on those details as well, we'll decide whether to create a separate trello card, or include this aspect in the existing one.
The code change for all this will be non-trivial, if possible at all.  And there are implications with our openshift.io team's use of sync plugin as well we are going to have to sort through.


When showsUserLocation is true initialRegion is always the user's location on iOS

If you enable the prop showsUserLocation even if you pass initialRegion the map is centralised by the user's position on iOS

If i use region props it works

Reopening it because

It appears this is the default behavior.

This property does not indicate whether the user’s position is actually visible on the map, only whether the map view should try to display it. Setting this property to YES causes the map view to use the Core Location framework to find the current location and try to display it on the map. As long as this property is YES, the map view continues to track the user’s location and update it periodically. The default value of this property is NO.
Reference: https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKMapView_Class/index.html#//apple_ref/occ/instp/MKMapView/showsUserLocation

Sorry to bring this back up, but I think you're misreading the intention there.

the map view continues to track the user’s location and update it periodically.

I'm fairly certain it just means it updates the marker for the user's location periodically, not that it updates the map's region periodically. I don't see anything in that description regarding the map's location.
Also, you explicitly tell it to follow a user's location in AirMap.m:179. I commented this line out and it seemed to work fine. On that note, @lucasfeliciano, if you want the map to stop forcing itself to the user's location, just comment out that line and rebuild your project.


Harden decomposedfs and add unit tests

Follow up of #2152

@butonic i moved the storage space lookup to the node. pls review again


weston: Move bbappend to apply to weston 4.x

96boards maintainers should verify if these patches
need rework/forward porting
Signed-off-by: Khem Raj<EMAIL_ADDRESS>

Just saw this pull request was already proposed here, but I created a similar one at https://github.com/96boards/meta-96boards/pull/236 checking if the patches were indeed compatible with the 4.x series but at least one needs rework.


missing content

no example (boilerplate text present)
-Identity parameter has no descriptio
-Ring parameter has no description

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

ID: 147adf03-ad24-cf04-4d2e-b2a25049a78e
Version Independent ID: 7e8927aa-019e-499d-2664-34eb19782b38
Content: Set-CsOnlineDirectoryUser (skype)
Content Source: skype/skype-ps/skype/Set-CsOnlineDirectoryUser.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

@officedocsbot assign @yogkumgit

@tomkau Tom,
I could see that -Ring parameter accepts "ring1" and "ring2" however I could not find further information about the specific use of this parameter, can you help me with this? I appreciate.

@get-itips  Thank you very much for the contribution and updating the documentation with PR. @WilliamHCPowell Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Remove unnecessary maven-failsafe-plugin (IT) settings

What this PR does:
Removes settings not needed for IT: JDK args not passed via Maven but by code -- this unlike unit tests where Maven settings needed
Which issue(s) this PR fixes:
N/A
Checklist

[ ] Changes manually tested
[x] Automated Tests added/updated
[ ] Documentation added/updated
[x] CLA Signed: DataStax CLA

ITs stuck, try close + reopen

Since C-4.0 passes I think DSE should be fine too, merging.


Added missing line breaks in the 'docs/setup.md' file

Added a line break before each image in the 'Test Component' section of the 'docs/setup.md' file so that the images display on a new line and not connected to the preceding sentence.

@tirodkar Please accept and merge this PR if you're happy with it, or decline it if you're not happy with it. I'm happy to make further improvements to the setup files but I'm reluctant to commit time to it if it's going to linger in an open state for months.


Please add and publish new Google Material Symbols icons

The packages such as @mui-symbols-material/w300-esm were last published 4 months ago, but 3 months ago Google Material Symbols had new icons added such as add_column_left:
https://github.com/marella/material-symbols/commits/main/svg/300/rounded/add_column_left.svg
Can you please rebuild the packages to include the new icons, and publish new versions?
As a side note; we spent a lot of time debugging why the icons were missing and at first thought it was because the scripts were pulling meta data for the old Google Material Icons:
https://github.com/RubtsovAV/mui-symbols-material/blob/c0db636934de966eed16e468acbd088f05f6047d/packages/300/scripts/download.mjs#L100
The right metadata URL is https://fonts.google.com/metadata/icons?key=material_symbols&incomplete=true, but you then need to filter out the old icon families:
icons = icons.filter(
  (icon) =>
    !ignoredIconNames.has(icon.name) &&
    !icon.unsupported_families.includes('Material Symbols Outlined') &&
    !icon.unsupported_families.includes('Material Symbols Rounded') &&
    !icon.unsupported_families.includes('Material Symbols Sharp'),
);

But, it seems that this is dead code and not even used anyway?
Perhaps because a lot of code was copy pasted as a boilerplate from:
https://github.com/mui/material-ui/blob/a60c952cafba3e36ea86a905c2bef7238eca5f25/packages/mui-icons-material/scripts/download.mjs
But now isn't being used?
There should really be attribution if code was copied from another open source project (MUI), but there is no mention of this in the readme or in the license:
https://github.com/RubtsovAV/mui-symbols-material/blob/c0db636934de966eed16e468acbd088f05f6047d/LICENSE#L3
It would be great to delete the copy pasted code, and not have to add attributions, or, to clean things up a bit and correctly attribute borrowed code.
The readme says:
https://github.com/RubtsovAV/mui-symbols-material/blob/c0db636934de966eed16e468acbd088f05f6047d/README.md?plain=1#L141-L149
But, running pnpm download and pnpm build both fail. It would also be nice if these instructions could be updated so contributors are able to build the packages locally.

Hello @jaydenseric ,
Thank you for bringing this to our attention and for your interest in improving the mui-symbols-material package.
Regarding your query about the metadata, our library utilizes the original Material Symbols font from the material-symbols package. We do not include additional metadata in the icons themselves as our primary focus is to stay in sync with Google's official symbols repository.
I'm excited to share that we've recently released version 0.4.0 of mui-symbols-material, which includes compatibility with Material-UI v6 and updates to the icon sets reflecting the latest changes from Google Material Design. You might find this update relevant to your interests!
P.S. mui-symbols-material is an open-source project, not a commercial one. We thrive on contributions from the community. Contributors typically do not request changes directly; instead, they fork the repo, implement changes, and submit a merge request. We highly encourage you to create a merge request if you have improvements or additions you'd like to see. This collaborative approach helps us maintain the quality and integrity of the package while evolving it to meet community needs.
If you're interested in contributing, please feel free to fork the repository and push your changes for review. Your contributions are much appreciated and are vital to the continued success and improvement of this project.
Thank you again for your support and contribution!
Best regards, Alexander


Tech debt TODOs from the past

The codebase currently contains some minor TODO. We have to address those

#90


Mitigate distributed state dict API

Context
What is the purpose of this PR? Is it to

[ ] add a new feature
[ ] fix a bug
[ ] update tests and/or documentation
[x] other (please add here)

Mitigate distributed state dict APIs from torch.distributed.
To align the inputs, add model input to get_full_optimizer_state_dict and load_from_full_optimizer_state_dict.
Change the sharded_sd input for gather_cpu_state_dict to model.
Changelog
What are the changes made in this PR?
*
Test plan
Please make sure to do each of the following if applicable to your PR. If you're unsure about any one of these just ask and we will happily help. We also have a contributing page for some guidance on contributing.

[ ] run pre-commit hooks and linters (make sure you've first installed via pre-commit install)
[ ] add unit tests for any new functionality
[ ] update docstrings for any new or updated methods or classes
[ ] run unit tests via pytest tests
[ ] run recipe tests via pytest tests -m integration_test
[ ] manually run any new or modified recipes with sufficient proof of correctness
[ ] include relevant commands and any other artifacts in this summary (pastes of loss curves, eval results, etc.)

UX
If your function changed a public API, please add a dummy example of what the user experience will look like when calling it.
Here is a docstring example
and a tutorial example

[ ] I did not change any public API
[ ] I have added an example to docs or docstrings

Codecov Report
Attention: Patch coverage is 3.38983% with 57 lines in your changes missing coverage. Please review.

Project coverage is 65.26%. Comparing base (f2bd4bc) to head (8b575be).
Report is 3 commits behind head on main.

Files with missing lines
Patch %
Lines

torchtune/training/_distributed.py
3.50%
55 Missing :warning:

tests/torchtune/training/test_distributed.py
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##            main    #2138       +/-   ##
==========================================
+ Coverage   9.33%   65.26%   +55.93%
==========================================
  Files        289      334       +45
  Lines      16959    19192     +2233
==========================================
+ Hits        1583    12526    +10943
+ Misses     15376     6666     -8710

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update for 4.x indexes API (closes #45)

CI being broken certainly doesn't help :(

I’ve made some progress repairing the CI builds. A lot of failures (probably related to https://github.com/kinglozzer/silverstripe-mssql/commit/586dac5358f792adb4a94e4d4c137027bff443e1) and a fatal error with CSV parsing that I guess must be Windows-related 😕

related: https://github.com/silverstripe/silverstripe-framework/issues/7974

I'm afraid it's no go ol' chap... because most unfortunately you've removed the critical parts to complete the implementation of the abstract superclass in https://github.com/silverstripe/silverstripe-mssql/commit/321b9fe89092bd7aa26a418829a5f2f06fca67ce
:>

That’s master I believe, the 2.0 branch and this pull request should be fine

Ah. Of course, you've updated the branch alias since then too 😅
I submit an argument that the 2.0 tag is wrong :P
As is the 2.0.1 tag, in that neither are even functional, let alone bug free enough to warrant release tags.
But never mind, we're here now.
I think that the generator work (the only thing that master is ahead with) is fine to be in the 2.x release line, in that it's modifying (repairing!) existing functionality, rather than altering the public API.
But that's by the by.
I'll re-test against the 2.0 branch :)

Yeah I was just going to create a 2 branch, but then someone needs to remember to branch off a 2.0 branch before merging any new features... easily forgotten. Point taken about 2.0.1, at the time I thought it was just the installer that was broken but should’ve checked!
The generator work isn’t compatible with SilverStripe 4, so that can’t go in 2.x. That’s why I created a 2/2.0 branch - because we didn’t have a 4-compatible release line 😅

Not compatible with 4? :o
What prevents that?
Perhaps should bump the master requirements to framework 5.x-dev?
But yeah, this whole module has been in need of some love for some time I think.
In other news though, by gosh you've done it good lad :D
Site now successfully completes a dev/build.
Cheeky delete tag and re-tag 2.0.0? :P :trollface:
But seriously, this could probably be tagged. Depends on how much testing we feel like we should submit the adapter to... since the unit tests are all but useless in that they test the DBDatetime more than they do the adapter itself :<
And the CI is broken so we can't even tell if a dev/build to be able to run the tests works...
In any case, This should be merged.

I’m going to break the self-merge rule given that I’ve now got @NightJar’s blessing (and this module is currently broken in SS4)

Added an issue for the test failures here https://github.com/silverstripe/silverstripe-mssql/issues/53


Single-Shot Mode Not Immediately Triggering on S4/S3

If you run the demo app on the Galaxy S4, and toggle on single-shot mode via the overflow, it takes two presses of the take-a-photo action bar item to actually get the single shot to be taken. This is unexpected behavior; it should only require one, the way it does on other devices like the Galaxy Nexus.
The StackOverflow question that pointed out this problem also indicates that the flawed behavior is seen on the Galaxy S3 as well.

I decided it was best to respond here.
First Question: Is this a problem with the demo app specifically, or with the libraries useSingleShot() method?
The reason I ask is because in my cwac-camera app, on a galaxy s5, I tap the screen which calls takePicture(). It plays the audio click button and the image is saved. Yet the preview never freezes. If I wait several seconds and try again, it crashes complaining that I have to be in preview mode to take a picture, as though it isn't  in preview mode even though it still looks like it is. useSingleShot() mode appears to work perfectly on other phones such as the Nexus 5.
Is this the problem described in this issue?  Does me tapping the screen twice to call takePicture replicate what is done with the ActionBar button? Or do I have to implement that specifically to replicate that fix?

Is this a problem with the demo app specifically, or with the libraries useSingleShot() method?

Neither, insofar as the speed is not tied to either of them. The demo app could certainly have better UX for addressing this, to let the user know that we are working on getting the image, such as by disabling the action bar item until the picture is ready.

Is this the problem described in this issue?

No.

Does me tapping the screen twice to call takePicture replicate what is done with the ActionBar button?

I have no idea.

Or do I have to implement that specifically to replicate that fix?

No. That is not a fix, as is noted in my second entry in this issue.

If I wait several seconds and try again, it crashes complaining that I have to be in preview mode to take a picture, as though it isn't in preview mode even though it still looks like it is.

If you are able to reproduce this with one of the demo apps, open a new issue where you provide the specific details of your device (i.e., Build.PRODUCT, not just "galaxy s5", as there's about six of those) and provide the steps to reproduce the problem.
If you cannot reproduce this with one of the demo apps, but you can publish the source to something that can reproduce this, open an issue with a link to that source, the specific details of the device, and the steps for using the linked-to source to reproduce the problem.


getLocations API documenation is missing?

Describe the bug
We are using the following API call on our Portal UI code: https://management.azure.com/locations?api-version=2017-03-01 in order to fetch azure regions - however I can't find it on the documentation - the only API I can find is listing locations based on subscriptionId (https://docs.microsoft.com/en-us/rest/api/resources/subscriptions/listlocations).
Is this API documented somewhere?
Desktop (please complete the following information):

OS: Windows10
Browser: edge
Version: 86

@rloutlaw Can you answer about whether the getLocations API is documented?

Thanks for the tag-in :)
The endpoint above isn't an Azure Resource Manager(ARM)  REST API call-that's what we have documented over at docs.microsoft.com/rest/api/azure . I reviewed our list of API docs and I couldn't find one that corresponded to this API mentioned by @adibiton
If there is docs for this-it's not on docs.microsoft.com , and I would strongly suggest if possible to update the call to use the ARM APIs or (if you do not need the results in source code) to look at the docs for az account list-locations or Get-AzLocation.

Thanks @rloutlaw
I'm not sure I understood your replay - this API is being used by the (UI) Portal, is it not documented by design? is there an equ. call with ARM API?


autocompletion using isbn

At this stage, the frontend receives data through the backend using ISBN. I don't fully understand how to implement this using the title of the book. For example, a search for the name "MongoDB" for Google returns 400+ matches.