Es6 parsing errors

Using the latest beta 2 release, i still can't compile our project with webpack and uglify js. I get a bunch of errors:
ERROR in js/0.e650a1216d2254804644.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/0.e650a1216d2254804644.js:1,22]

ERROR in js/admin_vendor.d2cd47f2483885be1b59.js from UglifyJs
Invalid assignment [js/admin_vendor.d2cd47f2483885be1b59.js:1,39]

ERROR in js/vendor.9a912162b3af71161977.js from UglifyJs
Invalid assignment [js/vendor.9a912162b3af71161977.js:1,25]

ERROR in js/surveys_vendor.494ceefd2361b3728fe8.js from UglifyJs
Invalid assignment [js/surveys_vendor.494ceefd2361b3728fe8.js:1,37]

ERROR in js/checkout_vendor.fb2c911a62751ce67576.js from UglifyJs
Invalid assignment [js/checkout_vendor.fb2c911a62751ce67576.js:1,37]

ERROR in js/graphiql_vendor.c343df2b080b164c48d3.js from UglifyJs
Invalid assignment [js/graphiql_vendor.c343df2b080b164c48d3.js:1,32]

ERROR in js/admin.a93255238f41a7ec1bd7.js from UglifyJs
Unexpected token: punc ()) [js/admin.a93255238f41a7ec1bd7.js:1,655]

ERROR in js/landing-pages_vendor.b54b6beee23eadc55c4b.js from UglifyJs
Invalid assignment [js/landing-pages_vendor.b54b6beee23eadc55c4b.js:1,32]

ERROR in js/venue-portal_vendor.639c04accaf1ba2de574.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/venue-portal_vendor.639c04accaf1ba2de574.js:1,20]

ERROR in js/checkout.4f43f1bd4817898dd7a8.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/checkout.4f43f1bd4817898dd7a8.js:1,20]

ERROR in js/surveys.de2929da2691ffcd0054.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/surveys.de2929da2691ffcd0054.js:1,21]

ERROR in js/landing-pages.e88bd429d81adf8dedfe.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/landing-pages.e88bd429d81adf8dedfe.js:1,21]

ERROR in js/crm_vendor.b47fa1b9209b19c3bdfa.js from UglifyJs
Invalid assignment [js/crm_vendor.b47fa1b9209b19c3bdfa.js:1,33]

ERROR in js/venue-portal.fbdbff3ebf2762fa9a93.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/venue-portal.fbdbff3ebf2762fa9a93.js:1,21]

ERROR in js/brand-pages_vendor.6fad5816b248b665e243.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/brand-pages_vendor.6fad5816b248b665e243.js:1,23]

ERROR in js/brand-pages.941b599481dafc718f0c.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/brand-pages.941b599481dafc718f0c.js:1,21]

ERROR in js/graphiql.3e633a8af08f1d993d35.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/graphiql.3e633a8af08f1d993d35.js:1,21]

ERROR in js/crm.ca6d09aebbc648efc543.js from UglifyJs
Unexpected token punc «(», expected punc «:» [js/crm.ca6d09aebbc648efc543.js:1,21]

ERROR in js/manifest.99425849abfda34bc57f.js from UglifyJs
Unexpected token: operator (>) [js/manifest.99425849abfda34bc57f.js:1,3]

I specified the ecma: 8 option.
Any idea why this happens ?
Thanks !

I have same error with the equal ecma option.

@moimael thanks for issue, can your create minimum reproducible test repo?

@moimael can you provide config (or part of config) where your configure plugin and options, maybe wrong options, without repo difficult to determine where problem :disappointed:

Here you go:
    new UglifyJSPlugin({
      sourceMap: true,
      uglifyOptions: { ecma: 8 },
    })

@moimael okey, let's debug this :+1:

@moimael same problem here with arrow function in my app.js main file

UglifyJs conf :
new UglifyJSPlugin({             parallel: true,             uglifyOptions: {                 ecma: 7             },             beautify: false,             sourceMap: true,             comments: false         }) parallel: true,            uglifyOptions: {                ecma: 7            },            beautify: false,            sourceMap: true,            comments: false        })
The error :

Good job btw :)

Any ideas or workaround ? :)

If i disable the mangle and compress option I get this:
ERROR in js/0.d2f9ef3556cc3dfba988.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-dom/lib/ReactPerf.js:73,0][js/0.d2f9ef3556cc3dfba988.js:1,1554]

ERROR in js/admin_vendor.073ccb6d0ca1c3a894a4.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-intl/lib/index.es.js:110,0][js/admin_vendor.073ccb6d0ca1c3a894a4.js:1,5568]

ERROR in js/vendor.30f8b421226451805c83.js from UglifyJs
Unexpected token: punc (,) [./node_modules/moment/moment.js:1880,0][js/vendor.30f8b421226451805c83.js:6,36604]

ERROR in js/surveys_vendor.424c3d03a21cf0706a86.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-intl/lib/index.es.js:110,0][js/surveys_vendor.424c3d03a21cf0706a86.js:1,5566]

ERROR in js/checkout_vendor.32725348a9b61d3011ea.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-intl/lib/index.es.js:110,0][js/checkout_vendor.32725348a9b61d3011ea.js:1,5566]

ERROR in js/graphiql_vendor.8b8e29ed2a09df95dcfb.js from UglifyJs
Unexpected token: punc (,) [./node_modules/apollo-client/data/storeUtils.js:130,0][js/graphiql_vendor.8b8e29ed2a09df95dcfb.js:1,12732]

ERROR in js/admin.fd65508304406c9bcac0.js from UglifyJs
Unexpected token: punc (,) [./src/shared/higher/pure/index.js:18,0][js/admin.fd65508304406c9bcac0.js:1,4192]

ERROR in js/landing-pages_vendor.f2b99fa611e1b60f1ff7.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-intl/lib/index.es.js:110,0][js/landing-pages_vendor.f2b99fa611e1b60f1ff7.js:1,5561]

ERROR in js/venue-portal_vendor.7bc9fc28f966fa66bfc8.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-apollo/react-apollo.browser.umd.js:116,12][js/venue-portal_vendor.7bc9fc28f966fa66bfc8.js:1,13973]

ERROR in js/checkout.2851077621cc5f728c90.js from UglifyJs
Unexpected token: punc (,) [js/checkout.2851077621cc5f728c90.js:1,1353]

ERROR in js/surveys.78b168a1cfe662bb63da.js from UglifyJs
Unexpected token: punc (,) [js/surveys.78b168a1cfe662bb63da.js:1,1354]

ERROR in js/landing-pages.d025ed168a96d7a46779.js from UglifyJs
Unexpected token: punc (,) [js/landing-pages.d025ed168a96d7a46779.js:1,1354]

ERROR in js/crm_vendor.94c733e996001f5e971e.js from UglifyJs
Unexpected token: punc (,) [./node_modules/apollo-client/data/storeUtils.js:130,0][js/crm_vendor.94c733e996001f5e971e.js:1,12733]

ERROR in js/venue-portal.d4af3319c441e3004983.js from UglifyJs
Unexpected token: punc (,) [js/venue-portal.d4af3319c441e3004983.js:1,1354]

ERROR in js/brand-pages_vendor.ff854aedd8ff4f3a760d.js from UglifyJs
Unexpected token: punc (,) [./node_modules/react-intl/lib/index.es.js:110,0][js/brand-pages_vendor.ff854aedd8ff4f3a760d.js:1,5322]

ERROR in js/brand-pages.826099fb204f8b1f22a1.js from UglifyJs
Unexpected token: punc (,) [js/brand-pages.826099fb204f8b1f22a1.js:1,1354]

ERROR in js/graphiql.f4b07551724834d62840.js from UglifyJs
Unexpected token: punc (,) [js/graphiql.f4b07551724834d62840.js:1,1354]

ERROR in js/crm.6fd313b8d94ade5813d5.js from UglifyJs
Unexpected token: punc (,) [js/crm.6fd313b8d94ade5813d5.js:1,1354]

Any update on this issue. It's preventing deployment.

Encountering this issue with running webpack -p as well.

WIP

@ambewas just confirm, your use webpack 3.5.0?

@evilebottnawi that's correct. I was having the issue with 3.4.1 but just tried with 3.5.0 as well & the error remains

here's my webpack config, btw:
const path = require('path');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: './src/js/index.js',
  plugins: [
    new CleanWebpackPlugin(['dist']),
    new HtmlWebpackPlugin({
      title: 'Output Management',
      template: './src/index.ejs',
    })
  ],
  devtool: 'inline-source-map',
  devServer: {
    contentBase: './dist'
  },
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },

  module: {
    rules: [
      {
        test: /\.scss$/,
        use: [{
            loader: "style-loader" // creates style nodes from JS strings
        }, {
            loader: "css-loader" // translates CSS into CommonJS
        }, {
            loader: "sass-loader" // compiles Sass to CSS
        }]
      },
      {
        test: /\.js$/,
        enforce: "pre",
        use: [
          "babel-loader",
        ]
      },
      {
        test: /\.(png|svg|jpg|gif|mp4)$/,
        use: [
          'file-loader'
        ]
      }
    ]
  }
};

and my dependencies:
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.25.0",
    "babel-loader": "^7.1.1",
    "babel-preset-es2016": "^6.24.1",
    "clean-webpack-plugin": "^0.1.16",
    "css-loader": "^0.28.4",
    "es6-promise": "^4.1.1",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^0.11.2",
    "gulp-rollup": "^2.14.0",
    "html-webpack-plugin": "^2.30.1",
    "node-sass": "^4.5.3",
    "postcss-loader": "^2.0.6",
    "sass-loader": "^6.0.6",
    "style-loader": "^0.18.2",
    "url-loader": "^0.5.9",
    "webpack": "^3.5.0",
    "webpack-dev-server": "^2.6.1"
  },
  "dependencies": {
    "axios": "^0.16.2",
    "jquery": "^3.2.1",
    "ramda": "^0.24.1"
  }

@moimael @izatop @tapesec @Marcsimm @ambewas do your use webpack.optimize.ModuleConcatenationPlugin ? If yes, please try to disable and test again, thanks!

@evilebottnawi  nope, only these:
  plugins: [
    new CleanWebpackPlugin(['dist']),
    new HtmlWebpackPlugin({
      title: 'Output Management',
      template: './src/index.ejs',
    })
  ],

@ambewas weird, can your create minimum reproducible test repo?

@evilebottnawi  I'm setting up a small repo right now. But I think I've already gotten a hint to the issue.
I'm importing .mp4 links in my code -- without these, it seems uglify is happy. With them, I get the error.

@evilebottnawi  here's a repo where you can reproduce the issue
https://github.com/ambewas/uglify-webpack-build-error
npm start runs fine,  npm run bundle (which is basically webpack -p )  fails with the aforementioned error

@ambewas thanks!

Maybe can help somebody: if your use webpack 3.5.0, just update to 3.5.1 (https://github.com/webpack/webpack/pull/5460).

@evilebottnawi  I'm so sorry, but I tried your suggested solution to upgrade to 3.5.1 in the reproduction repo, & I'm still getting the error on npm run bundle (webpack -p)

@ambewas don't worry, i am watching your repo right now.

@ambewas problems in your configuration:

Use this config for babel-loader:

{
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
            loader: "babel-loader",
        }
      },

es2016 babel preset don't contain babel-plugin-transform-es2015-arrow-function (look at https://github.com/babel/babel/blob/master/packages/babel-preset-es2016/package.json#L11), but your use () => {}, just add es2015 preset

npm install --save-dev babel-preset-es2015

{
    "presets": [
        ["es2015", "es2016"]
    ]
}

Also i recommend use babel-preset-env.

@evilebottnawi  thanks so much -- that works perfectly.
Can't believe I overlooked that.

@moimael do your use babel-loader?

Yes I do, but I use babel-preset-env that's why I need to minify es6

@moimael very strange, i create repo based on your information and all work as expected, no warnings and errors, need reproducible repo

Same problem here with babel-preset-env installed, including es2015 didn't solve the problem.

@evilebottnawi Where can I find your repo where you try to reproduce the problem ? I'll take it as a basis to reproduce our issue.

@moimael locally, on my projects
@pingshunhuangalex please create minimum reproducible test repo, thanks!

Hi @evilebottnawi
Can you try (this repo)[https://github.com/shershen08/vue-masonry-plugin-demo] for issue testing? Just download the project, npm i and npm run build, you'll see the error which points to an ES6 error function.
As I mentioned above, I tried all the methods mentioned above, but no luck. Let me know if you find anything. Thanks.

@pingshunhuangalex
The repo provided is using an old version of uglifyjs-webpack-plugin that uses uglify-js which is ES5 only:
https://github.com/shershen08/vue-masonry-plugin-demo/blob/34b213bb6b17130ddc0abde68cdb18294bc281af/package.json#L42
<EMAIL_ADDRESS>uses the ES6+ capable uglify-es module.
The repo's<EMAIL_ADDRESS>prod config is also pointing an ES5 only uglify-js webpack uglify plugin:
https://github.com/shershen08/vue-masonry-plugin-demo/blob/34b213bb6b17130ddc0abde68cdb18294bc281af/build/webpack.prod.conf.js#L32
See: https://stackoverflow.com/a/45088328

@moimael friendly ping, can your provide at least webpack config?

Here you go, it's quite big, sorry for that.
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const glob = require('glob');
const capitalize = require('capitalize');
const _ = require('lodash');

/* Webpack plugins */
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin');

/* PostCSS plugins */
const cssImport = require('postcss-import');
const cssnext = require('postcss-cssnext');
const objectFitImage = require('postcss-object-fit-images');

const defineEnv = require('./define-env');

const production = process.env.NODE_ENV === 'production';

const faviconsHtml = require('./faviconData.json').favicon.html_code;

const hotModuleEntries = production ?
  [] : ['react-hot-loader/patch', 'webpack-dev-server/client?http://localhost:8080', 'webpack/hot/only-dev-server'];

function apps() {
  const files = glob.sync('./src/client/apps/*');
  return _.reduce(files, (sum, file) =>
    Object.assign(sum, {
      [path.basename(file, '.js')]: hotModuleEntries.concat(file),
    }), {});
}

function isVendor({ resource }) {
  return resource &&
    resource.indexOf('node_modules') >= 0 &&
    resource.match(/\.(js|json)$/);
}

const baseConf = {
  entry: apps(),

  output: {
    path: path.join(__dirname, '/public/dist'),
  },

  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        enforce: 'pre',
        use: ['source-map-loader'],
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: [{
          loader: 'babel-loader',
          options: {
            cacheDirectory: true,
          },
        }],
      },
      {
        test: /\.ejs$/,
        loader: 'ejs-loader',
        query: {
          includePaths: [
            path.resolve(__dirname, 'src/shared/templates/'),
          ],
        },
      },
      {
        test: /\.(graphql|gql)$/,
        exclude: /node_modules/,
        use: ['graphql-tag/loader'],
      },
      {
        test: /\.(eot|otf|svg|ttf|woff|woff2)(\?[\s\S]+)?$/,
        exclude: /node_modules/,
        use: [{
          loader: 'file-loader',
          options: {
            name: 'fonts/[name].[hash].[ext]',
          },
        }],
        include: path.join(__dirname, 'public', 'fonts'),
      },
    ],
  },

  plugins: [
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify(process.env.NODE_ENV),
      },
    }),
    new webpack.DefinePlugin(defineEnv()),
    ...Object.keys(apps())
      .map(app => new webpack.optimize.CommonsChunkPlugin({
        name: `${app}_vendor`,
        chunks: [app],
        minChunks: isVendor,
      })),
    new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor',
      chunks: Object.keys(apps()).map(n => `${n}_vendor`),
      minChunks: (module, count) => (
        count >= Object.keys(apps()).length && isVendor(module)
      ),
    }),
    new webpack.optimize.CommonsChunkPlugin({
      name: 'manifest',
      minChunks: Infinity,
    }),
    // Make a commonchunk from all duplicated libs in already made commonchunks
    // (meta chunk)
    new webpack.optimize.CommonsChunkPlugin({
      children: true,
      minChunks: 3,
    }),
    ...Object.keys(apps())
      .map(app => new HtmlWebpackPlugin({
        title: `${capitalize(app)} | Universal Avenue`,
        filename: `${app}.html`,
        chunks: ['manifest', 'vendor', `${app}_vendor`, app],
        cache: true,
        inject: false,
        template: path.join(__dirname, 'src', 'shared', 'templates', 'index.ejs'),
        appMountId: 'app',
        mobile: true,
        faviconsHtml,
        meta: [
          {
            'http-equiv': 'Accept-CH',
            content: 'DPR, Viewport-Width, Width',
          },
        ],
        serviceWorker: production ? `/${app}-service-worker.js` : null,
        window: {
          NODE_ENV: process.env.NODE_ENV,
          API_BASE_PATH: process.env.API_BASE_PATH,
          SENTRY_CLIENT_DSN: process.env.SENTRY_CLIENT_DSN,
          STRIPE_PUB_KEY: process.env.STRIPE_PUB_KEY,
          SEGMENT_KEY: process.env.SEGMENT_KEY,
        },
        alwaysWriteToDisk: true,
      })),
    new HtmlWebpackHarddiskPlugin(),
  ],

  resolve: {
    modules: [path.join(__dirname, 'src'), 'node_modules'],
    extensions: ['.json', '.js'],
  },

  node: {
    __dirname: true,
    fs: 'empty',
  },
};

const devConf = merge.smart(baseConf, {
  output: {
    filename: 'js/[name].js',
    publicPath: '/',
  },

  devtool: 'cheap-module-eval-source-map',

  devServer: {
    hot: true,
    compress: true,
    contentBase: path.join(__dirname, './public/dist'),
    publicPath: '/',
    historyApiFallback: {
      index: '/landing-pages.html',
      rewrites: Object.keys(_.omit(apps(), ['admin', 'landing-pages'])).map(app => (
        { from: new RegExp(`^/${app}`), to: `/${app}.html` }
      )).concat([
        { from: /^\/back-office/, to: '/admin.html' },
      ]),
    },
  },

  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          {
            loader: 'style-loader',
          },
          {
            loader: 'css-loader',
            options: {
              modules: true,
              localIdentName: '[name]__[local]',
              sourceMap: true,
              importLoaders: 1,
            },
          },
          {
            loader: 'postcss-loader',
            options: {
              plugins: () => [
                cssImport(),
                cssnext(),
              ],
            },
          },
        ],
      },
    ],
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NamedModulesPlugin(),
  ],
});

const prodConf = merge.smart(baseConf, {
  output: {
    filename: 'js/[name].[chunkhash].js',
    publicPath: '/',
  },

  devtool: 'source-map',

  module: {
    rules: [
      {
        test: /\.css$/,
        loader: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: [{
            loader: 'css-loader',
            options: {
              modules: true,
              localIdentName: '[name]__[local]--[hash:base64:5]',
              sourceMap: true,
              importLoaders: 1,
            },
          },
          {
            loader: 'postcss-loader',
            options: {
              ident: 'postcss',
              plugins: () => [
                cssImport(),
                cssnext(),
                objectFitImage(),
              ],
            },
          }],
        }),
      },
    ],
  },
  plugins: [
    new UglifyJSPlugin({
       sourceMap: true,
       uglifyOptions: { ecma: 8 },
    }),
    new ExtractTextPlugin({
      filename: 'css/[name].[contenthash].css',
      allChunks: true,
      ignoreOrder: true,
    }),
    ...Object.keys(apps())
      .map(app => new SWPrecacheWebpackPlugin({
        cacheId: `${app}-galaxy`,
        filename: `${app}-service-worker.js`,
        stripPrefix: 'public/dist',
        staticFileGlobs: [
          'public/dist/js/manifest.*.js',
          'public/dist/js/vendor.*.js',
          `public/dist/js/${app}_vendor.*.js`,
          `public/dist/js/${app}.*.js`,
          `public/dist/css/${app}.*.css`,
          `public/dist/${app}.html`,
          'public/dist/fonts/*',
        ],
        dontCacheBustUrlsMatching: '/./',
        maximumFileSizeToCacheInBytes: 4194304,
        minify: true,
        runtimeCaching: [
          {
            urlPattern: /^https:\/\/res.cloudinary.com\/universal-avenue\/.*\/v1\/commons\/logo_white.svg/,
            handler: 'cacheFirst',
          },
        ],
      })),
    new webpack.optimize.ModuleConcatenationPlugin(),
  ],
});

module.exports = production ? prodConf : devConf;

@moimael hm, looks good, maybe something wrong with deps, can your make sure what your have 1.0.0-beta.2 version in node_modules/uglifyjs-webpack-plugin? Also please provide .babelrc file, thanks!

Yeah I checked the right version is being used, I even deleted and reinstalled my node_modules folder.
Here is my .bablerc:
{
  "presets": [
    ["env", {
      "targets": {
        "browsers": [
          "last 2 versions",
          "Firefox ESR",
          "not ie < 11",
          "not ie_mob <= 11",
          "not op_mini all",
          "not op_mob 12.1",
          "not bb 7"
        ]
      },
      "useBuiltIns": true,
      "modules": false
    }],
    "react",
    "stage-0"
  ],
  "plugins": [
    "react-hot-loader/babel",
    "lodash"
  ],
  "env": {
    "browser": {
      "plugins": [
        ["transform-imports", {
          "redux-form": {
            "transform": "redux-form/es/${member}",
            "preventFullImport": true
          }
        }]
      ]
    },
    "test": {
      "plugins": [
        "transform-es2015-modules-commonjs"
      ]
    }
  }
}

@moimael just for check, can your add "uglify": true to targets section? Btw some babel plugins can output non standard syntax, which doesn't support uglify-es.

So I tried something and think I found the issue. If I use webpack -p even when specifying the uglify js plugin 1.0.0-beta2, it seems like webpack is using the builtin plugin. On the other end, if I use webpack --define process.env.NODE_ENV=production, my code correctly use the beta2 version and my code is minified without errors. It's very confusing though.

@moimael known issue (after stable release, it will avoid), here in issue was solution (plugin) how unpin default webpack uglify plugin. Can we close issue?

I ran into this error and was able to fix it by adding "uglify": true to babel-preset-env's targets in my .babelrc:
{
  "plugins": ["transform-object-rest-spread"],
  "presets": [
    "react",
    [
      "env",
      {
        "targets": { "node": "6.9.0", "uglify": true },
        "useBuiltIns": true
      }
    ]
  ]
}

@jlengstorf Be aware that if you use Babel's uglify target it's an alias for ES5 code generation. It came out before uglify-es.
https://github.com/babel/babel-preset-env/pull/178
If you want to minify ES6 code without transforming to ES5, you wouldn't want to use that.
Working ES6 webpack uglify-es example:
https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/133#issuecomment-332769465

@kzc Thanks for this! After looking at my config again, I realized that the problem was that I had the -p flag set for webpack, so it was trying to run the built-in UglifyJS plugin.
Disabling that and switching to webpack.DefinePlugin (to set process.env.NODE_ENV="production") fixed the problem — no modifications required to babel-preset-env.

@jlengstorf Thanks. Setting uglify to true worked for me!

thank you @jlengstorf. Setting uglify to true worked for me as well, I am just here to remind others who also want to use solution, you need  babel-preset-env .

I received same error when using webpack -p the only thing that solved it for me was
adding uglify: true.. Is there any reason this isn't acceptable?
const path = require('path');
const nodeExternals = require('webpack-node-externals');

module.exports = {
  target: 'node',
  context: __dirname,
  node: {
    __dirname: false,
    __filename: false,
  },
  entry: './src/index.js',
  output: {
    filename: 'server.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        enforce: 'pre',
        test: /\.js?$/,
        exclude: [/node_modules/],
        loader: 'eslint-loader',
      },
      {
        test: /\.js?$/,
        loader: 'babel-loader',
        exclude: [/node_modules/],
        options: {
          presets: [
            ['env', {
              targets: {
                node: "current",
                uglify: true
              }
            }]
          ]
        }
      }
    ]
  },
  externals: [nodeExternals()],
};

I was still running into issues, so I thought I'd also post for anyone that may still run into issues.
I had to stop running webpack with the -p flag, and set it to production using webpack.DefinePlugin && define the UglifyJsPlugin options, then running webpack --progress --colors etc.
Using Uglify isn't necessary to stop the the error in this instance, setting production through DefinePlugin works, but it compiled my server from 16kb down to 6kb with uglify, SO I left it in.
const path = require('path');
const webpack = require('webpack');
const nodeExternals = require('webpack-node-externals');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
  target: 'node',
  context: __dirname,
  node: {
    __dirname: false,
    __filename: false,
  },
  entry: './src/index.js',
  output: {
    filename: 'server.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        enforce: 'pre',
        test: /\.js?$/,
        exclude: [/node_modules/],
        loader: 'eslint-loader',
      },
      {
        test: /\.js?$/,
        loader: 'babel-loader',
        exclude: [/node_modules/],
        options: {
          presets: [
            ['env', {
              targets: {
                node: "current",
              }
            }]
          ]
        }
      }
    ]
  },
  externals: [nodeExternals()],
  plugins: [
    new webpack.DefinePlugin({
      PRODUCTION: JSON.stringify(true)
    }),
    new UglifyJsPlugin({
      sourceMap: true,
      uglifyOptions: {
        ecma: 8,
        compress: {
          warnings: false
        }
      }
    }),
  ]
};

With following:
"uglifyjs-webpack-plugin": "^1.1.6",
"webpack": "^3.11.0",

I got this error:

ERROR in bundle.js from UglifyJs
Unexpected token: punc ({)

I tired @matthew-gordon and @epeleg 's solutions, but doesn't work.
With @matthew-gordon's solution, the error doesn't show up, but the size of bundle.js is +350KB
With @epeleg's solution, bundle.js size is ~180KB, but I got that error.
Did I miss something?

when i tried @epeleg solution i've got
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

@andrewMuntyan update to latest version (npm cache clear --force && npm install)

@evilebottnawi wow! Thank you for fast answer. But no luck.

@andrewMuntyan need reproducible test repo? Seems something eats many memory. Can you disable uglify plugin and check no error throw?

Is my post invisible or something?!

@evilebottnawi without uglify plugin works just fine. with new webpack.optimize.UglifyJsPlugin({
i see ERROR in vendors.335168a923db7f80eec0.js from UglifyJs Unexpected token: operator (>) [../path/to/dependency/file/][vendors.335168a923db7f80eec0.js:90222,64]

@anjapadu i had this issue as well. i went to the stackoverflow link you posted and this answer did it for me: https://stackoverflow.com/a/46294198
had to run this command: rm -rf node_modules/webpack/node_modules/uglifyjs-webpack-plugin

The
npm i uglifyjs-webpack-plugin@1
solve problems in angular es6 : ERROR in main....bundle.js from UglifyJs Unexpected token: keyword (const) ...
In the most popular webpack+angular config used @1 version, not @2: https://github.com/gdi2290/angular-starter/blob/master/package.json

Use ecma 5 if you want to support older versions of internet explorer.


Generalize CutoffSplitter to accept non-integer cutoffs and forecasting horizons

Reference Issues/PRs

Next step in #1737.
What does this implement/fix? Explain your changes.

The main change is to allow datetime cutoffs and timedelta fh in CutoffSplitter. No regressions were introduced. More test cases are added in sktime.forecasting.model_selection.tests.test_split.test_cutoff_window_splitter.
More detailed description of changes:

Reused type checking functions from sktime/utils/validation/__init__.py in sktime.forecasting.base._fh._check_values.
Added pd.TimedeltaIndex to RELATIVE_TYPES in sktime/forecasting/base/_fh.py to allow timdelta forecasting horizons.
Added pd.TimedeltaIndex to VALID_INDEX_TYPES in sktime/utils/validation/series.py to allow timdelta forecasting horizons.
Added TEST_CUTOFFS to sktime/forecasting/tests/_config.py so that all splitter test configurations are collected in one place.
Added TEST_FHS_TIMEDELTA to sktime/forecasting/tests/_config.py. These are timedelta forecasting horizons used in test cases for CutoffSplitter.
Made sktime.utils.validation.tests.test_forecasting.test_check_fh_empty_input more precise by adding match argument to raises.
Added a few new type checking functions in sktime/utils/validation/__init__.py which are used in splitters and corresponding tests.
Generalized sktime.utils.validation.forecasting.check_cutoffs to allow datetime cutoffs.

Does your contribution introduce a new dependency? If yes, which one?

None
What should a reviewer concentrate their feedback on?

Any other comments?

PR checklist

For all contributions

[X] I've added myself to the list of contributors.
[ ] Optionally, I've updated sktime's CODEOWNERS to receive notifications about future changes to these files.
[X] I've added unit tests and made sure they pass locally.

For new estimators

[ ] I've added the estimator to the online documentation.
[ ] I've updated the existing example notebooks or provided a new one to showcase how my estimator works.

@fkiraly Thanks a lot for a very detailed and constructive review!

I suspect the next change will be extending forecasters and forecaster base classes?

Still not. When I started working on this PR I did not plan to touch ForecastingHorizon at all, but I very quickly hit the wall of adding a datetime cutoff and an integer forecasting horizon. Hence, the first unavoidable step generalizing also ForecastingHorizon is made. My next step is to generalize all other splitters to accept timdelta ForecastingHorizon.
Regarding the notebook. That's a perfectly valid and natural request, but I would insist on postponing advertising this to the users. The main reason is that I have no idea if timedelta horizon will work in forecasting! Right now this extension is only tested for one single splitter.

Regarding the notebook. That's a perfectly valid and natural request, but I would insist on postponing advertising this to the users.

yes, valid point - putting this in the notebook folder would advertise it before it's ready to work with forecasters etc.
But, I think we still need to have examples to test.
One way would be to write "workflow" style tests which do the same, or examples in the docstrings.

@fkiraly I have added a few tests in sktime/forecasting/base/tests/test_fh.py that partially mirror existing tests, but with timedelta horizons. I have tried more test cases, which fail. Fixing those will inevitably lead to a very substantial refactoring of ForecastingHorizon. I am very reluctant to do that in this PR...

I have tried more test cases, which fail. Fixing those will inevitably lead to a very substantial refactoring of ForecastingHorizon. I am very reluctant to do that in this PR...

Well, that's precisely what I was worried about!
We can't do a partial upgrade if we haven't covered the corners.
Can you perhaps explain which test cases are failing? I.e., for me to judge whether they are related to the upgrade, or to pre-existing issues with ForecastingHorizon.

I also feel this is complex enough for a tech meeting on the topic. Would you have time for one of the dev meetings, Fr 5pm UTC?

@khrapovs, thanks for this great PR!

I have added a few tests in sktime/forecasting/base/tests/test_fh.py that partially mirror existing tests, but with timedelta horizons. I have tried more test cases, which fail. Fixing those will inevitably lead to a very substantial refactoring of ForecastingHorizon. I am very reluctant to do that in this PR...

Can you quickly give an overview of the test cases you added?
And can you give an overview of those that fail?

@fkiraly

Can you quickly give an overview of the test cases you added?
And can you give an overview of those that fail?

Let's come back to this PR once https://github.com/alan-turing-institute/sktime/pull/1981 is merged. In this bug fix i have added a lot more tests and some of them were failing in this PR. So I hope the difference between this branch and master will become smaller after the bug fix merge.

@fkiraly

Can you quickly give an overview of the test cases you added?

New test_check_fh_relative_values_input_conversion_to_pandas_index simply mirrors old test_check_fh_absolute_values_input_conversion_to_pandas_index for the new kind of forecasting horizon, pd.TimedeltaIndex.
FREQUENCY_STRINGS are broken down into FIXED_FREQUENCY_STRINGS (it is possible to pd.timedelta_range(1, freq=freq, periods=2)) and NON_FIXED_FREQUENCY_STRINGS (timedelta_range throws ValueError: invalid unit abbreviation).
New test_absolute_to_absolute_with_timedelta_horizon mirrors test_absolute_to_absolute_with_integer_horizon for timedelta forecasting horizon.
New test_relative_to_relative_with_timedelta_horizon mirrors test_relative_to_relative_with_integer_horizon for timedelta horizon.

And can you give an overview of those that fail?

New tests mentioned above if I use all frequencies FREQUENCY_STRINGS, instead of only FIXED_FREQUENCY_STRINGS. This makes some sense since pd.Period + pd.Timedelta with those frequencies fails.

PS: can you kindly report the unrelated, probably sporadic failure from the win 3.7 test?

https://github.com/alan-turing-institute/sktime/issues/2066

@fkiraly

In the meanwhile, one minor point: in the docstrings, there are compatibility conditions between various arguments, e.g., "if fh is this, then y must have this index" or similar. Not a blocker for merging, but might be useful to add clarification on, before we forget this.

Added a couple of lines under parameter description in CutoffSplitter docstring and in _check_cutoffs_fh_y.

I have reviewed the fh stuff, I cant see anything now that requires changes. @fkiraly @khrapovs

alright! let´s go when the tests pass!


Crubin/remove request promise

Coverage decreased (-0.4%) to 98.574% when pulling 639c9639874f5cc3dadb429db0bc1117a78f3c4c on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.4%) to 98.574% when pulling 639c9639874f5cc3dadb429db0bc1117a78f3c4c on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.4%) to 98.574% when pulling 639c9639874f5cc3dadb429db0bc1117a78f3c4c on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.4%) to 98.574% when pulling 639c9639874f5cc3dadb429db0bc1117a78f3c4c on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.4%) to 98.523% when pulling 11d15ce2f7c38da3caef6990ea20817c695cc1ab on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.2%) to 98.754% when pulling 1e184ec518fbb93582701d178579a201a75ac918 on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.2%) to 98.71% when pulling 9a6debc503608afea032002a613133fd722899d2 on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.

Coverage decreased (-0.2%) to 98.757% when pulling 525cf9343a06de6b58117c88c664a9b76c0b0eb4 on crubin/removeRequestPromise into 8cb98614b209266cd013518b3710365db9fc6b01 on master.


invoke @edgedb/generate on edgedb watch change

It would be nice to have an option to let edgedb watch run the edgedb generator when schema changes were applied.
A simple implementation would be to add a flag which specifies a command to run
edgedb watch --execute "npx run @edgedb/generate edgeql-js"

This belongs in the edgedb-js repo, not the db itself.

Seeing tat there are multiple repositories i would put this in edgedb-cli.

Duplicate of https://github.com/edgedb/edgedb-cli/issues/1099


Update build.gradle

Updating Gradle version to at the moment lates 4.7

Codecov Report

Merging #1167 into master will increase coverage by 0.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1167      +/-   ##
==========================================
+ Coverage   33.38%   33.87%   +0.49%
==========================================
  Files         199      199
  Lines        4889     4889
  Branches     1325     1325
==========================================
+ Hits         1632     1656      +24
+ Misses       3257     3233      -24

Impacted Files
Coverage Δ

...mponents/datasets/containers/dataset-compliance.ts
62.29% <0%> (+1.63%)
:arrow_up:

wherehows-web/app/services/notifications.ts
63.75% <0%> (+28.75%)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage remained the same at 26.531% when pulling dd1d8a474bbe6651463618abfc265a46a0ee6205 on ziveo:patch-3 into 713a51db1c631eab9a14421f9ae3efb2dfb0739b on linkedin:master.


[SPARK-43943][SQL][PYTHON][CONNECT] Add SQL math functions to Scala and Python

What changes were proposed in this pull request?
Add following functions:

ceiling
e
pi
ln
negative
positive
power
sign
std
width_bucket

to:

Scala API
Python API
Spark Connect Scala Client
Spark Connect Python Client

This PR also adds negate (which already exists in Scala API and SCSC) to Python API and SCPC.
Why are the changes needed?
for parity
Does this PR introduce any user-facing change?
yes, new functions
How was this patch tested?
added ut / doctest

oh also might need to put them in Python reference doc .rst file

LGTM

@HyukjinKwon it seems that sql - other start failing again ...

on the sql side, this PR only touch MathFunctionsSuite in sql - slow

the failure in sql - other should be unrelated, i am going to merge it now

merged to master

@HyukjinKwon it seems that sql - other start failing again ...

I will investigate tomorrow, a little late today
There is one case that may have been failed after this merged , and I try to fix it in https://github.com/apache/spark/pull/41519


Update preview

DO NOT MERGE UNTIL YOU MAKE A NEW RELEASE
Type of Change

[x] Refactoring

DO NOT MERGE UNTIL YOU MAKE A NEW RELEASE
Checklist

[x] My changes generate no errors/warnings/merge conflicts.

DO NOT MERGE UNTIL MAKING A NEW RELEASE

So you are saying I should merge this before making a new release. Bwhahaha


calling from outside the viewcontroller

I'm sure its a simple answer but I can't seem to figure out how to call progressHud from outside the view controller, Say like in an outside class, I have various downloading methods and I'd like to call PH from there instead of setting up various NSNotifications.

Yes, and I also recently added more convenience methods (since calling showInView:nil isn't that obvious...
+ (void)showWithStatus:(NSString*)status;
+ (void)showWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType;
+ (void)showWithMaskType:(SVProgressHUDMaskType)maskType;


Submitting raw data via IPC

Hi, thanks for open-sourcing this project!
I experimented with the TensorRT inference server, and I found that with my target model (a TensorRT execution plan that has FP16 inputs and outputs) to max-out my system's two GPUsm I need to send about 1.2 GBytes per second through the network stack. In my view, this means that scaling this architecture to a server with eight (or even more) GPUs either requires (multiple) IB interconnects, or a preprocessor which is co-located with the inference server, which receives compressed images, and sends raw data to the TRT server.
Once we assume that a preprocessor is located on the same physical node as the TRT inference server (and hope that the CPUs does not become a bottleneck now), then it would be much preferable to submit raw data via IPC (e.g. through /dev/shm) to the inference server, and thus avoid the overhead introduced by gRPC.
Here are my questions:

Is the above assessment and the conclusions I draw from it reasonable?
Do you have "submission of raw data via IPC mechanisms" on your roadmap? E.g. a feature where one submits a reference to the blob of preprocessed data in shared memory to the server via gRPC, and the server then loads this blob and uses it as input. If so, when do you plan on releasing it?
If I were to implement a version of this myself, do you agree that a first quick-and-dirty approach would be to a) change the gRPC service proto, and then b) change GRPCInferRequestProvider::GetNextInputContent in  tensorrt-inference-server/src/core/infer.cc accordingly? Did I overlook a place where changes are necessary?

Again, thanks for making this tool available.

In general I think your assessment is correct: I/O can be a performance limiter for some models and a primary way to fix this in many cases is to make the pre-processing local with the inference. Here are some variations we think about and where we stand as far as current support:

Pre-processing "service" running on same node as TensorRT Inference Server (TRTIS).
a. Use GRPC (or HTTP) to communicate from pre-processor -> TRTIS. Since communication is now local it may no longer be a bottleneck...
b. For even higher BW between pre-processor -> TRTIS, remove the GRPC/HTTP protocol overhead by implementing a custom/raw socket API. The internal APIs to allow this are already available within TRTIS and we plan to formalize and document them better in the future. Another option here is a flatbuffer interface which we have also thought about but not done anything with as yet.
c. Use shared-memory as you suggest... this would likely require a custom TRTIS API to communicate the shared-memory reference so is similar to (b).
d. For maximum bandwidth you could share GPU memory between pre-processor and TRTIS and use that for communication. The pre-processor would leave the input tensors in GPU memory and just share the location (via CUDA IPC) with TRTIS. We want to add some functionality to TRTIS to support this but currently we have not.
Avoid communication completely by implementing the pre-processor within TRTIS. Again, the
internal APIs to allow this are already available within TRTIS and we plan to formalize and document them better in the future. In general we are interested in generic pre-processor "add-ons" of this kind that we can incorporate into TRTIS as build-time options.

I would suggest that you start with (1a) and see how much benefit that gets you. We are generally interested in improving TRTIS in this area and so would welcome your experience and feedback as you experiment. If you think you could contribute something generally useful we would be very open to working with you on it, just be sure to include us in your plans early on so we can make sure we are all on the same page.
As for your question #3. Yes, for experimenting it is probably fastest to hack up the gRPC service to instead pass the reference instead of the actual data (but keep the rest of the request/response message the same). infer.cc is where the data (raw_input) is read out of the request message so you would need to change that to instead read from shared memory.

Hey!
I suggested the same idea here https://github.com/NVIDIA/dl-inference-server/issues/24#event-1980712680
so it's obviously popular enhancement

Ok, I've implemented it for grpc (only) in very hacky way https://github.com/seovchinnikov/tensorrt-inference-server/tree/file-api
But  I've been to hell and back to turn off all sanity checks because it was  not intended  to take a dynamic-sized input so I hope for a better solution.
@deadeyegoodwin thanks for a very well-structured code, it was not very difficult to figure it out what to tweak

@mrjackbo - For my projects, I've done exactly what you are describing above.  I've created a pre/post-processing service which uses sysv shared-memory to avoid moving raw tensors over a gRPC message.
You have two granularities of access control on which you can expose the shared-memory segments between processes:

Node level - create shared-memory segments which are exposed to any process running on the node.
Namespace level - created shared-memory segments are only accessible if the processes/containers share the same IPC namespace.

In Kubernetes, you can use a DaemonSet to create node-level IPCs or you can use multiple containers in a Pod, which by default all containers in a Pod share the same IPC namespace.  Unfortunately, there is no API (that I am aware of) that allows different Pods to share the same IPC namespace.  And example might look like:
      containers:
      - name: shared-memory
        image: my-shared-memory-service-image
        ports:
        - name: grpc
          containerPort: 50049
      - name: trtis
        image: my-customized-trtis-image
        command: ["/opt/tensorrtserver/bin/trtserver", "--model-store=/tmp/models"]
        resources:
          limits:
            nvidia.com/gpu: 1
        ports:
        - name: metrics
          containerPort: 8002

In this example, the shared-memory service receives async gRPC incoming requests, then using the async gRPC client to forward them to TRTIS.  You have to customize TRTIS's protobuf API definition so you can pass a segment_id and offset rather than a bytes object.
Using Docker, you can use the --ipc flag directly.   You can create the your shared memory service, then use --ipcs=container:<shared_memory_service_container_name>.  The Docker Compose file might looks something like:
  sharedmemory:
    image: my-shared-memory-service-image
    ports:
    - 3333:50051
  tensorrt:
    depends_on:
    - sharedmemory
    image: my-customized-trtis-image
    ipc: container:inferencedemo_sharedmemory_1

I'll post and example of the shared-memory service I have used and update this thread when it's ready.  The example is currently in an older project that is actively being moved to a new github project.

Hello, I am now tackling this and before I get too far in the weeds I figured I would follow up here given the latest release r19.04 supports custom operations at build time or startup. I was wondering if I wanted to avoid having to write data to files before making a request to TRTIS, would I be looking at writing a custom operation, or am I looking at using the existing API somehow?

I assume when you say "custom operation" you mean "custom backend".
You could create a custom backend that expected the input to identify the shared memory handle, offset, size, etc. The custom backend would extract the data from the shared memory handle into one or more output tensors. You could then ensemble this custom backend with your actual model. When you made a request your input tensor would be just the shared memory handle, offset, size, etc. data expected by your custom backend. An example of using a custom backend with an ensemble will be included in the 19.05 release (coming later this week). Or you can find it now on master: https://docs.nvidia.com/deeplearning/sdk/tensorrt-inference-server-master-branch-guide/docs/client.html#ensemble-image-classification-example-application
Note that eventually we will have a new API (or enhancement to existing API) that will allow you to send a "handle" to the shared memory containing the input tensor instead of the actual tensor values. But we don't have a schedule yet for when that will be available.

Thanks for the information. I'll checkout master!
On Wed, May 22, 2019 at 9:14 AM deadeyegoodwin<EMAIL_ADDRESS>wrote:

I assume when you say "custom operation" you mean "custom backend".
You could create a custom backend that expected the input to identify the
shared memory handle, offset, size, etc. The custom backend would extract
the data from the shared memory handle into one or more output tensors. You
could then ensemble this custom backend with your actual model. When you
made a request your input tensor would be just the shared memory handle,
offset, size, etc. data expected by your custom backend. An example of
using a custom backend with an ensemble will be included in the 19.05
release (coming later this week). Or you can find it now on master:
https://docs.nvidia.com/deeplearning/sdk/tensorrt-inference-server-master-branch-guide/docs/client.html#ensemble-image-classification-example-application
Note that eventually we will have a new API (or enhancement to existing
API) that will allow you to send a "handle" to the shared memory containing
the input tensor instead of the actual tensor values. But we don't have a
schedule yet for when that will be available.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NVIDIA/tensorrt-inference-server/issues/1?email_source=notifications&email_token=AFSEXYJNTMKFN2IMNEKH5QTPWVWO3A5CNFSM4GGLBQ4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7SHEA#issuecomment-494871440,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFSEXYMFYZTGSF3AQ4XGGGDPWVWO3ANCNFSM4GGLBQ4A
.

--
Padraic McGraw
Software Developer
Lucidyne Technoligies Inc.

Note that eventually we will have a new API (or enhancement to existing API) that will allow you to send a "handle" to the shared memory containing the input tensor instead of the actual tensor values. But we don't have a schedule yet for when that will be available.

@deadeyegoodwin Anything new regarding this topic? Using shared memory would probably double (if not even triple) my throughput at this point, so I will have to implement one of the many mentioned solutions above anyway. I will of course share my insights if needed, so it would be useful to know what the current state and plan is API-wise.
This is where I'm at right now:

a. Use GRPC (or HTTP) to communicate from pre-processor -> TRTIS. Since communication is now local it may no longer be a bottleneck...

This unfortunately does not increase performance a lot, as HTTP (and to less extent gRPC) seem to become the major bottleneck with large input tensors (608x608x3 in this case) quite rapidly, even on localhost:
root@pc001:/workspace/build# ./perf_client -m yolov3_trt -t 16 -p 15000 -b 32
*** Measurement Settings ***
  Batch size: 32
  Measurement window: 15000 msec
  Reporting average latency

Request concurrency: 16
  Client:
    Request count: 54
    Throughput: 115 infer/sec
    Avg latency: 4532481 usec (standard deviation 2339987 usec)
    Avg HTTP time: 4524200 usec (send/recv 3499134 usec + response wait 1025066 usec)
  Server:
    Request count: 64
    Avg request latency: 1036893 usec (overhead 15472 usec + queue 651073 usec + compute 370348 usec)

4.5 seconds HTTP time versus 1 second server compute time with 1135 MBit (!) per 32-batch. Not sure if allocation and initialization of the batch on client side is included though.

b. For even higher BW between pre-processor -> TRTIS, remove the GRPC/HTTP protocol overhead by implementing a custom/raw socket API. The internal APIs to allow this are already available within TRTIS and we plan to formalize and document them better in the future. Another option here is a flatbuffer interface which we have also thought about but not done anything with as yet.

I think this could be a very fast solution, even compared with shared-memory approaches. A quick test with iperf on localhost indicates that transmission on loopback is mainly CPU bound:
root@pc001:~$ iperf -c localhost
------------------------------------------------------------
Client connecting to localhost, TCP port 5001
TCP window size: 2.50 MByte (default)
------------------------------------------------------------
[  3] local <IP_ADDRESS> port 44234 connected with <IP_ADDRESS> port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  96.3 GBytes  82.7 Gbits/sec

So I suppose TCP slow start must be disabled or worked around, but this might be sufficient, even in comparison to shared memory.

c. Use shared-memory as you suggest... this would likely require a custom TRTIS API to communicate the shared-memory reference so is similar to (b).

Probably the fastest and "cleanest" solution. Would love to see this supported in the API, without the need for a custom backend receiving shared memory handles and passing the data on in an ensemble. Right now this is the way to go though I guess? So I will try that first before checking b). Any additional input is much appreciated.

We have just started work on implementing a shared-memory AP (option C). Changes will start to come into master and we expect to have an initial minimal implementation in about 3 weeks. The API will allow input and output tensors to be passed to/from TRTIS via shared-memory instead of over the network. It will be the responsibility of an outside "agent" to create and manage the lifetime of the shared-memory regions. TRTIS will provide APIs that allow that "agent" to register/unregister these shared memory regions with TRTIS and then they can be used in inference requests.

@deadeyegoodwin @CoderHam what are the chances the three shared memory branches will make it onto master this week? And will perf client support a shared memory test out of the box?
I tried building the shared memory branches, but I'm not sure I'm getting the combination of server and clients of the different branches right. What would be the easiest way to get a little test going? Building the server on "hemantj-sharedMemory-server" and then use the simple shm client from "hemantj-sharedMemory-test"? For now I'm only interested in the performance gains and resulting throughput, so I'm basically fine with an unstable, buggy demo if it at least runs somehow. Changes in code look great so far, thanks for the good work!

By this week we should have shared memory support for input tensors with some minimal testing. Output tensor support will follow shortly after. Adding support to perf_client plus much more extensive testing is needed after that before we can declare system memory (CPU) sharing complete. That will likely take a couple of weeks. After that we will start on GPU shared memory.

The master branch now has the initial implementation for shared memory support for input tensors and some minimal testing. Currently only the C++ client API supports shared memory (Python support is TBD.. but you can always use grpc to generate client code for many languages). An example application is: https://github.com/NVIDIA/tensorrt-inference-server/blob/master/src/clients/c%2B%2B/simple_shm_client.cc

I tried the simple_shm_client example and unfortunately can't get past the following error:
error: unable to run model: [inference:0 12] INTERNAL - Must specify at least one target to fetch or execute.

I can run simple_client just fine, and shared memory seem to get registered (after adding --ipc=host to docker). Server and clients are built via docker straight from master. Any clue?

I tried the simple_shm_client example and unfortunately can't get past the following error:
error: unable to run model: [inference:0 12] INTERNAL - Must specify at least one target to fetch or execute.

I can run simple_client just fine, and shared memory seem to get registered (after adding --ipc=host to docker). Server and clients are built via docker straight from master. Any clue?

Nevermind, adding -I suppressed the usage of output shared memory and now it works fine.
Awesome, thanks!

Works perfectly, thanks!
I had to add "--ipc=host" to docker (has been mentioned somewhere in a related pull request) and use the -I flag to prevent the simple_shm_client from using output shared memory, if anyone else is trying.

That's right the simple_shm_client is currently set up to use both input and output with shared memory by default (-I for only input and -O for only output).
Yes, --ipc=host is necessary I will remember to add this to the docs when the output shared memory is also completed.

Works perfectly, thanks!
I had to add "--ipc=host" to docker (has been mentioned somewhere in a related pull request) and use the -I flag to prevent the simple_shm_client from using output shared memory, if anyone else is trying.

@CoderHam for the documentation it might also be worth to add that docker is apparently limited to 64MB of shared memory by default, easily surpassed by even the modest batch sizes for some models.
--shm-size=256m increases this limit to e.g. 256MB.
https://stackoverflow.com/questions/30210362/how-to-increase-the-size-of-the-dev-shm-in-docker-container
And thanks for #541, was about to dive deeper into the code when your commits started coming in ;)

@philipp-schmidt Thanks for bringing the memory limit to my attention. I will go ahead and document the same in the client + server API docs.

System shared memory is complete and available on master branch and 19.10. CUDA shared memory is in progress and will be available in 19.11. Closing.


Feat/scroll to top button

Hey ..!! what about this feature

The button appears when the user scrolls down and appears when he/she is in the top
I have created a new component
Add some css styles for it

Looks good.
It would be nice if you run npm run lint:fix and use conventional commits before commiting, in order to get the same indentation as other files and avoid problems.

Oh, please change the target branch from main to dev


Removing #rangeBool reasoning

The lemmas removed in this PR slow down execution of some real-world proofs considerably because the rangeBool constraints are SMT-checked for every expression of the form notBool ( X ==Int 0 ) or notBool ( X ==Int 1 ).
The lemmas brought in reflect the (so-far-observed) checks made by the compiler, and their LHS is complex enough so they it will not be matched against unnecessarily.

(Some of) the added lemmas are tested by some of the dsvalue tests in the mcd and mcd-structured test suites, via the compiler-introduced checks.
I am not sure what a reasonable test that is not direct would look like.


feat: enhance validator details and add staking totals to addresses

Delegate > Validator

Better validator profiles

Staking details on wallet pages

please take a look at the above, happens on 768px-1024px screens (less on 1024px but it takes away a lot of the address still)

also some failing unit tests due to the change from delegates to validators


Redirect to loading page isntead of blank

Is sbx url always intentional?

It's oke, it's just a loading page. We can change it to prod one later if we want, but I think it's oke


Rebase arkwork algebra dependancy of BLS12-381  to master with WB hash

This way we can test the result running the bls repo and we don't need to disable bls12-381 in bls.

Done in 181f974


move msi to s3

nxlog only allows for free access to the latest msi.  This makes
automation hard because we have to update our code for every
point release.
Screw that.
copy the current MSI to S3, make it public and go with god.

Just in case you didn't spot this, there's a workaround for this issue in the latest version. I've set up an s3 mirror for the nxlog files to prevent this from happening, and pointed this cookbook there by default.


Update main.js

Hello sir ,
I'm Mayank Rastogi , github id - mayxnk
I did the contribution by adding a new course for Data Science in the repo by following all the rules.
Kindly consider it , & for this I'll very grateful to you.
Thankyou.

also add in readme file if it's not added

data science portion is already added add your course in that section and also make only one pr by updating readme file and

delete the repo and fork again to do your changes


node_npm_modules is treated literally on p136 (example line #7)

Hi! So far so good with the book so far. Well written and informative - thanks!
This may be my bad, but on page 136, on example line no 7 it states we should use the following:
with_items: node_npm_modules
Using this, npm literally tries to install node_npm_modules as follows:
/bin/npm install --global node_npm_modules
If I change line no 7 to instead say:
with_items: "{{ node_npm_modules }}"
I get the desired and expected result.
By all means flame me if I'm doing something wrong. Thanks!

True! I'll make sure this is corrected soon and will close this issue once that's the case. Ansible actually used to allow the raw variable for with_items but only for a version or two... I fell into the bad habit of using it that way in 1.x, but since 2.x Ansible got strict—and you've found one of the places where I still haven't fixed the deprecated and now broken usage!

It looks like this was actually updated a few months ago, but it might not be in a paperback copy if purchased earlier last year. It's up to date in the LeanPub and latest Kindle and iBooks editions of the book.
What version of the book do you currently have? I think this was fixed in 1.15 or 1.14. (The version is in the preface, under the section 'Please help improve this book!').

Hi Jeff,
Thanks for following up on this. I bought the book a few weeks ago (in the
UK, hardcopy (call me old fashioned : -) )). The Preface says it's v1.15 of
the book.
Regards,
Richard
On 15 March 2018 at 16:36, Jeff Geerling<EMAIL_ADDRESS>wrote:

It looks like this was actually updated a few months ago, but it might not
be in a paperback copy if purchased earlier last year. It's up to date in
the LeanPub and latest Kindle and iBooks editions of the book.
What version of the book do you currently have? I think this was fixed in
1.15 or 1.14. (The version is in the preface, under the section 'Please
help improve this book!').
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/geerlingguy/ansible-for-devops/issues/86#issuecomment-373440791,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjP-GsmdC_2qyn4otcdmKH1_QsyZ8Rq9ks5tephwgaJpZM4SYd7A
.


Don't populate excluded fields while populating existing models history

Consider existing model, on which HistoricalRecords is added with some fields excluded,
 class MyModel(models.Model):
    name = models.CharField(max_length=100)
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    history = HistoricalRecords(excluded_fields=['created', 'modified'])

And here in this case, populate_history  will still try to instantiate the model with created and modified value, that leads to this error:
TypeError: 'created' is an invalid keyword argument for this function

This pull request address this issue.

Codecov Report

Merging #304 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #304   +/-   ##
=======================================
  Coverage   97.62%   97.62%
=======================================
  Files          15       15
  Lines         590      590
  Branches       72       72
=======================================
  Hits          576      576
  Misses          7        7
  Partials        7        7

Impacted Files
Coverage Δ

...ple_history/management/commands/_populate_utils.py
100% <ø> (ø)
:arrow_up:

simple_history/models.py
96.85% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

is this project dead?

@uadnan Sorry for the delay! Project is alive and well 😃. Want to resolve the merge conflicts and then I'll review?

@uadnan Thanks for getting the merge conflicts resolved quickly. Looks like flake8 tests failed. You need to fix the linting errors

@rossmechanic closing this PR & created another PR that also fixes flake8 failures.


Add SLACK_ICON_EMOJI to main.sh for use in Docker

[x] add SLACK_ICON_EMOJI environment variable to main.sh to use during docker container creation and use in Github Actions

I am not currently able to get SLACK_ICON_EMOJI to work and I believe this is the cause.  I'm setting it in my github action step as an ENV but it is not getting to the container.

Hey @jmeridth this should not be needed. By default, when the action is run via a docker image all the associated env variables are set in the docker run command that spins up the container. You only need to have the env var in main.sh if you want to update it or set some default values.
Can you please share the workflow file that you were using where the SLACK_ICON_EMOJI is not working?

@mrrobot47 I just put an example in here.  I'm closing this and we can continue there.  Okay?


Fix discord invite (other branches)

Codecov Report

Merging #14 into improvements will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           improvements     #14   +/-   ##
============================================
  Coverage          3.79%   3.79%
============================================
  Files                30      30
  Lines              7150    7150
  Branches           1188    1188
============================================
  Hits                271     271
  Misses             6873    6873
  Partials              6       6

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


fix: don't open the search box when no engine is enabled

Purpose
Fixes: #2053

Fixed by 25e0b0627f0965a221ad9b9e7a9c2ff33c01b657

Fixed by 25e0b0627f0965a221ad9b9e7a9c2ff33c01b657


[Feature Request] Support export assignment when other exported elements are just type declarations

Search Terms

export assignment, export element, type declaration
Suggestion

//type.ts
export type A = "A";

//type2.ts
export interface B {
    x : number,
}

//index.ts
export = {
    prop0 : "prop0",
    prop1 : "prop1",
};
export * from "./type";
import {B} from "./type2";
export {B};

Right now, export * from "./type"; and export {B}; will give the following error,
An export assignment cannot be used in a module with other exported elements.ts(2309)

To me, it makes sense to allow export assignment with other exported elements when the other exported elements are strictly interfaces/type aliases.
This way, you can use the typedefs and variables of the package during compile-time.
And those typedefs can be erased in the emitted .js files.
Use Cases

Sometimes, I simply have to use "export assignment". The object I want to export as a module has hundreds of variables, generated via run-time (not compile-time). The type of the generated object is something like { [k in keyof SomeOtherImport] : SomeWrapper<SomeOtherImport[k]> }
I want to export this object, but also export some typedefs.
However, right now, this isn't supported.
Users that want to use the wrapper would simply have to import two things,
import * as wrapped from "some-package/wrapped";
import * as pkg from "some-package";

declare const x : pkg.SomeTypeDef;
wrapped.someFunction();

However, I want users to be able to do,
import * as pkg from "some-package/wrapped";

declare const x : pkg.SomeTypeDef;
pkg.someFunction();

Examples

Example 1:
//function.ts
export function foo () {}

This should work, because foo is ultimately not used during run-time.
//index.ts
import {foo} from "./function.ts";
type Foo = typeof foo;
export {Foo};
export = { x : 1, y : 2 };

TODO More examples
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

It's straightforward to do this in a supported way and we don't want to mess with the finality of export =.

Fair enough.
I was only requesting it because I was trying to do something like in #31824 and wanted typedefs to be exported with it. I had 100+ things being exported with export = that I did not want to write down by hand.
But since that export = caused tsc to crash, I ended up having to write it down by hand, anyway. I ended up writing a simple script to generate the exports for me.


Build all applications with a single command

It would be easier to develop the digiwf-core if we could build all application with a single command (e.g. mvn clean install). The cicd pipelines would also benefit from the single command usage and reduce the steps needed to build the entire application.
Therefore, we could include the frontends (digiwf-apps)  and the docs (digiwf-docs) into the maven build cycle with the exec-maven-plugin.
Tasks

Include the exec-maven-plugin into the parent pom.xml and trigger npm install and npm run build in the digiwf-apps and digiwf-docs applications
Use the single build command in the github actions

Setup node and java
Trigger the maven command
release the node packages and release the java packages

(Optional) Trigger frontend tests with the exec-maven-plugin too

Wurde schon erledigt


loadBadWords loads relative to module directory (node node application directory)

swearjar.loadBadWords loads a profanity dictionary relative to the modules path. Since this is only called once in the module itself and will generally be used as part of other programs, it seems counterintuitive to load relative to the module directory (given that node_modules aren't always tracked, could be cleaned and re-installed).  I believe it would work more intuitively if it loaded the json relative to the calling file.
I have already done this myself, so I could do a pull request
https://github.com/cucumbur/swearjar-node/commit/808d14d1ba79d2caf696fff8b96912cee194c5fd

I experienced this same exact issue. This is especially problematic when node_modules is in the .gitignore file and deployments are based solely on what's in package.json (very common in dev environments).


Fix tab movement while running multiple actions

Summary of the Pull Request
Make sure to always synchronously set the selected tab. This way when changing tabs while running multiple actions further calls to _GetFocusedTab will return the correct one.
Edit #11146  discovered while trying to test this so while I fixed the case I wanted, things seem to be broken generally so it is hard for me to test if I broke anything else.

References

PR Checklist

[x] Closes #11107
[x] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
[ ] Schema updated.
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed
Ran the command specified in the issue and confirmed that the correct tab was focused and that the correct pane was zoomed.

While I'd like to get this in, I just want to make sure that https://github.com/microsoft/terminal/issues/11146 gets attention too since that is a larger issue (and msftbot also took a vacation this weekend)


Quick bug fixes for pow, log, and toPointSet

Looks like a clear improvement. Let me know if I can help get it in faster!

#345 appears to fix all issues aimed to be fixed in this PR. Closing

@Hazelfire

appears to fix all issues aimed to be fixed in this PR. Closing

Not true. First, normalization is still broken. Second, the user error here is still better.


Expose SceneTrackingDelegate to notify callers of ARSession current state

Background
Sometimes it's useful to understand the current tracking state so that we can inform the users on the current state with meaningful messages.
Ps: it seems that I can't edit the labels
Breaking Changes
No breaking changes. Created a new SceneTrackingDelegate façade
Meta

Tied to Version Release(s):

Checklist

[ ] Appropriate label has been added to this PR (i.e., Bug, Enhancement, etc.).
[ ] Documentation has been added to all open, and public scoped methods and properties.
[ ] Changelog has been updated
[ ] Tests have have been added to all new features. (not a requirement, but helpful)
[ ] Image/GIFs have been added for all UI related changed.

Screenshots

Looks good, thank you @matsoftware!


Add Vanderbilt University Medical Center - vumc.org

Hello,
I am academic staff supporting research at Vanderbilt University Medical Center. We contacted Jetbrains Sales inquiring about discounted licenses for academic research usage, and were told that we can apply for student / teacher licenses for this.
Official VUMC Website and email domain: https://www.vumc.org/
Example of an IT-focused educational offering by VUMC - Masters or Doctoral degrees in Bioinformatics: https://www.vumc.org/dbmi/education/predoctoral_training
VUMC is closely linked but a distinct entity to Vanderbilt University (vanderbilt.edu), and both institutions have research labs and graduate students.

@pettyalex Pull request merged.
Please notice that free educational subscription for JetBrains tools is for students and teachers only, and is valid for using the tools for educational purpose only. If employees of this Institute who are not students, nor teachers, also need a license for JetBrains tools, they are eligible for an academic discount for the tools. They can get the discount by email to<EMAIL_ADDRESS>Thank you!


chore: Release v1.2.0

Release v1.2.0

@mariobehling @iamareebjamal please merge

@CloudyPadmal Hello Sir, Can you please merge this 😄

@CloudyPadmal Thank you so much 🚀


Fontmake version in uniqueid

ttfautohint and makeotf both have the ability to record which versions were used to gen the fonts. This info is stored in the uniqueid nametable record. I think it would be useful to have such an option for fonmake.

I think you mean the nameID 5, i.e. the version record. NameID 3 is the TrueType Unique ID, which is something else (though it may be a concatenation of other name strings, including the version string).
Yes, we discussed about this here: https://github.com/googlei18n/fontmake/issues/251
I think we should continue the discussion over there


AMDGPU: snap-mp4 fails execution

The snap-mp4 app (https://github.com/AMDComputeLibraries/OpenMPApps/tree/AOMP-0.5/snap-mp4) whether soft hangs or gives "Memory access fault by GPU node" for any AMDGPU (gfx803, gfx900, gfx906).
Memory access fault by GPU node-2 (Agent handle: 0xd13780) on address 0x100000000. Reason: Page not present or supervisor privilege.

fixed by disabling SILoadStoreOptimizer pass in llvm
commit e1c7fa2511becf338c28e728e01123ef27424549
Author: Ron Lieberman<EMAIL_ADDRESS>Date:   Sun Apr 7 17:54:53 2019 -0500
Disable SILoadStoreOptimizer, -amdgpu-enable-si-load-store-opt=1 to enable

(cherry picked from commit e6401f8bb869241cc104d8493a6ddca667a98e2d)


PowerShell Core 6 GA hangs after setting the execution policy for the current user

Steps to reproduce
# open PowerShell Core 6.0 and run
Set-ExecutionPolicy restricted -Scope CurrentUser

# close the console

# open PowerShell Core 6.0 again
# you get an error message and console hangs

Expected behavior
The user should be able to start new PowerShell Core 6.0 session without a problem.

Actual behavior
# when I start PowerShell Core 6.0 after setting the execution policy for the current user, I get:
PowerShell v6.0.0
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

The shell cannot be started. A failure occurred during initialization:
The static PrimaryRunspace property can only be set once, and has already been set.

If I delete powershell.config.json file in c:\Users\USERNAME\Documents\PowerShell, I'm able to start PowerShell Core 6.0 again.
Environment data

PS C:\Program Files\PowerShell\6.0.0> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0
PSEdition                      Core
GitCommitId                    v6.0.0
OS                             Microsoft Windows 10.0.16299
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

I repoduced the issue. Any update with?

This is still an issue in version 6.0.2

Unfortunately yes. It is still an issue.
`PS C:\Program Files\PowerShell\6.0.2> $PSVersionTable
Name                           Value

PSVersion                      6.0.2
PSEdition                      Core
GitCommitId                    v6.0.2
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0
PS C:\Program Files\PowerShell\6.0.2> Set-ExecutionPolicy Restricted -Scope CurrentUser
PS C:\Program Files\PowerShell\6.0.2> exit
Restart:
PowerShell v6.0.2
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
The shell cannot be started. A failure occurred during initialization:
The static PrimaryRunspace property can only be set once, and has already been set.
`


Bug: Ore Processor Confirmation Button

Which OS are you using?

[ ] Windows
[x] macOS

Build ID
D1
Expected Behaviour
When I haven't fully filled in the table, I am unable to press confirm until I have filled all empty slots of the y-coordinate.
Actual Behaviour
When I haven't fully filled the table, I can press confirm which will always make me fail the game.
Steps to Reproduce
Open the ore processor, start playing, fill one or two slots and press confirm.
Additional Information
Currently it is very unclear when the button is interactive and when not.

Should the button just always be active then?

I don't experienced this bug. The Confirm button is always active until it has been pressed once and does the checking phase after which it will go move back and reactivate itself

@kianniek I currently have this:

So the confirm button is always active, regardless if I filled the table fully.


Move unplugin to devDependencies

Hi there 👋,
Love what you've been doing here! I noticed that the vidstack package ships with unplugin as a dependency, where it should be a development dependency, right?
https://github.com/vidstack/player/blob/47e01471415aa4f295a24a697f3bcf0eb6af91d5/packages/vidstack/package.json#L44
unplugin has a bunch of dependencies itself, which leads to an even larger number of dependencies being injected into a users' project.
It's a pretty simple fix. If you don't mind, I would be happy to submit a patch.
Cheers!
Joe

It's on purpose, tricky to bundle because it supports multiple bundlers. I'll move it to dev deps in 1.0 and make it an optional install.

OK, interesting. I didn't expect the package to be shipped with build tools. Maybe they can find a new home in bundleDependencies or optionalDependencies?
This isn't really urgent, but I am on a quest to serve everything via ESM loading in the browser. And Django's asset pipeline doesn't play ball with unplugin.
Meanwhile, I can rebundle the package, but I'd still love to see this dependency be optional.

The plugin is completely optional and designed for bundlers (not in-browser). The plugin was designed to help with auto-importing mainly when building a custom player and using various custom elements.
If you're using one of our default layouts then it might be better in this case to select the "no bundler" option. It's a few simple JS and CSS imports.

Hi @mihar-22,
Yes, we are using it this way. However, those dependencies need to be imported from somewhere. In our case, we resolve our dependencies into a full importmap to resolve imports inside the browser and serve ESM modules. However, that does include all dependencies. So having a dependency there, that isn't actually used to run the vidstack code, is the issue we are trying to fix here.
I know, not many people currently serve their JavaScript as ESM, but you gotta start somewhere ;)
Cheers,
Joe

If there is anything I can do, to move this along, please don't hesitate to ask. I'd be delighted to help support this project.


poorly maintained code,

I am struggling to understand the point of offering something so poorly maintained as MLJ.
I will try to be positive and offer  constructive criticism.
There are so many issues that it has hard to figure where to start. But I will try:

Documentation is missing, incorrect, outdated. There are several cases of links to non existing pages, such as https://alan-turing-institute.github.io/MLJ.jl/dev/loading_model_code/#Loading-Model-Code

Code shown in the model browser pages often fails. For example, the package  BetaML, which is shown in one of the tutorials, does not work.

I use Go quite extensively, so I was hoping that Julia, also a modern language, would compare well to GO. Unfortunately that is not the case. When I compare the practice of development and testing in Go versus Julia, it is clear that testing in MLJ  is not a primary consideration. There is "test" subdirectory under the MLJ, but  the code is so incomplete....

And then, there is the issue of debugging, which is not specific to MLJ, but, debugging in Julia is so  slow that it is simply useless.

I really was hoping to like Julia and use it for serious data science work. Unfortunately working in Julia is more of a pain than a joy,  to the extent that I could not use it for the reasons already expressed, and I will recommend my colleagues to stay away.

@JuanVargas Thank you for your feedback, which is appreciated.
While there is some criticism of MLJ in this post, there is nothing specific  enough for immediate action, and for this reason I am closing. If you are able to pin down details, as noted below, please feel welcome to open new issues.
Many of your concerns appear to be Julia-generic and I suggest you raise these at Julia Discourse, or some other generic forum.

Documentation is missing, incorrect, outdated.

It's difficult to take action on such a generalized criticism.

. There are several cases of links to non existing pages, such as https://alan-turing-institute.github.io/MLJ.jl/dev/loading_model_code/#Loading-Model-Code

Be helpful if you supply a link to the page one which the broken ref appears.

Code shown in the model browser pages often fails. For example, the package  BetaML, which is shown in one of the tutorials, does not work.

Which tutorial please?

I use Go quite extensively, so I was hoping that Julia, also a modern language, would compare well to GO. Unfortunately that is not the case. When I compare the practice of development and testing in Go versus Julia, it is clear that testing in MLJ  is not a primary consideration. There is "test" subdirectory under the MLJ, but  the code is so incomplete....

Probably this is a discussion for another forum, such as Julia Discourse.

And then, there is the issue of debugging, which is not specific to MLJ, but, debugging in Julia is so  slow that it is simply useless.

I suggest Julia Discourse for a discussion of debuggers


Use array-overview.rst as dask array's README

I think having a README in dask array would be useful for people browsing the project on github. This duplicates the file das/docs/source/array-overview.rst. I could do this for the other collections and schedulers if this is received well.

Is there a way to link within a git repository?  One of these documents will inevitably become stale.

You can check soft links into git... not sure if either of GitHub or ReadTheDocs handle those well, though.

Relative URLs work in rendered pages on GitHub, so you can have [the docs](../docs), etc in markdown.

Closing this for now; I don't see an immediate need for this.


intelligent code completion is not consistent

Bug Report

🔎 Search Terms

code completion
🕗 Version & Regression Information

typescript version 4.3.2 (also happen on version 4.3.5)
⏯ Playground Link

Playground link with relevant code
💻 Code

import { a } from "moduleA" // moduleA is a npm package module

import { b } from "./moduleB" // moduleB is a local module

🙁 Actual behavior

I want to replace all double quote with single quote, when I delete moduleB's open double quote then insert single quote, it will auto complete close single quote, that is weird. But moduleA won't happen when applied same operation, I think this behavior is normal and expected. see gif:

🙂 Expected behavior

I expect not to auto complete close single quote

Whether we insert a close quote or not is intentionally dependent on what syntax is to the right of the inserted character.
This is configurable in your editor if you don't like that.

Thanks, closed since it is working as intended.


Define WMI acronym on first [stand-alone] use

While trying to diagnose an issue coming from a wmic command, search results brought me to this page. The page defines the tool name with another acronym, which isn't defined on this page except indirectly in a link to another docs page. Hopefully, expanding it toward the first usage will help someone else coming here.

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

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

Thanks! It's safe for you to delete your working branch now.


Sort and Dist Keys

This branch adds sort and dist keys to materialized tables.
In your dbt_project.yml file:
models:
  zuora:
    enabled: true
    materialized: true

    zuora_account:
      sort: ['id', 'account_number'] # optional
      dist: id                       # optional

    zuora_subscription:
      materialized: false   # create a view
      sort: id              # has no effect

    zuora_rate_plan:
      sort: id              # can also be specified as 'id' or  [id] or ['id']

@drewbanin can you update the sample dbt_project.yml file to include exactly the examples you gave in this PR?

+1


Parse

This PR adds a Parse method to satisfy cases where a known valid encoded value needs to be parsed.
Also fixes:

Prefix is not exposed
Fixes #8

Pull Request Test Coverage Report for Build 27

0 of 0   changed or added relevant lines in 0 files are covered.
11 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.7%) to 87.786%

Files with Coverage Reduction
New Missed Lines
%

/src/Minid/Id.cs
11
90.6%

Totals

Change from base Build 13:
0.7%

Covered Lines:
115

Relevant Lines:
131

💛  - Coveralls


Cluster scoped operator support

sdk.Watch currently requires you to provide a namespace.
Are there plans to support cluster scoped CRDs? Or is this out of scope for operator-sdk?

The opinion that we have developed overtime is that installing Operators in each namespace is the best choice as it enables decoupled upgrades, namespace isolation for failure/monitoring, and differing API definitions.
By using Operator Lifecycle Management the intention is to simplify the management of these per-namespace Operators.
cc @jzelinskie

Perhaps it is a misunderstanding on my part, but the way I interpret this issue is the operator-sdk does not facilitate functionality to define/operate on CRD's at the cluster scope, i.e. resources like namespaces, cluster-roles, etc., and not which namespace the operator itself is deployed into.

To follow up on this, @philips @jzelinskie, is there a way currently or are there any plans to enable non-namespaced resources support in the operator-sdk?

For the SDK, this requires some discussion because we need to not only consider the code changes to the Operator SDK, but the architectural changes to the Operator Framework as a whole.
Right now, the Operator Lifecycle Manager is designed to be flexible enough to run entirely namespaced or at the cluster scope. This is extremely important, because it enables developers with only permission to create resources in their namespace the ability to leverage the Operator Framework.
However, there is another use case of the cluster administrator providing cluster-wide services or services that require cluster-wide permissions. Today, with some tweaking of the deployment configuration, you can install the Operator Lifecycle Manager in such a way that Operators are only installed and deployed into one namespace that is locked down by RBAC and runs Operators with privileged access to the cluster. You need this isolated namespace in order to avoid privilege escalation from other users of the Kubernetes cluster.
In addition to whatever code we add to the SDK to help write Operators that fall into the latter use case, we also need to do some work to identify which use case an Operator falls into, and organize those Operators into separate catalogs.

don't you need extra cluster wide privilege anyway though to register the crds? I didn't think there was a namespace specific version of CustomResourceDefinition yet?

don't you need extra cluster wide privilege anyway though to register the crds?

This is true, and all of that functionality of OLM is isolated to the optional catalog operator and all of its functionality. If you'd like to leverage automated updates, you need something with the permission to install requirements. However, you can still satisfy the requirements for an Operator manually and apply a ClusterServiceVersion-v1 to a namespace and have the olm operator properly manage the lifecycle of the Operator. Think of this like side-loading an APK on an Android phone or using dpkg -i on Debian.

As of v0.1.0, operators can now watch resources across the cluster by leaving namespace unset (or set to an empty string) when creating the controller-runtime manager:
mgr, err := manager.New(cfg, manager.Options{})

And as of v0.2.0, it is possible to scaffold a new cluster-scoped operator with operator-sdk new --cluster-scoped.
Closing this issue since the original problem has been solved. Please open a new ticket if more discussion is necessary.


UIDragger start dragging issue

Repo:

Start dragging outside of UIDragger
drag the cursor into a UIDragger instance
The UIDragger instance get dragged

Expected behavior: UIDragger should only be dragged if the cursor starts dragging inside the instance.

Oh, the way you word it here makes me look at it differently. Maybe instead of keeping track at space level of who (which UI, or space) started the drag, we could basically mark the drag "started" on the "down" event. Since the down event happens in a specific UI or space, we decentralize the state holding the piece of info of who "owns" the drag. What do you think @williamngan?

Yep! I think this would be a better approach 😃


Github release trigger fails to publish docker manifest image(s)

Description
Upon publishing a release, the release workflow  should publish updated latest tags for the corresponding version.  For some reason this task is failing since 23.4.1
This might be dockerhub permissions or problems with self-hosted runners.
Acceptance Criteria

triggering the release workflow should work as anticipated

Steps to Reproduce (Bug)

publish a release

Expected behavior: [What you expect to happen]
hyperledger/besu:latest tag (among others) get updated to a manifest image of the latest amd64 and arm64 images
Actual behavior: [What actually happens]
manifestDockerRelease task fails with an error:
refusing to amend an existing manifest list with no --amend flag
Frequency: [What percentage of the time does it occur?]
100%

Last successful run (for 23.4.0) logs look like this:
> Task :manifestDockerRelease
Created manifest list docker.io/***/besu:latest-openjdk-17
sha256:95dc6f7295c3cd9ba73a1b87d79f19e1ee451c6079c35e88cb90d1dcea1490fe
Created manifest list docker.io/***/besu:latest-openjdk-17-debug
sha256:f2ad89f52f33f0a98dad34418cfb755ae9072fd32e4654d17df7199bf822296b
Created manifest list docker.io/***/besu:latest-openj9-jdk-17
sha256:07536a4349f8b1e3f297fe101fd71923ff3fd02c38f4036b90621b09b5e018e0
Created manifest list docker.io/***/besu:latest-graalvm
sha256:93f6b652bb[24](https://github.com/hyperledger/besu/actions/runs/4884808573/jobs/8718054965#step:7:25)04ee9[25](https://github.com/hyperledger/besu/actions/runs/4884808573/jobs/8718054965#step:7:26)c2c7dcc0d71ef154d3013a0661d457e59d4dc58c3602e
Created manifest list docker.io/***/besu:latest-openjdk-latest
sha256:6fc0155b547a513de771e5148555091e2c9cc2b7e85f9d0c4ccbfa1961d58e2b
Created manifest list docker.io/***/besu:latest
sha256:95dc6f7[29](https://github.com/hyperledger/besu/actions/runs/4884808573/jobs/8718054965#step:7:30)5c3cd9ba73a1b87d79f19e1ee451c6079c[35](https://github.com/hyperledger/besu/actions/runs/4884808573/jobs/8718054965#step:7:36)e88cb90d1dcea1490fe

For 23.4.1, despite the logs, it appears to publish all latest- tags except the final latest.

Here you can see the difference between the manually updated lastest (@garyschulte ran the gradle task locally) versus all the others that succeeded when using the GHA...

@siladu is this one fixed by #5661 ?

@siladu is this one fixed by #5661 ?

Good spot, yes. It hasn't been tested via github yet (only locally) but can always reopen if necessary


remove currnet_pose publisher in icp_matching

Status
DEVELOPMENT
Description
remove currnet_pose publisher in icp_matching.
Todos

[x] Tests
[ ] Documentation

Steps to Test or Reproduce
test icp_mathcing

I have confirmed to run on the ubuntu 16.04/14.04.


speed up Netlify build

Take advantage of the Gatsby cache! It makes builds after the first one much faster. This is a one-click fix with the Gatsby cache Netlify Build Plugin.
Enable incremental builds for Gatsby. This will make a big impact on your build times by only rebuilding what actually changed since last time.
Make sure your source images aren’t huge. Gatsby has to process images during the build, so bigger images mean slower builds.
Check your GraphQL queries for unnecessary data. Don’t load everything if you don’t need it!
For especially large sites, follow the advanced Gatsby optimization checklist.

https://www.netlify.com/blog/2020/06/11/5-optimizations-for-faster-gatsby-builds/

added 1


cmake: Fix dependencies so builds are sparse again

Rebuilding unchanged Zephyr applications using GNU ld, has the last 4 months performed linking again.
I.e. running cmake && ninja over an unchanged application has cost linking time.
This PR fixes that, i.e. makes the build sparse again so linker is not invoked again needlessly.
ld/target.cmake had drifted behind other linkers, lacking ${base_name}.
GCC can build dependency files which ninja picks up.
GCC is told to generate a dep file that depends on a target that is
never created: The file is created but under the basename zephyr folder.
Thus the dependency check always failed.
This also realigns ld with lld and arcmwdt:
$ rg -tcmake base_name
cmake/linker/arcmwdt/target.cmake
33:  get_filename_component(base_name ${CMAKE_CURRENT_BINARY_DIR} NAME)
49:    -MD -MF ${linker_script_gen}.dep -MT ${base_name}/${linker_script_gen}

cmake/linker/ld/target.cmake
67:    get_filename_component(base_name ${CMAKE_CURRENT_BINARY_DIR} NAME)
81:      -MD -MF ${linker_script_gen}.dep -MT ${base_name}/${linker_script_gen}

cmake/linker/lld/target.cmake
32:  get_filename_component(base_name ${CMAKE_CURRENT_BINARY_DIR} NAME)
45:    -MD -MF ${linker_script_gen}.dep -MT ${base_name}/${linker_script_gen}

Finally, use copy rather than rename as renaming can break dependencies. Copying is more idempotent.

Thanks @tejlmand. PR updated as instructed.
(We were stuck on an older cmake which explains the difference)


Publish the library on Bower / NPM

Doing so would increase the number of people that could use the library immediately instead of doing repetitive tasks.
If you want me to unpublish gifloopcoder that I published yesterday, let me know and I'll explain how to easily publish your library there.

Thanks. This is not something I'm interested in doing right now.


Create a Tree: parameter type "array of objects " should be "object[]"

has failing test, needs fix
TEST_URL=https://developer.github.com/v3/git/trees/#create-a-tree ltap test/integration/single-endpoint-test.js

closes #60

fixed via https://github.com/octokit/routes/pull/86


Add UUId generator

@tasnimzotder
Hi bro
Added UUID generator in javascript/uuidgenerator.js
Hope it helps
Savio Martin

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 3

See the complete overview on Codacy

I have changed it, still errors, how

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 2

See the complete overview on Codacy


[Commands] Add exprimental support for swift-format

This adds a swift package _format command to format all the sources in
a package. The swift-format binary will be looked up in PATH and
SWIFT_FORMAT. Arguments after -- will passed to swift-format as options.
For now, this is just for experimentation and not an officially
supported feature.
rdar://problem/53549175

@swift-ci smoke test


a bug when use train-100h and cpc-phone

Could there be a little bug in the code?
I got great accuracy when I used train-100h subset to pretrain. I notice when using train-100h subset to pretrain the upstream model, it may load all of the data, but when test with cpc-phone, it use a split of the train-100h subset. The model may have already seen the test data.
I'm not sure if it is right.
Looking forward for you reply.

During pre-train, the model only sees the audio part (x).
During supervised phone classification training, the model sees the pair data: audio & phone label (x, y).
There is no problem with the train-clean-100 subset, because the label data (y) is not seen during pre-training.
Plus, this is a popular setup used in many papers (CPC by DeepMind, Modified CPC by Facebook AI).