jest --watch hangs silently if moduleNameMapper cannot locate module

Bug
jest --watch was getting stuck at Determining test suites to run... and stopped doing anything.
I started debugging ResolveDependencies.resolver.getMockModule inside the jest-resolve package and noticed nothing was getting logged after it was called with a dependency path that failed to map. I fixed the issue by creating the missing files - but tracking down this bug took much longer than it should & it'd have been great to see a helpful error (issues others encountered related to watchman turned out to be red herrings).
  return compact(
      dependencies.map((dependency, i) => {
        console.log(52, i)
        if (this._resolver.isCoreModule(dependency)) {
          return null
        }
        console.log(53, i)
        try {
          return this._resolver.resolveModule(file, dependency, options)
        } catch (e) {}
        console.log(54, file, dependency)
        const mock = this._resolver.getMockModule(file, dependency) || null
        // NEVER LOGGED!! (for files that don't map)
        console.log(55, mock)
        return mock
      })
    )

Expected behavior
I should have seen this error when running jest --watch:
Configuration error:

Could not locate module meteor/raix:eventemitter (mapped as /home/ashton/code/beyond/packages/beyond/private/mocks/meteor/raix_eventemitter)

Please check:

"moduleNameMapper": {
  "/^meteor\/([\w-]+):([\w-]+)$/": "/home/ashton/code/beyond/packages/beyond/private/mocks/meteor/$1_$2"
},
"resolver": undefined

Config + details

Jest 21.0.2
Node 8.5.0
NPM 4.6.1
Ubuntu 16.04

Issue not encountered at all when using --watchAll
My colleagues are using Ubuntu 17.10 & MacOS Sierra but they didn't encounter this issue (or see any related issues).
I think the tests which relied on unmocked meteor libraries were skipped (explaining the apparent lack of errors in some circumstances).

Do you mind trying this with jest@test to see if this is better now?

My directory structure is like
.git/
packages/
  beyond/
    server/
    client/
    package.json
    ...etc

When running jest --watch inside /packages/beyond with jest@test I now get the following error (we have slightly different jest configs for some projects & this made adopting the multi-project stuff more intimidating):
--watch is not supported without git/hg, please use --watchAll

Oh, after upgrading to 21, --watch doesn't use .git from higher-level folders. Like, intentionally? (should use lowest .git available). That's a separate issue though. Will retry @test with jest-friendly packages later (> a few weeks).

Not directly related, but I have the problem where Jest gets stuck determining test suites to run all the time. I think typically import/export declaration mutations from sloppy Git merges are at fault, which would make this consistent with a dependency that failed to resolve. What's the easiest way to debug this since without a hard failure I don't get any indication of 'where' the fail occurs?

Have you tried going to node_modules/jest-resolve/build/index.js, and adding console.error(error) before every line that says throw error?

@ashtonsix Sweet - that works perfectly. Thank you!

Having same problems when specifying items under moduleNameMapper.  e.g.
"moduleNameMapper": {
      "^components/(.*)": "<rootDir>/src/components/$1"
}

I solved the problem by deleting the directory .vscode in my root.

It's hard to test it without a downloadable repro. Can you provide one?

FWIW, I was encountering this as well.  I expanded the console logging to be:
console.log(updatedName, {
              basedir: dirname,
              browser: this._options.browser,
              extensions,
              moduleDirectory,
              paths,
              resolver,
              rootDir: this._options.rootDir }, error);

In doing this I noticed that basedir referred to a path that pertained to a coverage folder that was created by karma (I'm in the process of migrating to jest).  I deleted coverage and jest --watch worked.  At least in my case, it appears jest was consuming karma's coverage folder and some bit of content in it led to a module resolution attempt.  This does not occur if I have multiple coverage directories created by jest.

@ashtonsix Thanks, your suggestion helped me pinpoint the issue (in my case I had to add some submodules to modulePathIgnorePatterns) 👍
@thymikee With these steps multiple people could repro, but 1 person wasn’t, so there’s something additionally different in their env. There’s a good chance you’d be able to repro it, though, so if you checkout our repo at https://github.com/artsy/emission/commit/50381388e146cbb9c61a7f9da14059107a4279d1, then perform these steps:

yarn install
yarn jest --watch works fine.
Checkout submodules git submodule update --init
yarn jest --watch hangs on “Determining test suites to run...”
Hot-patch jest as per @ashtonsix’s suggestion.
Run yarn jest --watch again and see an error like:Error: Configuration error:

Could not locate module lib/loaders/legacy/gravity (mapped as /Users/eloy/Code/Artsy/emission/src/lib/loaders/legacy/gravity)

Please check:

"moduleNameMapper": {
  "/^lib\/(.*)/": "/Users/eloy/Code/Artsy/emission/src/lib/$1"
},
"resolver": undefined]

Add "modulePathIgnorePatterns": ["<rootDir>/externals"] to jest config in package.json.
Run yarn jest --watch again and notice it works fine now.

Thanks @alloy, I'll have a look

I can definitely repro that, still no idea what's the case :D

FWIW, I followed the suggested comment #4883 as well to log resolver errors to the console. I noticed in the logs the test runner was loading some legacy modules in my project that I thought I had deleted during a refactor that were trying to import other modules that had actually been deleted.
This was causing a "Module not found" error. Deleting any old files that were attempting to import non-existing files fixed the issue for me.

@ashtonsix  thanks!
It was picking up code in a vscode plugin under the .history directory. Code I was working on in a different branch and which didn't exist in the current one.
It only seems to look in .history when using --watch. I could not configure jest to ignore .history when using watch - but deleting .history did the trick.
P.S. I tried using the following to configure jest with no luck:
//   testPathIgnorePatterns: ["<rootDir>/node_modules/", "<rootDir>/.history/"],
//   "coveragePathIgnorePatterns": ["<rootDir>/node_modules/", "<rootDir>/.history/"],
  "coveragePathIgnorePatterns": ["/node_modules/", "/.history/"],

@justin-calleja I'm having the same issue. Have you figured out how to configure jest to correct it? I'd like to avoid moving my .history out of my project directory if possible.

@swcisel nope sorry. I deleted my .history. I don't really use it. It wasn't worth playing around with jest to get it to ignore .history. AFAIC, this is a bug in jest's watch mode - I don't see why I should configure it to ignore hidden directories - why would I put tests in hidden directories!?

This should be fixed by https://github.com/facebook/jest/pull/6407. Please let me know otherwise

It is great that I could know why my --watch hangs, but I'm curious why my mapped module could not be located under watch mode but works well under watchAll mode. Could anyone give me a hint?

Same question as @KagamiChan.  I have deleted a module physically.  If I try to search for that module, it's not in my source code.  Does --watch remember the the old mappings?  Is there a way to clean up any cache it might have?

Here is how I fixed the watch mode: https://github.com/facebook/jest/issues/6025#issuecomment-411601795

same issue here...
$ node scripts/test.js --env=jsdom --watchAll --notify
working well
$ node scripts/test.js --env=jsdom --coverage --notify
working well
$ node scripts/test.js --env=jsdom --notify
FAIL
Configuration error:
Could not locate module @/types/i18next mapped as:
/Projects/web-gui/src/types/i18next.
Please check your configuration for these entries:
{
"moduleNameMapper": {
"/^@/(.*)/": "/Projects/web-gui/src/$1"
},
"resolver": null
}
I tested it with the latest JEST 23.5.0

I've just encountered the problem. Only happens in watch mode, but watchAll works fine. It complains about a module that has been removed. Running grep -irl <moduleName> <scriptsDir> shows no results. I also tried running with --no-cache with no luck.
Version info:
"jest": "^23.6.0",
"ts-jest": "^22.4.6",

Did you delete the test coverage folder?

Huh.  I was messing with another problem earlier and was just nuking lock files, node_modules and my build folder, and never went back to check this particular problem. But I bet that was it.

I've identified this to be a configuration issue. We didn't have rootDir so Jest was looking from the root directory and was picking up /build directory. Removing directory solved it, but the proper solution is to specify rootDir option and point it to src/ directory of your project.

I'm seeing this with create-react-app, where rootDir is correctly set. Could also have something to do with the fact that we're using TypeScript, and the file jest is complaining about is a .d.ts file.

I'm having this issue now.
Here is the error after injecting some console.error statements:
Error: Cannot find module 'jest-environment-/fm/fm-api/tests/setup/mongo-environment.js' from '/fm/fm-api'
    at resolveSync (/fm/fm-api/node_modules/jest-resolve/build/defaultResolver.js:119:15)
    at defaultResolver (/fm/fm-api/node_modules/jest-resolve/build/defaultResolver.js:71:10)
    at Function.findNodeModule (/fm/fm-api/node_modules/jest-resolve/build/index.js:112:14)
    at resolveWithPrefix (/fm/fm-api/node_modules/jest-config/build/utils.js:158:39)
    at getTestEnvironment (/fm/fm-api/node_modules/jest-config/build/utils.js:204:3)
    at normalize (/fm/fm-api/node_modules/jest-config/build/normalize.js:569:59)
    at readConfig (/fm/fm-api/node_modules/jest-config/build/index.js:163:46)
    at readConfigs (/fm/fm-api/node_modules/jest-config/build/index.js:372:26)
    at /fm/fm-api/node_modules/@jest/core/build/cli/index.js:155:58
    at Generator.next (<anonymous>) {
  code: 'MODULE_NOT_FOUND'
}
Error: Cannot find module 'jest-sequencer-@jest/test-sequencer' from '/fm/fm-api'
    at resolveSync (/fm/fm-api/node_modules/jest-resolve/build/defaultResolver.js:119:15)
    at defaultResolver (/fm/fm-api/node_modules/jest-resolve/build/defaultResolver.js:71:10)
    at Function.findNodeModule (/fm/fm-api/node_modules/jest-resolve/build/index.js:112:14)
    at resolveWithPrefix (/fm/fm-api/node_modules/jest-config/build/utils.js:158:39)
    at getSequencer (/fm/fm-api/node_modules/jest-config/build/utils.js:262:3)
    at normalize (/fm/fm-api/node_modules/jest-config/build/normalize.js:1012:54)
    at readConfig (/fm/fm-api/node_modules/jest-config/build/index.js:163:46)
    at readConfigs (/fm/fm-api/node_modules/jest-config/build/index.js:372:26)
    at /fm/fm-api/node_modules/@jest/core/build/cli/index.js:155:58
    at Generator.next (<anonymous>) {
  code: 'MODULE_NOT_FOUND'
}

It looks like Jest is replacing parts of the module names with other modules or paths.
Any ideas?
uname -a
Linux dev 4.19.0-5-amd64 #1 SMP Debian 4.19.37-2 (2019-05-14) x86_64 GNU/Linux

@grantcarthew if you can create a repo with a minimal repro we can download, feel free to create a new issue

Hi @thymikee, it is a private project so I can't really upload it to a public repository.
This is still an issue and is becoming more so.
At home I run a desktop with Debian Unstable. This was the first machine I saw the issue. I just upgraded my dev virtual machine on my laptop to Debian Buster. It now has the same issue. It looks like it is an issue with Buster and my setup.
Buster was released on the 4th July, so it is only new.

I tried removing the --watch parameter and now it writes Determining test suites to run... then just returns to the console prompt.

I've found the cause.
In my global setup the call to await mongod.start() is not returning.

I've raised an issue with the mongodb-memory-server repo: https://github.com/nodkz/mongodb-memory-server/issues/204
Thanks for your hard work everyone.

Bug
jest --watch was getting stuck at Determining test suites to run... and stopped doing anything.
I started debugging ResolveDependencies.resolver.getMockModule inside the jest-resolve package and noticed nothing was getting logged after it was called with a dependency path that failed to map. I fixed the issue by creating the missing files - but tracking down this bug took much longer than it should & it'd have been great to see a helpful error (issues others encountered related to watchman turned out to be red herrings).
  return compact(
      dependencies.map((dependency, i) => {
        console.log(52, i)
        if (this._resolver.isCoreModule(dependency)) {
          return null
        }
        console.log(53, i)
        try {
          return this._resolver.resolveModule(file, dependency, options)
        } catch (e) {}
        console.log(54, file, dependency)
        const mock = this._resolver.getMockModule(file, dependency) || null
        // NEVER LOGGED!! (for files that don't map)
        console.log(55, mock)
        return mock
      })
    )

Expected behavior
I should have seen this error when running jest --watch:
Configuration error:

Could not locate module meteor/raix:eventemitter (mapped as /home/ashton/code/beyond/packages/beyond/private/mocks/meteor/raix_eventemitter)

Please check:

"moduleNameMapper": {
  "/^meteor\/([\w-]+):([\w-]+)$/": "/home/ashton/code/beyond/packages/beyond/private/mocks/meteor/$1_$2"
},
"resolver": undefined

Config + details

Jest 21.0.2
Node 8.5.0
NPM 4.6.1
Ubuntu 16.04

Issue not encountered at all when using --watchAll
My colleagues are using Ubuntu 17.10 & MacOS Sierra but they didn't encounter this issue (or see any related issues).
I think the tests which relied on unmocked meteor libraries were skipped (explaining the apparent lack of errors in some circumstances).

for me the error message reveals itself after I moved a .ts file to another directory.
However run jest without watch mode runs successfully

Could you try going to node_modules/jest-resolve/build/index.js, and adding console.error(error) before every line that says throw error?

Okay, I just added console.error and found a ModuleNotFoundError, but I wanted to ask:
Why does Jest hang instead of crashing? Swallowing errors doesn't seem like a good idea IMHO.

For me, jest started hanging after moving converting the option testResultsProcessor to the option reporters.
Reverting this change fixed the issue...


Add a CONTRIBUTING page

Source of inspiration: https://github.com/eclipse/che-docs/blob/master/CONTRIBUTING.adoc

JIRA: https://issues.redhat.com/browse/RHDEVDOCS-2559

JIRA: https://issues.redhat.com/browse/RHDEVDOCS-2559

Update/maintenance policy:

nightly: no guarantee; may break your apps and eat your breakfast
current: active maintenance, improvements, and bugfixes
current - n:

P1 & P2 bugfixes (and bugfix backports from 'current')
P3 bugfixes - best-effort only
no formatting and/or language updates/fixes or backports

Update/maintenance policy:

nightly: no guarantee; may break your apps and eat your breakfast
current: active maintenance, improvements, and bugfixes
current - n:

P1 & P2 bugfixes (and bugfix backports from 'current')
P3 bugfixes - best-effort only
no formatting and/or language updates/fixes or backports

@schultzp2020  I think we can close this?

No longer needed


unnable to build on linux

after running cmake .. in the build directory no then running make -j4 it crashes stating
[  0%] Built target Half
[  3%] Built target Iex
[  3%] Built target clip
[ 10%] Built target glfw_objects
[ 12%] Built target IexMath
[ 17%] Built target IlmThread
[ 35%] Built target nanogui
[ 39%] Built target Imath
[ 83%] Built target IlmImf
[ 85%] Building CXX object CMakeFiles/tev.dir/src/imageio/ClipboardImageLoader.cpp.o
[ 85%] Building CXX object CMakeFiles/tev.dir/src/imageio/EmptyImageLoader.cpp.o
[ 85%] Building CXX object CMakeFiles/tev.dir/src/imageio/ExrImageSaver.cpp.o
[ 85%] Building CXX object CMakeFiles/tev.dir/src/imageio/ExrImageLoader.cpp.o
c++: error: unrecognized command line option ‘-fcoroutines’
c++: error: unrecognized command line option ‘-fcoroutines’
make[2]: *** [CMakeFiles/tev.dir/build.make:63: CMakeFiles/tev.dir/src/imageio/ClipboardImageLoader.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/tev.dir/build.make:76: CMakeFiles/tev.dir/src/imageio/EmptyImageLoader.cpp.o] Error 1
c++: error: unrecognized command line option ‘-fcoroutines’
c++: error: unrecognized command line option ‘-fcoroutines’
make[2]: *** [CMakeFiles/tev.dir/build.make:89: CMakeFiles/tev.dir/src/imageio/ExrImageLoader.cpp.o] Error 1
make[2]: *** [CMakeFiles/tev.dir/build.make:102: CMakeFiles/tev.dir/src/imageio/ExrImageSaver.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:786: CMakeFiles/tev.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

Hi there, I suspect your compiler does not yet support C++20 coroutines, a feature that the latest version of tev requires.
You could try upgrading your compiler, or, if that's not an option, fetch the commit tagged cpp17 to obtain an older version of tev that only requires a C++17-capable compiler.
Cheers!

I do believe my c compiler supports c++20 as it is the latest avaliable gcc (g++) to be specific

That's not very specific, actually. Specific would be a version number, which you can get via g++ --version.
The latest available version varies significantly by distro, to the point where some long-term-release distros ship multiple years old compilers.

running g++ --version outputs
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

That looks to be the issue. You need at least gcc 10 for coroutine support. See the "coroutines" entry in the compatibility chart.
Cheers!


Need some timezone support.

After banging my head for a while, I realised the Docker images timezone was not synced to my local one.
Fixed it with adding the following to Dockerfile
ENV TZ=Australia/Perth
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

I didn't add a pull request, as I thought you would rather add functionality in the python script and allow timezones to be set in config.py

@robmarkoski thanks for raising this issue and for using Phototimer
In practice I found that changing the TZ variable via Docker is enough to get the correct time.
docker run ... -e TZ=Europe/London ...

The supporting blog post had an update for this too. http://blog.alexellis.io/tag/picamera/


Add equations for gray radiation

Purpose

Closes #329
To-do

Content

[ ] I have read and checked the items on the review checklist.

@tapios Could you take a look when you have time? Thanks.

Please have a look at the 2004 paper (and the one with Paul in 2008 for shortwave) and correct the documentation where needed (for optical depth).

Right, the optical depth in the code is actually d \tau / dp * \Delta p. I don't know why, but maybe this gives more accurate results when you integrate in RTE? Would you like me to have the actual analytical optical depth in the docs (but it will be different from the code)?

It's not optical depth (probably transmissivity).

We call it optical depth here. Should we change it then?

Probably good to make accurate. Pls check what RRTMG does.

RRTMGP calls it optical depth too (Note they don't have gray radiation). From the RTE it seems to be the optical depth of the layer. I don't know if there is a better name for it?

Actually I think optical thickness makes sense.

Maybe call it layerwise optical thickness or something like it, to make sure it's a differential optical thickness in a layer.

Ok, I'll update this documentation first, then update the comment in the code

@tapios Would you mind reviewing it again? Thanks.

bors r+


fix: make sure report page is loaded before taking and verifying bulk action

closes #188
run both bulk delete and bulk edit tests 10 times in a row locally without failure after making changes.

Merging this because the failures are due to trying to run 'plus line' tests multiple times concurrently when the name used for the underlying app is non-unique.


Correct Ubuntu distributions and signature

Corrects the error with the Ubuntu distribution names being incorrect.
Simplifies the command to add repository.
Corrects the certificate thumbprint.

@valdearg : Thanks for your contribution! The author, @seguler, has been notified to review your proposed change.

@seguler - If you decide to merge this, you'll probably need to pull the changes across to the private repo and resolve the merge conflict to integrate the changes (instructions).


How to access individual DPU core of VCK5000 for multi video output

Hi, As far as I know VCK5000 has a 8 core DPU, is it possible that each particular core can be accessed individually so that separate input and output can be extracted from it using the Python VART API?

Hi @tiny-dentist ,
For an 8-core DPU, you can set batchSize=8, so that each start of the DPU operation can calculate 8 inputs and get 8 outputs. For example, prepare multiple inputs in a VART sample. You can get the input and output of each specific core by index.
It should be noted that 8 cores can only be started at the same time, and run the same model. It's just that each specific core has its own input and output.

Hi @tiny-dentist ,
Is there any update to this issue? thanks


start before docker.service

AzureFile volume driver should start before docker.
The reason is when using docker run --restart with the volume driver, auto restart will failed because the driver is not available until docker started.
Changing the .service file, as following works:
After=nfs-utils.service docker.service to
Before=nfs-utils.service docker.service

@awyl thanks for reporting this. In my tests with docker 1.10 or above, I noticed no difference between before/after and I kind of remember asking about this on #docker-dev IRC channel. Folks did not seem to have a consensus, because normally Docker retries any plugin communication for 30 seconds (and during that time, containers with --restart=always should be blocked from starting until the plugin is reachable).
Do you have any logs about these containers failed to start? Also what version of docker-engine are you running?
In any case if we were to take the change, we should probably keep After=nfs-utils.service and separate Before=docker.service.

Sorry I am not very familiar with Linux and Docker.  Where can I look for the logs?
I am using Docker on Ubuntu image on Azure.  Ubuntu 15.10 and Docker is 1.11.1.
Where I saw the "could not start" message was from "systemctl status docker.service".  It said the volume cannot be found.
I am sure that after boot the container has not been started after a long time while I was looking for reasons.

@awyl can you try sudo journalctl -u docker.service?

I cannot get journalctl to show the full line.  So I try again with systemctl:
May 06 00:54:06 docker01 docker[666]: .time="2016-05-06T00:54:06.607288800Z" level=warning msg="Unable to locate plugin: azurefile, retrying in 1s"
May 06 00:54:07 docker01 docker[666]: time="2016-05-06T00:54:07.607475100Z" level=warning msg="Unable to locate plugin: azurefile, retrying in 2s"
May 06 00:54:09 docker01 docker[666]: time="2016-05-06T00:54:09.612964300Z" level=warning msg="Unable to locate plugin: azurefile, retrying in 4s"
May 06 00:54:13 docker01 docker[666]: time="2016-05-06T00:54:13.613335400Z" level=warning msg="Unable to locate plugin: azurefile, retrying in 8s"
May 06 00:54:21 docker01 docker[666]: time="2016-05-06T00:54:21.905119000Z" level=error msg="Failed to start container 21da2ff86d0576708eec1be475d5a467f9357fc228edbc0913084b48f6263f15: get servernginx: Error looking up volume plugin azurefile: plugin not found"
May 06 00:54:21 docker01 docker[666]: time="2016-05-06T00:54:21.905581600Z" level=info msg="Loading containers: done."
May 06 00:54:21 docker01 docker[666]: time="2016-05-06T00:54:21.905792200Z" level=info msg="Daemon has completed initialization"
May 06 00:54:21 docker01 docker[666]: time="2016-05-06T00:54:21.905987900Z" level=info msg="Docker daemon" commit=5604cbe graphdriver=aufs version=1.11.1
May 06 00:54:21 docker01 systemd[1]: Started Docker Application Container Engine.
May 06 00:54:21 docker01 docker[666]: time="2016-05-06T00:54:21.931319900Z" level=info msg="API listen on /var/run/docker.sock"
So it did retry and fail.

@awyl oh interesting, it appears like it is not starting docker engine until loading all its previous containers. This behavior might have been changed lately. We should fix the .service unit file. Thanks for reporting!

@awyl has doing
 After=nfs-utils.service
 Before=docker.service

fixed the problem for you?

Yes it does.  This is what I currently have.

@awyl thanks for confirming. I'm submitting a fix.


Installation error

When I try to install on pure Laravel 10x, the following error appears:

I use PHP 8.2, MariaDB 10.6.12

Try commenting line 45
// $table->index(['reference_type', 'reference_id']);
in
2020_00_02_000002_create_inventories_table.php

doesn't work

Can you share your whole package.jsonfile ?

it should look like this
{     "name": "laravel/laravel",     "type": "project",     "description": "The skeleton application for the Laravel framework.",     "keywords": ["laravel", "framework"],     "license": "MIT",     "require": {         "php": "^8.1",         "guzzlehttp/guzzle": "^7.2",         "laravel/framework": "^10.10",         "laravel/sanctum": "^3.2",         "laravel/tinker": "^2.8",         "shopper/framework": "^2.0@beta"     },     "require-dev": {         "fakerphp/faker": "^1.9.1",         "laravel/pint": "^1.0",         "laravel/sail": "^1.18",         "mockery/mockery": "^1.4.4",         "nunomaduro/collision": "^7.0",         "phpunit/phpunit": "^10.1",         "spatie/laravel-ignition": "^2.0"     },     "autoload": {         "psr-4": {             "App\\": "app/",             "Database\\Factories\\": "database/factories/",             "Database\\Seeders\\": "database/seeders/"         }     },     "autoload-dev": {         "psr-4": {             "Tests\\": "tests/"         }     },     "scripts": {         "post-autoload-dump": [             "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",             "@php artisan package:discover --ansi"         ],         "post-update-cmd": [             "@php artisan vendor:publish --tag=laravel-assets --ansi --force"         ],         "post-root-package-install": [             "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""         ],         "post-create-project-cmd": [             "@php artisan key:generate --ansi"         ]     },     "extra": {         "laravel": {             "dont-discover": []         }     },     "config": {         "optimize-autoloader": true,         "preferred-install": "dist",         "sort-packages": true,         "allow-plugins": {             "pestphp/pest-plugin": true,             "php-http/discovery": true         }     },     "minimum-stability": "dev",     "prefer-stable": true }

Can you share your whole composer.json

YES
{
"name": "laravel/laravel",
"type": "project",
"description": "The skeleton application for the Laravel framework.",
"keywords": ["laravel", "framework"],
"license": "MIT",
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": "^8.1",
"guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^10.10",
"laravel/sanctum": "^3.2",
"laravel/tinker": "^2.8",
"lunarphp/lunar": "^0.6.1"
},
"require-dev": {
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.18",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^7.0",
"phpunit/phpunit": "^10.1",
"spatie/laravel-ignition": "^2.0"
},
"autoload": {
"psr-4": {
"App\": "app/",
"Database\Factories\": "database/factories/",
"Database\Seeders\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
"scripts": {
"post-autoload-dump": [
"Illuminate\Foundation\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
],
"post-root-package-install": [
"@php -r "file_exists('.env') || copy('.env.example', '.env');""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"allow-plugins": {
"pestphp/pest-plugin": true,
"php-http/discovery": true
}
},
"minimum-stability": "stable",
"prefer-stable": true
}

doesn't work

Here's my variant of installing Shopper on Laravel 10.x:
composer create-project laravel/laravel my-app
php artisan config:clear

Next, in the composer.json file of the Laravel project, change the minimum-stability from "stable" to "dev".
Next, execute the commands:
composer require shopper/framework --with-all-dependencies
composer update

Next make sure to create a new database and add your database credentials to your .env file, you will also want to add your application URL in the APP_URL variable.
Next, navigate to the file /vendor/shopper/core/database/migrations/2020_00_02_000002_create_inventories_table.php and replace its contents with the following code:
<?php

declare(strict_types=1);

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Shopper\Core\Helpers\Migration;

return new class() extends Migration
{
    public function up(): void
    {
        Schema::create($this->getTableName('inventories'), function (Blueprint $table): void {
            $this->addCommonFields($table);

            $table->string('name');
            $table->string('code')->unique();
            $table->text('description')->nullable();
            $table->string('email')->unique();
            $table->string('street_address');
            $table->string('street_address_plus')->nullable();
            $table->string('zipcode');
            $table->string('city');
            $table->string('phone_number')->nullable();
            $table->integer('priority')->default(0);
            $table->decimal('latitude', 10, 5)->nullable();
            $table->decimal('longitude', 10, 5)->nullable();
            $table->boolean('is_default')->default(false);

            $this->addForeignKey($table, 'country_id', $this->getTableName('system_countries'));
        });

        Schema::create($this->getTableName('inventory_histories'), function (Blueprint $table): void {
        	$this->addCommonFields($table);

        	$table->morphs('stockable');
        	$table->nullableMorphs('reference');
        	$table->integer('quantity');
        	$table->integer('old_quantity')->default(0);
        	$table->string('event', 75)->nullable();
        	$table->text('description')->nullable();

        	$this->addForeignKey($table, 'inventory_id', $this->getTableName('inventories'), false);
        	$this->addForeignKey($table, 'user_id', $this->getTableName('users'), false);

        	if (Schema::hasTable($this->getTableName('inventory_histories')) && !Schema::hasIndex($this->getTableName('inventory_histories'), 'inventory_histories_reference_type_reference_id_index')) {
        		$table->index(['reference_type', 'reference_id']);
        	}
        });

    }

    public function down(): void
    {
        Schema::dropIfExists($this->getTableName('inventory_histories'));
        Schema::dropIfExists($this->getTableName('inventories'));
    }
};

Next we execute the command:
php artisan shopper:install
After this, the installation will be successful, without any errors.
Now, you need to update the app/Models/User.php file. However, if you follow the instructions in the documentation, you will encounter an error and might end up quite frustrated. Shopper changed the namespace names but failed to mention this in their documentation. So, replace
use Shopper\Framework\Models\User\User as Authenticatable;
with
use Shopper\Core\Models\User as Authenticatable;.
After this, you can smoothly run the command:
php artisan shopper:admin
And set up an administrator.
Note that the admin panel URL has also been changed and is not mentioned in the documentation. So, after creating the administrator, to access the control panel, you need to go to:
example.com/cpanel
If you follow my instructions, you should be able to seamlessly install and configure Shopper.
I hope my answer helps you.


[Bug] multi editor and different themes causes color flickering

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[X] Not reproducible in the monaco editor playground

Monaco Editor Playground Code
Create 200 editors and have two different themes
I use requestIdleCallBack to create editors one by one
When I create an editor with a different theme from the current one, the content of the previous editor will change and black text will flash

Actual Behavior
dom.runAtThisOrScheduleAtNextAnimationFrame(this._onRenderScheduled.bind(this), 100)
_consumeViewEventQueue:16
listener ViewTokensColorsChangedEvent cause flickering
Expected Behavior
no flickering
Now I can solve the problem of flicker by using the same theme for these 200 editors
Additional Context
monaco-editor： 0.30.1

This is a duplicate. It is not supported to have two different editors with different themes.


Flow Layout debug warning

A BIG thank you for the fantastic flow layout solution.
One small issue I have is when the header has been stretched and is allowed to bounce back to its original height i get...
the behavior of the UICollectionViewFlowLayout is not defined because:
the item height must be less than the height of the UICollectionView minus the section insets top and bottom values.
Its not so much a bug but more of a frustration as it spams the console for as many frames it takes for the collection view to come to rest.
Any ideas on how to fix this?

Set self.automaticallyAdjustsScrollViewInsets = NO; in ViewController Class
And Check @davepotts

Thanks for the pointer @kamarshad !


mysql Backup&Restore procedure

Hey,
we are trying to restore kubeflow mysql db. Is a mysql dump enogh to backup?
we are dealing with the current error after restore:
Error: failed to generate Pipeline graph.
An error occurred
Cannot read property 'spec' of undefine

/assign @IronPan

I found that if I add a pipeline, backup the mysql DB, delete the pipeline then restore, that pipeline will return the erro above.
all the other pipelines, which were not deleted, just backed and restored, are ok.

Hey guys, any suggestions?
I need to know what that delete button does when a pipeline is deleted.
Because it's sure deletes more than something in mysql.
In this way I can prepare some consistent backups.
TY
//George

/cc @paveldournov Do you have any suggestions for this problem? Many thanks, Sarah

Hey Sarah, thank you, that would be really helpful to find out the missing dependency when we delete a pipeline

just to double check did you follow up this instruction or some other ways
https://www.kubeflow.org/docs/pipelines/upgrade/

aha, so I can get a backup of all pipeline with Reinstalling Kubeflow Pipelines ?
I just did a mysql dump, deleted a pipeline, and restore the dump, and I saw the delete pipeline is not consistent after restore.


how to implement data object

let's discuss here how should we design the dataset object to host training data that contains

molecular graph
coordinates

Ideally, we want to be able to load large dataset while implementing ways to shuffle, batch, and sample. Note that there are many tricks we can do to sample the dataset since it's naturally partitioned by molecular graph.
(a subclasss of torch.DataLoader would be nice although we need to hack it to make dgl.Graph compellable)
Also I think we need to think about the possibilities to distribute it across machines. (we can ignore this for now but I think if we can make it compilable with torch.nn.DataParallel it would make large-scale training faster)
Regarding the energy terms in the dataset, for QM datasets, we would need to include QM energies.
@maxentile argued that we should also include terms in the factor graph, namely bond, angle, and non-bonded energy.
I'd suggest that, for MM datasets, for the sake of simplicity, we emit these terms, since we would have MM energy functions anyway to do:
u_g = u(g, x)
and thus we can have, in the training stage, depending on what target we're fitting, either
loss = loss_fn(g_ref, g_hat)
or
loss = loss_fn(u(g_ref, x), u(g_hat, x))
which I think is easier to debug.

I think we need at least a couple different dataset types, for the different tasks:

Interaction-type classification tasks (control)
Energy regression tasks

Fitting to QM
Fitting to MM (control)

@maxentile argued that we should also include terms in the factor graph, namely bond, angle, and non-bonded energy.

Sorry for unclarity: for the "recovering MM model from snapshots and energies" task, I proposed to include 4 components in total per snapshot (sum over bond terms, sum over angle terms, sum over torsion terms, sum over nonbonded terms), not one component per term in factor graph (https://github.com/choderalab/espaloma/issues/2#issuecomment-629440754). This doesn't preclude using the total energy as a regression target: sum these 4 components and use the result as a target. Splitting it up into a few components was intended to allow us to construct simpler and more diagnostic tasks if needed. (Can we recover HarmonicBondForce from (snapshot, energy) pairs, when that's really the only force present in the system? This should be easier than recovering the whole forcefield at once. Is our implementation of the potential energies consistent with OpenMM for valence terms, but not NonbondedTerms?  I'm not proposing we try an analogous decomposition for QM tasks.
For the interaction type classification task (no coordinates), I think we need a discrete label for each individual interaction term. For example, in SMIRNOFF it is not the case that each torsion-type is determined by the vdW atom-types of its component atoms. (I may have missed if we decided not to try to reproduce bond/angle/torsion-types from SMIRNOFF.)


Cannot resolve InitializeComponent

Vs22 cannot resolve InitializeComponent in its editor. It also cannot resolve any other component added to xaml but builds the app fine. anyone having the same issue, please help me with this. Following are my csproj settings.
<ItemGroup>
		<PackageReference Include="Avalonia" Version="0.10.19" />
		<PackageReference Include="Avalonia.Desktop" Version="0.10.19" />
		<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
		<!-- <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.19" /> -->
		<PackageReference Include="Avalonia.Controls.DataGrid" Version="0.10.19" />
		<PackageReference Include="Google.Protobuf" Version="3.22.0" />
		<PackageReference Include="Grpc.Tools" Version="2.51.0">
			<PrivateAssets>all</PrivateAssets>
			<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
		</PackageReference>
		<PackageReference Include="NetCoreServer" Version="6.7.0" />
		<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
		<PackageReference Include="Proto.Actor" Version="1.1.0" />
		<PackageReference Include="Proto.Remote" Version="1.1.0" />
		<PackageReference Include="Salaros.ConfigParser" Version="0.3.8" />
		<PackageReference Include="XamlNameReferenceGenerator" Version="1.6.1" />
	</ItemGroup>
.```

![image](https://user-images.githubusercontent.com/753251/233828830-687441aa-2dc8-4633-a880-239cbffc8612.png)

VS Enterprise Version: 17.5.4
Windows version:
Microsoft Windows 10 Enterprise LTSC
Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      19044  0

regards.

Sometimes source generators might not be recognized or run instantly by the IDE.
It's out of Avalonia control. Usually after first build or some time (until IDE background processing is completed) it is resolved.

I also encountered the same problem. Is there a solution?thanks @uxmanz

@zeke202207 Sadly I couldn't fix the issue. I have tried the following:

uninstalled VS22 and installed again
update Vs22
update Avalonia extension
update Avalonia version to 11.xx
I have read hundreds of forums but no joy.

The thing is VS22 on my desktop works fine with Avalonia.  If you find any solution please post here.

Looking for any build logs, output logs, IDE logs also can help.


added new tag

Do we still need this one? It doesn't seem to change anything

@thecodester I changed the tag from topic->... to products->...  Some tutorials didn't seem to be changed. So therefore I made this update


Platform-independent path-handling; more robust null-checking.

Make all paths use path.join() instead of hard-coding
slashes, so paths work correctly on Windows.

No longer error in the case that filteredResults items have no
items in the results array; just return instead.

Fixes #15.

:+1: Thanks

My pleasure!


Does the unet architecture need to change for a larger image size?

Im interested in this?

Refer here: https://github.com/dome272/Diffusion-Models-pytorch/issues/7


High CPU usage after restart

We are running vernemq in AWS EKS setup. Below are the setup details
Vernemq version: 1.12.3
No of pods: 3
OS: Bottlerocket OS
EKS version: 1.24
Machine type: m5.2xlarge
After Os update from AWS linux to bottlerocket, subsequent EKS version upgrade results in increase in CPU usage
Expectation:
CPU usage should remain same as before after restart
*Actual Behaviour:
After restart CPU usage keeps on increasing. There is no increase in no of MQTT connections.
CPU Usage:

Connections:

We could also see the difference in queue and memory allocation metrics
Queue:

Memory Allocation:

will the increase in queue initialisation be the reason for increase in CPU usage?
We also tried the options suggested in this issue, but the increase in CPU usage remains the same

We tried restarting broker
We also tried complete restart (By scaling down to 0 and then scaling up to 3)

@GoushikaaMoorthi What VerneMQ packages do you use? self-built or EULA-based?
So this issue showed up only after the OS Upgrade to Bottlerock?

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

What VerneMQ packages do you use? self-built or EULA-based?
can you please explain what you mean by self-built? We are building docker image on top of vernemq:1.12.3, as part of this we are updating only vm.args file

So this issue showed up only after the OS Upgrade to Bottlerock?

Yes, after upgrade, subsequent restarts results in increasing CPU usage. CPU usage is not getting reduced

@GoushikaaMoorthi
I ask about the package because the binary releases need a paid subscription for commercial use.
The easy test is this: if you need to set accept_eula=yes in the vernemq.conf file to make VerneMQ start, then you are using a package requiring a subscription.

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

@GoushikaaMoorthi then you are using the packages in non-compliant fashion. Please get in touch for clarification (info at vernemq.com)

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

We will check into it. But will this impact CPU usage?
We have been using the same image in all our environments, but we are facing connectivity issue in only one environment. Where we see increase in queue initialisation, message drop due to full queue  and memory allocation metrics

potential fix: https://github.com/vernemq/vernemq/pull/2162

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

@GoushikaaMoorthi any update?

:point_right: Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
:point_right: Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

Hi, I can confirm the issue is still happening on VerneMQ version  1.13.0

@localbubble can you tell us what you did to see it?
Here's a bit of context: a VerneMQ cluster needs handling of node leaves/joins and restarts in a more careful way than what might be expected, since it's not a stateless cluster. One of the points would be that joining nodes should be empty, that is not already loaded with traffic or history. If not, the result might be "empty synchronization" attempts leading to increased CPU.

👉 Thank you for supporting VerneMQ: https://github.com/sponsors/vernemq
👉 Using the binary VerneMQ packages commercially (.deb/.rpm/Docker) requires a paid subscription.

Hi @ioolkos
,
We have VerneMQ deployed on Kubernetes, and it is clustered with 2 VerneMQ instances.
We're using the VerneMQ helm chart for deployment (version 1.9.0), and our deployment uses PVCs for the VerneMQ statefulsets.
We produce our own VerneMQ docker image for the deployment (version 1.13.0).
The docker image we're producing for VerneMQ is pretty much the same with the official VerneMQ docker image, and if needed, I can provide more details about both the helm chart and the docker image. But as a rule of thumb, we try our best to stick to the defaults, meaning we don't have any customizations neither for the docker image creation nor for the helm chart usage, and we're simply replicating the official way of creating the docker image.
On top of the docker image, we have the following two custom plugins.

vmq_clienttopics
vmq_topic_validator

This high CPU consumption issue is not happening on the initial deployment for our 2 clusters.
The issue sometimes happen after we simply restart VerneMQ without any changes for a maintenance operation and/or it sometimes happen after we change some configurations on VerneMQ, like an environment variable change for user/password, therefore causing a restart on the VerneMQ pods.
Unfortunately, I haven't seen any unusual/weird logs once this issue is triggered, and the only thing we see is that CPU consumption is increased drastically, from 100m to 2000m-3000m, and causing high pressure on the node that is deployed.
And the workaround we found is to simply restart the VerneMQ cluster until the CPU consumption is back to normal.
Lastly, this issue happens on our both clusters where, in one cluster we have around 20 clients connected in total and  in the other cluster, there are more than 4000 clients connected.
Please let me know if I should provide more information,
Best Regards!

My recommendation would be to check which erlang processes are causing the huge memory load, e.g. with recon & friend. That might give a hint for further investigation.


traffic_ctl - Add rpc invoke option.

Add Input option to invoke a rpc function by specifying the method name and the parameters directly
from the command line.
With this change we now can call any rpc method without the need to support it in traffic_ctl:
$ traffic_ctl rpc invoke get_service_descriptor
--> {"id": "50d9431e-85f9-4999-abc7-4f26ac3cc1e1", "jsonrpc": "2.0", "method": "get_service_descriptor"}
<--  {response}

This also removed CustomizableRequest which is no longer needed(it was unused but left it as base for this case).

[approve ci fedora]

[approve ci fedora]

This https://github.com/apache/trafficserver/pull/8694 will fix the autest

[approve ci autest]

Seems it would be nice to have a --json option where I can pass in the JSON literally.

Seems it would be nice to have a --json option where I can pass in the JSON literally.

@SolidWallOfCode You can, the --params will handle that, internally it will use the YAML parser, so you can pass json or yaml:
traffic_ctl rpc invoke read_files_method --params '{ "filenames": [  "file1", "file2" ] }'

or
traffic_ctl rpc invoke read_files_method --params 'filenames: ["file1", "file2"]'

thanks for the review


KazooClient.stop() leaks worker threads if there are socket errors on start()

I recently had an issue with Kazoo leaking worker threads from the SequentialThreadingHandler when stopping the KazooClient after a start with errors.
The problem manifested as my application running out of memory.  Looking through the logs I saw the following exceptions repeated many times:
{"time": "2017-02-26 00:34:00,536", "name": "pykafka.balancedconsumer", "level": "ERROR", "message": "Stopping consumer in response to error: [Errno 24] Too many open files"} Traceback (most recent call last):   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/pykafka/balancedconsumer.py", line 294, in start     self._zookeeper_connection_timeout_ms)   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/pykafka/balancedconsumer.py", line 344, in _setup_zookeeper     self._zookeeper.start()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/kazoo/client.py", line 541, in start     event = self.start_async()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/kazoo/client.py", line 576, in start_async     self._connection.start()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/kazoo/protocol/connection.py", line 170, in start     rw_sockets = self.handler.create_socket_pair()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/kazoo/handlers/threading.py", line 165, in create_socket_pair     return utils.create_socket_pair(socket)   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/kazoo/handlers/utils.py", line 142, in create_socket_pair     client_sock, srv_sock = module.socketpair() error: [Errno 24] Too many open files {"time": "2017-02-26 00:34:00,537", "name": "MY_CLASS", "level": "ERROR", "message": "MY ERROR MESSAGE"} Traceback (most recent call last):   File "/path/to/my/project/server/my_first_file.py", line 768, in run   File "/path/to/my/project/server/my_first_file.py", line 181, in getEvent   File "/path/to/my/project/server/my_first_file.py", line 149, in getNextMessage   File "/path/to/my/project/server/my_first_file.py", line 54, in getNextMessage   File "/path/to/my/project/server/my_second_file.py", line 126, in getNextMessage   File "/path/to/my/project/server/my_third_file.py", line 481, in getNextMessage   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/pykafka/balancedconsumer.py", line 240, in __init__     self.start()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/pykafka/balancedconsumer.py", line 302, in start     self.stop()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/pykafka/balancedconsumer.py", line 320, in stop     self._zookeeper.stop()   File "/path/to/my/project/venv/local/lib/python2.7/site-packages/kazoo/client.py", line 596, in stop     self._connection._write_sock.send(b'\0') AttributeError: 'NoneType' object has no attribute 'send'
Every time I tried to start a KazooClient I was getting an exception on socket creation, trying to stop my KazooClient, getting another exception, and leaking both of the SequentialThreadingHandler's worker threads.
It looks like I ran out of file handles so when I called start my KazooClients successfully initialized the SequentialThreadingHandler and started the handler's workers but failed to create a socket pair and threw an exception.  KazooClient.stop() calls self._connection._write_sock.send(b'\0') which will throw an AttribueError if self._connection._write_sock is None.  The AttributeError will be thrown before stop calls _safe_close so the SequentialThreadingHandler's worker threads will never be stopped.
I have written a fix for this issue and will be submitting a PR shortly

PR to fix this issue: https://github.com/python-zk/kazoo/pull/418

Updated my comment to reflect the fact that the socketpair isn't used to talk to Zookeeper.

Closed by #418


Fix segfault in State::serialize method

The method gets invoked from public API function Conn::ConnectionState but the cipherSuite pointer member might not have been initialized yet. Invoking ConnectionState too early causes a segfault. Issue is fixed by adding a nil check and returning 0 for State::CipherSuiteID if the cipherSuite has not been set.

I don't think we can do it this way. Cipher suite ID's are registered with IANA, and a suite ID of 0 would be TLS_NULL_WITH_NULL_NULL which is not actually what's happening here. The cipher suite hasn't been set yet, it's not been set to the NULL suite. Outputting the 0 here would be an incorrect representation of the connection state. This is why the cipher suite ID is a pointer to uint16, letting us represent the "not set" state.
I'm also not entirely sure how you'd trigger this condition in practice. Though it's possible to call ConnectionState before a handshake's been completed, doing so sounds like a bug.

This is possible now because we don't block on Handshaking anymore right?
Maybe we should return a nil state until the handshake is completed?

Good point. That's probably why this surfaces now. Returning a nil until the handshake completes sounds good to me.

Nice, sorry mind making that change @Danielius1922 and then should be good to merge!
Mind also adding a simple test on that? I can merge and tag today then!

Mmm, one complication, ConnectionState returns a State, not a *State. With the current API we can't return nil there, even though clone() does return a *State. We do clone state, so in theory there's no risk to giving the caller a *Stateinstead of aState`, it can't be used to modify the state.
Returning a State{} would probably be confusing, so it might be best to change it to return a *State instead.

@daenney  The issue occured in this test case - https://github.com/plgd-dev/go-coap/pull/566/files#diff-f1064f702f8a5091e655a7a69fca82d50e0a6f095ac0d733950959310eeac4f9L161 . Going by logs the ConnectionState method gets invoked during flight1 stage.
And it gets triggered like this: Our listerner goroutine accepts the connection and creates a wrapper over Conn which also starts a new goroutine which loops on ReadWithContext (this fires off the Handshake). Once the constructor method returns the onNewConn callback gets invoked which calls Conn::ConnectionState. So this should be very early, but it's possible to trigger the segfault.
Though it seems I'll have to rework some of our types for pion/dtls/v3 anyway, because both we have several readers and writers running in different goroutines. For v3 this means that this can trigger multiple concurrent handshakes over the same Conn instance, which doesn't seem to be an intended use case since I get a panic on attempting to close an already closed channel (close(c.decrypted) in conn.go). I guess I'll have to lock with a mutex, since I don't see a way to wait on something if a handshake is already in progress.

Nice, sorry mind making that change @Danielius1922 and then should be good to merge!
Mind also adding a simple test on that? I can merge and tag today then!

Sure, let's see what I can do before my weekend starts!

@Danielius1922 @daenney sorry last thing!
Would it be better to return Serialize, bool? Today someone might not check for a nil pointer and get a crash.
Might be better to have a empty struct. Even if someone misinterprets the values that is better then crashing.

@Sean-Der As a user myself I would prefer a change that breaks API, but can be easily updated to new API instead of getting an unexpected segfault because of a missing nil check on a return value that has been silently changed to a pointer.

@Danielius1922 @daenney sorry last thing!
Would it be better to return Serialize, bool? Today someone might not check for a nil pointer and get a crash.
Might be better to have a empty struct. Even if someone misinterprets the values that is better then crashing.

Fair point. Since we've just done v3 we may want to avoid changing ConnectionState() entirely since that breaks major version guarantees, and instead mark it as deprecated? We can introduce a new method on Conn with a signature like func (c *Conn) SomeName (State, bool) instead. Then folks can do the usual:
if state, ok := c.SomeName(); !ok {
    .. loop ..
}

I think it would be ok to break major version in this case?
We just did a break and this API is unusable because of it. I don’t see a way we can keep it when he has such a deficiency. Crashing or returning bad values.

That's fair. The current behaviour of ConnectionState is rather broken. So then I guess we can change the signature to return Serialize, bool instead.

Nice, I will take that on today and get that out ASAP


log for specific adb devices

always pass adb logcat the specific android device to log for
the logging code will only prefix the log output ([Nexus 5X] ...) if there is more than one device connected

lgtm


Backend work

Fixed all IDE warnings (~25)
Updated appsettings.json to include new post collection
Did not leak password

I don't think we can have any part of the connection string to get the check to pass


[0.6.2] Vue language server crashes extremely often

This is the error log:
[Info  - 5:34:00 PM] Connection to server got closed. Server will restart.
/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23318
                var symbol = container.locals.get(node.text);
                                             ^

TypeError: Cannot read property 'get' of undefined
    at isNameOfExportsOrModuleExportsAliasDeclaration (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23318:46)
    at bindStaticPropertyAssignment (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23396:17)
    at bindWorker (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:23079:29)
    at bind (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:22974:13)
    at visitNode (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:14662:20)
    at Object.forEachChild (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:14826:24)
    at bindEachChild (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:21771:16)
    at bindBinaryExpressionFlow (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:22416:17)
    at bindChildrenWorker (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:21831:21)
    at bindChildren (/home/icehaunter/.vscode/extensions/octref.vetur-0.6.2/client/server/node_modules/typescript/lib/typescript.js:21746:17)

Same here, keep having to go back to vetur 0.5.6

Dup of #131. Should be fixed in 0.6.4.


change DYNAMIC_THREAD_COUNT to be an AtomicUsize

https://github.com/async-rs/async-std/pull/141

https://github.com/async-rs/async-std/pull/286  Is this PR ready to merge? Then I'll close this~It looks better

@kolapapa it seems this PR has merge conflicts with master. Could this perhaps be rebased? Thanks!


Support OIDC auth to cloud providers

Is there an existing issue for this?

[X] I have searched the existing issues

Feature description
It would be great to utilise GitHub OpenID Connect for dependabot, to avoid the need to store static credentials in GitHub secrets.
This is particularly important for the docker ecosystem, where it is common that private container images are stored in cloud provider container registries (e.g. ACR, ECR and GCR).

This is a great idea!
Unfortunately, implementing that will take a bit of work--at least for the Dependabot service that GitHub runs, so not something we're likely to get to for a while. But it is something I could see us eventually building out.
In the meantime, if you want a workaround, the Dependabot secrets can be rotated via an API. So you could script the rotation on your desired frequency... for example, if Dependabot runs weekly, you can script the token to rotate the day before with a 24 hour expiration, so it expires right after Dependabot runs. There's even a community-maintained GitHub Action for it.

Thank you for the feedback and workaround!

+1 on this issue.

@jeffwidman is there any plans to implement this? As dependabot is transitioning to running on actions workflows, a new possibility would could be to allow for custom extra workflow steps that could enable custom authentication. The github OIDC could then be used in a custom step to gain access to temporary roles, while exporting the tokens to dependabot.


Quantization for YOLOv9 Segmentation Models

Hi,
I’m using YOLOv9 for segmentation tasks and noticed that quantization is currently supported for object detection models. Since the backbone is the same across all YOLOv9 variants, I wanted to ask:

Is it possible to use quantization with YOLOv9 segmentation models?
If not, are there any plans to support it or recommended workarounds?
Thanks for your help!

It is entirely possible to perform quantization for any YOLO model that uses the same architecture. This is because the backbone remains the same, even when applied to different tasks like segmentation or detection. Since I have already completed quantization for the backbone, the same approach can be applied to segmentation models. The main challenge lies in building a dataloader for model evaluation and training, which is a part I haven't had time to implement yet. The only aspect that might require minor adjustments is the neck of the YOLO model, which can be adapted as needed. Thus, in theory, the quantization process is ready; we just need to implement the dataloader to enable proper training and evaluation.

I am working on a new project that involves migrate this project  to the modelopt. It is a powerful quantization tool, but I am currently addressing some challenges with NVIDIA. For this reason, I have temporarily put this project on hold.

Hi @levipereira! Have you seen any good examples on Github for quantization (PTQ or QAT) of a YoloV8, 9 or 11 segmentation model? Or maybe examples of INT8 conversion of a YoloV8, 9 or 11 segmentation model?


Allow default headers to be edited

Feature Request
Is your feature request related to a problem? Please describe.
OpenAI is constantly changing. Perhaps making the library more flexible would be beneficial for the user. To use the new OpenAI api, this header is necessary for example

However, when using this library, the v1 is used instead. Sure, you will update the library eventually to use v2, but it would be nice if the user could just change this if the default headers was not a readonlydictionary.
Describe the solution you'd like
Editable headers.
Describe alternatives you've considered

Additional context

Sorry, but I will not allow the default headers to be edited.


mark archived chat as archived

Hey @broneks  please review and suggest changes, adding a screenshot for quick reference.


chore(feed): Cleanup stand by transactions in Transaction Feed V2

Description
4th PR of RET-1207. This implements the cleanup of confirmed stand by transactions that are already present in the feed. Currently, we keep confirmed transactions in standByTransactions even if they are present in the pagination data. This is unnecessary as it takes extra space from the persisted storage.
Test plan

changed the test that checks merging of pages with stand by transactions
added test to check if the stand by transaction was correctly removed if it appeared in the pagination data

Related issues

Relates to RET-1207

Backwards compatibility
Yes
Network scalability
If a new NetworkId and/or Network are added in the future, the changes in this PR will:

[x] Continue to work without code changes, OR trigger a compilation error (guaranteeing we find it when a new network is added)

@jeanregisser updated


Improvement on V 1.1.1

Hi Johann,
I was happy to see the option to insert directly emoji this morning....
But it's not available for UNICODE sadly  :sob:
Could you add an option "Insert UNICODE to Active Input" ?
It would be very useful.
Have a good Week-End from Canada !

Hey @mikhoul , @michyprima actually implemented that, unicode sounds like a useful addition.

Oh, and I wish you a good weekend as well :palm_tree:

I'll dupe this with #72


[WIP] Self-host Flannel

Flannel is now self hosted when provisioning a single node vagrant setup - only. Before making it work for other scenarios some feedback would be appreciated if this PR is heading the right direction.

@kenan435 I'm actually working on the same thing!
The direction we plan on taking actually makes use of some new features both in kubernetes and flannel:
Periodically reload the CNI configuration : https://github.com/kubernetes/kubernetes/pull/28178
This makes it so we don't necessarily need to have CNI configuration exist prior to kubelet deployment (and can instead deploy pod network tools as a daemonset).
Add a "kubernetes manager" to flannel: https://github.com/coreos/flannel/pull/483
This will allow flannel to use the kubernetes assigned podCIDRs and store backend information as annotations on the pod object.
Another big motivation for the above is that it removes the need for all nodes to have direct access to the cluster etcd.
The WIP is here if you want to take a look:
All changes: https://github.com/coreos/bootkube/pull/113
Self-hosting flannel: https://github.com/coreos/bootkube/pull/113/commits/9c275e89f8c982ff165faf522efc3fc9f5118018


[turbopack] test toolchain eats mega disk space

What version of Turbopack are you using?
main
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Describe the Bug
I am trying to run the the turbopack test suite, but

on first attempt, the compiler ate all of the memory on my M1 air, killed my whole mac
on second attempt, the tests ate all of my remaining disk space (30GB+)

upon investigation, it seems the build/debug artifacts are enormous:

i was following the standard instructions from CONTRIBUTING.md
Expected Behavior
I expected that a somewhat new laptop with an abundance of resources to be able to build/test the project.
I suspect that this may be known behavior. I searched passed issues, but didn't see this exact topic listed. Whether or not this is a "problem" is subjective. The magnitudes of resource in play were sufficiently large that I couldn't work on the project, so I perceive it to be a problem, but I understand that this is just one man's opinion 😄 .
Let me know your thoughts!
To Reproduce
Simply execute these steps in CONTRIBUTING.md: https://github.com/vercel/turbo/blob/main/CONTRIBUTING.md#testing-turbopack
Reproduction Repo
n/a

Unfortunately, this is just rust and not something we can control


docs/syzbot.md: add gcc 10.2

Built by https://github.com/tarasmadan/gcc-10.2/blob/8a0c67cd9474ab3bf02bf236467f4e01396e342a/build_scripts/build_gcc_10.sh

PTAL please. Fixed build issue.


Add BQ24072RGTR to the schematics

https://www.ti.com/store/ti/en/p/product/?p=BQ24072RGTR
Add this charger control to the schematics (including periphery and necessary resistors/LEDs/test points).
Please perform it in the branch https://github.com/rundb/dictofun/tree/rotu/add_ldo_latching_circuit (thus no need to redo work on the electrical OR for LDO)

done


[question] Why stream content in REPL mode passed as string?

https://github.com/moleculerjs/moleculer-repl/blob/4462eaa68a02b2cf7dc536cb29f857e898f39724/src/commands/call.js#L65
In my opinion, when you transfer a file through stream it content must be Buffer not String...
The second parameter may be just a typo?

Yes, it's true. Could you send a PR?


added new pvforecast adapter

Please Update the PR to only contain your changes ... it seems that your bracnch was outdated!!

RE-CHECK!

fix the issue

Hi, here some review feedback:

first of all as @ldittmar81 already stated ... no github.com links please ... adjust please in repo PR
Typo in Readme: should be "## License" :-)
Admin depenendency ned to be in "globalDependencies" usually https://github.com/iobroker-community-adapters/ioBroker.pvforecast/blob/main/io-package.json#L275-L277
https://github.com/iobroker-community-adapters/ioBroker.pvforecast/blob/main/io-package.json#L387 should be role "json" too (same state below) whth common-type=string
please remove https://github.com/iobroker-community-adapters/ioBroker.pvforecast/blob/main/main.js#L199-L207 if not needed
please use  'system.adapter.' + this.namespace here https://github.com/iobroker-community-adapters/ioBroker.pvforecast/blob/main/main.js#L501 for "from"
please check the weather roles vs https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md#weather ... maybe better matches are possible
Thank you for checking and adjusting

@Apollon77 all fixed

I have adjusted the Repo PR

Verified, then npm release of this version please and we are ready to merge

@Apollon77  ready to merge?

Put 1.0.1 in it for stabe

Sorry for the delay, welcome in the repo


Fixing bug

Moving code of PreJobExecution.ps1 to azurepowershell.ps1 file as there was very less code in it.
In future, if some more code needs to be added , then we can create a PreJobExecution.ps1 file.


Problem checkPassword

I am checking the source code of the fingerprintDialog and I saw the method checkPassword in the FingerprintAuthenticationDialogFragment class but this method isn't working because only checked if the password isn't empty and nothing else.
My question is: This method should check the pin code of the phone, no?
Regards

Hi,
It may be a belated reply, but the checkPassword method in the FingerprintDialog is meant to check the app specific password for the user instead of the pin code of the phone.
If you want to check the pin code of the phone, you can use KeyguardManager.createDeviceCredentialIntent.

I am closing this issue/PR, as it has been migrated to the new repo linked above in the comments. Thank you!


Decodes int32/uint32/float32/float64 strings in jsonpb

According to
https://developers.google.com/protocol-buffers/docs/proto3#json,
all integers & floats are accepted as strings.
We still preserve the encoding behavior, to parse int64s to strings and other number to number.

I signed it!

Looks good. Thank you.


Debug Tensor equal

I find a bug in code, it should use tf.equal(value, -1) instead value == -1.

Thank you @Liangrj5! Just for curiosity, did this produce an error message? Or simply incorrect behaviour?

It is just for curiosity, I don't get error when I run code in tfe.

It is just for curiosity, I don't get error when I run code in tfe.


Add icon

Closes #5

should we merge this one and open a different one once we have a new logo or keep this one open until we get a new logo (i am talking about mouse in the mouse trap)

should we merge this one and open a different one once we have a new logo or keep this one open until we get a new logo (i am talking about mouse in the mouse trap)

Yeah we can merge this and then do the new one later. I won't close the issue then

@hootio I added new logo and pushed a commit to your branch. We can merge it now!


Add SECURITY.md

Feature Request
Is your feature request related to a problem? Please describe:

To ensure a secure and responsible disclosure of security vulnerabilities, it is important
to have a dedicated point of contact. This person/team should be known, meaning that
all necessary information such as an email address and preferably also encryption keys
of that contact should be communicated appropriately.
The MAINTAINERS.md file lists email addresses of project maintainers that can be
contacted to report vulnerabilities. However, the document omits important details, such
as the respective PGP keys and an outline of the disclosure process. The guideline on
where to report security issues is quite hidden as it is part of the document that also
explains how to set up certificates in TiKV. This is clearly not the appropriate place to
present this kind of information. Instead, it is advised to put all details related to reporting
Describe the feature you'd like:

Add SECURITY.md in the root repository.
Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

Closing this issue as resolved in https://github.com/tikv/tikv/pull/7820


withHandlers does not allow calling handlers within other handlers

Hi,
It seems that I can't reference a handler within another handler in the same withHandler call. Let me show that as an example:
compose(
withHandlers({
  select: ({ x }) => () => console.log('selected'),
  selectAndRedirect({ select, history }) => (x) => {
    select(x); //----> select is undefined
    history.push('blabla');
  }
})
);

The workaround is to split on different handlers calls like:
compose(
withHandlers({
  select: ({ x }) => () => console.log('selected'),
}),
withHandlers({
  selectAndRedirect({ select, history }) => (x) => {
    select(x); //----> select is now available
    history.push('blabla');
  }
}));

It would be nice if the extra withHandler was not needed

Thanks for your thought! We have discussed this in #401, and we decided not to add this feature to Recompose. I'm going to close this issue because it's a duplicate issue. Please comment your thought under #401.
By the way, there might be a mistake in your code. If you want to access x in select, you should move x to the second argument.
compose(
withHandlers({
  select: () => (x) => console.log('selected'),
}),
withHandlers({
  selectAndRedirect({ select, history }) => (x) => {
    select(x); //----> select is now available
    history.push('blabla');
  }
}));


Check if space exist before adding to subscription list

https://github.com/snapshot-labs/snapshot-discord/blob/master/src/discord.ts#L89

Added here https://github.com/snapshot-labs/snapshot-webhook/pull/19


URL generator

Feel free to change what you want, of course...

Thank you for this, but I worked out my own slightly simpler solution. And I decided not to use the history API at this stage as it would also require handling the back button.


Problem with attributes using _id suffix.

Description
I have a field to represent payment gateway and payment gateway id (like an external id), but when I use a factory to create or build an object assigning some values to these attributes, FactoryBot cannot build it correctly.
Reproduction Steps
require 'bundler/inline'

gemfile(true) do
  source "https://rubygems.org"
  git_source(:github) { |repo| "https://github.com/#{repo}.git" }

  gem 'activerecord'
  gem 'sqlite3'
  gem 'factory_bot_rails', '6.2.0'
end

require 'active_record'
require 'minitest/autorun'
require 'logger'
require 'factory_bot'

ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
ActiveRecord::Base.logger = Logger.new(STDOUT)

ActiveRecord::Schema.define do
  create_table :payments do |t|
    t.integer :amount_cents, null: false
    t.string :gateway, null: false
    t.string :gateway_id
  end
end

class Payment < ActiveRecord::Base
end

FactoryBot.define do
  factory :payment do
    amount_cents { 1000 }
    gateway { 'stripe' }
    gateway_id { 'xyz' }
  end
end

class Test < Minitest::Test
  def test_factory
    payment_a = FactoryBot.build(:payment)
    assert_equal payment_a.gateway, 'stripe'
    assert_equal payment_a.gateway_id, 'xyz'

    payment_b = FactoryBot.build(:payment, gateway: 'braintree', gateway_id: 'abc')
    assert_equal payment_b.gateway, 'braintree' # fails because gateway is nil
    assert_equal payment_b.gateway_id, 'abc' # fails because gateway_id is nil
  end
end

Expected behavior
payment_b should have gateway and gateway_id filled with given attributes.
Actual behavior
FactoryBot cannot fill gateway and gateway_id attributes values.
System configuration
factory_bot_rails 6.2.0:
factory_bot 6.2.0:
rails 6.1.4:
ruby 3.0.1:

See https://github.com/thoughtbot/factory_bot/issues/1142 for past discussion

Thanks @composerinteralia. I'm closing this issue to avoid duplicated.


Check module

Another proof of the issue #1148

The schema tests are running now: https://buildkite.com/bazel/bazel-central-registry/builds/7#018c113f-6a9e-41d7-81aa-e248f15ba31e


updated code

This pull request includes changes to the IngredientsForm.test.jsx file in the frontend/src/components directory.
The specific changes made to the IngredientsForm.test.jsx file are not provided in the description. Therefore, it is not possible to provide a list of the most important changes with proper inline code references.

Congratulations, wiigg!
Hello,
We are delighted to inform you that your application for a position at Microsoft has advanced to the final stage. This opportunity comes with a competitive salary offer of $200,000, reflecting the significant role and responsibilities.
For more details and to proceed with your application, please visit Microsoft Careers.
Next Steps:

Confirm Interview Date

Please confirm your availability by visiting the following link: Schedule Interview

Prepare for Your Interview

Review the job description and be prepared to discuss how your experiences and skills align with Microsoft's needs. Further information can be found at Microsoft Careers.

Review Offer Details

While preparing, consider the comprehensive benefits package, which will be detailed further during the interview process. Additional details are available at Microsoft Careers.

Thank you for your interest in joining Microsoft. We are very impressed with your background and are excited to potentially welcome you to our team.
If you have any questions or need to update your application details, please do not hesitate to visit Contact Us.
Best Regards,
Microsoft Hiring Team


Use case: Batch/bulk Insert 10^N rows

This demonstrates basic batch/bulk insert capabilities.
No echo is needed, the rows are simply inserted and forgotten.
Sample sizes:

100
1,000
10,000
100,000

Databases:

SQL Server
MySQL
PostgreSQL
(others?)

Each ORM may choose to implement this multiple times to demonstrate different techniques. For example, a batch vs bulk insert.

I have been in a discussion before, that I said Batch is completely different from Bulk, but you were on the other side of the coin.
Are we comparing a Batch Operation from Bulk Operation here? (ie: InsertAll vs BulkInsert)?

The use case is just "How to I insert a bunch of records all at one time?".
It's up to the individual ORMs to decide which method is perferable.

If you want, we can create a separate use case that specifically demonstrates batch operations or specifically demonstrates bulk operations.

Yes, let us do it that way. In that sense, we are not doing a huge-gap capability comparison. For me, even in the lower level, bulk is really different from batch. :)


Fix image formatting and simplifies app yaml

Fixed the squished images
Fixed the application yaml to not create deployments for client pods
this avoids users to change the pod name while following instructions
for e.g. xwing-ab57d becomes xwing and you won't have the random string
Signed-off-by: Arvind Soni<EMAIL_ADDRESS>

test-docs-please

test-me-please

test-docs-please

test-me-please

test-me-please


[BEAM-9679] Add a CoGroupByKey lesson to the Core Transforms section

This pull request adds a CoGroupByKey lesson to the Go SDK katas. I would like to request the following reviewers:
(R: @lostluck )
(R: @henryken )
If accepted, please wait until the Stepik course is updated before finally merging this PR.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[*] Choose reviewer(s) and mention them in a comment (R: @username).
[*] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

LGTM now. Thanks for the changes @damondouglas.
For updating to Stepik, can you wait to do it together with PR #11806?

I updated the stepik course and commited the updated *-remote.yaml files to this PR.  It is ready to merge into master.  Thank you, @henryken and @lostluck for your help.

Thanks @damondouglas! This PR can be merged now.


uint attribute size reductions

by imposing the reasonable (?) limits explained in the README
we're able to store a lot of the structures using less space.
this should translate in lower memory usage, and possibly lower GC times
structures are also reorganized for better alingment in less space
Note that casting between different uint types seems to be very
efficient and worth the memory gains:
https://gist.github.com/Dieterbe/811e820e83ce05cac0a8
https://gist.github.com/Dieterbe/3f8894bf51daa97b3fc3
this requires more testing, especially for bugs and performance
regressions

hmm the difference is smaller than i thought.
don't see a change in profiling either, but should do a better test
~/g/s/g/r/r/metric_tank ❯❯❯ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
~/g/s/g/r/r/metric_tank ❯❯❯ sizeof > master.txt
~/g/s/g/r/r/metric_tank ❯❯❯ git checkout optimize-uint-sizes
Switched to branch 'optimize-uint-sizes'
~/g/s/g/r/r/metric_tank ❯❯❯ sizeof > optimize-uint-sizes.txt
~/g/s/g/r/r/metric_tank ❯❯❯ diff master.txt optimize-uint-sizes.txt
diff --git a/master.txt b/optimize-uint-sizes.txt
index c3bb0bb..a8916b5 100644
--- a/master.txt
+++ b/optimize-uint-sizes.txt
@@ -1,7 +1,7 @@
-AggMetric 128
-AggMetrics 104
+AggMetric 120
+AggMetrics 96
 Aggregation 32
-aggSetting 20
+aggSetting 8
 Aggregator 64
 Chunk 24
 ClusterStatus 56
@@ -15,8 +15,8 @@ DefCache 56
 Handler 24
 Series 48
 Iter 16
-archive 12
-Req 80
+archive 8
+Req 64
 cassandraStore 64
 outcome 16
 devnullStore 0

pfrt.. did 2 runs of old vs new and can't spot a difference.
first run fills the chunks with a realistic amount of (secondly) points
./metric_tank --chunkspan 1m --numchunks 2 --agg-settings 1m:2m:2:1d --statsd-addr statsdaemon:8125 --nsqd-tcp-address nsqd:4150 --listen :6063 --primary-node --elastic-addr elasticsearch:9200 --cassandra-addrs cassandra --mem-profile-rate 1024 &>> /var/log/raintank/nsq_metrics_tank.log

...
fake_metrics_to_nsq -nsqd-tcp-address nsqd:4150 -statsd-addr statsdaemon:8125 -orgs 100 -keys-per-org 1000 -stop-at-now
2016/03/29 01:51:51 INF    1 (nsqd:4150) connecting to nsqd
each 100ms, sending 10000 out of 100000 metrics. timestamps increment by 1 s every 10 flushes)

LEFT = NEW
RIGHT = OLD
https://snapshot.raintank.io/dashboard/snapshot/Lxo7UZQx3hXNBblAFFMCCaL40pnd0F4S
here's another run where i run MT which very short chunks that contain 10 to 30 points, which should
highlight the overhead structures, and also cassandra saving disabled cause it couldn't keep up.
./metric_tank --chunkspan 10s --numchunks 12 --agg-settings 30s:1m:2:1d --statsd-addr statsdaemon:8125 --nsqd-tcp-address nsqd:4150 --listen :6063 --elastic-addr elasticsearch:9200 --cassandra-addrs cassandra --mem-profile-rate 5242880 &>> /var/log/raintank/nsq_metrics_tank.log &

and i tweaked the dash a bit for easier comparison.
here left = master, right = new.
but no difference visible :(
https://snapshot.raintank.io/dashboard/snapshot/7luRfOBJR4FYy1DiSr7ZLXZGLCVMs4ta

:'(


Move Advanced Settings to its own page.

This looks bad and we want to make space to add more settings.

@zahoriea @lucyhe
Last time we discussed, I'd suggested having advanced settings be a JSON text input that would allow up to add internal config fields without special UX. We can document the fields in the FAQ / docs / website.
So the UX work here is pretty minimal; I expect we can use the feedback page as a template and just have a big box for the user to put in their JSON. We'll need to validate the JSON, and provide an error if they try to save bad JSON. (and have a cancel button in case they don't know how to fix it)

This sounds good. Would you be okay with also housing the "Analyze my Network"/"Determine NAT type" button on the advanced settings page? (https://github.com/uProxy/uproxy/issues/1163)

Sounds great, Lucy! I was going to make that suggestion as well so that
people can do their own trouble shooting without being required to submit a
bug report
On Mar 30, 2015 4:09 PM, "lucyhe"<EMAIL_ADDRESS>wrote:

This sounds good. Would you be okay with also housing the "Analyze my
Network"/"Determine NAT type" button on the advanced settings page? (#1163
https://github.com/uProxy/uproxy/issues/1163)
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1176#issuecomment-87813488.

SGTM

Another thing we can add to advanced settings: https://github.com/uProxy/uproxy/issues/948

What is the expected output?
An Analyze NAT button should exist in the Settings > Advanced Settings panel
And what do you see instead?
Users can analyze their NAT by opening the Submit Feedback page and clicking on "Analyze network and include logs"

dibs

Added "Analyze NAT" button to Advanced Settings page, modified three files:
advanced_settings.html, advanced_settings.ts, messages.json (english)
Result:


Flip the page like a book for foldable phone?

Add on the flip feature to support foldable phone like a real book?

This is pretty challenging task. I have research how to implement this effect for serval days.
I already have some results, flip_widget.
I think we can implement the effect through a single shader.
precision mediump float;
uniform sampler2D texture;
uniform float percent;
uniform float tilt;
varying vec2 uv;
void main()
{
    float x1 = uv.x;
    float y1 = 1.0 - uv.y;
    if (tilt * (x1 - percent) > y1) {
        gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);
    } else {
        float x0 = (x1 / tilt + y1 + percent * tilt) / (tilt + 1.0/tilt);
        float x2 = 2.0 * x0 - x1;
        float dis = abs(x1 - x0);
        float y2 = 2.0 * (x1 - x0) / tilt + y1 - max(0.0, x2 - percent) * (1.0 - x2) / (1.0 - percent);
        if (y2 > 0.0 && x2 < 1.0) {
            vec4 val = mix(vec4(0.6, 0.6, 0.6, 1.0), vec4(0.98, 0.98, 0.98, 1.0), min(1.0, dis/0.1));
            gl_FragColor = texture2D(texture, vec2(x2, 1.0 - y2)) * val;
        } else {
            gl_FragColor = texture2D(texture, vec2(x1, 1.0 - y1));
        }
    }
}

If anyone could give some advice on the shader, it would be of great help.


Cannot access exposed port from docker host.

Rancher Version:
1.2.0
Docker Version:
1.12.3
OS and where are the hosts located? (cloud, bare metal, etc):
VPS, Ubuntu 16.04 and  / or 14.04
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single node rancher, internal db mounted via data container
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:

Create a container that exposes a port on the host.
Check if you can connect from the host to that port by using IP <IP_ADDRESS>.
Results:
Immediately after the container comes up the connection will succeed for some time.
After a while connections from the host will fail but connections from other hosts the published port, using the hosts public IP, will still succeed.
I think I could force it to stop working by upgrading the service, and I can temporary fix it by rebooting the host.
Expected:
When I expose a port on the host machine I expect it to be accessible from the host as well. Note that it could be related to hairpin NAT, but I think that only applies to using the public IP from the host and not using the loopback address.

This behavior started after upgrading to rancher 1.2

Seems to be the same when using a Load Balancer to expose the ports.

Did some more research, this is the output of iptables -t nat -L -n | grep 25.
I've added a loadbalancer that balances both port 25 and 2500 to container port 2500.
 There are also a lot of records in the table for port 25 that are referring to IP addresses no longer in use by a container.
Could it be that Rancher is polluting the IP tables / not cleaning them up when doing service upgrades?

@leodotcloud this looks related to #6941 sound about right?

@aemneina yes, the root cause for this is 6941. The changes have been merged in. New version of network-manager (v0.2.14) has been released. Upgrade of the network-manager service and a reboot of the hosts will resolve the iptables rules problems.

@SamMousa can you try upgrading your network-manager service? Should be under stacks-> infrastructure. You should be presented with an upgrade available button for network services.

@SamMousa @leodotcloud @aemneina These changes haven't been made public yet, we're still testing internally.

Ok, thanks for the feedback.

Tested the following scenarios using - rancher/network-manager:v0.2.14.
Deploy services having exposed ports .  Able to access containers using <IP_ADDRESS>: from the host where they are running.
Upgrade the service.
We are able to continue to access containers using <IP_ADDRESS>: from the host where they are running.
Also there is also no duplicated iptable rules for opening ports on the host.

Upgrading now, will confirm if it works for me as well, and if so close this.

Works for me! Thanks!


Use this with Mouse Only?

Is it possible to use this only for the Mouse? I have a PS/2 keyboard and would like to use this for the Mouse only.
I'm seeing it register my USB mouse in the debug messages on GPIO0, but the machine does not recognize it.

Yes should work with only the mouse! Please post the debug messages.

Looks ok yes, please post a picture of the hardware and connections.

Also seems ok, which motherboard and OS do you have?

I've tried on my 2 socket 7 boards (P/I-P55T2P4 and a GMB something). DOS with ctmouse and Windows 98SE. Neither work. Both work fine with a PS/2 mouse.

Also just continuity checked again and everything matches the pinouts, no shorts, etc.

Huh, thats interessting!
I just checked with my HP t5530, this works with only the mouse.
But on my Gigabyte GA-5AX Socket 7 the mouse does not work without a ps/2 keyboard connected 🤔
So I think this is more like a motherboard problem?

It doesn't work without a ps2x2pico PS/2 keyboard (ie USB)?
I have a PS/2 keyboard connected, just not through the ps2x2pico.

Ok strange, I think thats a different problem then. I'll send you a more verbose debug version.

Please post the serial debug of this version:
mousedebug.zip

Ok theres something wrong with the hardware, we don't get any bytes from the PC.
Should look like this:
HID(1,2,NONE) mounted
 ID: 1532:0098
 Manufacturer: Razer
 Product:      Razer DeathAdder Essential

host > ms ff
ms > host fa
ms > host aa
ms > host 00
** ps2in reset sm 01
host > ms ff
ms > host fa
ms > host aa
ms > host 00
** ps2in reset sm 01
host > ms ff
ms > host fa
ms > host aa
ms > host 00
** ps2in reset sm 01
host > ms e8
ms > host fa
host > ms 00
ms > host fa
host > ms e6
ms > host fa
host > ms e6
ms > host fa
host > ms e6
ms > host fa
...

Is clock and data mixed up?

Ok, so I re-checked continuity on all of the HV side levelshifter connections to the PS/2 socket. Everything is good there. But, this time I also checked continuity from the resistors on the levelshifter to the pins on the levelshifter. Turns out the mouse data LV side was not connecting the the resistor on the levelshifter board. The trace had somehow lifted or something. Reflowed that connection, confirmed continuity, and it is working now.
Thanks for the help! Never thought the levelshifter would have a funky trace.

Cool! Thanks for debugging :) Now I'll need to check my Socket 7 board 😆


Allow trailing commas in generic type list

For consistency with the rest of ES6, it would be nice if Flow allowed trailing commas to appear in generic type lists, for example:
class Foo extends Bar<
  Baz,
  Boz,
  string, // trailing comma, yay
> {
  // ...
}

Huh, I wonder why we didn't do that in the first place...

There are probably more opportunities for trailing commas than just type parameter lists. extends lists and mixins at least.

Fixed in #1470


net: ipv6: Add Destination Options Header support

This patch adds support for IPv6 Destination Options Header
Signed-off-by: Ruslan Mstoi<EMAIL_ADDRESS>

Codecov Report

Merging #10836 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master   #10836      +/-   ##
==========================================
- Coverage   53.29%   53.27%   -0.02%
==========================================
  Files         215      215
  Lines       25843    25851       +8
  Branches     5694     5695       +1
==========================================
  Hits        13773    13773
- Misses       9754     9762       +8
  Partials     2316     2316

Impacted Files
Coverage Δ

subsys/net/ip/ipv6_fragment.c
27.41% <ø> (ø)
:arrow_up:

subsys/net/ip/ipv6.c
56.48% <0%> (-2.18%)
:arrow_down:

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 fad97ef...d680d73. Read the comment docs.


Use crates.io instead of Git for Wizer

Looks like a recent version of Wizer is available on crates.io. Was hoping switching to that would let us update to a version of Wasmtime that doesn't have a security warning but Wizer's main branch still has a dependency on 0.35.3 of a shared dependency so no luck with that.
What this change would allow us to do is publish the CLI crate to crates.io. Also it's probably easier to understand the implications of version bumps if we use crate versions instead of Git sha's for tracking changes to Wizer.

The reason why we've been keeping the git dependency is that it allows us to have access to Wizer with the latest Wasmtime faster. Can we perhaps update Wasmtime in Wizer and request a new version? FWIW I've done that in the past.

What this change would allow us to do is publish the CLI crate to crates.io
Des this mean that you cannot publish to crates.io if your crate has a git dependency?

The reason why we've been keeping the git dependency is that it allows us to have access to Wizer with the latest Wasmtime faster.

Understandable but I think using a crate version and trying to encourage the maintainers to cut a new release and only using the Git dependency when we have to seems like it would have maintainability benefits for us.

Can we perhaps update Wasmtime in Wizer and request a new version?

Yeah I can do that.

Des this mean that you cannot publish to crates.io if your crate has a git dependency?

Yep. From https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories:

Note: crates.io does not allow packages to be published with git dependencies (git dev-dependencies are ignored). See the Multiple locations section for a fallback alternative.

The reason why we've been keeping the git dependency is that it allows us to have access to Wizer with the latest Wasmtime faster.

Understandable but I think using a crate version and trying to encourage the maintainers to cut a new release and only using the Git dependency when we have to seems like it would have maintainability benefits for us.

Can we perhaps update Wasmtime in Wizer and request a new version?

Yeah I can do that.

Des this mean that you cannot publish to crates.io if your crate has a git dependency?

Yep. From https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories:

Note: crates.io does not allow packages to be published with git dependencies (git dev-dependencies are ignored). See the Multiple locations section for a fallback alternative.

Understandable but I think using a crate version and trying to encourage the maintainers to cut a new release and only using the Git dependency when we have to seems like it would have maintainability benefits for us.

I think it's ideal, but sometimes I'd prefer to use a git version especially if there are security vulnerabilities in the middle or features from Wasmtime that we need.

Oh for sure, temporarily switching back to a Git version in the event of a security vulnerability makes sense. But, in the event of a security vulnerability, I think it should be using a Git dependency temporarily with the aim of getting back on a versioned crate when a version is released that removes the security vulnerability.