[NIFI-3012] update regex for the summary tables input, output, transf…

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
…erred, received, and sent column parse function.

Reviewing...

Thanks @scottyaslan! This has been merged to master.


g810 media keys are not customizable

So I might be missing something here but I am unable to change lighting on the round media buttons. It really bugs me when those buttons are a different color than everything else. They're always the color from the last used profile in LGS. is this something that can be added, or is there some technical issue that can't be resolved?

Thia issue has been answered 4 or 5 times already, try searching :)
Anyways, the sdk doesn't support those keys unfortunately.
It bugs me too :(

Oh, sorry. I did search but barely anything came up, guess I did it wrong somehow.
Well, that's kinda dumb. You think they'll ever add it?


Fix retrieve_metadata url

Enable redirecting to https, to fix retrieve_metadata returns None issue

I can recall that the follow redirect false was put in by me deliberately because there was a redirect loop. If you have access to the amazon internal repository, I recommend checking out the commit history.


Add UI for wallet server usage fees

The SDK team added very basic support for the client to pay the wallet server it uses. The behavior is described in https://github.com/lbryio/lbry-sdk/issues/2707
Subsequently, we defaulted the fee to 0 to disable this behavior until y'all are ready. I think two things need to happen:

An input to configure the max fee you're willing to pay per day
A popup the first time a user runs the new app that explains wallet usage fees and asks the user to enable them. This was our main concern. We'd like to turn it on for everyone but we don't want users to be surprised by LBC unexpectedly draining from their account.

https://lbry.org/Wallet_Server_List
Let's also get @eggplantbren's wallet server on the above page and ideally at least a few other community run servers and then link this in the UI when doing above.

The above list is gone. Is there a new one?


Update d24a6a7b-e4d9-e315-d0a6-8b7c80a38ede.md

Just a guess here...

Hi @tgkreutz, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

tgkreutz,
Thank you for your contribution, which helps to make our documentation more accurate.
Office Scale Team


Tooltips get stuck on top left of screen

Description
This only happens on occasion and I haven't found a clear way to repro it consistently but tooltips get stuck on the top left of the viewport.

The old ui is gone with #278 So this doesn't apply any more.


Dev Pipeline

Current Docker pipeline is useful for CI/CD.
We need to write a Readme.md on how to setup a dev environment using venv that allows for easy debugging. Would be best to push json configuration files for VSCode to ease development further.

Local and Docker versions working. See Debug Documentation and Docker Documentation


Add instructions for cleaning up integration spec side effects

I am OOO the rest of this week, but Chris Jobst will probably be continuing work around this today if you want to talk to him about specifics. Yesterday we were working on a fork of this because our client project specifically needs postgresql92 and brew install postgresql grabs the latest version.
While driving out those changes we found that all of these commands are needed (at least some of the time) to clean up the residual state left over by when tests fail; maybe brew uninstall wouldn't have as many of these problems, but without access to the client machine I can't say for certain.
I do remember that before we added killall postgres,  the system was somehow getting into a weird state where everything appeared to be deleted/uninstalled but ps -Af still showed a running process that was causing trouble the next time we tried to run the integration specs.
The rms are needed to completely obliterate any evidence of past postgres install attempts.  By default I think brew remove and probably also brew uninstall leave the data directory (/usr/local/var/postgres/) intact, which makes sense for most applications. If you're just a regular user who wants to use brew to try out a different version of psql, you probably don't all your data to be deleted unless you specifically rm it.
There are probably other side effects as well, but these were the ones we specifically ran in to.

Thanks for looking into this. These side-effects are intentional since we usually only run the integration tests on a VM. Typically this is on Travis (e.g. by pushing to a temporary branch) or by using a Vmware Fusion VM with OSX installed. I definitely try to avoid iterating on a recipe on the host machine. It's too easy to end up with false positives.
I definitely think we could do more to make this workflow evident to folks unfamiliar with the project. We've made a few attempts to codify this for community members but haven't really found an approach we've been able to sustain.
Regarding clients needing a variation of a recipe that ships with Sprout–the typical pattern is to turn their fork of sprout-wrap into a cookbook and do more or less what you've done in there. If their variation can be expressed in more general terms (and tested), we'd love to bring this improvement back into Sprout proper.


RPM: RPM doesn't install under CentOS/RHEL 5

root@ [ ~ ] (14:15:21 - Tue Apr 26)
> rpm -Uvh --nodeps Seccubus-2.24.0-10.1.noarch.rpm
warning: Seccubus-2.24.0-10.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 3f186157
Preparing...                ########################################### [100%]
   1:Seccubus               ########################################### [100%]
error: unpacking of archive failed: cpio: Bad magic

root@[ ~ ] (14:15:47 - Tue Apr 26)
> file Seccubus-2.24.0-10.1.noarch.rpm
Seccubus-2.24.0-10.1.noarch.rpm: RPM v3.0 bin i386/x86_64 Seccubus-2.24.0-10.1

root@[ ~ ] (14:15:52 - Tue Apr 26)
> md5sum Seccubus-2.24.0-10.1.noarch.rpm
010c2bb94c770be31b7f720150c76a4a  Seccubus-2.24.0-10.1.noarch.rpm

Enabled building on CentOS5 on OpenSuse Build services. Got some errors to fix:
[   45s] Processing files: Seccubus-2.25.1-12.1
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/IVIL.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/OpenVAS
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/OpenVAS/OMP.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusAssets.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusCustomSQL.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusDB.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusEvents.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusFindings.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusHelpers.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusHostnames.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusIVIL.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusIssues.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusNotifications.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusRights.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusRuns.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusScanners.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusScans.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusUsers.pm
[   45s] warning: File listed twice: /opt/seccubus/SeccubusV2/SeccubusWorkspaces.pm
[   45s] warning: File listed twice: /opt/seccubus/bin
[   45s] warning: File listed twice: /opt/seccubus/bin/add_user
[   45s] warning: File listed twice: /opt/seccubus/bin/add_user
[   45s] warning: File listed twice: /opt/seccubus/bin/attach_file
[   45s] warning: File listed twice: /opt/seccubus/bin/attach_file
[   45s] warning: File listed twice: /opt/seccubus/bin/burp2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/burp2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/convert_v1_v2
[   45s] warning: File listed twice: /opt/seccubus/bin/convert_v1_v2
[   45s] warning: File listed twice: /opt/seccubus/bin/do-scan
[   45s] warning: File listed twice: /opt/seccubus/bin/do-scan
[   45s] warning: File listed twice: /opt/seccubus/bin/dump_ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/dump_ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/dump_nmap
[   45s] warning: File listed twice: /opt/seccubus/bin/dump_nmap
[   45s] warning: File listed twice: /opt/seccubus/bin/load_ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/load_ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/mailSeccubusFindings.py
[   45s] warning: File listed twice: /opt/seccubus/bin/mailSeccubusFindings.py
[   45s] warning: File listed twice: /opt/seccubus/bin/medusa2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/medusa2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nbe2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nbe2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nessus2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nessus2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nmap2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nmap2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/nthweek.sh
[   45s] warning: File listed twice: /opt/seccubus/bin/nthweek.sh
[   45s] warning: File listed twice: /opt/seccubus/bin/onlyonxday.sh
[   45s] warning: File listed twice: /opt/seccubus/bin/onlyonxday.sh
[   45s] warning: File listed twice: /opt/seccubus/bin/skipfish2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/skipfish2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/sslyze2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/sslyze2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/zap2ivil
[   45s] warning: File listed twice: /opt/seccubus/bin/zap2ivil
[   45s] warning: File listed twice: /opt/seccubus/scanners
[   45s] warning: File listed twice: /opt/seccubus/scanners/Medusa
[   45s] warning: File listed twice: /opt/seccubus/scanners/Medusa/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Medusa/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Medusa/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/Medusa/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Medusa/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/nivil.rb
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/nivil.rb
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus6
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus6/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus6/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus6/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus6/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nessus6/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/(dot)update-nessusrc.example
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/update-nessusrc
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/update-nessusrc
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/update-rcs
[   45s] warning: File listed twice: /opt/seccubus/scanners/NessusLegacy/update-rcs
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nikto
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nikto/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nikto/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nikto/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nikto/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nikto/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nmap
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nmap/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nmap/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nmap/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nmap/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Nmap/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS6
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS6/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS6/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS6/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS6/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/OpenVAS6/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLlabs
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLlabs/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLlabs/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLlabs/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLlabs/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLlabs/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLyze
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLyze/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLyze/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLyze/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLyze/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/SSLyze/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Skipfish
[   45s] warning: File listed twice: /opt/seccubus/scanners/Skipfish/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Skipfish/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/Skipfish/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/Skipfish/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/Skipfish/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/ZAP
[   45s] warning: File listed twice: /opt/seccubus/scanners/ZAP/defaults.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/ZAP/description.txt
[   45s] warning: File listed twice: /opt/seccubus/scanners/ZAP/help.html
[   45s] warning: File listed twice: /opt/seccubus/scanners/ZAP/scan
[   45s] warning: File listed twice: /opt/seccubus/scanners/ZAP/scan
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v1
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v2
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v3
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v4
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v5
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v6
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v7
[   45s] warning: File listed twice: /opt/seccubus/var/create_empty_db_v8
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/ConfigTest.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/UpToDate.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/createAsset.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/createAssetHost.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/createNotification.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/createScan.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/createWorkspace.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/deleteAsset.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/deleteAssetHost.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/deleteNotification.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getAsset2Scan.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getAssetHosts.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getAssets.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getAttachment.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getCustSQL.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getEvents.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getFilters.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getFindingHistory.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getFindings.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getIssueHistory.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getIssues.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getLogin.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getNothing.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getNotifications.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getRuns.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getSavedSQL.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getScanners.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getScans.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getSeverity.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getStatus.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/getWorkspaces.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/saveSQL.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/unlinkFindingIssue.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateAsset.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateAsset2Scan.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateAssetHost.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateFinding.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateFindings.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateIssue.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateNotification.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateScan.pl
[   45s] warning: File listed twice: /opt/seccubus/www/seccubus/json/updateWorkspace.pl
[   51s] ... checking for files with abuild user/group
[   51s]   abuild abuild /opt/seccubus/bin/add_user
[   51s]   abuild abuild /opt/seccubus/bin/attach_file
[   51s]   abuild abuild /opt/seccubus/bin/burp2ivil
[   51s]   abuild abuild /opt/seccubus/bin/convert_v1_v2
[   51s]   abuild abuild /opt/seccubus/bin/do-scan
[   51s]   abuild abuild /opt/seccubus/bin/dump_ivil
[   51s]   abuild abuild /opt/seccubus/bin/dump_nmap
[   51s]   abuild abuild /opt/seccubus/bin/load_ivil
[   51s]   abuild abuild /opt/seccubus/bin/mailSeccubusFindings.py
[   51s]   abuild abuild /opt/seccubus/bin/medusa2ivil
[   51s]   abuild abuild /opt/seccubus/bin/nbe2ivil
[   51s]   abuild abuild /opt/seccubus/bin/nessus2ivil
[   51s]   abuild abuild /opt/seccubus/bin/nmap2ivil
[   51s]   abuild abuild /opt/seccubus/bin/nthweek.sh
[   51s]   abuild abuild /opt/seccubus/bin/onlyonxday.sh
[   51s]   abuild abuild /opt/seccubus/bin/skipfish2ivil
[   51s]   abuild abuild /opt/seccubus/bin/sslyze2ivil
[   51s]   abuild abuild /opt/seccubus/bin/zap2ivil
[   51s]   abuild abuild /opt/seccubus/scanners/Medusa/scan
[   51s]   abuild abuild /opt/seccubus/scanners/Nessus/nivil.rb
[   51s]   abuild abuild /opt/seccubus/scanners/Nessus/scan
[   51s]   abuild abuild /opt/seccubus/scanners/Nessus6/scan
[   51s]   abuild abuild /opt/seccubus/scanners/NessusLegacy/scan
[   51s]   abuild abuild /opt/seccubus/scanners/NessusLegacy/update-nessusrc
[   51s]   abuild abuild /opt/seccubus/scanners/NessusLegacy/update-rcs
[   51s]   abuild abuild /opt/seccubus/scanners/Nikto/scan
[   51s]   abuild abuild /opt/seccubus/scanners/Nmap/scan
[   51s]   abuild abuild /opt/seccubus/scanners/OpenVAS/scan
[   51s]   abuild abuild /opt/seccubus/scanners/OpenVAS6/scan
[   51s]   abuild abuild /opt/seccubus/scanners/SSLlabs/scan
[   51s]   abuild abuild /opt/seccubus/scanners/SSLyze/scan
[   51s]   abuild abuild /opt/seccubus/scanners/Skipfish/scan
[   51s]   abuild abuild /opt/seccubus/scanners/ZAP/scan
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v1
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v2
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v3
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v4
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v5
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v6
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v7
[   51s]   abuild abuild /opt/seccubus/var/create_empty_db_v8
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/ConfigTest.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/UpToDate.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/createAsset.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/createAssetHost.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/createNotification.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/createScan.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/createWorkspace.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/deleteAsset.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/deleteAssetHost.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/deleteNotification.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getAsset2Scan.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getAssetHosts.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getAssets.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getAttachment.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getCustSQL.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getEvents.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getFilters.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getFindingHistory.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getFindings.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getIssueHistory.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getIssues.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getLogin.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getNothing.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getNotifications.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getRuns.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getSavedSQL.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getScanners.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getScans.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getSeverity.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getStatus.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/getWorkspaces.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/saveSQL.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/unlinkFindingIssue.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateAsset.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateAsset2Scan.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateAssetHost.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateFinding.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateFindings.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateIssue.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateNotification.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateScan.pl
[   51s]   abuild abuild /opt/seccubus/www/seccubus/json/updateWorkspace.pl
[   51s] please fix your filelist (e.g. add defattr)

There are also dependancy problems:
Seccubus-2.24.0-10.1.noarch from /Seccubus-2.24.0-10.1.noarch has depsolving problems
  --> Missing Dependency: perl-CGI is needed by package Seccubus-2.24.0-10.1.noarch (/Seccubus-2.24.0-10.1.noarch)
Seccubus-2.24.0-10.1.noarch from /Seccubus-2.24.0-10.1.noarch has depsolving problems
  --> Missing Dependency: perl-REST-Client is needed by package Seccubus-2.24.0-10.1.noarch (/Seccubus-2.24.0-10.1.noarch)
Seccubus-2.24.0-10.1.noarch from /Seccubus-2.24.0-10.1.noarch has depsolving problems
  --> Missing Dependency: perl(REST::Client) is needed by package Seccubus-2.24.0-10.1.noarch (/Seccubus-2.24.0-10.1.noarch)
Error: Missing Dependency: perl(REST::Client) is needed by package Seccubus-2.24.0-10.1.noarch (/Seccubus-2.24.0-10.1.noarch)
Error: Missing Dependency: perl-CGI is needed by package Seccubus-2.24.0-10.1.noarch (/Seccubus-2.24.0-10.1.noarch)
Error: Missing Dependency: perl-REST-Client is needed by package Seccubus-2.24.0-10.1.noarch (/Seccubus-2.24.0-10.1.noarch)


Prepare package documentation

Document pipeline packages

[ ] Complete Readme
[ ] Review pyproject.toml
[ ] Release documentation in read the docs


OpenFst path updated

Updated not working OpenFst download links

has been updated in #63 but thank you again for the fix!


Main package downgraded in favor of a transient dependency that in the end is then no longer part of the lockfile

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
poetry (python)
Package manager version
No response
Language version
No response
Manifest location and content before the Dependabot update
No response
dependabot.yml content
using grouped updates
Updated dependency
other unrelated packages were updated, as expected.
according to the pull request message there was this update:
pydantic-core	2.20.1	2.23.1
(but that's a lie!)
What you expected to see, versus what you actually saw
what I saw:
in poetry.lock

pydantic is downgraded from 2.8.2 to 1.10.18
pydantic-core is removed from the dependencies (it was pulled in as a dependency of pydantic)

as mentioned above, PR message claims that pydantic-core is updated from 2.20.1 to 2.23.1.
what I think happens is that dependabot sees the newer pydantic-core version, and tries to update to it.
however pydantic specifies the dependency with an exact version: pydantic-core = "2.20.1", and (I'm guessing) no pydantic release is available yet that depends on pydantic-core==2.23.1.
as such dependabot thinks the best course of action is to go back to an older version of pydantic which has no such constraint on pydantic-core. it finds pydantic version 1.10.18, which does not depend on pydantic-core at all and uses that.
I suppose there are cases in which a downgrade of a package might make sense, but going back a full version is already debatable, going back so much that the original dependency that causes the downgrade is no longer a dependency though is hard for me to imagine ever being desirable.
For the debatable cases, I'm off the opinion that in general I wouldn't want any downgrades, or if there are downgrades that these should be presented as separate PRs.
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
No response
Smallest manifest that reproduces the issue
No response

I would also expect that any downgrade is mentioned in the pull request message. Now you need to go look inside the lockfile to discover there is a downgrade, which is something people often don't do


#3383 disabling of the AR cache for synchronization_oauths

Relates to #3383

@juanignaciosl CR again, just disabling the field and code formatting

LGTM :+1:

Will be left a bit on hold as I work on other task

Different approach will be used


[Bug]: process is not defined when build with cloudflare pages

Which Remix packages are impacted?

[ ] remix (Remix core)
[ ] create-remix
[ ] @remix-run/architect
[X] @remix-run/cloudflare-workers
[ ] @remix-run/dev
[ ] @remix-run/express
[ ] @remix-run/netlify
[ ] @remix-run/node
[ ] @remix-run/react
[ ] @remix-run/serve
[ ] @remix-run/server-runtime
[ ] @remix-run/vercel

What version of Remix are you using?
"@remix-run/cloudflare-pages": "^1.1.1"
What version of Node are you using? Minimum supported version is 14.
17.2
Steps to Reproduce
https://github.com/js-cool/remix-blog-demo/blob/main/app/utils/enviroment.ts#L17
/**
 * Get the value from an environment variable and throw a
 * MissingEnvironmentError exception if it is not found, optinally you can pass
 * a fallback value to avoid throwing if the environment variable is not defined
 * @param {string} env The environment variable name.
 * @param {string} [fallback] The fallback value in case it's not defined.
 * @throws {MissingEnvironmentError} If the environment variable is not found.
 * @returns {string} The value of the environment variable.
 */
export function env(name: string, fallback?: string): string {
  const value = process.env[name] ?? fallback;
  if (!value) throw new MissingEnvironmentError(name);
  return value;
}

Expected Behavior
work properly
Actual Behavior
cannot build
💿 Built in 167ms

warn - The `purge`/`content` options have changed in Tailwind CSS v3.0.
warn - Update your configuration file to eliminate this warning.
Compiling worker to "/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js"
Finished in 55ms.
wrangler pages dev [directory] [-- command]

🧑💻 Develop your full-stack Pages application locally

Positionals:
  directory  The directory of static assets to serve  [string]
  command    The proxy command to run  [string]

Flags:
  -c, --config   Path to .toml configuration file  [string]
  -h, --help     Show help  [boolean]
  -v, --version  Show version number  [boolean]

Options:
  -l, --local        Run on my machine  [boolean] [default: true]
      --port         The port to listen on (serve from)  [number] [default: 8788]
      --proxy        The port to proxy (where the static assets are served)  [number]
      --script-path  The location of the single Worker script if not using functions  [string] [default: "_worker.js"]
  -b, --binding      Bind variable/secret (KEY=VALUE)  [array]
  -k, --kv           KV namespace to bind  [array]
  -o, --do           Durable Object to bind (NAME=CLASS)  [array]

ReferenceError: process is not defined
    at env (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19498:17)
    at isProduction (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19504:10)
    at build/index.js (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19616:17)
    at __init (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:9:50)
    at functions/[[path]].js (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19774:5)
    at __init (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:9:50)
    at ../../../../../var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/plinko-ZWdvUa/routes.mjs (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19785:5)
    at __init (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:9:50)
    at /var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19798:1
    at SourceTextModule.evaluate (node:internal/vm/module:224:23)
[pages:err] Unhandled Promise Rejection: ReferenceError: process is not defined
    at env (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19498:17)
    at isProduction (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19504:10)
    at build/index.js (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19616:17)
    at __init (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:9:50)
    at functions/[[path]].js (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19774:5)
    at __init (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:9:50)
    at ../../../../../var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/plinko-ZWdvUa/routes.mjs (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19785:5)
    at __init (/var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:9:50)
    at /var/folders/td/zr87rwn546n4q0y3zddn95zw0000gn/T/functionsWorker.js:19798:1
    at SourceTextModule.evaluate (node:internal/vm/module:224:23)

This is not a bug, Cloudflare Worker doesn’t use use Node and process is a Node thing, therefore process is not available in CF.
Note that process.env.NODE_ENV it’s still available there because Remix replace it with the hard coded value on build.

Is there an API to specify additional process.env variables that should be replaced with the hard coded values?
For example, one might want to have access to the CF_PAGES_COMMIT_SHA to include for Sentry or something?

i'll have a try

@willin were you able to work around this? If yes, mind sharing your solution?
I’m aware that CF Pages doesn’t use Node, but no luck for me even with their way of providing environment variables.
I should add that environment variables work fine for me when using the CF Workers adapter, where I just provide them in an .env file and then access through VARIABLE_NAME (without the process.env.). Which is strange, since Wrangler also seems to rely on miniflare behind the scenes (same as the CF Workers adapter).

Was a solution ever discovered for this? I'm also curious

Was a solution ever discovered for this? I'm also curious

There’s no solution, it’s not a bug, you need to use env variables in the way they work in Cloudflare not using process as in Node because Cloudflare doesn’t use Node
As far as I know, in Cloudflare Workers env variables are global variables and in Cloudflare Pages you will get them in the loader and action functions with the context object.

Was a solution ever discovered for this? I'm also curious

first, add context to functions:
// /functions/[[path]].ts
import { createPagesFunctionHandler } from '@remix-run/cloudflare-pages';

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import * as build from '../build';

const handleRequest = createPagesFunctionHandler({
  build,
  getLoadContext: (context) => context
});

export const onRequest: PagesFunction = (context) => handleRequest(context);

then you can get it from loader:
export const loader: LoaderFunction = async ({ context }) => {
  const { env } = context;
  return json({ env });
};

I just did some digging into all this today!
It seems like in an earlier stage folks were customizing their functions/[[path]].ts and had to manually add that "getLoadContext" to grab the vars.
As of a more recent version, however, the cloudflare-pages example that remix-create built for me had the function .gitignored and generated automatically (with env values included). So as long as you set them correctly either via cloudflare config or the wrangler flag then they should be part of context automatically.
@IamManchanda if you want to use an env variable in local dev you need to ensure that wrangler knows about them via the binding flag (as per the end of this blog post):
// cli or via package scripts
$ wrangler pages dev ./public --watch ./build --binding ENV_VAR=\"my-environment-variable-value\"

// from your route loader function:
export const loader = async ({ context }) => {
  console.log('Context:', context);
  return context.ENV_VAR
}

// Context: { ASSETS: Fetcher {}, ENV_VAR: 'my-environment-variable-value' }

Anyone know how you can read this in server only code?
Like when using remix-auth-socials for example and need to set secrets as environment variables. Using globalThis doesn't work.

@bondz did you find an answer for this? Env variables are also needed outside of the loader and action functions as well.

@jgb-solutions  Not yet, sadly. I started a discussion at #3581 in case anyone wants to contribute.


Invalid prop: type check failed for prop "fields". Expected Array, got Undefined.

Hello, awesome people,

@extends('layouts.app_backend')
@section('Specific-Page-Vendor-CSS')
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
@stop

@section('content')

       <example></example>

            <passport-clients></passport-clients>
            <passport-authorized-clients></passport-authorized-clients>
            <passport-personal-access-tokens></passport-personal-access-tokens>

List of Users

                        <vuetable
                        api-url="http://gomodel.dev/api/users"
                        table-wrapper="#content"
                        :fields="columns"
                        :item-actions="itemActions"
                        ></vuetable>

@endsection

@section('scripts')

@endsection

Can not figure out where is my erro.
vue.common.js?4a36:1019[Vue warn]: Invalid prop: type check failed for prop "fields".  Which browser?
Can you please check the generated HTML code and see if there is anything wrong with it?

This is generated:

List of Users

This is in my view

List of Users

                        <vuetable
                        api-url="/api/users"
                        table-wrapper="#content"
                        :fields="columns"
                        :item-actions="itemActions"
                        ></vuetable>

This is my pacekage.json
{
  "private": true,
  "scripts": {
    "prod": "gulp --production",
    "dev": "gulp watch"
  },
  "devDependencies": {
    "bootstrap-sass": "^3.3.7",
    "gulp": "^3.9.1",
    "jquery": "^3.1.0",
    "laravel-elixir": "^6.0.0-9",
    "laravel-elixir-vue": "^0.1.4",
    "laravel-elixir-vueify": "^2.0.0",
    "laravel-elixir-webpack-official": "^1.0.2",
    "lodash": "^4.14.0",
    "vue": "^1.0.26",
    "vue-resource": "^0.9.3",
    "vuetable": "^1.4.1"
  },
  "dependencies": {
    "bootstrap-sass": "^3.3.7",
    "font-awesome": "^4.6.3",
    "isotope-layout": "^3.0.1",
    "jquery-lazyload": "^1.9.7",
    "jquery-validation": "git+https://github.com/jzaefferer/jquery-validation.git",
    "jquery.appear": "^1.0.1",
    "jquery.cookie": "^1.4.1",
    "jquery.easing": "^1.4.1",
    "magnific-popup": "^1.1.0",
    "modernizr": "^3.3.1",
    "owl.carousel": "^2.1.4",
    "simple-line-icons": "^2.3.2",
    "turbolinks": "^5.0.0",
    "vide": "git+https://github.com/VodkaBears/Vide.git"
  }
}

this is gulp
var elixir = require('laravel-elixir');

require('laravel-elixir-vue');
require('laravel-elixir-copy-fonts');

/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 |
 | Elixir provides a clean, fluent API for defining some basic Gulp tasks
 | for your Laravel application. By default, we are compiling the Sass
 | file for our application, as well as publishing vendor resources.
 |
 */

elixir(function(mix) {
    mix.sass(['backend/app.scss'], 'public/backend/css')
       .webpack('app.js', 'public/backend/js');
     mix.sass('frontend/app.scss', 'public/frontend/css')
});

@roulendz  No javascript was generated for this page? Does the scripts section exists or spells correctly in your laravel blade layout?

I am experiencing the same issue with Laravel 5.3 , vuetable 1.5.1 , npm 3.5.2 , node v4.2.6 , vue 1.0.26  vue-resource 0.9.3 , OS ubuntu 16.04 ,

when i dig it further i got that laravel creates an instance of Vue in app.js on body tags
const app = new Vue({     el: 'body' });
that makes inline instance (like in the docs) an nersted instance (on #app) , and  the  columns and itemAction data is searched in the laravel default instance in app.js . since both are not defined there, is not not present and it returns undefined and  throws the error mentioned by @roulendz
if fields and item-actions are passed inline it starts working but makes the template too dirty

@anshu2212 Interesting! I would love to know how you would solve this.

My guess is that you could remove those lines from the app.js, but I don't know if it would affect other things. However, in Vue 2.0, it is adviced not to bind the app to the HTML body, otherwise, you'll get a warning message for doing so.

i tried to remove those lines but that only rendered vuetable compnents . other components are not rendered . so i will see other options.

@anshu2212 How about changing to
  const app = new Vue({ el: '#app' });

and modify your master layout to include
...

hi @ratiw i finally managed to solve the problem

I first deleted the line const app = new Vue({ el: 'body' }); from my app.js file

Then in app.blade.php done something like this

And in blade view file
@section('vuedata')
    data:{
        columns:[
            'name',
            'email',
            'address',
        ],
    },
    methods:{
        },

That solved my problem now all my custom components are rendring successfully and also i can bind data .
Problem was that vue instance on a scope already in other scope of other Vue instance cannot be accesed. and thats why its not a good idea to  bind to HTML body.
more over it would be good  if table would be  drawn not on the exact data recived from the api but after proccesing it with over-writable  function so that we can have computed columns.


Fix the markdown rendering issue in the "Report a problem with the Visual Studio product or installer" documentation.

Fix the markdown rendering issue in the "Report a problem with the Visual Studio product or installer" documentation. As you can see in the screenshot below, every line below the Record your actions to reproduce the issue section is clickable. Clicking on the link does nothing. I think this rendering issue is confusing for customers. Additionally, internal product teams can't add a direct link to any section below the Record your actions to reproduce the issue topic while responding to a Visual Studio feedback ticket.

#sign-off

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @jasonchlus

Please consider updating the PR template https://github.com/MicrosoftDocs/visualstudio-docs/blob/main/pull_request_template.md?plain=1 may be by removing When your PR is ready for review, add a comment with the text #sign-off to the Conversation tab. sentence.

@jasonchlus

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

actually the change is small. approved. thanks @kartheekp-ms

@Jak-MS Sorry I didn't comment but I did review this, it is a very small change all good from my end :)

@kartheekp-ms @Jak-MS @jasonchlus I used to provide customers this link, to take them straight to the point about using the step recorder, and now the deep link doesn't work: https://learn.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022#trace
It's hard enough to get customers to actually use this "record your steps" functionality, very few customers reporting issues to my team actually use it, so I felt like it was useful being able to point them directly to the step in the process that I'd like them to use.

@zivkan would this link work: https://learn.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio?view=vs-2022#when-further-information-is-needed

@jasonchlus it doesn't emphasise the step recorder, which is my intent when I provide the URL to customers. The customers would have already seen the "attach system logs and recordings" from when they originally submit the feedback, but they either missed or skipped the step recorder then, so I'm trying to make it painfully obvious to them what exactly I'd like them to do.
While this is also a problem with the #trace link, since there are so many images in the docs page, and the rendered HTML doesn't put image sizes on any of the image tags, when I click the link you provided to me, the browser scrolls down to where the anchor is when the page doesn't have any images loaded, but then quickly/immediately loads images, so the browser no longer shows me the heading anywhere on my screen. Only by knowing enough about HTML and the browser URL bar, I can see it's looking for something, and I can scroll around.  Or close the browser tab and open the link a second time, since the browser now has the images cached. I don't know how to contact the docs team, but if you can pass on feedback that I think the pipeline that converts markdown into html should include height metadata on all img tags, so that deep links don't take you to the wrong place when deep links are followed, that'd be great.
I've given this feedback in the past, from which the outcome was adding that #trace anchor, but I'd personally prefer if there was a whole docs page dedicated to nothing other than the steps recorder, starting with a quickstart, and then deep dives into any features it has (it used to allow customers to add notes, not any more, plus the Windows Steps Recorder has a message saying it's going to be removed in the future. I'm not sure what the VS Feedback team are planning when this happens).
Having said this, I've had close to zero luck getting customers to actually provide recordings. At least 99% of the time, they never reply and their feedback gets auto closed as not enough information. Most of the time when they do reply, they still don't provide a recording and try to convince me again that they're experiencing this, but without providing me with anything to reproduce the issue myself. So maybe my feedback won't result in any measurable outcome anyway. 🤷

@zivkan @kartheekp-ms @jasonchlus - there's no reason we can't add the anchor back into the document. many articles have them.  The issue with this was (I believe) that the tag wasn't closed. I've created a PR to address this: https://github.com/MicrosoftDocs/visualstudio-docs/pull/10265


npm run build   就是官网案例直接打包报错

Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed
at doWrite (_stream_writable.js:406:19)
at writeOrBuffer (_stream_writable.js:394:5)
at Socket.Writable.write (_stream_writable.js:294:11)
at PoolWorker.writeJson (C:\Users\Administrator\vue11\node_modules\thread-loader\dist\WorkerPool.js:118:20)
at PoolWorker.run (C:\Users\Administrator\vue11\node_modules\thread-loader\dist\WorkerPool.js:100:10)
at WorkerPool.distributeJob (C:\Users\Administrator\vue11\node_modules\thread-loader\dist\WorkerPool.js:332:15)
at runQueue (C:\Users\Administrator\vue11\node_modules\neo-async\async.js:8097:9)
at process._tickCallback (internal/process/next_tick.js:61:11)
Emitted 'error' event at:
at onwriteError (_stream_writable.js:425:12)
at onwrite (_stream_writable.js:456:5)
at doWrite (_stream_writable.js:406:11)
at writeOrBuffer (_stream_writable.js:394:5)
[... lines matching original stack trace ...]
at process._tickCallback (internal/process/next_tick.js:61:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: vue-cli-service build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Administrator\AppData\Roaming\npm-cache_logs\2019-05-20T06_00_39_175Z-debug.log

node  v10.15.3                        vue 3.7.0

Hello, I'd like to ask. Has it been solved? How to solve this problem


LoadObjWithCallback() Triangulation

Does LoadObjWithCallback() triangulate non-triangles?
If it doesn't, then how can the app know how many vertices are in the face, since each index generates an independent callback?
OTOH, the function header documentation mentions:
/// 'triangulate' is optional, and used whether triangulate polygon face in .obj or not.
but the function does not have this argument at all!
There seems to be some inconsistency here.

Thanks for pointing out.

Commend was wrong. Removed.
I've fixed calling index_cb per f line.

Now callback API just pass parsed f line to index_cb as is, so the user application need to triangulate if necessary.
I guess this solves your question.

Great 👍
Thanks!


Add e2e tests and fix page build CI

Description

added e2e test framework
ghci now passes on running e2e tests
removed the screenshot feature, which is unused now

Related issues

Special notes for your reviewer:

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (64f1cd0) 42.59% compared to head (6ac92bb) 42.59%.

:exclamation: Current head 6ac92bb differs from pull request most recent head ef8ebb4. Consider uploading reports for the commit ef8ebb4 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #197   +/-   ##
=======================================
  Coverage   42.59%   42.59%
=======================================
  Files          40       40
  Lines        3383     3383
=======================================
  Hits         1441     1441
  Misses       1848     1848
  Partials       94       94

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


pkg/sign: use local readKeyRing function instead of opengpg's, to handle armored key rings.

Fixes #1601

I approved CI. I'll merge if tests pass.


String patterns

Closes #11, #23, #24, #25

Hey there, PR pending for a long time!

It is ready to merge @aryashah2k
I'll create another PR for the other patterns I'm assigned because I'm currently not able to work at it.

No issues, add them to this PR because I wont be able to grade PR with 4 Patterns. Take your time no worries


Autoreload does not send a new project app to be downloaded when switching between projects

Scenario:

cd into existing phonegap project
phonegap serve
connect on device
ctrl + c to kill the server
cd into another phonegap project
phonegap serve
connected device will hit the autoreload end point, but not update to the new phonegap project being served

We will need a way to detect when we change between projects and handle that gracefully.

Does anyone have an update on this or know a quick workaround? I just started my second PhoneGap project and am experiencing this for the first time.

Restarting my computer and the developer app worked for me.

Fixed in https://github.com/phonegap/connect-phonegap/commit/df13d7c6ea7bea39426ca4e42c1c8e2fb0fc5d73. Waiting till after PGD to release

Awesome! Thanks!

Merged in to the latest CLI.
@aaronagray if you update your CLI you should be able to see this functionality.
npm install -g phonegap


x/tools/go/ssa: crashes on code containing generics

What version of Go are you using (go version)?

$ go version
go version go1.19rc2 linux/amd64

Does this issue reproduce with the latest release?
Yes, with go1.19rc2.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/nikhita/.cache/go-build"
GOENV="/home/nikhita/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/nikhita/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/nikhita/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org/,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19rc2"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/nikhita/go/src/k8s.io/kubernetes/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build4046507775=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Kubernetes runs a pre-submit which makes use of levee. The script for which can be found here: https://github.com/kubernetes/kubernetes/blob/master/hack/verify-govet-levee.sh
What did you expect to see?
Expected no crashes as per https://github.com/golang/go/issues/48525#issuecomment-1128385150
What did you see instead?
After bumping the test image to 1.19rc2, the above mentioned job started panicing, panic starting from x/tools/go/analysis/unitchecker and ending in x/tools/go/ssa. The entire stack trace can be found here as part of the logs: https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/directory/pull-kubernetes-verify-govet-levee/1552157434636668928
Reproducing the issue
To reproduce it locally, running ./hack/verify-govet-levee.sh on Kubernetes master after switching to go1.19rc2 should do it.
Misc info
https://github.com/golang/go/issues/48525 was an issue for the Go 1.18 timeframe as well, but the failing job above worked fine before. I'm not sure why this happens after switching to go1.19. Could this be because of go1.19 introducing generics in the stdlib?
The reason I list the above reason is because in the logs we see panics in the following two instances:
instances of generics in the stdlib
panic: no concrete method: func (*sync/atomic.Pointer[go/token.File]).CompareAndSwap(old *go/token.File, new *go/token.File) (swapped bool)

and
panic: no concrete method: func (*crypto/elliptic.nistCurve[*crypto/internal/nistec.P224Point]).Add(x1 *math/big.Int, y1 *math/big.Int, x2 *math/big.Int, y2 *math/big.Int) (*math/big.Int, *math/big.Int)

For more details around this failure and the timeline of merges in Kubernetes that led to them, please see: https://github.com/kubernetes/kubernetes/issues/111452

cc @timothy-king
Since you were working on the generics support for SSA
cc @nikhita @dims @liggitt @palnabarun

kubernetes/hack/tools is using x/tools at 77aa08bb151a:
# From go/src/k8s.io/kubernetes/hack/tools
$ go list -m golang.org/x/tools
golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a

You need to sync past at least the last relevant commit for https://github.com/golang/go/issues/48525#issuecomment-1128385150.
You can upgrade to the v0.1.12 release as follows:
# From go/src/k8s.io/kubernetes/hack/tools
$ go get<EMAIL_ADDRESS>$ go mod tidy

Running $ ./hack/verify-govet-levee.sh I now see:
# From go/src/k8s.io/kubernetes
$ ./hack/verify-govet-levee.sh
[...]

+++ [0803 23:29:23] Building go targets for linux/amd64
    k8s.io/kubernetes/hack/make-rules/helpers/go2make (non-static)
# sync/atomic
unexpected type received: *types.TypeParam T; please report this issue
unexpected type received: *types.TypeParam T; please report this issue
unexpected type received: *types.TypeParam T; please report this issue
unexpected type received: *types.TypeParam T; please report this issue
# crypto/elliptic
unexpected type received: *types.TypeParam Point; please report this issue

This addresses the crashes you are seeing. This is now https://github.com/google/go-flow-levee/issues/323.
In the long term levee should:

update its x/tools dependency (quick n easy) and
support type parameters. A stop gap to simply ignore type params and generic functions/methods seems easy. More is blocked on https://github.com/golang/go/issues/48525#issuecomment-1190816141 for now.

@timothy-king thanks for the analysis.


Change appveyor.yml to rebuild the build cache (#1444)

This PR adds a comment to .appveyor.yml in order to invalidate the AppVeyor build cache to see if the cached LLVM is bad.
Please do not merge unless the AppVeyor build actually works.

It looks like the cached LLVM was broken; touching the .appveyor.yml file invalidates the cache.  There doesn't seem to be a way to clear the build cache from the AppVeyor UI -- https://www.appveyor.com/docs/build-cache/.

Merging this should fix the AppVeyor builds on master, or someone with an admin key could use the REST api to clear the build cache (https://www.appveyor.com/docs/build-cache/#rest-api).

Merging seems like the easy way to tackle it.  Thanks!


Document how to persist cookies/user data

Currently session data is lost when service is restarted and rebooted. It can be persisted by changing the user data directory to a persistent volume
See: https://forums.balena.io/t/electronjs-kiosk-not-saving-cookies/65075/10

hey @phil-d-wilson this is done right?
can you add a section in the readme please?

I can do - but there's nothing much to say. There is now a settings volume, so any changes to Chromium or cookies will persist between sessions. Users don't have to do anything. Do we want the readme to say settings persist?

Not sure. What do you think? Are there cases where users want to disable this?

If they do, that needs a change to use (yet another) variable to control it.

can we control bind mounting folder to volume via a variable?

No idea - but the user settings directory is just another flag passed to Chromium. So we can choose whether to pass it in like any of the other flags.

ah! yeah that makes sense


Mac: kernel panic on gvfs unmount (vnode_t over-release)

I've just been made aware (out-of-band) of a kernel panic when unmounting a VFS4G root. The panic stack trace looks roughly like this:
*** Panic Report ***
panic(cpu 8 caller 0xffffff801a7f6b9f): "vnode_put(0xffffff8065522c98): iocount < 1"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu/xnu-4903.241.1/bsd/vfs/vfs_subr.c:4515
Backtrace (CPU 8), Frame : Return Address
0xffffff923319b8a0 : 0xffffff801a5aeb0d handle_debugger_trap (in kernel) + 1165
0xffffff923319b8f0 : 0xffffff801a6e8653 kdp_i386_trap (in kernel) + 339
0xffffff923319b930 : 0xffffff801a6da07a kernel_trap (in kernel) + 1274
0xffffff923319b9a0 : 0xffffff801a55bca0 0xffffff800035bca0 (in kernel) + 38
0xffffff923319b9c0 : 0xffffff801a5ae527 panic_trap_to_debugger (in kernel) + 407
0xffffff923319bae0 : 0xffffff801a5ae373 panic (in kernel) + 99
0xffffff923319bb50 : 0xffffff801a7f6b9f vnode_put_locked (in kernel) + 95
0xffffff923319bb80 : 0xffffff801a7f8736 vnode_put (in kernel) + 22
0xffffff923319bba0 : 0xffffff7f9c7aa95d (ActiveProvider_Disconnect(VirtualizationRootHandle rootIndex))
0xffffff923319bbe0 : 0xffffff7f9c7ac3f0 (PrjFSProviderUserClient::clientClose())
0xffffff923319bc00 : 0xffffff801ac891fb iokit_client_died (in kernel) + 251
0xffffff923319bc30 : 0xffffff801a68e9cc iokit_notify (in kernel) + 188
0xffffff923319bc70 : 0xffffff801a5b4455 ipc_kobject_server (in kernel) + 405
0xffffff923319bcc0 : 0xffffff801a58ebe5 ipc_kmsg_send (in kernel) + 549
0xffffff923319bd40 : 0xffffff801a5b4b18 mach_msg_send_from_kernel_proper (in kernel) + 184
0xffffff923319bd80 : 0xffffff801a59a117 ipc_right_terminate (in kernel) + 1063
0xffffff923319be00 : 0xffffff801a59d1ac ipc_space_terminate (in kernel) + 172
0xffffff923319be60 : 0xffffff801a5da347 task_terminate_internal (in kernel) + 455
0xffffff923319bea0 : 0xffffff801aab837c exit_with_reason (in kernel) + 636
0xffffff923319bf10 : 0xffffff801aab80f3 exit1 (in kernel) + 35
0xffffff923319bf30 : 0xffffff801aab80c9 exit (in kernel) + 25
0xffffff923319bf40 : 0xffffff801abb62bb unix_syscall64 (in kernel) + 619
0xffffff923319bfa0 : 0xffffff801a55c466 hndl_unix_scall64 (in kernel) + 22
      Kernel Extensions in backtrace:
         io.gvfs.PrjFSKext(1.0)[3FAFA31D-7F4E-35FF-BF82-C531821EC60C]@0xffffff7f9c7a9000->0xffffff7f9c7b4fff

In other words, we're over-releasing the root vnode for an active provider, or more likely, failing to retain it earlier on.

Part of the comment I provided for context in #805 also reflects my latest progress & thoughts on this bug, so I'll repeat it here:
The rootVNode in each VirtualizationRoot should hold an iocount while an active provider is connected, and should be allowed to be recycled (no iocount) when there is no provider connected. To that end, the iocount is reduced via vnode_put() in ActiveProvider_Disconnect(). The panic was caused by the fact that the iocount was already 0 when the user terminated the provider. I can only see 4 possible causes for this:

When registering the provider in the first place, we did not retain an iocount on the root vnode. (In VirtualizationRoot_RegisterProviderForPath, the iocount is incremented by the vnode_lookup call, and in the code path where the provider is successfully registered, we arrange for vnode_put() not to be called. Upon close inspection of the code, I can't see a case where this is violated, but I guess it's possible.)
For some reason, between provider registration and disconnection, rootVNode is reassigned to another vnode which does not have an iocount, so when we call vnode_put() on disconnecting, we're decrementing the iocount on the wrong vnode, so it goes bang. (The only times rootVNode is changed are during provider registration, disconnecting, and in FindRootAtVnode_Locked() if the vnode is recycled. Recycling should never happen for roots with an active provider, however, thanks to the nonzero iocount.)
Some other, unrelated code makes an unmatched vnode_put() call to the rootVNode. (If this was routinely happening, the chances of hitting the iocount assertion in the kernel would surely be much higher for that unrelated code, as all our other functions that call vnode_put() run much more frequently than ActiveProvider_Disconnect().)
The array of virtualisation roots is getting corrupted somehow; the only place I can think of that happening is when inserting a new root, and for some reason the existing root is being overwritten.

I'm struggling to come up with scenarios where any of these 3 could actually happen. The closest I've got is finding that the recycled vnode refresh code in FindRootAtVnode_Locked() (see item 2 above) suffers from a race condition when it is called with only a shared lock, as happens (frequently) in FindOrDetectRootAtVnode(). However:

I'm struggling to come up with a case where that race condition would actually cause any problems, it seems to me that the worst that can happen is that the rootVNode is refreshed to the same new vnode by both racing threads.
The vnode of a root with an active provider shouldn't be recycled in the first place.

I think I've found this now while reworking #741 in response to some review feedback. The root cause is a fairly simple/obvious/stupid bug, the way it manifests as this particular crash is a little more circuitous.
The root of the problem is that the loop in VirtualizationRoot_FindForVnode() does not refresh vnodeFsidInode in sync with walking the parent directory vnode chain using vnode_getparent(). This means the fsid/inode for the original file is passed to FindOrDetectRootAtVnode() and thus FindRootAtVnode_Locked(), not the fsid/inode of the directory we're looking at in that loop iteration.
So how does this lead to too many vnode_put() calls for the vnode of a root when disconnecting its active provider?

The repo is first identified by encountering its root's xattr when getting a fileop/vnode listener callback calling VirtualizationRoot_FindForVnode() for one of its files or subdirectories. Due to the bug, the VirtualizationRoot struct is initialised with the correct vnode/vid for the root directory, but the fsid/inode of the file/subdirectory within it.
A provider connects to the repo, retaining an iocount on the root's vnode, which hasn't changed since the root was detected.
At some point, the file whose fsid/inode is stored in the root is encountered again, and VirtualizationRoot_FindForVnode() is called again. The fsid/inode are a match for our virtualisation root, but the vnode/vid don't match, and so are "refreshed" - i.e. replaced with the vnode for the file/subdirectory instead of the repo root directory. Note that there is no iocount held on this file.
Things start going haywire because suddenly the files in the repo can no longer find their root because now neither the vnode nor the inode match the repo root's.
The provider disconnects, calling vnode_put on the root's stored vnode, which has an iocount of 0, so it goes boom.

Essentially, this bug won't occur if the first vnode/fileop callback we get for a repo is for the repo directory itself, as the vnode & inode will then match "by coincidenc". I suppose that case is probably fairly common and I guess that's why we've not hit this before.
The recently added asserts & extra logging would have caught this on the next occurrence, although it would have depended on whether the logging had had a chance to hit disk whether I could have directly traced it back to its root cause that way.
I'm going to put together a fix for this tomorrow, along with some additional, extra paranoid asserts. And it'd probably be good to write some unit tests for VirtualizationRoot_FindForVnode() that would have caught this, but that might take me a bit longer.


Debug and try re-rendering for Python 3.12

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Closes pybamm-team/PyBaMM#3703

I am trying to re-render for 23.9 through this PR from my fork. Bumped up the build number so that it can be reset back to zero afterwards when the version is bumped.

@conda-forge-admin, please rerender

Unfortunately we can't see the logs from #54, probably because it has been two months and their retention period is over. That PR was automated and should have kicked in the 23.9 upload on conda-forge in an ideal situation, but we just have 23.5 here: https://anaconda.org/conda-forge/pybamm
I have verified the logs here and it builds PyBaMM 23.9, hopefully this resolves the issue and brings it to conda-forge. I will merge after approving comments from @priyanshuone6 and @Saransh-cpp – please check if this looks right!

N.B. #53 was closed because it became outdated (as mentioned in the thread there). We should have merged it before merging #54. Once we get to the release of 24.1 next month, we can update the Python version selectors here to include Python 3.8–3.12, which should kick off a re-render (or we can do that manually)

Thanks, I noticed v23.9 is now available


Make with-setf safer using set-expansion

http://www.lispworks.com/documentation/HyperSpec/Body/05_aab.htm
Finally time to learn about this stuff. With this we should be able to make a version that doesn't evaluate stuff multiple times.

Done internally and also made a seperate project for this https://github.com/cbaggers/with-setf


test: Bluetooth: Mesh: test provisioning with OOB public key

PR adds tests of provisioning with OOB public key on both sides and cases when provisioner doesn't have OOB public key.
Improvements of all OOB provisioning tests to use common scenario with configurable parameters.
BLE Mesh improvements:
A public key is logged always in big-endian for better visuality
Split prov and prov_device debug configuration to be able to log them separately.

It is blocked by https://github.com/zephyrproject-rtos/zephyr/pull/38205


Feature/teams integration

Issue #, if available:
Description of changes:
Update the meeting topic parsing logic
Allow user to update meeting info such as name and topic
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @wchemz !


[EN DateTimeV2] Invalid dates get recognized like 31st Feb

Describe the bug
There are invalid dates that get recognized as dates/datetimes, like 31st February, even though the value behind it does not get correctly resolved to a date.
Expected behavior
31st Feb and 31st November and others should get rejected and go undetected.

@tellarin

Recognizing such entities is sometimes of interest. However, their resolutions shouldn't be empty, nor resolved to a specific date as it's impossible.
The current design is for such cases to be tagged, but resolved to the default for no-resolution available, which is the string "not resolved".
PR #1846 has refined some cases where behaviour was incorrect.


Review form overflows in height

Gitea Version
https://github.com/go-gitea/gitea/commit/d228d346c4d719cc0c0725ff1409eb97f0ac3109
Operating System
Arch Linux
Browser Version
Firefox 97.0a1
Can you reproduce the bug on the Gitea demo site?
Yes
Description
See: https://try.gitea.io/Gusted/Test-repo/pulls/1/files -> Click on Review button.
I'm not comfortable enough with CSS to fix this one myself, nor sure how it should be "wrapped".
Screenshots

I think the review box is too big and there's probably too much space in the dropzone.

The EasyMDE has a property minHeight: Sets the minimum height for the composition area, before it starts auto-growing.  Defaults to "300px".
I will try to set it to 150px to see if it works.


Update NPM registry to 0.13.0

0.12.0 => 0.13.0 :)

@Foxandxss ?

+1

No need to +1 this. We are on it. It's just not an automated process and thus it takes some (spare) time to update.

Just out of curiosity, what is the relationship between the npm packages:

angular-ui-bootstrap (points to the angular-ui/bootstrap-bower repo); and
angular-bootstrap (points to this repo)

Clearly the former repo (angular-ui/bootstrap-bower) is for bower's angular-bootstrap and angular-ui-bootstrap-bower packages (why there are two identical bower packages with different names, I'm not sure....but that's beside the point).
Specifically:

what purpose does the angular-ui-bootstrap npm package serve?
why is the latest angular-bootstrap npm package version 0.12.0; while the latest angular-ui-bootstrap npm package is 0.12.1?  Why wasn't angular-bootstrap ever bumped 0.12.1?

Its all just a bit confusing for anyone wanting to install via npm, especially given that package.json file in this repo specifies a package name of angular-ui-bootstrap.  Shouldn't it be angular-bootstrap to match the npm registry?
I'm sure there valid reasons for all of this. Its just not clear to me what those reasons are  (perhaps some details in the README, regarding the npm install/publish process, might be useful here?)

@scottohara Neither of those two packages are made by us. Both packages were done by third party users.
I got handle into the angular-boostrap one which points to this repo, but we were thinking about creating a new repository to hold the npm files to match bootstrap-bower but that is still under discussion.
So the TL;DR here is that none of those is from us and there is no official way to install via npm yet.

Ah, I see...thanks for the explanation.

It doesn't seem like a new repo is necessary for publishing to npm, unless I'm missing something. To ensure only relevant binaries/source are published, you should be able to construct a build task that creates a dist directory with a copy of the package.json. Then change to the dist directory and npm publish.

Until the angular-bootstrap npm package gets updated you can use the angular-bootstrap-npm package.

Thanks @kevintechie

https://www.npmjs.com/package/angular-bootstrap

npm is still not updated to 0.13.0. Could you please speed up this process. It has been two months since you said "We are on it"

@madeleneallvin We know, but we lack the manpower. This is a gigantic project with hundred of issues and we do it for free, so sometimes it is hard to find time for it.
On the other hand, there are other issues we have to fix as well.

Done.

@Foxandxss  Thank you. Much appreciated

Not sure why this is closed. npm for angular-bootstrap is still at 0.12.0. Nothing was updated.

@rnicholus wrong package. It is angular-ui-bootstrap.

Oops. Perhaps @leon could remove angular-bootstrap then, to avoid confusion?

That sounds like an idea.

And... done :)


GetStaticPaths with different slug for each lang

I have different articles with a different title and slug for each lang. I don't know how can I get only posts from the corresponding lang.
Currently, I have:
export const getStaticPaths: GetStaticPaths = async () => {
  const i18nConfig = await import('i18n.json')
  const { allLanguages } = i18nConfig
  const paths = allLanguages.flatMap(lang => {
    const articles = getAllArticles(lang, ['slug'])
    return articles.map(article => ({
      params: {
        slug: article.slug
      }
    }))
  })

  return {
    paths: paths,
    fallback: false
  }
}

And it returns this error because it builds slugs also for the other language.
Automatically optimizing pages ...Failed: {}
Automatically optimizing pages .
Error occurred prerendering page "/en/blog/16-nouvelles-mesures-de-lutte-contre-travail-illegal-fraude-detachement". Read more: https://err.sh/next.js/prerender-error
Error: ENOENT: no such file or directory, open '/Users/arnaudjeannin/Documents/chapelle-avocat/content/en/articles/16-nouvelles-mesures-de-lutte-contre-travail-illegal-fraude-detachement.md'

My issue is quite related to this but with next-translate [lang] is not a dynamic path.

Hi @arnaudjnn thanks a lot to report it. In fact, It's an issue that should be fixed. Tomorrow I'll try to fix it.

@arnaudjnn I think that misunderstood the issue. Did you try it with
export const getStaticPaths: GetStaticPaths = async ({ lang }) => {
  console.log(lang) // We are injecting the lang inside the context
}

@arnaudjnn did you try this?

export const getStaticPaths: GetStaticPaths = async ({ lang }) => {
  console.log(lang) // We are injecting the lang inside the context
}

Please confirm if this solves your issue.

Not really,
Like major e-commerce websites for product pages, the slug is the product title so when you change the lang it changes also the URL like so: /fr/mon-produit => /en/my-product


Old Issues

I am closing any issue that hasn't been updated in a year or more just to thin out the backlog. Comments?

I don't know if there's a good idea. Unless it's solved or invalid, any issue should be considered 'open', regardless of age.

What about this (more in line with what I have been doing): Bugs are always kept open until invalid, wontfix or fixed. Feature requests older than a year are responded to in one of 3 ways then closed:

If you would like this, please submit a PR.
This is in the roadmap, if you'd like to help then great!
We are actively working on this.

A lot of the old issues are either unrelated to the project (like dependencies not compiling), solved, or have wandered so far off-topic that they have become bloated. I do think we should take care of those.


Optimize getLastVisibleAction

Details
While running profiles on chat switching I found some date methods taking a lot of time. It is a known issue in hermes that date objects are kind of slow (https://github.com/facebook/hermes/issues/930). This can be tracked back to the getLastVisibleAction function. I found a lot of performance improvement potential in that function. We don't actually need to use date objects since timestamp strings will sort properly. However I found it would be even better to just reuse the getSortedReportActionsForDisplay and pick the first element, since that already implements all the sorting logic we need and is already fast.
I also reduced object copies (most of the time actionsToMerge is empty so we don't need to do any copies). This should help to reduce GC pressure, which is currently at the top of the profile after this improvement.
Fixed Issues
$
PROPOSAL: N/A
Tests

[x] Verify that no errors appear in the JS console

Tested by logging the result of getLastVisibleAction and make sure it returns the same value with the new and old implementation in various chats.
Profiled before and after the change to make sure the getLastVisibleAction is no longer slow.
Before:
See slow date functions, called by getLastVisibleAction

After:
No more slow date functions and getLastVisibleAction is nowhere to be found, GC time also seems lower, but it is hard to know for sure if it is caused by these improvements.

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Looks like there are some issues with tests, will check soon.

Use the links below to test this build in android and iOS. Happy testing!

:test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:

android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/29897/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/29897/index.html

desktop :computer:
web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/29897/NewExpensify.dmg
https://29897.pr-testing.expensify.com

@rushatgabhane conflicts resolved!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/srikarparsi in version: 1.3.88-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.3.88-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Highlight grammars in docs

We should pull in @Hardmath123's syntax highlighting for use in the docs.
https://github.com/github/linguist/pull/3781

I don't think highlight.js takes .tmlanguage files…

I'll do it.
```nearley
# Test for balancing parentheses, brackets, square brackets and pairs of "<" ">"

@{% function TRUE (d) { return true; } %}

P ->
      "(" E ")" {% TRUE %}
    | "{" E "}" {% TRUE %}
    | "[" E "]" {% TRUE %}
    | "<" E ">" {% TRUE %}

E ->
      null
    | "(" E ")" E
    | "{" E "}" E
    | "[" E "]" E
    | "<" E ">" E
```

leads to
# Test for balancing parentheses, brackets, square brackets and pairs of "<" ">"

@{% function TRUE (d) { return true; } %}

P ->
      "(" E ")" {% TRUE %}
    | "{" E "}" {% TRUE %}
    | "[" E "]" {% TRUE %}
    | "<" E ">" {% TRUE %}

E ->
      null
    | "(" E ")" E
    | "{" E "}" E
    | "[" E "]" E
    | "<" E ">" E

We might need to replace highlight-js with linguist, or write a new language definition file for highlight-js (or any other JS syntax highlighter, really!)

Oh wait, you meant on the website... :sweat_smile: Well, I'll get to editing the HTML if you would like.


Bigbug

Description
There are various different songs happening at different game states. Hurry up music, fail & clone at home music, dive summary music. LED light animations got overhauled for the latest LED layout. Bugs are walking and flying around each with their own speed. You can press the pause button to look at your radar (map). You can tether up to nearby bugs if they are a physics object (dead; shot 5 times). Bugs can be dragged to the booster's grabby hand. Or it will just grab unsuspecting bugs that travel there. Every 10 bugs creates a mega booster ping which will give you a random choice from a pool of radar upgrades. When you've taken every radar upgrade, the remaining choice on repeat tops off your ammo count. There are cars and doors. Interacting with cars that don't have a door is not recommended, as that is a different objective I haven't worked out yet. When you touch a car, the alarm is triggered. A horde of bugs is spawned, the size of which depends on the depth of the car. They get pretty crazy at the bottom of the map. The door closes the arena in. The code to close the door is stupidly complex because the door may be cached when it is off screen. You can always dig your way in or out, but it's best to keep the bugs enclosed so you can get them. Once you've killed a number of bugs equal to the number spawned, then the car's trunk opens and the door opens. The car trunk will give you something to improve Garbotnik, but this is not implemented yet.
Test Instructions
How was this tested? Painfully. There are some crashes going on if you lift off or die, and maaaaaybe sometimes when you start a car alarm. Not sure if that one is fixed or not.
Ticket Links

Readiness Checklist

[x] I have run make format to format the changes
[x] I have compiled the firmware and the changes have no warnings
[x] I have compiled the emulator and the changes have no warnings
[👎] I have run make cppcheck and checked that cppcheck_result.txt has no warnings for the changes
[x] I have added doxygen comments to any code used by more than one Swadge mode. This includes /*! \file comments with Design Philosophy, Usage, and Example sections for new headers.
[x] I have run make docs and checked that doxy_warnings.txt has no warnings for the new code

It's warning about bb_EnterMode(), but that's expected.
cppcheck is throwing warnings about my background drawing code, but I think those are false positives.


Cannot submit any solution

I was trying to submit a solution to a g964 kata and it kept timing out. I tried even just returning the number that was given and it still timed out. I went to other katas and told it to return very simple things such as 1 or the number and it still kept timing out. I can't submit any solution or test anything.
Ex:
def doSomething(n):
return n
...This would result in a timeout in multiple katas that I tested. I tested this using a variety of different katas ranging from 6 kyu to 8 kyu.

Does sample tests work?

Nothing shows up.

I restarted my computer and my internet and it still is like that. I am not sure why.

I tested this using a variety of different katas ranging from 6 kyu to 8 kyu.

Can you provide one example kata you tried, including the language?


make step 6 great again

step 6 now should no longer require internet connectivity

LGTM and tests out fine.