Swagger response type other than string in swagger-node (express) fails validation

I cannot seem to handle response types other than string.  If I try to return a boolean, I get this:
  project started here: http://localhost:10010/
  project will restart on changes.
  to restart at any time, enter `rs`
try this:
curl http://<IP_ADDRESS>:10010/hello?name=Scott
Error: Response validation failed: not a valid boolean: "true"
    at throwErrorWithCode (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\lib\validators.js:121:13)
    at validateTypeAndFormat (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\lib\validators.js:538:7)
    at Object.module.exports.validateSchemaConstraints (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\lib\validators.js:630:7)
    at validateValue (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\middleware\swagger-validator.js:117:16)
    at ServerResponse.res.end (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\middleware\swagger-validator.js:252:9)
    at ServerResponse.send (C:\dev\swagger\hello-world\node_modules\express\lib\response.js:204:10)
    at ServerResponse.json (C:\dev\swagger\hello-world\node_modules\express\lib\response.js:249:15)
    at isDoorOpen (C:\dev\swagger\hello-world\api\controllers\hello_world.js:51:7)
    at swaggerRouter (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\node_modules\swagger-tools\middleware\swagger-router.js:407:20)
    at swagger_router (C:\dev\swagger\hello-world\node_modules\swagger-express-mw\node_modules\swagger-node-runner\fittings\swagger_router.js:31:5)

My real-life API is far more complex and wants to return booleans, numbers in different formats and bmp and jpeg image types.  Le's say for simplicity that I want an /isDoorOpen endpoint to return a boolean.
I duplicate steps here: swagger-api/swagger-node.
I use express middleware
I added this YAML:
   /isDoorOpen:
    # binds a127 app logic to a route
    x-swagger-router-controller: hello_world
    get:
      description: Returns 'true' to the caller because my door is always open
      # used as the method name of the controller
      operationId: isDoorOpen
      responses:
        "200":
          description: Success
          schema:
            type: boolean
        # responses may fall through to errors
        default:
          description: Error
          schema:
            $ref: "#/definitions/ErrorResponse"

And in the hello_world.js file I added these two sections:
module.exports = {
  hello: hello,
  isDoorOpen: isDoorOpen
};

and
function isDoorOpen(req, res) {
  var isOpen = true; // Details omitted
  var doorStatus = util.format('%s', isOpen);

  res.json(doorStatus);
}

What do you suggest that I do.  The validator certain should work for this case, right?  Thank you.

I edited the yaml file to include a $ref after the boolean response.
'
$ref: "#/definitions/HelloWorldResponse"
'
https://gist.github.com/garywong89/99c6f670901bb653641fd09510c2d7d6

Hi dgamache, I believe that some the formatting of the variable doorStatus is causing part of the error by formatting it into a string first before returning back a boolean. I included a link of a gist. See if that helps resolve the issue.
https://gist.github.com/garywong89/99c6f670901bb653641fd09510c2d7d6

That did help that issue garywong89.  Thank you.  I need to review further to make sure I understand why, but it seems like the utility function changed the formatting from what is desired.  I went on to update my application and ran into odd behavior around getting images.  Please allow me to update the sample, and even if I solve the issue, I want to post it for the greater good of the community.

Hi garywong89.  Removing the formatting made the boolean response work correctly.  To illustrate what worked corectly for string, boolean and image responses, I included a gist:
https://gist.github.com/dgamache/12cb46ce5b47e22a2915d9420e34627d.js
This completes the original intent of my post, but leaves me with a new question.
When I defined the API, I found it useful to define some "non-200" responses.  For example, if I request a picture and none is there, I would want to return a 404 response code.  I have been experimenting, reading reference and seeking examples and I cannot find how to return that response from the middleware successfully.  Part of the problem is that the type is a file, mime type image/bmp but when an error happens in the middleware and I want to return a 404, that is not a file.  Instead it's an object or a string at least.  It seems likely that I would have to change the response type dynamically at run-time.  I have not figured out how to do that though.
What do you think?  (also should we close this issue and open up this as a new issue?)
Thank you,
David

Hi dgamache, so I was tesing the code ran into the same error you were facing. As you have pointed out the file was location a string and returning the string location regardless if the file was there.
I believe the issue for the validation should be coming from the controller's response. I added a gist on the bottom that should resolve the issue and allow you to change response status code if needed. I added a module File System as a helper to check if the file is present first before sending the response back. Please tell me if this helps resolve some of the issue you are having?
https://gist.github.com/garywong89/47d30822d31a2b145fd472f39343c771

Hi @garywong89 , I did try a variety of methods to change the response status code and have not found one that works correctly yet.
First, I tried your gist but found the response did not end:
res.status(404);
So I chained an end to it:
res.status(404).end();
This resulted in:

{"message":"Response validation

output in the browser.  I also tried a few other methods but kept coming up with the Response validation error.
The YAML does not do much more that list the response code as one that could occur:
"404":
    description: "Picture is missing."

How do I get this to respond with a 404 status?  It seems like this would be a rather common, useful thing to do, I just haven't figured out how yet.

Does anyone have any feedback on how to return different responses like 404 from the middleware?

Hi @dgamache, not too sure but I tried passing back the argument in the hello_world.js file. It seems like the default the response for images is 200, so in order to display the error I think the server needs to get passed a response to know what output to expect.
https://gist.github.com/garywong89/09cab56ae5ad87c429875abee4c42eb2

@dgamache you have to use res.statusCode
res.statusCode = 404;
return next(err);

Hi @garywong89 and @oliverhr, I tried both approaches.  Evidently, the server needed to be passed a response composed like this in express:

    // sends the response back with the status you wish the response to be located in
    var myMessage = util.format('File not found went to error')
    res.json(myMessage).status("404");

I tried your recommendation too @oliverhr, but I wasn't able to get it to work as intended.
In all, I think this issue (mostly an issue with my understanding best practices) is resolved.
Thank you,
David

Thanks for the help guys.  I really enjoyed working with this project that's wrapping up and hopefully I get to use it in my next role.


can you share the model files?

can you share the model files?For example,det1.prototxt,det1_half.caffemodel,etc.

all in the project, please check the code

I see,thx.


[modify] cms translate : store translated text in repl_master when lgwan mode

Coverage increased (+1.2%) to 60.71% when pulling 81ddbe0f9ed27dd4179e4d3c5d0670d7f22e2e33 on fix/cms-translate into 6fbc1250d8eb565c46ce0ff3fa2254940a1a7929 on master.

Coverage increased (+1.2%) to 60.71% when pulling 81ddbe0f9ed27dd4179e4d3c5d0670d7f22e2e33 on fix/cms-translate into 6fbc1250d8eb565c46ce0ff3fa2254940a1a7929 on master.


ci: add copyright check

Closes #89.
Checks that any files modified, added, etc. in a PR have the appropriate copyright notice on top. You can see an example of a failed and a successful run on the two commits.

It looks like this didn't run the other ci check. Any thoughts on why not?

The other CI job only runs periodically, as it uses a cron job. As such, it doesn't trigger on every PR. (I'm unclear whether that's desirable or not, but that's my understanding of the current setup.)

The other CI job only runs periodically, as it uses a cron job. As such, it doesn't trigger on every PR. (I'm unclear whether that's desirable or not, but that's my understanding of the current setup.)

Oh, I read that as, it runs on push to master, on PR to master, and on the schedule. But I see I've never triggered CI on any of my other PRs, so I guess I'm wrong. That's pretty confusing syntax...


Class 'Kirki_Controls_Textarea_Control' not found

Fatal error: Class 'Kirki_Controls_Textarea_Control' not found in ~/kirki/includes/class-kirki-control.php on line 98.
Fatal error: Class 'Kirki_Controls_Text_Control' not found in ~/kirki/includes/class-kirki-control.php on line 98.
An error occurred on different servers.
Kirki Version: 2.0.5
WP Version: 4.4.1
PHP Version: 5.4~5.6
I do not know how to solve it. Thanks!
Server problem?

Can you please try re-downloading the plugin?
There was an error in the repository on wordpress.org

OK,thanks. I Try It.

At last i successfully solved the problem.There are times you'll find folder's spell check may lead to erroneous.
You can also correct spelling errors. I changed the folder "Controls" to "controls". :)
Directory path: kirki -> includes -> Controls.

This has already been fixed in the WordPress repository on https://github.com/aristath/kirki/issues/557#issuecomment-172096720


Drop unnecessary extra fields from the lock file

Most if not all extra fields can be removed and the plugin should be able to rely only on the regular deps and pin-deps fields for pulling.

To clarify I think the lockfile should just be a regular opam file with a pin-depends field and an extra x-opam-monorepo-version field, to use for compat, CI etc...

This was resolved by #131 so I'm closing!


Update application-provisioning-config-problem-scim-compatibility.md

" " charts missing for request body.

@KatjaBF : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Changing binding property while dom-if's if is false throws an error

Description
Recently I found a problem when I use dom-if and lazy-pages:
<lazy-pages app="{{app}}">
  <template is="dom-if">
    <my-page app="{{app}}"></my-page>
  </template>
</lazy-pages>

When I try to change the 'if' attribute of dom-if following changing the property of app, an error occurs:

And another problem is when dom-if's if property is false, changing a data-binding will not actually reflect on the elements which are inside the dom-if element. For example, look at the following code:
<dom-module id="lazy-pages">
  <template>
    [[app.name]]
    <slot></slot>
  </template>
</dom-module>

<dom-module id="my-page">
  <template>
    [[app.name]]
  </template>
</dom-module>

<lazy-pages id="outer' app="{{app}}">
  <template id="inner" is="dom-if">
    <my-page app="{{app}}"></my-page>
  </template>
</lazy-pages>

Run the following code:
inner.if = false;
outer.set('app.name', 'a new name');

// will result in:
<lazy-pages>
  #shadow-root
    <text>a new name</text>
    <my-page>
      #shadow-root
        <text>the old name</text>    <--------- value not updated
    </my-page>
    ...

Is it intended to be like this?
But if you set it's if property back to true, those data still remain outdated...
Live Demo

http://plnkr.co/edit/uQ5OOiJKWe0nBpd7QKqM?p=preview
Steps to Reproduce
Open dev-tools and try to click the DOM 2 times and you'll see the error shown in dev-tools.
Strangely, if I give an id to that dom-if element, everything will work fine...
Second issue's live demo: http://plnkr.co/edit/T6GRQGChLe8F13lklTWR?p=preview
Expected Results
No error is throw.
Actual Results
Error is thrown.
Versions

Polymer: v2.1.1

Related JSBin: https://jsbin.com/xewuraw/edit?html,output for issue https://github.com/TimvdLippe/iron-lazy-pages/issues/62

The problem is that this.__dataHost is undefined. However, this property is no where defined in dom-if. Instead, it is defined in Templatize. If I change that line to this.__instance._setPendingProperty(prop, this.__instance.__dataHost.__dataHost[prop]); (per https://github.com/Polymer/polymer/blob/47d1b2601348b9866e4b5a215085eef835df1f18/lib/utils/templatize.html#L210) it is working as intended.
I am not sure what the intention was, as updating the line does not fail any test. This would indicate no test covers this path or the update does not fail existing tests.

Strangely, if I give an id to that dom-if element, everything will work fine...

This is the workaround. Thanks @7nights !

And another problem is when dom-if's if property is false, changing a data-binding will not actually reflect on the elements which are inside the dom-if element. For example, look at the following code:

I just ran into this too. I can't quite tell if it's a bug but I think it ought to be.
This behavior didn't exist in 1.x. It was introduced in 2.x to accommodate the scenario of using restamp where you wouldn't want changes to be propagated. However it only makes sense when using restamp. If you're not using restamp then you want changes to be propagated, otherwise when the if condition reverts to true, any bindings inside the dom-if are now activated even though they're stale (because they missed all data changes when deactivated). That's definitely not what we want.

Looks like I was wrong. When if is false, property changes are cached and propagated again when if changes back to true. I guess my case is more complex and I'm running into a different issue.


Ideas for managing tunnel selection

Hi, thinking about #64 and #82  - I have tried two experiments.
Firstly, instead of using a 'round robin' selection mechanism, I used a weighted random selection.
As far as I can tell, in my set up, the effect is minimal, if anything it's somewhat worse. If we think about a round robin mechanism, most of the time, the tunnels take things in turn. With a random approach you are quite likely to get packets following each other on the tunnel. Although the average throughput may be right, this causes the tunnels to get 'peeks' of traffic that they can't deal with... which in the end has a negative impact on performance
I dont think this will surprise anybody, but I wanted to try :-)
Second, for my ADSL connections, I notice, as the links get heavily used the SRTT can go through the roof. Further more, the slower line has a longer SRTT - very approximately related to it's bandwidth (or at least, that is my guess).
I implemented a mechanism which adjusts the weights for the tunnels based on the SRTT. This is surprisingly successful. In order to avoid the 'random' effect above, the ratio needs to stay fairly steady, e.g. it needs to change slowly. Looks like you need a rolling average of at least 20000 packets. Over which time, the impact of the return going one route or the other should also be minimised.
Doing this would mean you dont need to supply bandwidth numbers (which are subject to change), and the ratio used adjusts to circumstances.
HOWEVER - this is favouring one tunnel as opposed to another based on their speed, rather than their bandwidth, which is clearly not the case for anything like a mixed medium environment - and only has any hope of working for common mediums (e.g. some ADSL lines).
None the less - this approach seems to work very nicely indeed. Highly unscientifically, I seem to get much steading and marginally higher download and upload speeds. Whats interesting is that the connection seems to 'self adjust' to both the ADSL fluctuations, but also the load imposed on it. During heavy download, the faster download tunnel seems to be favoured for the return path (giving up better throughput overall), while during upload, as the uplinks become saturated, their speed evens out, and we seem to better use the available upload bandwidth!
The guts of my approach are below, if anybody wants to try this out themselves, or if you like the approach, let me know and I'll open a pull request.
`static void
mlvpn_rtun_recalc_weight_srtt()
{
mlvpn_tunnel_t *t;
double total_srtt = 0;
int error = 0;
LIST_FOREACH(t, &rtuns, entries)
{
    if (t->srtt >= 1000)
        error++;
    total_srtt += (t->srtt);
}
if ( error ) {
    log_debug("srtt", "srtt seems not stable (yet)");
} else {
    LIST_FOREACH(t, &rtuns, entries)
    {
        /* useless, but we want to be sure not to divide by 0 ! */
        if (t->srtt > 0 && total_srtt > 0)
        {
          /* lets try moving things a little slower, we'll take a rolling
           * average over lots of  samples... */
          double new=((double)(total_srtt - (t->srtt/)) *100 / (double)total_srtt);
          t->weight = ((t->weight *19999.0) + new)/20000.0;
          log_debug("wrr", "%s weight = %f (%f %f)", t->name, t->weight,
                    t->srtt, total_srtt);
        }
    }
}

}`

Yes indeed that's the right solution to load balance the links without looking for packet loss.
Would be very interresting to see that merged in mlvpn I think.

ok - but there is a massive health warning from my side. I've ended up reverting to manually setting the bandwidths - because with low traffic volume you end up with random rubbish and you end up with a 'badly' set ration. Once traffic increase, it takes some time, but you end up with a good flow  - sometimes. But sometimes it doesn't settle out at all. I haven't got to the bottom of that....
My conclusion - as a 'I have no clue" set up, it's ok. If you know anything about your links, you are probably better of setting them manually :-(
Ok - so having given the health warning, I'm happy to work on the patches, and see if I can't make them better....
I can't promise when, but I'll work on it at some point, and try and feed some sensible patches back.
Cheers
Mark.

I took a look at mptcp, interestingly they have done the work in terms of finding better algorithms for path selection.
One of their plans seems to be a little like I tried (only they probably know what they are talking about :-) )
It strikes me that it would be really very valuable to implement some of the same algorithms in MLVPN, and were we to do that, it seems to me the major difference between a MLVPN and a MTTCP approach would be removed.
https://www.ietf.org/archive/id/draft-walid-mptcp-congestion-control-04.txt
For instance gives all the technical details about how the algorithm selects it's path.
This isn't very hard to implement inside mlvpn I dont think (though, right now, I'd be pritty sure @zehome would do a better job than me :-))

There are numerous ways in which mlvpn and mpctp differs.
First, the path detection, "mesh" usable in mptcp with autodetection. This is hard to implement.
Second, the "coupled congestion" handling. MPTCP does a much much better job than mlvpn in this regard. In particular with the "balia" tcp congestion algorithm.
Thoses are very very hard to implement in MLVPN, cause MLVPN don't track sessions, don't have SYN/ACK capabilities, don't have timeout on tcp streams. I've tried to implement part of it but it's kind of redundant with what MPTCP actually does.
Right now, it's probably a better idea to use a transparent socks proxy with mptcp if you want something with much better featureset on Linux.

@zehome again, thank you for taking the time, and I think your answer is really valuable for people to understand what mlvpn is (and is not).
I'd love to see a project that made using mptcp as easy as mlvpn, but, mlvpn gives me close to good performance, and it's pretty much rock solid stable, so ....

FWIW:
I've taken another look at all this.
Specifically I've tried to clean up the SRTT approach above, but I have also tried to see if I can improve on it....
Here's what I found:
There are - for me - two aims:
1/ to make bandwidth selection automatic
2/ to make bandwidth selection 'dynamic' so the tunnel responds to varying conditions on each line.
First, I have two ADSL connections, with typical 1M uploads and 4-5M downloads.
I have (after some work) got the SRTT 'automatic' adjustment mechanism working reasonably. It uses the measured SRTT (which is correctly measuring round trip time), to adjust the current weight of each path (which is taken into account dynamically, and optimally).
However, for an ADSL line, this works (to a degree) for 'download', but it is inaccurate for ADSL upload. In short, it does not treat each of the directions independently as it measures round trip time.
Measuring 'send time' (e.g. in one direction) is not (As far as I know) possible without extra information. As an experiment, I did the following:
I used the keep alive request to transmit the current 'advertised' bandwidth to both ends. Knowing this, and the timestamp, I then estimate the 'time delta' between the two ends (based on the advertised bandwidth (from my modems)). (e.g. assuming that the transition speed is proportional to the bandwidth (which it's probably not), then we can attribute the the measured round trip time to each 'leg' of the journey).
This is painful - an requires knowing the bandwidth (which basically defeats the object of the exercise).
next, using the now calculated time delta, we can use that to calculate the send time for each tunnel, and use this to adjust the weights.
The results are "OK". But, .... If I allow the calculation to be 'unsmoothed', then the results are somewhat less performant than simply setting the bandwidth manually (which anyway, we have to do for this to work).
On the other hand, if I "smooth" the weight calculation, then I end up with the bandwidths that I put in in the first place, so there is little point. Further more, any 'smoothing' means that the system is not as dynamic in terms of changing in response to changes to the bandwidth.
It seems to me, adding this complexity gains little over using the normal mechanism of setting the bandwidth. t was a nice experiment, but - dont bother :-)
However, the SRTT  approach on it's own seems like a reasonable plan.
It is not totally accurate for ADSL lines, but is not such a terrible approximation either. One option would be to include an 'srtt' approach as a 'backup' if the .conf file doesn't include bandwidth information (as a 'default setup'), In most cases this seems to get you to 'close' to an optimum solution.... For the 'server side' it may actually be a pretty good solution, meaning you dont have to set bandwidths on the remote server.
I'll try and prepare sensible patches for these and send them....

see pull request
https://github.com/zehome/MLVPN/pull/69


Replace the dead pygithub3 with github3.py

Since pygithub3 is dead I thought I'd try switch lint-review across to github3.py (which is totally awesome, by the way).
Unfortunately the tests are quite tightly integrated with pygithub3, so I haven't fixed any of those yet.
If anyone wants to help out, that would be epic.

Only 10 failures, that's not so bad. I'll take a look this weekend and possibly send you a pull request :smile:

Looks like I missed a few tests because I still had pygithub3 installed. I'll get those remaining tests fixed.

Thanks @adrianmoisey! I did some manual testing tonight and everything looks good :+1:

\o/
Thanks for your help too!


Install bug on RPi4 version 2.9.3

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

No

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
NPM container is unhealthy, i will put the logs under this bug. Also Bad Gateway when trying to log in
Nginx Proxy Manager Version
2.9.3
To Reproduce
Steps to reproduce the behavior:
install steps:
sudo -i
mkdir NginxProxyManager
cd NginxProxyManager
nano docker-compose.yml

inside file:
version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: always
    ports:
      # Public HTTP Port:
      - '80:80'
      # Public HTTPS Port:
      - '443:443'
      # Admin Web Port:
      - '81:81'
    environment:
      # These are the settings to access your db
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "<OWN NAME>"
      DB_MYSQL_PASSWORD: "<SAME AS MYSQL_PASSWORD>"
      DB_MYSQL_NAME: "npm"
      # If you would rather use Sqlite uncomment this
      # and remove all DB_MYSQL_* lines above
      # DB_SQLITE_FILE: "/data/database.sqlite"
      # Uncomment this if IPv6 is not enabled on your host
      DISABLE_IPV6: 'true'
    volumes:
      - ./data/nginx-proxy-manager:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
  db:
    image: ghcr.io/linuxserver/mariadb
    restart: unless-stopped
    environment:
      PUID: 1001
      PGID: 1001
      TZ: "Europe/Amsterdam"
      MYSQL_ROOT_PASSWORD: "<OWN ROOT PASSWORD (WITHOUT SPECIAL CHARACTERS)"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "<OWN NAME>"
      MYSQL_PASSWORD: "<RANDOM PASSWORD>"
    volumes:
      - ./data/mariadb:/config

Expected behavior
healthy container and no bad gateway at login page
Screenshots

Operating System
RPi4 With Portainer installed. RaspberryPi_OS NPM installed on CLI
NOTE
In the bug it says "migrate" or something, this is a fresh install of NPM. I tried same steps on a different clean installed RPi4 and the same thing is happening
Additional context
Logs
2021-05-24T23:30:30.747862448Z [5/24/2021] [11:30:30 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:30.777961760Z [5/24/2021] [11:30:30 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:30.782063918Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:30.782290304Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:30.798007239Z [5/24/2021] [11:30:30 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:31.807597987Z [5/24/2021] [11:30:31 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:31.826436091Z [5/24/2021] [11:30:31 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:31.829137412Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:31.829215523Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:31.841819437Z [5/24/2021] [11:30:31 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:32.858710365Z [5/24/2021] [11:30:32 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:32.887535857Z [5/24/2021] [11:30:32 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:32.891593515Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:32.891702255Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:32.901896789Z [5/24/2021] [11:30:32 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:33.918597851Z [5/24/2021] [11:30:33 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:34.093249547Z [5/24/2021] [11:30:34 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:34.099524847Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:34.099627031Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:34.229717429Z [5/24/2021] [11:30:34 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:35.242891292Z [5/24/2021] [11:30:35 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:35.273441988Z [5/24/2021] [11:30:35 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:35.278074918Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:35.278260749Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:35.288441283Z [5/24/2021] [11:30:35 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:36.305199238Z [5/24/2021] [11:30:36 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:36.338187759Z [5/24/2021] [11:30:36 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:36.344212951Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:36.344442041Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:36.354411929Z [5/24/2021] [11:30:36 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:37.362241672Z [5/24/2021] [11:30:37 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:37.378636007Z [5/24/2021] [11:30:37 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:37.380911352Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:37.380992685Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:37.392373021Z [5/24/2021] [11:30:37 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:38.409647067Z [5/24/2021] [11:30:38 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:38.442922640Z [5/24/2021] [11:30:38 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:38.446628784Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:38.446717376Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:38.455254003Z [5/24/2021] [11:30:38 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:39.469310329Z [5/24/2021] [11:30:39 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:39.497682660Z [5/24/2021] [11:30:39 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:39.501601616Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:39.501711263Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:39.513985608Z [5/24/2021] [11:30:39 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:40.528184101Z [5/24/2021] [11:30:40 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:40.560836662Z [5/24/2021] [11:30:40 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:40.564276365Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:40.564379660Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:40.575981216Z [5/24/2021] [11:30:40 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:41.592949958Z [5/24/2021] [11:30:41 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:41.627396315Z [5/24/2021] [11:30:41 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:41.632268686Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:41.632394592Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:41.643818576Z [5/24/2021] [11:30:41 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:42.651640608Z [5/24/2021] [11:30:42 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:42.670562656Z [5/24/2021] [11:30:42 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:42.672413006Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:42.672475875Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:42.682931222Z [5/24/2021] [11:30:42 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:43.699601824Z [5/24/2021] [11:30:43 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:43.733502576Z [5/24/2021] [11:30:43 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:43.738095025Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:43.738216894Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:43.750483331Z [5/24/2021] [11:30:43 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:44.758365663Z [5/24/2021] [11:30:44 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:44.776419406Z [5/24/2021] [11:30:44 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:44.778631734Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:44.778694974Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:44.786186705Z [5/24/2021] [11:30:44 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:45.800429728Z [5/24/2021] [11:30:45 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:45.829984713Z [5/24/2021] [11:30:45 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:45.834014465Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:45.834132889Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:45.843794245Z [5/24/2021] [11:30:45 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:46.857915179Z [5/24/2021] [11:30:46 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:46.889903619Z [5/24/2021] [11:30:46 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:46.893274840Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:46.893372173Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:46.904633677Z [5/24/2021] [11:30:46 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:47.912830827Z [5/24/2021] [11:30:47 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:47.929573400Z [5/24/2021] [11:30:47 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:47.932831790Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:47.932880919Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:48.082947468Z [5/24/2021] [11:30:48 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:49.097156222Z [5/24/2021] [11:30:49 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:49.130648997Z [5/24/2021] [11:30:49 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:49.134507305Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:49.134885801Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:49.147410032Z [5/24/2021] [11:30:49 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:50.160650484Z [5/24/2021] [11:30:50 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:50.189894195Z [5/24/2021] [11:30:50 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:50.193946113Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:50.194065222Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:50.204199480Z [5/24/2021] [11:30:50 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:51.217936595Z [5/24/2021] [11:30:51 PM] [Migrate  ] › ℹ  info      Current database version: none,
2021-05-24T23:30:51.243853825Z [5/24/2021] [11:30:51 PM] [Migrate  ] › ℹ  info      [initial-schema] Migrating Up...,
2021-05-24T23:30:51.247546154Z migration file "20180618015850_initial.js" failed,
2021-05-24T23:30:51.247641449Z migration failed with error: create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,
2021-05-24T23:30:51.264079211Z [5/24/2021] [11:30:51 PM] [Global   ] › ✖  error     create table `auth` (`id` int unsigned not null auto_increment primary key, `created_on` datetime not null, `modified_on` datetime not null, `user_id` int unsigned not null, `type` varchar(30) not null, `secret` varchar(255) not null, `meta` json not null, `is_deleted` int unsigned not null default '0') - ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'json not null, `is_deleted` int unsigned not null default '0')' at line 1,

Duplicate of https://github.com/jc21/nginx-proxy-manager/issues/896


Implement REST endpoint to return list of categories

Implement REST API GET- /categories to return list of categories.
Sample Response:
[
  {
     id: 1,
     name: 'Animals',
     description: 'Quilling art work for animal toys'
  },
  {
     id: 2,
     name: 'Flowers',
     description: 'Quilling art work for flowers'
  },
  {
     id: 3,
     name: 'Kids',
     description: 'Quilling art work for kids toys'
  }
]

Hi @sivaprasadreddy nice initiative I hope it goes on and I will find time to contribute.
It would be interesting to see (HATEOAS)[http://projects.spring.io/spring-hateoas/] used in the projects. What do you think?

@atomobianco Sure. But I am thinking of starting with simple now and add HATEOAS support in next iteration. In this iteration I am focusing on setting up overall flow.


Conversation Component

This PR contains most of the component logic for conversations.

 [Editor] Comment Styling

 [Editor] Field Styling


Command Palette commands are broken

Issue Type: Bug

Open Command Palette
Replace all text with "?"
select any of the commands such as "term" or "debug"
-> all of them are now filters on the file quick pick

VS Code version: Code - Insiders 1.29.0-insider (d8c42ed0045d290adb1783ac3e9c113bfc357def, 2018-10-30T06:11:43.674Z)
OS version: Darwin x64 18.0.0

Already fixed in recent build.


Add "only" mode

We need a way to specify that you should only be doing one of the tests in the file for quick testing. Perhaps something like [only] in the title, and then require --allow-only as a flag. This way, it won't get accidentally committed.

I think the best solution is for an --only parameter that accepts a regex, and only tests whose titles match the regex get run.
This way, we know nothing gets committed, plus the decision of whether or not to run a given test relies only on that test and the regex (ie, you don't have to know anything about any other tests to make the decision).
This is what the Go testing command does, and I think it works pretty well.

We have to at minimum calculate the path to the test and run all the preceding requirements (previous tests in serial Suites, and parent Suites).

Ah, right, test dependencies (parents, preceding serial tests) do need to be determined and run.
Why do we need to calculate the path to the test?

So that we don't run unecessary tests. For example, if you have Suite A { Suite B { Test 1, Test 2 }  }, merely knowing Suite A is the parent to start with isn't sufficient, since you need to know that you SHOULD run Suite B but NOT Test 2, so you'd want, working backwards from the matched regex, A -> B -> 1. If it's Suite A { Suite B { ... } . Suite C (Serial) { Test 1, Test 2 }  }, you want A -> C -> 1 -> 2. You then want to merge the paths of all the matches, so that you have have a green-lit set to compare to when walking the test tree as normal.

Oh oh, sorry, I misinterpreted that to mean "the path on the filesystem to the file which contains the test".  Got it, yes that makes sense.

This is just conceptually of course, you can imagine just doing getPrunedTree:
getPrunedTree (node)
{
     if (node.title matches regex)
         return node;

     if (node is Suite)
     {
          children = node.children.filter(getPrunedTree);
          if (children.length > 0)
              return Suite({ ...node, children });
         else
              return null;
     }
}


Clean Crypto Libs

Unify all crypto libs to node-forge. Clearer and more efficient.

Really excellent work. This PR will make code more clean and make it easier to migration in the future.
Thanks again for your effort.

Really excellent work. This PR will make code more clean and make it easier to migration in the future.
Thanks again for your effort.


How to set up studies - add ANY relevant info

Ah, this, right! Thanks @sineknorr I'll look over it later today.

@sineknorr for now, I'm going to accept what you've added and join it with the main files. Your own "sinekorr" branch will still be there, so you can keep working there on this.


Audio WAV files from iOS are not read by Tensorflow audio_ops.decode_wav: Header mismatch: Expected fmt  but found JUNK

I have an iOS app that records audio as wav files and sends the files to the server for audio recognition. The iOS app records audio as wav files with the following configurations
let settings = [
                    AVFormatIDKey: Int(kAudioFormatLinearPCM),
                    AVSampleRateKey: 16000,
                    AVNumberOfChannelsKey: 1,
                    AVLinearPCMBitDepthKey: 16,
                    AVEncoderAudioQualityKey:AVAudioQuality.max.rawValue
                    ] as [String : Any]

The files are playing with any media player. But when i try to read the files with tensorflow ops in the server i am getting the following error
InvalidArgumentError: Header mismatch: Expected fmt  but found JUNK
	 [[node DecodeWav_3 (defined at <ipython-input-5-36afd53919f4>:4) ]]

Errors may have originated from an input operation.
Input Source operations connected to node DecodeWav_3:
 ReadFile_3 (defined at <ipython-input-5-36afd53919f4>:3)

Original stack trace for 'DecodeWav_3':
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel_launcher.py", line 16, in <module>
    app.launch_new_instance()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel/kernelapp.py", line 505, in start
    self.io_loop.start()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/platform/asyncio.py", line 148, in start
    self.asyncio_loop.run_forever()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/asyncio/base_events.py", line 438, in run_forever
    self._run_once()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/asyncio/base_events.py", line 1451, in _run_once
    handle._run()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/asyncio/events.py", line 145, in _run
    self._callback(*self._args)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/ioloop.py", line 690, in <lambda>
    lambda f: self._run_callback(functools.partial(callback, future))
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/ioloop.py", line 743, in _run_callback
    ret = callback()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/gen.py", line 787, in inner
    self.run()
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/gen.py", line 748, in run
    yielded = self.gen.send(value)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 365, in process_one
    yield gen.maybe_future(dispatch(*args))
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 272, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 542, in execute_request
    user_expressions, allow_stdin,
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel/ipkernel.py", line 294, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/ipykernel/zmqshell.py", line 536, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2855, in run_cell
    raw_cell, store_history, silent, shell_futures)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2881, in _run_cell
    return runner(coro)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/IPython/core/async_helpers.py", line 68, in _pseudo_sync_runner
    coro.send(None)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3058, in run_cell_async
    interactivity=interactivity, compiler=compiler, result=result)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3249, in run_ast_nodes
    if (await self.run_code(code, result,  async_=asy)):
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3326, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-5-36afd53919f4>", line 4, in <module>
    data = audio_ops.decode_wav(audio_binary, desired_channels=1)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tensorflow/python/ops/gen_audio_ops.py", line 227, in decode_wav
    desired_samples=desired_samples, name=name)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
    op_def=op_def)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3616, in create_op
    op_def=op_def)
  File "/Users/minimaci73/anaconda3/envs/Samples/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2005, in __init__
    self._traceback = tf_stack.extract_stack()

I couldn't find the reason for the crash. My TensorFlow code to read the files are as below
import tensorflow as tf
from tensorflow.contrib.framework.python.ops import audio_ops
file = "/Users/minimaci73/Downloads/1567690231185.wav"  #wav file path
audio_binary = tf.read_file(file)
data = audio_ops.decode_wav(audio_binary, desired_channels=1)
pcm16_data = tf.Session().run(data)
pcm16_data = pcm16_data[0]
print(pcm16_data)

OS - OSX Mojave 10.14.6
Tensorflow Version: 14
Environment - Anaconda VM

I'm also getting what appears to be the same issue using tf2 in the Windows subsystem for Linux. There's a stackoverflow question about this here: https://stackoverflow.com/questions/58295764/import-wav-file-in-tensorflow-2

I'm also getting what appears to be the same issue using tf2 in the Windows subsystem for Linux. There's a StackOverflow question about this here: https://stackoverflow.com/questions/58295764/import-wav-file-in-tensorflow-2

I still couldn't fix this. So instead I adjusted the model to take Float32 inputs and then used librosa to read the data from the file in float32 and then used this float array as input to the model. But I am not sure whether the model still trains the same way as while using decode_wav.

See comment in https://github.com/tensorflow/tensorflow/issues/26247#issuecomment-623155920 , it is available in https://github.com/tensorflow/io with  tfio.audio.decode_wav in latest nightly build:
pip install tensorflow-io-nightly

I will close this issue, but please feel free to open a new issue in https://github.com/tensorflow/io if encountering any problems.


url with data uri?

Hello
    var crimg = jQuery('#cimgdiv').croppie({
        viewport: {
            width: 300,
            height: 300
        }
    });
    crimg.croppie('bind', {
        url: 'data:image/jpeg;base64,'+pimg
    });

Is it possible to use data:image for image src instead of url?

i just tried and it works fine :)

Yep - it should work.

@noveweb, the same problem here.
Did you manage to find a solution?
Tks


Adapt load.sh to use gov.uk PaaS postgres as destination via cloudfoundry conduit

Cloudfoundry conduit lets you run a process in your local environment that has an SSH tunnel to a particular cloudfoundry service. It exposes VCAP_SERVICES as an environment variable, containing the credentials to authenticate with these services.
I've used to this to run the python load.py functionality (wrapped in another module which parses VCAP_SERVICES and passes the necessary credentials to do_replace) on the native execution environment (tested in the digital-land-postgres image built and run on my laptop) to populate a gov.uk PaaS postgres database as it would an RDS postgres instance
We'll need to make a service account to run this on AWS ECS as it requires credentials.
To test this out:
docker build -t<PHONE_NUMBER>13.dkr.ecr.eu-west-2.amazonaws.com/digital-land-postgres task/
docker run -e S3_KEY=digital-land-builder/dataset/digital-land.sqlite3 -e S3_BUCKET=digital-land-production-collection-dataset -e CF_USER=$CF_USER -e CF_PASSWORD="$CF_PASSWORD" -e ENVIRONMENT=staging -e CF_DATABASE_SERVICE_NAME=staging-digital-land-platform-postgres<PHONE_NUMBER>13.dkr.ecr.eu-west-2.amazonaws.com/digital-land-postgres:latest
docker run -e S3_KEY=entity-builder/dataset/entity.sqlite3 -e S3_BUCKET=digital-land-production-collection-dataset -e CF_USER=$CF_USER -e CF_PASSWORD="$CF_PASSWORD" -e ENVIRONMENT=staging -e CF_DATABASE_SERVICE_NAME=staging-digital-land-postgres<PHONE_NUMBER>13.dkr.ecr.eu-west-2.amazonaws.com/digital-land-postgres:latest

👍🏼 merge when ready


added two new containers

added hampton-1ml-deep-block and rigaku-compact-crystallization-plate

Coverage increased (+0.2%) to 95.18% when pulling 5f28a98ed8058fd9634f2177d43499b4395bed40 on cayman_chemical_containers into a738c1dcbcab4263c7880026ab8f3a206ca3568c on master.

Coverage increased (+0.2%) to 95.18% when pulling b86662315135fed0adbe06f382cce209af51a99d on cayman_chemical_containers into a738c1dcbcab4263c7880026ab8f3a206ca3568c on master.


Update example-reference-script-usage.sh to also use inline datums

We introduce --reference-tx-in-inline-datum-present and --tx-in-inline-datum-present to indicate when we are using an inline datum.

Conversely, if the Plutus script failed, the collateral input would have been consumed.
Bit scary. It would only fail local validation so we could say that.


Add xWaitForCertificateServices Resource - Fixes #73

This PR adds a new resource that waits for the specified CA to come online before continuing. It is intended to fix #73.
It also fixes issue #80 that was identified when I was creating/testing this resource.

This change is

Reviewed 11 of 11 files at r1.
Review status: all files reviewed at latest revision, 22 unresolved discussions.

ReadMe.md, line 18 at r1 (raw file):

- **xCertificateExport**: Used to export a certificate from a Windows certificate
  store.
- **xWaitForCA**: Used to wait for a CA to become available.

Could we write out CA to Certificate Authority, and be more specific that it is a Active Directory Certificate Service Certificate Authority?
And all others throughout.

ReadMe.md, line 18 at r1 (raw file):

- **xCertificateExport**: Used to export a certificate from a Windows certificate
  store.
- **xWaitForCA**: Used to wait for a CA to become available.

Suggestion (non-blocking): I would rather have seen this resource name would not have used abbreviation, but rather that it was named xWaitForCertificateAuthority, or xWaitForCertificateServices, because we cant wait for any CA, only ADCS CA's.

ReadMe.md, line 136 at r1 (raw file):

ADCS CA

Should we write out to; Active Directory Certificate Service Certificate Authority
And all others throughout.

ReadMe.md, line 136 at r1 (raw file):

### xWaitForCA

- **`[String]` CAServerFQDN** (_Key_): The FQDN of the ADCS CA to wait for.

Can we remove the abbreviations in the parameter names?

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 29 at r1 (raw file):

CA

Could we not use abbreviation? And all others throughout.

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 32 at r1 (raw file):

ADCS CA

Could we not use abbreviation? And all others throughout.

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 59 at r1 (raw file):

$RetryIntervalSec

Can we change this to RetryIntervalSeconds?

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 66 at r1 (raw file):

$ca

Could you change this variable name to something better, and not use abbreviation?

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 124 at r1 (raw file):

CheckingForCAStatusMessage

Abbreviation in these as well, can we change?

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 183 at r1 (raw file):

    param
    (
        [parameter(Mandatory = $true)]

Upper 'P'. Throughout.

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 213 at r1 (raw file):

            Write-Verbose -Message ( @(
                    "$($MyInvocation.MyCommand): "
                    $($localizedData.CAOnlineMessage -f $ca)

Missing this one in the strings.psd1.

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.psm1, line 221 at r1 (raw file):

    Write-Verbose -Message ( @(
            "$($MyInvocation.MyCommand): "
            $($localizedData.CAOfflineMessage -f $ca)

Missing this one in the strings.psd1.

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.schema.mof, line 1 at r1 (raw file):

Blank row here.

DSCResources/MSFT_xWaitForCA/en-us/MSFT_xWaitForCA.strings.psd1, line 3 at r1 (raw file):

ConvertFrom-StringData @'
    GettingWaitForCAStatusMessage = Getting Wait for status of CA '{0}'.

Blank row here.

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 17 at r1 (raw file):

    (
        [Parameter()]
        [string[]]

System.String[]

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 22 at r1 (raw file):

        [Parameter(Mandatory = $true)]
        [ValidateNotNullorEmpty()]
        [PSCredential]

[System.Management.Automation.PSCredential]

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 27 at r1 (raw file):

    Import-DscResource -ModuleName xCertificate
    Node 'localhost'

Blank row before this one.

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 40 at r1 (raw file):

            CAServerFQDN        = 'dc01.test.pha'
            Subject             = 'foodomain.test.net'
            KeyLength           = '1024'

Maybe promote key length of 2048 from now?

Modules/CertificateDsc.Common/CertificateDSc.Common.psm1, line 461 at r1 (raw file):

"-ping "$CAServerFQDN\$CARootName""

Maybe ('-ping "{0}\{1}"' -f $CAServerFQDN, $CARootName)
Not sure it more readable. Non-blocking.

Tests/Unit/CertificateDsc.Common.Tests.ps1, line 871 at r1 (raw file):

                }

                It 'Should call exepcted mocks' {

Typo 'expected'

Tests/Unit/MSFT_xWaitForCA.Tests.ps1, line 46 at r1 (raw file):

                It 'Should return a hashtable' {
                    ($result -is [hashtable]) | Should Be $true

$result | Should BeOfType [System.Collections.Hashtable]

Tests/Unit/MSFT_xWaitForCA.Tests.ps1, line 49 at r1 (raw file):

Should contain the input values

More clear? 'Should contain the same values passed as parameters'

Comments from Reviewable

Thanks for reviewing @Johlju ! I really appreciate it - I've made all the fixes I think (except changing the names of the two parameters - because I think they should be consistent with xCertReq).
I also ended up fixing up the style on all the examples, so there is an additional change thrown in.
I haven't changed the default key length in the xCertReq resource yet, but I've changed the examples to all be 2048 bits and also raised an issue to change the default key length to issue in xCertReq as well (I'll get that change made after this one is through).

Review status: 1 of 24 files reviewed at latest revision, 22 unresolved discussions.

ReadMe.md, line 18 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Could we write out CA to Certificate Authority, and be more specific that it is a Active Directory Certificate Service Certificate Authority?
And all others throughout.

Done.

ReadMe.md, line 18 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Suggestion (non-blocking): I would rather have seen this resource name would not have used abbreviation, but rather that it was named xWaitForCertificateAuthority, or xWaitForCertificateServices, because we cant wait for any CA, only ADCS CA's.

Done. Changed to xWaitForCertificateServices

ReadMe.md, line 136 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

ADCS CA

Should we write out to; Active Directory Certificate Service Certificate Authority
And all others throughout.

Done.

ReadMe.md, line 136 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Can we remove the abbreviations in the parameter names?

I'd prefer to leave the names as is so that they match the ones in xCertReq resource. Otherwise I think it would be pretty confusing to users. And changing xCertReq would be a breaking change. Is that OK?

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 29 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

CA

Could we not use abbreviation? And all others throughout.

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 32 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

ADCS CA

Could we not use abbreviation? And all others throughout.

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 59 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

$RetryIntervalSec

Can we change this to RetryIntervalSeconds?

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 66 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

$ca

Could you change this variable name to something better, and not use abbreviation?

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 124 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

CheckingForCAStatusMessage

Abbreviation in these as well, can we change?

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 183 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Upper 'P'. Throughout.

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 213 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Missing this one in the strings.psd1.

Done.

DSCResources/MSFT_xWaitForCertificateServices/MSFT_xWaitForCertificateServices.psm1, line 221 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Missing this one in the strings.psd1.

Done.

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 17 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
System.String[]

Done.

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 22 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
[System.Management.Automation.PSCredential]

Done.

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 27 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Blank row before this one.

Done.

Examples/Resources/xWaitForCA/1-RequestSSLCertWithWait.ps1, line 40 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Maybe promote key length of 2048 from now?

Done.

Modules/CertificateDsc.Common/CertificateDSc.Common.psm1, line 461 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

"-ping "$CAServerFQDN\$CARootName""

Maybe ('-ping "{0}\{1}"' -f $CAServerFQDN, $CARootName)
Not sure it more readable. Non-blocking.

Done.

Tests/Unit/CertificateDsc.Common.Tests.ps1, line 871 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Typo 'expected'

Done.

Tests/Unit/MSFT_xWaitForCertificateServices.Tests.ps1, line 46 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
$result | Should BeOfType [System.Collections.Hashtable]

Done. Did global search/replace which corrected it in other tests.

Tests/Unit/MSFT_xWaitForCertificateServices.Tests.ps1, line 49 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

Should contain the input values

More clear? 'Should contain the same values passed as parameters'

Done.

DSCResources/MSFT_xWaitForCA/MSFT_xWaitForCA.schema.mof, line 1 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Blank row here.

Done.

DSCResources/MSFT_xWaitForCA/en-us/MSFT_xWaitForCA.strings.psd1, line 3 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Blank row here.

Done.

Comments from Reviewable

Reviewed 29 of 29 files at r2.
Review status: all files reviewed at latest revision, 4 unresolved discussions.

ReadMe.md, line 136 at r1 (raw file):
Previously, PlagueHO (Daniel Scott-Raynsford) wrote…
I'd prefer to leave the names as is so that they match the ones in xCertReq resource. Otherwise I think it would be pretty confusing to users. And changing xCertReq would be a breaking change. Is that OK?

Okay, let's leave them. That could be changed throughout (all resources) when this module becomes HQRM (changes name).

ReadMe.md, line 143 at r2 (raw file):

- **`[Uint32]` RetryIntervalSeconds**: Specifies the number of seconds to wait for
  the Active Directory Certificate Service Certificate Authority to become
  available. Defaults to 10.

Maybe: 'Defaults to 10 seconds.'

ReadMe.md, line 146 at r2 (raw file):

- **`[Uint32]` RetryCount**: The number of times to loop the retry interval while
  waiting for the Active Directory Certificate Service Certificate Authority.
  Optional. Defaults to 60.

Maybe: 'Defaults to 60 retries.'

Tests/Unit/MSFT_xWaitForCertificateServices.Tests.ps1, line 46 at r1 (raw file):
Previously, PlagueHO (Daniel Scott-Raynsford) wrote…
Done. Did global search/replace which corrected it in other tests.

You missed this one? It does not use BeOfType (and not in other tests either).
It's okay as-is. So making this a non-blocking comment.

Comments from Reviewable

Thanks for the review @johlju. I think I've fixed everything. I included a couple of other minor style fixes here and there where I saw them. I'll actually do a full HQRM run through of this module when I move it over to auto-documentation in the next week. So any other style fixes will be made then (it'll be a big PR I imagine but I'll try and break it up into smaller chunks like I'm doing with xNetworking).

Review status: 16 of 26 files reviewed at latest revision, 2 unresolved discussions.

ReadMe.md, line 136 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Okay, let's leave them. That could be changed throughout (all resources) when this module becomes HQRM (changes name).

Cool. Will do this as part of HQRM (if HQRM is still going to happen :grin:) - I've logged an issue to do this.

ReadMe.md, line 143 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Maybe: 'Defaults to 10 seconds.'

Done. And in the MOF/PSM1 as well.

ReadMe.md, line 146 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Maybe: 'Defaults to 60 retries.'

Done. And in the MOF/PSM1 as well.

Tests/Unit/MSFT_xWaitForCertificateServices.Tests.ps1, line 46 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
You missed this one? It does not use BeOfType (and not in other tests either).
It's okay as-is. So making this a non-blocking comment.

Oops! Good catch (I misunderstood the suggestion). Fixed now (and all others).

Comments from Reviewable

You are welcome :smile:

Reviewed 2 of 29 files at r2, 10 of 10 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Dart type checking became more strict

I have a function
double get packedPercent =>
      deadline.totalItems == 0 ? 0 : packedCount / deadline.totalItems;

This function used to work fine, even when deadline.totalItems was 0. Now it fails when a type error when deadline.totalItems is 0.
I'm guessing this is because I am returning an int 0 instead of a double 0.0.
I do not get any output from dart analysis related to this, even when using https://raw.githubusercontent.com/flutter/flutter/master/.analysis_options
StoreManager: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
StoreManager: The following assertion was thrown building _Deadline:
StoreManager: type 'int' is not a subtype of type 'double' of 'function result' where
StoreManager:   int is from dart:core
StoreManager:   double is from dart:core
StoreManager: Either the assertion indicates an error in the framework itself, or we should provide substantially
StoreManager: more information in this error message to help you determine and fix the underlying cause.
StoreManager: In either case, please report this assertion by filing a bug on GitHub:
StoreManager:   https://github.com/flutter/flutter/issues/new
StoreManager: When the exception was thrown, this was the stack:
StoreManager: #0      _Deadline.packedPercent (lib/routes/dashboard/deadlines.dart:74)
StoreManager: #1      _Deadline.packedPercentAndTimeLeft (lib/routes/dashboard/deadlines.dart:137)
StoreManager: #2      _Deadline.build (lib/routes/dashboard/deadlines.dart:93)
StoreManager: #3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:2027)
StoreManager: #4      BuildableElement.rebuild (package:flutter/src/widgets/framework.dart:1941)
StoreManager: #5      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:2013)
StoreManager: #6      ComponentElement.mount (package:flutter/src/widgets/framework.dart:2008)
StoreManager: #7      Element.inflateWidget (package:flutter/src/widgets/framework.dart:1584)
StoreManager: #8      MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:2780)
StoreManager: #9      Element.inflateWidget (package:flutter/src/widgets/framework.dart:1584)
StoreManager: #10     Element.updateChild (package:flutter/src/widgets/framework.dart:1461)
StoreManager: #11     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:2039)
StoreManager: #12     BuildableElement.rebuild (package:flutter/src/widgets/framework.dart:1941)
...

So this is a recent VM change, which was picked up in a flutter/engine roll.  Is this expected @a-siva?

CC @pq since the analyzer doesn't warn about this?

Does your .analysis_options file turn on all the type checking?
I'm pretty sure this has never worked before? We've asked for it to work for a while (it's on the Flutter team's "Dart wishlist"), so I'd be surprised if it did work before...

cc @bwilkerson @jmesserly who may have better insight into the analysis side of things.

Was this error produced by running the AOT compiler?

This is just a checked mode failure. This hasn't ever worked in Dart.
$ cat test.dart
double get packedPercent => 0;
main() { print(packedPercent); }

$ dartanalyzer test.dart
Analyzing [test.dart]...
[warning] The return type 'int' is not a 'double', as defined by the method 'packedPercent'. (test.dart, line 1, col 29)
1 warning found.

$ dartanalyzer --strong test.dart
Analyzing [test.dart]...
[error] The return type 'int' is not a 'double', as defined by the method 'packedPercent'. (test.dart, line 1, col 29)
1 error found.

$ dart -c test.dart
Unhandled exception:
type 'int' is not a subtype of type 'double' of 'function result' where
  int is from dart:core
  double is from dart:core

#0      packedPercent (test.dart:1:29)
#1      main (test.dart:2:16)
#2      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261)
#3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

void main() {
  print(test(1));
  print(test(2));
  print(test(0));
}

double test(int a) => a == 0 ? 0 : 1 / a;

This currently runs on dartpad with no issues and no analyzer warnings. It will fail on the VM flutter uses.
CONSOLE
1
0.5
0

https://dartpad.dartlang.org/53bd8d3a960c49b0f8f22b80362aec13

dart2js has limitations with respect to how closely it implements dart's rules about numbers, due to JS only having one number type.

Not sure if analyzer knows what to do here, when ternary operator returns either int or double, and the function is marked to return a double. I'd expect an analyzer warning, regardless of later being compiled with dart2js.
cc @bwilkerson ?

They do not appear to have "checked mode" turned on in dartpad. So type annotations are more or less ignored.

Not sure if analyzer knows what to do here, when ternary operator returns either int or double, and the function is marked to return a double. I'd expect an analyzer warning, regardless of later being compiled with dart2js.

@sethladd Analyzer knows exactly what to do. It concludes "num", which is then implicitly downcast to "double". All of our modes allow it, if you want to disable downcasts use the recently introduced (in 1.19) --no-implicit-casts flag of strong mode. See:
http://news.dartlang.org/2016/08/dart-119-improved-developer-experiences.html

Oops I should've linked to the changelog:
https://github.com/dart-lang/sdk/blob/master/CHANGELOG.md#strong-mode

@jmesserly kk, thanks! (all these modes and options and lints and features are making my head swim)

~$ dart --version
Dart VM version: 1.19.0-dev.5.0 (Wed Aug 10 09:29:58 2016) on "macos_x64"
~$ dartanalyzer --version
dartanalyzer version 1.19.0-dev.5.0~$
~$ cat test.dart
void main() {
 print(test(2));
 print(test(0));
}

double test(int a) => a == 0 ? 0 : 1 / a;
~$ dartanalyzer test.dart
Analyzing [test.dart]...
No issues found
~$ dartanalyzer --strong test.dart
Analyzing [test.dart]...
No issues found
~$ dart test.dart
0.5
0
~$ dart -c test.dart
0.5
Unhandled exception:
type 'int' is not a subtype of type 'double' of 'function result' where
  int is from dart:core
  double is from dart:core

#0      test (file:///Users/drewwarren/test.dart:6:23)
#1      main (file:///Users/drewwarren/test.dart:3:8)
#2      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261)
#3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

@jmesserly kk, thanks! (all these modes and options and lints and features are making my head swim)

yeah no kidding!
If it helps to know, things will get better :). Strong mode will be "the only mode". Things like --no-implicit-casts are ways for us to gracefully introduce stricter checking we think is a good idea, and determine if it can be rolled into strong mode.

Hi! How do we take action on this issue? Is this something for Flutter to do?
cc @floitschG

I guess this is more of a dart issue, but it was noticed in our application from a flutter engine roll.
The dart bug would be something like
double test(int a) => a == 0 ? 0 : 1 / a;

Should produce an error in dart analyzer but does not. Calling this function fails when running with -c.

Unfortunately in Dart1 this is not an error, but an implicit downcast :(
This is also true in strong mode, currently. We recently added --no-implicit-casts to help.
CC @leafpetersen

Yes, this is on long list of small but annoying problems to fix.
https://github.com/dart-lang/sdk/issues/25368

@sethladd: the code is bad since it tries to return an integer where a double was required. If it hasn't been updated yet, it should be.
Once that's done we can close the issue. Tracking of better warnings and detecting these kind of errors earlier is covered in other bugs (such as https://github.com/dart-lang/sdk/issues/25368).

it tries to return an integer where a double was required

Fair enough. I've asked @drewwarren if we can change the code to return deadline.totalItems == 0.0 ? 0.0 : ...

The customer's code has been fixed. They would love if the analyzer can detect if one of the cases of the ternary returns an incorrect type. In the meantime, we can close this issue in favor of https://github.com/dart-lang/sdk/issues/25368


Please release

In 2017, the construction of the network command was fixed. Can a release be made to PyPI, please?

I've released 0.1.2 which includes your pull request and some trivial updates :+1:


Add modules : Parsing and NLP

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

Please read and adhere to the contributing guidelines.


Updated main content spacing

AJ updated the spacing requirements for main content in [GHE]/flapjack/Modules-V1/issues/116. Hero spacing is documented in the Design Manual, other uses will be documented in the future.
Changes

Updated the unit function to convert 45px to ems

Testing

follow these directions
New spacing should match examples below.

Review

@ajbush
@anselmbradford
@sebworks
@cfarm
@Scotchester

Screenshots

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[x] New functions include new tests
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

The same adjustments need to be made in the bleedbar sidebar styles.

@Scotchester fixed

:+1:

👍

:+1:


Using the -c flag is extremely slow

Description
I have a TEST_CASE() with several SECTION()s. If I run just the test case by passing the test case name to the executable, it runs in 1 to 2 seconds. If I pass the -c flag and the name of a section, its at least 2 seconds until the test starts to run:
$ time tests/unit_tests "TESTCASENAME"
...
tests/unit_tests "TESTCASENAME"  0.05s user 0.01s system 33% cpu 0.164 total
And with the section specified, which is a subsection of the test case above, meaning that it is also run on the test above:
time tests/unit_tests -c "Test parse_parameter_status()"
...
tests/unit_tests -c "Test parse_parameter_status()"  0.05s user 0.01s system 0% cpu 18.207 total
and with gcc:
tests/unit_tests -c "Test parse_parameter_status()"  0.06s user 0.01s system 0% cpu 18.240 total
I believe my tests are setup as the documentation recommends as this slowdown didn't happen before.
This delay makes the -c flag sort of... useless? If the whole test case takes less to run than a subsection then there is no point in having the ability to run subsections.

Catch version: v1.7.0
Operating System: Latest OSX Sierra
Compiler+version: Latest Clang; GCC 4.8.5

I appreciate the documentation could be better, but I did try to tag a bit at the end of https://github.com/philsquared/Catch/blob/master/docs/command-line.md#run-section:
"If you specify a section without narrowing to a test case first then all test cases will be executed (but only matching sections within them)."
What I meant by that is you need both the test case name and the section name(s) - so in your case, I believe, you want:
$ time tests/unit_tests TESTCASENAME -c "Test parse_parameter_status()"
The reason for this is that the only way it can find the sections is by executing to them - so if you don't give it a test case (or test cases) to go into then it will have to try all of them.
Probably I should make it an error to specific -c without specifying a test case, or at least a set of test cases.

That's it.


docs: fix broken worker file link in zig section

I fixed broken link in https://workers.wasmlabs.dev/docs/languages/zig

Thank you for your contribution @kbwo! I'm going to approve it and wait for the CLA to merge it 😄


improve Avx2

Type of Change
remove warning in MSVC
default to set AVX512 OFF
Description
detail description
JIRA ticket: xxx
Expected Behavior & Potential Risk
Setting AVX512 OFF have no regress on SPR.
How has this PR been tested?
how to reproduce the test (including hardware information)
Dependency Change?
any library dependency introduced or removed

I think no used kernel will be affected by these options.


Trying to utilize glm.glm_typing

I would like to reuse the defined types of the glm libary in my own methods.
Because I dont want to loose the already defined type casts.
But I am unable to import it correctly. Did I do something wrong or is it just locked?
Example one:

Example two:

Hi there @Wasserwecken,
unfortunately, glm_typing is not currently available as a sub-package of glm.
You can however use the following code for the time being:
import importlib
glm_typing = importlib.import_module("glm-stubs.glm_typing")