Call to Node module failed with error: Prerendering failed because of error

I have cloned a fresh copy of repository, I ran it in visual studio 2017, after npm install, but when the project run it throw an exception with the following error message
Exception: Call to Node module failed with error: Prerendering failed because of error: Error: Cannot find module "domain-context"

when I refresh browser the error turn into the following error
Exception: Call to Node module failed with error: Prerendering failed because of error: Error: Zone already loaded.
at E:\Projects\universal-4\Client\dist\main-server.js:64725:15

Any Help will be really apreciated

Do you have the latest Node installed? node --version to check.
If you can, wipe out your node_modules and do a fresh npm install (or yarn install, if you have yarn), something might of loaded wrong within VS2017 I'm thinking.

I have node 7.10, I will try wipe out, if not succeed I will try yarn
Thanks so much :)

Same error.  I have node 6.9.4 installed.  wiped out node_modules ERROR: Call to Node module failed with error: Prerendering failed because of error: Error: Cannot find Module

I tried yarn option but it seems it can't build modules or something goes wrong the following message appear to me in cmd
warning<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>[4/4] Building fresh packages...
[1/1] ⠁ node-sass: checking for Python executable "python" in the PATH
[-/1] ⠂ waiting...
[-/1] ⠂ waiting...
[-/1] ⠂ waiting...
error E:\Projects\universal-4\node_modules\node-sass: Command failed.
Exit code: 1
Command: C:\Windows\system32\cmd.exe
Arguments: /d /s /c node scripts/build.js
Directory: E:\Projects\universal-4\node_modules\node-sass
Output:
Binary found at E:\Projects\universal-4\node_modules\node-sass\vendor\win32-x64-51\binding.node
Testing binary
Binary has a problem: Error: %1 is not a valid Win32 application.
\?\E:\Projects\universal-4\node_modules\node-sass\vendor\win32-x64-51\binding.node
at Object.Module._extensions..node (module.js:598:18)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at module.exports (E:\Projects\universal-4\node_modules\node-sass\lib\binding.js:19:10)
at Object. (E:\Projects\universal-4\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
Building the binary locally
Building: C:\Program Files\nodejs\node.exe E:\Projects\universal-4\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
gyp verb cli   'E:\Projects\universal-4\node_modules\node-gyp\bin\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed     at getNotFoundError (E:\Projects\universal-4\node_modules\which\which.js:13:12)
gyp verb which failed     at F (E:\Projects\universal-4\node_modules\which\which.js:68:19)
gyp verb which failed     at E (E:\Projects\universal-4\node_modules\which\which.js:80:29)
gyp verb which failed     at E:\Projects\universal-4\node_modules\which\which.js:89:16
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\index.js:42:5
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:114:15)
gyp verb which failed  python2 { Error: not found: python2
gyp verb which failed     at getNotFoundError (E:\Projects\universal-4\node_modules\which\which.js:13:12)
gyp verb which failed     at F (E:\Projects\universal-4\node_modules\which\which.js:68:19)
gyp verb which failed     at E (E:\Projects\universal-4\node_modules\which\which.js:80:29)
gyp verb which failed     at E:\Projects\universal-4\node_modules\which\which.js:89:16
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\index.js:42:5
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:114:15) code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb which failed Error: not found: python
gyp verb which failed     at getNotFoundError (E:\Projects\universal-4\node_modules\which\which.js:13:12)
gyp verb which failed     at F (E:\Projects\universal-4\node_modules\which\which.js:68:19)
gyp verb which failed     at E (E:\Projects\universal-4\node_modules\which\which.js:80:29)
gyp verb which failed     at E:\Projects\universal-4\node_modules\which\which.js:89:16
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\index.js:42:5
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:114:15)
gyp verb which failed  python { Error: not found: python
gyp verb which failed     at getNotFoundError (E:\Projects\universal-4\node_modules\which\which.js:13:12)
gyp verb which failed     at F (E:\Projects\universal-4\node_modules\which\which.js:68:19)
gyp verb which failed     at E (E:\Projects\universal-4\node_modules\which\which.js:80:29)
gyp verb which failed     at E:\Projects\universal-4\node_modules\which\which.js:89:16
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\index.js:42:5
gyp verb which failed     at E:\Projects\universal-4\node_modules\isexe\windows.js:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:114:15) code: 'ENOENT' }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (E:\Projects\universal-4\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack     at PythonFinder. (E:\Projects\universal-4\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack     at E:\Projects\universal-4\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:114:15)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\Program Files\nodejs\node.exe" "E:\Projects\universal-4\node_modules\node-gyp\bin\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd E:\Projects\universal-4\node_modules\node-sass
gyp ERR! node -v v7.10.0
gyp ERR! node-gyp -v v3.6.1
gyp ERR! not ok
Build failed with error code: 1
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

@donstarkey

Same error.  I have node 6.9.4 installed.  wiped out node_modules ERROR: Call to Node module failed with error: Prerendering failed because of error: Error: Cannot find Module main-server

Can you do an npm run build:dev to create the dist files needed to run everything? That takes care of that issue.
@alaatek
You might be running into the common node-sass issue:
https://github.com/MarkPieszak/aspnetcore-angular2-universal/issues/269#issuecomment-302469530
Might need an npm rebuild node-sass --force then npm i && npm run build:dev to rebuild everything. Let me know

Yes that worked.  I was not aware that I would have to run build dev,  Thanks for your help!!  :)

npm run build:dev works but npm i && npm run build:dev is giving me an error:
0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', 1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli   'run', 1 verbose cli   'build:dev' ] 2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild:dev', 'build:dev', 'postbuild:dev' ] 5 info lifecycle angular4-aspnetcore-universal@1.0.0-rc3~prebuild:dev<EMAIL_ADDRESS>6 silly lifecycle angular4-aspnetcore-universal@1.0.0-rc3~prebuild:dev: no script for prebuild:dev, continuing 7 info lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev<EMAIL_ADDRESS>8 verbose lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: unsafe-perm in lifecycle true 9 verbose lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\MyProject\node_modules\.bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\PROGRA~2\PVCS\vm\win32\bin;C:\Program Files (x86)\Serena\vm\win32\bin;C:\Program Files (x86)\Serena\vm\common\bin\win32;C:\PROGRA~2\PVCS\vm\common\bin\win32;c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows;C:\adb;C:\Program Files (x86)\nodejs;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\nodejs\;C:\Users\z0034sxn.SH01\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\z0034sxn.SH01\AppData\Local\Programs\Python\Python36-32\;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Users\z0034sxn.SH01\AppData\Roaming\npm 10 verbose lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: CWD: C:\MyProject 11 silly lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: Args: [ '/d /s /c', 'webpack --progress --color' ] 12 silly lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: Returned: code: 1  signal: null 13 info lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: Failed to exec build:dev script 14 verbose stack Error<EMAIL_ADDRESS>build:dev: webpack --progress --color14 verbose stack Exit status 1 14 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:255:16) 14 verbose stack     at emitTwo (events.js:106:13) 14 verbose stack     at EventEmitter.emit (events.js:191:7) 14 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14) 14 verbose stack     at emitTwo (events.js:106:13) 14 verbose stack     at ChildProcess.emit (events.js:191:7) 14 verbose stack     at maybeClose (internal/child_process.js:886:16) 14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) 15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd C:\MyProject 17 error Windows_NT 6.1.7601 18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build:dev" 19 error node v6.10.3 20 error npm  v3.10.10 21 error code ELIFECYCLE 22 error<EMAIL_ADDRESS>build:dev:webpack --progress --color22 error Exit status 1 23 error Failed at the<EMAIL_ADDRESS>build:dev script 'webpack --progress --color'. 23 error Make sure you have the latest version of node.js and npm installed. 23 error If you do, this is most likely a problem with the angular4-aspnetcore-universal package, 23 error not with npm itself. 23 error Tell the author that this fails on your system: 23 error     webpack --progress --color 23 error You can get information on how to open an issue for this project with: 23 error     npm bugs angular4-aspnetcore-universal 23 error Or if that isn't available, you can get their info via: 23 error     npm owner ls angular4-aspnetcore-universal 23 error There is likely additional logging output above. 24 verbose exit [ 1, true ]

Can you add --verbose to the script within package.json for build:dev and try running it manually ? There must be some kind of compilation error that's happening.  Is everything definitely installed properly? You could always wipe node_modules and reinstall to double check

@MarkPieszak I added --verbose here is the new npm-debug.log:
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build:dev' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild:dev', 'build:dev', 'postbuild:dev' ]
5 info lifecycle angular4-aspnetcore-universal@1.0.0-rc3~prebuild:dev<EMAIL_ADDRESS>6 silly lifecycle angular4-aspnetcore-universal@1.0.0-rc3~prebuild:dev: no script for prebuild:dev, continuing
7 info lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev<EMAIL_ADDRESS>8 verbose lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: unsafe-perm in lifecycle true
9 verbose lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: PATH: <REMOVED>
10 verbose lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: CWD: C:\MyProject
11 silly lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: Args: [ '/d /s /c', 'webpack --progress --color --verbose' ]
12 silly lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: Returned: code: 1  signal: null
13 info lifecycle angular4-aspnetcore-universal@1.0.0-rc3~build:dev: Failed to exec build:dev script
14 verbose stack Error<EMAIL_ADDRESS>build:dev: `webpack --progress --color --verbose`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:255:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:191:7)
14 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:191:7)
14 verbose stack     at maybeClose (internal/child_process.js:886:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd C:\MyProject
17 error Windows_NT 6.1.7601
18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build:dev"
19 error node v6.10.3
20 error npm  v3.10.10
21 error code ELIFECYCLE
22 error<EMAIL_ADDRESS>build:dev: `webpack --progress --color --verbose`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>build:dev script 'webpack --progress --color --verbose'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the angular4-aspnetcore-universal package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     webpack --progress --color --verbose
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs angular4-aspnetcore-universal
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls angular4-aspnetcore-universal
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

@MarkPieszak Interesting, it looks like npm run build:dev fails now too:
C:\MyProject>npm run build:dev

><EMAIL_ADDRESS>build:dev C:\MyProject
> webpack --progress --color --verbose

'webpack' is not recognized as an internal or external command,
operable program or batch file.

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "run" "build:dev"
npm ERR! node v6.10.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build:dev: `webpack --progress
--color --verbose`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:dev script
'webpack --progress --color --verbose'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular4-aspnetcore-u
niversal package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     webpack --progress --color --verbose
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs angular4-aspnetcore-universal
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls angular4-aspnetcore-universal
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\MyProject\npm-debug.l
og

Looks like webpack isn't installed in node_modules, yup

@MarkPieszak Ok so I ditched npm and tried yarn install instead. So I made a new interesting discovery, if I open the project in VS2017 and run it with Ctrl+F5 I get this unhandled exception:
An unhandled exception occurred while processing the request.

Exception: Call to Node module failed with error: Prerendering failed because of error: Error: Cannot find module 'C:\MyProject\Client\dist\main-server'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at findBootModule (C:\Users\AAAAAA\AppData\Local\Temp\tmp7DB5.tmp:111:17)
at findRenderToStringFunc (C:\Users\AAAAAA\AppData\Local\Temp\tmp7DB5.tmp:116:28)
at renderToStringImpl (C:\Users\AAAAAA\AppData\Local\Temp\tmp7DB5.tmp:75:51)
at C:\Users\AAAAAA\AppData\Local\Temp\tmp7DB6.tmp:113:19
at IncomingMessage.<anonymous> (C:\Users\AAAAAA\AppData\Local\Temp\tmp7DB6.tmp:132:38)
at emitNone (events.js:86:13)
Current directory is: C:\MyProject
Microsoft.AspNetCore.NodeServices.HostingModels.HttpNodeInstance+<InvokeExportAsync>d__7.MoveNext()

But if I open a cmd prompt in the project folder and execute dotnet run and visit the page it works! I'm not sure what's going on.

If it can't find that file, that means webpack never finished building everything.  Do you have the latest version of VS2017?

Yes, Version 15.2 (26430.6)

Make sure vs is using your PATH node version not the one that comes built in. Not sure why you're having these issues it seems like everything else is working for you though. Might just need to reboot the pc ?

How can I verify which node vs is using?

So I tried it on another computer with fresh install of node.js and ASP.NET Core SDK and I'm getting the same kind of error:
fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HL53O43CTH14": An unhandled exception was thrown by the application.
System.Exception: Call to Node module failed with error: Prerendering failed because of error: Error: Cannot find module 'C:\Users\Kyle\Source\Repos\aspnetcore-angular2-universal\Client\dist\main-server'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at findBootModule (C:\Users\Kyle\AppData\Local\Temp\tmp762B.tmp:111:17)
    at findRenderToStringFunc (C:\Users\Kyle\AppData\Local\Temp\tmp762B.tmp:116:28)
    at renderToStringImpl (C:\Users\Kyle\AppData\Local\Temp\tmp762B.tmp:75:51)
    at C:\Users\Kyle\AppData\Local\Temp\tmp763C.tmp:113:19
    at IncomingMessage.<anonymous> (C:\Users\Kyle\AppData\Local\Temp\tmp763C.tmp:132:38)
    at emitNone (events.js:86:13)
Current directory is: C:\Users\Kyle\Source\Repos\aspnetcore-angular2-universal
   at Microsoft.AspNetCore.NodeServices.HostingModels.HttpNodeInstance.<InvokeExportAsync>d__7`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.NodeServices.HostingModels.OutOfProcessNodeInstance.<InvokeExportAsync>d__14`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.NodeServices.NodeServicesImpl.<InvokeExportWithPossibleRetryAsync>d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at AspCoreServer.Controllers.HomeController.<Index>d__0.MoveNext() in C:\Users\Kyle\Source\Repos\aspnetcore-angular2-universal\Server\Controllers\HomeController.cs:line 37
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextResourceFilter>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeAsync>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame`1.<RequestProcessingAsync>d__2.MoveNext()
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 1720.0106ms 500

It seems likely that this might be more than a configuration issue.

Can you try node 7? Wondering if there's a bug with 6.10.3
Just did a fresh install as well and not seeing it 😓 @k-vekos

Can you make sure visual studio is using your Node Path?

See $(PATH) ? Move that to the TOP

Here's what I had configured:

I tried moving $(PATH) to the top and rebuilding, same error still. I'll try Node 7 next.

Installed Node v7.10.0, ran npm rebuild node-sass --force and npm i && npm run build:dev and now it works!

It must of been an issue with Node 6.10.3 perhaps, that's crazy. But I'm glad we figured it out!! 🎁👍👍 @k-vekos Thanks for not giving up 🙈

@k-vekos @MarkPieszak
I had a similar problem, related to the fact that wrong versions of Node.js and npm were used to compile (webpack) and serve the JS app, when initiated from Visual Studio 2017.
It appears that the $(VSINSTALLDIR)\Web\External (or ...\Web Tools\External in @MarkPieszak 's screenshot) path contains Visual Studio 2017's built-in (older) version of Node.js and npm.
The most important thing in Visual Studio 2017's Locations of external tools list is that Node's path (recent version) and the $(PATH) are above the $(VSINSTALLDIR)\Web\External path and all VS-related ...\External paths.

error on npm rebuld node-sass --force
[cid:7181a65b-dcb3-4129-ab12-3aaaeb30ed62]
Any help greatly appreciated.
thanks,

From: Mark Pieszak<EMAIL_ADDRESS>Sent: Wednesday, May 24, 2017 1:35 PM
To: MarkPieszak/aspnetcore-angular2-universal
Cc: donstarkey; Mention
Subject: Re: [MarkPieszak/aspnetcore-angular2-universal] Call to Node module failed with error: Prerendering failed because of error (#279)
@donstarkeyhttps://github.com/donstarkey
Same error. I have node 6.9.4 installed. wiped out node_modules ERROR: Call to Node module failed with error: Prerendering failed because of error: Error: Cannot find Module main-server
Can you do an npm run build:dev to create the dist files needed to run everything? That takes care of that issue.
@alaatekhttps://github.com/alaatek
You might be running into the common node-sass issue:
#269 (comment)https://github.com/MarkPieszak/aspnetcore-angular2-universal/issues/269#issuecomment-302469530
Might need an npm rebuild node-sass --force then npm i && npm run build:dev to rebuild everything. Let me know
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MarkPieszak/aspnetcore-angular2-universal/issues/279#issuecomment-303813192, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQBYCtSSRBAG8sUUy-XJftXauF-9JbaQks5r9HhvgaJpZM4NlHlm.

I ran into something similar with node-sass actually.  I believe it kept complaining about missing python.  Once I got python setup with the proper node path (VS vs node I installed globally), I was able to get the rebuild on node-sass working and webpack started working properly.
Interesting point on the path order.  Wonder if changing that will fix the task runner?  I always use developer command prompt to run npm run build:dev since task runner keeps failing with the node-sass error.

It should fix that yes, give it a shot and let us know!

Yea, it did work, nice to have npm and webpack runners working properly.


[Feature request] Perfetto - Display browser tab title alongside renderer view

Thanks for this great tooling!
Feature request: It would be useful to display the corresponding browser tab title of a renderer. The Perfetto UI has that displayed and I find it a useful information for identifying interested processes/threads.

Available in 1.5


If 0 workers are requested on the command line don't start any

It seems that there's no way to tell the server not to start any local workers.  Using --local=0 was what I expected would turn off any local workers, but that didn't seem to work.  Maybe I misunderstood how the command should be used, but if not this will fix that.

To start the server with 0 local workers, just avoid to specify --local (or -l) option.
The value 0, default argument to --local, is used to start as many workers as CPUs, without having to know the number CPUs. Let's keep it that way.
Looking at it, I see there is some confusion in the command line arguments between --local, which works but is misnamed, and --nworker which is broken and should be removed.

Just saw your issue #82 which addresses the same point as my last comment!

👍


set axis/t0 qualifier

Reported by Jonathan S Callahan on 23 May 2002 20:20 UTC
The SET AXIS command should accept any Ferret recognized netCDF axis attribute.
I currently have a dataset with a time axis of hours relative to "01-Jan-1999
00:00" but I cannot fix it with SET AXIS.  Instead I have to create a new axis,
new grid and regrid each variable in the dataset.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/397

Comment by<EMAIL_ADDRESS>on 5 Nov 2003 22:33 UTC
move to Ferret Tasks, reassign to Ansley

Comment by<EMAIL_ADDRESS>on 5 Nov 2004 19:15 UTC
Done in Ferret version 5.70

Comment by<EMAIL_ADDRESS>on 5 Nov 2004 19:20 UTC
Changing Component of bugs in "Ferret Tasks" from All to Main


Add Error.prepareStackTrace support

To enable support for stack traces within applications using QuickJS, it would be ideal to support some form of the non-standard Error.prepareStackTrace API.
I have a fork of QuickJS where I am using this, you can re-use the implementation from there if desired: https://github.com/TooTallNate/quickjs/commit/29339cc8c4bb4867a8798b0575f42964dcda30f9

Yep I'd like us to have it. The Frida fork also has an implementation, I'll take a look and see what the differences are.
While we're at it it would be nice to add sourcemap support to the CLI :-)

The Frida implementation: https://github.com/frida/quickjs/commit/78fd25fed8fd0a2903f6038ab10bbae71ff968b4

Relevant implementation detail: V8 passes in a list of CallSite objects with the following methods:
getColumnNumber
getEnclosingColumnNumber
getEnclosingLineNumber
getEvalOrigin
getFileName
getFunction
getFunctionName
getLineNumber
getMethodName
getPosition
getPromiseIndex
getScriptNameOrSourceURL
getThis
getTypeName
isAsync
isConstructor
isEval
isNative
isPromiseAll
isToplevel

Also somewhat related to this, is QuickJS's stack traces seem to not include column number information, which makes resolving source maps of minified files basically useless. Would be nice to rectify that, but I had no idea how to do so when I was digging through the code.

#149 for column numbers. PR welcome if you're up for it :)


Document usage of new micro-components

Typography

[x] Font Style
[x] Font Size
[x] Font Weight
[x] Vertical Align
[x] Text Decoration
[x] Text Transform
[x] Leading
[x] Alignment
[x] Whitespace
[x] Tracking

Layout

[x] Box Sizing
[x] Floats
[x] Clearfix
[x] Display
[x] Widths
[x] Max Widths
[x] Heights
[x] Position
[x] Spacing

Theming

[x] Colours
[x] Background Colours
[x] Borders
[x] Box Shadow

Refs #101.

@jrah The branch you should pick up for these changes is: feature/104-module-docs.

This was added all as part of #123.


Please review and approve this: https://github.com/ppc64le-cloud/powervs-csi-driver/pull/59


Add multiversion switcher into documentation

🚀 Feature Request
Currently, we have two versions of documentation: latest and stable. We should add switch to choose between them.
Proposal
Add switcher into latest version.
Set up the theme to point to the latest switcher.
Configure checking matching version.
Test cases
No response
Additional context
Is blocked by #52.

Closed by #55.


various improvements and fixes for use_ros_control=true

We spent a bit of work these days trying to get the ros_control version of this package to run nicely.
The attached patches make our UR5 work with the ros_control version.
We can switch controllers, use position_controllers/JointTrajectoryController, velocity_controllers/JointTrajectoryController (although the latter is not nicely parameterized ootb), but also position_controllers/JointGroupPositionController and - in theory, but as of yet untested velocity_controllers/JointGroupVelocityController.
With a low nice value and a low-latency kernel, the driver operates the arm without stumbling using either JointTrajectoryController.

Thanks a lot!

Thanks for you contribution and communication.
Since I agree with you that both ways of handling the lower bound on call rates are weird I decided to merge as is and think about a better solution :-)


IntelliJ 2022.3 compatibility

Ensure compatibility with latest IntelliJ version.
Depending on usage statistics, we may also want to consider dropping support for some older versions or deprecating some.
According to https://plugins.jetbrains.com/docs/marketplace/product-versions-in-use-statistics.html :

In general, statistics show the following trends:
It makes sense to support the latest major release, as well as at least two previous major releases (in this case, you are covering the majority of the users — on average, it's somewhat 80%). This % doesn't change from product to product much.
The latest version of the product is used by roughly 50% of the users (and it does take some time to upgrade to the newest version, especially in the companies, so it may be a bit lower at the moment).
The latest major release minus three major versions have roughly 10% userbase.

Here we said that the plugin will only be compatible with the latest version of IntelliJ 2022.3 right? Also to close this task we need new icons for the new UI

@Stelios123 from what I see written above:

It makes sense to support the latest major release, as well as at least two previous major releases

so, no, we shouldn't only support 2022.3 , right?

After further discussion with @Stelios123 / @JChrist, we decided to only support 2022.3 in 0.3.0 due to the major / breaking changes introduced by Jetbrains in this release. Considering 0.3.0 is only going to be an alpha release (due to the rad CLI upcoming changes with heartwood - which mean the current version of the plugin cannot rely on a specific version of rad to pull all required info that we want to display in the UI), we don't see this as a blocker for 0.3.0.
Depending on when we have a plugin version that works on heartwood, we can revisit and introduce support for older versions, if it is worth the investment (in terms of % users still on pre-2022.3 versions at that point in time).


Update LAB[PL-400]_Lab08_Publishing_events.md

Module: 00
Lab/Demo: 00
Fixes # .
Changes proposed in this pull request:

Submitted by Karl on behalf of MOC Labs Review


Proximal Galerkin method for the obstacle problem

This example code demonstrates the use of MFEM to solve the bound-constrained energy minimization problem
\text{minimize~~} \| \nabla u \|^2
\text{~~in~} H^1_0(\Omega)
\text{~~subject to~} u \geq \phi

This is known as the obstacle problem, and it is a simple mathematical model for contact mechanics.
In this example, the obstacle $\phi$ is a half-sphere centered at the origin of a circular domain $\Omega$. After solving to a specified tolerance, the numerical solution is compared to a closed-form exact solution to assess accuracy.
The problem is discretized and solved using the proximal Galerkin finite element method, introduced by Keith and Surowiec [1].
This example highlights the ability of MFEM to deliver high-order solutions to variational inequality problems and showcases how to set up and solve nonlinear mixed methods.
[1] Keith, B. and Surowiec, T. (2023) Proximal Galerkin: A structure-preserving finite element method for pointwise bound constraints (in preparation).

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#3398
@brendankeith
@tzanio
@psocratis + @jwang125
1/8/23
⌛due 1/22/23
⌛due 1/29/23

PR Checklist

[x] Code builds.
[x] Code passes make style.
[x] Update CHANGELOG:

[x] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[x] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[x] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[x] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[x] New examples:

[x] All sample runs at the top of the example source file work.
[x] Update examples/makefile:

[x] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[x] Add any files generated by it to the clean target.
[x] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

Sorry for renaming this... at a first glance I thought it is a misspelling of MFEM, but I realized I was wrong after reading the PR description.
Cool idea!

Sorry for renaming this... at a first glance I thought it is a misspelling of MFEM, but I realized I was wrong after reading the PR description.
Cool idea!

No worries. Thanks.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Please fix the CI errors and mention in CHANGELOG

@psocratis and @jwang125, can you please review when you get a chance?

Yes I will.

ex34 and ex34p compiles and runs as expected.

Is there a reference available to the entropic finite element method?

Approved. When the paper is published, perhaps we can add the reference.

Please resolve conflicts

There are several shadowing issues in ex34.cpp, can you please address them:
g++ -pedantic -Wall -Werror -Wshadow --coverage -fPIC -g -O3 -std=c++11 -I..  ex34.cpp -o ex34 -L.. -lmfem
ex34.cpp:245:45: error: declaration shadows a local variable [-Werror,-Wshadow]
         ExponentialGridFunctionCoefficient exp_psi(psi_gf, zero);
                                            ^
ex34.cpp:210:39: note: previous declaration is here
   ExponentialGridFunctionCoefficient exp_psi(psi_gf,obstacle);
                                      ^
ex34.cpp:370:42: error: declaration shadows a local variable [-Werror,-Wshadow]
      ExponentialGridFunctionCoefficient exp_psi(psi_gf,obstacle);
                                         ^
ex34.cpp:210:39: note: previous declaration is here
   ExponentialGridFunctionCoefficient exp_psi(psi_gf,obstacle);
                                      ^
g++ -pedantic -Wall -Werror -Wshadow --coverage -fPIC -g -O3 -std=c++11 -I../..  -c util/complexstaticcond.cpp -o util/complexstaticcond.o
2 errors generated.

There are also memory leaks, see https://github.com/mfem/mfem/actions/runs/5237719747/jobs/9456086613?pr=3398

One of the checks seems to be failing in tmop (https://github.com/mfem/mfem/actions/runs/5284085336/jobs/9561148670?pr=3398#step:23:236). Can someone help me to understand what is going on here and what to do about it?
@bslazarov @tzanio

Not sure if this is a real issue... let me try re-running the tests

@psocratis, what else is left for this PR? We are planning to post the paper soon

Merged in next for testing...

There is already Example 34 and 35 in next due to https://github.com/mfem/mfem/pull/3379.
Can you rename to Example 36 please?


Indent child task descriptions when running help command

p-s version: 3.0.1
node version:  6.9.1
npm version:  3.10.8

Scripts file (or at least the relevant bits):
https://github.com/kentcdodds/p-s/blob/master/src/bin-utils/index.js

The command executed:
./node_modules/p-s/dist/bin/nps.js help

The output:
dev - DEVELOPMENT: Build CSS, build and run server, build, serve and watch client - npm start dev.build-sass,dev.runServerRunClientAndWatchSass
dev.buildServerAndStart - npm start dev.build,start

Problem description:
Tasks that are namespaced do not render out indented.
Suggested solution:
Output any nested tasks with spaces to indicate they are children of parent task

Hi @gunnx! Thanks for the issue. I'd be good with that! Would you like to makeapullrequest.com?

Ok will give it a try!


feat: to_plain_state

Closes #1777 by adding a non-consuming API for generating StateChangeset
There's some DRYing to be done.

I went ahead and gave the same treatment to a few other functions used in the reth DB api


[Bug] Peers are not sufficiently connecting to each other

🐛 Bug Report
It seems that our nodes are not connected as optimally as we'd like. Perhaps existing PRs (link) will improve the situation
Steps to Reproduce
Set up a network with 10 validators and 100 clients. The 10 validators should connect to each other, and each validator should connect to 10 trusted peers using --peers. We would prefer snarkos_router_connected_total to approach 19, but it is only 8.

Some further observations when testing with commit b1bd3bf7457a162641b835d97adb8b6405bef6ed (branch optional_node_ip):

In the past, the validators logged Connected to ... peers [...] not only for clients but also for validators. It seems like currently it shows only clients, or when no clients are running, it shows No connected peers
Client connections seem to be dropped, potentially for reasons other than a PeerRefresh. One log I saw after dropping was WARN Attempted to send to a non-connected peer ...

We should check that this PR did not introduce a regression: https://github.com/AleoHQ/snarkOS/pull/3163


Got a message JSStringToPointer could not be located in jscript9

Hello,
I've developed COM component based on chakra engine.
I'm building it one a machine where IE11 is installed. I link with jsrt.lib
When I'm running it on another machine with IE11 installed it works fine, but when I come to register it on a machine with IE10 I get the following Error "The Procedure entry point JsStringToPointer could not be located in JSCRIPT9.dll"
Doesn't IE10 engine support that? Is it something else?
Any assistance would be appreciated.
Best,
Ofer

That's not supported in IE10.

Should that be the same between IE10 & IE11? I didnt see any comment sin documentation about that (only about differences between edge and IE)
So basically I should Link against the ChakraCore, and make Sure I have the right version?

To be clear JSRT hosting interface for Chakra is available since IE11 (documentation). ChakraCore on the other hand goes all the way back to support Windows 7 SP1.


HTA08.v01.A05.Science_human_hsc

Dataset/group this task is for:
A cell atlas of human thymic development defines T cell repertoire formation

ticket link to DCP wrangling ticket
link to ingest UI

Relevant People

Wrangler
Contributor
dev

Primary Wrangler:
Associated files

SOP
Knowledge Sharing Drive
*Ingest-cellxgene-submitter
*Cellxgene-schema
*Cellxgene-schema-validate
*Cellxgene-submit-collection

Published study links

Paper:

Accessioned data:

Key Events

[ ] Collect necessary matrix, cell-type annotation, and embedding files
[ ] Modified var layer to meet cellxgene schema (adding feature_is_filtered)
[ ] Created/Modified raw.var to meet cellxgene schema
[ ] Modified obs layer to meet cellxgene schema
[ ] Created uns layer to meet cellxgene schema
[ ] Ensured obsm layer is present
[ ] Created h5ad with processed component parts using AnnData
[ ] Created h5ad with raw matrix and raw var using AnnData
[ ] Filtered ENSEMBL IDs from annotated and raw matrix
[ ] Combined processed and raw h5ad to one h5ad object
[ ] Run cellxgene-schema validate
[ ] Secondary review (?)
[ ] Submitted to collection in cellxgene

ongoing.

@ESapenaVentura and @Wkt8 to discuss how to proceed with the dataset, and to speak with the authors about the raw data.


Legion patches

A continuation of #260 and eliminates the need of #183 come Legion.
This contains changes to the classicons and related elements, can't do much else without testing it in-game on each class.
All of the changes have fallback methods to the live game.
I will keep on pushing to this branch as I find more things that needs changes/fixes.

Suggestion: merging all the class/spec-specific tags into one (call it "classpower" maybe).
Would avoid many instances of having tag fonstrings being polled onupdate instead of by events simply because there are this many of them.

I merged this into my local version for testing on Alpha. When I logged in I got this error:
1x ...terface\nibRealUI\Libs\oUF\elements\power.lua:118: attempt to index field 'Private' (a nil value)

The Private table is set to nil before any of the elements get loaded. What I've done for the moment is move the load of finalize.lua to after the last element, elements\stagger.lua.
Other than that, the changes seem to work fairly well, though I've only tested the classicons so far.

I'll fix that, the entire PR is drycoded since I don't have access to the alpha/beta yet.

Just change
'local oUF = ns.oUF'
to
'local oUF = ns.oUF or oUF'?

Nah, I'll have to move the beta variable away from the private namespace, basically refactoring the PR.

I forgot one thing actually, the UpdateTexture function in classicons does not have a condition for Mages (Arcane Charges) or for Rogue/Druid (Combo Points)

After additional testing, I've isolated the following issues:
classicons

As mentioned in my previous comment, UpdateTexture does not account for combo points or arcane charges.

Word of Glory is a talent in Legion so it is no longer a reliable requirement; however, since only Retribution has Holy Power, just checking spec should suffice.

SPELL_POWER_COMBO_POINTS is available on live realms and can get points from UnitPower(Max), so there is no need to have an isBetaClient check for combo points. This also means that the cpoints element can be deprecated now in favor of classicons

runebar

There is a typo in the UpdateRune function where runes is indexed with i instead of rid

tags

The spec check in holypower is using == when it should be ~=.

power

This isn't really an issue with oUF so much as it is with Blizzard. The indexed portion of PowerBarColor (and by extension oUF.colors.power) is not 100% accurate.

Combo Points should be at index 4
Chi is supposed to be at index 12
Arcane Charges are missing from index 16

I have reported this to Blizz so if they decide to fix it, this portion will need changes too.

This patch contains the changes I've made. It has been tested on both Live and Alpha.

Word of Glory is a talent in Legion so it is no longer a reliable requirement; however, since only Retribution has Holy Power, just checking spec should suffice.

The reason for checking Word of Glory is/was because it's the trigger spell (from a specific level) where Holy Power becomes relevant.
I'm going to work on this PR soon, preferably with access to the beta servers so I don't have to drycode everything.

The reason for checking Word of Glory is/was because it's the trigger spell (from a specific level) where Holy Power becomes relevant.

Fair enough. If you intend to carry this forward, the first spell that uses Holy Power in Legion is Templars Verdict at level 10.

Went over your patch and rebased it into the PR, thanks for testing!
If you find more spells like with Templar's Verdict, let me know.

I was actually looking at some of the early spells and found that Crusader Strike doesn't even give Holy Power until level 10, and is the only generator until 16. So my original solution is still valid, but it works either way.

Found a few more issues; tapping is deprecated (in the sense of how it used to work), and there seems to be an issue with portrait updates. Will test more when I get back home next week.

Another thing is the DruidMana element should also support dps specs for Priest and Shaman, who now have a different primary resource, but still have mana for heals and utility.

Another thing is the DruidMana element should also support dps specs for Priest and Shaman, who now have a different primary resource, but still have mana for heals and utility.

Should already be covered by the element, although it could do with a new name (not in the scope of this PR? @haste comment on this)

Should already be covered by the element, although it could do with a new name (not in the scope of this PR?

True, though it still has a hard return at the top of the file if you're not a druid, and the class color option assumes Druid.

@Gethe Pretty much rewrote DruidMana, used a power pairing table from the default UI: https://github.com/Gethe/wow-ui-source/blob/9396ea5331e1bd79fda2a5d32ea4668eb25e58ae/FrameXML/AlternatePowerBar.lua#L69-L79

@p3lim, hi! I found couple of issues. First one is here, I dun think we should update textures, if icons aren't textures. There's also an issue w/ combo points and druids, only feral druids use them, but right now combo bar is enabled for all druid specs.

Another one, stagger bar doesn't work. Can be fixed by replacing STANCE_OF_THE_STURY_OX_ID ~= GetShapeshiftFormID() with SPEC_MONK_BREWMASTER ~= GetSpecialization() here.

@ls- Thanks, will look into both tomorrow.

BTW, there's a mana cost prediction right now, why don't we add one as an element akin to heal prediction?

There's also an issue w/ combo points and druids, only feral druids use them, but right now combo bar is enabled for all druid specs.

The 3rd tier of talents for druids allow them to use parts of other specializations, so choosing Feral Affinity there gives any druid spec cat abilities.
Nevertheless, the element would not show combo points unless the player has gotten some, so there shouldn't be any issue.
If the layout really wants to mimic the default unitframes they can handle that themselves, but (in my opinion) it's not something that oUF should handle.
Example implementation:
local function UpdateDruidForm(self, event)
	local element = self.ClassIcons

	local shouldShow = GetShapeshiftFormID() == CAT_FORM
	local cur = UnitPower('player', SPELL_POWER_COMBO_POINTS)
	for i = 1, element.__max do
		if(shouldShow and i <= cur) then
			element[i]:Show()
		else
			element[i]:Hide()
		end
	end
end

-- in style
if(select(2, UnitClass('player')) == 'DRUID') then
	self:RegisterEvent('UPDATE_SHAPESHIFT_FORM', UpdateDruidForm)
end

BTW, there's a mana cost prediction right now, why don't we add one as an element akin to heal prediction?

Will have to look at the default code for that, maybe something that could be considered.

Also, since combo points was introduced in classicons, the cpoints element could (and IMO should) be removed.

Will have to look at the default code for that, maybe something that could be considered.

Function code is here, and here's how it's called. IMHO, we should add it. I may right pcp element tomorrow.

Combo points are not tied to druids and rogues only. There is Aces High! and I think the Malygos encounter and one more in The Nexus where you fight in a vehicle. This is also bugged on Beta right now, because UnitPower("vehicle", SPELL_POWER_COMBO_POINTS) always returns 0 despite of UNIT_POWER_FREQUENT firing for the vehicle unit. GetComboPoints("vehicle") returns correct results. The default ui fails to handle that for other reasons too.

Ah, damn, always forget about vehicle combo points T_T Haven't seen them in a while...

So today I wrote something like this, I also made it work w/ alt power source a.k.a. DruidMana bar.
There are two ways to implement it:
A) Akin to heal prediction element, and that's how I did it, a table containing two status bars, i.e. mainBar and altBar, mainBar is used as power cost prediction bar for main power source bar, and altBar is used for alternative one, if any.
B) As a single status bar, which can be re-anchored in layout. TBH, I'm not sure that scenario w/ two visible pcp bars is even possible.
Tell me which way to do it, and I'll create a proper pull request. Or I'll make it into oUF plugin :grin:

@ls- Does it alter the original power element or adds to it?

It adds a new texture on top of it. Pretty much like the (heal) absorb bar

@p3lim, what @Rainrider said. A new bar on top of it. For now I implemented it as a set of two status bars, cuz I was a bit lazy while drycoding, hehe, but I was going to rewrite them as textures anyway.
Sooo.. What should I do?
A) One texture for two bars, that needs to be re-anchored in element's post-update by layout;
B) Two textures, that need to be anchored only once at their creation;
C) Make it completely blizzlike, one texture for main power bar only.
PCP doesn't change any other oUF element and is absolutely independent, can be anchored to anything, even centre of the screen :D
Current update code:
local function Update(self, event, unit)
    if(self.unit ~= unit) then return end

    local pcp = self.PowerCostPrediction

    if(pcp.PreUpdate) then
        pcp:PreUpdate(unit)
    end

    local _, _, _, _, startTime, endTime, _, _, _, spellID = UnitCastingInfo(unit)
    local mainPowerType = UnitPowerType(unit)
    local hasAltPowerBar = ALT_MANA_BAR_PAIR_DISPLAY_INFO[playerClass] and ALT_MANA_BAR_PAIR_DISPLAY_INFO[playerClass][mainPowerType]
    local isStarting = event == "UNIT_SPELLCAST_START"
    local mainCost, altCost = 0, 0

    if(isStarting or startTime ~= endTime) then
        local costTable = GetSpellPowerCost(spellID)

        for _, costInfo in pairs(costTable) do
            --[[costInfo content:
                -- name: string (powerToken)
                -- type: number (powerType)
                -- cost: number
                -- costPercent: number
                -- costPerSec: number
                -- minCost: number
                -- hasRequiredAura: boolean
                -- requiredAuraID: number
            ]]
            if(costInfo.type == mainPowerType) then
                mainCost = costInfo.cost

                break
            elseif(costInfo.type == ADDITIONAL_POWER_BAR_INDEX) then
                altCost = costInfo.cost

                break
            end
        end
    end

    if(pcp.mainBar) then
        pcp.mainBar:SetMinMaxValues(0, UnitPowerMax(unit, mainPowerType))
        pcp.mainBar:SetValue(mainCost)
        pcp.mainBar:Show()
    end

    if(pcp.altBar and hasAltPowerBar) then
        pcp.altBar:SetMinMaxValues(0, UnitPowerMax(unit, ADDITIONAL_POWER_BAR_INDEX))
        pcp.altBar:SetValue(altCost)
        pcp.altBar:Show()
    end

    if(pcp.PostUpdate) then
        return pcp:PostUpdate(unit, mainCost, altCost, hasAltPowerBar)
    end
end

This is also bugged on Beta right now, because UnitPower("vehicle", SPELL_POWER_COMBO_POINTS) always returns 0 despite of UNIT_POWER_FREQUENT firing for the vehicle unit.

@Rainrider It's like that on live too, oddly enough UnitPowerMax('vehicle', SPELL_POWER_COMBO_POINTS) works fine.

@p3lim, could you please add powerType arg to classicons' PostUpdate? O_o That'd be really nice.

Oh, about runebar, this block should be changed, cuz it prevents PostUpdate callback from being called.
if(UnitHasVehicleUI'player') then
	rune:Hide()
else
	rune:Show()

	local start, duration, runeReady = GetRuneCooldown(rid)
	if(runeReady) then
		rune:SetMinMaxValues(0, 1)
		rune:SetValue(1)
		rune:SetScript("OnUpdate", nil)
	else
		rune.duration = GetTime() - start
		rune.max = duration
		rune:SetMinMaxValues(1, duration)
		rune:SetScript("OnUpdate", OnUpdate)
	end
end

Something like this might be a better solution.

Is there a particular reason behind all the beta build checks and the maintained compatibility with the live master branch?
It becomes increasingly difficult to track legion changes und this issue is already hard enough to get hold off because of all the different topics that arise.
Wouldn't it be easier if we either did PRs against p3lim's legion branch or if we had an official beta branch like it used to be?

@ls- I think the whole UpdateRune function is redundant and should be moved to Update. Also calling UnitHasVehicleUI 6 times instead of 1 is a waste.

@Rainrider The reasoning behind the checks is that there is one version that is compatible with both clients, rather than separating the project into two versions we'd (or rather haste) has to track.
Having a specific branch we could base our PRs against would be nice, but it'd have to be on the original repository, not a fork like mine, it'd be hard for everyone to track that.
But that is all up to haste, he has yet to input on anything in this PR.

@ls- I think the whole UpdateRune function is redundant and should be moved to Update. Also calling UnitHasVehicleUI 6 times instead of 1 is a waste.

I agree, the runes have been simplified a lot the past few expansions, a cleanup would do well.

The reasoning behind the checks is that there is one version that is compatible with both clients, rather than separating the project into two versions we'd (or rather haste) has to track.
Having a specific branch we could base our PRs against would be nice, but it'd have to be on the original repository, not a fork like mine, it'd be hard for everyone to track that.
But that is all up to haste, he has yet to input on anything in this PR.

I think maintaining compatibility between live and beta is just more work. Add compat first and remove it later. Having a beta branch makes it all much lighter - less conditional branching, easier maintaining, no constraints on renaming elements (DruidMana, ClassIcons). When Legion gets released just merge the beta branch and all is done.
Also I'm not sure if I am doing it right and welcome comments on that, but currently I have like 5 different remotes on my local oUF repo, a legion branch that tracks p3lim's legion branch and another legion branch where I merge p3lim's and ls-'s changes (which I track manually through mail notifications when the relevant PRs are updated). If someone does a rebase, I throw everything away and start over. This is an overkill.

Also I'm not sure if I am doing it right and welcome comments on that, but currently I have like 5 different remotes on my local oUF repo, a legion branch that tracks p3lim's legion branch and another legion branch where I merge p3lim's and ls-'s changes (which I track manually through mail notifications when the relevant PRs are updated). If someone does a rebase, I throw everything away and start over. This is an overkill.

This all assumes that PRs get constantly merged, if they don't you still have to go through the same process.

Heh, so I'm not the only one who thinks that runebar need an overhaul. That's good.
Yeah, managing many branches may be pain in the ass, I also feel sorry for anyone who tracks my reps T_T Today I pruned couple of branches and rebased many things.

I think the whole UpdateRune function is redundant and should be moved to Update. Also calling UnitHasVehicleUI 6 times instead of 1 is a waste.

@Rainrider Actually, because of how RUNE_POWER_UPDATE works (per-rune updates) and how we need to iterate over all 6 when we force-update (PEW/RefreshUnit/ForceUpdate), and if we want to provide PreUpdate, calling UnitHasVehicleUI 6 times at once is the better solution, and it's a rare occurance anyways.

This PR has gotten to the point that it's hard to work out what has changed or not, and having 40+ comments does not help haste at all.
So, upon request I've split it up into multiple PRs, each for their own changes/element.
Power colors: #267
Tapping: #264
Tags: #265
ClassIcons: #266
DruidMana: #268
Runes: #269
Eclipse: #270
Stagger: #271
CPoints: #272


i18n: Fix missing translation tags in validate_stream_message_address_info

The validate_stream_message_address_info function in our compose code path doesn't tag all of the strings it uses for internationalization.
Fixing this is a great bite-size issue for someone new, but make sure to read about how i18n.t works and the i18next library.  See https://zulip.readthedocs.io/en/latest/translating.html as a useful resource.

I would like to work on this.

@tulikavijay you can comment with @zulipbot claim to claim the issue; welcome ;)

@zulipbot claim

@zulipbot claim

@timabbott sorry i had my exams so I couldn't work on this. Also I am having a slight issue that I can't figure out. Everything is being translated except the variables which are closely spaced like bold____streamname_ .

@umairwaheed can you help debug this?

Yeah.

@tulikavijay are you still working on this or can I claim it to try?

Sure go ahead.

@zulipbot claim

@zulipbot, claim


Intercepting sse messages with service worker

Can messages from an sse event-stream be intercepted by a service worker when using this package?

This package doesn't do any network operations - it just parses a stream of data. But I would assume you could implement a service worker that intercepts a fetch request, yes.


Possibility to calculate diff without applying the changes (patching) to the dom

I would like to calculate the diff between two trees, without patching, because it will be done in a webworker (without access to the DOM).
Similarly to what is done here: https://github.com/Matt-Esch/virtual-dom
var patches = diff(tree, newTree);
rootNode = patch(rootNode, patches);

Can this be done in this vdom implementation?

@cjh9 I haven't explored this idea in picodom because of the size limitation and because there are libraries that already do it, and I am personally more interested in improving the diff algorithm.
It would be cool, though if you or anyone worked on this as a fork or picodom spin-off.
https://github.com/hyperapp/hyperapp/issues/216

from what i remember, the overhead of webworker communication usually erases any perf gains and ends up behind. this may have been before Transferable Objects though, and you'd gain some async properties by doing this, even if not speed.

@leeoniya This is not the case in my case, I'm rendering a huge tree which sometimes blocks the UI (even though the dom-change is very small)

a huge tree

can you quantify this? how many DOM nodes?

@leeoniya I'ts a markdown editor that converts to virtual dom, so i'm just testing corner cases with large documents. If printed the document will be ~100 pages (not that it will tell you that much, it ofc depends on the font size etc 😅 ) I haven't calculated the actual number. So then it takes in the order of 0.5s to do the diff + patch + browser render...

I haven't calculated the actual number.

open devtools and run document.querySelectorAll("*").length

@leeoniya 100102 nodes, numbers in milliseconds:
Markdown 281.75
KATEX 1253
Parse Tree 519 (HTML -> syntax tree)
Convert tree to Vnodes 785 (recursive create the vnode tree)
DOM ready 1196 (picodom.patch, requestAnimationFrame fired in a MutationObserver)
TOTAL TIME 2741.2550000000047

yeah, that's a lot. virtual dom in general is not well suited for enormous documents or stuff like syntax coloring that must generate tons of dom. pagination would be an obvious suggestion here, both for the browser (mch smaller dom) and the vdom lib (smaller vtree). you may get better results with projects like prosemiror [1] and mobiledoc [2].
[1] http://bustle.github.io/mobiledoc-kit/demo/
[2] https://prosemirror.net/

@leeoniya Yes, but this is just a corner-case. The render time is fine especially since most of the work can be done in a web-worker. However, if I could do the diffing in another thread it would be awesome! When typing the dome-changeing is typically very small. Do you know of any other vdom implementation that can do diffing separately?

Do you know of any other vdom implementation that can do diffing separately?

not off the top of my head, but definitely look through [1]. i dont think you will find any fast libs that can do this for the following reason: they patch iteratively rather than figuring out an "ideal" diff in advance and then applying it. i suspect that virtual-dom's patches are not the ideal dom-ops case in many situations that need complex reordering. i think you're on the right track by asking this question in petit-dom's repo, since it claims to implement the ideal diff/moves (as does ivi). however, looking at petit's code, it also does patching as part of the diffing process and may also be iterative to some extent.
[1] https://github.com/krausest/js-framework-benchmark

@cjh9 You definitely need a strategy to work with large files. I think @leeoniya's paging idea is worth researching a bit.
Even if I tell you picodom will do what you want, it couldn't  possibly happen in just a few weeks, so you have ample time to explore other options.
I found this for you:

https://github.com/snabbdom/snabbdom/issues/197

@leeoniya I see, so the problem with MobileDoc is that it seems I can not render math. I want to do markdown+latex.. and to my knowledge Katex is the only fast option for the web right now.
I thought i was going to be able to do it with virtual-dom, but it turns out that the datastructures are typed. I have to do some kind of custom serializer (plain JSON won't work).
https://github.com/Matt-Esch/virtual-dom/blob/947ecf92b67d25bb693a0f625fa8e90c099887d5/vnode/is-vnode.js
@JorgeBucaran I'm afraid pagination won't work in this case. Everything would be fine if there was a virtual-dom library that could calculate the diff separately in a webworker and serialize it to plain JSON. The dom-patch will be tiny in a huge document like this if the algorithm is correct, because you usually just type in one character at a time.
Thank you for the link and the concern, I will continue look around.

@cjh9 Cool! Thanks,

Possibly unrelated, but I noticed that createElement knows about isSVG, but setAttribute does not - and I've noticed some other libs use setAttributeNS when seting SVG attributes. Could this be for performance reasons? Just a thought.

@cjh9 i randomly stumbled upon this [1] today, which sounds like exactly what you're asking for.
[1] https://github.com/Gozala/dominion


docs(coding-guidelines): add note for test file with private headers

Description
From https://github.com/autowarefoundation/autoware.universe/pull/3876#discussion_r1234166585. If you put the private header in src directory, you can't include it from the test directory, so I add a solution.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The Reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

After looking into the rest of the current file, It might make sense to put it to both places or reference one from another.

After talking with @mitsudome-r san and @yukkysaito san, we decided to add an mrm_route, as the difference between normal_route and route was confusing. This makes it easier to understand that route is the currently selected one of these routes.

@xmfcx Thank you. I moved it to unit testing page and added the link to directory structure page.


3 new pids added

service Interval (KM)
Notes:
Electric Vehicles (EVs): Generally have fewer moving parts and require less frequent maintenance. The interval is often around 25,000 to 30,000 kilometers (15,000 to 18,000 miles) for standard service.
Plug-in Hybrid Vehicles (PHEVs): Since they still have internal combustion engines in addition to electric components, service intervals tend to be more frequent, typically every 15,000 to 20,000 kilometers (9,000 to 12,000 miles).
ICE Vehicles:

Conventifonal Gasoline Engines: The average service interval is usually around 10,000 to 15,000 kilometers (6,000 to 9,000 miles),
Diesel Engines: Diesel The service interval is typically around 10,000 to 20,000 kilometers (6,000 to 12,000 miles).
High-Performance or Turbocharged Engines: ranging from 8,000 to 12,000 kilometers (5,000 to 7,500 miles)
Elastic: https://kibana.team.dimo.zone/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:now-7d%2Fd,to:now))&_a=(columns:!(data.make,data.model,data.serviceInterval),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,field:source,index:'325db2b7-a050-4589-b346-2bfd66929719',key:source,negate:!f,params:(query:dimo%2Fintegration%2F27qftVRWQYpVDcO5DltO5Ojbjxk),type:phrase),query:(match_phrase:(source:dimo%2Fintegration%2F27qftVRWQYpVDcO5DltO5Ojbjxk)))),index:'325db2b7-a050-4589-b346-2bfd66929719',interval:auto,query:(language:kuery,query:'data.serviceInterval%20:%20*%20'),sort:!(!(time,desc)))

VSS: https://github.com/DIMO-Network/model-garage/blob/main/pkg/schema/spec/vss_rel_4.2-DIMO-b2679e5c.csv#L1271

hvBatteryVoltage (V) (300 - 450)
Notes: All other MMYs are getting correct voltage besides Audis, because yah they still suck. I turned off the PID on friday for them, but the data is going to still show up. Just ignore them.

300V to 450V for hybrid systems.
350V to 450V for fully electric vehicles.
Elastic: https://kibana.team.dimo.zone/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:now-7d%2Fd,to:now))&_a=(columns:!(data.make,data.model,data.hvBatteryVoltage),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,field:source,index:'325db2b7-a050-4589-b346-2bfd66929719',key:source,negate:!f,params:(query:dimo%2Fintegration%2F27qftVRWQYpVDcO5DltO5Ojbjxk),type:phrase),query:(match_phrase:(source:dimo%2Fintegration%2F27qftVRWQYpVDcO5DltO5Ojbjxk)))),index:'325db2b7-a050-4589-b346-2bfd66929719',interval:auto,query:(language:kuery,query:'data.hvBatteryVoltage%20:%20*%20'),sort:!(!(time,desc)))

VSS: https://github.com/DIMO-Network/model-garage/blob/main/pkg/schema/spec/vss_rel_4.2-DIMO-b2679e5c.csv#L187

dcConverterRequestedVoltage (V) (250-450)
Notes: The DC-DC converter in electric and hybrid vehicles is responsible for converting the high-voltage (HV) from the vehicle’s main battery (typically between 300V to 450V) to a lower voltage (typically 12V or 48V) to power auxiliary systems, such as the lighting, infotainment, and HVAC systems. We are only getting the high side right now.

Elastic: https://kibana.team.dimo.zone/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:now-7d%2Fd,to:now))&_a=(columns:!(data.make,data.model,data.dcConverterRequestedVoltage),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,field:source,index:'325db2b7-a050-4589-b346-2bfd66929719',key:source,negate:!f,params:(query:dimo%2Fintegration%2F27qftVRWQYpVDcO5DltO5Ojbjxk),type:phrase),query:(match_phrase:(source:dimo%2Fintegration%2F27qftVRWQYpVDcO5DltO5Ojbjxk)))),index:'325db2b7-a050-4589-b346-2bfd66929719',interval:auto,query:(language:kuery,query:'data.dcConverterRequestedVoltage%20:%20*%20'),sort:!(!(time,desc)))
VSS: https://github.com/DIMO-Network/model-garage/blob/main/pkg/schema/spec/vss_rel_4.2-DIMO-b2679e5c.csv#L221

service Interval (KM)
Does this ever change for a MMY if not would we rather have the info in the device definition table

hvBatteryVoltage
This looks fine

dcConverterRequestedVoltage

I am still unsure what this value represents. Is it the HighVoltage that the DC-DC converter is requesting as input or is it the lowVoltage that the DC-DC converter was asked for as an output?
The VSS signal you chose doesn't seem to match Current DC charging voltage at charging inlet.

service Interval (KM)
Does this ever change for a MMY if not would we rather have the info in the device definition table

It would change based on the powertrain and such yes. Most MMYs are pretty standardized based on the information provided.

hvBatteryVoltage
This looks fine
dcConverterRequestedVoltage

I am still unsure what this value represents. Is it the HighVoltage that the DC-DC converter is requesting as input or is it the lowVoltage that the DC-DC converter was asked for as an output?
The VSS signal you chose doesn't seem to match Current DC charging voltage at charging inlet.

I would have liked it to be this https://github.com/DIMO-Network/model-garage/blob/main/pkg/schema/spec/vss_rel_4.2-DIMO-b2679e5c.csv#L239 ,but that is a branch so I couldn't go with that. Even this is a better fit https://github.com/DIMO-Network/model-garage/blob/main/pkg/schema/spec/vss_rel_4.2-DIMO-b2679e5c.csv#L241 but the unit isn't in voltage. This was the closest I could find to PIDs operating. I suppose we could just make one maybe?


unsupported protocol scheme

I'm getting the following error after setting up mattermail:
IMAP Analyzer Notification      09:55:51 S: * 1 RECENT
IMAP Analyzer Notification      09:55:51 S: RCODY5 OK Idle completed.
DEBG Analyzer Notification      09:55:51 CheckNewMails
DEBG Analyzer Notification      09:55:51 CheckImapConnection: Connection alive
IMAP Analyzer Notification      09:55:51 C: RCODY6 SELECT "INBOX"
IMAP Analyzer Notification      09:55:51 S: * OK [CLOSED] Previous mailbox closed.
IMAP Analyzer Notification      09:55:51 S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
IMAP Analyzer Notification      09:55:51 S: * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
IMAP Analyzer Notification      09:55:51 S: * 7 EXISTS
IMAP Analyzer Notification      09:55:51 S: * 0 RECENT
IMAP Analyzer Notification      09:55:51 S: * OK [UNSEEN 7] First unseen.
IMAP Analyzer Notification      09:55:51 S: * OK [UIDVALIDITY<PHONE_NUMBER>] UIDs valid
IMAP Analyzer Notification      09:55:51 S: * OK [UIDNEXT 8] Predicted next UID
IMAP Analyzer Notification      09:55:51 S: RCODY6 OK [READ-WRITE] Select completed (0.000 secs).
IMAP Analyzer Notification      09:55:51 C: RCODY7 UID SEARCH CHARSET UTF-8 UNSEEN
IMAP Analyzer Notification      09:55:51 S: * SEARCH 7
IMAP Analyzer Notification      09:55:51 S: RCODY7 OK Search completed (0.000 secs).
DEBG Analyzer Notification      09:55:51 CheckNewMails:AddNum  7
IMAP Analyzer Notification      09:55:51 C: RCODY8 UID FETCH 7 (BODY[])
DEBG Analyzer Notification      09:55:51 CheckNewMails: cmd in Progress
IMAP Analyzer Notification      09:55:51 S: * 7 FETCH (UID 7 FLAGS (\Seen) BODY[] {787}
IMAP Analyzer Notification      09:55:51 S: literal 787 bytes
IMAP Analyzer Notification      09:55:51 S: )
DEBG Analyzer Notification      09:55:51 CheckNewMails:PostMail
DEBG Analyzer Notification      09:55:51 &{vesuvius.***.com vesuvius.***.com/api/v3 0xc4201f0180      }
DEBG Analyzer Notification      09:55:51 Login<EMAIL_ADDRESS>team:*** url:vesuvius.***.com
INFO Analyzer Notification      09:55:51 Error on check new email: /users/login: model.client.connecting.app_error, Post vesuvius.***.com/api/v3/users/login: unsupported protocol scheme ""
 Try again in 30s

I solved the problem.  I was missing "http://" in the Server line in config.json.


Show user data on notification page

Description
Currently the notif page only show a static image and also do not navigate the user anywhere. I want to update it such that it shows the image of request sender and also navigate to user id.
I also want to update the profile function of friend request such that it will contain only the id of sender and not other unnecessary data.
Screenshots

Additional information
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Description
Currently the notif page only show a static image and also do not navigate the user anywhere. I want to update it such that it shows the image of request sender and also navigate to user id. I also want to update the profile function of friend request such that it will contain only the id of sender and not other unnecessary data.
Screenshots

Additional information
No response
Record

[x]  I agree to follow this project's Code of Conduct
[x]  I have checked the existing issues
[x]  I'm a GSSoC'23 contributor
[x]  I want to work on this issue

Alright, you can go ahead and fix these :)


date-picker reset

This is my date picker
<lx-date-picker model="filter.end_date" label="End date" class="margin-right-5"></lx-date-picker>

I would like to know how I can reset the value programmatically. Currently I set the value $scope.filter = {} but nothing happen.

Hi, I think you should set your variable to undefined.

No response, I'm closing. Feel free to add a comment here if needed.


fixing bug where would crash when all points were in same position

Thanks for continuing to maintain it. :-D


Android Beta v0.1

The initial beta for the Android app for WZXV, v0.1

This is the initial release for beta distribution of the Android version of the app, supports API levels 23-28.


Add solarized dark syntax highlighting

This PR adds Solarized Dark syntax highlighting to the code samples, which in my opinion looks much better. It also adds the appropriate build steps to the Makefile. Here's an example:

I also added the appropriate URLs to the footer (for "Support," "Governance," etc.).

@billonahill It broke my environment, too. These pip permissions issues are so thorny and almost completely inscrutable to me. My most-likely-suboptimal solution was to uninstall and reinstall pip and sudoize all the pip stuff in those scripts. I'll see if I can get some help from a Python-savvy engineer (which I am not).


Fix jvm heap memory leak of JDBC scanner

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：
Fixes #
Problem Summary(Required) ：
jni local reference need to be deleted after use, otherwise it will cause heap memory leak and cannot be GCed.
GC throughput can be improved from 40% to 97% in our cases.

There is already a DeferOp in each _append_*_val function used to delete local ref, I think it's not necessary to do it again externally. @miomiocat

There is already a DeferOp in each _append_*_val function used to delete local ref, I think it's not necessary to do it again externally. @miomiocat

DeferOp is missing for the jobect used in _append_value_from_result, PTAL

There is already a DeferOp in each _append_*_val function used to delete local ref, I think it's not necessary to do it again externally. @miomiocat

DeferOp is missing for the jobect used in _append_value_from_result, PTAL

LGTM

run starrocks_be_unittest

you can pass -Xcheck:jni to check refs leak


parallelize TERPSICHORE mode family calculations

It appears that the TERPSICHORE calculations within STELLOPT may not be fully parallelized. The mode families seem to be treated sequentially - For example, for a 5 field period configuration  (with 3 mode families) the n=0 eigenvalue is calculated BEFORE the  |n| =1, which is calculated BEFORE the |n|=2 eigenvalue.

This should not be the case, but is how the code will execute if NOPTIMIZERS is set equal to the total number of processors.  @pomphrey can you provide a log file so we can confirm the details of your run?

I'm closing this as we're already parallelized over mode families.


Initial (empty) release

Making sure I get the package name
@JuliaRegistrator register()

@JuliaRegistrator register()
please?


[CONTENT CREATION] Suggestion for content: What is an API?

@Lingomat made the suggestion to have a brief explainer on "What is an API?" so that people reading the fact sheets have an idea of what we are talking about.

@boyd-nguyen and @Quiet27 have decided to find a good (existing) resource on "What is an API?" from the web and then link to it from each of the (currently) 3 platform fact sheets.

@boyd-nguyen I found this YouTube video which I think explains it really well: https://www.youtube.com/watch?v=OVvTv9Hy91Q
We should probably also see if there's a written example, for those who don't want to watch a video.

https://www.postman.com/what-is-an-api/

PR https://github.com/QUT-Digital-Observatory/australian_digital_observatory_site/pull/99


Build system fixes (libmodsecurity branch)

Fix the build order so "make -j4" works
Remove binaries from git tree
Add .gitignore file

Hi @LinuxJedi, thanks for you patch! merged.


Feature Request: Album Art displayed looks terrible. Implement some image resizing.

Is your feature request related to a problem? Please describe:
Album Art displayed looks terrible.
Describe the solution you'd like:
Some sort of image resize algorithm implemented to make it look less terrible. Something simple is fine.
Describe alternatives you've considered:

Additional context:

duplicate of #208

I prefer the way the thumbnail is displayed currently. If there are others that request the thumbnail to fill up the given space via cropping/stretching, then there should be an option to select different thumbnail modes. If you want to stick to just one way instead of complicating it with options, my vote is to keep to what is shown currently and implement image resizing to make it look nicer.

I prefer the way the thumbnail is displayed currently. If there are others that request the thumbnail to fill up the given space via cropping/stretching, then there should be an option to select different thumbnail modes. If you want to stick to just one way instead of complicating it with options, my vote is to keep to what is shown currently and implement image resizing to make it look nicer.

I agree. Rather than cutting off information of the image, it is still a good thing to keep it filled with blank space.
I would prefer black color or transparency instead of grey.

@Cyberdroid1,
We need to consult a UX, UI and Logo designer before making further decisions regarding layout, interface or even our logo.
I don't know how to manage them. Me bRaIn smol. I keep messing things up. Please let me search for a right person.

@Cyberdroid1,
We need to consult a UX, UI and Logo designer before making further decisions regarding layout, interface or even our logo.
I don't know how to manage them. Me bRaIn smol. I keep messing things up. Please let me search for a right person.

I can try 😁 😂


Optimize smooth_knn_dist

During benchmarking, I found that the use of parallel=True in smooth_knn_dist significantly hurts performance.
I used the code in this PR and the following benchmark script.
import numpy as np
import time
from umap.umap_ import nearest_neighbors, smooth_knn_dist

X = np.random.rand(100000, 50)

knn_indices, knn_dists, _ = nearest_neighbors(
    X, 15, "euclidean", {}, False, np.random, verbose=True
)

t0 = time.time()
smooth_knn_dist(knn_dists, 25, 1.0)
t1 = time.time()
print("smooth_knn_dist took:", t1-t0)

With parallel=True (before):
smooth_knn_dist took: 11.318735122680664

Without parallel=True (after):
smooth_knn_dist took: 1.1395599842071533

So it's about ten times as fast when parallel=True is not used.
I ran with NUMBA_PARALLEL_DIAGNOSTICS=4 and this confirmed that it was not optimizing the loops, but it didn't explain why the code ran slower with  parallel=True. I also tried using numba.prange instead of regular range, but this didn't give a speed up and in fact made the code slightly slower.

Hello @tomwhite! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file umap/umap_.py:

Line 48:27: E261 at least two spaces before inline comment
Line 48:80: E501 line too long (92 > 79 characters)

Coverage increased (+0.005%) to 94.536% when pulling ea9a31e1eb0cc229ed4ed4d05ce364d5f6d1bf00 on tomwhite:smooth_knn_dist_optimization into bbb01c03ba49f7bff8f77fd662d00e50d6686c77 on lmcinnes:master.

Thanks! I appreciate the benchmarking, and I'm sure the improvement will be beneficial.


@GraphQlRepository doesn't work for not null list result

Example query:
"Query root"
type Query {
  petList: [Pet]!
}

Data Repository:
@GraphQlRepository
public interface PetRepository extends JpaRepository<Pet, Long>, QuerydslPredicateExecutor<QPet> {
}

AR: Spring GraphQL unable to handle petList query.
Perhaps, GraphQL type is not resolved correctly in org.springframework.graphql.data.query.AutoRegistrationRuntimeWiringConfigurer.AutoRegistrationWiringFactory#getOutputTypeName.

The Java type name QPet doesn't match the GraphQL type name Pet, so auto-registration won't match them for use with Querydsl. However, it should match the Pet from JpaRepository for use with Query By Example.
I think there is indeed an issue with a not null list specifically, which should be fixed in 1.2 snapshots as a result of a recent change. However, it needs to be backported to 1.1. Can you confirm it does work if the list is nullable?


File and Folder selection UX is wonky

Describe the bug
When selecting the bot to open, currently the required behavior is to double click on the bot name. However, an intuitive UX would also have a 'Next' button at the bottom of the dialog to continue with the highlighted bot.
Version
https://github.com/microsoft/BotFramework-Composer/commit/4f0790af43b49c4ed433f0c4823c6af48c38d5f6
Browser

[x] Chrome
[ ] Safari
[ ] Firefox
[x] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Open Composer home page
Click the 'Open' button
Select (single click) a previously chosen bot (e.g. EchoBot-0)
User must double click the selected bot in order to select it, whereas some users might want to click a 'Next' or 'Open' button
Note that 'Enter' when highlighting the bot name does work.

Expected behavior
When selecting a bot to open, the user should have multiple experiences for opening the bot.
The user should have a 'Next' or 'Open' button at the bottom of the dialog in order to select that bot.
Screenshots
See above
Additional context
@sangwoohaan @DesignPolice
@beyackle and I discussed this casually, but could you guys weigh in?

Issue #2635 and its fix (PR#2645) are related to this one, where the icon at the head of the Notification  row becomes a single-click way to activate it (double-clicking the whole row still works). I could add that behavior to this Open dialog as well as the Recent Bots list on the home page if that's something we decide should be done.


Refactor blacklists; implement !!/watch-ip, !!/watch-ns, !!/watch-asn and !!/blacklist-xx for the first two

Refactor blacklists.py to have a set of classes implementing the various blacklist types, with behavior implemented by way of mixins for the individual classes.
Based on this refactoring, simplify chatcommands.py and extend to support the new blacklist types.
Some related refactoring in gitmanager.py to let the blacklist take care of its own updates, and in findspam.py to correspondingly update how we query for matches.
Finally, simplify globalvars.py by putting all the Github-managed black- and watchlists in a single global dict. This arrangement simplifies handling of the lists as a whole, and finding the correct list based on a keyword like "watch-number".

I have done some testing in chat, but this should probably still be given a quick whirl by someone who has access to Smokey's Github password.

Tangentially, I was getting some really crazy tracebacks in https://chat.stackexchange.com/rooms/108325/room-for-tripleee-and-ad-oisee -- it looks like the line numbers are correct but the code that Python displays is from somewhere else in the file. I'm pretty sure this is unrelated to any changes I made.

Those test cases were angry at your new code (because they only tests the old implementation). Ideally we can adjust that or just delete those unhappy ones.

Gaaaah, still need to update test cases /-:

Does not appear that I can open a PR over a PR, yet we need to change all bisect related functionalities so they use the new blacklist.

I generally use an editor window which is 80 characters wide. Keeping lines short also improves usability on Github etc.

I have tried to test this but there really seems to be no way to commit blacklist changes without touching the production system. (I have been planning for a long time to refactor the Github code so you could override the repo URL etc, but that's outside the scope of this PR.) My proposal at this point would be to merge this and then deal with any fallout - plastic knives and all that. Any yeas or nays?

The repo which SD uses is already configurable/automatic. I routinely use that ability to run tests against my fork of the SD repo, including operation of !!/watch / !!/blacklist-* commands.
The repo URL is automatically picked up from the URL defined for the git origin, using the line:
git_url = git.config("--get", "remote.origin.url").strip()

in globalvars.py, if that URL starts with https://github.com/. This can be overridden by the SMOKEDETECTOR_REPO environment variable.
All you have to do is create the directory you're using for SD testing as a clone of the repository you want to use:
git clone https://github.com/{my clone of the SD repo}

@tripleee  Since PR 3951 is merged, you may want to adjust gitmanager.py: _anchor() function accordingly after this is merged using the newly implemented *list dict.

I still need to go through this PR and do a detailed inspection of the code.
However, prior to being merged, the commands are going to need to be tested on an SD instance running against a fork of the SD repo. However, there was a security issue with SD which could disclose the GitHub password in chat in response to a !!/errorlogs command. That issue has been resolved, and the password changed, but that fix is in a newer commit than this PR is based upon.
I would be more comfortable doing that testing if the code here was rebased to the current SD master HEAD (would require resolving merge conflicts and a --force push), or otherwise incorporates the changes which have been made (e.g. merging master into this PR: still requires resolving merge conflicts). My personal preference is rebase, but that's really a personal preference, based largely on GitHub not giving a good diff for PRs after the master has been merged.
@tripleee I'm happy to coordinate testing running in an instance against a fork of the SD repo. If you'd like, we can pick a time when we are both available.

For "dead code" one: really, we can just insert a raise RuntimeError('Not dead yet') clause at the beginning of that function, and during tests we can see if the code is really called nowhere. grep -rnis may also be a good idea.

@Daniil-M-beep points out that bisect and the sdc prefix are broken so some work still remains to be done.

Actually adding network checks to !!/bisect is outside the scope of this ticket. Perhaps it should be done, but not in this PR.

Actually adding network checks to !!/bisect is outside the scope of this ticket. Perhaps it should be done, but not in this PR.

I disagree, you are making a major change by adding 5 commands, this needs to be done properly including bisect.

Actually adding network checks to !!/bisect is outside the scope of this ticket. Perhaps it should be done, but not in this PR.

I disagree, you are making a major change by adding 5 commands, this needs to be done properly including bisect.

I don't really see the point here. The logic implemented in !!/bisect is highly regex list specific, and implementing it for network lists like cidr or as is not a simple code change.
However, we are certain that the commands already implemented in this PR are going to be very useful. I personally think it is far more important to get things done first and then improve them, rather than trying to make things perfect in the beginning.

Force pushed with fix for lost sdc change and some new tests to cover that, as well as slight refactoring of the sdc logic.

I don't think we should be doing multiple changes in one PR. For example, you refactored the sdc logic who should be done separately as it doesn't relate to this.

You're also refactoring a lot of existing code which I'm not a fan of since this should be done separately.

If you are doing a large code refactor, do not do the major refactoring of many many modules in a singular PR please.  Instead, only refactor the code you must refactor and refactor other code in separate PRs.  Otherwise to revert a change that is as large as this, we have to revert the entire code commit change if you break something.
!!/reject

Agree, can we cherry-pick off commits that aren't related to this PR to another branch and PR them separately?

Any particular tests you would still like to see? I will go ahead and merge without reviews next week before this goes completely stale again.

@tripleee I'd like to see that is actually works

@tripleee I'd like to see that it actually works

You have tested it yourself, what more are you looking for? Is there a particular test case you'd still like to implement, or try in a private room?

I would like to merge this before it bit rots completely. Unless somebody wants to propose a different timeline, I'll proceed and merge this next week, probably early next week.

 I will create a new PR once I have fixed those .