Combination of transclude, templateUrl, require produces "Error: [$compile:ctreq] Controller 'foo', required by directive 'blubb', can't be found!"

Dear angular guys,
we encountered following unexpected error message while using a combination of transclude with fallback content, templateUrl, and require:
angular.js:13642 Error: [$compile:ctreq] Controller 'foo', required by directive 'blubb', can't be     found!
http://errors.angularjs.org/1.5.6/$compile/ctreq?p0=foo&p1=blubb
    at angular.js:68
    at getControllers (angular.js:9237)
    at getControllers (angular.js:9244)
    at nodeLinkFn (angular.js:9160)
    at compositeLinkFn (angular.js:8459)
    at nodeLinkFn (angular.js:9151)
    at angular.js:9496
    at processQueue (angular.js:16104)
    at angular.js:16120
    at Scope.$eval (angular.js:17378)

The error occurs in following situations:

A directive "bar" is defined with transclusion and an embedded fallback content
The embedded fallback-content contains a directive "barr" which template is loaded via templateUrl
The template of "barr" contains a directive "blubb" which requires a top controller "foo"
Directive "bar" is used and own content is provided so the transclusion fallback content should be discarded.

The error does not show up, if no content on "bar" is provided and fallback content is used. Either it does not show up if template is provided via "template"-property and not "templateUrl"-property.
It looks like the error has no functional impact and just produces noise in the javascript console.
Reproducable: always
Browsers: Chromium 50, Firefox 46
Operating system: Linux
AngularJs:  1.5.6, 1.4.0, 1.3.0
Steps to reproduce:
You can run this: https://plnkr.co/edit/0r3IFyL8og0Wo4sGIPBW
Or use following code:
<!DOCTYPE html>

<html>

<head>
  <script<EMAIL_ADDRESS>data-semver="1.5.6" src="https://code.angularjs.org/1.5.6/angular.js"></script>
  <link rel="stylesheet" href="style.css" />
</head>

<body ng-app="myApp">
  <div foo>
    <!-- Produces error in console -->
    <bar>Hi there!</bar>
    <!-- Works fine -->
    <bar></bar>
  </div>

  <script>
    angular.module('myApp', [])
      .directive('foo', function() {
        return {
          restrict: 'A',
          controller: function(){}
        };
      })
      .directive('bar', function($templateCache) {
            return {
              transclude: true,
              template: '<ng-transclude><barr></barr></ng-transclude>'
            };
      })
      .directive('barr', function($templateCache) {
        $templateCache.put("tmpl/barr.html", '<div blubb>Hello World!</div>');
        return {
          templateUrl: 'tmpl/barr.html'
        };
      })
      .directive('blubb', function() {
        return {
          restrict: 'A',
          require: ['^foo'],
          link: function() {}
        };
      })
  </script>
</body>

</html>

update 1:
Our expected behaviour is that if the "fallback content" from a transclude is not used there should be no lookup of required controllers from any directives from inside this discarded "fallback content".

Seems similar to #14765 (but I'm not sure).

@gkalpak Was going to tinker with this later since I've had to work around this in my own code.  The gist of the problem is that the "fallback" content isn't handled correctly.
ngTransclude needs to be terminal or something such that if $transclude returns content, then the fallback child content isn't compiled and linked.  There's also technically an unreported memory leak that I noticed here that's very related; if there was fallback content that created scopes and stuff, those scopes aren't cleaned up when the transclusion occurs, so it's wasted memory/watchers/etc.
That all goes away if it's made terminal and manually calls $compile on the contents only if necessary.


fix: adds transpilation for ie11

added postbuild step to run babel on final output to convert web-component-wrapper's es6+ code.

This can eventually be replaced with https://github.com/vuejs/vue-web-component-wrapper/pull/32


feature request: better localization or a way to plugin IStringLocalizer without external di

great work on this library!
I understand the localization was based on the MS SiteMapProvider system used in WebForms, but hope you are open to taking it beyond that.
My specific need is to be able to pull resource strings from a separate class library project that has the public compiled resx files. The current implementation is limited to resx files in App_GlobalResources.
I found examples of plugging in custom IStringLocalizer to do what I want
https://github.com/NightOwl888/MvcSiteMapProvider_ExternalResources
but, it required using external di, which is pretty complicated and after a day of thrashing I could not get it to work in my scenario with ninject, owin startup with ninject webhost, doing manual integration of the code as configuration module based on the readme
so I'm hoping you might consider either improving the built in StringLocalizer.cs to be able to support a syntax for specifying the assembly class and key? maybe borrowing from the above example?
or if not, then a way to plugin a custom IStringLocalizer based on configuration, ideally done in a way such that you could pass in the mvcContextFactory to a custom implementation the same as it is passed into the current one.
the relevant code seems to be at line 81 in SiteMapNodeFactoryContainer.cs
private ILocalizationServiceFactory ResolveLocalizationServiceFactory()
{
return new LocalizationServiceFactory(
new ExplicitResourceKeyParser(),
new StringLocalizer(this.mvcContextFactory));
}
Thanks for your consideration of this request!

Thanks for the feedback.
Actually, this is already a priority. There are 2 parts to this issue:

Formalizing the localization extension point.
Creating an alternative to requiring a DI container.

The first issue is not that complicated. My thought is to create an alternative implementation of IStringLocalizer that has a dependency that will be the new localization extension point, and would appreciate any feedback on exactly what input parameters it should have. I am considering getting rid of the "implicit localization" (or at least discouraging it), since the rules of that game are clearly violated when loading nodes dynamically.
The second issue is something that I started a few months ago, but have since been sidetracked on other things (I have to make a living, too). Basically, it involves creating a fluent configuration API to replace the whole "internal vs external DI" concept. My plan is to add it using a builder pattern in addition to the existing API, so the external DI that some people are currently using won't just fall apart, but people can migrate to the new API when they have the time to do so.
Essentially, this optional configuration API will sit in the composition root of the application, and you will be able to extend it by only specifying the piece that you want to extend, as done in DI friendly library.
// pseudo-code
configuration
    .AddSiteMap("MySiteMap")
    .WithLocalizationProvider(new MyLocalizationProvider(TheAssembly, "SomeResourceName"));

I am still working on the details, but the general idea is that you will be able to use either a DI container or the new keyword to inject your dependencies, and you will be able to specify only the dependency that you need to inject, all others will use the default. I am using DI Friendly Framework and DI Friendly Library as guides.
But with my current schedule, and a mostly-finished implementation of XML Sitemap taking priority, this is probably several months off from becoming a beta release.
In the meantime, I recommend using external DI to configure MvcSiteMapProvider. If there are any specific problems you are having with the DI setup, please post code to reproduce the issue. Or better yet, create a demo project and either post it where it can be downloaded or put it on GitHub, then open a new issue.
I recommend reading the book Dependency Injection in .NET, because it provides details about how to refactor to design patterns to make DI possible in a wide variety of applications.
But for now, I am closing this issue, because it is basically a duplicate of #344.


FR - Add possibility to Venus Influx Loader to connect to local InfluxDB and Grafana Instances

I already have a server running InfluxDB v2 and another server running Grafana. Is it possible to add to the configuration of the Venus Influx Loader that data can be written to a local Influx DB server?
I prefer to keep all my buckets at  one location.

@Dunnenj Using your own Grafana server is super easy, simply configure an InfluxDB datasource and if necessary add a predefined dashboards or create your own. The datasource and dashboards are here: https://github.com/victronenergy/venus-grafana/tree/main/grafana.
As for Influx, we currently support only Version 1.8 to cover wide range of devices, Influx 2 and 3 support is documented and planned but low priority. Please see https://github.com/victronenergy/venus-influx-loader/issues/33 and  https://github.com/victronenergy/venus-influx-loader/issues/34 for a discussion.


Simplify and/or instructions with identical operands

And/Or instructions with identical operands are no-ops so remove them, and replace with their input.
This optimisation allows the pattern matching in the while-loop-trip-count-annotator to hit some cases that are missed in a model I'm running.

@r4nt  Can you please review this PR ? Thank you!

@Sam-Hornby Can you please resolve conflicts? Thank you!

Hi @Sam-Hornby Any update on this PR? Please. Thank you!


1024 error when getting the Person credential

Description of problem
While attempting to get a Person credential, this individual saw a 1024 error message (see screenshot). An reinstall of their wallet did not help.
Afterwards, they saw a "Cannot create credential" error message within the id.gov.bc.ca webview.
Expected behavior
Steps to reproduce

this individual had an existing and active BCSC app.
they downloaded the wallet and then attempted to get their person cred.
they were using an Android device with Chrome browser (apologies versions were not captured).
wifi was turned off and cell data on (fast.com speeds of 70-80mbps).
Step 1 screen prompt (confirming BCSC app setup) would show as being successful.
Step 2 screen prompt of getting the person cred is where the process would fail to complete.
There was prolonged waiting (spin) with no feedback until failure (observed that when spin is prolonged without feedback user behaviour was to "x" out because they think "it's done" or to "try again").
The detailed error message above was hidden under a 1 liner plain language precursor error message that pops up about failing to get the person cred. As part of that message there is a Show Details hyperlink - when that is selected it provides the detailed message above.
There was also a firewall error message that came up at a later step once the above error was accepted ("okay") that didn't make sense given 3 above.
the switching between Wallet and BCSC on Chrome is not clear (related to 7 above) especially and further compounded when back to back error messages start to occur.
As noted above, Wallet uninstall and re-install (from the app store) was completed as the final troubleshooting step and it did not resolve and instead led to the second screenshot.

Screenshots and/or log output

Environment

[x] Occurs on Android
[ ] Occurs on iOS

Build #: 1.0.06
Android Device Model:
iOS Device Model:
Workaround
Severity

[x] High
[ ] Medium
[ ] Low

Please update severity to high as this is an unpredictable production issue at the beginning of the experience which makes this a high candidate for abandonment and negative user experience.  This was 15mins of 1:1 troubleshooting and observation that ended without getting the person cred.

this individual had an existing and active BCSC app.
they downloaded the wallet and then attempted to get their person cred.
they were using an Android device with Chrome browser (apologies versions were not captured).
wifi was turned off and cell data on (fast.com speeds of 70-80mbps).
Step 1 screen prompt (confirming BCSC app setup) would show as being successful.
Step 2 screen prompt of getting the person cred is where the process would fail to complete.
There was prolonged waiting (spin) with no feedback until failure (observed that when spin is prolonged without feedback user behaviour was to "x" out because they think "it's done" or to "try again").
The detailed error message above was hidden under a 1 liner plain language precursor error message that pops up about failing to get the person cred.  As part of that message there is a Show Details hyperlink - when that is selected it provides the detailed message above.
There was also a firewall error message that came up at a later step once the above error was accepted ("okay") that didn't make sense given #3 above.
the switching between Wallet and BCSC on Chrome is not clear (related to #7) especially and further compounded when back to back error messages start to occur.
As noted above, Wallet uninstall and re-install (from the app store) was completed as the final troubleshooting step and it did not resolve and instead led to the second screenshot.

As discussed, can we please look at:

root cause
decoding the error message
recreating (if possible)
resolution steps

This will be fixed by #2023

Assigned to @bryce-mcmath because he's working on #2023 which will fix this issue.

Proxy mentioned above is now available in developer settings, hopefully it will help bypass this issue


Query string doesn't escape + character

Express treats + as a space character, while this library doesn't percent-encode it. Do you think we could add that feature? I think I saw relevant code in Data.URI.Common, under printFragmentOrQuery - I think the regex for matching might be misleading.

Ughhh. We recently (v4) changed the behaviour of this to behave more correctly... + is only supposed to be treated as a space in application/x-www-form-urlencoded post data.
I'll trawl the spec some more and see if I can find some examples to see whether the current behaviour is correct or not. I'm not sure what to suggest if this is a bug in express - I imagine it's probably an "intentional bug" in that it is often incorrectly expected to work this way, even though it's not as the spec says.

Yeah, I think what we're doing is correct. RF3986 defines the query component of a URL:
query         = *( pchar / "/" / "?" )

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded   = "%" HEXDIG HEXDIG
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

So if we added percent encoding for +, it would mean that parsing and then printing a URL would potentially change its meaning.
Perhaps we need an alternative (or customisable) pretty printer that will print URLs for browsers in a different way with additional special cases for things like this. The wikipedia article on query strings suggests it's not particularly well behaved for browsers in general.

Ah wow I thought x-www-urlencoded was the standard for all percent-encoded query strings. It sounds like this is an express bug, though. I don't see why I can't just make bindings to Node's lower level HTTP gunk, and make a better web server lib intended for purescript.
Thank you for your help and expertise!!

I'm not really sure what the expected behaviour should be here really - I think it's just ambiguous, since it seems that it's undefined in general as to how + should be treated, and it's left up to the consumer to determine the appropriate behaviour.
Assuming you don't want to rewrite express :wink: (or switch to using something like Hyper) I'd suggest writing a custom renderer for your app perhaps?
If it's a persistent problem people have then we probably should add some stuff to the library to support it.

I'm plumbing a base64 string in a query parameter - I was considering just swapping + with another character, but I think I'll just try Hyper. I think it would be useful to have express compatibility in this lib, but... I would rather see people adopt a different tech like Hyper.
Thank you again for your help!!


Ssh obm service

This PR Jenkins:depends on RackHD/on-core#218 and Jenkins:depends on RackHD/on-tasks#361
In this PR:
Move sshSettings from nodes.
Create /ibms and /ibms/{identifier} like the obms .
Backward compatible with 1.1 like obms.
Schema/view for ibms.
unit-test fix

@RackHD/corecommitters @dalebremner @brianparry @BillyAbildgaard @geoff-reid

@RackHD/corecommitters please review.

BUILD on-http #2680 : FAILURE

** BUILD build-config-setup  #129657: SUCCESS
** BUILD unit-tests  #9650: UNSTABLE
** BUILD smoke-test  #3568: FAILURE

BUILD unit-tests  #9650  Error Logs:
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:441:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:454:27)
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)

@RackHD/corecommitters - the unit test failures are due to on-core dependency.

BUILD on-http #2696 : FAILURE

** BUILD build-config-setup  #130847: SUCCESS
** BUILD unit-tests  #9716: UNSTABLE
** BUILD smoke-test  #3597: FAILURE

BUILD unit-tests  #9716  Error Logs:
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)

FYI the unit-test failure is due to on-core dependency.

BUILD on-http #2707 : FAILURE

** BUILD build-config-setup  #134187: SUCCESS
** BUILD unit-tests  #9759: UNSTABLE
** BUILD smoke-test  #3615: FAILURE

BUILD unit-tests  #9759  Error Logs:
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)

test this please

test this please

BUILD on-http #2746 : FAILURE

** BUILD build-config-setup  #136924: SUCCESS
** BUILD unit-tests  #9877: UNSTABLE
** BUILD smoke-test  #3661: FAILURE

BUILD unit-tests  #9877  Error Logs  ▼Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
    at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)

BUILD on-http #2747 : FAILURE

** BUILD build-config-setup  #136951: SUCCESS
** BUILD unit-tests  #9878: UNSTABLE
** BUILD smoke-test  #3662: FAILURE

BUILD unit-tests  #9878  Error Logs  ▼Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
    at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
    at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
    at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)

@srinia6 a strange issue.
When get description by github api
It get
This PR Jenkins:depends on https://github.com/RackHD/on-core/pull/222 and Jenkins:depends on RackHD/on-tasks#361

RackHD/on-tasks#361 but not a URL.
I add sub line to correct this
jenkins: depends on https://github.com/RackHD/on-tasks/pull/361
test this please

BUILD on-http #2749 : FAILURE

** BUILD build-config-setup  #136990: SUCCESS
** BUILD unit-tests  #9886: UNSTABLE
** BUILD smoke-test  #3665: FAILURE

BUILD unit-tests  #9886  Error Logs  ▼Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
    at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)

BUILD on-http #2750 : FAILURE

** BUILD build-config-setup  #136995: SUCCESS
** BUILD unit-tests  #9887: UNSTABLE
** BUILD smoke-test  #3666: FAILURE

BUILD unit-tests  #9887  Error Logs  ▼Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
    at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)

BUILD on-http #2751 : FAILURE

** BUILD build-config-setup  #137002: SUCCESS
** BUILD unit-tests  #9888: FAILURE
** BUILD smoke-test  #3668: FAILURE

@srinia6 : this is a reminder for you. When I worked on the issue https://github.com/RackHD/RackHD/issues/483, I found the obm setting was not added while manually adding node, so the node's discovery will fail. The solution is in my PR https://github.com/RackHD/on-http/pull/524.
After the ibm is merged, and when you plan to move the snmpSettings into ibm, don't forget this issue.

BUILD on-http #2799 : FAILURE

** BUILD build-config-setup  #146393: SUCCESS
** BUILD unit-tests  #10007: UNSTABLE
** BUILD smoke-test  #3737: FAILURE

BUILD unit-tests  #10007  Error Logs  ▼Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
    at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
    at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
    at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)

@yyscamper  : Looking at your PR, that is no way related to this PR. https://github.com/RackHD/on-http/pull/524 What issue are you talking about?

BUILD on-http #2803 : FAILURE

** BUILD build-config-setup  #146898: SUCCESS
** BUILD unit-tests  #10011: UNSTABLE
** BUILD smoke-test  #3741: FAILURE

BUILD unit-tests  #10011  Error Logs  ▼Test Name: Http.Api.Ibms /api/2.0/ibms/definitions should get the ssh IBM schema
Error Details: expected 200 "OK", got 404 "Not Found" Response body: { message: '/api/2.0/ibms/definitions/ssh-ibm-service.json Not Found',   status: '404',   UUID: '12979859-636f-4346-b6b9-a23fb9a50467' } Error: expected 200 "OK", got 404 "Not Found"     at Test._assertStatus (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:232:12)     at Test._assertFunction (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:247:11)     at Test.assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:148:18)     at assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:127:12)     at /home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:124:5     at Test.Request.callback (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)     at IncomingMessage.<anonymous> (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)     at emitNone (events.js:72:20)     at IncomingMessage.emit (events.js:166:7)     at endReadableNT (_stream_readable.js:921:12)     at nextTickCallbackWith2Args (node.js:442:9)     at process._tickDomainCallback (node.js:397:17)
Stack Trace: Error: expected 200 "OK", got 404 "Not Found"
    at Test._assertStatus (node_modules/supertest/lib/test.js:232:12)
    at Test._assertFunction (node_modules/supertest/lib/test.js:247:11)
    at Test.assert (node_modules/supertest/lib/test.js:148:18)
    at assert (node_modules/supertest/lib/test.js:127:12)
    at node_modules/supertest/lib/test.js:124:5
    at Test.Request.callback (node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)
    at IncomingMessage.<anonymous> (node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)
    at endReadableNT (_stream_readable.js:921:12)
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should return a 404 if the node was not found
Error Details: expected 404 "Not Found", got 400 "Bad Request" Response body: { message: '"ssh-ibm-service.json#/definitions/Ibm is not loaded"',   status: '400',   UUID: 'c77afd34-dde8-424a-b2aa-c4673b2eba1a' } Error: expected 404 "Not Found", got 400 "Bad Request"     at Test._assertStatus (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:232:12)     at Test._assertFunction (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:247:11)     at Test.assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:148:18)     at assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:127:12)     at /home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:124:5     at Test.Request.callback (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)     at IncomingMessage.<anonymous> (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)     at emitNone (events.js:72:20)     at IncomingMessage.emit (events.js:166:7)     at endReadableNT (_stream_readable.js:921:12)     at nextTickCallbackWith2Args (node.js:442:9)     at process._tickDomainCallback (node.js:397:17)
Stack Trace: Error: expected 404 "Not Found", got 400 "Bad Request"
at Test._assertStatus (node_modules/supertest/lib/test.js:232:12)
at Test._assertFunction (node_modules/supertest/lib/test.js:247:11)
at Test.assert (node_modules/supertest/lib/test.js:148:18)
at assert (node_modules/supertest/lib/test.js:127:12)
at node_modules/supertest/lib/test.js:124:5
at Test.Request.callback (node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)
at IncomingMessage.<anonymous> (node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)
at endReadableNT (_stream_readable.js:921:12)

BUILD on-http #2804 : FAILURE

** BUILD build-config-setup  #146940: SUCCESS
** BUILD unit-tests  #10012: UNSTABLE
** BUILD smoke-test  #3742: FAILURE

BUILD unit-tests  #10012  Error Logs  ▼Test Name: Http.Api.Ibms /api/2.0/ibms/definitions should get the ssh IBM schema
Error Details: expected 200 "OK", got 404 "Not Found" Response body: { message: '/api/2.0/ibms/definitions/ssh-ibm-service.json Not Found',   status: '404',   UUID: '57020694-0115-418e-a6c0-a238e01cd30f' } Error: expected 200 "OK", got 404 "Not Found"     at Test._assertStatus (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:232:12)     at Test._assertFunction (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:247:11)     at Test.assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:148:18)     at assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:127:12)     at /home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:124:5     at Test.Request.callback (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)     at IncomingMessage.<anonymous> (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)     at emitNone (events.js:72:20)     at IncomingMessage.emit (events.js:166:7)     at endReadableNT (_stream_readable.js:921:12)     at nextTickCallbackWith2Args (node.js:442:9)     at process._tickDomainCallback (node.js:397:17)
Stack Trace: Error: expected 200 "OK", got 404 "Not Found"
    at Test._assertStatus (node_modules/supertest/lib/test.js:232:12)
    at Test._assertFunction (node_modules/supertest/lib/test.js:247:11)
    at Test.assert (node_modules/supertest/lib/test.js:148:18)
    at assert (node_modules/supertest/lib/test.js:127:12)
    at node_modules/supertest/lib/test.js:124:5
    at Test.Request.callback (node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)
    at IncomingMessage.<anonymous> (node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)
    at endReadableNT (_stream_readable.js:921:12)
Test Name: Http.Api.Ibms /api/2.0/ibms should return a list of IBM instances
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:106:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should put an IBM instance
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:121:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with unloaded schema
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:133:26)
Test Name: Http.Api.Ibms /api/2.0/ibms should 400 when put with missing field
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:145:26)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "before each" hook for "should get an IBM instance"
Error Details: Should wrap property of object
Stack Trace: TypeError: Should wrap property of object
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:67:23)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:61:26)
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:160:19)
Test Name: Http.Api.Ibms /api/2.0/ibms/:id "after each" hook for "should get an IBM instance"
Error Details: Cannot read property 'needByIdentifier' of undefined
Stack Trace: TypeError: Cannot read property 'needByIdentifier' of undefined
at Context.<anonymous> (spec/lib/api/2.0/ibms-spec.js:166:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a list of the node's ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:383:27)
Test Name: 2.0 Http.Api.Nodes GET /nodes/:identifier/ssh should return a 404 if the node has no ssh settings
Error Details: Cannot read property 'findAllByNode' of undefined
Stack Trace: TypeError: Cannot read property 'findAllByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:400:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should replace existing settings with a new set of ssh settings
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:436:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should add a new set of ssh settings if none exist
Error Details: Cannot read property 'upsertByNode' of undefined
Stack Trace: TypeError: Cannot read property 'upsertByNode' of undefined
at Context.<anonymous> (spec/lib/api/2.0/nodes-spec.js:449:27)
Test Name: 2.0 Http.Api.Nodes POST /nodes/:identifier/ssh should return a 404 if the node was not found
Error Details: expected 404 "Not Found", got 400 "Bad Request" Response body: { message: '"ssh-ibm-service.json#/definitions/Ibm is not loaded"',   status: '400',   UUID: 'd1e956ed-482a-4af7-863c-c93e134580b3' } Error: expected 404 "Not Found", got 400 "Bad Request"     at Test._assertStatus (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:232:12)     at Test._assertFunction (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:247:11)     at Test.assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:148:18)     at assert (/home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:127:12)     at /home/jenkins/workspace/on-http/build/node_modules/supertest/lib/test.js:124:5     at Test.Request.callback (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)     at IncomingMessage.<anonymous> (/home/jenkins/workspace/on-http/build/node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)     at emitNone (events.js:72:20)     at IncomingMessage.emit (events.js:166:7)     at endReadableNT (_stream_readable.js:921:12)     at nextTickCallbackWith2Args (node.js:442:9)     at process._tickDomainCallback (node.js:397:17)
Stack Trace: Error: expected 404 "Not Found", got 400 "Bad Request"
at Test._assertStatus (node_modules/supertest/lib/test.js:232:12)
at Test._assertFunction (node_modules/supertest/lib/test.js:247:11)
at Test.assert (node_modules/supertest/lib/test.js:148:18)
at assert (node_modules/supertest/lib/test.js:127:12)
at node_modules/supertest/lib/test.js:124:5
at Test.Request.callback (node_modules/supertest/node_modules/superagent/lib/node/index.js:703:3)
at IncomingMessage.<anonymous> (node_modules/supertest/node_modules/superagent/lib/node/index.js:922:12)
at endReadableNT (_stream_readable.js:921:12)

FYI - Jenkins build and CI failures are due to unavailability of on-core models.


Feature Request - Webapp for account generation

As an analyst/developer of DGConnect-ESRI, I would like to create an account via a web link by providing required information for creating the free account.
Acceptance Criteria:

Input information on a web link - https://iipbeta.digitalglobe.com/accountcreation
Receive email with username and randomly generated password
Free account created above is ready to use

Merged account creation into GBDX registration.


Fix dynamically adding fields to non-existent tab

When dynamically adding a field to a tab that does not exist in the original model form, the config for it does not exist yet.

Is there an issue for this? Or reproduction instructions? Are you able to add a unit test for it?

Is there an issue for this? Or reproduction instructions? Are you able to add a unit test for it?

@LukeTowers I added a unit test for this.


Fuse "IDEVID CERT IDEVID ATTR" and IDevID Certificate incomplete correlation, discrepancy and typo.

Summary:  Caliptra main specification and Caliptra Integration spec. do not fully define the fuse "Certificate Attribute" fields with corresponding fields in the IDevID Certificate.    There is also typo in the Caliptra ROM spec.  Details below.

What does fuse Certificate Attribute "Flags (byte 0, bits [1:0]): Key ID algorithm for IDevID Subject Key Identifier" correspond to in the IDevID Cert ?   I.e. is Table 7: IDevID certificate missing the "Subject Key Identifier" field?

What should fuse Certificate Attribute "Subject Key ID (bytes 4 to 23) " be when fuse Certificate Attribute's Flags != 3?

What is fuse Certificate Attribute "Manufacturer Serial Number (bytes 28 to 43):" used for?  Table 7 does not have such a IDevID certificate field.

There are discrepancies in the Certificate Attributes (i) fuse size and (ii) location of fields among various specification.  Main spec encoding of these attribute fuses below table 7 defines attributes = 44 bytes, versus

the followings with 96 bytes:  Fuse Map table 19 with 768 bits = 96bytes  (https://github.com/chipsalliance/Caliptra/blob/main/doc/Caliptra.md#fuse-map),
ereg fuse register fuse_idevid_cert_attr  fuse array size = 0x60 ,  and
ROM spec. 768 bits

Typo in ROM spec FUSE_IDEVID_CERT_ATTR with same encoding value of "2" for both SHA256 and SHA384 selections.

ROM spec FUSE_IDEVID_CERT_ATTR fields & locations discrepancies with that in the Caliptra main spec.'s encoding of these attribute fuses below table 7

The fuse IDEVID_CERT_ATTR bits 0 and 1 tell Caliptra ROM what is the format and the input data for the IDevID subject key identifier. Yes you're right that Table 7 should include the Subject Key Identifier.
The value is don't care because the Flags tell Caliptra ROM not to consume that value.
It is used to generate the tcg-dice-Ueid extension value.
The fuse bits allocated in the Caliptra fuse map is 96 bytes = 768 bits. Of those, only 44 bytes have defined usage.
@mhatrevi please review
@mhatrevi please review

I've pushed https://github.com/chipsalliance/Caliptra/pull/206 with the main spec updates adding Subject Key Identifier.

The fuse IDEVID_CERT_ATTR bits 0 and 1 tell Caliptra ROM what is the format and the input data for the IDevID subject key identifier. Yes you're right that Table 7 should include the Subject Key Identifier.
The value is don't care because the Flags tell Caliptra ROM not to consume that value.
It is used to generate the tcg-dice-Ueid extension value.
The fuse bits allocated in the Caliptra fuse map is 96 bytes = 768 bits. Of those, only 44 bytes have defined usage.
@mhatrevi please review
@mhatrevi please review

@varuns-nvidia ,
About your response to bullet no.2, please kindly clarify in the Caliptra Main specification that SoC shall treat it as Don't Care in byte(4 to 23) when Flags != 3 .
Additional issue on bullet no.3, does the text below miss out listing the IDevID, since IDevID cert. field also has tcg-dice-Ueid field?

"Manufacturer Serial Number (bytes 28 to 43): the 128-bit unique serial number of the device to be used for the TCG UEID extension in the Caliptra-generated LDevID, AliasFMC, and AliasRT certificates."

About your response to bullet no.4, please consider the following clarification in the Caliptra Main spec. encoding of certificate attribute fuses below table 7:

Reserved (byte 44 to byte 95)

In general does Caliptra have an expectation on any reserved field value, such as 0 ?


BlockBot doesn't come online; throws 403 Forbidden Missing Access null

I was trying to setup BlockBot but no matter what I do, it doesn't work and keeps throwing 403 Forbidden.
Bot token is correct, guild id is correct, channel id is correct, I have GUILD_MEMBERS intent, application.commands and administrator.
Build 2.0.0-beta
I don't know what to do. Can anyone help?
[22:11:16] [DefaultDispatcher-worker-1/ERROR]: Uncaught exception in thread "DefaultDispatcher-worker-1"
io.github.quiltservertools.blockbotdiscord.libs.dev.kord.rest.request.KtorRequestException: REST request returned an error: 403 Forbidden  Missing Access null
        at io.github.quiltservertools.blockbotdiscord.libs.dev.kord.rest.request.KtorRequestHandler.handle(KtorRequestHandler.kt:62) ~[blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.dev.kord.rest.request.KtorRequestHandler$handle$1.invokeSuspend(KtorRequestHandler.kt) ~[blockbot-discord-2.0.0-beta.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [org_jetbrains_kotlin_kotlin-stdlib-1.6.10-cf953ebebc036e3.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) [blockbot-discord-2.0.0-beta.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) [org_jetbrains_kotlin_kotlin-stdlib-1.6.10-cf953ebebc036e3.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) [blockbot-discord-2.0.0-beta.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) [org_jetbrains_kotlin_kotlin-stdlib-1.6.10-cf953ebebc036e3.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) [blockbot-discord-2.0.0-beta.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) [org_jetbrains_kotlin_kotlin-stdlib-1.6.10-cf953ebebc036e3.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) [blockbot-discord-2.0.0-beta.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) [org_jetbrains_kotlin_kotlin-stdlib-1.6.10-cf953ebebc036e3.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) [blockbot-discord-2.0.0-beta.jar:?]
        at io.github.quiltservertools.blockbotdiscord.libs.io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) [blockbot-discord-2.0.0-beta.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) [org_jetbrains_kotlin_kotlin-stdlib-1.6.10-cf953ebebc036e3.jar:?]
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.5.2-83ec1384e22258cd.jar:?]
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.5.2-83ec1384e22258cd.jar:?]
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.5.2-83ec1384e22258cd.jar:?]
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.5.2-83ec1384e22258cd.jar:?]
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) [org_jetbrains_kotlinx_kotlinx-coe-jvm-1.5.2-83ec1384e22258cd.jar:?]

My config, if that is required
[bot]
# Discord Bot token
token = "Redacted"
# Discord guild/server id
guild =<PHONE_NUMBER>85447228

    # Channel IDs for the bot to use. Only the `chat` channel is required, others can be added or deleted
    [bot.channels]
    # Chat relay channel
    chat =<PHONE_NUMBER>85447231
    # Console relay channel (can be deleted)
    # console =

[ChatRelay]
# Allow minecraft chat to mention/ping users and roles
allowMentions = true
# Convert discord formatting to minecraft formatting
convertMarkdown = true
# Try to escape player markdown sent in game
escapeIngameMarkdown = false

[ChatRelay.MinecraftFormat]
# Discord -> Minecraft message format
# Placeholders: {sender}, {sender_colored}, {top_role}, {message}
# Supports Simplified Text Format and Placeholder API with server context
messageFormat = "<color:#7289DA>Discord</color> <dark_gray>|</dark_gray> {sender_colored} <dark_gray>»</dark_gray> {message}"
# Discord -> Minecraft reply format
# Placeholders: {sender}, {summary}
# Supports Simplified Text Format and Placeholder API with server context
replyFormat = "<gray>(Replying to @{sender}: {summary})</gray>"
# Try to add images to messages
appendImages = false
# Use image interpolation
imageInterpolation = false

    # Used when not using Webhook
    [ChatRelay.DiscordMessageFormat]

    # Placeholders: {sender}, {sender_display}, {message}
    # Supports discord markdown and Placeholder API with player context
    # Minecraft -> Discord message format
    messageFormat = "{sender_display} » {message}"
    # Minecraft -> Discord annoucement format (/say)
    announcementFormat = "{sender_display} » **{message}**"
    # Minecraft -> Discord emote format (/me)
    emoteFormat = "*{sender_display} {message}*"

    # Supports discord markdown and Placeholder API with player context
    playerJoin = "%player:displayname% joined the game"
    playerLeave = "%player:displayname% left the game"
    # Placeholders: {message}
    playerDeath = "{message}"
    # Placeholders: {advancement}
    playerAdvancement = "%player:displayname% has made the advancement [{advancement}]"

    serverStart = ":green_circle: Server Started"
    serverStop = ":octagonal_sign: Server Stopped"

    [ChatRelay.Webhook]
    # Use a webhook (less compact) to display player names and avatars
    useWebhook = true
    # Name of the webhook for messages not from players
    webhookName = "Server"
    # URL for the webhook avatar for messages not from players
    webhookAvatar = "https://i.imgur.com/IxPg1R2.png"
    # URL to get the webhook avatar from for players
    playerAvatarUrl = "https://cravatar.eu/helmavatar/{uuid}/128.png?{texture}"

    # Placeholders: {sender}, {sender_display}, {message}
    # Supports discord markdown and Placeholder API with player context
    # Used when using Webhook
    [ChatRelay.DiscordWebhookFormat]
    messageFormat = "{message}"
    announcementFormat = "**{message}**"
    emoteFormat = "*{sender} {message}*"
    # Placeholders: {sender}, {sender_display}
    authorFormat = "{sender}"

[ConsoleRelay]
# Format to use for the console relay
pattern = "[%level] (%logger{1}) %msg%n"
# Minium logger level to show in the console relay. OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL
minLevel = "INFO"
# Require administator on discord to use console
requireAdmin = true

[InlineCommands]
# Enables the /mc discord slash command to run in game commands from discord
enabled = true
# Comma seperated list of the role ID's allowed to use the command
allowedRoles = []
# OP permission level to restrict commands
opLevel = 3

[Presence]
# The type of presence. Can be "Game", "Listening", "Watching", "Competing"
# Updates every 400 ticks (20 seconds)
activityType = "Game"
activityText = "Minecraft | %server:online%/%server:max_players%"

[MemberCommands]
# Enables the /playerlist discord slash command to get the players online
playerList = true
# Enables the /whitelist discord slash command to allow discord users to whitelist players
whitelist = false

[Linking]
# Enable account linking between Minecraft and discord. Enables /link in game and in discord
enabled = false
# Requires a linked account to join (Like a whitelist) Shows linking code on disconnect screen
requireLinking = false
# Sync the linked users discord nickname to their minecraft username
nicknameSync = false
# Comma seperated list of role ID's allowed to join the server. Leave blank to allow any linked account to join. Also restricts /link command in discord
requiredRoles = []
# Require linked players to be in the main discord
requireInServer = false
# Message to show when linked players try to join without the required role
requiredRoleDisconnectMessage = "<red>You don't have the required discord role to join"
# Message to show when unlinked players try to join and requireLinking is true
unlinkedDisconnectMessage = [
    "<yellow>A linked Discord account is required to join",
    "<yellow>Use <gray>/link</gray> in discord to link your account",
    "<gray>Link Code: <green><bold>{code}",
    "<gray>Discord: <blue><underline>discord.gg/INVITECODE"
]
# Message to inform players they must be in the discord server to join
notInServerMessage = "<red>You must be in the discord server to join"
    # Messages for the /link minecraft and discord commands
    [Linking.Messages]
    noLinkedAccounts = "<red>There are no matching linked accounts"
    alreadyLinked = "<red>This account is already linked to <blue>{user}"
    failedUnlink = "<red>Failed to unlink these accounts!"
    successfulUnlink = "<blue>Successfully unlinked your account"
    successfulLink = "Account successfully linked to: {player}"
    linkCode = "<blue>Link your account with <gray>/link</gray> in discord. Code: <green><bold>{code}"

Curiously, the exact same server configuration works flawlessly on my other PC.

That error generally means your missing the application.commands scope. Maybe double check and reinvite it?

That error generally means your missing the application.commands scope. Maybe double check and reinvite it?

Thank you for your response. Unfortunately I've double checked it many times, reinvited it with application.commands and it still doesn't work.
The exact same server configuration running on the exact same bot token works perfectly fine on my laptop.

This is what happens when I run the server on my laptop

This error also occurs if the bot doesn't have the Manage Webhooks permission, because it always creates a webhook even if you disable the useWebhook option.
(I know this is a necro, but I also encountered this issue and it might help other people finding this)


RIPEMD160 removed in cryptography 2.1

Whirlpool and RIPEMD160 were removed in cryptography 2.1 (https://cryptography.io/en/latest/changelog/#v2-1) which causes credstash to break due to:
https://github.com/fugue/credstash/blob/master/credstash.py#L55-L56
  File "/usr/local/lib/python2.7/site-packages/credstash.py", line 54, in <module>
    'RIPEMD': hashes.RIPEMD160,
AttributeError: 'module' object has no attribute 'RIPEMD160'

Yeah I'm hitting this in a circleCI build, oddly enough when I install on my Mac it works fine.

@marcfielding1 Same here, but as soon as I updated my cryptography it started breaking. I just had an old version. There's a pull request up to remove support for RIPEMD and WHIRLPOOL, fyi.

The PR in question is #178.


[DuckDuckGo Search] Send the search result to other search engine

Extension
https://www.raycast.com/tegola/duck-duck-go-search
Description
Hey, thanks a lot for this extension!
I was wondering if its possible to send the query result to another search engine. I'm using Neeva right now and it'd be awesome to be able to get search suggestions from DuckDuckGo and open the the Neevas's search page.
Is it possible to add custom search engines to open the search result page?
Who will benefit from this feature?
People that seek for search engine that respects your privacy, wants to have the convenience of the Raycast provides and also wants flexibility to user another search engine.
Anything else?
No response

I have never used Neeva, but if it’s a supported bang on DDG, there is an upcoming contribution to the plug-in that adds support for a few bangs. Or you could just use the bang already, since DDG does the redirect automatically when you use one.
The alternative would be developing a similar plugin just for Neeva.

I have never used Neeva, but if it’s a supported bang on DDG, there is an upcoming contribution to the plug-in that adds support for a few bangs. Or you could just use the bang already, since DDG does the redirect automatically when you use one.
The alternative would be developing a similar plugin just for Neeva.

I've take a look on Neeva's docs and there is not current support for url params, like DDG does. The idea is to add something similar to the Quicklink feature, where you could add an url and a query parameter.

I don't get why you would use DuckDuckGo's suggestions while Neeva has their own. Aren't they just as good? This, assuming there are no licensing issues about using them outside Neeva's website/apps.


Feature request w/ {   $60 bounty   }: Replace [[wikilinks]] with gist URL if linked note is already shared

Hey thanks so much for this extension, I have probably used it to share several hundred notes so far.
I often share notes which link (i.e. [[this type of link]]) to other notes (e.g. more details on a certain topic may be contained within the linked note). However, when I share notes as gists with contain such links in them, the notes being linked to are inaccessible to viewers of the gist.
What I was wondering is if you could automatically convert wikilinks to other notes to https links to the note's gist link, if the linked note is already shared as a gist?
This would make it much easier to share context-heavy notes which link to other notes for more information.
many thx! :)

Have added a bounty of $60 USD to be paid in any cryptocurrency to whoever implements and has this merged into the main repo.

👋🏻 Thanks for reaching out, and great to hear that you find the extension useful ❤ I'm unlikely to have the time to work on this, but I'm happy to leave it open for anyone to work on.

Hi,
Do we have access to previosly shared gists?

Gists are stored in the frontmatter of the file, so when sharing you should be able to follow the direct link and find the url of the shared gist.
It is however possible to create multiple gists for the same file, so you might need some additional prompts if a file has multiple gists.


Docs: Adds Triggers and CronJob pages

☕ Purpose
This PR adds 2 pages to our docs: Triggers and CronJob Trigger. The idea is to make more intuitive for users to understand how to use our triggers.
🧐 Checklist

[x] Adds pages on layout

🔗 Related PRs
This PR requires the following PR to be applied first: kubeless#1127

@andresmgot done! Can you merge it please?


ROX-21575: Listening endpoints should not be deleted multiple times

Description
Currently there is a bug in which postgresql tries to run two queries that delete the same rows from the listening_endpoints table at the same time. One query tries to delete listening endpoints by pod. This query is run when a pod is deleted. The other query is a result of trying to update the listening endpoint when it is reported closed. An upsert is performed, but in the current implementation this involves doing a deletion. To fix this situation locks are added to  AddProcessListeningOnPort and RemovePlopsByPod, so that the deletes that they perform are not done at the same time.
Checklist

[ ] Investigated and inspected CI test results
[x] Unit test and regression tests added
[x] Unit test is flaky in master
[x] Unit test passes 1000 times in this branch
[x] Error observed when running scale test in master
[x] No error when running scale test in this branch
- [ ] Evaluated and added CHANGELOG entry if required
- [ ] Determined and documented upgrade steps
- [ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
The user facing changes are not significant and there is no impact on upgrading.
Testing Performed
Here I tell how I validated my change
Scale tests
The following was done for the master branch and this branch
cd scale/dev/

./cluster.sh jouko-0104-scale-test-2

 infractl artifacts jouko-0104-scale-test-2 --download-dir /tmp/artifacts-jouko-0104-scale-test-2

export KUBECONFIG=/tmp/artifacts-jouko-0104-scale-test-2/kubeconfig

./run-many.sh long-running 10

The difference being that different cluster names where used.
With master the following was found in the central log
sensor/service/connection: 2024/01/03 04:28:19.117356 connection_impl.go:188: Error: Error handling sensor message: processing message from sensor: copy from objects failed: unable to delete the records: could not delete from "listening_endpoints" with query delete from listening_endpoints where listening_endpoints.Id = ANY($1::uuid[]): ERROR: current transaction is aborted, commands ignored until end of transaction block (SQLSTATE 25P02)

and the following was found in the central-db log
2024-01-03 04:28:12.306 UTC [9327] ERROR:  deadlock detected
2024-01-03 04:28:12.306 UTC [9327] DETAIL:  Process 9327 waits for ShareLock on transaction 1022635; blocked by process 9344.
	Process 9344 waits for ShareLock on transaction 1022659; blocked by process 9327.
	Process 9327: delete from listening_endpoints where listening_endpoints.PodUid = $1
	Process 9344: delete from listening_endpoints where listening_endpoints.Id = ANY($1::uuid[])
2024-01-03 04:28:12.306 UTC [9327] HINT:  See server log for query details.
2024-01-03 04:28:12.306 UTC [9327] CONTEXT:  while deleting tuple (23074,11) in relation "listening_endpoints"
2024-01-03 04:28:12.306 UTC [9327] STATEMENT:  delete from listening_endpoints where listening_endpoints.PodUid = $1

In this branch the central logs and central-db logs did not show any postgresql related errors.
This was the entire contents of the central-db log after 13 hours.
PostgreSQL Database directory appears to contain a database; Skipping initialization

Waiting for child process 14 to exit
2024-01-18 18:11:43.984 UTC [15] LOG:  starting PostgreSQL 13.13 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
2024-01-18 18:11:43.984 UTC [15] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2024-01-18 18:11:43.984 UTC [15] LOG:  listening on IPv6 address "::", port 5432
2024-01-18 18:11:43.989 UTC [15] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-01-18 18:11:43.996 UTC [15] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2024-01-18 18:11:44.001 UTC [16] LOG:  database system was shut down at 2024-01-18 18:11:27 UTC
2024-01-18 18:11:44.010 UTC [15] LOG:  database system is ready to accept connections

Unit test
Added a unit test that tries to force the situation where listening endpoints are deleted twice at the same time. This unit test failed 55 times out of 1000 runs, when the locks were commented out, with the following error
    datastore_impl_test.go:2187:
        	Error Trace:	/home/jvirtane/go/src/github.com/stackrox/stackrox/central/processlisteningonport/datastore/datastore_impl_test.go:2187
        	            				/usr/local/go/src/runtime/asm_amd64.s:1598
        	Error:      	Received unexpected error:
        	            	ERROR: current transaction is aborted, commands ignored until end of transaction block (SQLSTATE 25P02)
        	            	could not delete from "listening_endpoints" with query delete from listening_endpoints where listening_endpoints.Id = ANY($1::uuid[])
        	            	github.com/stackrox/rox/pkg/search/postgres.RunDeleteRequestForSchema.func1
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/search/postgres/common.go:877
        	            	github.com/stackrox/rox/pkg/postgres/pgutils.Retry.func1
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/postgres/pgutils/retry.go:19
        	            	github.com/stackrox/rox/pkg/postgres/pgutils.Retry2[...].func1
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/postgres/pgutils/retry.go:30
        	            	github.com/stackrox/rox/pkg/postgres/pgutils.Retry3[...]
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/postgres/pgutils/retry.go:70
        	            	github.com/stackrox/rox/pkg/postgres/pgutils.Retry2[...]
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/postgres/pgutils/retry.go:33
        	            	github.com/stackrox/rox/pkg/postgres/pgutils.Retry
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/postgres/pgutils/retry.go:21
        	            	github.com/stackrox/rox/pkg/search/postgres.RunDeleteRequestForSchema
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/search/postgres/common.go:874
        	            	github.com/stackrox/rox/pkg/search/postgres.(*genericStore[...]).DeleteMany
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/search/postgres/store.go:347
        	            	github.com/stackrox/rox/central/processlisteningonport/store/postgres.copyFromListeningEndpoints
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/central/processlisteningonport/store/postgres/store.go:190
        	            	github.com/stackrox/rox/pkg/search/postgres.(*genericStore[...]).copyFrom
        	            		/home/jvirtane/go/src/github.com/stackrox/stackrox/pkg/search/postgres/store.go:486
        	            	github.com/stackrox/rox/pkg/search/postgres.(*genericStore[...]).UpsertMany.func1
...

The unit test was run with the following script
#!/usr/bin/env bash
set -eou pipefail

nerror=0
for ((a=0;a<1000;a=a+1)); do
  echo $a
  error_code=0
  go test -tags=sql_integration -v -run TestPLOPDataStore/TestDeletePods || error_code=$?
  if [[ "$error_code" != "0" ]]; then
	  nerror=$((nerror + 1))
          echo "nerror= $nerror"
  fi
done
echo "nerror= $nerror"

With the changes here the unit tests passed 1,000 times in a row.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/retest

/retest

Did you take a look at removeIndicators to see if that could also cause this issue? It deletes plops directly via the store.

I tried moving the code in removeIndicators into the PLOP datastore, but that resulted in an import cycle. Instead I created a periodic pruning job to prune the same PLOPs as removeIndicators.

One thing I was wondering. Would it be simpler to update central/detection/lifecycle/manager_impl.go around where it calls RemoveProcessIndicators to call a similar method in the plop datastore? We already have the indicators we are deleting at that point. It would prevent you from having to look them up. And the manager should be able to call the plop datastore without that circular dependency issue you had previously.

The problem with that is that removeIndicators is not just called in central/detection/lifecycle/manager_impl.go. It is also called by prune in the process indicator data store.

/retest

/retest

Comment about the query but looking good, just ping me for re-review depending on the outcome of that conversation and I'll approve

Thanks. I am not clear which comment you are referring to.

/retest


Kafka testing

This PR was successfully deployed to production by CircleCI build 280 at 2017-10-18 13:33 BST.


Homogeinization of acronyms

Homogeinization of ancronyms in fr.json, en.json and de.json :

JSON
SCIPER

We have a "one is enough" code review guideline for most of the code. So if @PascalinDe, OR @lanterno, OR @ineiti is OK with the changes, you can go ahead and merge them.


Implement transport broker options

Coverage increased (+0.3%) to 95.455% when pulling 010125e4a736b6c71fe3b13ee35a0b004cd36b4b on broker_options into ea410e32b18f2dc0e20205bb9aa9e9c0df9831bb on master.


Configuration  , issues and  furture features updates following use of the project.

First It’s a great Project and has some unique aspects, and the use of accurate sub frequency is a real game changer, so many thanks for the project.
The project has some very interesting uses and the main one I am Interested in, is in the use Pi Pico Ballon WSPR, just using  the Pi Pico and GPS. This reduces the weight of the balloon package as does not need a separate RF package and only Band Pass Filter.
I have now had some time now using the latest 1.01 code.  I have some comments below and future requests.
Setting up and use of Current code:
First the information as a newbie was not clear. I would be happy to give some information as a Wiki  if that would help.
•	The diagram in the pin out shows the connection of the GPS to Pins 1 and 2 of the Pi Pico this is incorrect is should be Rx – GPIO13 Tx – GPIO12. The Rx of the Pi Pico should be connected to the Tx of the GPS module and Tx  of Pi Pico to  the Rx of the GPS.
•	The diagram shows a Neo6m GPS module. It is noted that this GPS module due to age only output $GPRMC messages. Most modern GPS module that are Multi-satellite are outputting $GNRMC messages. You need to check the output of the GPS module to see the output message type  for yours if not using Neo6M. If you want to change the NEMA message to  the more common $GNRMC  type  then  this can be done in  “GPStime.c”  currently line 224.
•	Configuration is carried out in the Main.c  for the most part, and it will be good that it can be configured with the coming Console configuration.
Current issues

While the start of the WSPR messages are perfectly locked to time sequence (start time and Slot interval, The Tx frequency is not stable being received and is varying by about 20Hz. I am not sure if this is the nature of the receiving stations or  the transmission. I see another comment on the pf-hf- oscillator code.

Future Request
With my slant on use for Pico Ballons that will be legal in the UK in 2024, It would be nice to see:

That the NEMA message used to sync and as time source is  $GP(N)GGA  as this include the Altitude component and this can then be substituted for Tx Power when divided by 300.This is a standard trick for Balloons using WSPR.
Sleep ( Dormant)  mode ( useful for all activities),  such as remote WSPR test where there is no  long term power   and can be done using the  library like https://github.com/raspberrypi/pico-extras/blob/master/src/rp2_common/pico_sleep/sleep.c   Though there are many others as well as on the Pi Site. It  would be nice to make the module sleep until say 5-10 seconds before WSPR Message start time to let GPS settle and output messages and after message sent and unit goes to  sleep  when WSPR> Passive Tx Slot .
Ability to Tx on several bands to check propagation e.g. 40m,20m,10m by transmitting  on each band say at   2, 4, 6 minutes passed the hour and then repeat   the sequence. I see some commercial projects do  this.
Easy Configuration of the key parameter. While it is easy to config the main.c, there may be other configuration needed like $Gpxxx or $Gnxxx NEMA messages  types that can not be set  in Main.c

Anyway thanks for your skills in coding this and its  nice to see a community of interested users.
Simon G8HAM

Hi Simon, youre thinking in same directions. WSPR over different bands, with intervals would be great. For HAB should you not also would like to make reuse of the gps coordinates. Thinking loud, pi pico, wspr, 2 extra components one gps and one pressure/temp sensor would to the job? Solar cells?


Loudness: 'high precision' mode tweaks

disable creating graph, disable go to max. short-term / momentary (Issue #1120)
ReaScript: disable 'high precision' mode for NF_AnalyzeTakeLoudness2()

+ SnM_Notes.cpp: fix indention

reworking this...


Have the Sidebar instead of SidebarManager internal state functions

By https://codereview.chromium.org/1152613003/#msg15

https://codereview.chromium.org/1152613003/diff/40001/chrome/browser/extensio...
chrome/browser/extensions/sidebar_manager.cc:191: void
SidebarManager::NavigateSidebar(content::WebContents* tab,
Certain methods here (like this one) seem to belong purely on the Sidebar
itself, rather than in the manager.  I think the Manager should be responsible
for managing which sidebar is showing (if any), but not responsible for the
internal state of that sidebar (like url).

The NavigateSidebar code has been refactored out, together with other modifications at the igalia-sidebar-CL-splitted branch and pushed to https://codereview.chromium.org/1152613003/


Connect Database to Heroku

I finished the code- I just need to setup the database in heroku.

Added a Heroku database. Done.


Fix "local crate" detection

PackageId is an opaque identifier whose internal format is subject to change, so looking up the names of local crates by ID is more robust than parsing the ID.
Resolves #3643.

Doesn't cargo metadata have a --format-version flag to prevent silent breakage like this?  is cargo_metadata not using that flag? If it's not, can we add it to prevent future issues like this?

I think this cargo change was not considered a breaking change since there was never any guarantee about the format of that field. Some clients (Miri included) just used the field in ways that was never intended or supported.

Looks good, thanks!
@bors r+

:pushpin: Commit 0a58833faa03ad10aca64292b6ca4b2d07bbf107 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 0a58833faa03ad10aca64292b6ca4b2d07bbf107 with merge 38e318ccd255a090eb57e19d2aac5ed2ec0e2b92...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 38e318ccd255a090eb57e19d2aac5ed2ec0e2b92 to master...