Printing / Save PDF

Latest version on github cloned.
Created a new model and added components.
Added threats.
Closed model.
Opened so I could get to the Report feature.
Save PDF generated the pdf, but it is missing the threat information. I checked to included mitigated threats as well. I have a mix of mitigated and open; however, none of them showed up in the generated PDF.

Can I just check, did you also get the current owasp-threat-dragon-core package (v0.6.0)? All of the report generation code is centralised in that so it can be reused across the web and desktop apps. Thge deskto shell just provides the interaction with the Electron print/save dialogs.
If your have the up-to-date core package, would it be possible to share the model file so I can reproduce locally?

Also, could you tell me what OS you are on? I don't have access to a Mac at the moment so it is not tested on OSX (which is why the updated version has not been released yet).

I grabbed the core and tried to build on mac but get an error with 'rework-npm' not being a command so it fails on the bundle-css build, but this would make sense as to why the report does not include all the contents expected. I'm running Mac OS Mojave latest.

12 verbose stack Error<EMAIL_ADDRESS>bundle-css: rework-npm ./src/content/app.css -o ./src/content/threatdragon-core.css12 verbose stack spawn ENOENT 12 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:48:18) 12 verbose stack     at ChildProcess.emit (events.js:203:13) 12 verbose stack     at maybeClose (internal/child_process.js:1021:16) 12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5) 13 verbose pkgid<EMAIL_ADDRESS>14 verbose cwd /Users/dev/Repos/owasp-threat-dragon-core 15 verbose Darwin 18.6.0 16 verbose argv "/usr/local/Cellar/node/12.6.0/bin/node" "/usr/local/bin/npm" "run" "bundle-css" 17 verbose node v12.6.0 18 verbose npm  v6.9.0 19 error file sh 20 error code ELIFECYCLE 21 error errno ENOENT 22 error syscall spawn 23 error<EMAIL_ADDRESS>bundle-css:rework-npm ./src/content/app.css -o ./src/content/threatdragon-core.css 23 error spawn ENOENT 24 error Failed at the<EMAIL_ADDRESS>bundle-css script. 24 error This is probably not a problem with npm. There is likely additional logging output above. 25 verbose exit [ 1, true ]

Thank you for the detail. So did you install all the dependencies and dev dependencies? In particular, Is rework-npm-cli installed?

I had to install rework-npm-cli, and then tried to generate the report again and it only shows the diagram but nothing about the threats.
I did observe the following error: objc[86806]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fff9ea473d8) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x113fe4f50). One of the two will be used. Which one is undefined.
The core build was a success after the proper npm package was installed.
I created a new model and attached the .json output here, and I also included the pdf which shows what is printed.
JSON:
{   "summary": {     "title": "Test",     "owner": "Test",     "description": "Testing a system that never stood a chance with password authentication for SSH over key based authentication."   },   "detail": {     "contributors": [],     "diagrams": [       {         "title": "Web Servers",         "thumbnail": "./public/content/images/thumbnail.jpg",         "id": 0,         "$$hashKey": "object:82",         "diagramJson": {           "cells": [             {               "type": "tm.Actor",               "size": {                 "width": 160,                 "height": 80               },               "position": {                 "x": 417,                 "y": 13               },               "angle": 0,               "id": "cd41381b-2449-4938-a3fa-8d7515a31365",               "z": 1,               "hasOpenThreats": false,               "attrs": {                 ".element-shape": {                   "class": "element-shape hasNoOpenThreats isInScope"                 },                 "text": {                   "text": "Web User"                 },                 ".element-text": {                   "class": "element-text hasNoOpenThreats isInScope"                 }               }             },             {               "type": "tm.Process",               "size": {                 "width": 100,                 "height": 100               },               "position": {                 "x": 443,                 "y": 136               },               "angle": 0,               "id": "dae6d3f5-147f-4511-b973-10c019ceb9ca",               "z": 2,               "hasOpenThreats": false,               "threats": [                 {                   "status": "Mitigated",                   "severity": "High",                   "title": "HTTP in Use",                   "type": "Tampering",                   "description": "HTTP Traffic is allowed, anyone on the outside can spy on the traffic.",                   "mitigation": "HTTP was removed and HTTPS was enforced.",                   "$$hashKey": "object:193"                 }               ],               "attrs": {                 ".element-shape": {                   "class": "element-shape hasNoOpenThreats isInScope"                 },                 "text": {                   "text": "Authentication"                 },                 ".element-text": {                   "class": "element-text hasNoOpenThreats isInScope"                 }               }             },             {               "type": "tm.Flow",               "smooth": true,               "source": {                 "id": "cd41381b-2449-4938-a3fa-8d7515a31365"               },               "target": {                 "id": "dae6d3f5-147f-4511-b973-10c019ceb9ca"               },               "vertices": [],               "id": "e01b7f85-e65e-4943-8b91-e69c5456d2b5",               "labels": [                 {                   "position": 0.5,                   "attrs": {                     "text": {                       "text": "Auth",                       "font-weight": "400",                       "font-size": "small"                     }                   }                 }               ],               "z": 3,               "hasOpenThreats": false,               "isEncrypted": true,               "isPublicNetwork": true,               "protocol": "HTTPS",               "attrs": {                 ".marker-target": {                   "class": "marker-target hasNoOpenThreats isInScope"                 },                 ".connection": {                   "class": "connection hasNoOpenThreats isInScope"                 }               }             },             {               "type": "tm.Store",               "size": {                 "width": 160,                 "height": 80               },               "position": {                 "x": 233,                 "y": 306               },               "angle": 0,               "id": "5bf08601-4058-4fda-a400-c984e00aa3e6",               "z": 4,               "hasOpenThreats": false,               "storesCredentials": true,               "isEncrypted": true,               "attrs": {                 ".element-shape": {                   "class": "element-shape hasNoOpenThreats isInScope"                 },                 "text": {                   "text": "Database PSQL"                 },                 ".element-text": {                   "class": "element-text hasNoOpenThreats isInScope"                 }               }             },             {               "type": "tm.Flow",               "smooth": true,               "source": {                 "id": "dae6d3f5-147f-4511-b973-10c019ceb9ca"               },               "target": {                 "id": "5bf08601-4058-4fda-a400-c984e00aa3e6"               },               "vertices": [],               "id": "1e59efdf-4816-41a0-b2db-9b3e8b17271b",               "labels": [                 {                   "position": 0.5,                   "attrs": {                     "text": {                       "text": "Data Layer",                       "font-weight": "400",                       "font-size": "small"                     }                   }                 }               ],               "z": 5,               "hasOpenThreats": false,               "protocol": "TCP",               "isEncrypted": true,               "attrs": {                 ".marker-target": {                   "class": "marker-target hasNoOpenThreats isInScope"                 },                 ".connection": {                   "class": "connection hasNoOpenThreats isInScope"                 }               }             },             {               "type": "tm.Actor",               "size": {                 "width": 160,                 "height": 80               },               "position": {                 "x": 602,                 "y": 14               },               "angle": 0,               "id": "4722c360-961a-4f1c-abee-2a514baf2484",               "z": 6,               "hasOpenThreats": true,               "threats": [                 {                   "status": "Open",                   "severity": "High",                   "title": "SSH Password Based Authentication",                   "type": "Tampering",                   "description": "Weak passwords are easily brute forced.",                   "mitigation": "Use keybased authentication to improce security, also use a VPN.",                   "$$hashKey": "object:187"                 }               ],               "attrs": {                 ".element-shape": {                   "class": "element-shape hasOpenThreats isInScope"                 },                 "text": {                   "text": "Developer"                 },                 ".element-text": {                   "class": "element-text hasOpenThreats isInScope"                 }               }             },             {               "type": "tm.Flow",               "smooth": true,               "source": {                 "id": "4722c360-961a-4f1c-abee-2a514baf2484"               },               "target": {                 "id": "5bf08601-4058-4fda-a400-c984e00aa3e6"               },               "vertices": [                 {                   "x": 559,                   "y": 293                 }               ],               "id": "4bef64c6-62a1-4683-8183-558a9f8e0479",               "labels": [                 {                   "position": 0.5,                   "attrs": {                     "text": {                       "text": "SSH Traffic",                       "font-weight": "400",                       "font-size": "small"                     }                   }                 }               ],               "z": 7,               "hasOpenThreats": false,               "protocol": "SSH",               "isEncrypted": true,               "isPublicNetwork": true,               "attrs": {                 ".marker-target": {                   "class": "marker-target hasNoOpenThreats isInScope"                 },                 ".connection": {                   "class": "connection hasNoOpenThreats isInScope"                 }               }             }           ]         },         "size": {           "height": 590,           "width": 912         }       }     ],     "reviewer": "Test"   } }
test.pdf

Apologies, not sure why the code isn't formatted nicely!

OK. Using your model, I see the what is happening. The isOutOfScope property on the model elements is not defined which means the filter on the report template filters them out of both the out-of-scope section and the in-scope section. I think the problem is in the action custom JointJS shape definitions - the property should always be defined, so I will look into that. The only problem with that is any model with elements that don't have the property defined (like yours) will still not work, so I will also have to modify the report template filters to handle the case where the propery is missing entirely.
I was going to suggest a clunky workaround to fix it for your model to save you waiting for a fix (in the diagram editor, click each model element to out-of-scope and then in-scope again). But this causes ANOTHER bug in the report where the element titles don't display. Closing and re-opening the file does seem to fix it, so it is a workaround, but not a nice one.

This is fixed in PR #59
All the changes were made in owasp-threat-dragon-core at v0.6.1 so if you want to try it out you will need the latest core package (it is published on npm). The only change ot the desktop code was to upgrade the package versions - core and desktop both bumped to 0.6.1.


node-gyp rebuild on Windows7 and VS2013

I'm running Visual Studio Ultimate 2013 with update 5 and I'm getting the below issue on an npm install. I've noticed a few issues raised over the web for Windows 10 and VS 2015 but nothing related to what I'm experiencing.
Things to note are I'm using Node-v4.0.0 x86 and NPM 3.3.3 (going with that version of npm for the flat dependancies).
Has anyone come across anything similar? Any suggestions on the course or a fix?
><EMAIL_ADDRESS>install C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.Checkout.Web.JsUnitTests\node_modules\bufferutil
> node-gyp rebuild

C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.Checkout.Web.JsUnitTests\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(511,5): error MSB8008: Specified platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected. [C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.  System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.Checkout.Web.JsUnitTests\node_modules\bufferutil
gyp ERR! node -v v4.0.0
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
npm WARN install:bufferutil<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN install:bufferutil Exit status 1

><EMAIL_ADDRESS>install C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.Checkout.Web.JsUnitTests\node_modules\utf-8-validate
> node-gyp rebuild

C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.Checkout.Web.JsUnitTests\node_modules\utf-8-validate>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(511,5): error MSB8008: Specified platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is selected. [C:\tfs\ASOS\Commerce\Checkout\Dev-NPM3\Checkout\Source\Asos.Commerce.

I've actually tried that with no success

Okay, noted.  What node-gyp (or rather, msbuild) is telling you that it can't find VS 2013, that's the 'v120' reference from the error message.
Make sure the environment is set up correctly, that you've run the envvars.bat from VS 2013, etc.  You may want to start the shell from the VS menu, it takes care of that.

Even if this is a "environment wasn't set up correctly", please could we catch some of these errors / fail early, and output appropriate error messages? :-)

Having the same problem here as well.
Anytime a packed requires a node-gyp rebuild I get:
Error: Can't find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed?
Environment; Windows with all required prerequisites.
npm version: 3.3.4
node version: 4.1.1
node-gyp version: 3.0.3
Trying to install:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
I really appreciate any help. Thanks.
Output Stack:
C:\API\node_modules\buffertools>if not defined npm_config_node_gyp (node "C:\Users\jwuli\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gy
p\bin\node-gyp.js" rebuild )  else (node  rebuild )
gyp ERR! build error
gyp ERR! stack Error: Can't find "msbuild.exe".  System Windows_NT 10.0.10240
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\jwuli\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\API\node_modules\buffertools
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:buffertools<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN install:buffertools Exit status 1

I was able to fix my problem. I needed to run "npm install" from the VS2013 Commpand Prompt.
For anyone that needs to know how to find it, it is called "VS2013 x64 Cross Tools Command Prompt" Be sure to Run it as Admin.

Even if this is a "environment wasn't set up correctly", please could we catch some of these errors / fail early, and output appropriate error messages?

There is no foolproof way for node-gyp to detect if a proper toolchain is available, except by actually running it.  At that point there isn't much you can do but print the error and abort.

Could it be possible to have some sort of node-gyp.test() compiling some dummy file for ensuring tools are well configured ?
I'm facing the same issues than @gussyboy while installing strongloop for a good couple of days, and i'm still not yet sure what's wrong with my setup, if it's MS build tools, or if I need to use npm2, or something else

I don't see how that would help.  You won't get a better or different error message that way.

I've got the same error message, when trying to use "browser-sync": "^2.9.12"
D:\wamp\www\test10\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Users\Georg\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
gyp ERR! build error
gyp ERR! stack Error: Can't find "msbuild.exe".  System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\Georg\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\wamp\www\test10\node_modules\bufferutil
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:bufferutil<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN install:bufferutil Exit status 1

><EMAIL_ADDRESS>install D:\wamp\www\test10\node_modules\utf-8-validate
> node-gyp rebuild

D:\wamp\www\test10\node_modules\utf-8-validate>if not defined npm_config_node_gyp (node "C:\Users\Georg\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
gyp ERR! build error
gyp ERR! stack Error: Can't find "msbuild.exe".  System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\Georg\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\wamp\www\test10\node_modules\utf-8-validate
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:utf-8-validate<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN install:utf-8-validate Exit status 1

I have:

node v4.2.1
npm v3.3.6
Microsoft Visual Studio Community 2013 with Update 5
Microsoft Build Tools 2013

Any suggestions?

For anyone that's interested, I was trying to build electron and it fails on nslog, then I found this issue. I was able to build it using the  VS2013 Commpand Prompt.

I have both VS 2013 and 2015, so for me it failed because it was trying to load v140 and not finding it. I just set it to VS 2013 for now as our project still requires it. This fix doesn't seem to work for everyone, but make sure to set the right VS version (i.e. one you have):
npm config set msvs_version 2013

closing due to staleness, a lot has changed on the windows front since 2015


Following instructions fails with magic exit code -9

Hello,
Following instructions fails with magic exit code -9
Multiple lines spamming "No label found with index ." in log
It blew my log file to about 50GB so I cant copy and paste it here.
I really wanted to try to use this to design custom PLL, but it does not work. Any suggestions?
OS: Ubuntu 20.04 LTS.
Magic: magic-8.3.122
Everything else latest stable
Steps to reproduce:
cd
mkdir skywater
cd skywater
git clone https://github.com/google/skywater-pdk
cd skywater-pdk
git submodule init libraries/sky130_fd_io/latest
git submodule init libraries/sky130_fd_pr/latest
git submodule init libraries/sky130_fd_sc_hd/latest
git submodule init libraries/sky130_fd_sc_hdll/latest
git submodule init libraries/sky130_fd_sc_hs/latest
git submodule init libraries/sky130_fd_sc_ms/latest
git submodule init libraries/sky130_fd_sc_ls/latest
git submodule init libraries/sky130_fd_sc_lp/latest
git submodule init libraries/sky130_fd_sc_hvl/latest
git submodule update
make -j$(nproc) timing

cd ~/skywater/
git clone --branch 1.0.142 git://opencircuitdesign.com/open_pdks
cd open_pdks
./configure --enable-sky130-pdk=$HOME/skywater/skywater-pdk/libraries --with-sky130-local-path=$HOME/skywater/pdk/skywater130 --enable-xschem-sky130
cd sky130
make -j$(nproc) # <---------------- fails here
sudo make install
cd ~/skywater

Currently trying same without -j option for make
Thanks,
Armleo

I'm looking into it now.  I have not done a full build for a while, and there have been a few changes to the libraries.  I have seen the "No label found" issue before but since it didn't seem to affect the output (and wasn't generating messages to the tune of 50GB) I did not give it high priority.  I can fix that issue but I need to see if there is a deeper underlying problem.

Hello,
Left it for a night, build both with -j and without (in separate VMs with clean installs of ubuntu with all the packages as specified above) kinda not failed (so it said that it didn't fail, but it might have failed). But I don't know how to verify if everything is compiled correctly.
The log contains magic exit code -9 and "No label found with index ." and it's 10.7 GB in size, no way I can upload that much. I Will try to remove all "No label found with index ." in hopes, it will reduce the size, but GREPing is extremely slow.
Tried opening some xschem projects, assuming that it would install all symbols. Any way to verify this? If I open xschem it fails with scripts/sky130_ something something .tcl not found. I checked the folder it's there but the xschemrc is not the one in git and it does not behave the same way as xschemrc from git. (Specifically, some variables are not set as in xschemrc from git)
I will try to report it on Github of xschem_sky130, later today
Thanks,
Arman

Don't worry about upload the log.  I can confirm the excessive output from magic;  I am only starting the build but it has run up to 100MB of output, most of which is the "No label found" error.  Any errors you have with xschem startup are most likely to come from open_pdks, not from xschem.

I have made an update to magic (master branch at opencircuitdesign.com ;  the github repository mirror will be updated overnight tonight) that lets the error messages be suppressed so they won't show up in the output log.  I only got an output log size of about 133MB from a full install; however, the vast majority of that was the error messages from the "readspice" script in magic.  If you can re-run with the updated version of magic and let me know what the output looks like, I'm unsure what else might be wrong, since you were getting a much larger log file output than I got.

Doing it right now

Hello,
One more question: Is there any pre-built versions of open-pdks for sky130? Building it takes many hours.
Any recomendations on how to make a pre-built package for ubuntu or arch?
Thanks,
Arman

@armleo :  All the bits and pieces are still such moving targets that I don't recommend creating a pre-built version, because it will become out of date almost instantly.
The longest part of the build is the "make timing" on the skywater-pdk.  The open_pdks build itself takes maybe half an hour at most, even if all the libraries are installed and enabled.  What I do is to download skywater-pdk separately and do "make timing" and then leave it, and configure open_pdks with "--enable-sky130-pdk=" so that it just picks up those files and does not try to re-do a full build of the PDK.  But the built skywater-pdk files also take up a lot of disk space.  One solution for that is to pre-build the skywater-pdk with only one or two of the standard cell libraries, say HD (area optimized) and HS (speed optimized).  That considerably cuts down on the build time.  You can also disable the build of the SRAM macro in open_pdks, depending on whether or not you want the SRAM macro (eventually, the full public release of OpenRAM with sky130 gets published and I'll remove the macro build from open_pdks).

timing takes like on hour, it's open_pdks are taking like many many hours

Looks like if i disable sram macro cell it will build in couple of minuts, but with it, it takes really long time and spams the messages.
Currently openlane contains different version for magic, so I am unable to test it with latest magic.

Maybe I should disable the SRAM by default, at least for now.


iconv always silent, -c broken

going through help text, i noticed that iconv's -s isn't documented because it's always on, which seems like an unfortunate default.
more than that, the -c behavior isn't right either:
$ echo -e "a\x80b" | ./toybox iconv -t LATIN1 -f UTF-8
a?b
$ echo -e "a\x80b" | ./toybox iconv -t LATIN1 -f UTF-8 -c
a$

(i'm trying not to get distracted from my more trivial goal, so i'll just file bugs for any weirdness i spot!)

My devuan balseraph man page says "-s This option is ignored; it is provided only for compatibility", and providing it doesn't change the behavior here? (Do you want it to say "Illegal input sequence at position 1" like the other one, whether -s is provided or not, or to produce its current output but exit with an error if some chars couldn't be converted?)
I'm not getting a $ with -c, I'm getting "ab" from toybox iconv built against musl. (I think the binary in my $PATH should be the same one at https://landley.net/bin/toybox/latest/toybox-x86_64 ?)
Generally when an option flag in an optstr A) isn't documented, B) doesn't do anything, it's just there for compatibility. I don't have a way to mark these, nor do I have an entirely standard policy on them (patch lists -u and says it's ignored, but that's largely because "patch -u" was kind of a big deal for ages. I have a local help text redo that yanks the -u line but adds (-u is assumed and ignored) to second paragraph, haven't checked it in yet because... well it's a judgement call, innit?
I expect a non-zero number of people to learn to use a command from the toybox help text. (And presumably go on to read bigger docs eventually, but I still don't want to rule OUT people being able to do that.) And thus explicitly telling them "you don't need to know this, ignore it", while trying to be terse seems counterproductive.

Try commit 53d8a6707e3c maybe?

Do you want it to say "Illegal input sequence at position 1" like the other one, whether -s is provided or not, or to produce its current output but exit with an error if some chars couldn't be converted?)

oh, that's sad. i'd believed https://pubs.opengroup.org/onlinepubs/009604499/utilities/iconv.html which has a much more useful description. but, yes, my linux box has the breakage you describe:
~$ echo -e "a\x80b" | iconv -t LATIN1 -f UTF-8
aiconv: illegal input sequence at position 1
~$ echo -e "a\x80b" | iconv -t LATIN1 -f UTF-8 -s
aiconv: illegal input sequence at position 1
~$ echo -e "a\x80b" | iconv -t LATIN1 -f UTF-8 -c
ab
~$

how about macOS?
~$ echo -e "a\x80b" | iconv -t LATIN1 -f UTF-8
iconv: iconv(): Illegal byte sequence
a~$ echo -e "a\x80b" | iconv -t LATIN1 -f UTF-8 -c
ab
~$ echo -e "a\x80b" | iconv -t LATIN1 -f UTF-8 -s
iconv: iconv(): Illegal byte sequence
a~$

so also not what i'd expected from POSIX, but different to the gnu one.

I'm not getting a $ with -c

that was my prompt :-)
here's toybox on macOS with your latest patch:
~/toybox-iconv$ echo -e "a\x80b" | ./toybox iconv -t LATIN1 -f UTF-8
a?b
~/toybox-iconv$ echo -e "a\x80b" | ./toybox iconv -t LATIN1 -f UTF-8 -c
ab
~/toybox-iconv$ echo -e "a\x80b" | ./toybox iconv -t LATIN1 -f UTF-8 -s
a?b
~/toybox-iconv$

that's certainly better (and i think the '?'s are reasonable and defensible). i'm less tempted by the error message now than i was when i believed that you could disable it with -s, but we should still probably have an error message?
POSIX certainly allows not having a message ("When -s is not used, the results of encountering invalid characters in the input stream (either those that are not valid characters in the codeset of the input file or that have no corresponding character in the codeset of the output file) shall be specified in the system documentation."), though both -c and -s say "The presence or absence of $FLAG shall not affect the exit status of iconv" ... but that's a "bug" you share with gnu and macOS, so i'd argue POSIX just isn't reflecting reality here.

My commit changed the error return in case anybody's testing it (so a script CAN see it wasn't a full conversion), but I didn't output something that would stomp the conversion.
I can output the data to stdout and an error message to stderr, but for humans those would interleave and arguably be net worse? The question is whether partial results are useful. The error message kind of implies refusing to produce any useful output because one thing went wrong.

The error message kind of implies refusing to produce any useful output because one thing went wrong.

which is basically the macOS (bsd?) behavior. i suspect their argument would be "if you wanted us to either ignore transliteration failures, or use a replacement character, you should have suffixed the encoding name with //IGNORE or whatever".
although it surprised me (and if we go this way, the --help output -- if not the error message! -- should definitely mention how you get out of this), i'm coming round to it (modulo quality of docs/errors) possibly being the least-worst of the options.
that said ... i've personally only ever used iconv(1) to test bionic's iconv(3).
a quick code search of all the code i have access to turned up 80% of call sites being from one UTF to another (8 to 16, say, or 16 to 32). there were a few lossy conversions to ascii, but they were mostly -t ascii//TRANSLIT anyway. i saw one -t UTF-8//TRANSLIT that was presumably someone who had actually seen invalid byte sequences in the input they were dealing with.

On 12/16/23 14:11, enh-google wrote:

The error message kind of implies refusing to produce any useful output
because one thing went wrong.

which is basically the macOS (bsd?) behavior. i suspect their argument would be
"if you wanted us to either ignore transliteration failures, or use a
replacement character, you should have suffixed the encoding name with //IGNORE
or whatever".

My problem is I'm not a big user of this command, so I've tried to be flexible
and waited for people to complain.

although it surprised me (and if we go this way, the |--help| output -- if not
the error message! -- should definitely mention how you get out of this), i'm
coming round to it (modulo quality of docs/errors) possibly being the
least-worst of the options.
Unless you're buffering the data until it's complete, you're producing partial
output anyway.

The difference between partial and full output is essentially "exit early on
partial input instead of hanging if the input source hangs", because the caller
has to notice the error and discard what they got anyway.

that said ... i've personally only ever used iconv(1) to test bionic's iconv(3).
a quick code search of all the code i have access to turned up 80% of call sites
being from one UTF to another (8 to 16, say, or 16 to 32). there were a few
lossy conversions to ascii, but they were mostly |-t ascii//TRANSLIT| anyway. i
saw one |-t UTF-8//TRANSLIT| that was presumably someone who had actually seen
invalid byte sequences in the input they were dealing with.

I don't think we're checking for //TRANSLIT or //IGNORE. All that stuff is
passed on to libc and handled by libc, and is presumably thus libc's problem?
Posix doesn't mention these in the iconv command nor in iconv_open() (which just
says "Settings of fromcode and tocode and their permitted combinations are
implementation-defined.")
If we should be handling this, then basically "our default is translit and
their default is ignore", except we do not currently implement the error message
for ignore at all...
And //IGNORE says that characters that cannot be converted are discarded, it
does NOT say to stop early...
We can add //IGNORE and //TRANSLIT if you like? (And mention them in the help
text...)
Rob

I don't think we're checking for //TRANSLIT or //IGNORE. All that stuff is
passed on to libc and handled by libc, and is presumably thus libc's problem?

correct. and my guess is that's why the other iconv(1)s say "not our problem --- tell iconv_open(3) what you want via our -f and -t arguments".

And //IGNORE says that characters that cannot be converted are discarded, it
does NOT say to stop early...

no, that was my point --- i think the macOS (bsd?) iconv(1) author said "look, i'm just going to stop early because if you don't want that, you can just tell iconv_open(3) via //IGNORE".
(whereas POSIX doesn't have those, which is probably why it talks about -s and -c even though they don't let you distinguish between "from" and "to" like //IGNORE and //TRANSLIT do.)
i'm a bit wary of not having a diagnostic (because everyone else does, and they may know something we don't), but i think the current behavior is probably good enough. i'd be tempted to mention //IGNORE and //TRANSLIT in the help text ... except of course musl doesn't implement them because they're not in POSIX :-(

If //IGNORE says to print an error message, how is glibc supposed to implement that?

If //IGNORE says to print an error message, how is glibc supposed to implement that?

no, //IGNORE isn't an iconv(1) thing -- it's an iconv(3) thing -- so this is exactly where glibc/bionic steps in. i'm just guessing that for BSD/macOS the same person who wrote iconv(3) wrote iconv(1) so their iconv(1) assumes that you have (and know all the intricacies of!) their iconv(3), and don't need special hand-holding in iconv(1).

Looking at this one again, whose court is this ball currently in?
Right now the iconv.c command loop is ignoring the return value of iconv() and instead looking at the adjusted in/inlen out/outlen values, advancing past leading bad characters in the input to try to get through it (skipping them for -c and passing them through verbatim otherwise).
But if the library function is printing error messages, then presumably we need to care about -1 return values, if nothing else to avoid spamming multiple error messages?
Is there a value that says "an error message was produced"? Do we abort on any -1? (Which might render the skipping behavior moot...?) Should I check for //TRANSLIT or //IGNORE myself?

But if the library function is printing error messages, then presumably we need to care about -1 return values, if nothing else to avoid spamming multiple error messages?

the library function does not print error messages in any implementation i'm aware of.
if there's an EILSEQ from a conversion inside iconv(3):

//IGNORE gets you no output byte and keeps going.
//TRANSLIT gets you a ? for that output byte and keeps going.
otherwise iconv(3) passes on the -1/EILSEQ to its caller (and the caller is responsible for printing any diagnostic/doing any more complicated replacement than ?).

Should I check for //TRANSLIT or //IGNORE myself?

no, that would undermine the purpose of those modifiers. (and no other iconv(1) seems to do this.) i think if toybox iconv(1) mentions the iconv(3) //TRANSLIT or //IGNORE modifiers at all, it should be in the help text, but you probably don't want to do that since they're not POSIX so musl of course doesn't implement them. (which is unfortunate because, as we've seen, everyone else's iconv(3) helps you paper over iconv(1)'s options being shit.)

Is there a value that says "an error message was produced"? Do we abort on any -1?

any -1. EINVAL vs EILSEQ gives you a bit of detail about what was wrong with the input sequence. (there's also E2BIG for running out of output buffer, but toybox should never see that. in any case, i think perror_exit() is the way to go rather than actually looking at errno.)
and i think that's all there is for toybox to do here? if iconv(3) returns -1 && !FLAG(c), perror_exit()? that would match both gnu and bsd iconv(1)?
(and there's no point implementing -s because it didn't seem to actually do anything useful.)


[chart/redis-ha][REQUEST] allow setting terminationGracePeriodSeconds

Is your feature request related to a problem? Please describe.
In order to help with graceful shutdown of Redis and its components, please allow setting the Pod's terminationGracePeriodSeconds parameter.
Additional context
We can already set the container lifecycle settings but the termination grace period is not changeable from the default 30 seconds. It would be useful to be able to set this on large Redis instances to allow the full RDB contents to be written to disk. See https://learnk8s.io/graceful-shutdown.

Looks like this is already possible via https://github.com/DandyDeveloper/charts/blob/fde04e7ab7dd48c46b31cee8ea4fc42dd3bce6ef/charts/redis-ha/values.yaml#L207

Indeed, it looks like it is now. Closing this off.


Update yahoofinance.py for the clean_data: "1Min" to "1m"

The accepted time intervals for Yahoo Finance are: ["1m", "2m", "5m", "15m", "30m", "60m", "90m", "1h", "1d", "5d", "1w", "1M", "3M"]. However, this statement in yahoofinance.py still asks for "1Min", resulting in a ValueError: Data cleaned at the given time interval is not supported for Yahoo Finance data.

have you tested it?


Data Cleaning for Riddler Wars

Looks like there are some invalid rows in the data -
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-3.csv#L238
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-3.csv#L818
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-3.csv#L1030
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-4.csv#L182
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-4.csv#L278 (O instead of 0)
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-4.csv#L498
https://github.com/fivethirtyeight/data/blob/master/riddler-castles/castle-solutions-4.csv#L853
There's also invalid rows because the number of soldiers does not add up to 100, here are my numbers -
38 invalid rows from first war.
30 invalid rows from second war.
142 invalid rows from third war.
72 invalid rows from fourth war.

Done with the following ruby script:
require 'csv'

valid = (0..100).map(&:to_s)
keys = (1..13).map{|i| "Castle #{i}"}

Dir.glob("castle*.csv").each do |fname|
  rows = CSV.read(fname, :headers => true).map(&:to_h)
  out = []
  rows.each_with_index do |row, i|
    invalid = row.keys.select{|k| keys.index(k)}.select{|k| !valid.index(row[k])}
    total = row.keys.select{|k| keys.index(k)}.map{|k| row[k].to_i}.sum
    if invalid.size > 0 || total != 100
      p [fname, i, total, row.select{|k,v| keys.index(k)}]
    else
      out << row
    end
  end

  CSV.open(fname, 'w') do |csv|
    headers = out.first.keys
    csv << headers
    out.each{|o| csv << headers.map{|h| o[h]}}
  end
end


Turn ICryptoUtils.createHash into an async function

wish there was an approved sync option, seems like it should be a small operation

agreed


More detailed workflow description

The description of the individual steps' significance is not sufficient; examples are

[ ] CK test (#140)
[ ] why are good features important
[ ] what are consequences of bad choices

We need to discuss more what we are aiming for with each step and why we do this.
In my opinion, this should mostly go into the notebooks.

Some parts of this issue are addressed in the above mentioned PR #152. In the new manuscript section about large systems we explain why it is important to have a good feature selection and dimension reduction to obtain a good clustering.

Some general points regarding the workflow descriptions and where some more explanation could be useful. Please feel free to ignore certain points.
in general:

[ ] more links between the notebooks (also, to certain sections) would be very helpful
[ ] maybe mention if something is repeated from previous notebooks (e.g. loading, discretization etc)
[ ] later notebooks have more motivation / introduction sections at the beginning as a general intro. I'd say that'd help for the first notebooks, too.

NB01:
case 2

[ ] why do we add backbone torsion features for first example?
[ ] since it is discussed: why load instead of source in this example (e.g. link to below section)
[ ] why VAMP-2 score? connect to "why backbone torsions"
[ ] motivate a little better why different featurizations are tested

NB02:
case 1:

[ ] "given the low dimensionality of the data": maybe mention that this, too, might be realistic for certain datasets and that dim reduction is optional in general.
[ ] motivate why 2 different clusterings are shown

case 2:

[ ] mention why we try different features with different projections

NB3:

[ ] maybe link to theory section or mention that ITS should not depend on the lag time? (mention reason why we look for ITS convergence)

NB4:
case 1:

[ ] very short motivation why we compute MSM stationary distribution instead of just using a histogram?
[ ] before showing eigenvectors: mention that they describe the slow processes (in later paragraph we say that they "visualize" the slow processes, maybe that's not an optimal formulation)

case 2:

[ ] maybe explain a little more what the eigenvector plot means, i.e. what processes we see?

NB5:
intro:

[ ] motivate why we do PCCA++

case 2:

[ ] "We concatenate all three discrete trajectories...": needs a warning sign

general:

[ ] not really clear why we do this analysis. maybe put more emphasis on "we conduct example analyses", e.g. in intro

NB6:
case 1:

[ ] first code cells completely lack explanations

general:

[ ] moves pretty fast with large code blocks; I guess that's okay because it's an advanced section

NB7:

[ ] motivate why we repeat the pentapeptide analysis here

NB8:
intro:

[ ] first sentence: "most problems arise" -> "most problems in Markov modeling of MD data arise"

case 1:

[ ] first example: mention that well-sampled double-well is presented for reference

Thanks Tim, I will address the issues in nb01 and 02.


check if apns will work this way

I apologize, I meant to open this to my fork's master branch. Please ignore it for the time being.

Ok, cool, I'm looking forward to get this pr into the master branch. Looks amazing.
Good work!


Improper work of language switcher

I have multilingual website under Grav which uses grav-plugin-langswitcher.
Actually I have following problem:

website (let's call it mywebsite.com) has default language set to English, default language is without a prefix

when user switches to another language, the URL properly uses language prefix (such like /it) and shows properly the content from .it.md pages

however when I now open another tab in the same browser and access mywebsite.com, English version is displayed again. What I expect instead of it is redirection to the last language version (like mywebsite.com/it/) I'm using in another tab. And I expect such behaviour even if I restart the browser, unless I'm not browsing in anonymous mode.

Here is my configuration from system.yaml:
...
languages:
  supported:
    - en
    - el
    - it
  include_default_lang: false
  translations: true
  translations_fallback: true
  session_store_active: true
  http_accept_language: false
  override_locale: true
home:
  alias: /home
  hide_in_urls: false
...
session:
  enabled: true
  timeout: 1800
  name: myskin
  secure: false
  httponly: true
...

Thank you for any hint how to achieve of demanded behaviour which is common in another CMS's (such like WordPress with WPML).

Seems there's an issue. The PR https://github.com/getgrav/grav/pull/843 fixes the issue, for Grav 1.1

@flaviocopes: Thank you for fast reaction, appreciated. Any idea when Grav 1.1 or at least this one fix will be released?

This should be fixed now for next beta release.


Terminal colors don't work in Windows (cmd.exe)

https://cdn.discordapp.com/attachments/311662737015046144/574660482720464917/unknown.png

Ceres no longer uses colors in terminal.


Go client: multi-topic unsubscribe hangs when regex does not match any topics

Describe the bug
When performing multi-topic unsubscribe on a topic regex that does not not match any topics, then Unsubscribe call will block indefinitely.
To Reproduce
Steps to reproduce the behavior:

launch container apachepulsar/pulsar and listen on port 6650 on host

use github.com/apache/pulsar/pulsar-client-go v0.0.0-20190517092409-1f4a836a46483db408e0bf39903215974262d946 in go.mod which pulls 2.3.1 + build fix from #4212 for example:

module pulsartest

require github.com/apache/pulsar/pulsar-client-go v0.0.0-20190517092409-1f4a836a46483db408e0bf39903215974262d946

create test code to subscribe to erroneous multi-topic pattern

package main

import (
	"github.com/apache/pulsar/pulsar-client-go/pulsar"
	"log"
	"runtime"
)

func main() {
	client, err := pulsar.NewClient(pulsar.ClientOptions{
		URL: "pulsar://localhost:6650",
		OperationTimeoutSeconds: 5,
		MessageListenerThreads: runtime.NumCPU(),
	})
	if err != nil {
		log.Fatalf("Could not instantiate Pulsar client: %v", err)
	}
	msgChannel := make(chan pulsar.ConsumerMessage)
	consumerOpts := pulsar.ConsumerOptions{
		TopicsPattern:            "persistent://public/default/1-.*-fakefakefake",
		SubscriptionName: "my-subscription-1",
		Type:             pulsar.Exclusive,
		MessageChannel:   msgChannel,
	}
	consumer, err := client.Subscribe(consumerOpts)
	if err != nil {
		log.Fatalf("Could not establish subscription: %v", err)
	}
	err = consumer.Unsubscribe()
	if err != nil {
		log.Fatalf("Could not establish subscription: %v", err)
	}
}

go build && ./pulsartest to reproduce

Expected behavior
pulsartest will return
Actual behavior
pulsartest hangs indefinitely

@BJTiso are the topics existing or the regex leads to an empty list?

When I reproduce, the no topics exist, in fact curl localhost:8080/admin/v2/persistent/public/default returns []
when the regex matches a topic before Subscribe is called, Unsubscribe works well and pulsartest returns.

Got it.. I think there should be an easy fix

@BJTiso Added fix (though the issue it was on the underlying C++ lib )

@merlimat many thanks!


Displaying au blank page on DocumentScannerFlutter.launch with targetSdkVersion 33 on android 13

Hi,
While testing my app on a physical pixel 6 running android 13 I came across the issue of a blank screen and no error logged or found while debugging.
build.gradle :
compileSdkVersion 33
targetSdkVersion 33
Reverting to targetSdkVersion 32 fixes the issue
can be reproduced on an android 13 simulator
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.4, on macOS 12.6 21G115 darwin-arm, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.72.1)
[✓] Connected device (5 available)
[✓] HTTP Host Availability
Not a big issue but not great for the future
Hope it helps keep this amazing plugin up to date

This has to do with Android 13 (API 33) changes to file permissions - see https://medium.com/tech-takeaways/migrating-my-app-to-android-13-f5ad0649d23d

I have fixed the issue on my fork:
https://github.com/IgeeTheron/document_scanner_flutter
Juts add it to pubspec:
  document_scanner_flutter:
    git:
      url: https://github.com/IgeeTheron/document_scanner_flutter
      ref: master

I have fixed the issue on my fork: https://github.com/IgeeTheron/document_scanner_flutter
Juts add it to pubspec:
  document_scanner_flutter:
    git:
      url: https://github.com/IgeeTheron/document_scanner_flutter
      ref: master

I had to fix the issue here: https://github.com/IgeeTheron/AndroidDocumentScanLibrary

Thanks a lot!


Azure CLI - Powershell

There is not enough "documentation"/"detailed step by step guide" on, what to follow next after downloading MSI installer, in-order to access CLI through Powershell.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8246b90a-efb1-03ce-f642-d3eb2441fc30
Version Independent ID: 2fdd20ef-7bd3-57bc-7957-93f4bb5377ce
Content: Install the Azure CLI for Windows
Content Source: docs-ref-conceptual/install-azure-cli-windows.md
Service: multiple
GitHub Login: @sptramer
Microsoft Alias: sttramer

Install
Open Powershell
Open API reference, for example login
run commands as documented

Not sure where you're missing documentation but everything is there.

Hello Favna,
Thank you for following up and sharing the documentation that you mentioned in your link.
I believe, I was updated about the document being updated recently, since I did not see “az login” mentioned anywhere, and I tried figuring out the “next steps to be followed” after installing MSI.
I see now, these details and the link to “Log in with Azure CLI2.0”, which makes the understanding more clear for anyone who visits this documentation for the first time.
-Thanks,
Preeti
From: Favna<EMAIL_ADDRESS>Sent: Tuesday, May 1, 2018 4:53 AM
To: Azure/azure-docs-cli-python<EMAIL_ADDRESS>Cc: Preeti Hargunani (InConsulting Inc<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [Azure/azure-docs-cli-python] Azure CLI - Powershell (#748)

Install
Open Powershell
Open API reference, for example loginhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fcli%2Fazure%2Fauthenticate-azure-cli%3Fview%3Dazure-cli-latest&data=02|01|v-prharg%40microsoft.com|e767b1ecc6c04cfab99008d5af5a1d7b|72f988bf86f141af91ab2d7cd011db47|1|0|636607723935873809&sdata=U0s5Fs6fbNd6cQ%2B2hmxCqetWxFPqIE20C4RsHZmSkgk%3D&reserved=0
run commands as documented

Not sure where you're missing documentation but everything is there.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-docs-cli-python%2Fissues%2F748%23issuecomment-385654628&data=02|01|v-prharg%40microsoft.com|e767b1ecc6c04cfab99008d5af5a1d7b|72f988bf86f141af91ab2d7cd011db47|1|0|636607723935883818&sdata=uaRFGqLugtpZSfgVmA51m09aV%2B4z5rWXLuhaUKf1YgM%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAktBbBFEpXnOIDD_d9E7bgXUetlqTPWjks5tuEyngaJpZM4Taqsq&data=02|01|v-prharg%40microsoft.com|e767b1ecc6c04cfab99008d5af5a1d7b|72f988bf86f141af91ab2d7cd011db47|1|0|636607723935883818&sdata=PFysQ5Sode5LT6cu2lFKWByL8LzedkuxP0Mo2IL3unc%3D&reserved=0.


feat(docs): update sandbox commands, add reference, fix tutorials

Please read contributing guidelines and remove this line.

Docs Preview
Hey there! 👋 You can check your preview at https://669fe6b421f22906a887e6e4--aztec-docs-dev.netlify.app

Should we add a temporary warning about builder going away?

i put a warning in the reference, don't think we need a big one. it's in migration notes and we'll put in discord


zone pivots missing from configure-custom-container page

[Enter feedback here]
Linux & Windows zone pivots include specific steps for either OS but neither seem to be visible on the site though included in the document.
I would expect the container-linux or container-windows options for the document but they are not present.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1d385179-7730-3b99-aff6-75491deb070a
Version Independent ID: 7da429ea-5421-9d99-3e7c-af1b3fee5ca8
Content: Configure a custom container - Azure App Service
Content Source: articles/app-service/configure-custom-container.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

Last Seen June 6th from via Wayback.
https://web.archive.org/web/20220706210216/https://docs.microsoft.com/en-us/azure/app-service/configure-custom-container?pivots=container-linux

#re-assign: msangapu-msft

Patched here: https://github.com/MicrosoftDocs/azure-docs-pr/pull/204895

#please-close


Add vulnerabilities and circleci badges to README

Snyk's support on badge content delivery seems to be lacking. The badge will only show up 50% of the time. It is flaky. It's been an issue for =many people -- https://github.com/snyk/snyk/issues/347
Removing the badge for now until that is addressed.

#74 and #80 are merged. Closing.


Material UI causes staging / production builds to fail

Running npm run compile with the node environment set to staging or production causes node -r dotenv/config --harmony bin/compile to error out. Tested using different versions (4.2.x and 5.5.0) of Node and NPM (v3).  Same as issue #318. Tried versions material ui versions 13 and up.

Closing in favor of https://github.com/davezuko/react-redux-starter-kit/issues/318


BUG: fixed heatmap pipeline return

This PR address the issue where peds-heatmap returns a <class 'qiime2.sdk.results.Results'>  and not a Result object.

Tested locally, and this works as expected. All unit tests pass via the old CI system, so we can disregard new CI failures and I'll go ahead and merge this!


Update tutorial-kubernetes-app-update.md

The command "docker-compose up --build -d" doesnt work. Since up is not intended to do rebuilds, I splitted it up in two sections, rebuild the new image with build and then start it with docker up.

@mgessenay : Thanks for your contribution to the Azure documentation! The author, @neilpeterson, has been notified to review your proposed change.

@mgessenay did you have issues running the docker-compose up command? I am pretty confident it works as is. Here is the reference documentation.

@neilpeterson Yes, I am using this in a training, and it worked for none of the 5 students (and not for me too). I agree with you on the documentation, but it just gives you the help if you fire this command.

What os are you working on / Docker version? Any errors or other output that can be used to troubleshoot?
I've just run through it myself with no issue.
Neils-MBP:azure-voting-app-redis neilpeterson$ docker-compose up --build -d
Creating network "azurevotingappredis_default" with the default driver
Building azure-vote-front
Step 1/3 : FROM    tiangolo/uwsgi-nginx-flask:python3.6
 ---> d3f7d9a2f84d
Step 2/3 : RUN     pip install redis
 ---> Using cache
 ---> 07b3de8f65db
Step 3/3 : ADD     /azure-vote /app
 ---> 4ce98d4175ab
Successfully built 4ce98d4175ab
Successfully tagged azure-vote-front:latest

When browsing to localhost:8080 my app is now updated.

As supposed in the tutorial I am using AKS. Kubernetes version is 1.7 or .1.8, doesn't matter.

I am using the Image "Docker on Ubuntu" from the Azure marketplace.
Docker-compose version: 1.6.2
In the config yaml file, I needed to downgrade the compose version to 2, but this was mostly the case for the azure vote app.

@mgessenay, ok I will check it out with that image. Sorry to push back on this, I do not want to add extra steps to the tutorial unless necessary.

@mgessenay it looks like that version of compose in that image is quite old, I will raise this up through the compute team. That said, I would not use it. The docker tooling went through a big change at version 1.12. I would consider anything before 1.12 legacy-ish.
I am not seeing an issue when using a more recent version of compose on Windows on Mac.
I appreciate the contribution but am going to close this out without merging.

#please-close


Pixel 6 Android 12 can not receive dummy byte from scrcpy-server

[ √] I have read the FAQ.
[ √] I have searched in existing issues.

Environment

OS: macOS arm64
scrcpy version: 1.24
installation method: manual build
device model: Pixel 6
Android version: 12

Describe the bug
I build the scrcpy server of version 1.24, and I push it into /data/local/tmp, then I use python to build a socket connection , but I can not receive dummy byte from scrcpy server. Though i change some code of scrcpy, but i do not change the logic of connection.

this issue is similar to https://github.com/Genymobile/scrcpy/issues/3486
I add some log to check the issue and find the server is blocked at:
videoSocket = localServerSocket.accept();

If do not disable controls, you must also open a second socket.
If you just want to receive the H.264 video stream, this should help: https://code.videolan.org/rom1v/vlc/-/merge_requests/20


x-editable integration possible?

Would it be possible to integrate x-editable (or something similar) in jQuery Bootgrid for inline editing? If so, any jsfiddle links out there?

@appel Did you get this to work?

Unfortunately, not yet. And then work got in the way... :( If I do get it working in the future I'll post it here.

I got it working like this:
$.fn.editable.defaults.mode = 'inline';

$("#gradebook").bootgrid({
  ...
}).on("loaded.rs.jquery.bootgrid", function (e){
  $('[data-xedit]').each(function(){
    entry.editable({
      type: 'text',
      name: 'score',
      url: "...someurl",
      title: 'Enter score'
    });
  })
 });

@Nerian wow, that's awesome! Would you mind setting up a jsfiddle by forking this as a base?

@Nerian what is '[data-xedit]' in your code? Name of
 tag?
If it possible give example of marking

@Nerian Is this working now?

If I remember correctly, it was the name of the span:
03 Aug 2014

@Nerian Can you please post the x-editable bootgrid example in jsfiddle? Many thanks in anticipation

Hey, would anyone be kind enough to post the answer with jsfiddle! Would be really helpful. Thanks!

Sorry, I no longer have the code. It was 3 years ago.

1.- Add a class over the HTML
 COMENTARIOS
2.-  Change the class property contenteditable in the onloaded function.
.on("loaded.rs.jquery.bootgrid", function()         {                   grid.find(".student_name").on("click", function(e){          $('.student_name').attr("contenteditable", "true");         });


CIbuildwheel and benchmark CIs use PL master for tests

Update CIs to use master branch of PL instead of the latest release.

@chaeyeunpark the changes are looking +1 What is the reason for making them?

@antalszava We want to utilize the latest feature of PL (in this case, float32 support). Currently, some Lightning CIs use the latest release, so raises errors when I want to make a newly added feature of PL (only existing in the master branch).


Don't panic on extraneous tokens, return Error

Yes, technically this will most likely be a programmer error, but since
it's hard to prove correctness right now, I'd rather err on the side of
not blowing everything up. (Most of the cases I've run into are even
recoverable.)

Based #17

With the log there to help trace it, this is definitely a good change. In general, it's probably better to replace most panics with a descriptive error.
That said, I'm not sure exactly how recoverable this error ends up being, because much of the code is written with the assumption that there are two kinds of errors only: recoverable (NoMatch) and fatal, where the fatal should be propagated up basically always. I suspect that an ordered choice where the first option gets Extraneous will bubble that error up as fatal. Of course, currently it panics, so this is an improvement still.

I suspect that an ordered choice where the first option gets Extraneous will bubble that error up as fatal.

Sorry, not sure I understand what you mean by this.

Of course, currently it panics, so this is an improvement still.

I hope this means you're okay with merging this :)
I've just pushed another commit to also not emit a panic call for enum variants.

Yep, less panicking is always good.


pulsar-bookie and pulsar-broker CrashLoopBackOff in kubernetes

Describe the bug
A clear and concise description of what the bug is.
pulsar 2.7.1
 k get pod -n pulsar
NAME                                     READY   STATUS             RESTARTS   AGE
pulsar-bookie-0                          0/1     CrashLoopBackOff   73         5h58m
pulsar-bookie-1                          0/1     CrashLoopBackOff   73         5h58m
pulsar-bookie-2                          0/1     CrashLoopBackOff   73         5h58m
pulsar-bookie-3                          0/1     CrashLoopBackOff   73         5h58m
pulsar-broker-0                          0/1     CrashLoopBackOff   71         5h58m
pulsar-broker-1                          0/1     CrashLoopBackOff   71         5h58m
pulsar-broker-2                          0/1     CrashLoopBackOff   71         5h57m
pulsar-proxy-0                           1/1     Running            0          5h57m
pulsar-proxy-1                           1/1     Running            0          5h57m
pulsar-proxy-2                           1/1     Running            0          5h57m
pulsar-pulsar-manager-6bf99b4d88-jk22g   1/1     Running            0          27d
pulsar-recovery-0                        1/1     Running            1          27d
pulsar-toolset-0                         1/1     Running            1          27d
pulsar-zookeeper-0                       1/1     Running            1          27d
pulsar-zookeeper-1                       1/1     Running            1          27d
pulsar-zookeeper-2                       1/1     Running            1          27d

bookie
k logs -n pulsar  pulsar-bookie-0 --tail 20 -f
22:20:20.891 [main] INFO  org.apache.zookeeper.common.X509Util - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
22:20:20.895 [main] INFO  org.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 10485760 Bytes
22:20:20.904 [main] INFO  org.apache.zookeeper.ClientCnxn - zookeeper.request.timeout value is 0. feature enabled=
22:20:20.918 [main-SendThread(pulsar-zookeeper:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server pulsar-zookeeper/<IP_ADDRESS>:2181. Will not attempt to authenticate using SASL (unknown error)
22:20:20.924 [main-SendThread(pulsar-zookeeper:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /<IP_ADDRESS>:45748, server: pulsar-zookeeper/<IP_ADDRESS>:2181
22:20:20.931 [main-SendThread(pulsar-zookeeper:2181)] INFO  org.apache.zookeeper.ClientCnxn - Session establishment complete on server pulsar-zookeeper/<IP_ADDRESS>:2181, sessionid = 0x2000001f885027b, negotiated timeout = 30000
22:20:20.934 [main-EventThread] INFO  org.apache.bookkeeper.zookeeper.ZooKeeperWatcherBase - ZooKeeper client is connected now.
22:20:21.104 [main] ERROR org.apache.bookkeeper.bookie.Bookie - There are directories without a cookie, and this is neither a new environment, nor is storage expansion enabled. Empty directories are [/pulsar/data/bookkeeper/journal/current, /pulsar/data/bookkeeper/ledgers/current]
22:20:21.104 [main] INFO  org.apache.bookkeeper.proto.BookieNettyServer - Shutting down BookieNettyServer
22:20:21.113 [main] ERROR org.apache.bookkeeper.server.Main - Failed to build bookie server
org.apache.bookkeeper.bookie.BookieException$InvalidCookieException:
	at org.apache.bookkeeper.bookie.Bookie.checkEnvironmentWithStorageExpansion(Bookie.java:476) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.bookie.Bookie.checkEnvironment(Bookie.java:255) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.bookie.Bookie.<init>(Bookie.java:712) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.proto.BookieServer.newBookie(BookieServer.java:152) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.proto.BookieServer.<init>(BookieServer.java:120) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.server.service.BookieService.<init>(BookieService.java:52) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.server.Main.buildBookieServer(Main.java:304) ~[org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.server.Main.doMain(Main.java:226) [org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]
	at org.apache.bookkeeper.server.Main.main(Main.java:208) [org.apache.bookkeeper-bookkeeper-server-4.12.0.jar:4.12.0]

broker
22:28:45.687 [main] ERROR org.apache.pulsar.PulsarBrokerStarter - Failed to start pulsar service.
org.apache.pulsar.broker.PulsarServerException: java.lang.RuntimeException: org.apache.pulsar.client.admin.PulsarAdminException$ServerSideErrorException: HTTP 500 Internal Server Errorjava.io.ByteArrayInputStream@7c3c22f9

so is there anyone who can help me out?
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: centos 7.9
Additional context
Add any other context about the problem here.

You might need to clean up the pvc and pv.

@zymap  but why this happed ?   its not a good idea to clean pvc when the pod CrashLoopBackOff.
Its just runing three weeks.

fix by recreate whole cluster
 k get pod -n pulsar
NAME                                     READY   STATUS      RESTARTS   AGE
pulsar-bookie-0                          1/1     Running     0          7m29s
pulsar-bookie-1                          1/1     Running     0          7m29s
pulsar-bookie-2                          1/1     Running     0          7m29s
pulsar-bookie-3                          1/1     Running     0          7m29s
pulsar-bookie-init-9rk8j                 0/1     Completed   0          7m29s
pulsar-broker-0                          1/1     Running     0          7m29s
pulsar-broker-1                          1/1     Running     0          7m29s
pulsar-broker-2                          1/1     Running     0          7m29s
pulsar-proxy-0                           1/1     Running     0          7m29s
pulsar-proxy-1                           1/1     Running     0          7m29s
pulsar-proxy-2                           1/1     Running     0          7m29s
pulsar-pulsar-init-ppjc4                 0/1     Completed   0          7m29s
pulsar-pulsar-manager-6bf99b4d88-d6jnk   1/1     Running     0          7m30s
pulsar-recovery-0                        1/1     Running     0          7m30s
pulsar-toolset-0                         1/1     Running     0          7m29s
pulsar-zookeeper-0                       1/1     Running     0          7m29s
pulsar-zookeeper-1                       1/1     Running     0          7m11s
pulsar-zookeeper-2                       1/1     Running     0          6m51s

The reason that Invalid cookie looks like you clean up the data directory but not reinitialize the cluster

@zymap  so re run the pulsar-bookie-init job can fix the problem?
BTW, in our test env,  it Crash in the middle night , no one clean up the data directory.

Yes. It should fix the issue.

The issue had no activity for 30 days, mark with Stale label.

[#] kubectl get pod -n pulsar
NAME                                     READY   STATUS             RESTARTS          AGE
pulsar-bookie-0                          1/1     Running            0                 2d18h
pulsar-bookie-1                          1/1     Running            0                 2d23h
pulsar-bookie-2                          1/1     Running            0                 2d23h
pulsar-bookie-3                          0/1     Init:0/1           0                 8m54s
pulsar-broker-0                          0/1     CrashLoopBackOff   247 (3m26s ago)   2d23h
pulsar-broker-1                          0/1     CrashLoopBackOff   248 (3m13s ago)   46h
pulsar-broker-2                          0/1     CrashLoopBackOff   247 (3m1s ago)    2d23h
pulsar-proxy-0                           1/1     Running            0                 2d23h
pulsar-proxy-1                           1/1     Running            0                 2d22h
pulsar-proxy-2                           1/1     Running            0                 45h
pulsar-pulsar-manager-866c55b6c4-qqqwr   1/1     Running            0                 2d23h
pulsar-recovery-0                        1/1     Running            0                 2d23h
pulsar-toolset-0                         1/1     Running            0                 2d23h
pulsar-zookeeper-0                       1/1     Running            0                 2d23h
pulsar-zookeeper-1                       1/1     Running            0                 8m54s
pulsar-zookeeper-2                       1/1     Running            0                 45h

[#] kubectl logs -f -n pulsar pulsar-broker-0
2024-01-12T08:43:28,980+0000 [main-SendThread(pulsar-zookeeper:2181)] INFO  org.apache.zookeeper.ClientCnxn - Opening socket connection to server pulsar-zookeeper/<IP_ADDRESS>:2181.
2024-01-12T08:43:28,980+0000 [main-SendThread(pulsar-zookeeper:2181)] INFO  org.apache.zookeeper.ClientCnxn - SASL config status: Will not attempt to authenticate using SASL (unknown error)
2024-01-12T08:43:28,983+0000 [main-SendThread(pulsar-zookeeper:2181)] INFO  org.apache.zookeeper.ClientCnxn - Socket connection established, initiating session, client: /<IP_ADDRESS>:60960, server: pulsar-zookeeper/<IP_ADDRESS>:2181
2024-01-12T08:43:28,986+0000 [main-SendThread(pulsar-zookeeper:2181)] WARN  org.apache.zookeeper.ClientCnxn - Session 0x0 for sever pulsar-zookeeper/<IP_ADDRESS>:2181, Closing socket connection. Attempting reconnect except it is a SessionExpiredException.
org.apache.zookeeper.ClientCnxn$EndOfStreamException: Unable to read additional data from server sessionid 0x0, likely server has closed socket
        at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:77) ~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350) ~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1290) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]

kubectl logs -f -n pulsar pulsar-zookeeper-1 --tail=100
2024-01-12T08:46:42,865+0000 [NIOWorkerThread-1] WARN  org.apache.zookeeper.server.NIOServerCnxn - Close of session 0x0
java.io.IOException: ZooKeeperServer not running
        at org.apache.zookeeper.server.NIOServerCnxn.readLength(NIOServerCnxn.java:544) ~[org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
        at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:332) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
        at org.apache.zookeeper.server.NIOServerCnxnFactory$IOWorkRequest.doWork(NIOServerCnxnFactory.java:522) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
        at org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:154) [org.apache.zookeeper-zookeeper-3.6.3.jar:3.6.3]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]

I got the same issue , then I deleted the pulsar namespace and setup the whole standalone cluster locally, it  worked for me , is their any,
for me its pulsar-mini-bookie get crash loop back errors


capsimage 5.2?

I noticed that you specifically mention capsimage 4.2 in https://github.com/keirf/greaseweazle/wiki/IPF-Images, but it seems that a version 5.2 is available now as well, and is the version packaged by Arch Linux AUR (https://aur.archlinux.org/packages/capsimage).
As I recently made a package for greaseweazle for Arch Linux (https://aur.archlinux.org/packages/greaseweazle), I'd like to know if I can add an optional dependency on the other package or if I need to package the older version separately for this.
I unfortunately don't have any IPF images to test this feature with, otherwise I wouldn't bother you with this question.

It should work fine as greaseweazle will try to load libcapsimage.so.5. You can find loads of IPF downloads here: http://www.oldgamesfinder.com/?m=2&q=Europe
So you can test it for yourself.


Partial HTML formatted invalid

Description
We tried to use js-beautify to re-format partial HTML that is pre-indented.
It fails to remove indentation fo most of the lines but one without tags, this makes the formatted result broken.
Input
The code looked like this before beautification:

My favorite things

Raindrops on roses

Whiskers on kittens

  Bright copper kettles

Current Output
The  code actually looked like this after beautification:

My favorite things

Raindrops on roses

Whiskers on kittens

  Bright copper kettles

Expected Output
The code should have looked like this after beautification:

My favorite things

Raindrops on roses

Whiskers on kittens

 Bright copper kettles

Environment
Browser User Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15
Language Selected:
Beautify HTML
Settings
{
  "indent_size": 1,
  "indent_char": " ",
  "max_preserve_newlines": "1",
  "preserve_newlines": true,
  "keep_array_indentation": false,
  "break_chained_methods": false,
  "indent_scripts": "normal",
  "brace_style": "collapse",
  "space_before_conditional": true,
  "unescape_strings": false,
  "jslint_happy": false,
  "end_with_newline": false,
  "wrap_line_length": 41,
  "indent_inner_html": true,
  "comma_first": false,
  "e4x": false,
  "indent_empty_lines": false,
  "extra_liners": ""
}

Odd, I don't see that behavior locally.


Startup problem - Basics.ipynb ( Need to know what I am missing)

I have followed the steps- path setting, conda environment setting. However it throws following error- seems module are missing- do I need to pip each of them independently.
ModuleNotFoundError                       Traceback (most recent call last)
 in ()
1 import sys
2 sys.path.append('../../metal')
----> 3 import metal
~/metal/metal/init.py in ()
----> 1 from .end_model import EndModel
2 from .label_model import LabelModel, MajorityClassVoter, MajorityLabelVoter, RandomVoter
3 from .tuners import RandomSearchTuner
4
5 all = [
~/metal/metal/end_model/init.py in ()
----> 1 from .end_model import EndModel
2 from .identity_module import IdentityModule
3 from .logreg import LogisticRegression
4 from .loss import SoftCrossEntropyLoss
5
~/metal/metal/end_model/end_model.py in ()
3 import torch.nn.functional as F
4
----> 5 from metal.classifier import Classifier
6 from metal.end_model.em_defaults import em_default_config
7 from metal.end_model.identity_module import IdentityModule
~/metal/metal/classifier.py in ()
11
12 from metal.analysis import confusion_matrix
---> 13 from metal.logging import Checkpointer, Logger, LogWriter, TensorBoardWriter
14 from metal.metrics import metric_score
15 from metal.utils import place_on_gpu, recursive_merge_dicts
~/metal/metal/logging/init.py in ()
1 from .checkpointer import Checkpointer
2 from .logger import Logger, Timer
----> 3 from .tensorboard import TensorBoardWriter
4 from .writer import LogWriter
5
~/metal/metal/logging/tensorboard.py in ()
----> 1 from tensorboardX import SummaryWriter
2
3 from metal.logging.writer import LogWriter
4
5

I assume because you closed the issue that you were able to resolve it. Feel free to post your solution so that others can benefit as well.


Config to open file in tab by default

Is there a way to override  on Startify so that it opens in a new tab instead of a new buffer and without having to mark the file with 't' first?

What do you want to happen exactly on what button? We can probably find a way to map it according to your needs.
E.g. a shortcut for "first mark with t, then open" doesn't make much sense, because :edit would behave the same as :tabedit, since the Startify buffer would close itself before. Nevertheless, here, this mapping would do this:
autocmd User Startified nmap <buffer><cr> t:call startify#open_buffers()<cr>

@irliao *ping*

(Feel free to reopen, if your question isn't answered yet.)

@mhinz Thank you so much for the response and sorry for my late response!
Your solution works perfectly!
Please relabel this issue as solved and thanks again for the help!!! :)

Yay, glad to hear that. Thanks for bringing it up!


fix: [Auto Routing Improved] feature testing may not find controller/method

Description
See https://forum.codeigniter.com/showthread.php?tid=87818

fix AutoRouterInterface::getRoute()

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

All checks passed!

Can someone please review this?


Upgrade to RC6

Hi,
I have upgraded one of my application to angular 2 RC6 today and after that firebase authentication isn't working as expected. With RC5  FirebaseAuth service subscription was working, but I suspect something wrong with this service that it isn't raising events which breaks setting the authentication state after success.
Here is my app on github: https://github.com/asadsahi/ng2fb-bootstrap
Code is in the:
https://github.com/asadsahi/ng2fb-bootstrap/blob/master/src/app/shared/services/auth.service.ts

AngularFire2 isn't on RC6 yet. For the time being downgrade to RC5 if you require AngularFire2, but  we are working on the upgrade soon.

no problem, thanks @davideast . I will wait until new version is released supporting RC6.

@asadsahi The only thing you need to do probably is reverting rxjs back to beta.10 from beta.11.

It worked. Magic :+1:
Thanks @orangesoup, will stick to rxjs xx.10 until next release of angularfire2 fixes it I guess.

@davideast when do you think will angularfire be ready to use beta.11 / rc6?

Hi, i have an error while trying to user angularfire2 with rc5: No provider for Token FirebaseUrl!
imports
....
...
import {FIREBASE_PROVIDERS,
defaultFirebase,
AngularFire,
AuthMethods,
AuthProviders,
firebaseAuthConfig} from 'angularfire2';
@NgModule({
declarations: [Myapp],
imports:      [BrowserModule],
bootstrap:    [Myapp],
providers: [FIREBASE_PROVIDERS]
})
export class AppModule {}
platformBrowserDynamic().bootstrapModule(AppModule);

I figured it out, i had to set the defaultFirebase({apiKey: xxx, authDomain: xxx, ...}) as a provider too

@andreigiura see step 3 here

I followed the steps to install the AngularFire in project but I am getting following error with RC5.
http://localhost:4200/angularfire2 Failed to load resource: the server responded with a status of 404 (Not Found)
zone.js:461 Unhandled Promise rejection: Error: XHR error (404 Not Found) loading http://localhost:4200/angularfire2
at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:4200/vendor/zone.js/dist/zone.js:769:30)
at ZoneDelegate.invokeTask (http://localhost:4200/vendor/zone.js/dist/zone.js:356:38)
at Zone.runTask (http://localhost:4200/vendor/zone.js/dist/zone.js:256:48)
at XMLHttpRequest.ZoneTask.invoke (http://localhost:4200/vendor/zone.js/dist/zone.js:423:34)
Error loading http://localhost:4200/angularfire2 as "angularfire2" from http://localhost:4200/app/app.module.js ; Zone:  ; Task: Promise.then ; Value: Error: Error: XHR error (404 Not Found) loading http://localhost:4200/angularfire2(…)consoleError @ zone.js:461
zone.js:463 Error: Uncaught (in promise): Error: Error: XHR error (404 Not Found) loading http://localhost:4200/angularfire2(…)

Is this being actively worked on?  I looked through the source and it doesn't seem like a huge amount of effort to update (but looks can be deceiving).  Hoping there is an update soon because it seems there are other version problems that cause AF2 to not work with Angular RC6.

@ryanlangton This repository is actively being worked on. We have a beta.5 milestone in place here on GitHub. You should see an update sometime this week.

RC7 upgrade is merged. Up next 2.0 final (which is the same thing really)


MH-13370, Don't configure unnecessary default credentials

The default configuration for the ingest service contains unnecessary
credentials which are used if the configured regular expresseion (which
has a typo) matches. This could (given the type get's fixed) cause
trouble with ingests from that system.
This just goes with the empty default configuration instead.

The ingest service does not set those defaults

Yes, it does once updated() is executed.

@lkiesow Can you please point me to the lines of code that set those defaults? I really did not find them...

@lkiesow Ah sorry, now I got it: There is not need to set a value at all.... sorry for the noise...

This does still mean that there is a problem if there is no
configuration file at all. But that's anither problem.
On Mon, 18 Feb 2019 10:58:00 +0000 (UTC)
Sven Stauber<EMAIL_ADDRESS>wrote:

@lkiesow Ah sorry, now I got it: There is not need to set a value at
all.... sorry for the noise...


Fix subnode-ssh.sh for best practices

Script was updated in anticipation of shellcheck being added to CI
tests.
Signed-off-by: Matt Langbehn<EMAIL_ADDRESS>

Starting gate_github jobs.

gate-recheck


Support PEP660 (pip install --editable)

It might be enough to just wrap build_editable to setuptools one.
Just to make sure this works we should check that:

a) Changing the python file should be reflected in the execution
b) Updating on change of C source is outside of the scope of editable installs
c) C built module libraries, etc. are installed in the correct python source folder. Maybe this can be exposed to user on CMake side so that they can be hooked correctly

Duplicate of #114. There are several things needed. Though a) yes, I think we can do that, b) We should be able to do this too (see meson-python's support) - though it would likely be under a configuration option), and c) a bit tricky, we can either try to put everything in source or have a custom loader - the latter unfortunately doesn't produce the right paths for coverage and such tools.
We really need #164 first, though. Users will expect an editable install to not rebuild everything every time.
Also, I'm prioritizing the PEP 517 mode (no setupools). With the setuptools module, maybe we can wrap build_editiable, I'm not sure. That also just might not be supported, with users requested to use the native support if they want editable installs. :)

I think it is worth shipping out these features gradually:

A simpler wrapper around an existing build_editable (e.g. setuptools) that does not do b) or c) yet, just allows the project to be installed via pip install -e and symlinks the python code. The dev would be responsible to do b) and c) manually
Implement c) within python. Preferably it should not be dependent on cmake because some devs might have a pip independent dev build that does not call scikit-build-core. This would mostly simplify the initial setup
Go beyond and make it interact with cmake for b)

The key is that even with the simple setuptools wrapper, it is already more convenient for developers to debug.


Fix incorrect links, add links and descriptions to Input page

Per issue #53, I made the following changes:

Corrected top-level ("Input, Output, and Display") link in TOC changing destination from "input/text-input" to "input/input"
Added links and descriptions to /input/input page for items in TOC
-- Text Rendering
-- Page or text Alignment
-- Text Justification
-- Font Technology
-- Moved "Line and Word Breaking" to this spot
-- Mirroring
-- Overlay Text Properties
Moved "Capitalization, Uppercasing, and Lowercasing" and "Fonts" to the bottom with "Complex Scripts Awareness" so all external links (also these are not in TOC) are together.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: jotasprout sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

globalization/input/input.md
:white_check_mark:Succeeded
View

globalization/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Attach logging output to the operations reporter.

Addresses #7315. When we moved over to the OperationLogger we forgot to attach the logging output from scaffold-dbcontext  to that logger.

I've been trying to get this set up but it's causing a lot of probs. Plus my laptop is playing up. I will though.
Have a good weekend. Cheers,
laj
Sent from Outlookhttp://aka.ms/weboutlook

From: Brice Lambson<EMAIL_ADDRESS>Sent: Friday, March 3, 2017 4:02:27 PM
To: aspnet/EntityFramework
Cc: Lawrence Jones; Assign
Subject: Re: [aspnet/EntityFramework] Attach logging output to the operations reporter. (#7785)
@bricelam approved this pull request.
[:shipit:] You verified this manually, right?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Faspnet%2FEntityFramework%2Fpull%2F7785%23pullrequestreview-25096222&data=02|01|lajones%40microsoft.com|b2513415fbcd4726f88008d46291bf93|72f988bf86f141af91ab2d7cd011db47|1|0|636241825496764347&sdata=Cy0R6VbKEWACnVUXDaRjq8SgjMI6IE4Dzf47W62%2BBJk%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAB08F_JpLNy3LEsFSRKchAsQbLU-6Yzaks5riKoTgaJpZM4MS4a9&data=02|01|lajones%40microsoft.com|b2513415fbcd4726f88008d46291bf93|72f988bf86f141af91ab2d7cd011db47|1|0|636241825496764347&sdata=PcAXmAyaeb%2BjdPTKllwMfqsGN0BJWWH9w0WlZxpVcQ4%3D&reserved=0.

@lajones What is the status of this PR?

Sorry - forgot to update. This was checked in on Mar 7 with commits e0e38a425 & 1d6e10bea.


Update index page mobile format

Description of the problem

Header in mobile format seemed a bit small.

Description of the solution

This fixes this issue

@AmishgaAlphonius ping me when you are happy with the result

@AmishgaAlphonius ping me when you are happy with the result

@blaisb When the CI passes, the PR will be ready for merge! :D

@AmishgaAlphonius ping me when you are happy with the result

@blaisb It will be ready for merge once the CI passes! :)


chore(deps): upgrade compiler dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-compiler-dependencies-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2039

Questions ?
Please refer to the Backport tool documentation


PPO training loop

Add a PPO training loop that allows us to execute the example environments. Probably the easiest approach is to adapt cleanrl/ppo
Should only need a couple of changes:

[ ] Switch out openai gym for entity gym
[ ] Switch out agent for simple enn (https://github.com/entity-neural-network/incubator/issues/3)
[ ] Implement action heads for entity gym action spaces (https://github.com/entity-neural-network/incubator/issues/2)
[ ] Observation/action buffers need to be lists of objects rather than fixed-size tensor
[ ] logprobs also get more annoying, could just assume single categorical action head to keep it simple at first

At the end of this we should be able to solve most of the example envs.

I made some partial progress here: https://github.com/cswinter/entity-gym/compare/ppo


Generated world is much smaller than expected

I encountered a scenario where the world only had ~10 rooms as opposed to the expected ~50. This is likely a missed edge case in the generation algorithm. Will need to reproduce, however.

Received this capture reported in the v0.4.0 development version.

Encountered this scenario in v0.4.0 pre-release.

Encountered this scenario in v0.4.0 pre-release.


Quick-start missing pre-req permissions (AD roles)

I found that when I deployed, I would get errors if I didn't also use PIM to activate AD Roles for my account.
The Roles I activated were

Application Administrator (not sure if this was required or not)
Conditional Access Administrator (required to create the CA policies)
User Administrator (required to create the group CA_AADP2)

I'm not sure if I'm understanding how this works but this got me past the errors.
Many thanks for a great tool!
https://github.com/AlexFilipin/ConditionalAccess/wiki#deploy-the-policy-set

I also found that I could only get the script to work in PowerShell 5 (i.e. not PowerShell 7). This seems to be because AzureADPreview has dependencies not supported in PowerShell core.
I am using AzureADPreview  v<IP_ADDRESS> but I also tried v<IP_ADDRESS>

Hi @rohancragg - thanks for the feedback! I will update the quick-start wiki. The application admin should be needed because we use delegated permissions on the app registration and it has application read permissions there. PowerShell 5 / 7 feedback is fair, yes thats because of the AzureADPreview Module that does not support PowerShell 7 so far

@rohancragg I am also curious for feedback what you would prefer from an authentication point of view. Delegated or Application? My latest focus was on the templates and guidance less on the automation, it needs some love. I should fix the authentication part so it only uses Graph no longer the AzureAD module and then it will get simpler.

I made some updates to https://github.com/AlexFilipin/ConditionalAccess/wiki#deploy-the-policy-set let me know if it looks good to you

That looks great -thanks! I'm afraid I'm not yet confident enough with application auth to comment on best options as regards delegated / vs application


Update form with changes from current data collection

All changes from https://github.com/Gromopo/GroMoPo_DataCollection/issues/8 should be integrated in the streamlit app as well.

completed in dev version


[10.x] Add shouldHashKeys to ThrottleRequests middleware

This adds ability to have rate limiter keys in a non hashed format. I believe there is no added benefit of having those hashed using md5 or sha1 most of the time, and that could not be changed without extending and refactoring current middleware ATM.
Original key:

With false as the setting:

In our case this allows us to have data of rate limit available to outside systems like Grafana etc, without creating some other, duplicate, data.
The default setting would still be true, otherwise it could be adjusted in any Service Provider (f.e. RouteServiceProvider).
ThrottleRequests::setShouldHashKeys(true);

One thing i'm not sure is whether having a static key based setting is reasonable here. Maybe it could be added somewhere in config/ , but i did not find a reasonable place.
WDYT?
Thanks.

Good job, @fosron !


Make it possible to use or_upgrade with stream muxers

This PR implements StreamMuxer for the object that dispatches between two outputs when choosing between two connection upgrades.
Implementing StreamMuxer for T where T: AsyncRead + AsyncWrite was in fact not a good idea, because it conflicts with that.

Are we going to add a DummyMuxer struct that does the job of the T: AsyncRead + AsyncWrite impl?

@Vurich I've considered it but it's maybe not necessary at this point.


The console does not announce the command result to the screen reader

Actual:
On the console when user type any command, the result displays on the console for the particular console, the screen reader does not announce the command result.
Expected:
On the console when user type any command, the result displays. The screen reader should announce the command result.
User Impact:
Users who are dependent on screen reader will find difficulty if the screen reader does not announce the command result.
Test Environment:
OS: Win 10
OS version: 1709
OS build: 16299.98
Browser : Edge
MAS Reference:
MAS 1.3.1 - Info and relationship

@bazzdg What product are you testing? That is outside of the monaco editor.


Confusing Instructions

Admittedly, I really struggle with written instructions. I have a hard time visualizing them (dyscalculia) and I can't parse what I'm being asked to do, especially if I feel like the instructions and the task don't align. I know this is a mind numbingly easy task (I'm a WP developer, I've been using php for 10 years) but I got stuck because I hit a cognitive roadblock.

The classical introductory exercise. Just say "Hello, World!".
"Hello, World!" is the traditional first program for beginning programming in a new language or environment.
The objectives are simple:
Write a function that returns the string "Hello, World!".
Run the test suite and make sure that it succeeds.
Submit your solution and check it at the website.
If everything goes well, you will be ready to fetch your first real exercise.

So the problem here is it says "Write a function" and I was using the online editor and it had a function already for Goodbye something. And I couldn't understand...like it took me a dumb amount of time just to replace the "Goodbye" string with Hello World, because I thought I was supposed to write something new.
Also - I just echo'd out the hello world in my attempt because...that's a function? Isn't it? It does the thing...anyway. For those with learning disabilities, just some "stating the obvious" clarity would be nice.

This exercise is based on an upstream specification, so I can't make any changes here.  However, your point is worth discussing on our forum such that awareness can be made around the issue and improvements to it can be suggested.
I would strongly suggest copying and pasting this issue into a forum discussion to get this looked at by the larger group to see if solutions to some of the gaps can be explored.

Oh thank you! I wasn't sure where to put the thought, I struggled to find a feedback or a submission something, I will hop over to the forum!

Awesome! Thanks for doing that, I'm going to close this issue here so that it can be discussed on the forum! 🎉


Refactor NRT helpers in a separate context

Just a simple code modularization improvement. Based on PR #1965.

[Current coverage][cc-pull] is 87.23%

No coverage report found for master at aac985e.

Powered by Codecov. Last updated by [aac985e...1160197][cc-compare]
[cc-base-branch]: https://codecov.io/gh/numba/numba/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/numba/numba/compare/aac985eaef480781a6ad300d2736a6847bc951fe...1160197657d3f20d7e15440bf12f4ae13f6bace4
[cc-pull]: https://codecov.io/gh/numba/numba/pull/1969?src=pr

Can you pull in master again?

I've fixed the conflicts.

@sklam: Any objections?