Spanish keyboard - default long press to diacritical mark on vocals (tilde por defecto en pulsación prolongada)

Hello,
in the Spanish keyboard, can you make it so that the first thing that pops up when I long press a vocal is the diacritical mark?  (En español: ¿Puedes poner la tilde por defecto al hacer una pulsación prolongada?)
It is pointless that it defaults to a number, like 3, since we are in the "keyboard for letters", and in my case, I also have an additional row for numbers; and in Spanish, we are constantly typing á, é, í, ó, ú; so it is very cumbersome to have to slide around to find the correct accent mark. I know that every other keyboard has the same problem, so your keyboard would be the best out there if you fix this problem. I have already seen a lot of people complaining about it, since in the previous version there was only an option for this kind of accent symbol, but you had left out the diaeresis ( ¨ ), which is also used ocasionally, and also useful for typing in German (where it is very common) without having to change to a different keyboard. I love that I can type in 3 languages (English, Spanish, and German) with the same keyboard, because I don't have to memorize different key arrangements. So it would be nice if the diaeresis was also right next to the diacritical mark in the pop-up window.
Thanks

I think most of us prefer to default to a number. It's possible to make it so that you can choose between having or not having a number, but that requires publishing a new version of AnySoftKeyboard first.
Solving your issue can actually make creating a layout easier, but I'd like to ask the opinion of @menny and @AnXh3L0 on this:
I was thinking of allowing a new code in keyboard layouts: ask:numberPopup or similar. The contents of this code would be added to the contents of popupCharacters (read from android:popupCharacters or from defaults) in a key.
Exactly when are these contents added could depend on the presence of a number key row, or on a new setting like this:
Add digits to the characters on long press

Add before accented letters and other symbols
Add after accented letters and other symbols
Never

It would also be interesting to have the contents of the default popupCharacters added to the popupCharacters in the language pack, removing repeated characters. (For example, if the default are DFGBE but the language pack specifies ABCDE, then add to the key the contents ABCDEFG)
These two changes would simplify extra layouts greatly. One would only need to add the characters that are strictly necessary to write a language, and then have the characters from other languages sort themselves out.

I was working on something similar. I thought it'd be nice if you could just add the popup key xmls for the different default qwerty-esque (qwertz, dvorak, etc) keyboards for each language, and then any language specific keyboard files. I created a file (still has a few errors to sort out) that has the accents that each language needs. This could be another useful feature on that.

It's part of it, yeah. And your compilation would help a lot. :smile:
The basic idea is that the layout designer would only add the relevant characters, but the end user would still be able to insert all the characters.
They'd just be reordered depending on the keyboard layout. Using your file as an example... compare "Spanish" and "Southern Sami (Sweden)". Any user should be able to type ä, å and á, but in a Spanish keyboard you'll want á to be easier to type (the very first character in the popup, you won't have to move your finger at all), while a Swedish-speaking typist would probably prefer ä.
This way, every time a new version of AnySoftKeyboard is released, you'll automatically be able to type more characters, but it won't make your own language more difficult to type.
(One of the reasons I'm asking for opinions is because some people may find it bothersome to have 10+ letters in a single key if they don't think they'll use them.)

That sounds like a great idea. And yeah I'm not sure how many people would want that, but sounds like a useful option nonetheless. I would especially love to have the numbers under the top row of letters to be optional, all the layouts i make dont have that because i use a top number row or just click the symbols button, but im sure other people want it, like you, lol.

these suggestions would be nice.
I think that if we add a mechanism (layout-designer?) that scans all popup-characters and removes characters that are already available as primary-codes in keyboard-layout we don't need the numberPopup attribute.
We can also automatically add (to the end of the popup-list) the missing accents. This way, the pack can define which accents are the priority and then ASK will add the missing accents.
Regarding numbers as popup-characters, I think that the pack author should decide on which key they go (in the Hebrew pack, the numbers are in the second row, while in most packs it's in the first). We can then let the layout-designer shuffle the number position in the popup (or completely remove any digit).

I now recall we have somewhere a mechanism that removes the language-key if:

the key is marked with if_applicable.
and, there is only one enabled keyboard.

I don't recall where it is exactly, but it scans the keys for that attribute and then decides if the key should be visible and if not, it re-arrange the keys in the row to compensate the extra space.

oh! And there are two other modifiers:

compressing the keyboard to left/right/split
adjust default skin-tone in the emoji keyboard

Along with this, being able to modify the punctuation marks that are in common bottom rows based on the language would also be helpful, i.e., have ; instead of ? in Greek.

I like the idea of this language-based priority for symbols. I like to have all the symbols, because I speak many languages. I also don't mind the number popout on the keys, but just not as the first pick; I want it to default to the Spanish accent, since I have the Spanish keyboard.
Thanks for working on this feature!

This is going out of control hahahahaha
@pwaser: For the moment we're just discussing ideas felices, and it might take a long time to have this all sorted out, but I'm glad you're liking it and participating in this. Just please be patient! (Even in a best-case scenario, these features should not be used in official language packs until they are in a stable version on both F-Droid and Google Play, for obvious reasons.)
@menny: That's the best part. The file with default popup characters doesn't assign a number to any letter. The numberPopup attribute (please anybody help me find a better name) is only meant for language pack developers. So it would be trivially easy to set numbers in the top row, in the middle row, scattered all over the keyboard or every single key.
I don't see how is the key hiding mechanism useful for this issue in particular (we're talking about hiding/showing characters in a popup, not whole keys) but we'll need it to solve other issues, thank you.
The default skin-tone is something we'll need to have in mind. I don't know if the emoji keyboards use the same code than the regular keyboards.
@martholomew YES to your idea. You're not first one suggesting that, actually (that topic was brought up at another issue, I forget which), but we need a concrete plan of action. They're even more chaotic than the letter keyboards.
Right now, the current bottom rows are the files starting with ext_kbd_bottom_row. They're basically six similar designs, every design can have up to two files (with and without microphone key) and every file includes information for five types of text field (unspecified, IM, URL, email and password). Language packs can replace the default one if the user allows it, but including up to 60 rows is horribly messy, boring and prone to errors.
There are several issue reports asking to allow for more customisation and more simplification of these rows, which seems contradictory and won't help us advance one iota.
So the only sensible solution I'm seeing here is defining something like HTML entities, for example defining a key like
<Key android:codes="˙" android:popupCharacters="&question;&exclamation;" />

where the default values are . for ˙, ? for &question; and ! for &exclamation;, but you'd be able to set &question: to ; just for your Greek layout or ¿? for the Spanish one.
If any of you has some other solution, please tell me so.

I don't know if @menny had already thought of this, but I just realized a new problem with keyboards, and a much simpler way to add this customization.
There are several languages which, in practice, can have letters, numbers and or symbols in android:popupCharacters. Check this real line, from the French package:
<Key android:codes="97" android:popupCharacters="à1á@âãäåæąā¹₁" ask:hintLabel="1" android:keyEdgeFlags="left"/>

Some characters even have several layouts just in case you want symbols with your letters.
I was thinking on defining a new tag like ask:numberPopup, but: what if we just keep throwing every single character on popupCharacters, but mask and reorder them depending on users' preference?
With the above example, when reading that XML, ASK would:

Add the default characters to the characters defined on XML. à1á@âãäåæąā¹₁ + àáâãāäåæąăαª = à1á@âãäåæąā¹₁àáâãāäåæąăαª
Remove repeated characters (we save only the leftmost copy, so that the XML decides the priority): à1á@âãäåæąā¹₁àáâãāäåæąăαª → à1á@âãäåæąā¹₁ăαª. (Weird example, we only added superscript A for ordinals and A-breve.)
Check in the general settings an option like this:

SHOW/HIDE MORE CHARACTERS WHEN HOLDING A LETTER KEY

Only letters
Numbers before letters (the default)
Letters before numbers
Numbers, letters, symbols
Letters, numbers, symbols
(do we need more options?)

Suppose, as an example, that the user selects "Letters, numbers, symbols" (no symbols). We create a StringBuilder, and then scan the string left to right, one character (Unicode codepoint) at a time:
4.1. We append to the StringBuilder just the characters which return true on Character.isLetter(): àáâãäåæąāăαª
4.2 We scan the string again and now append characters which test Character.isNumber(): àáâãäåæąāăαª + 1¹₁ = àáâãäåæąāăαª1¹₁
4.3 Yet again, but only for symbols: àáâãäåæąāăαª1¹₁ + @ = àáâãäåæąāăαª1¹₁@

This way, we don't need to update again every language pack when this is implemented, and we can remove duplicate layouts like "English with symbols" and "Portuguese with symbols".

While a good idea, I don't think it solves a problem that I have: that there are many keyboards which work for a lot of languages. I think it would be nice if for these keyboards you were able to define in some sort of a file (maybe something like latin_customization.xml) the diacritics and punctuation that you would need to have customized on these keyboards for the language. However, this creates the problem of having many, many keyboards for each and every language that uses them. A solution could be to change up the UI somewhat: Language > Enable keyboards and languages. > $LANGUAGE (would be a good place to use the flag svgs) > [All the keyboards for that language]. This would sort things more effectively just to avoid an endless list on the main keyboard screen; of course, you would still be able to select as many keyboards from as many languages as you wanted.

Let me make an example for a latin_customization.xml for Afrikaans (lets pretend it uses a ; for a question mark like greek):
<?xml version="1.0" encoding="utf-8"?>
<Customize xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ask="http://schemas.android.com/apk/res-auto">
  <Key android:codes="a" ask:diacritics="á"/>
  <Key android:codes="e" ask:diacritics="éèêë"/>
  <Key android:codes="i" ask:diacritics="íîï"/>
  <Key android:codes="n" ask:diacritics="ŉ"/>
  <Key android:codes="o" ask:diacritics="óôö"/>
  <Key android:codes="u" ask:diacritics="úûü"/>
  <Key android:codes="y" ask:diacritics="ý"/>
  <Punctuation ask:interrogative=";"/>
</Customize>

A solution could be to change up the UI somewhat: Language > Enable keyboards and languages. > $LANGUAGE (would be a good place to use the flag svgs) > [All the keyboards for that language].

The UI needs some way to filter keyboardsi I agree with this. Every layout pack defines two or more layouts and it quickly becomes cluttered.
But I'm honestly not sure about your ask:diacritics proposal. It's less redundant that what we have now, but you need to somehow reference a basic QWERTY/QWERTZ/AZERTY layout...
<?xml version="1.0" encoding="utf-8"?>
<Customize xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ask="http://schemas.android.com/apk/res-auto">
  <Keyboard xml="@xml/international_qwerty">
  <Key android:codes="a" ask:diacritics="á"/>
  ...
</Customize>

which only makes sense to define on the ASK app, making them completely incompatible with ASK until a new version is released at F-Droid and Google Play.
I don't see why wouldn't you be able to get what you want with mask-and-reorder; you'll need a XML file per layout all the same:
   <Row>
        <Key android:codes="q" android:keyEdgeFlags="left"/>
        <Key android:codes="w"/>
        <Key android:codes="e" android:popupCharacters="éèêë"/>
        <Key android:codes="r" />
        <Key android:codes="t"/>
        <Key android:codes="y" android:popupCharacters="ý"/>
        <Key android:codes="u" android:popupCharacters="úûü"/>
        <Key android:codes="i" android:popupCharacters="íîï"/>
        <Key android:codes="o" android:popupCharacters="óôö"/>
        <Key android:codes="p" android:keyEdgeFlags="right"/>
    </Row>
    ...

(On the final keyboard. the user would still see éèêëęėěēẽẻε€ under e ).

Yeah, the UI needs some help in lots of places, lol.
The xml per layout is the issue for me. The latin_customization.xml would be referencing all the default latin xml keyboards, not one per keyboard. I do know that it would require a bit of restructuring, but I think that it would pay off by making it much easier to create language packs in the first place (if the language uses the Latin alphabet), as you wouldn't have to worry about editing the default layouts, you would just need to make any language-specific keyboard layouts and edit latin_customization.xml. This would get rid of a lot of bloat, in my opinion.

THANK YOU for the link to that issue, now I don't have to search blindly to find it.
I'm starting to understand your issue but something doesn't add up...
You still need a latin_customization per language pack because they're independent from each other. A latin_customization file can replace... two files, tops, assuming your language uses, for example, both QWERTY and AZERTY.
Also, lots of languages add extra keys, forcing you to either write a language-specific layout, or to define a mechanism to append keys to the end of a row in your Customize file. I'm still not seeing the pay-off.
Filesize doesn't matter that much when almost all of it is taken by dictionaries. (Nice job on #324, by the way!)

No prob.
Alright, I'll concede, my idea might be a lot of work for not much payoff. In that case, I have suggestions for your masking:

Language-Specific Diacritics
All Diacritics
Symbols
Numbers

These would all be re-orderable checkboxes in settings.
I think that this would solve all sorts of problems people have.
And thanks!

☺

Language-Specific Diacritics
All Diacritics
Symbols
Numbers

These would all be re-orderable checkboxes ([edit] not sure the exact name, but its the thing that looks like this) in settings.

Makes sense.

@ArenaL5 at this point, it would probably be wise to move this idea to a separate issue, lol.


chore: different approach for navigating back on editing photos

The type of this PR is: chore

This PR resolves CX-2254
Description
Follow-up on https://github.com/artsy/eigen/pull/5978

Use navigation.goBack() to navigate back from the Add Photos screen
This approach would help us avoid nested ternary operations and keep the code easier to understand

https://user-images.githubusercontent.com/11945712/148214317-3c2aa77c-9d9b-433b-af6c-1da67b75b57a.mov

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have tested my changes on iOS and Android.
[x] I have added tests/stories for my changes, or my changes don't require testing/stories, or I have included a link to a separate Jira ticket covering the tests.
[x] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a changelog entry below or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

refactor navigating back logic on google photos - mounir

This PR contains the following changes:

Dev changes (refactor navigating back logic on google photos - mounir)

  Generated by :no_entry_sign: dangerJS against 314989388efdb1d3484c0b2e232922e835f6e3d9


Change empty values to display null instead of dash string

Hi again!
I have a small PR this time that changes "--" for empty values to null value. I think that this fits json format better as values can be null while "--" mean a totaly different value type from the one used when there is a value to be displayed. For example hear rate is a number but when the value is no longer present it changes to string.
Feel free to reject this PR if you don't agree and/or change null value color.
Right now this mainly applies to hr but I intend to add more features and then null will be displayed more often (for example for bodyBattery and hr when you take off the watch or for temperature when there is no phone to sync data for a longer time).

Hi @krokiet ! This sound wonderful. I thought "--" more user friendly but I agree with you due to the type of users of the face.
I have seen different themes in VS and all of them use the same color for numbers and nulls.

Not the same for booleans. This specific theme uses the same color also for booleans but default VSCode does not. There is not any boolean field yet so it can be decided later.
Do you mind just address the color change? I will merge and upload the new version to connect-IQ.

This commits were added in #6

Hi @aguilarguisado
Sorry for the late reply but I had a bit bussy time.
I agree with your comments and thanks for merging.
Now that there is a configuration implemented it will be possible to also implement picking a color for each type in config or selecting entire color schemes. But this is something for the future.
I will start working on adding some features and create a PR once done/partially done to get your feedback.


Failure to clone ClassicUO repository - (lib/FAudio).

Describe the bug
When attempting to clone a forked repository of ClassicUO into Visual Studio 2022 it takes a long time to 'resolve deltas' and eventually displays the error shown below 'Screenshots'.
To Reproduce
Steps to reproduce the behavior:
Copy the URL for 'ClassicUO' repository, start Visual Studio 2022 and choose 'Clone a repository', enter the details and start the clone.
Expected behavior
I expected it to clone the repository no problem.
Screenshots
https://imgur.com/a/Csh01HX
Information (please complete the following information):

OS: Microsoft Windows [Version 10.0.19044.2006]
ClassicUO Version: N/A.

not a bug. cuo uses an older fna version because metal? support is removed in newer ones. and fna submodule has git:// instead of https://, but github removed git:// support
easyest fix, is this git bash command
git config --global url."https://".insteadOf git://
git clone --recursive -b dev https://github.com/ClassicUO/ClassicUO.git

not a bug. cuo uses an older fna version because metal? support is removed in newer ones. and fna submodule has git:// instead of https://, but github removed git:// support
easyest fix, is this git bash command
git config --global url."https://".insteadOf git:// git clone --recursive -b dev https://github.com/ClassicUO/ClassicUO.git

Thanks, that solved it. Closing.


Adopt 17-EA release is very out of date.

Description:
When running under 17-ea the used release is from 2021-01-13
Task version:
v2
Platform:

[ x] Ubuntu
[ ] macOS
[ ] Windows

Runner type:

[ x] Hosted
[ ] Self-hosted

Repro steps:
https://github.com/codylerum/errorprone_java16/runs/3038148021?check_suite_focus=true
Expected behavior:
Run using latest AdoptOpenJDK 17-ea release
Actual behavior:
Run us made using a 6 month old release.
Also see https://github.com/google/error-prone/issues/2440#issuecomment-877727864
Runs using Google Error Prone are failing due to the release be out of date.
Run actions/setup-java@v2
  with:
    java-version: 17-ea
    distribution: adopt
    java-package: jdk
    architecture: x64
    check-latest: false
    server-id: github
    server-username: GITHUB_ACTOR
    server-password: GITHUB_TOKEN
    overwrite-settings: true
  env:
    MAVEN_OPTS: --add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED
Trying to resolve the latest version from remote
Resolved latest version as 17.0.0+29.0.202101130348
Trying to download...
Downloading Java 17.0.0+29.0.202101130348 (Adopt-Hotspot) from https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-2021-01-13-07-01/OpenJDK-jdk_x64_linux_hotspot_2021-01-13-03-30.tar.gz ...
Extracting Java archive...
/usr/bin/tar xz --warning=no-unknown-keyword -C /home/runner/work/_temp/d083e942-07e8-4932-8cc0-3af9464ba64f -f /home/runner/work/_temp/19b11cea-bed6-4be0-8706-526ffc708620
Java 17.0.0+29.0.202101130348 was downloaded
Setting Java 17.0.0+29.0.202101130348 as the default

Java configuration:
  Distribution: adopt
  Version: 17.0.0+29.0.202101130348
  Path: /opt/hostedtoolcache/Java_Adopt_jdk/17.0.0-ea.29.0.202101130348/x64

Creating settings.xml with server-id: github
Writing to /home/runner/.m2/settings.xml

Hello @codylerum. Thank you for your report. We use AdoptOpenJDK api to retrieve available versions. It looks like Java 17.0.0+29.0.202101130348 is the latest version provided by the api. I think we should log an issue for AdoptOpenJDK team and ask why the later versions are not available in the API.

@dmitry-shibanov Thanks, I've opened an issue there.
Seems a bad tag got into their system that release shows an scm version of jdk-17+4_adopt-62058-g9237e672c52 but then a release version of 17+29-202101130348. Or the OpenJDK build was reporting incorrect versions at the start of 17
{
        "binaries": [
            {
                "architecture": "x64",
                "download_count": 7312,
                "heap_size": "normal",
                "image_type": "jdk",
                "jvm_impl": "hotspot",
                "os": "linux",
                "package": {
                    "checksum": "5837974537839d13f9b7c4cdd63ed962565bbd9f23e5c97fc619923344cc14a6",
                    "checksum_link": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-2021-01-13-07-01/OpenJDK-jdk_x64_linux_hotspot_2021-01-13-03-30.tar.gz.sha256.txt",
                    "download_count": 7312,
                    "link": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-2021-01-13-07-01/OpenJDK-jdk_x64_linux_hotspot_2021-01-13-03-30.tar.gz",
                    "metadata_link": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-2021-01-13-07-01/OpenJDK-jdk_x64_linux_hotspot_2021-01-13-03-30.tar.gz.json",
                    "name": "OpenJDK-jdk_x64_linux_hotspot_2021-01-13-03-30.tar.gz",
                    "size": 212100882
                },
                "project": "jdk",
                "scm_ref": "jdk-17+4_adopt-62058-g9237e672c52",
                "updated_at": "2021-01-13T07:08:50Z"
            }
        ],
        "download_count": 10805,
        "id": "MDc6UmVsZWFzZTM2MzE3MTk5.E6SljB/N5tyvuA==",
        "release_link": "https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/tag/jdk-2021-01-13-07-01",
        "release_name": "jdk-2021-01-13-07-01",
        "release_type": "ea",
        "timestamp": "2021-01-13T07:04:03Z",
        "updated_at": "2021-01-13T07:04:03Z",
        "vendor": "adoptopenjdk",
        "version_data": {
            "build": 29,
            "major": 17,
            "minor": 0,
            "openjdk_version": "17+29-202101130348",
            "optional": "202101130348",
            "security": 0,
            "semver": "17.0.0+29.0.202101130348"
        }

@dmitry-shibanov I can confirm that adopt has fixed their side and builds are now passing.


Coap gateway replicas parameter is being ignored with helm charts

Description
When deploying plgd via helm chart and a file to override some parameters the replicas value for COAP gateway is being ignored.
(PS: looks like it is being read from resource directory instead, because if one increases it's replicas value, them the COAP gateway also increases the number of replicas by the same amount)
How can it be reproduced?

deploy using command:
microk8s.helm3 install am-1 -f withMock.yaml plgd/plgd-hub --create-namespace --namespace=am-1 --version 2.2.2

withMock.yaml content:
global:
  domain: "host.domain.com"
  hubId: "d03a1bb4-0a77-428c-b78c-1c46efe6a38e"
mockoauthserver:
  enabled: true
coapgateway:
  replicas: 3
  port: 5683
  service:
    type: NodePort
    nodePort: 5683
  apis:
    coap:
      tls:
        enabled: false

Check deployed pods:
microk8s.kubectl get pods -A

Logs, error output, etc.
Only one plgd-hub-coap-gateway pod is running after deploy of the helm chart with replicas: 3 overridden.
Environment

microk8s v1.22.4 (snap) running on CentOS Linux release 8.5.2111
microk8s helm3 v3.5.0
plgd hub tag: 2.2.2

Dear @itestoss
We fixed the issue and release a new version 2.2.3.


Script uses --host-pv-dir instead of --host-volumes-dir

When spinning up a cluster the script writes the start command into ..../profiles/name/run. But it writes --host-pv-dir which is not a valid option. Therefore subsequent cluster starts fail.
Tested on oc <IP_ADDRESS> and <IP_ADDRESS>.

@wkulhanek have you updated the tool? This should have been fixed already.
Can you paste the output of:
git show --oneline -s

@wkulhanek Just validated that it works.
This is my output:
$ oc-cluster up ocp-34 --image='registry.access.redhat.com/openshift3/ose' --version='v<IP_ADDRESS>'
[INFO] Running a new cluster
oc cluster up --public-hostname <IP_ADDRESS> --routing-suffix apps.lcup --host-data-dir /Users/jmorales/.oc/profiles/ocp-34/data --host-config-dir /Users/jmorales/.oc/profiles/ocp-34/config --use-existing-config -e TZ=CET --image=registry.access.redhat.com/openshift3/ose --version=v<IP_ADDRESS>
````

Did pull the latest and sure enough it works. Thought I had done that before but I guess not. :-) Thanks for checking.


Is this specification still live?

Is this specification still live?
I have several questions about what is documented here, but I don't want to waste time posting if issues are not monitored.
Thanks.

The task group is still meeting twice a week.  There is a meeting tomorrow (Tuesday) morning.

Thanks, Jim, that is good news. I will go ahead and post my questions.
It seems odd that since the task group is still meeting so frequently there has been no specification change since December 8th and the open issues have not been touched for several months. Perhaps this could be raised as an issue to address at this meeting.
James.

You might try joining the fast interrupt task group, and then you can send questions to the mailing list.  That is more active than the github repo at the moment.


Improve amenity=recycling

Dear all
Can you please update amenity=recycling with the most common materials
recycling:cans
recycling:clothes
recycling:glass
recycling:batteries
recycling:paper
recycling:plastic_bottles
recycling:cooking_oil
recycling:engine_oil
recycling:aluminium
recycling:plastic
Thanks a lot
G4rp

We don't have a good way in iD to handle multiselection fields like this.
By this I mean, it would not work well to create a checkbox for every kind of material.  A better UI would be a single field that lets users check multiple items.

Dear bhousel
for me doesn't matter the way, the important is the result :)
I have no dev skills to say with is the better way :(
G4rp

This is now done!  see #3080


Site is currently returning 403 Forbidden

The documentation site, http://node-xmpp.org, is down.

yes my bad; will fix over the weekend

fixed, sorry for the delay


Double and triple touch validation moved to the delete_clock function of the on_touch_down event

Double and triple click checks must occur when the on_touch_down method is triggered, otherwise the functions : on_double_tap, on_triple_tap - will trigger twice.
Code example

@Neizvestnyj Please attach some code examples that demonstrate the old behavior and behavior according to your change ...


Torchscope

Have you seen torchscope module used for mobilenetv3 segmentation?
https://github.com/Tramac/mobilenetv3-segmentation#result
Probably could be useful also for this repository.

Thanks, wasn't aware, will take a look. I'd like to add seg/obj detection to this at some point, but only so many hours :)

Yes there was two different topics. Implicit Mobilenet v3 segmentation head and https://github.com/Tramac/torchscope

@bhack gotcha, ya, torchscope would be handy for this, definitely save lots of debug print and print cleanup :)

/cc @Tramac

@bhack @tramac I fiddled with Torchscope. Neat, but a comment from someone who often uses functional bits in the model, it misses the FLOPs from activations, etc that are done functionally. Wonder if there's a way to hook into the torchscript/jit tracing or onnx export functionality to capture that....

The problem about functional is common to other efforts. See https://github.com/sovrasov/flops-counter.pytorch.
I hope that we will have off the shelf support soon or later https://github.com/pytorch/pytorch/issues/5013

@bhack can't this be fixed by basing the counters on torch.jit.get_trace_graph ?

@rwightman Probably. Can you open an issue on torchscope directly?


[Feature request] Automatically detect the NIC's network IP address at startup and bring it to the "Discovery" field.

Pretty much the title. It's a small improvement, I know, but it'd be nice for convenience.

Hi,
Yes - you're right, that would be much better and I will try to put it into a next version.
Thank You.

Hi,
Here is an implementation of getting prefilled input value with a subnet from the active interface - https://github.com/Chleba/netscanner/commit/226d0c6c803827c8794603d284cc3b479d4b3e89.
It will be present in the next version (0.4.2)


Question: how to boot the linux kernel with the bootloader?

As stated in the title I’m making this issue/question as I would like to make my own distro without using grub two And from what I could find, there is no instructions in the repository. Could someone kindly give me a clue or tell me how to achieve this goal, thank you.

This crate uses it's own bootloader protocol that isn't supported by Linux.


Refactor no Jquery

Swiper is library agnostic, meaning Jquery is not needed.

So I didn't knew Swiper used Dom7 https://v1.framework7.io/docs/dom.html ... which is a jquery or zepto replacement, so I refactored to just use the Dom7 api

That sounds fine, as long as we are not the ones requiring jQuery it's progress.  Swiper would need a major release to deprecate anything we would be moving towards.  Looks like there's some old code, so I'll be cleaning up a few things.  I'll get this merged soon.


Async send stuck

I am using the client to send messages to the azure service bus. I noticed that some messages were never delivered.
The SendClientAsync.send_message_async method is stuck in the loop
while any([m for m in pending_batch if m.state not in constants.DONE_STATES]):
    await self.do_work_async()

The message is in the state <MessageState.WaitingToBeSent: 0> and is not in self._pending_messages, so I am thinking that it might have never been added to the list due to some concurrency issue ?

Thanks @zach-b!
Interesting that you're not seeing the message in _pending_messages - could I please see a code snippet that you're using to send?
A couple of additional questions:

Which OS and Python version are running on?
How much data is in the message that is hanging?

We have a current issue in Event Hubs for messages with content greater than ~128kb getting stuck which may be related:
https://github.com/Azure/azure-event-hubs-python/issues/76

Thanks for your answer
The message is sent using the following method
    async def send(self, msg, ttl=None):
            ttl_header = None
            if ttl is not None:
                ttl_header = MessageHeader()
                ttl_header.time_to_live = ttl * 1000
            umsg = UamqpMessage(
                body=msg.body,
                application_properties=msg.headers,
                header=ttl_header
            )
            await self._sender.send_message_async(umsg)

The OS is Debian 8, I did not check the content of the messages yet, I'll make sure to do it if the bug occurs again tonight (or else on monday), but the messages should be rather small with a few headers and no body. I'll try to isolate and reproduce the bug on monday

So I investigated a bit further. and the content of the messages is indeed as described above (nothing out of the ordinary...).
I was not able to reproduce the bug on a simple case for the moment, my guess is that it is due to concurrency issue with the pending messages list, but I cannot know for sure. I'll try again in the following days

Thanks for the follow-up @zach-b - yes I agree that seems to be the likely cause. Especially given that it's so intermittent. I will investigate.

I tried adding a lock to the async methods modyfing the pending messages list, I'm letting it run for some time to see if any message still gets stuck (it usually happened a few times per hour).  Thank you so much for your continued investigations! I look forward to hearing how it goes :)

Haha no problem it's really a minor modification.The bug seems to be gone now. I guess the issue was occuring when adding a message while the coroutine self._filter_pending_async() was running.
I'm opening the PR so you can check the changes, thanks for your quick answers !

Shouldn't this issue be closed?
Seems like Github didn't close it automatically.

@zach-b Ping? ^

Closing for now - @zach-b - if you're still experiencing this issue please let us know and we can re-open.


Add flag lifetime

All flags should be created with an expected lifetime. One suggestion is 7 days for ops, 30 days for release, or custom duration.

What will happen when a flag has reached its lifetime (expired)? There are 2 alternatives, either

Flag will always return 1f (true), making the feature available for all users
Flag will always return 0f (false), disabling the features for all users

If we decided to go with alternative 1, sunsetting a feature should be done with something like disableFeatureX that will expect 1f value to turn off the feature

The idea would be to notify the team via the UI (and the owner directly, if we implement #47), but not act on their behalf.
In general, a person should be making a call of what should happen with the flag. Plans get delayed, change, etc. Overall,
expected lifetimes are an aid and encouragement of best practices, but not a forcing function.
If teams really do want a forcing function, they can always wrap their rules in an if(gt(now(), datetime(<date>)), true, <rule>), haha.


add readiness probe to oncall deployment

I added readiness probe to Oncall chart. Also I updated .gitignore file.

Readiness probe is a useful kubernetes feature, it should be merged into chart.
Thanks for cleaning up mess with .gitignore, I have made unnecessarily second file.


Still access denied

I get quite confused by AWS but I would love to access this data set. Tried everything I could read but still stuck with access denied errors.
Here's what I've done

Created an AWS account (with valid payment information)
Created a user and user group for myself with the "AdministratorAccess" policy
Got my access key ID and secret key
Typed my info in using aws configure

I tried running the following command:
aws s3 ls s3://glr-ds-us-building-footprints/ --request-payer requester
But I still get this message:
An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
Any ideas how to fix this or at least get more info about why I'm being denied?

@jtenny
A wild guess ... maybe try removing the trailing slash from the s3 URL:
aws s3 ls s3://glr-ds-us-building-footprints --request-payer requester


[4.2] greet keeps saying "Hello, wasm-game-of-life!"

Describe the bug
Following the 4.2 exercise solution at the bottom of the page, the greet() keeps alerting Hello, wasm-game-of-life! instead of Hello, Davide!.
To Reproduce
I've followed the tutorial I believe to the letter. To solve the final exercise, I've implemented wasm-game-of-life/src/lib.rs as:
#[wasm_bindgen]
pub fn greet(name: &str) {
    alert(&format!("Hello, {}!", name));
}

Also wasm-game-of-life/www/index.js now contains:
wasm.greet("Davide");

I've then run wasm-pack build to rebuild the wasm package, and to be 100% sure, I've closed and re-opened the local server via npm run start.
Expected behavior
http://localhost:8080 should pop up an alert saying Hello, Davide!, instead it keeps saying Hello, wasm-game-of-life!
I've made sure that package.json contains the "dependencies": { "wasm-game-of-life": "file:../pkg" }, and npm install has run thereafter.
Additional context
rustc 1.66.0, wasm-bindgen 0.2.63.
Thank you!

I've found a crucial bit of information in this page from the wasm-pack docs:

Go into the package.json file, add your package, and remove the hello-wasm-pack dependency from the "dependencies" section.

I've then deleted the entire node_modules folder and run npm install once more. I'd suggest to add it to the documentation.
Thanks!


Acton Prompt raises Editor Errors when used

When I add an Action Prompt to the Editor, I get tons of Error Messages like these:
core/variant/variant_utility.cpp:1091 - No Joypad input for ui_cancel in InputMap
These obviousely go away when I switch to keyboard mode and are caused by godot not having Joypad Buttons assigned for each Built In Input. But when adding your AddOn to any fresh project, it just causes tons of errors and I will have a look and see if I can resolve this.

Okay somehow it is caused by _update_icon() being called whenever you do a UI Input, but I have not understood what keeps calling this function in editor. For now I think the easiest fix is just to set the editor default to KEYBOARD on input_prompt_manager.gd Line 23.
That way this error message spam is not resolved, but at least it will only show up all the time when add a new InputPrompt and have it set to UI_accept.

Thank you for the report.
I don't think it makes sense to suppress these errors completely, because then it would be very hard for a user to identify why the plug-in wasn't working for certain actions.  But I agree that printing an error on every input is a bad solution.  I've got an idea for a different fix, which should still highlight configuration issues without all the spam.


Incompatible with bitcode

After adopting InterposeKit in my app, uploading a build to Apple fails when bitcode is enabled with the following error:

ITMS-90562: Invalid Bundle - The app submission can not be successfully recompiled from bitcode due to missing symbols during linking. You can try to reproduce and diagnose such issues locally by following the instructions from: https://developer.apple.com/library/archive/technotes/tn2432/_index.html

Uploading with bitcode disabled is fine. After reading the linked page I suspect it has something to do with the inline assembly in ITKSuperBuilder.m. I removed InterposeKit from my app and uploaded with bitcode without error to confirm that it was indeed InerposeKit causing the issue. Please challenge my assumption if you think something else is the issue.
Do you think this can be fixed? At least I think it would make sense to document this limitation in the readme.

Yeah, I need to remove this. Noticed this as well.

Just in case you've forgotten about this, it would be really great to see this fixed!

For reference this is what the error is when linking
    Undefined symbols for architecture arm64:
      "_ITKReturnThreadSuper", referenced from:
          __hidden#19025_ in 091.o
    ld: symbol(s) not found for architecture arm64
    Exited with 1


[typo] Fix typo

fix the typo error in network_graph.h
the cbegin function returns a forward const iterator.
so, removed 'reverse' from retval description.
Signed-off-by: SeoHyungjun<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #2063. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


No body even when included

Seems to have started with v1.5.0? On Android 13 and didn't see this until past week or so - Include Body already enabled but body isn't all there. Websites this previously worked on no longer do.

Confirmed, downgraded to 1.4.1 and now body is included

Hi @davesgonechina, thanks for the report;
The issue was already reported in #47 and should be fixed in 1.5.1.
It takes a while for f-droid to detect the tag and build the release, so please hang on 😉
The workaround for version 1.5.0 is to disable and then re-enable the option, then it should be fully functional!

@sanzoghenzo fwiw I tried disabling and re-enabling a few times before downgrading and it didn't work.

That's strange... Anyway, version 1.5.1 is finally available on F-Droid!
Let me know if you still have problems


Save mygod score to db and add to /admin/route

Proposing to record mygod score when route is created.
Also might be useful to show koji.route.updated_at on that same list.
List could be sort-able by these fields to help identify inefficient or long neglected routes that could use a refresh.
ty

oh, also would be useful to save the settings used to generate the route specifically from the clustering section


Fixes #515: Prepend FieldAction doesn't show up for STRING target field

Fixes #515

Can one of the admins verify this patch?


Fix #49 and serde support

Fix #49
Add a serde feature that adds serialization/deserialization impls for Address (and possibly more in the future)

thanks for the reminder (please always feel free to ping, i'm in a constant state of github inbox bankrupcy)

aand published in v0.6.1


Row id newtypes should impl Default

For #442 to work, the newtypes must impl Default that returns Self::NULL.

Closed via #447

closed by #484


PG Copy support

Are there plans to implement the pg_copy_from method?

No. Unless I'm missing something, this seems like something which can be accomplished with query and writing the SQL manually.

You won't be able to insert csv via query without access to the server. pg_copy_from just inserts an array of strings without the need to physically upload the file to the server from the database.

Ah, I see. Unfortunately, pg_copy_from is blocking, and no async equivalent is provided. I guess this would either need to be done in something like a parallel task, or as individual insert queries.


Native Notifications Missing

I've seen these type of tutorials before, have gone through them. What's always missing is any type of native access like notifications. That's a major piece that I feel is missing from this tutorial.
Don't get me wrong though as this tutorial was great and helpful and I appreciate the work. I only wish we could get to the good stuff as PWA is touted as a possible "app store app" replacement because it can tap into native API's like toast or banner notifications.

Well I didn't realize that the codelab was part of a larger module. Google took me right into the code lab and there was no mention of any notification module so I'm guessing that's where we will learn about push notifications.

Good point, I'll look at adding that in the future!

I've added a link in the new code lab The code has been updated, and the new guide is now live.
If you find any issues with the new codelab, please let us know!
Thanks!


make sure we install machine wide

When rolling out new servers with Ansible or similar provisioning software we often need to be machine wide for all users to be able to use dotnet-script.

Thanks

@filipw Took the liberty of merging this :)


Upgrade LSP to 8.0.2-next.4

Just to confirm, this will need a point release, along with https://github.com/microsoft/vscode-python/pull/19263?

Just to confirm, this will need a point release, along with #19263?

We're not sure yet. We're waiting for Dirk to answer a few questions for us about this LSP build.

@heejaechang, can you take a look?


Is there a mechanism to apply a FieldConverter to all fields of a given type?

For example, I need to treat all non-null, but empty String values as null. Is there a way to apply a FieldConverter named EmptyStringAsNullConverter to all the String values in my POJO without having to do all that manually?

The new version of the library has been released and now there is a way to add global converters.
try (Document document =
    Documents.OOXML()
        .converter(String.class, new StringConverter())
        .converter(Integer.class, new IntegerConverter())
        .create()) {
  ...
}


fix(docs): language switcher not working as expected in mobile mode

[中文版模板 / Chinese template]
💡 Background and solution

🔗 Related issue link

fix #968

具体的改动参考：https://github.com/jeasonstudio/dumi-theme-antd/commit/828eff46d7a3e64647190fea5921f7cbd1114d5c


Detect erroneous constants post-monomorphization

Codegen recently gained a loop to make sure that all constants required by the MIR actually error. Miri does not have anything like that yet, but we probably need that for soundness.

Here is a testcase that currently ICEs:
#![feature(const_panic)]
#![feature(never_type)]
#![warn(const_err)]
struct PrintName<T>(T);
impl<T> PrintName<T> {
    const VOID: ! = panic!();
}

fn no_codegen<T>() {
    let _ = PrintName::<T>::VOID;
}
fn main() {
    no_codegen::<i32>();
}

Even more interestingly, the same code is considered UB by Miri with -Zmir-opt-level=3:
error: Undefined Behavior: entering unreachable code
  --> const_err.rs:11:13
   |
11 |     let _ = PrintName::<T>::VOID;
   |             ^^^^^^^^^^^^^^^^^^^^ entering unreachable code
   |
   = help: this indicates a bug in the program: it performed an invalid operation, and caused Undefined Behavior
   = help: see https://doc.rust-lang.org/nightly/reference/behavior-considered-undefined.html for further information

opt level 3 has some broken optimization in it, but I don't think that's the problem here. Why is it false UB? It's UB to run into a value of ! type, which we do here if we don't evaluate the constant.

It's UB in a safe program, so either it's false UB or Rust is unsound.
But there is no actual UB here (and normal codegen shows a compile-time error as it should), this it is false UB.

oh :facepalm: yea makes sense


Add a Contributors Section

I want to add a contributors section. Which shows the valuable contributors of your project
Assign this to me as DevIncept.codes

ok sue


Create GitHub Skills content model

Why:
Closes https://github.com/github/docs-content-strategy/issues/855
What's being changed:
This PR adds a content model explaining what content goes into a GitHub Skills course, and links to additional resources on how to write that content (GitHub Skills template, quickstart, and Docs style guide).
Check off the following:

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[x] For content changes, I have reviewed the style guide.

I think we're good to merge this whenever, unless you had any other updates you wanted to make @ethanpalm


updated readme

Added how to run the project on  localhost once cloned. This is a very basic commit to confirm whether I am following proper process of PR.

@ankitt8 Yes this is a proper process. 👍
closing this PR as we already have project setup instructions in Readme


Add diagnostic collection workflow task

Issue #, if available:
Description of changes:
Add a new workflow task, CollectDiagnosticsTask, which invokes the SaveLogs methods of the Cluster Manager.
Run this CollectDiagnosticsTask after an error and prior to exiting; additionally, invoke it in 'terminal' tasks such as DeleteBootstrapClusterTask and DeleteKindClusterTask, prior to cleanup and exit, if the commandContext has an error set.
This allows us to determine when and where the diagnostic bundle is collected. This specifically solve the issue of invoke the diagnostic bundle too early (such as during validation, before anything exists) or too late (after resources have been deleted).
Additionally, remove an unused workflow and provider method for infrastructure cleanup.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: danbudris
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [danbudris]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

/test all

@danbudris: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

eks-anywhere-attribution-files-presubmit
e19f4696435d8616dc3f17f75d2beed3f7749490
link
/test eks-anywhere-attribution-files-presubmit

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: danbudris, mdsgabriel
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [danbudris,mdsgabriel]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: danbudris, g-gaston, mdsgabriel
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [danbudris,g-gaston,mdsgabriel]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Allow multiple files to be added at once

It should be possible to add multiple files:
forge file add *.fs

Currently this results in an error:
% forge new --name foo --dir src --template console
% cd src/foo
% ls
App.config foo.fs     foo.fsproj
% touch x.fs
% touch y.fs
% forge file add {x,y}.fs
unrecognized argument: 'y.fs'.

I don't think it's a feature I'd like to see. Globing (*.fs) would be problematic from ordering point of view (files in F# projects need to be ordered). And I don't think that adding multiple files at once is common enough usecase.


Unexpected Protostar error

[
Protostar version

Name
Version

Protostar
PROTOSTAR_VERSION

Cairo-lang
CAIRO_LANG_VERSION

Git
GIT_VERSION

Current Behavior

Expected Behavior

Steps to Reproduce

Possible Solution

Unfortunately there are not actionable information in task description, closing. Feel free to add more information nd reopen


Unable to install packages if access is limited to authenticated

Describe the bug
Until recently and for a long time Verdaccio has worked excellently on our server. But recently I experimented with the security options in the config file and something broke. Now I cant get Verdaccio to work as expected anymore even if I do a clean install. For some reason, when I try to install any packages published to the Verdaccio instance, Verdaccio returns a 401 unauthorized response. I can still publish packages even though that is also restricted, but installation fails every time. If I change the access permissions in the config packages section to be $all everything seems to work (but of course this means anybody could access the data).
I have attempted to rename my Verdaccio configuration files and tried this with a clean install. I just edited the config file to require authentication for package access and added one user to the htpasswd file. This made no difference, npm still throws a E401 error every time.
I run Verdaccio in a virtual Ubuntu 18.04 server behind a Nginx reverse proxy. The Nginx config is
server {
  listen <IP_ADDRESS>:80;
  listen [::]:80;
  server_name npm.domain.com;
  server_tokens off;
  return 301 https://$http_host$request_uri;
  access_log  /var/log/nginx/verdaccio_access.log;
  error_log   /var/log/nginx/verdaccio_error.log;
}

server {
  listen <IP_ADDRESS>:443 ssl;
  listen [::]:443 ssl;
  server_name npm.domain.com;
  server_tokens off;

  ssl on;
  ssl_certificate /path;
  ssl_certificate_key /path;
  add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

  access_log  /var/log/nginx/verdaccio_access.log;
  error_log   /var/log/nginx/verdaccio_error.log;

  location / {
    proxy_pass              http://<IP_ADDRESS>:4873/;
    proxy_set_header Host            $host:$server_port;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Verdaccio is started using Systemd, the unit file is:
[Unit]
Description=Verdaccio lightweight npm proxy registry

[Service]
Type=simple
Restart=on-failure
User=verdaccio
WorkingDirectory=/home/verdaccio
ExecStart=/usr/bin/verdaccio

[Install]
WantedBy=multi-user.target

To Reproduce

On the server, install Verdaccio sudo npm install -g verdaccio.
Start the verdaccio service with Systemd and let it generate the default configuration in /home/verdaccio/verdaccio/.
Edit the default config packages object so access has the value $authenticated in both instances.
Restart Verdaccio.
At your computer, add Verdaccio as the package source npm set registry https://npm.domain.com and npm adduser --registry https://npm.domain.com
Publish any package npm publish --registry https://npm.domain.com
Try to install that package npm install @somescope/somepackage

Expected behavior
Package @somescope/somepackage is installed successfully from the Verdaccio instance.
Actual behaviour
npm returns
npm ERR! code E401
npm ERR! Unable to authenticate, your authentication token seems to be invalid.
npm ERR! To correct this please trying logging in again with:
npm ERR!     npm login

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2021-03-30T14_29_19_798Z-debug.log

The contents of the mentioned logfile are:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'install',
1 verbose cli   '@somescope/somepackage'
1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session 7169a6db97a1df16
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 200 https://npm.domain.com/@somescope%2fsomepackage 414ms
8 http fetch GET 401<EMAIL_ADDRESS>61ms
9 silly fetchPackageMetaData error for @somescope/somepackage@latest Unable to authenticate, need: Basic, Bearer
10 timing stage:rollbackFailedOptional Completed in 0ms
11 timing stage:runTopLevelLifecycles Completed in 495ms
12 verbose stack Error: Unable to authenticate, need: Basic, Bearer
12 verbose stack     at /usr/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:107:17
12 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:97:5)
13 verbose statusCode 401
14 verbose pkgid @somescope/somepackage@latest
15 verbose cwd /home/user/project_folder
16 verbose Linux 5.4.0-70-generic
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "@somescope/somepackage"
18 verbose node v12.21.0
19 verbose npm  v6.14.11
20 error code E401
21 error Unable to authenticate, your authentication token seems to be invalid.
22 error To correct this please trying logging in again with:
22 error     npm login
23 verbose exit [ 1, true ]

Configuration File (cat ~/.config/verdaccio/config.yaml)
After editing the default config, it is
#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#

# path to a directory with all packages
storage: ./storage
# path to a directory with plugins to include
plugins: ./plugins

web:
  title: Verdaccio
  # comment out to disable gravatar support
  # gravatar: false
  # by default packages are ordercer ascendant (asc|desc)
  # sort_packages: asc
  # convert your UI to the dark side
  # darkMode: true

# translate your registry, api i18n not available yet
# i18n:
# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations
#   web: en-US

auth:
  htpasswd:
    file: ./htpasswd
    # Maximum amount of users allowed to register, defaults to "+inf".
    # You can set this to -1 to disable registration.
    # max_users: 1000

# a list of other known repositories we can talk to
uplinks:
  npmjs:
    url: https://registry.npmjs.org/

packages:
  '@*/*':
    # scoped packages
    access: $authenticated
    publish: $authenticated
    unpublish: $authenticated
    proxy: npmjs

  '**':
    # allow all users (including non-authenticated users) to read and
    # publish all packages
    #
    # you can specify usernames/groupnames (depending on your auth plugin)
    # and three keywords: "$all", "$anonymous", "$authenticated"
    access: $authenticated

    # allow all known users to publish/publish packages
    # (anyone can register by default, remember?)
    publish: $authenticated
    unpublish: $authenticated

    # if package is not available locally, proxy requests to 'npmjs' registry
    proxy: npmjs

# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
server:
  keepAliveTimeout: 60

middlewares:
  audit:
    enabled: true

# log settings
logs:
  - { type: stdout, format: pretty, level: http }
  - {type: file, path: /home/verdaccio/verdaccio1.log, level: debug}

The htpasswd file is just one line generated using https://hostingcanada.org/htpasswd-generator/.
Environment information
Environment Info:

  System:
    OS: Linux 5.4 Ubuntu 18.04.5 LTS (Bionic Beaver)
    CPU: (2) x64 Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
  Binaries:
    Node: 12.21.0 - /usr/bin/node
    npm: 6.14.11 - /usr/bin/npm
  Virtualization:
    Docker: 20.10.5 - /usr/bin/docker
  npmGlobalPackages:
    verdaccio: 4.12.0

(Verdaccio does not run in Docker even though Docker is installed.)
Debugging output

$ NODE_DEBUG=request verdaccio display request calls (verdaccio <--> uplinks)
$ DEBUG=express:* verdaccio enable extreme verdaccio debug mode (verdaccio api)
$ npm -ddd prints:
Not a valid command?
$ npm config get registry prints:
https://npm.domain.com/

I hope this debug file log is sufficient, I can find more if needed:
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":40,"msg":"Verdaccio started","time":"2021-03-30T14:22:23.636Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage/_sync]: init sync database","time":"2021-03-30T14:22:23.642Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"folderName":"/home/verdaccio/verdaccio/storage","msg":"[local-storage/_sync]: folder /home/verdaccio/verdaccio/storage created succeed","time":"2021-03-30T14:22:23.642Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage/_sync/writeFileSync]: sync write succeed","time":"2021-03-30T14:22:23.643Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage/_sync]: init sync database","time":"2021-03-30T14:22:23.646Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"folderName":"/home/verdaccio/verdaccio/storage","msg":"[local-storage/_sync]: folder /home/verdaccio/verdaccio/storage created succeed","time":"2021-03-30T14:22:23.647Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage/_sync/writeFileSync]: sync write succeed","time":"2021-03-30T14:22:23.647Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":40,"content":"htpasswd","prefix":"verdaccio","msg":"Plugin successfully loaded: verdaccio-htpasswd","time":"2021-03-30T14:22:23.657Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":40,"content":"audit","prefix":"verdaccio","msg":"Plugin successfully loaded: verdaccio-audit","time":"2021-03-30T14:22:23.672Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":40,"addr":"http://localhost:4873/","version":"verdaccio/4.11.0","msg":"http address - http://localhost:4873/ - verdaccio/4.11.0","time":"2021-03-30T14:22:23.680Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"POST","url":"/-/v1/login","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","content-length":"25","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"c179fad4b414489e","referer":"adduser","content-type":"application/json","accept":"*/*","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":58690},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'POST /-/v1/login'","time":"2021-03-30T14:26:47.044Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"POST","url":"/-/v1/login"},"user":null,"remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":404,"bytes":{"in":25,"out":150},"msg":"404, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'POST /-/v1/login', bytes: 25/150","time":"2021-03-30T14:26:47.058Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"PUT","url":"/-/user/org.couchdb.user:myusername","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","content-length":"128","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"c179fad4b414489e","referer":"adduser","content-type":"application/json","accept":"*/*","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":58710},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'PUT /-/user/org.couchdb.user:myusername'","time":"2021-03-30T14:26:58.929Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"PUT","url":"/-/user/org.couchdb.user:myusername"},"user":null,"remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":409,"error":"username is already registered","bytes":{"in":128,"out":48},"msg":"409, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:myusername', error: username is already registered","time":"2021-03-30T14:26:59.076Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"GET","url":"/-/user/org.couchdb.user:myusername?write=true","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"c179fad4b414489e","referer":"adduser","accept":"*/*","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":58712},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'GET /-/user/org.couchdb.user:myusername?write=true'","time":"2021-03-30T14:26:59.139Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"GET","url":"/-/user/org.couchdb.user:myusername?write=true"},"user":null,"remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":200,"bytes":{"in":0,"out":51},"msg":"200, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'GET /-/user/org.couchdb.user:myusername?write=true', bytes: 0/51","time":"2021-03-30T14:26:59.140Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"PUT","url":"/-/user/org.couchdb.user:myusername/-rev/undefined","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","content-length":"172","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"c179fad4b414489e","referer":"adduser","authorization":"<Classified>","content-type":"application/json","accept":"*/*","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":58714},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'PUT /-/user/org.couchdb.user:myusername/-rev/undefined'","time":"2021-03-30T14:26:59.210Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"PUT","url":"/-/user/org.couchdb.user:myusername/-rev/undefined"},"user":"myusername","remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":201,"bytes":{"in":172,"out":86},"msg":"201, user: myusername(<my-ip-address> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:myusername/-rev/undefined', bytes: 172/86","time":"2021-03-30T14:26:59.445Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"PUT","url":"/@somescope/somepackage","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","content-length":"8267","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"@somescope","npm-session":"9798c1aa1c088099","referer":"publish","authorization":"<Classified>","content-type":"application/json","accept":"*/*","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":58936},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'PUT /@somescope/somepackage'","time":"2021-03-30T14:29:07.700Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"publishing or updating a new version for @somescope/somepackage","time":"2021-03-30T14:29:07.813Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"adding a new version for @somescope/somepackage","time":"2021-03-30T14:29:07.813Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/readPackage] read a package: @somescope/somepackage","time":"2021-03-30T14:29:07.814Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"out","level":30,"method":"GET","headers":{"Accept":"application/json;","Accept-Encoding":"gzip","User-Agent":"npm (verdaccio/4.11.0)","Via":"1.1 9d34477f59b5 (Verdaccio)"},"uri":"https://registry.npmjs.org/@somescope%2somepackage","msg":"making request: 'GET https://registry.npmjs.org/@somescope%2somepackage'","time":"2021-03-30T14:29:07.816Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"out","level":35,"request":{"method":"GET","url":"https://registry.npmjs.org/@somescope%2somepackage"},"status":404,"msg":"404, req: 'GET https://registry.npmjs.org/@somescope%2somepackage' (streaming)","time":"2021-03-30T14:29:08.880Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"out","level":35,"request":{"method":"GET","url":"https://registry.npmjs.org/@somescope%2somepackage"},"status":404,"bytes":{"in":0,"out":21},"msg":"404, req: 'GET https://registry.npmjs.org/@somescope%2somepackage', bytes: 0/21","time":"2021-03-30T14:29:08.881Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/createPackage] create a package: @somescope/somepackage","time":"2021-03-30T14:29:08.882Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"eslint-config-base-2.1.4.tgz","msg":"[local-storage/writeTarball] write a tarball for package: eslint-config-base-2.1.4.tgz","time":"2021-03-30T14:29:08.890Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/savePackage] save a package: @somescope/somepackage","time":"2021-03-30T14:29:08.896Z","v":0}
{"name":"@somescope/somepackage","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage]: the private package @somescope/somepackage has been added","time":"2021-03-30T14:29:08.897Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage/_sync]: init sync database","time":"2021-03-30T14:29:08.898Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"folderName":"/home/verdaccio/verdaccio/storage","msg":"[local-storage/_sync]: folder /home/verdaccio/verdaccio/storage created succeed","time":"2021-03-30T14:29:08.898Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"msg":"[local-storage/_sync/writeFileSync]: sync write succeed","time":"2021-03-30T14:29:08.898Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/savePackage] save a package: @somescope/somepackage","time":"2021-03-30T14:29:08.898Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/savePackage] save a package: @somescope/somepackage","time":"2021-03-30T14:29:08.900Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"PUT","url":"/@somescope/somepackage"},"user":"myusername","remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":201,"bytes":{"in":8267,"out":53},"msg":"201, user: myusername(<my-ip-address> via <IP_ADDRESS>), req: 'PUT /@somescope/somepackage', bytes: 8267/53","time":"2021-03-30T14:29:08.901Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"GET","url":"/@somescope/somepackage","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"7169a6db97a1df16","referer":"install [REDACTED]","pacote-req-type":"packument","pacote-pkg-id":"registry:@somescope/somepackage","accept":"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*","authorization":"<Classified>","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":58958},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'GET /@somescope/somepackage'","time":"2021-03-30T14:29:19.489Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/readPackage] read a package: @somescope/somepackage","time":"2021-03-30T14:29:19.602Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"out","level":30,"method":"GET","headers":{"Accept":"application/json;","Accept-Encoding":"gzip","User-Agent":"npm (verdaccio/4.11.0)","X-Forwarded-For":"<my-ip-address>, <IP_ADDRESS>","Via":"1.1 9d34477f59b5 (Verdaccio)"},"uri":"https://registry.npmjs.org/@somescope%2somepackage","msg":"making request: 'GET https://registry.npmjs.org/@somescope%2somepackage'","time":"2021-03-30T14:29:19.602Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"out","level":35,"request":{"method":"GET","url":"https://registry.npmjs.org/@somescope%2somepackage"},"status":404,"msg":"404, req: 'GET https://registry.npmjs.org/@somescope%2somepackage' (streaming)","time":"2021-03-30T14:29:19.627Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"out","level":35,"request":{"method":"GET","url":"https://registry.npmjs.org/@somescope%2somepackage"},"status":404,"bytes":{"in":0,"out":21},"msg":"404, req: 'GET https://registry.npmjs.org/@somescope%2somepackage', bytes: 0/21","time":"2021-03-30T14:29:19.627Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/readPackage] read a package: @somescope/somepackage","time":"2021-03-30T14:29:19.628Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"GET","url":"/@somescope/somepackage"},"user":"myusername","remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":200,"bytes":{"in":0,"out":1215},"msg":"200, user: myusername(<my-ip-address> via <IP_ADDRESS>), req: 'GET /@somescope/somepackage', bytes: 0/1215","time":"2021-03-30T14:29:19.633Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":30,"req":{"method":"GET","url":"/@somescope/somepackage/-/eslint-config-base-2.1.4.tgz","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"7169a6db97a1df16","referer":"install [REDACTED]","pacote-req-type":"tarball","pacote-pkg-id":"registry:@somescope/somepackage@https://npm.domain.com:443/@somescope%2somepackage/-/eslint-config-base-2.1.4.tgz","accept":"*/*"},"remoteAddress":"<IP_ADDRESS>","remotePort":58960},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'GET /@somescope/somepackage/-/eslint-config-base-2.1.4.tgz'","time":"2021-03-30T14:29:19.708Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":15095,"sub":"in","level":35,"request":{"method":"GET","url":"/@somescope/somepackage/-/eslint-config-base-2.1.4.tgz"},"user":null,"remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":401,"error":"authorization required to access package @somescope/somepackage","bytes":{"in":0,"out":90},"msg":"401, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'GET<EMAIL_ADDRESS>error: authorization required to access package @somescope/somepackage","time":"2021-03-30T14:29:19.710Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":40,"msg":"Verdaccio started","time":"2021-03-30T14:32:07.817Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"msg":"[local-storage/_sync]: init sync database","time":"2021-03-30T14:32:07.825Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"folderName":"/home/verdaccio/verdaccio/storage","msg":"[local-storage/_sync]: folder /home/verdaccio/verdaccio/storage created succeed","time":"2021-03-30T14:32:07.826Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"msg":"[local-storage/_sync/writeFileSync]: sync write succeed","time":"2021-03-30T14:32:07.826Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"msg":"[local-storage/_sync]: init sync database","time":"2021-03-30T14:32:07.830Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"folderName":"/home/verdaccio/verdaccio/storage","msg":"[local-storage/_sync]: folder /home/verdaccio/verdaccio/storage created succeed","time":"2021-03-30T14:32:07.830Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"msg":"[local-storage/_sync/writeFileSync]: sync write succeed","time":"2021-03-30T14:32:07.830Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":40,"content":"htpasswd","prefix":"verdaccio","msg":"Plugin successfully loaded: verdaccio-htpasswd","time":"2021-03-30T14:32:07.838Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":40,"content":"audit","prefix":"verdaccio","msg":"Plugin successfully loaded: verdaccio-audit","time":"2021-03-30T14:32:07.861Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/readPackage] read a package: @somescope/somepackage","time":"2021-03-30T14:32:07.866Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":20,"packageName":"@somescope/somepackage","msg":"[local-storage/readPackage] read a package: @somescope/somepackage","time":"2021-03-30T14:32:07.867Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"level":40,"addr":"http://localhost:4873/","version":"verdaccio/4.12.0","msg":"http address - http://localhost:4873/ - verdaccio/4.12.0","time":"2021-03-30T14:32:07.871Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"sub":"in","level":30,"req":{"method":"POST","url":"/-/npm/v1/security/audits/quick","headers":{"host":"npm.domain.com:443","x-forwarded-for":"<my-ip-address>","x-forwarded-proto":"https","connection":"close","content-length":"270","user-agent":"npm/6.14.11 node/v12.21.0 linux x64","npm-in-ci":"false","npm-scope":"","npm-session":"c7f4a2e8d78d7536","referer":"dedupe","authorization":"<Classified>","content-type":"application/json","content-encoding":"gzip","accept":"*/*","accept-encoding":"gzip,deflate"},"remoteAddress":"<IP_ADDRESS>","remotePort":59464},"ip":"<IP_ADDRESS>","msg":"<IP_ADDRESS> requested 'POST /-/npm/v1/security/audits/quick'","time":"2021-03-30T14:34:06.253Z","v":0}
{"name":"verdaccio","hostname":"hostname","pid":16957,"sub":"in","level":35,"request":{"method":"POST","url":"/-/npm/v1/security/audits/quick"},"user":null,"remoteIP":"<my-ip-address> via <IP_ADDRESS>","status":200,"bytes":{"in":270,"out":145},"msg":"200, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'POST /-/npm/v1/security/audits/quick', bytes: 270/145","time":"2021-03-30T14:34:06.516Z","v":0}

Just the request log of Verdaccio from Systemd logs is:
Mar 30 14:22:23 servername verdaccio[15095]:  warn --- config file  - /home/verdaccio/verdaccio/config.yaml
Mar 30 14:22:23 servername verdaccio[15095]:  warn --- Verdaccio started
Mar 30 14:22:23 servername verdaccio[15095]:  warn --- Plugin successfully loaded: verdaccio-htpasswd
Mar 30 14:22:23 servername verdaccio[15095]:  warn --- Plugin successfully loaded: verdaccio-audit
Mar 30 14:22:23 servername verdaccio[15095]:  warn --- http address - http://localhost:4873/ - verdaccio/4.11.0
Mar 30 14:26:47 servername verdaccio[15095]:  http <-- 404, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'POST /-/v1/login', bytes: 25/150
Mar 30 14:26:59 servername verdaccio[15095]:  http <-- 409, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:user', error: username is already registered
Mar 30 14:26:59 servername verdaccio[15095]:  http <-- 200, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'GET /-/user/org.couchdb.user:user?write=true', bytes: 0/51
Mar 30 14:26:59 servername verdaccio[15095]: (node:15095) [DEP0106] DeprecationWarning: crypto.createCipher is deprecated.
Mar 30 14:26:59 servername verdaccio[15095]:  http <-- 201, user: user(<my-ip-address> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:user/-rev/undefined', bytes: 172/86
Mar 30 14:29:08 servername verdaccio[15095]:  http --> 404, req: 'GET https://registry.npmjs.org/@somescope%2Fsomepackage' (streaming)
Mar 30 14:29:08 servername verdaccio[15095]:  http --> 404, req: 'GET https://registry.npmjs.org/@somescope%2Fsomepackage', bytes: 0/21
Mar 30 14:29:08 servername verdaccio[15095]:  http <-- 201, user: user(<my-ip-address> via <IP_ADDRESS>), req: 'PUT /@somescope/somepackage', bytes: 8267/53
Mar 30 14:29:19 servername verdaccio[15095]:  http --> 404, req: 'GET https://registry.npmjs.org/@somescope%2Fsomepackage' (streaming)
Mar 30 14:29:19 servername verdaccio[15095]:  http --> 404, req: 'GET https://registry.npmjs.org/@somescope%2Fsomepackage', bytes: 0/21
Mar 30 14:29:19 servername verdaccio[15095]:  http <-- 200, user: user(<my-ip-address> via <IP_ADDRESS>), req: 'GET /@somescope/somepackage', bytes: 0/1215
Mar 30 14:29:19 servername verdaccio[15095]:  http <-- 401, user: null(<my-ip-address> via <IP_ADDRESS>), req: 'GET<EMAIL_ADDRESS>error: authorization required to access package @somescope/somepackage

I see user=null in your log, seems you are missing always-auth = true in your .npmrc file.

Yeah, that seems to have fixed it. I guess npm by default doesn't authenticate GET requests, didn't know that. Thank you for the help!


Hide referer from third-parties option working incorrectly

Settings in AG: https://uploads.adguard.com/AdGuard_Preferences_-_Privacy_2018-11-08_12-05-46.png
STR: go to google.com, search for ‘xhause.com/headers’
Actual result: Hide referer from third-parties is off, but referer has the attribute of that option.
https://uploads.adguard.com/xhaus.comheaders_-_Poisk_v_Google_2018-11-08_12-07-30.png
Expected behaviour: referer is the same as host.

core/pull-requests/829


"-p" option for pausing neural network won't work

I found out that the "-p" option does not work for me anymore in the latest release of neural2d. The program still continues to run the training routine. It works perfectly in the older release. Am I doing something wrong?
P.S: I'm running neural2d on Ubuntu.
Thanks in advance!

@MaDooSan, the source code hasn't changed in over a year, so nothing comes to mind immediately. Feel free to give us more details on how you obtained the source code, compiled it, what compiler and OS version, how you're running the program, etc.

@davidrmiller, that's what I thought too. I must be missing something, and I'm hoping you can help me see what that is. I'm using Ubuntu 14.04. I followed the instructions on the documentation to create a /build/ folder in the cloned repository and compiled the library using cmake.
Everything works fine, except when I use the "-p" option, like shown:
./neural2d topology.txt inputData.txt weights.txt -p
It seems that setting the net's 'isRunning' status to false doesn't pause it.
As I mentioned previously, when I tried the same thing on your first release, it worked as expected, i.e. the program pauses and I can open a browser that has the GUI.

Ubuntu 14.04 should work. Here are some ideas: Double-check the Makefile and make sure there is no compiler flag like "-DDISABLE_WEBSERVER". Also check neural2d.h and make sure that line 92 contains "#define ENABLE_WEBSERVER". If that's not it, could it be a difference in our compiler versions? Or cmake versions? If necessary, you could also check out older versions of neural2d and determine if there's a particular code check-in that broke this feature for you.

@davidrmiller, thank you for the suggestions. I will test them out.
Cheers!

I just tested a fresh clone of the repository with Ubuntu 14.04, and you are right -- by default the optional webserver is not compiled and linked, and the instructions in the README are not clear how to enable it.
To compile and link the webserver, run cmake with the option "-DWEBSERVER=ON", and then rebuild the neural2d executable. For example:
cd build
cmake -DWEBSERVER=ON ..
make

I'll update the README later with clearer information.
At some point we must have changed the default, and that's when the webserver stopped working for you. To change the default so that the webserver gets compiled without having to supply a cmake parameter, see around line 19 in CMakeLists.txt in the top level directory.
Thanks for submitting this issue!

Thanks a million, it works beautifully!
Glad to help :)


Error in PS Commands

I found there is an issue with two commands listed in the document where there is a space " " after the dash and before the attribute:
Invalid commands:
Set-OrganizationConfig - EwsAllowList @{Remove="MicrosoftOWSPersonalBookings"}
Set-OrganizationConfig - EwsAllowList @{Add="MicrosoftOWSPersonalBookings"}
Corrected commands:
Set-OrganizationConfig -EwsAllowList @{Remove="MicrosoftOWSPersonalBookings"}
Set-OrganizationConfig -EwsAllowList @{Add="MicrosoftOWSPersonalBookings"}

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

ID: 7bad8864-5f08-90ae-a6d1-a23e58fc1843
Version Independent ID: 7bad8864-5f08-90ae-a6d1-a23e58fc1843
Content: Bookings in Outlook
Content Source: microsoft-365/bookings/bookings-in-outlook.md
Service: bookings
GitHub Login: @kwekuako
Microsoft Alias: kwekua

@angusmclean11 . Issue is fixed. It will be reflected within two days in published page.

@RAJU2529

@yogkumgit close this issue #8568, issue is fixed changes are reflected in article. Please cross it


Dependence management

Could you add a dependence management for this project  ? Such as dep glide

Hi! Sorry I missed your message, it's been a hectic week. This package's dependencies are managed by dep, the config and lock files are Gopkg.toml and Gopkg.lock... is that what you're looking for?

Sorry, You are right.


samples/nodejs-javascript-solutiongallery createConnection failed

npm run createConnection failed

<EMAIL_ADDRESS>createConnection
node createConnection.js

Creating connection...
TypeError: Cannot destructure property 'id' of 'config.connector' as it is undefined.
at createConnection (file:///C:/Users/ksc.IPIWE/Downloads/pnp%20graph-connectors-samples%20main%20samples-nodejs-javascript-solutiongallery/createConnection.js:7:11)
at main (file:///C:/Users/ksc.IPIWE/Downloads/pnp%20graph-connectors-samples%20main%20samples-nodejs-javascript-solutiongallery/createConnection.js:52:11)
at file:///C:/Users/ksc.IPIWE/Downloads/pnp%20graph-connectors-samples%20main%20samples-nodejs-javascript-solutiongallery/createConnection.js:60:1
at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

I am on Node.js v18.18.2.
Should i try another verison?

Let me try to see if I can repro it

I can repro the issue. Sorry for that. I'll get it fixed right away and let you know when it's. So sorry for the trouble

OK, the sample is fixed now. Once again, sorry for the trouble. Please, give it another shot and let us know if everything is working as intended

Wonderful, dear @waldekmastykarz. It is working now. i had to set the Adaptive Card in Result Type and configured a vertical with this new external Connecrion

Brilliant! While the sample creates a result layout, it doesn't create a vertical because there are no APIs for it as far as I know. Awesome to see it working! How do you like it? Any other samples that you'd like to see?


lhash/lhash.c: resort to atomic operations in OPENSSL_LH_retrieve.

OPENSSL_LH_retrieve is customarily performed under read-only lock,
which makes statistics updates multi-thread-unsafe. It was conscious
choice to put responsibility on application by advising to perform
all operations under more expensive write lock if accurate statistics
are required. But if platform supports atomic operations, counter
update can be done without engaging expensive locking mechanisms.

The functions that access these variables will also have to use atomic read operations.  A caller will have a read lock for OPENSSL_LH_retrieve, which can modify the stats.  The documentation says to hold a read lock when accessing lh_stats.c calls.

After some consideration I've decided to suggest to make it explicitly about Thread Sanitizer. Quoting first new commit. "Goal here is to facilitate writing "thread-opportunistic" code that withstands Thread Sanitizer's scrutiny. "Thread-opportunistic" is when exact result is not required, e.g. some statistics, or execution flow doesn't have to be unambiguous."

On related note, speaking of other uses for CRYPTO_atomic_add. In mem.c
static int dummy;

# define INCREMENT(x) CRYPTO_atomic_add(&x, 1, &dummy, memdbg_lock)

One can wonder what would Thread Sanitizer say about using same dummy for all operations...

Speaking of mem.c in more general sense. If intention is to be able to present self-coherent statistics, then CRYPTO_atomic_add|read is not the way to go. If statistics is to be self-coherent, then CRYPTO_get_alloc_counts should obtain the lock, collect all three values and release the lock. This also mens that lock-free counter updates should not be an option.

I for one would rather go as far as removing it [CRYPTO_atomic_write]...

As well as read really. Here is the problem I have with them. No amount of locking would distinguish outcome from just accessing the variable(*). Or rather no amount of locking would guarantee that value does not change the moment the lock is released. Just as if it there was no locking. One can argue that write affects store's visibility in other threads. Yes, but does it actually matter? I mean if consumer thread is lock-free[!], then it shouldn't matter exactly how/when value becomes visible to it, it's meant to able to deal with it. And if it's not lock-free, then you'd need better control over locks than offered by these anyway. Possibly meaningful use would be to build own more elaborate synchronization primitives, but we don't aim for that. It would also be meaningful if it was a [bigger] structure that was read or written, but as long as it's int *, there is really no point. The only thing that they do is impair compiler's ability(**) to reorder those specific loads and stores in relation to other loads in stores, but that is a) order within single thread; b) can be solved with volatile. Thought?
(*) Provided that integer load and store are single-instruction operations and addresses are aligned at natural boundaries. Former is the case on all supported platforms and latter is effectively required by language standard.
(**) Because they reside in separate compile unit and when compiling modules that call these compiler can't make specific assumptions. Though this might change if link-time optimizations are engaged.

Even though the subject speaks of LHASH, the "collateral" modification to x509v3/v3_purp.c is probably one that addresses real problem(*). And that problem is present even in 1.1.0 and 1.0.2. For this reason I'm adding even corresponding labels. But it doesn't mean I "nominate" whole thing for back-port, only v3_purp.c fixes. It should also be noted that it's possible to solve it differently if one doesn't aim to appease tsan.
(*) Not that tsan problem in lhash.c is not real, but addressing it is more like fixing a warning.

BTW, even after some extra consideration I would still suggest to remove CRYPTO_atomic_[write|read]. As already said, they would make sense if we were looking at copying larger structures, or were implementing own synchronization primitives (in which case it would make more sense to have memory ordering in name, e.g. CRYPTO_atomic_write_release). But we don't do any of that. And in their present state just give wrong impression.

Re-based and added couple of more commits. Now there are no references to OPENSSL_atomic_[read|write]. On top of meaningfulness of OPENSSL_atomic_[read|write] one can argue that OPENSSL_atomic_add should not offer lock-free as option. Why is that? First recall that OPENSSL_atomic_[read|write] are lock-free, the results would be effectively indistinguishable from just load/store. This means that caller who cares about accurate readings would have to resort to locking prior accessing variables, and even acquire write lock when reading. But trouble is that if OPENSSL_atomic_add is lock-free, then results won't be accurate. So that application code would have to abstain even from using OPENSSL_atomic_add. Simply because programmer can't make assumption that it's not lock-free.

Now there are no references to CRYPTO_atomic_[read|write]

Well, there were no references to CRYPTO_atomic_write to start with, which kind of tells how useful it actually is.

CRYPTO_atomic_add should not offer lock-free as option. Why is that?

It might be easier to grasp if one puts it like this. It's impossible to combine lock-free version with locked access, to which meaningful application would have to resort. The only meaningful use for CRYPTO_atomic_add is fallback for reference counters in case lock-free is not an option.
And on additional note, PING.

Still pending for 2nd review. Just in case a reminder. 1.0.2 and 1.1.0 labels don't refer to whole request, but only to need to address problem with x509v3_cache_extensions. In other words none of these will be actually cherry-picked to 1.0.2 and 1.1.0, they will be addressed separately. Label here are purely to illuminate the fact that there is problem common to all branches.


ACS CCE IDs do not map to NIST CCE IDs

I’m noticing some discrepancies between all the CCE ids and overall National Vulnerability Database that the Azure documentation outlines.
The CCE website is in “Archive” Status. Based on the website, NIST is now hosting the official CCE list, however this was last updated on February 14, 2013.
The National Vulnerability Database (NVD) provides an XML download to review the STIG benchmark which maps to CCEs ids, however these do not map back (at least not on over 20 that I looked up) to the CCE ids that are outlined in the Security Baseline from ACS, nor do they map back to the baseline rules v4 from technet.
CCE: http://cce.mitre.org/
CCE hosted file: https://nvd.nist.gov/config/cce/index
Windows Server 2012/2012 R2 STIG + CCEs: https://nvd.nist.gov/ncp/checklist/560
Azure Security Center v4 download: https://gallery.technet.microsoft.com/Azure-Security-Center-a789e335
For Example – CCE-36169-1 in the ASC Baseline v4 file – it reports “Ensure 'Configure registry policy processing: Do not apply during periodic background processing' is set to 'Enabled: FALSE'”
However, when you attempt to lookup that CCE id in both the CCE host file and the STIG XML – this CCE is not found.

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

ID: 05914675-3eff-2c26-6cd4-50a64e025d44
Version Independent ID: 00837f00-fa21-e105-59a1-28dcb7466e31
Content: Customize OS security configurations in Azure Security Center (Preview)
Content Source: articles/security-center/security-center-customize-os-security-config.md
Service: security-center
GitHub Login: @TerryLanfear
Microsoft Alias: terrylan

@hctrr Thanks for your feedback! We will investigate and update as appropriate.

@hctrr I have assigned the issue to the document author to investigate and update as appropriate.

#in-process
@hctrr - Thank you for your feedback.  On 4/23/2018 we updated the download file of baseline rules.  I am working with engineering to update the link which is currently pointing to the CCE site.

@hctrr  - We updated the download file of baseline rules and the link, which is now pointing to the NVD site.  Thank you for your feedback!

#please-close

@hctrr We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Validating the build metadata

It is my understanding that +x86_64 is an invalid build metadata, because it contains an underscore character.  While +x86-64 is correct.  There is no validation of metadata in the library?

I'm not aware about all of this :smile: can you explain it to me ?

As described in Semantic Versioning 2.0.0, at point 10 of the specification:

Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty.

As you can see the parser actually act like described id.c:64. Where did you find this invalid build ?

It is a misunderstanding of mine on the role of the id API.  When using the semver API, the following function:
void
doc_example_versions_2_3 (void)
{
  printf("--- %s:\n", __func__);
  static const char	input_str[] = "1.2.3-alpha.7+x86_64";
  semver_t	version;
  size_t	offset = 0;
  char		rv;

  rv = semver_read(&version, input_str, strlen(input_str), &offset);
  if (0 == rv) {
    printf("major=%d, minor=%d, patch=%d, ",
	   version.major, version.minor, version.patch);
    printf("prerelease=");
    semver_id_fwrite(&version.prerelease, stdout);
    printf(", ");
    printf("build=");
    semver_id_fwrite(&version.build, stdout);
    printf("\n");
  }
  semver_dtor(&version);
}

prints:
--- doc_example_versions_2_3:
major=1, minor=2, patch=3, prerelease=alpha.7, build=x86

only x86 is considered build metadata.  It is how it is supposed to be?

Yes exactly. _ is not accepted