In some case, we haven't make full use of threads

Althoug I have 6 core cpu, I actually have 12 threads.

In our code, we take it for granted that num_cores = threads.
print("num hardware threads: ", num_cores()) and self.rt = Runtime(num_cores() // 2)
So, I think we haven't make full use of the threads.

Runtime(num_cores() // 2) -- was showing best performance on target machine.
@magician-blue do you have different experience with it?

In my case, as I set Runtime(num_cores()) and the speed increase from 3.6 to 4.4 on tinyllama1.1B.
I'm not sure the meaning of paramter inside Runtime(the cores or threads).

The issue is that 0.3.1 Mojo version is now showing different count for CPU cores. On Github Codespaces, I have 4 cores. In Mojo 0.2.1, num_cores returned 4, so when divided by two (like @tairov mentioned) we got the best performance. Now, in Mojo 0.3.1 num_cores return 2 cores so if we divide by 2 we have one core only.
Here is an issue with details - https://github.com/modularml/mojo/issues/950. It also has potential explanation. My Github Codespace instance actually has two physical cores and each core has two threads so num_cores now returns the number of physical cores (2). But, it is unexpected change. Altrough considering the language is young and changes fast we might expect many breaking changes.

So, I think we haven't make full use of the threads.

I think we are not making a full use of cores actually. If it is true that num_cores returns number of psychical CPU cores now, we cut it in half. If you try to put Runtime(12) (to use 12 threads), you will (I assume) mostly likely see a drop in performance due to threads waiting for other threads.
As far as I understood, 12 threads do not actually mean you can execute 12 programs at the same time. Threads allow for faster context switch, but only a core can run a code (which you have 6 of).
All in all, would be good to know if there was any change in num_cores from 0.2.1 to 0.3.1 as soon as we clarify it, it will probably make sense to put Runtime(num_cores()) as it will provide the number of parrallel execution you can actually have.

And here is an answer - https://github.com/modularml/mojo/issues/950#issuecomment-1741526370. There was a change. So, now, it is better to just use num_cores and do not divide by 2.

Thanks @VMois  for pointing this out.
I think it' worthwhile to introduce a new param for flexibly configuring default threads/cores amount.
Since -t is already used, we can come up to other arg name.
My options:
-T  -- Threads
-th -- threads
-c  -- cores
-k
-rt -- runtime threads

Out of the options provided, I like -T or -rt (familiar to Mojo developers cause Runtime). We can also consider -j as it is used in some other tools like cmake.

added -j param #44


Type checking for node_modules

I'm seeing a whole bunch of errors related to node_modules directory, like so:
ERROR in /Users/maksim/Documents/Elation/pumma/node_modules/typescript/lib/lib.dom.d.ts(15791,13):
TS2403: Subsequent variable declarations must have the same type.Variable 'onerror' must be of type '(this: DedicatedWorkerGlobalScope, ev: ErrorEvent) => any', but here has type 'ErrorEventHandler'.

ERROR in /Users/maksim/Documents/Elation/pumma/node_modules/typescript/lib/lib.dom.d.ts(15883,13):
TS2403: Subsequent variable declarations must have the same type.Variable 'self' must be of type 'WorkerGlobalScope', but here has type 'Window'.

ERROR in /Users/maksim/Documents/Elation/pumma/node_modules/typescript/lib/lib.dom.d.ts(15962,6):
TS2300: Duplicate identifier 'FormDataEntryValue'.

ERROR in /Users/maksim/Documents/Elation/pumma/node_modules/typescript/lib/lib.webworker.d.ts(1787,6):
TS2300: Duplicate identifier 'RequestMode'.

...

My webpack config:
module.exports = {
  context: __dirname,
  ...
  module: {
    rules: [
      {
        test: /\.(ts|tsx)$$/,
        use: [
          babelLoader,
          {
            loader: 'ts-loader',
            options: {
              transpileOnly: true,
            },
          },
        ],
        exclude: /node_modules/,
      }
    ],
  },
  resolve: {
    modules: [path.resolve(__dirname, './src'), 'node_modules'],
    extensions: ['.ts', '.tsx', '.js', '.jsx'],
    plugins: [new TsconfigPathsPlugin({ configFile: './tsconfig.json' })],
  },
  plugins: [
    new ForkTsCheckerWebpackPlugin(),
    ...
  ],
}

My tsconfig.json:
{
  "compilerOptions": {
    ...
    "baseUrl": "./src",
    ...
  },
  "include": ["./src/**/*"],
  "exclude": ["node_modules"]
}

I read through #116, but none of the recipes mentioned there worked for me.
Are there any other config options or any other details that I'm missing?

same here, got a lot of errors... THX!
this.plugins.push(new ForkTsCheckerWebpackPlugin({
	tsconfig: 'tsconfig.compiler.json',
	watch: 'src',
	async: false
}));

{
	"compilerOptions": {
		"allowSyntheticDefaultImports": true,
		"experimentalDecorators": true,
		"jsx": "react",
		"lib": [
			"es2015.promise",
			"es5",
			"dom"
		],
		"module": "esnext",
		"moduleResolution": "node",
		"outDir": "dist",
		"removeComments": true,
		"sourceMap": true,
		"strict": true,
		"strictNullChecks": false,
		"target": "es5",
		"typeRoots": [
			"node_modules/@types",
			"src/data/@types",
			"src-pre/tsapp/@types"
		]
	},
	"include": [
		"src/**/*"
	],
	"exclude": [
		"node_modules"
	],
	"files": [
		"src/preloader/preloader.ts"
	]
}

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@material-ui/core/styles/MuiThemeProvider.d.ts(13,19):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@material-ui/core/styles/MuiThemeProvider.d.ts(13,38):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(729,34):
TS2304: Cannot find name 'Set'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(931,26):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(934,31):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(935,26):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(937,23):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(947,34):
TS2304: Cannot find name 'Map'.

ERROR in<EMAIL_ADDRESS>ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/@types/webpack/index.d.ts(948,34):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/api/observable.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/api/observable.d.ts(25,31):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts(33,107):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts(34,65):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts(45,13):
TS2339: Property 'toStringTag' does not exist on type 'SymbolConstructor'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts(59,50):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/mobx/lib/types/observablemap.d.ts(75,13):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/tslint/lib/configuration.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/tslint/lib/configuration.d.ts(18,14):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/tslint/lib/configuration.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/tslint/lib/configuration.d.ts(32,12):
TS2304: Cannot find name 'Map'.

ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/tslint/lib/configuration.d.ts
ERROR in C:/workspace/AuditManager-Web-App-reboot/node_modules/tslint/lib/configuration.d.ts(121,63):
TS2304: Cannot find name 'Map'.

Unfortunately, I also have the same problem.

For me, the solution was to add skipLibCheck: true to tsconfig.json

Thanks so much for sharing that @maksimsemenov - I wonder if it would be worth making skipLibCheck: true on by default with fork-ts-checker-webpack-plugin?  It's worth saying that there are 2 compiler flags on by default:
    skipLibCheck: true,
    suppressOutputPathCheck: true

https://github.com/TypeStrong/ts-loader/blob/002c0f651cf1a8e27b0e232b7fe4a982ddce6323/src/compilerSetup.ts#L57
If a value is set for these properties in tsconfig.json than those are the values that will be used; otherwise it's skipLibCheck: true by default (for performance reasons) and suppressOutputPathCheck: true (because https://github.com/Microsoft/TypeScript/issues/7363 ).
For me it would make sense to apply the same changes to fork-ts-checker-webpack-plugin; for 2 reasons:

If people are using ts-loader alone and then move to plug fork-ts-checker-webpack-plugin into their build they may bump on these errors.   Let's give people an easy on-ramp :smile:

These are good defaults for the reasons given.

I'd be totally up for making those changes.  @piotr-oles what do you think?

@johnnyreilly for some reason, when using only ts-loader (without this plugin), I don't see any errors about d.ts files from node_modules in the build. but when adding this plugin, I see them and it fails the build.
Applying skipLibCheck: true is not an option and pretty dangerous because our internal d.ts files in our projects (I'm talking about the consumers of this plugin) won't have any type-checking.
All in all, I'm not sure that adding those defaults will be a good idea. maybe it's better to understand why there is a difference in the behavior I mentioned.
What do you guys think?

Hello, please help!
#reportFiles option is buggy
I can't set skipLibCheck: true because I need to check d.ts files in src/**/*
Actually there is option for ForkTsCheckerWebpackPlugin reportFiles.
But this is absolutelly not working for me.
I tried all possible settings like:
reportFiles: ['src/**/*']
reportFiles: ['/src/**/*']
reportFiles: ['!node_modules']
...

new ForkTsCheckerWebpackPlugin({
            tsconfig: resolve(__dirname, './tsconfig.json'),
            reportFiles: [`!${resolve(__dirname, 'node_modules/**/*')}`],
}),

I either end up with no checking, yet I know TS erros are there,
or node_modules d.ts files are chekced which is unacceptable.
(though I don't use ts-loader, I use babel-loader, but nwm)
Anyone same problem?

@michalpuskel reportFiles is just about the information that is output in the end - the files will be typechecked before anyways. If you want to exclude them from that, you'll have to use the exclude option in your tsconfig.json. Also, you might try useTypescriptIncrementalApi: true vs useTypescriptIncrementalApi: false (if there's a difference, please report it!)
Also, for reportFiles, we're using micromatch internally, so you can check your globs with their documentation, maybe that helps.

@michalpuskel reportFiles is just about the information that is output in the end - the files will be typechecked before anyways. If you want to exclude them from that, you'll have to use the exclude option in your tsconfig.json. Also, you might try useTypescriptIncrementalApi: true vs useTypescriptIncrementalApi: false (if there's a difference, please report it!)
Also, for reportFiles, we're using micromatch internally, so you can check your globs with their documentation, maybe that helps.

@phryneas Thank you for quick response, though so far I couldn't solve it.
I tried settings in tsconfig.json before aswell (variations of include and exclude or both)
tsconfig.json
{
  "compilerOptions": {
    ...
    "skipLibCheck": false
  },
  "exclude": ["dist", "node_modules"]
}

webpack.config.js
...
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
...

...
const removeEmpty = array => array.filter(i => !!i);
...

module.exports = {
    ...
    plugins: removeEmpty([
        ...
        new ForkTsCheckerWebpackPlugin({
            tsconfig: resolve(__dirname, './tsconfig.json'),
            checkSyntacticErrors: true,
            reportFiles: [`!${resolve(__dirname, 'node_modules/**/*')}`],
            // reportFiles: ['src/**/*'],
            compilerOptions: { exclude: ['dist', 'node_modules'] },
            useTypescriptIncrementalApi: false,
        }),
       ...

useTypescriptIncrementalApi true / false makes no difference for me
maybe is it problem with micromatch - I use it bad way
reportFiles: ['src/**/*'],
reportFiles: ['./src/**/*'],
reportFiles: ['/src/**/*'],

options above output nothing, no error in console
I want this (but with no node_modules):

When I will solve it, I definitely report it here, though so far no success, thanks  anyway

We are matching the relative path, so something like ./node_modules/react-codemirror2.
You try to match the absolute path against that in your example - that cannot work.
Something like !node_modules, !/node_modules/, !**/node_modules/** could work - you'll have to try that, I never use that feature myself and I don't have a reproduction project for that.

We are matching the relative path, so something like ./node_modules/react-codemirror2.
You try to match the absolute path against that in your example - that cannot work.
Something like !node_modules, !/node_modules/, !**/node_modules/** could work - you'll have to try that, I never use that feature myself and I don't have a reproduction project for that.

SOLVED
Thank you @phryneas !
so final config:
tsconfig.json
{
  ...
  "exclude": ["dist", "node_modules"]
}

skipLibCheck is omitted, so its default false is okay
webpack.config.js
...
        new ForkTsCheckerWebpackPlugin({
            async: !env.prod,
            useTypescriptIncrementalApi: true,
            tsconfig: resolve(__dirname, './tsconfig.json'),
            checkSyntacticErrors: true,
            reportFiles: ['**', '!**/__tests__/**', '!**/?(*.)(spec|test).*'],
            silent: true,
        }),
...

And it works like charm, thanks a lot for support :)

@maksimsemenov , @crazyx13th , @zeusLeeJh , @michalpuskel
Please try fork-ts-checker-webpack-plugin@alpha - I've published a new version which sets skipLibCheck and skipDefaultLibCheck to true 🚀
I will close this issue to clean-up the backlog :)

Still occurring for me, I got alpha version too but still complaining about a node_modules package.  Here is my config:
tsconfig.json:
{
  "compilerOptions": {
    "target": "es2015",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "commonjs",
    "resolveJsonModule": true,
    "noEmit": true,
    "jsx": "react",
    "skipLibCheck": true,
    "skipDefaultLibCheck": true,
    "typeRoots": [
      "typings",
      "node_modules/@types"
    ]
  },
  "exclude": [
    "node_modules"
  ],
  "include": [
    "src"
  ]
}

webpack config:
{
  name: 'web',
  target: 'web',
  entry: './src/index.tsx',
  module: {
    rules: [{
      test: /\.tsx?$/,
      loader: 'ts-loader',
      include: path.resolve(__dirname, './src'),
      exclude: /node_modules/,
      options: {
        onlyCompileBundledFiles: true,
        transpileOnly: !isProduction,
        compilerOptions: {
          noEmit: false,
        },
      },
    }],
  },
  resolve: {
    extensions: ['.tsx', '.ts', '.jsx', '.js'],
    symlinks: false,
  },
  output: {
    filename: '[name].js',
    path: path.resolve(__dirname, 'build'),
    pathinfo: false,
  },
  optimization: {
    removeAvailableModules: false,
    removeEmptyChunks: false,
    splitChunks: {
      cacheGroups: {
        vendor: {
          name: 'vendors',
          test: /[\\/]node_modules[\\/]/,
          chunks: 'all',
        },
      },
    },
  },
  plugins: [
    ...(isProduction
      ? []
      : [
        new ForkTsCheckerWebpackPlugin({ eslint: { files: './src/**/*.{ts,tsx}' } }),
        new ForkTsCheckerNotifierWebpackPlugin({ title: 'TypeScript', excludeWarnings: true }),
        new ProgressBarPlugin(),
      ]),
    new CopyWebpackPlugin({
      patterns: [
        { from: './public', to: './' },
      ]
    }),
    new webpack.DefinePlugin({
      'process.env': JSON.stringify(dotenv.parsed),
    }),
  ],
  devServer: {
    contentBase: path.join(__dirname, 'build'),
    compress: true,
    port: 3000,
    host: '<IP_ADDRESS>',
    disableHostCheck: true,
    historyApiFallback: true,
  },
  stats: {
    assets: false,
    builtAt: true,
    cached: false,
    cachedAssets: false,
    children: false,
    chunks: false,
    chunkGroups: false,
    chunkModules: false,
    chunkOrigins: false,
    colors: true,
    depth: false,
    entrypoints: false,
    env: false,
    errors: true,
    errorDetails: true,
    hash: false,
    logging: 'error',
    modules: false,
    outputPath: false,
    performance: true,
    providedExports: false,
    publicPath: false,
    reasons: false,
    source: false,
    timings: true,
    usedExports: false,
    version: false,
    warnings: true,
  },
}

Here is one of the errors I'm getting:
ERROR in node_modules/jodit/src/modules/toolbar/collection/editor-collection.ts:20:14
TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.
    18 |
    19 | @component
  > 20 | export class ToolbarEditorCollection extends ToolbarCollection<IJodit> {
       |              ^^^^^^^^^^^^^^^^^^^^^^^
    21 |        /** @override */
    22 |        className(): string {
    23 |                return 'ToolbarEditorCollection';

Could you create a reproduction repository?


Standardize theorist/experimentalist inputs and outputs

We encounter the problem that different theorists/experimentalists expect and produce different data formats (e.g., numpy versus pandas) and with potentially different dimensions (e.g., 1D vs. 2D numpy array). We should consider standardizing the inputs & outputs, potentially using a pandas data frame.

duplicate of #231


Warn on incompatible Video-Input-Formats

The Core should catch the negotiation signal when a source tries to connect and compare the incoming caps with the configured caps. Currently, when putting in a invalid video format, the source-pipeline just stops without a warning (the mixer remains functional but it isn't obvious why a specific video is not working):

Would it make sense to stick a decodebin into the pipeline and support formats other than raw video over the wire?
Capture hardware like HDMI2USB produce MJPEG in certain modes, so if there is a choice between decoding those frames at the capture end or the mixer end, being able to do so on the mixer would seem preferable.

We used vocotomix with epipahn vga broadcaster as slide grabber. This device produces MJPEG or H264 streams. Conversion is done before feeding it to vocotomix. Not sure if there would be a CPU load benefit from doing it in the core but it seems to raise the complexity. Do you see any advantage in doing it in the core except less external encoding calls?

Yes, it was a design goal to not have encoder/decoder in the core but as external processes. This allows killing and restarting them without interrupting the core. Decoder and Encoder are complex pieces of software with many, many parameters, that may be tuned or changed, depending on the situation. For this reason I do not want to have them in the core.
For example during our last test-run we had issues with the way our slides-mjpeg-decoder produced silence, so we restarted it multiple times while the stream and the recording kept on running. This would not be possible if the problematic part would be part of the core.
Another example is gracefully handle broken 16:9/4:3 sources. On some conferences we have multiple versions of the slides-deocder which can handle cropping and scaling and depending on the situation we use the one or the other script to read from the mjpeg-source and push into the core.

Assuming the central mixing host can handle it (which it hopefully can with simple codecs), the obvious benefit is greatly reduced network traffic.

network traffic via loopback is nearly free, compared to the tasks of encoding to h264 or something. We usually have the conversion-tasks like the one that converts from mjpeg to raw-video running on the same host.

seems like this could be addressed with something like this running on the core box:
gst-launch-1.0
tcpclientsrc host=<IP_ADDRESS> port=10000
decodebin
tcpclientsink host=<IP_ADDRESS> port=10000
Does this need to know the caps the server is expecting?
video/x-raw,format=I420,width=1280,height=720,framerate=30000/1001,pixel-aspect-ratio=1/1
that should/could be contained in the incoming stream, right?


MenuItem does not flyout when click the MenuItem on Mac

Describe the bug
I click the MenuItem but the subMenuItem does not flyout on macos.
To Reproduce
Create a avalonia project from template. Add Menu and MenuItem like this:

    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="_Header1">
                <MenuItem Header="header1">
                </MenuItem>
                <MenuItem Header="header1">
                </MenuItem>
            </MenuItem>
            <MenuItem Header="header1">
                <MenuItem Header="_header1">
                </MenuItem>
                <MenuItem Header="header1">
                </MenuItem>
            </MenuItem>
        </Menu>
        <Border>

            <Border.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="header1" />
                    <MenuItem Header="header1" />
                    <MenuItem Header="header1" />
                </ContextMenu>
            </Border.ContextMenu>
            <TextBlock
                HorizontalAlignment="Center"
                VerticalAlignment="Center"
                Text="{Binding Greeting}">
            </TextBlock>
        </Border>
    </DockPanel>

Expected behavior
The menu item should flyout when I click.
Avalonia version
11.0.1
OS
macOS
Additional context
macOS version: 14.4
You may not believe this, so I record a screen:
https://github.com/AvaloniaUI/Avalonia/assets/4465571/f0faa8dc-a124-482f-b703-a707ed5eaae4

11.0.1 is pretty outdated. Could you try 11.0.10 at least or even better 11.1 beta?

11.0.1 is pretty outdated. Could you try 11.0.10 at least or even better 11.1 beta?

I tried 11.0.10 and latest nightly build. Same result.

Any progress on it? @timunie

Well if you need priority support, a contract is required. Otherwise we need to wait until someone with a mac (I have none) can help or you can file a PR if you know how to solve it.
Thanks for your understanding

Thanks for your explaination. I will try it out by myself.
I found that if I start my application from a FullScreen Rider, the menuItem will not flyout, if I change my rider window to normal and start my application, the menuItem will flyout as normal.
I use iTerm to start my application too, the result are same.
I want to keep this issue open until the issue is solved.

I also have the same problem, but I do not respond when I click on the window environment, but it is fine in the mac environment, I use 11.0.10

I am running into the same issue on Mac as dameng where having the Rider application not in FullScreen allowed the menu to flyout vs in FullScreen mode where it did not appear.
Avalonia v 11.2.0


[json-rpc] limit batch request size to 20 by default

Motivation
Limit batch size to avoid client sends too many requests and cause server OOM or other problems.
Test Plan
Unit tests

@bors-libra r=thefallentree

:pushpin: Commit d6c759e has been approved by thefallentree

:hourglass: Testing commit d6c759e0547a1831a10070568913c1264f8eafff with merge b10cae491942208f7cb268f91b89a6229f037acc...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: thefallentree
Pushing b10cae491942208f7cb268f91b89a6229f037acc to master...


KAFKA-2587:Increasing timeout for the test verification.

LGTM

@junrao can you please take a look? The test that was added as part of the simple authorization work has been a bit unstable and Parth increased the time out and improved the failure message to help us understand future failures better.

+1

Thanks for merging @harshach and congratulations on your first merge to trunk. :)


Unable to play audio

Description
I am trying to play audio but Lavalink returns the error below. I don't think I've been rate-limited because it was just a single request in a private bot.
Version info
Client used:
Wavelink.py
Output of java -version:
openjdk version "13.0.2" 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

Lavalink Logs
←[32m       .  ←[31m _                  _ _       _    ←[32m__ _ _
←[32m      /\\ ←[31m| | __ ___   ____ _| (_)_ __ | | __←[32m\ \ \ \
←[32m     ( ( )←[31m| |/ _` \ \ / / _` | | | '_ \| |/ /←[32m \ \ \ \
←[32m      \\/ ←[31m| | (_| |\ V / (_| | | | | | |   < ←[32m  ) ) ) )
←[32m       '  ←[31m|_|\__,_| \_/ \__,_|_|_|_| |_|_|\_\←[32m / / / /
←[0m    =========================================←[32m/_/_/_/←[0m

        Version:        3166d2dad1b0b3321934bbfd7e58623cb11b93f1-SNAPSHOT
        Build:          1117
        Build time:     19.10.2020 17:05:33 UTC
        Branch          dev
        Commit:         3166d2d
        Commit time:    19.10.2020 17:02:57 UTC
        JVM:            13.0.2
        Lavaplayer      1.3.59

2020-10-28 09:12:04.734  INFO 8040 --- [           main] lavalink.server.Launcher                 : Starting Launcher on DESKTOP-RMSLQ0A with PID 8040 (C:\Users\Vyprath\OneDrive\Documents\poof\Music bot\jdk-13.0.2\bin\Lavalink.jar started by Vyprath in C:\Users\Vyprath\OneDrive\Documents\poof\Music bot\jdk-13.0.2\bin)
2020-10-28 09:12:04.735  INFO 8040 --- [           main] lavalink.server.Launcher                 : No active profile set, falling back to default profiles: default
2020-10-28 09:12:04.806  WARN 8040 --- [kground-preinit] o.s.h.c.j.Jackson2ObjectMapperBuilder    : For Jackson Kotlin classes support please add "com.fasterxml.jackson.module:jackson-module-kotlin" to the classpath
2020-10-28 09:12:05.620  WARN 8040 --- [           main] io.undertow.websockets.jsr               : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2020-10-28 09:12:05.637  INFO 8040 --- [           main] io.undertow.servlet                      : Initializing Spring embedded WebApplicationContext
2020-10-28 09:12:05.637  INFO 8040 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 871 ms
2020-10-28 09:12:05.888  WARN 8040 --- [           main] l.server.config.SentryConfiguration      : Turning off sentry
2020-10-28 09:12:06.076  INFO 8040 --- [           main] c.s.d.l.tools.GarbageCollectionMonitor   : GC monitoring enabled, reporting results every 2 minutes.
2020-10-28 09:12:06.334  INFO 8040 --- [           main] lavalink.server.config.KoeConfiguration  : OS: Windows 10, Arch: amd64
2020-10-28 09:12:06.334  WARN 8040 --- [           main] lavalink.server.config.KoeConfiguration  : This system and architecture appears to not support native audio sending! GC pauses may cause your bot to stutter during playback.
2020-10-28 09:12:06.506  INFO 8040 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-10-28 09:12:06.707  INFO 8040 --- [           main] org.xnio                                 : XNIO version 3.3.8.Final
2020-10-28 09:12:06.716  INFO 8040 --- [           main] org.xnio.nio                             : XNIO NIO Implementation Version 3.3.8.Final
2020-10-28 09:12:06.756  INFO 8040 --- [           main] o.s.b.w.e.u.UndertowServletWebServer     : Undertow started on port(s) 2333 (http) with context path ''
2020-10-28 09:12:06.760  INFO 8040 --- [           main] lavalink.server.Launcher                 : Started Launcher in 2.416 seconds (JVM running for 2.724)
2020-10-28 09:12:06.762  INFO 8040 --- [           main] lavalink.server.Launcher                 : You can safely ignore the big red warning about illegal reflection. See https://github.com/Frederikam/Lavalink/issues/295
2020-10-28 09:12:23.103  INFO 8040 --- [  XNIO-1 task-1] io.undertow.servlet                      : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-10-28 09:12:23.104  INFO 8040 --- [  XNIO-1 task-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-10-28 09:12:23.108  INFO 8040 --- [  XNIO-1 task-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 4 ms
2020-10-28 09:12:23.121  INFO 8040 --- [  XNIO-1 task-1] l.server.io.HandshakeInterceptorImpl     : Incoming connection from /<IP_ADDRESS>:59188
2020-10-28 09:12:23.166  INFO 8040 --- [  XNIO-1 task-1] lavalink.server.io.SocketServer          : Connection successfully established from /<IP_ADDRESS>:59188
2020-10-28 09:12:35.030  INFO 8040 --- [   XNIO-1 I/O-4] lavalink.server.io.SocketServer          : {"op": "volume", "guildId": "630785824958447626", "volume": 60}
2020-10-28 09:12:35.039  INFO 8040 --- [  XNIO-1 task-2] l.server.player.AudioLoaderRestHandler   : Got request to load for identifier "ytsearch:blinding lights"
2020-10-28 09:12:35.966  INFO 8040 --- [ader-2-thread-1] lavalink.server.player.AudioLoader       : Loaded playlist Search results for: blinding lights
2020-10-28 09:12:36.382  INFO 8040 --- [   XNIO-1 I/O-4] lavalink.server.io.SocketServer          : {"op": "play", "guildId": "630785824958447626", "track": "QAAAlwIAM1RoZSBXZWVrbmQgLSBCbGluZGluZyBMaWdodHMgKE9mZmljaWFsIE11c2ljIFZpZGVvKQAKVGhlIFdlZWtuZAAAAAAABANYAAs0TlJYeDZVOEFCUQABACtodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTROUlh4NlU4QUJRAAd5b3V0dWJlAAAAAAAAAAA=", "noReplace": false, "startTime": "0"}
2020-10-28 09:12:36.836  INFO 8040 --- [   XNIO-1 I/O-4] lavalink.server.io.SocketServer          : {"op": "voiceUpdate", "guildId": "630785824958447626", "sessionId": "8bfbdd8c4a9874a89caf6e5266bcc5f1", "event": {"token": "75fcae3bb5ebfe02", "guild_id": "630785824958447626", "endpoint": "japan517.discord.media:443"}}
2020-10-28 09:12:37.061 ERROR 8040 --- [back-1-thread-1] c.s.d.l.t.p.LocalAudioTrackExecutor      : Error in playback of 4NRXx6U8ABQ

com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
        at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:43) ~[lavaplayer-1.3.59.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:117) ~[lavaplayer-1.3.59.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$1(DefaultAudioPlayerManager.java:349) ~[lavaplayer-1.3.59.jar!/:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
        at java.base/java.lang.Thread.run(Thread.java:830) ~[na:na]
Caused by: java.lang.NullPointerException: null
        at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[na:na]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeSignatureCipherManager.getCipherKeyFromScript(YoutubeSignatureCipherManager.java:136) ~[lavaplayer-1.3.59.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeSignatureCipherManager.resolveFormatUrl(YoutubeSignatureCipherManager.java:103) ~[lavaplayer-1.3.59.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:87) ~[lavaplayer-1.3.59.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioTrack.process(YoutubeAudioTrack.java:42) ~[lavaplayer-1.3.59.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:105) ~[lavaplayer-1.3.59.jar!/:na]
        ... 4 common frames omitted

Had the same issue. Probably not due to rate limiting because I'm playing one song on user request.

Use lavalink from dev branch

Use lavalink from dev branch

I am.

You are, though you should try the latest dev build from yesterday.

You are, though you should try the latest dev build from yesterday.

Excuse me for my stupidity, but, is it a release or do I have to build it myself?

I can only see the release from the 24th where is this release from yesterday?

I can only see the release from the 24th where is this release from yesterday?

There was no release. However, there is a dev branch.

I can only see the release from the 24th where is this release from yesterday?

There was no release. However, there is a dev branch.

How can i build the dev branch?

@Vyprath I checked on the dev branch too and there is still no release there.

To clear the grand confusion here, you can download from the Ci. Builds are linked with each commit.
Ask in the support channel if you get stuck

The issue continues even after I downloaded yesterdays dev version.
Heres the error I got

Heres where I downloaded it from

Client:
Wavelink
Java Version Output

@Halfblood1223 give me the output of java -jar Lavalink.jar --version
From the first screenshot it looks like you are not running the version in your second screenshot.

Output Here

I think I am running the wrong version but I'm not sure why as I downloaded it from their for sure. I'll try again and if it doesn't work I'll move to the support channel on the JDA discord.

Anyways I am closing this as I believe the issue to be resolved.


Implement "voting booths"

Implement "voting booths"  or voting sessions to which people can join and vote for their desired restaurant.

I believe we can represent voting booths as persistant state in the database like this:


updated style for mobile to fix the aspect ratio

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #93
Test URLs:

Before: https://main--servicenow--hlxsites.hlx.live/
After: https://issue93--servicenow--hlxsites.hlx.live/

for mobile break point

to see the CLS in action, you can open developer tools -> network tab -> change No throttling to Slow 3G.
The idea is: once something is visible, it should not move, otherwise it is considered by Lighthouse a Content Layout Shift and the performance score drops.
There is also a CLS section in the LHS report.


stylecop.schema.json should (probably?) not have a BOM

VS Code doesn't like it:

Seems like pull request #3562 covers this exact request.


AttributeError when doing a right -click on a WebView widget

Description
What steps will reproduce the problem?

worked with numpy, pandas and matlibplot and then the kernel gave up and always gave me an 'ERROR: execution aborted'. I though id update to spyder 5 and then the spyder-kernel dependancy was totally off. I installed spyder-kernel with pip but the dependancy wasnt up dated accordingly.

Hey @infiltratorChris, thanks for reporting. You said

worked with numpy, pandas and matlibplot and then the kernel gave up and always gave me an 'ERROR: execution aborted'.

That could be an issue with your program running out of memory. In that case you need to restart the kernel and try again. I the problem persists, it means you need to check your program of memory related issues.

I though id update to spyder 5 and then the spyder-kernel dependancy was totally off.

The reported problem with spyder-kernels was a mistake on our side and it'll be fixed in our next version, to be released in a couple of days. Thanks for your patience.

I installed spyder-kernel with pip but the dependancy wasnt up dated accordingly.

Please be sure to use spyder-kernels 2.0.1 in your environment and ignore the warning we show about it in the meantime because it's irrelevant.


Notes on how to write documentation

So far, our notes list the "how" of documentation, but not much info on the "what". Could be useful to look through the following resources (or at least link them) for more info:

diataxis
do the needful
the four kinds of documentation

Also: Good Docs Project

Also, it's important to test your docs: have people read them and give you feedback. However, scientists are (in my experience) hesitant to give critical feedback on docs (partly because their expectations are really low), so some suggestions there:

have users do a "think aloud", sit next to them
while they do the thing and talk through their thought process
reframe as "this is doing me a favor"
give docs to new team members being onboarded and say "first task is to improve docs", really good way to onboard people, get them up to speed

some good examples of docs linked here


OfType(string) fails with "'.' or '(' or string literal expected" when AllowNewToEvaluateAnyType is true on version 1.2.24 and above

Calling OfType() when AllowNewToEvaluateAnyType is true fails on version 1.2.24 and above; it works on 1.2.23.
Here's a repro:
using System.Linq.Dynamic.Core;

namespace DynamicLinqExample {

    internal class Base { }

    internal class DerivedA : Base { }

    internal class DerivedB : Base { }

    internal class Parent {
        public IEnumerable<Base> Children { get; set; }
    }

    internal class Program {
        private static readonly ParsingConfig DefaultParsingConfig = new() {
            AllowNewToEvaluateAnyType = true,   // <-- works if this is false
        };

        static void Main(string[] args) {
            var data = new Parent[] {
                new() {
                    Children = new Base[] {
                        new DerivedA(),
                        new DerivedB(),
                    }
                }
            };

            var query = data.AsQueryable()
                .Select(DefaultParsingConfig, "Children.OfType(\"DynamicLinqExample.DerivedA\")");
            var result = query.ToDynamicArray();
        }
    }
}

This results in:
System.Linq.Dynamic.Core.Exceptions.ParseException
  HResult=0x80131500
  Message='.' or '(' or string literal expected
  Source=System.Linq.Dynamic.Core
  StackTrace:
   at System.Linq.Dynamic.Core.Tokenizer.TextParser.ValidateToken(TokenId tokenId, String errorMessage)

Thanks!

@jbhelm
I've tried to reproduce this issue with the latest version:
[Theory]
[InlineData(true)]
[InlineData(false)]
public void OfType_Dynamic_WithFullName_AllowNewToEvaluateAnyType(bool allowNewToEvaluateAnyType)
{
    // Arrange
    var config = new ParsingConfig
    {
        AllowNewToEvaluateAnyType = allowNewToEvaluateAnyType
    };

    var queryable = new Parent[]
    {
        new()
        {
            Children = new Base[]
            {
                new DerivedA(),
                new DerivedB()
            }
        }
    }.AsQueryable();

    var fullType = typeof(DerivedA).FullName;

    // Act
    var query = queryable.Select(config, $"Children.OfType(\"{fullType}\")");
    var result = query.ToDynamicArray();

    // Assert
    result.Should().HaveCount(1);
}

And both options seem to work correct.

@StefH  Thanks for the quick response! The code I posted fails for me on version 1.3.1, which is the latest version in NuGet. I also checked MyGet and I don't see any version newer than 1.3.1. To which version are you referring as the latest?

By latest I mean the source-code in master branch. (I added this unit test and it works) (https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/694)
It could be that this PR also fixes your issue:
https://github.com/zzzprojects/System.Linq.Dynamic.Core/pull/687

Ah, my apologies -- I should have also tried the current master branch before reporting.
I can confirm that the current master branch code does work for our use case. I'll wait for the next release. Thanks!


[FEATURE] Select 'UNUSED' or 'INACTIVE' from savegame comparison screen

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
The ability to check your save game for inactive mods is awesome.
Describe the solution you'd like
Even more awesome would be a delete all located inactive mods from the folder button maybe after you've run the comparison to a save game.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I mean you can select and delete the mods by searching for them. But I  think a select all button would be useful.
Or from the main window you could then filter by inactive. But I presume you need to run it against a save file to work out whether it's active or not hence the select all/ delete all button being within the compare save game to mod folder screen
Additional context
I think there's space on the save game check window next to the icon  on the left.

Hmm.  interesting idea.  Let me see if I can at least make a button in the savegame window that will select all the "unused" or "inactive" mods.  I don't really want to automate it completely, because particularly the "unused" tag can be wrong in some situations (mostly mods that add only stuff like buyable bales or pallets - if you don't have any bought right now, it'll show unused, even if you intend to use it.)
But a button in the savegame screen that will select them in the other window seems plausible, lemme see what I can come up with.

Closing this as finished, feel free to re-open if needed :)

Awesome I love how supportive you are of changes. Thanks I'll check it out when I next play :)
Also thank you getting symlinks to copy as symlinks with MA this was my biggest issue with alternatives now the feature set of MA and this alone has me using MA exclusively

Uh did I reopen this to say thanks? If I did sorry

Heh, nope, all good.  Regarding links, I am still playing with the idea of allowing links to be created from in the app.  Just not there quite yet.

Alas, additional symLink support will not be coming.  Bummer, it would have been nice.  See also #24

No problem completely understand why you wouldn't want admin access in your programme just checking it will still be able to duplicate symlinks as symlinks using the copy button?

I'll double check what the behavior is right now, I'm really not sure.  It should be whatever the default windows behavior is

I believe windows defaults to copying a sym link as a zip file :(

Hi @jtsage this feature (selecting of inactive mods) and then deleting is working a treat
2 further requests on the same line if they don't merit inclusion then that's cool

could the window that pops up to warn you that deletion is irreversible allow you to unselect files too? Maybe it does but I wasn't able to test it

anyway the select all inactive mod button you added at my request could disregard CSV files? It keeps deleting my mod file list cos I keep it in the same folder😂 I would presume it only needs to be able to delete folders and zips? Not sure if that's possible to code

Cheers All

Reopening to look at both of these.  of the two, excluding CSV files is gonna be pretty simple.  Lemme think about the other one - my constant fear is overcomplicating (more than I already have) the interface.

Haha
If you can make 2 Happen forget 1 it's just me being lazy not wanting to have to unselect to be honest it only popped into my head cos I kept deleteing my csv 😂


Documentation explaining the process for general secret rotation

New file explaining the process. Further linked pre-existing file for the custom process required by CCDB keys into the new toplevel section.
Description
Added a new section to doc/Contribute.md. Added new file containing the bulk of the explanations.
Motivation and Context
See #44
How Has This Been Tested?
Manual testing in a minikube environment.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code has security implications.
[ ] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

While the new documentation was added in the developer doc section of the project operators deploying KubeCF are also a proper audience for this information. As such the main product documentation should be extend to contain the same information.

As mentioned by @fargozhu the instructions were missing a namespace reference in a critical command, the application of the rotation request. Added that option to the instructions now.
Verified with my minikube cluster that this fixes the issue with the operator not reacting to the request.
IOW I am now seeing the secret getting properly updated.
This means that https://github.com/cloudfoundry-incubator/cf-operator/issues/800 was likely a PEBKAC from us, and is not relevant.
Ping @f0rmiga @drnic

@andreas-kupries Thanks for fixing the review comments!


How to update rows and columns

How can I update rows and columns programmatically? It doesn't support or should it be enough that changing models. I set my rows and columns model with my report data but it doesn't seem effective at all.

Hi,
Sorry for the late reply. If this issue is still relevant, please give me more information about it :

Which component are you using (Pivot or PivotTable) ?
Which properties are you updating ?
Thanks


Proposal for major revision of metric definition

Please check if the PR fulfills these requirements

[x] You have a descriptive and meaningful commit message.
[ ] Tests for the changes have been added (for bug fixes/features)
[x] Docs have been added / updated (for bug fixes / features)
[ ] You have done your changes in a separate branch. Branches MUST have descriptive names that start with either the fix/ or feature/ prefixes. Good examples are: fix/signin-issue or feature/issue-templates.
[ ] You have commented the code, particularly in hard-to-understand areas

What kind of change does this PR introduce? (Bug fix, new feature, docs update, ...)
Major revision of the metric definition document (markdown)

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No breaking changes

Other information:

TODO

[ ] re-order and re-format terminology & references
[ ] hamonize the metric definitions


Disconnected from the live session abruptly

Product and Version [VS/VSCode]:
OS Version [macOS/Windows/Linux]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
What were you doing when you encountered the desync?
How often have you encountered desyncs?

Thanks for reporting this issue. Could you tell us what happened during this session?

was using the live session and it disconnected abruptly while viewing. Had to reconnect but it did happen few times disconnecting.


Running dreampyface with analytical geometry raises error about the magnetic field

Running the same script with the "traditional" method runiface() does not give an error, and runs properly. Digging deeper the psi array is incorrect in fvm/Grid/AnalyticBRadialGridGenerator::constructSplines(). All the other four arrays, namely GOverB0, kappa, Delta, and delta are being passed correctly. For the testing I modified the fvm/Grid/AnalyticBRadialGridGenerator::constructSplines() to contain the following:
if (pp->npsi > 1) {
        this->spline_psi = construct_spline(pp->npsi, pp->psi_r, pp->psi);
        // Print the array for testing
        char shaping2[] = "psi";
        printf("%s \n", shaping2);
        for(int i = pp->npsi - 1; i>=0; i--) {
            printf("%e \n", pp->psi[i]);
        }
        this->gsl_acc_psi = gsl_interp_accel_alloc();
    }

If it is of any importance: I pass an externally sourced psi array, and all the other shaping parameters are linearly interpolated onto the grid in Python before passing them to the C++. All passed data already has the dimensions that I set for their respective grids in ds.radialgrid.setShaping() so they should not be interpolated (?).

My psi array should go from around -51 to around -31, but instead, I get these types of values which seem to indicate some repetition every 5 values. I have a grid of 200 points, so I only attach the first 10 values for illustration.

2.013080e-01
-9.555920e+05
3.952780e+04
1.863300e+20
-4.719510e+01
1.963000e-01
-9.577710e+05
3.981160e+04
1.867640e+20
-4.729090e+01

Turns out that the problem originates in using numpy.genfromtxt() for importing the data. Typecasting the psi numpy array with list() solves this abovementioned issue.
But then the simulation throws the following errors instead, which seems to be unrelated to the magnetic geometry at first glance:
INTEL MKL ERROR: /cineca/prod/opt/compilers/intel/pe-xe-2020/binary/mkl/lib/intel64/libmkl_avx512.so: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8.
Intel MKL FATAL ERROR: Cannot load libmkl_avx512.so or libmkl_def.so.

Since this is a different issue, I think we can close this.


Adding Readme Foundation

Fleshed out an initial README structure so that we have an outline to go off of later.

Roughly followed the guidelines in GLearn & created the following sections:

[x] Catchy headline / cool graphic

[x] Who are the contributors - Used our images to link to our github repos for now

[ ] Introduction (About this App) - left blank for now

[x] Getting Started

[x] Tech Stack (Used clickable images vs text links)

[ ] How the App Works - Left a markup table with placeholder API

Also created: Research, Features, and Resources sections as placeholders.

Misc: Only other changes made in this branch was creating initial mock data for my errand component + moving data into the dummyData folder that Justin created under client/common

Screen shots of edited ReadME:

 Initial ReadME Setup


Remove shutdown hook in XMemcachedClient

Remove shutdown hook fixed to MemcachedClient cannot set value to server in system shutting down.

https://github.com/killme2008/xmemcached/commit/dbb5e97ebc409b826209683eb80f7d318ee0a6ca
Adds a new system env -Dxmemcached.shutdown.hook.enable=false to disable shutdown hook.
Thanks.


[explorer] - enable retries for the home/epochs query

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Current dependencies on/for this PR:

main

PR #11005   👈

This comment was auto-generated by Graphite.


Wrong response format after authentication success

Hello,
I have a problem on authentication, during a curl on the /login route, I sometimes get a response in text/html format, which also contains the credentials transmitted in json body...
For example :
curl --request POST \   --url http://xxxxxx/api/auth/credentials_login \   --header 'Content-Type: application/json' \   --data '{ 	"username": "test", 	"password": "test" }'
response :
HTTP/1.1 200 OK
Server: nginx/1.20.2
Date: Tue, 24 May 2022 12:31:21 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/8.1.5
{ 	"username": "test", 	"password": "test" }{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NTMzOTU0ODEsImV4cCI6MTY1MzM5OTA4MSwicm9sZXMiOlsiUk9MRV9JVEVNU19BRE1JTiIsIlJPTEVfVVNFUiJdLCJ1c2VybmFtZSI6IllERU0ifQ.KFOOHlGl98EUxJOQq5r5uJKejFrrN_CJVF0p1_JjTz0N3r823Y8bXekz-j7li-f9Fe5u-ii8TdYeXqPW-NKKW32qaBJgrDcupLeqLoWggERiMdp02VOYUZHR51lu5IM7ByieAsMVOj9TTiHt59jVl0fjdZQzBClBwSWvz9t3wwp7y_PDMmQ6vcJl88qLFnkfANkR1NFxy1EWHjlxZV2DAcPoG59t_LAbS6uDRMXjM6tBm-4K3fp-GJK1lLdeeaeXRi6c8IzZkWgY83S8kS1w-UzysKcQl-pnJDL4JoiFEGoYCzeck3lHGsdvD0sC4KCTZP0pCkzHWV01NEcdldnJrA","refresh_token":"92f1e6991537cc50411ead18f12e0c4c5021bf699d5f9c41d8310b3cd7b4ea9dd402a7a97bc8fc7f112201b60f818c877be0c0a4c150f3e7e16f1d7ff53b8fd1"}
I can't find anything in the logs, does anyone have an idea for a solution? thank you

Can't reproduce the error you mention above.
This is my terminal output
❯ curl -X POST -H "Content-Type: application/json" http://<IP_ADDRESS>:8003/api/login_check -d '{"username":"test1","password":"123456"}'
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NTM0NDI2NTUsImV4cCI6MTY1MzQ0NjI1NSwicm9sZXMiOltdLCJ1c2VybmFtZSI6InRlc3QxIn0.K0IVHuTN34sEy7sv3-sDgLV6KK-QzPG0uYA57am7VC-NPUknJIGQILq_kPYf1D54Q10Uce2pRQmGpL5JLPlJS_PiLJmc4ljko_wQ437t--3GeKFcaHdPfGpna7Z9ettLS035T_PqMmkd03NPYmi6uoBYWqVBNVwGOY-yb3hvM-pLCt6BlfDcscnzjOysWy1seUXSbUtofcl6Wh8-_rx83awWWQj4DaPhSOXKxfwcVmLfFutu2wxoQtDk3goS-NdbjzFtQGtwUNZ9DjzTv6wgy97ngmImBggOGkvQQM7M_cZtFZEAFQhU1cAr0ti8PM5Vig9bgi1qF_u1GNDiHBIsAA"}%

Yes, I am using the latest version.
I also receive a normal response half the time..
First response in json :
{ 	"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NTM0NTc0ODIsImV4cCI6MTY1MzQ2MTA4Miwicm9sZXMiOlsiUk9MRV9JVEVNU19BRE1JTiIsIlJPTEVfVVNFUiJdLCJ1c2VybmFtZSI6IllERU0ifQ.ZgDSC-mZ37MiUgioUkDHKaU1efIiXUchc6kUkyCgWdtruZsUF9kqor6zC3wCWD54RRFY-kOMmoqvHLlZYaEu9yJUrRL1LaNfxunu75ZOWawQDhnsWSNP51Ny0jJfkDmefkMJ1TGMAmIZM3Gvc-sdZ9ic0X-oG3RbRH0mU8ntNmz3Hi1uvtjxRsoft3Za-vrQLFlBAS-hYS30NBwNZDY2rFVbsIEfsJiETpDfewG0G7teXxyx6foAVr6MPtqtptR6IP_jt8oDhv2-0zPZocDEozz_Am1VlLtzOFGZ4vs9RJEq_7EQGbx-g6SXcMG3AIcKpWlE89WmoBg_ffwsp3DBlQ", 	"refresh_token": "55955d3f0aa8dd4b2b4a43a23a1180814e0b9dd9943ce647c58944811a531df4df4c59b1789925b1a8d30bc78c860bd0eab3a6ca68131aae5f69db5f7c5a490f" }
After x attempts in text/html :
{ "username": "test", "password": "test" }{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NTM0NTc3MzcsImV4cCI6MTY1MzQ2MTMzNywicm9sZXMiOlsiUk9MRV9JVEVNU19BRE1JTiIsIlJPTEVfVVNFUiJdLCJ1c2VybmFtZSI6IllERU0ifQ.Q7BBOcnZ2apRuSa3B9X-3IwVtu4X5JDFDVM4L1pxVLY9plNSTWmbl889oCGcUUEwacYmBxvOrcP7gVxFJ9OUeK_7gqLGHmaTFle8feWw2U-VS12mDoWQz6eZSYpTfyULzFNlT7_lw-Uf1dawkUamV7n2BLDlE9osTmuIyRjww_FMW26AH2V4jmHYec8Ng9dUYih8Akg-fflLashPambv_hUSIOKsvu5eLbiHfDTA75VAHGnEcKb9gaQFq5lk92dxb0E-p-gy5fOyPflBe4un7ySpXlO8vYkqKgCOJeLWklv9BoK0P_A-r4RSgud5oycqqZMAJuoo8OASS_8Iv9bNHg","refresh_token":"356abfcaafb6a9e4afb5932ff39f2cfbeb30fbb47c05d0636bc95dd523959d6162ff63f36c9efa6f227ffba69043641bae9569ee01dc1f026ac2b683c5a93f64"}
I don't understand .. :(

Yes, I use insomnia.
I tried with Curl, postman, insomnia and swagger ui

Yes, I use insomnia. I tried with Curl, postman, insomnia and swagger ui

Alright, is it possible for you to create a new repository and push your current project to there so we can clone and test it?

Ok, I just invited you on the repo, thank you in advance

Still can't reproduce the issue from curl and insomnia, can you provide some screenshot here for reference the issue?
And the response you provide from above are invalid json, this bundle will never return invalid json like that.

Yes, I am using the latest version. I also receive a normal response half the time..
After x attempts in text/html :
{ "username": "test", "password": "test" }{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2NTM0NTc3MzcsImV4cCI6MTY1MzQ2MTMzNywicm9sZXMiOlsiUk9MRV9JVEVNU19BRE1JTiIsIlJPTEVfVVNFUiJdLCJ1c2VybmFtZSI6IllERU0ifQ.Q7BBOcnZ2apRuSa3B9X-3IwVtu4X5JDFDVM4L1pxVLY9plNSTWmbl889oCGcUUEwacYmBxvOrcP7gVxFJ9OUeK_7gqLGHmaTFle8feWw2U-VS12mDoWQz6eZSYpTfyULzFNlT7_lw-Uf1dawkUamV7n2BLDlE9osTmuIyRjww_FMW26AH2V4jmHYec8Ng9dUYih8Akg-fflLashPambv_hUSIOKsvu5eLbiHfDTA75VAHGnEcKb9gaQFq5lk92dxb0E-p-gy5fOyPflBe4un7ySpXlO8vYkqKgCOJeLWklv9BoK0P_A-r4RSgud5oycqqZMAJuoo8OASS_8Iv9bNHg","refresh_token":"356abfcaafb6a9e4afb5932ff39f2cfbeb30fbb47c05d0636bc95dd523959d6162ff63f36c9efa6f227ffba69043641bae9569ee01dc1f026ac2b683c5a93f64"}
I don't understand .. :(

I just realized that if I restart my docker container, it works for several hours, this problem appears after an unknown period..

I just realized that if I restart my docker container, it works for several hours, this problem appears after an unknown period..

Then maybe it is docker issue. You can try non-docker approach like install apache2, php, mysql in your computer and test it without docker.
But I'm sure that this issue is somehow not really cause by the bundle.

Hello,
Indeed this problem is not caused by this bundle.
It was a port listening problem with docker.
Thanks for your help.

@ydem83 what did you change in your docker config?

Hello,
Same issue, sometimes the response is good
{token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2N…ayS5Is8XR_XpxCUuX4xHKLA7TpDbpLQGAdhCyZwPl3eRwdSdw}
sometimes the response looks like
{ "username": "username", "password": "password" }
{token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2N…ayS5Is8XR_XpxCUuX4xHKLA7TpDbpLQGAdhCyZwPl3eRwdSdw}
I know it's a docker problem but don't know how to resolve  it.....

@ikyoh I managed to fix the issue. When running docker on production and having port 9000 (the PHP-FPM container) exposed, some nasty things could happen. In my VPS a crypto miner installed itself by hooking into the PHP-FPM process, completely bypassing the web server. I discovered it was at 100% usage all the time via a monitoring tool. This was the miner making the VPS work hard. PHP-FPM started giving back these malformed responses because of this.
The reason why after restarting docker, it doesn't break for a while is because the miner doesn't start running instantly when you start up the docker containers.
I'd recommend building the images again after using docker-compose's networking feature to only expose the port to docker and not to the outside world.
version: '3.7'
services:
    db:
        image: mysql:latest
        environment:
            - MYSQL_ROOT_PASSWORD=docker
            - MYSQL_DATABASE=my_db
            - MYSQL_USER=symfony
            - MYSQL_PASSWORD=docker
        volumes:
            - ./docker/mysql:/var/lib/mysql
        networks:
            - my_network
    php:
        build: ./docker/php
        volumes:
            - './:/var/www/symfony:cached'
        networks:
            - my_network
    nginx:
        build: ./docker/nginx
        ports:
            - '80:80'
        volumes:
            - './:/var/www/symfony:cached'
        networks:
            - my_network
networks:
    my_network:


[skip ci] Initialize rbd pool at pool creation

When creating a RBD pool it needs to be initialized as per documentation[1] Modified (pre_)generate_ceph_cmd to make it usable with rbd command as well
[1]https://docs.ceph.com/en/latest/rbd/rados-rbd-cmds/#create-a-block-device-pool
Signed-off-by: Teoman ONAY<EMAIL_ADDRESS>

jenkins test centos-container-all_in_one

jenkins test centos-container-all_in_one

jenkins test centos-container-all_in_one

jenkins test centos-container-all_daemons

jenkins test centos-container-all_daemons


Docs don't say how to install; no readme on NPM page

First of all, thanks for the work on wouter! Love the simplicity.
I think the docs are missing something, namely a copy-pasteable code block that says
npm install wouter

that just makes it much more convenient when I want to install this package. Although I know the package is called wouter, I don't know if it's under some org (e.g. @kevin51jiang/wouter).

Also, on the NPM page it seems like it doesn't have a README, would be great if one could be added.

Added installation instructions to the README and fixed the build (because it's monorepo, the README file was in the root workspace package and not wouter). Thank you!


[SPARK-12101][CORE] Fix thread pools that cannot cache tasks in Worker and AppClient (backport 1.5)

backport #10108 to branch 1.5

Test build #47156 has started for   PR 10135 at commit 4be6a34.

Test build #47156 timed out     for PR 10135 at commit 4be6a34     after a configured wait of 175m.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/47156/
Test FAILed.

retest this please

Test build #47169 has started for   PR 10135 at commit 4be6a34.

Test build #47169 timed out     for PR 10135 at commit 4be6a34     after a configured wait of 175m.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/47169/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #47184 has started for   PR 10135 at commit 4be6a34.

Test build #47184 has finished for   PR 10135 at commit 4be6a34.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/47184/
Test PASSed.

Looks correct as a back-port of the other PR

CC @andrewor14

Merging to 1.5


If-423: fix average hours donut chart

Task linked: IF-423 Equipment Efficiency Dashboard - display avg. time in hours in specific state in donut chart


Tests: Model, Alert Messages

WIP.

Coverage increased (+0.4%) to 88.111% when pulling e8c0e736ed11c5c6170515b22bd83c73ee297eb9 on pingchan-tests into fc17b8172058f004e35bb63936e5308c4b66497f on master.

Coverage increased (+0.8%) to 89.589% when pulling 0f3b5b19a5b50c03a76df48b52eac0be0d42ed93 on pingchan-tests into c64cb7bb7fae923fba80f454e1da709fd97dccaf on master.

Coverage increased (+0.8%) to 89.589% when pulling 0f3b5b19a5b50c03a76df48b52eac0be0d42ed93 on pingchan-tests into c64cb7bb7fae923fba80f454e1da709fd97dccaf on master.

Coverage increased (+0.8%) to 89.732% when pulling e20692fea8d0b3a7768b8766007319e136e195dc on pingchan-tests into a9fb9918d8c500b818b00b6f35d084c20d0d1e55 on master.

Coverage increased (+1.0%) to 89.869% when pulling ae5db186b31ff3898c1b2b48ff9905a6150816c6 on pingchan-tests into a9fb9918d8c500b818b00b6f35d084c20d0d1e55 on master.

Coverage increased (+1.2%) to 90.033% when pulling 208e5dd3fd406df701a64809759dd366ababe158 on pingchan-tests into a9fb9918d8c500b818b00b6f35d084c20d0d1e55 on master.


Vue 3 Support

Hi, are there any plans for Vue 3 support?

@KingDoxik can you please elaborate? What is currently broken for Vue 3?

There were a lot of breaking changes in the Vue 3. In fact, many libraries/plugins are creating separate git repos for the ports eith -next suffix, e.g. vue-shepherd-next. Due to the new Composition API, you can't access this.$shepherd in the setup function. Nowdays, you use something like const tour = useShepherd(args). I could probably create a pr with Vue 3 support, but it wouldn't be backwards compatible. There is a migration guide for plugins: https://dev.to/alvarosaburido/how-to-migrate-your-library-from-vue2-to-vue3-1h81

@KingDoxik thanks for clearing that up. Seems like we probably should support Vue 3. I see there are a couple options though. We could use composition or not, it looks like. If we choose composition and expose a useShepherd what about users who do not use those APIs? Will they be unable to use this? Do we need to ship both ways somehow?

There are ways to use the this.$shepherd in Vue 3 as well, so it wouldn't change. The composition api is just an addition, but required for new Vue3 projects using Composition API. It should be documented in the article I posted before

I'm developing my new apps with Composition API (without any Component/Option API), and need shepherd in Composition API.

@KingDoxik if we support both composition and this.$shepherd I am fine with it not being backwards compatible with Vue 2. Would you like to open a PR?

one of the ways to support both vue2 & vue 3 can be via https://github.com/vueuse/vue-demi leaving this here in case that's helpful

If anyone wants to open a PR to support both, I would appreciate it!

any update?

If anyone would like to open a PR, that would be great! I do not know how to support Vue 3 and Vue 2 personally.

If I may intervene: please support Composition API for Vue3, it's far more readable...

@djcaesar9114 we still need to support Vue 2 as well. Open to PRs for anyone that wants to help support both

Really craving this for use on a project I'm upgrading from Vue2 - Vue3. Do we have any kind of ETA on this? Like mentioned above, vue-demi would be a great interim solution.

@titusdecali same response as above. I don't know how to support both, so someone please open a PR.

No one here knows how to support Vue 2 and Vue 3 in one library?

Hi guys, I've made a PR to support both Vue 2 and Vue 3
#99

Just released 2.0.0 which should support Vue 3. Please try it out!


kontena stack build uses -f for stackfile

kontena stack build -f other-kontena.yml
vs
kontena stack install other-kontena.yml
not consistent

The kontena stack build command is different from other commands, in that it requires the build context to be present locally, and thus only works with local kontena.yml files... you can't kontena stack build foouser/asdf from the stack registry. That would also expose you to local code execution from things like build hooks in untrusted stack files.

I would assume that kontena stack * to behave similarly.. I don't understand why the help says
    -f, --file FILE               Specify an alternate Kontena compose file (default: "kontena.yml")

and then it change the context to /tmp with:
cd myapp
kontena stack build -f /tmp/lol.yml
[....]
'/private/tmp' does not have Dockerfile

I can skip the build part (just use docker build), but then how do I push to the registry I've dynamically set in my kontena.yml (that's in /tmp) when kontena stack push doesn't exist and there is no kontena stack build --no-build

(I made a massive workaround for this by combining stack validate, --values-to, --values-from and temporary files)

I think what happens here is that the /tmp/lol.yml should have a full path in build: context: for it to work.
The build command does not seem to expand the build context relative to the path of the yml file:
        cmd << ['-f', File.join(File.expand_path(build_context), dockerfile)] if dockerfile != "Dockerfile"

This should probably be something like
File.expand_path(
  File.join(
    File.basename(input_filename), build_context, dockerfile
  )
) unless build_context.start_with?('/')`


Correct README Typo under Embedded Argo Apps Section

Update typo under "Embedded Argo Apps" section, Backstage bullet, "intalls" to "installs"

Thank you @ryanconley1 for the PR. can you please sign the DCO for this to get merged?

Closing this PR. Please feel free to reopen when you have time to work on this.


Deployment docs missing instructions for 1.3, 1.4 & 1.5

The deployment docs here only include instructions for 1.1 and 1.2.
Adding 1.3 and 1.4 would allow for ease in deploying to other networks!

updating to include 1.5 :)

The docs are now updated for v1.5 deployment, we only recommend using the latest version.


The DTWAIN_AcquireFile method occasionally returns false

When I call DTWAIN_AcquireFile, sometimes it fails to acquire. Here is the log，The issue might occur at line 36034.
dtwain.log
I'm not sure what the cause of the problem is, but I noticed that the thread ID changes at line 36032. I'm not certain if this is what's causing the issue.

dtwain5.log
In this log, the thread ID remains unchanged, yet acquisition still fails. Starting from line 39864, the device selection begins, and at line 40504, opening the data source fails.
Thank you!

What computer language are you using?  The log shows different thread ID's being used, and using DTWAIN across threads during one TWAIN session is not guaranteed to work, since TWAIN itself is not thread aware.
In dtwain.log, at the very end of the log, the call to DTWAIN_AcquireFile probably returns 0 due to VerifyHandles sees that the current thread (16868) does not match the thread you initially opened the session with (15032).
I tried to simulate your scenario using a very simple C++ program that calls DTWAIN_SysInitialize(), DTWAIN_AcquireFile(), DTWAIN_SysDestroy(), in a loop.  I could not duplicate your issue using C++.  So my initial suspicion is that you are using a language or environment that spawns multiple threads and DTWAIN is getting "confused" (let alone TWAIN itself).
If this is the case, it would be safer (if possible) to unload the entire DTWAIN.DLL from memory and reload it again for each time you are calling DTWAIN.  This way, the process attaches itself to a brand new instance of the DLL.

For dtwain5.log, there is a TWCC_NODS error when attempting to open the KODAK Scanner: E1xxx.  The TWCC_NODS is a TWAIN error to basically mean " Source Manager unable to find the specified Source." (this is mentioned in the TWAIN 2.5 specification).
As to this issue and the one with dtwain.log, can you run the DTWDEMO32U.exe program with no issues?  There are options to specify the source by name or select dialog.

Also, see Multithreading Issues.

I am using Golang, and the reason for DTWAIN calls appearing on different threads may be due to Golang's scheduling mechanism.
I'll try to deal with that.
dtwain-20241029-1.txt
Here is today’s log, and the issue still persists. First, I called MysherCameraTwain, and acquisition was successful. After completion, I attempted to switch the device to KODAK, but acquisition failed（line 23615）.
Following this sequence in the DTWDEMO32U.exe program does not cause any issues.
Thank you!

If the source is opened successfully using DTWDEMO32U.exe, then there is an issue that I cannot resolve with any certainty.
According to the log, the Kodak scanner is selected successfully.  Note that selecting a device and opening the device are two separate steps.  If the device can be selected but not opened, this indicates that there is something wrong occurring in the way the environment is communicating with the actual hardware.
Selecting a source by itself establishes that TWAIN has found the device's data source, and successfully queried it to establish a TWAIN identifier to associate with it (according to the log, the identifier is found in the TW_MEMREF starting at line 23658 of the log, which is Id=1292).
Opening the source (which is the second step) requires that the device actually is working properly and can be communicated with.  If there is an error in opening the source, then something in your environment is preventing this step from occurring.

What if you attempted to open the Kodak scanner first?  Does it open successfully?

If step 1) works correctly, what if you reversed the selection in your tests, i.e. select the Kodak scanner first, and then the MysherCameraTwain second?  Does the MysherCameraTwain device open successfully?

1.I tried unload the entire DTWAIN.DLL from memory and reload it again for each time. The problem still persists.
2.It's successfully open the KODAK scanner first, then open MysherCameraTwain. However, when I try to open the KODAK scanner again, the issue occurs.
I also tried restart the KODAK scanner, but it was still ineffective. If I want to use KODAK, I can only continue after restarting my application.
This issue is intermittent and does not occur every time.
This may not be a problem with DTWAIN，but I have no idea how to pinpoint the issue

When you use DTWDEMO32U.exe, can you do multiple scans with the Kodak scanner?  More specifically,

Open the Kodak scanner using the Twain select source dialog.
Scan one or more pages from the document feeder.
close the Kodak scanner user interface,
choose "Close Source" from the main menu to close out the Kodak source.
Select the Kodak source again from the "Select Source" dialog.

and repeat steps 2 to 4 multiple times without issues?
Also, is the Kodak model Alaris E1035?  I can possibly get this model to test (no guarantee that I can get this scanner), but need to make sure that the steps outlined above also fail (similar to your current application).

Following the steps you mentioned, I used DTWDEMO32U.exe to scan with the KODAK scanner ten times without any issues. Then, I used MysherCameraTwain to scan ten times, which also worked fine. Finally, I switched back to the KODAK scanner, and there were still no issues.
I am using the KODAK E1040 scanner.
I tried using TWAINDSM.DLL, but the problem still persists.
I don't have much knowledge about TWAIN, and I might need to spend some time learning about it.
Thank you!

When I select the device name "KODAK Scanner: E1xxx," I get the message: -2500 Could not open TWAIN source - "KODAK Scanner: E1xxx."  However, when I select "WIA-KODAK E1040 Scanner," I can perform the scan successfully.

This looks like an issue with the Kodak TWAIN driver itself.  The WIA driver is actually a WIA bridge to TWAIN that is provided by Microsoft.  Usually there are issues with WIA, but in your case, the WIA driver is working, but not the "pure" TWAIN driver provided by Kodak (at least in your Go environment).
Since you did not have an issue with DTWDEMO32U, the only conclusion I can come up with is that the Kodak driver does not behave correctly when encountering an environment that spawns threads.
If you are using the "Select Source" dialog, what you can do is exclude the bad driver from the Select Source dialog by creating your own dialog and filtering out the name when displaying the list of available sources, or use the undocumented DTWAIN_SelectSource2Ex function:
DTWAIN_SOURCE DLLENTRY_DEF DTWAIN_SelectSource2Ex(HWND hWndParent,
                                                  LPCTSTR szTitle,
                                                  LONG xPos,
                                                  LONG yPos,
                                                  LPCTSTR szIncludeFilter,
                                                  LPCTSTR szExcludeFilter,
                                                  LPCTSTR szNameMapping,
                                                  LONG nOptions)

The szExcludeFilter would be a string that consists of the product name "Kodak Scanner: E1xxx".  The szIncludeFilter would be NULL, and the szNameMapping would be NULL.  Otherwise this function works the same as DTWAIN_SelectSource2.


Optimize manifold calculations

Enhance the manifold calculation by optimizing it for speed.

Contact manifolds are calculated and recalculated lots in Box2D so their optimization is an ongoing interest. I've moved development of my fork of Box2D over to its own repo now though of PlayRho so if you're interested, please follow the evolution of this code there from here on out. Thanks!


Why addListeners not use proxied bean but use original bean?

as shown in SpringAnnotationScanner.java:
@Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        if (originalBeanClass != null) {
            socketIOServer.addListeners(originalBean, originalBeanClass);
            log.info("{} bean listeners added", originalBeanName);
            originalBeanClass = null;
            originalBeanName = null;
        }
        return bean;
    }

what if I changed it to use bean instead of originalBean

since originalBean doesn't have proxies.


Remove node override selection ranges

Motivation
Part of #1072
Since we're already going to have to change the implementation on selection range, I think it's worth matching what the specification and make selection ranges match the AST exactly.
This simplifies the request and better conforms to the spec.
Implementation
Since we can't override visit anymore, it's not possible to implement this request with a visitor unfortunately. We use a queueing mechanism instead where we keep track of the current node and its parent and push ranges for all of the nodes
Automated Tests
Fixed the tests to match the new behaviour.

BTW, since this conforms the spec better, maybe it categorises as a fix?


Advanced git grep with large repositories

Info

Operating System: Linux
Shell: zsh
Terminal: Alacritty
nvim --version: 0.8.2
fzf --version: 0.35.1

Sorry for asking here, feel free to close if inappropriate. I'm running the example from here which backs my work tremendously, though I found an edge case where it, or rather sh, fails with sh: line 1: /usr/bin/git: Argument list too long.
To repro, clone gcc from https://sourceware.org/git/gcc.git and checkout releases/gcc-12.
As far as I investigated, the command fails due to the repo being to large returning to many refs and then sh fail with too many args. Unfortunately I also fail to find any workaround. I'd much appreciate any hint how to get git live grep working even for large repos.

Ty for the report, I will look into it.
As a temp workaround, if all you’re interested is live grep (and not commit history), why aren’t you using live_grep directly or live_grep({ cmd = "git grep --line-number --column --color=always <query>" })?

I don't use git grep directly because I'm interested in the commit history here :)

I don't use git grep directly because I'm interested in the commit history here.
Thanks for looking into it :)

I see :)
The solution will have to come from an alternative to the command as this is “out of the hands” of fzf-lua, sh seems to be unable to handle the amount of commits returned by $(git rev-list --all).

It's a bit embarrassing I didn't found that stackoverflow question, but setting the cmd to git rev-list --all | xargs git grep --line-number --column --color=always <query> works perfectly here.
Maybe that's a good candidate for the docs as a more generic approach?


HDFS-17687. RPC DeferredMetrics bugfix.

Description of PR
In ProtobufRpcEngine2 and ProtobufRpcEngine, we should use Time.monotonicNow() to calculate duration rather than Time.Now().

@hfutatzhanghb Hi, thanks for your contribution, change to Hadoop's prefix, because the modification is for the common package.

@hfutatzhanghb Hi, thanks for your contribution, change to Hadoop's prefix, because the modification is for the common package.

Got it.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 53s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ HDFS-17531 Compile Tests _

+1 :green_heart:
mvninstall
43m  2s

HDFS-17531 passed

+1 :green_heart:
compile
16m 31s

HDFS-17531 passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
compile
15m  2s

HDFS-17531 passed with JDK Private Build-1.8.0_432-8u432-ga~us1-0ubuntu2~20.04-ga

+1 :green_heart:
checkstyle
1m 19s

HDFS-17531 passed

+1 :green_heart:
mvnsite
1m 37s

HDFS-17531 passed

+1 :green_heart:
javadoc
1m 16s

HDFS-17531 passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
javadoc
0m 51s

HDFS-17531 passed with JDK Private Build-1.8.0_432-8u432-ga~us1-0ubuntu2~20.04-ga

+1 :green_heart:
spotbugs
2m 29s

HDFS-17531 passed

+1 :green_heart:
shadedclient
34m 41s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 54s

the patch passed

+1 :green_heart:
compile
15m 48s

the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
javac
15m 48s

the patch passed

+1 :green_heart:
compile
15m  4s

the patch passed with JDK Private Build-1.8.0_432-8u432-ga~us1-0ubuntu2~20.04-ga

+1 :green_heart:
javac
15m  4s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 12s

the patch passed

+1 :green_heart:
mvnsite
1m 36s

the patch passed

+1 :green_heart:
javadoc
1m 12s

the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04

+1 :green_heart:
javadoc
0m 53s

the patch passed with JDK Private Build-1.8.0_432-8u432-ga~us1-0ubuntu2~20.04-ga

+1 :green_heart:
spotbugs
2m 39s

the patch passed

+1 :green_heart:
shadedclient
35m  7s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
19m 44s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m  3s

The patch does not generate ASF License warnings.

213m 55s

Subsystem
Report/Notes

Docker
ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7219/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/7219

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 1e9398c7e3c8 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
HDFS-17531 / 22bc26f4ccad20664920908423188f496c192c9f

Default Java
Private Build-1.8.0_432-8u432-ga~us1-0ubuntu2~20.04-ga

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-ga~us1-0ubuntu2~20.04-ga

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7219/1/testReport/

Max. process+thread count
3154 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7219/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Update Rust crate wee_alloc to 0.4.0

This PR contains the following updates:

Package
Type
Update
Change

wee_alloc
dependencies
patch
0.4.2 -> 0.4.0

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

PR has been edited
:construction_worker: This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.