feat: don't override ddev-generated built-in project files created by add-on, fixes #6173, fixes #6190

The Issue
Add-ons can't properly manage built-in DDEV resources because when you remove #ddev-generated the file is no longer "installed" with the add-on. When you remove the add-on the file without the #ddev-generated is not removed. But when you leave out #ddev-generated, the file is replaced with DDEV:

#6173

Built-in DDEV assets are copied every time:

#6190

How This PR Solves The Issue
Do not override bundled assets in the project directory if they are listed in add-on manifest in project_files and have #ddev-generated.
This will allow to override files generated by DDEV in .ddev directory, by moving control over them to the add-on.
And do not copy the embedded assets if their content is the same.
Manual Testing Instructions
mkdir test-pr && cd test-pr
ddev config --auto
mkdir -p test-addon/xhprof && printf "name: test-addon\nproject_files:\n- xhprof/xhprof_prepend.php\n" > test-addon/install.yaml && printf "<?php\n#ddev-generated\n" > test-addon/xhprof/xhprof_prepend.php
ddev get test-addon
ddev start

Check the contents of .ddev/xhprof/xhprof_prepend.php.
Automated Testing Overview

Related Issue Link(s)
Release/Deployment Notes

Rebased

I suspect that the MkDirAll() should also be checked and not created if it exists? Or maybe that doesn't matter?

From https://pkg.go.dev/os#MkdirAll
If path is already a directory, MkdirAll does nothing and returns nil.

I think it completely fixes #6173 and #6190 right?

Yes, I updated the title.

I had some fun exploring the impact of this with
ddev mutagen logs 2>&1 | grep Processing

Sometimes you have to start it more than once because ddev mutagen logs is not willing to start first time

I added a TimeTrack() to the PopulateExamplesCommandsHomeadditions() and it seems that this process takes about 20ms on my system.
ddev describe 2>&1 | grep "PERF: exit.*Popul"

time="2024-06-04T15:09:18-06:00" level=info msg="PERF: exit CopyEmbedAssets in PopulateExamplesCommandsHomeadditions() at 15:09:18.680513000 after 20ms"

I checked this again and I don't see any writes with and without Mutagen (on Linux).
I'll just rebase this PR on master, and request a new review (maybe you tested something else?)

Oops, I force-pushed and deleted the last commit by mistake, reverted it.

I tried this PR on macOS and could see the behavior you described:

For example, if you ddev get ddev/ddev-drupal-contrib (which installs several project commands), every ddev describe will rewrite all of those commands. With the correct content...

You can put a breakpoint where it writes the file (https://github.com/stasadev/ddev/blob/20240531_stasadev_addon_files/pkg/fileutil/embed.go#L53) to see this behavior.

But the breakpoint shows that nothing is written there in CopyEmbedAssets() and when I look at the timestamp of the files in .ddev/commands/web nothing is actually updated. CopyEmbedAssets() doesn't even touch these files to be precise, as it loops through a predefined set of files.
I don't really understand why Mutagen logs show Processing for these add-on files.

Rebased to resolve conflicts.

The real issue is the logic and rewrite of the file, mutagen is just a side effect.

I removed all the logic from pkg/fileutil/embed.go:
package fileutil

import (
	"embed"
)

func CopyEmbedAssets(fsys embed.FS, sourceDir string, targetDir string, excludedFiles []string) error {
	return nil
}

And tested it on tb-macos-arm64-4:
$ ddev poweroff

$ ls -li .ddev/commands/web
total 80
403361393 -rwxr-xr-x  1 testbot  staff  258 Jun  6 05:32 README.txt
403394437 -rwxr-xr-x  1 testbot  staff  896 Jun  6 05:02 eslint
403394438 -rwxr-xr-x  1 testbot  staff  531 Jun  6 05:02 expand-composer-json
403394439 -rwxr-xr-x  1 testbot  staff  342 Jun  6 05:02 nightwatch
403394440 -rwxr-xr-x  1 testbot  staff  579 Jun  6 05:02 phpcbf
403394441 -rwxr-xr-x  1 testbot  staff  590 Jun  6 05:02 phpcs
403394442 -rwxr-xr-x  1 testbot  staff  729 Jun  6 05:02 phpunit
403394443 -rwxr-xr-x  1 testbot  staff  464 Jun  6 05:02 poser
403394444 -rwxr-xr-x  1 testbot  staff  534 Jun  6 05:02 stylelint
403394445 -rwxr-xr-x  1 testbot  staff  679 Jun  6 05:02 symlink-project

# in another window
$ ddev mutagen logs 2>&1 | grep Processing

$ ddev start

# I see Mutagen Processing in another window for all files

$ ddev describe 2>&1 | grep "PERF: exit.*Popul"

# I see Mutagen Processing in another window for added commands in .ddev/commands/web
2024-06-06 09:38:59.513314 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/eslint"
2024-06-06 09:38:59.513340 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/expand-composer-json"
2024-06-06 09:38:59.513396 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/nightwatch"
2024-06-06 09:38:59.513415 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/phpcbf"
2024-06-06 09:38:59.513420 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/phpcs"
2024-06-06 09:38:59.513425 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/phpunit"
2024-06-06 09:38:59.513431 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/poser"
2024-06-06 09:38:59.513434 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/stylelint"
2024-06-06 09:38:59.513454 [T] [sync.sync_PRrv33gn.alpha.watching] Processing event path: ".ddev/commands/web/symlink-project

$ ls -li .ddev/commands/web
total 80
403361393 -rwxr-xr-x  1 testbot  staff  258 Jun  6 05:32 README.txt
403394437 -rwxr-xr-x  1 testbot  staff  896 Jun  6 05:02 eslint
403394438 -rwxr-xr-x  1 testbot  staff  531 Jun  6 05:02 expand-composer-json
403394439 -rwxr-xr-x  1 testbot  staff  342 Jun  6 05:02 nightwatch
403394440 -rwxr-xr-x  1 testbot  staff  579 Jun  6 05:02 phpcbf
403394441 -rwxr-xr-x  1 testbot  staff  590 Jun  6 05:02 phpcs
403394442 -rwxr-xr-x  1 testbot  staff  729 Jun  6 05:02 phpunit
403394443 -rwxr-xr-x  1 testbot  staff  464 Jun  6 05:02 poser
403394444 -rwxr-xr-x  1 testbot  staff  534 Jun  6 05:02 stylelint
403394445 -rwxr-xr-x  1 testbot  staff  679 Jun  6 05:02 symlink-project

$ ddev poweroff

$ ls -li .ddev/commands/web
total 80
403361393 -rwxr-xr-x  1 testbot  staff  258 Jun  6 05:32 README.txt
403394437 -rwxr-xr-x  1 testbot  staff  896 Jun  6 05:02 eslint
403394438 -rwxr-xr-x  1 testbot  staff  531 Jun  6 05:02 expand-composer-json
403394439 -rwxr-xr-x  1 testbot  staff  342 Jun  6 05:02 nightwatch
403394440 -rwxr-xr-x  1 testbot  staff  579 Jun  6 05:02 phpcbf
403394441 -rwxr-xr-x  1 testbot  staff  590 Jun  6 05:02 phpcs
403394442 -rwxr-xr-x  1 testbot  staff  729 Jun  6 05:02 phpunit
403394443 -rwxr-xr-x  1 testbot  staff  464 Jun  6 05:02 poser
403394444 -rwxr-xr-x  1 testbot  staff  534 Jun  6 05:02 stylelint
403394445 -rwxr-xr-x  1 testbot  staff  679 Jun  6 05:02 symlink-project

As you can see inode numbers don't change. There is a bug somewhere else.

I found the reason why Mutagen kept tracking these files, chmod didn't seem to do anything, but actually changed the permissions of the files each time, and Mutagen tracked this "change".
I think chmod works differently for Linux and macOS.

I have been studying this for an hour or more and can't find anything wrong with it, and the previous problem that I had where it was somehow rewriting add-on files doesn't happen. But I don't know looking at the code now how it could have happened. Which means that the chmod wasn't happening to those anyway. When I studied it before, the add-on files (only) were being rewritten, which definitely would have provoked mutagen.
I don't know how to recreate the problem with chmod to study it. Will see if I can figure that out. Previously I was only seeing add-on files, and they are absolutely skipped now.
Studying this did lead to the discovery of

https://github.com/ddev/ddev-drupal-contrib/pull/60

though. I had been suspicious of that problem before. But here in this PR it meant that the commands directory was completely on the exclude list, meaning nothing got looked at there.

This is not for this PR, and may not even be an issue at all, but when doing ddev restart or ddev start I see these files being touched:
Files touched on start
The xhprof_prepend is caused by post-start:
      cat <<-EOF > .ddev/xhprof/xhprof_prepend.php
that's also touched on stop (so with restart we get 2 of them)
And the .ddev/.gitignore is generated on start. That should be OK. Same with settings.ddev.php.
Probably web/sites/default/.gitignore could be done better.
2024-06-06 16:29:02.736816 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: ".ddev/.gitignore"
2024-06-06 16:29:02.736839 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: ".ddev/.gitignore"
2024-06-06 16:29:02.736856 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: "web/sites/default"
2024-06-06 16:29:02.736868 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: "web/sites/default/settings.ddev.php"
2024-06-06 16:29:02.736873 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: "web/sites/default/.gitignore"
2024-06-06 16:29:02.736877 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: "web/sites/default/.gitignore"

2024-06-06 16:29:03.473270 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: "web/sites/default"
2024-06-06 22:29:03.734854 [T] [sync.sync_iZkEqwmI.beta] [polling] Processing event path: "/var/www/html/.ddev/xhprof/xhprof_prepend.php"
2024-06-06 22:29:03.735324 [T] [sync.sync_iZkEqwmI.beta] [polling] Processing event path: "/var/www/html/.ddev/xhprof/xhprof_prepend.php"
2024-06-06 22:29:03.735351 [T] [sync.sync_iZkEqwmI.beta] [polling] Processing event path: "/var/www/html/.ddev/xhprof/xhprof_prepend.php"
2024-06-06 16:29:04.136659 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: ".ddev/xhprof/xhprof_prepend.php"
2024-06-06 16:29:04.136688 [T] [sync.sync_iZkEqwmI.alpha.watching] Processing event path: ".ddev/xhprof/xhprof_prepend.php"

I don't know how to recreate the problem with chmod to study it.

Maybe you were testing this PR with my util.Chmod() fix and no longer saw the Mutagen processing files.
chmod is called for custom commands in root.go (which is why Mutagen updated files on ddev describe and other commands) here:
https://github.com/ddev/ddev/blob/a319644bf269cd49738dbb9fe230907769435cae/cmd/ddev/cmd/root.go#L149
I decided to replace all calls to os.Chmod() just in case.

This is not for this PR, and may not even be an issue at all, but when doing ddev restart or ddev start I see these files being touched

Yes, there are more ways to improve, maybe I'll get to them later.


Define version as 0.8 Fixes #50.

Set versions to 0.8

Maven project
css
docker commands

@Karm can you have a look if the changes for docker(compose) are ok.
When all CQ's are approved we can merge this and create the tag.
Thx


Add predefined topics and change multiple services to use them.

Predefined topics. (Minor changes)
The usage of this will be improved later.
Pull request status:

[x] Code conventions
[x] Doku required and added
[x] Ready for review

Will merge even though usage is suboptimal, because it is requiered for review, because mqtt topics were all messed up before.

Don't delete the branch, as a better verison will be added in the future.


use unix domain socket if available

I would like to run maven builds with a user who has no network access.

Access is disabled with iptables suppressing all  network access with iptables -A OUTPUT -p all -m owner --uid-owner 1002 -J DROP.
Purpose is to build untrusted code (actually student code, but we want to make any fraud as difficult as possible, so disable network during build to disable access to trojans and such)
Maybe open just the mvnd ports will do.

It should be possible to compile the client code using GraalVM on JDK 16 and defaulting to using unix sockets when building on JDK 16.

The ipc sync server should also be enhanced to use unix domain socket.

For reference: https://inside.java/2021/02/03/jep380-unix-domain-sockets-channels/


WiFi Config Failed to load an BT-Connetion is lost in 20sec.

Hello!
Thanks for your hard work to create this usefull Project.
I used this Instruction: https://www.instructables.com/A-Bluetooth-ESP32-TFT-Touch-Macro-Keypad/
But I can't start the WiFi Config. The wificonfig.json is correct modified with my SSID and PW. The TouchDeck initializied well and ich can touche the Buttons. In the BT-Menue on my Mac (10.12.6) I can see and connect to the FreeTouchDeck but the connction is lost in 20sec. In the Keyboard-Setting I find an can connect to the TouchDeck but this connection also lost quick.
Do you have an idea for me to solve this Problems?
Thanks for Help and best greatings from Germany
JOHANNES
https://user-images.githubusercontent.com/65533701/103442515-274aa080-4c57-11eb-8d87-c0519ce7813c.mp4

Hi Johannes! It seems the BT connection isn't made at all. Can you also tell what ESP32 Development board you have?
When the "WiFi Config Failed to load!" message is displayed on the screens it means that for some reason reading the JSON file went wrong. Can you open the serial monitor through the Arduino IDE and post the log from the serial monitor?
If the JSON file is not in the correct format it can also fail to load. Can you post the wificonfig.json? Off course you can leave the SSID and password out. It is just so I can see if it properly formatted.
Both BT and loading the JSON file failing are making me think of a memory issue. I can be totally of base here, but let's investigate!

Hi Johannes! It seems the BT connection isn't made at all. Can you also tell what ESP32 Development board you have?
When the "WiFi Config Failed to load!" message is displayed on the screens it means that for some reason reading the JSON file went wrong. Can you open the serial monitor through the Arduino IDE and post the log from the serial monitor?
If the JSON file is not in the correct format it can also fail to load. Can you post the wificonfig.json? Off course you can leave the SSID and password out. It is just so I can see if it properly formatted.
Both BT and loading the JSON file failing are making me think of a memory issue. I can be totally of base here, but let's investigate!

I just though of something else. I have updated the https://github.com/DustinWatts/ESP32-BLE-Keyboard. Can you install the new version of this library? If it is a memory issue, this will likely fix it.

I just though of something else. I have updated the https://github.com/DustinWatts/ESP32-BLE-Keyboard. Can you install the new version of this library? If it is a memory issue, this will likely fix it.

Thanks for your fast reply. I use this ESP32 Dev Board (aliexpress.com/item/32959541446.html). I tested it on my iPhone and was able to controle volume und mute. There ist works. Now I installed your update. Now it is permanet connected to my MacBooc via BT (seen in taskbar) as an keyboard. But the mute and volume function doesn't work.
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: ac:67:b2:36:4f:c4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 2031616 bytes to 152346...
Wrote 2031616 bytes (152346 compressed) at 0x00210000 in 11.7 seconds (effective 1392.6 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
this is my wificonfig.json:

This is the Log:
[INFO]: Loading version 0.9.6
[INFO]: All configs loaded
[INFO]: General logo's loaded.
[INFO]: Starting BLE
[INFO]: Drawing keypad
Thanks for your help
JOHANNES

Thanks for your fast reply. I use this ESP32 Dev Board (aliexpress.com/item/32959541446.html). I tested it on my iPhone and was able to controle volume und mute. There ist works. Now I installed your update. Now it is permanet connected to my MacBooc via BT (seen in taskbar) as an keyboard. But the mute and volume function doesn't work.
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: ac:67:b2:36:4f:c4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 2031616 bytes to 152346...
Wrote 2031616 bytes (152346 compressed) at 0x00210000 in 11.7 seconds (effective 1392.6 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
this is my wificonfig.json:

This is the Log:
[INFO]: Loading version 0.9.6
[INFO]: All configs loaded
[INFO]: General logo's loaded.
[INFO]: Starting BLE
[INFO]: Drawing keypad
Thanks for your help
JOHANNES

Thanks for posting your wificonfig.json. The problem in that file is that the „ should be regular double quotes ". That should take care of the WiFi issue.
As to the BT issue. I have a feeling that it has something to do with your MacBook / MacOS version as you say on your phone it is working. A few things to check are:

Does your MacBook support BLE? (Go to the "About this Mac", click on "System Report",  the "Bluetooth" under hardware. If you click on it you can get some information about the Bluetooth module. There should be a line saying "Bluetooth Low Energy Supported : Yes".
If you remove the device, stop and start Bluetooth, does the problem still exist?
Do you have access to another computer (Mac/Windows/Linux) and does it work there?
If you reset the Bluetooth module on your Mac does the problem still exist? (A guide on how to reset the BT on your Mac can be found here: https://www.macrumors.com/how-to/reset-mac-bluetooth-module/)

Thanks for posting your wificonfig.json. The problem in that file is that the „ should be regular double quotes ". That should take care of the WiFi issue.
As to the BT issue. I have a feeling that it has something to do with your MacBook / MacOS version as you say on your phone it is working. A few things to check are:

Does your MacBook support BLE? (Go to the "About this Mac", click on "System Report",  the "Bluetooth" under hardware. If you click on it you can get some information about the Bluetooth module. There should be a line saying "Bluetooth Low Energy Supported : Yes".
If you remove the device, stop and start Bluetooth, does the problem still exist?
Do you have access to another computer (Mac/Windows/Linux) and does it work there?
If you reset the Bluetooth module on your Mac does the problem still exist? (A guide on how to reset the BT on your Mac can be found here: https://www.macrumors.com/how-to/reset-mac-bluetooth-module/)


Unable to import from EPSG for SpatialReferences

When working with the spatial reference classes unable to import using the EPSG code directly.
       SpatialReference src = new SpatialReference(null);         src.ImportFromEPSG(32610)
However working with the eosg.io website to get either a URL or proj4 does work.
        SpatialReference src = new SpatialReference(null);         src.ImportFromUrl("https://www.epsg.io/32610.proj4");
not a major issue as there is a easyish workaround, from console error it looks like its trying to reference a database that is not there so not sure if there is a step/process i have missed during the installing though UPM which may be the case

HI (sorry for the delay in the response - I went sailing for ar couple of months :).
This is not an error with the PACKAGE - so I am going to close this issue.
For reference - You will most likely find that this error happens because you have not provided either GDAL  or PROJ with the correct CERT to allow them to set up the HTTPS session. This area is a bit of a GDAL minefield ... :)
It should be :

raised as an issue against GDAL. However - they will either say that it is an issue with the csharp bindings *which I do not think it is - since they just pass the string values to GDAL) and in which case it may get bounced back to me OR they will say it is a problem with PROJ (which is more likely the case) and direct you in that direction :) ...

If you raise this with PROJ I have the feeling that THEY will say (most correctly) that you should not be trying to use PROJ4 strings (they have been deprecated for many years) and you should not be using the URL for EPSG codes and you SHOULD be using the direct EPSG code lookup since this accesses the optimised WKT codes from the PROJ db (which can be kept up to date through CDN access).


fix(web): Update terminology when updating an Asset

Previous it would say create when it was updating now looks like

bors merge


No way to determine whether the email has been verified or not in ui

addressed in commit: ef11b8

https://github.com/maranix/kudosware/assets/59292838/d5019a38-1e89-44a8-8733-d5f4bbbd69d7
https://github.com/maranix/kudosware/assets/59292838/56460e0b-30cd-48c0-9eed-088a9720b533


Minimap is narrower and blurry

I've upgraded from v1.39.2 to v1.41.0 and I notice that the minimap has become narrower and the contents are blurry compared to previously.
Below is a comparison between between the two versions, where I've cropped the screenshots from each to exactly the same dimensions.
Version 1.39.2:

Version 1.41.0:

Running on Windows 10.

The increased smoothness is intentional as a result of some improved sampling and rendering we're doing in the minimap as of v1.40--that's as designed. I'm thinking the slight decrease in width is due to the extra space for gutter decorations in 1.41 @RMacfarlane?

Yes, that's correct.


[SPARK-9827] [SQL] fix fd leak in UnsafeRowSerializer

Currently, UnsafeRowSerializer does not close the InputStream, will cause fd leak if the InputStream has an open fd in it.
TODO: the fd could still be leaked, if any items in the stream is not consumed. Currently it replies on GC to close the fd in this case.
cc @JoshRosen

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Test build #1467 has started for   PR 8116 at commit 09f71c1.

Test build #1467 has finished for   PR 8116 at commit 09f71c1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

TODO: the fd could still be leaked, if any items in the stream is not consumed. Currently it replies on GC to close the fd in this case.

Could we handle this case by registering a task completion handler with TaskContext?

The basic fix here looks good to me, although you might consider using the TaskContext callback approach to ensure eventual cleanup. We do this inside of the UnsafeExternalSort (or one of the sort operators, maybe the SQL-specific parts) to ensure spill files are cleaned up if a limit is placed after a sort.

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Test build #1473 has started for   PR 8116 at commit ae8b0d0.

Test build #1473 has finished for   PR 8116 at commit ae8b0d0.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build triggered.

Merged build started.

Test build #40595 has started for   PR 8116 at commit 0722c6f.

Test build #40595 timed out     for PR 8116 at commit 0722c6f     after a configured wait of 175m.

Merged build finished. Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Test build #1498 has started for   PR 8116 at commit 0722c6f.

Test build #1498 has finished for   PR 8116 at commit 0722c6f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #40662 has started for   PR 8116 at commit 0722c6f.

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Test build #1502 has started for   PR 8116 at commit 70e29c1.

Test build #40662 has finished for   PR 8116 at commit 0722c6f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test build #1502 has finished for   PR 8116 at commit 70e29c1.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #1513 has started for   PR 8116 at commit 70e29c1.

Merged build triggered.

Merged build started.

Test build #40697 has started for   PR 8116 at commit 09f71c1.

Test build #1513 timed out     for PR 8116 at commit 70e29c1     after a configured wait of 175m.

Test build #40697 has finished for   PR 8116 at commit 09f71c1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

LGTM.

I'm merging this.


Degraded bookcorpus link at README.md

Refer to README.md, search for BookCorpus & click on the link. It will redirect you to here & you will notice BookCorpus is no longer available from the original authors.

CONTRIBUTING.md


Sync sublist of observable list after adding element in base list

Add element in the sublist of the observable list when adding an element in the base list. #721

@kunsingh @manish5196 is this still open?

Yes it is open....But why do we want to sync? Java does not sync and its a challenge also specially in case of addAll and retainAll.

So this is currently working as Java is working in default?

Let me look deeply...will get back on this.

Ach the moment the list has the same behaviour as the ArrayList in Java. Based on the observable functionality we can add a real sync later. Added Future tag.


install R + extensions proof of concept

will work on this tomorrow, also remember to close issue #45 once this is completed

closing this for now as it all seems to work :)


Firmware  V3.3.35 is missing

Hi! I have a Nedis filament globe bulb with firmware V3.3.35. But V3.3.35 is missing. Is it possible to make support for it in Tuya Cloudcutter?

3.3.35 is almost certainly an ESP8266 module and not compatible with CloudCutter.  If it's not ESP8266 and is indeed Beken, it's probably going to be TuyaOS 3.x and patched.
https://github.com/tuya-cloudcutter/tuya-cloudcutter/wiki/FAQ#im-not-sure-what-module-is-in-my-device-how-do-i-find-out can help you identify which processor yours has.

Closing as stale, and not likely a beken device.


Add support for newly introduced dpservice hash table telemetry

Client side for https://github.com/ironcore-dev/dpservice/issues/438

Not needed after merger with dpservice https://github.com/ironcore-dev/dpservice/issues/554
Functionality merged directly in dpservice repo.


Translation and modified field

Hello,
How do I modify the size of the card name field?
How can I translate all fields?

The buttons i can put

Sorry for the english ..
Thanks..

Can you tell me why to reduce the size of the fields? For now you can fork this repo and modify it.
For translations, you can create localisation string.xml and put them in respective resource folders for the required language and send me a pull request and I will merge. In your case of Portuguese, create a resource folder as below

for Portugal Portuguese
 res
  --- values-pt_PT
         ------strings.xml

for Brazil Portuguese
 res
  --- values-pt_BR
         ------strings.xml

The size of the field does not accept my name.
Example of my name on card: XXXXXXXX X XXXX XX or XXXXXXXX X X XXXXXX
X = my name.
It is not accepted.
I will fork for modification.

ok
Thanks..


Support PUBSUB_HOST environment variable

gcloud-ruby should support the PUBSUB_HOST environment variable and connect to service specified in it. This will enable connecting to an emulator running locally, similar to how the Datastore emulator works.
See GoogleCloudPlatform/gcloud-common#48

I believe the correct variable should be PUBSUB_EMULATOR_HOST, per the official docs' Setting environment variables. gcloud-node also now uses PUBSUB_EMULATOR_HOST.

See GoogleCloudPlatform/gcloud-node#1125 for the complete gcloud-node change for this variable name.

@dlorenc Be aware that in our next release, the gcloud-ruby Pub/Sub client will be using gRPC instead of Rest.
@hbchai commented that the Pub/Sub emulator also supports gRPC. (I haven't tested it yet.)

Thanks for the update!

Any updates here?

@dlorenc We are still working on #314.
@blowmage Do you think we can add this issue to the Datastore v1beta3/GRPC milestone? Do you have any time now to work on it?

If we get this implemented then we may want to put it in a pout release before Dataset/GRPC, since we don't know when that will be ready to be released.


Joi 6 (+ latest 5) restricts unknown keys on options

Should be replaced with joi.meta() in case of class name may joi.label()

fixed in v1.3.0 & v2.0.0-alpha.3


Health indicator shows for players who are invisible

Players who are invisible will still have the health indicator show above their head, which lets you see where invisible people are. This would obviously be considered cheating.

Fixed


Fill in final sections for report

Fix #51
Finish report, filling in final sections and adding coverage reports

LGTM!


Required initialization for imgui_node_editor?

I'm trying to add an imgui_node_editor panel to my Python app. I am working from the Pip install of imgui_bundle v1.3.0. The app is using the Python SDL backend and is not using the immapp or hello_imgui frameworks, just using imgui directly.
Following the demo code, I am attempting this flow:
from imgui_bundle import imgui, imgui_node_editor as nedit

nedit.get_config().settings_file = "node-edit.json"

def render():
        imgui.begin("canvas", flags=imgui.WindowFlags_.no_collapse | imgui.WindowFlags_.no_move | imgui.WindowFlags_.no_title_bar)
        nedit.begin("canvas_editor", imgui.ImVec2(0.0, 0.0))
        nedit.end()
        imgui.end()

I'm not sure what the purpose of node-edit.json is ... is it a persistent store? In any case I have tried with it not existing, with it existing but empty, and with it existing and containing just {}
In every case, the call to nedit.begin() causes the Python process to crash hard with no diagnostic output.
Is there some other initialization magic that is required to get the node editor to be creatable?

https://github.com/pthom/imgui_bundle/blob/dcd0ccd124c139638a337e1a061b1ac1a1ae62fe/bindings/imgui_bundle/imgui_node_editor.pyi#L414-L429

Ah, thanks! That init code was hidden in the immap C++ for the demo python programs.


Add Theme Application: Sofya

Hi there,
I have been working on a theme for the community; essentially I couldn't find a theme that incorporated all of the design elements that I wanted for my own blog, so I took inspiration from a number of different designs as is explained on the GitHub project page. The designs have been credited on the project page & in areas of the code. Let me know if there are any amendments that should be made before the work can be accepted, thanks.
GitHub Project Link: https://github.com/jonathondilworth/sofya

Hello @jonathondilworth,
thank you for sharing the theme with the Hugo community.
To take the last mile please add a thumbnail and a screenshots with the right dimensions to the your theme. Those will be used on the demo site to showcase your theme. You can find the necessary steps in the README.

I have added an images folder to the project and have included the relevant screenshot and thumbnail. Let me know if there are any additional steps that should be undertaken.
Thanks.

Great. Otherwise, you theme looks fine. It should be listed soon on the theme site.
Regards,
Digitalcraftsman


Make query for filteredRecords when totalRecords was manually set

Hi, we always use setTotalRecords(0) since we only show the filtered records count. After upgrading to Laravel 11 we noticed that our pagination stopped working. This seems to be caused by c37494f11f0b6e198fa7428edd38e5d5b2a6d9de. This PR changes the logic to always query the filtered count if the total count was set manually.

Thank you for the PR, I will review this as soon as I can.

@Arkhas it seems like the PR you've sent is being reverted on this change. Would you mind reviewing and approving this? Thanks!

I confirmed one less query after the patch. This is a good optimization trick for large datasets. Thanks!
Released on 11.1.3 :rocket:


mochaGlobalSetup fails because of timeout

Prerequisites

[x] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[x] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[x] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[x] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend that you not install Mocha globally.

Description
mochaGlobalSetup hook fails with timeout on runs after the initial in watch mode
Steps to Reproduce
set up tests with a mochaGlobalSetup (ours is async) that takes > 2000ms to complete and use watch mode
Expected behavior:
either that the setup will not fail because of a timeout or that this.timeout(n) can be used to specify how long the setup should take.
Actual behavior: [What actually happens]
  29 passing (2s)

 [mocha] waiting for changes...

  1) "before all" hook in "{root}"

  0 passing (2s)
  1 failing

  1) "before all" hook in "{root}":
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
      at listOnTimeout (internal/timers.js:554:17)
      at processTimers (internal/timers.js:497:7)

Reproduces how often: 100%
Versions

The output of mocha --version and node node_modules/.bin/mocha --version: 9.0.3
The output of node --version: v14.15.3
Your operating system

name and version: Ubuntu 20.04
architecture (32 or 64-bit): 64bit

Your shell (e.g., bash, zsh, PowerShell, cmd): bash
Your browser and version (if running browser tests):
Any third-party Mocha-related modules (and their versions):
Any code transpiler (e.g., TypeScript, CoffeeScript, Babel) being used (and its version): TypeScript 4.3.5

Additional Information
module.exports = {
  extension: ["ts"],
  spec: "src/**/*.test.ts",
  require: ["ts-node/register", './src/test.utils.ts'],
};

@ntr-808 you can use this.timeout(t) in mochaGlobalSetup as in any other hook as well, unless you are using arrow functions which don't bind their own this.
Please add a test example, thank you.

Here is a gist example with corresponding error:
https://gist.github.com/ntr-808/39d7147dfc498886c67de8a8ab7b4942
~/code/mocha-gub on master -> npm t

><EMAIL_ADDRESS>test
> mocha

(node:63532) UnhandledPromiseRejectionWarning: TypeError: this.timeout is not a function
    at Runner.mochaGlobalSetup (/home/ntr/code/mocha-gub/setup.ts:2:10)
    at Mocha._runGlobalFixtures (/home/ntr/code/mocha-gub/node_modules/mocha/lib/mocha.js:1267:21)
    at Mocha.runGlobalSetup (/home/ntr/code/mocha-gub/node_modules/mocha/lib/mocha.js:1227:5)
    at runAsync (/home/ntr/code/mocha-gub/node_modules/mocha/lib/mocha.js:1069:11)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:63532) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
(node:63532) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

@ntr-808 thank your for your gist example.

you are mentioning mochaGlobalSetup in your issue description.
At the same time you are listing an error message: 1) "before all" hook in "{root}":.
This isn't possible, mochaGlobalSetup does not register any hooks. Your sample doesn't reproduce this error either.
mochaGlobalSetup doesn't check for timeouts. Even changing your sample to 20s, it does not timeout. It's correct that mochaGlobalSetup doesn't know this.timeout(), and there is no need to do so.

you can use this.timeout(t) in mochaGlobalSetup as in any other hook as well [...]

I was wrong about that, sorry. mochaGlobalSetup does not register any hook.

Did you try the gist repo?
~/code -> git clone https://gist.github.com/ntr-808/39d7147dfc498886c67de8a8ab7b4942
Cloning into '39d7147dfc498886c67de8a8ab7b4942'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 15 (delta 2), reused 12 (delta 2), pack-reused 0
Unpacking objects: 100% (15/15), 21.51 KiB | 1.13 MiB/s, done.
~/code -> cd 39d7147dfc498886c67de8a8ab7b4942/
~/code/39d7147dfc498886c67de8a8ab7b4942 on master -> npm i

added 104 packages, and audited 105 packages in 3s

19 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
~/code/39d7147dfc498886c67de8a8ab7b4942 on master* -> npm t

><EMAIL_ADDRESS>test
> mocha

(node:82827) UnhandledPromiseRejectionWarning: TypeError: this.timeout is not a function
    at Runner.mochaGlobalSetup (/home/ntr/code/39d7147dfc498886c67de8a8ab7b4942/setup.ts:2:10)
    at Mocha._runGlobalFixtures (/home/ntr/code/39d7147dfc498886c67de8a8ab7b4942/node_modules/mocha/lib/mocha.js:1267:21)
    at Mocha.runGlobalSetup (/home/ntr/code/39d7147dfc498886c67de8a8ab7b4942/node_modules/mocha/lib/mocha.js:1227:5)
    at runAsync (/home/ntr/code/39d7147dfc498886c67de8a8ab7b4942/node_modules/mocha/lib/mocha.js:1069:11)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:82827) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)
(node:82827) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

It quite clearly reproduces the issue.

The watch issue I mentioned above seems to have been resolved somehow, I will have to investigate further.
Thanks for your time and patience.


Added benchmark for Sia.NET

Sorry I committed to the wrong repository. Causing multiple useless pull requests


[Feature Request] lnd-connect should have ability to specify the gRPC cyphers

BTCPay is using let's encrypt cypher, so the client need to be properly configured before using the gRPC lib by setting GRPC_SSL_CIPHER_SUITES to ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256 instead of the default recommended by LND.

simplest solution is to just add another parameter to the query string called 'cipher'.
so we'd get something like:
lndconnect://<host>:<port>?macaroon=xxx&cipher=ECDHE-RSA-AES128-GCM-SHA256%3AECDHE-RSA-AES256-GCM-SHA384%3AECDHE-ECDSA-AES128-SHA256

: is encoded as %3A in the example which sucks a bit for readability.
everybody fine with naming and encoding? @mrfelton @NicolasDorier ?
if so i'll make a PR.

It is fine for me

@NicolasDorier does this still work for you? if so, it works for me as long as we get consensus from @mrfelton @korhaliv @ottosuess

yep

Did this end up getting implemented fellas?


Add examples to admin CLI

For now we have examples of commands in README.
It would be nice if they were printed out from the CLI as well. We can use: http://yargs.js.org/docs/#api-reference-examplecmd1-desc1-cmd2-desc2

@Siegrift addressed in #327

Unfortunately, it is not supported by https://yargs.js.org/docs/
See more in: https://github.com/api3dao/airnode/pull/327


Two small bugfix

But I made a little bit more changes, will be commited in github soon

committed changes as a branch in our fork: https://github.com/chutium/exhibitor-appliance/tree/saiki-exhibitor.
could also be useful for this common branch, if it is ok for you, i will create a new PR.


Use NEL

Codecov Report

Merging #16 (94dda7d) into master (547591e) will not change coverage.
The diff coverage is 25.00%.

@@            Coverage Diff            @@
##             master      #16   +/-   ##
=========================================
  Coverage     19.66%   19.66%
  Complexity       13       13
=========================================
  Files            17       17
  Lines           239      239
  Branches         14       14
=========================================
  Hits             47       47
  Misses          190      190
  Partials          2        2

Impacted Files
Coverage Δ

...main/bitbucket/AuthenticatedBitbucketServerUser.kt
0.00% <ø> (ø)

...nfrastructure/BitbucketServerPullRequestApiImpl.kt
0.00% <ø> (ø)

...ns/lgtm/infrastructure/LgtmoonPictureRepository.kt
100.00% <ø> (ø)

...enkins/plugins/lgtm/usecase/JobFailureException.kt
0.00% <0.00%> (ø)

.../jenkins/plugins/lgtm/infrastructure/HttpClient.kt
32.50% <33.33%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


New package: TMLECLI v0.9.0

Registering package: TMLECLI
Repository: https://github.com/TARGENE/TMLECLI.jl
Created by: @olivierlabayle
Version: v0.9.0
Commit: 097d54e1a8922a397b0035cdf2e59167d9d79f7d
Reviewed by: @olivierlabayle
Reference: https://github.com/TARGENE/TMLECLI.jl/commit/097d54e1a8922a397b0035cdf2e59167d9d79f7d#commitcomment-145810115

I support merging this package under the name TMLECLI, see https://github.com/JuliaRegistries/General/pull/113591#issuecomment-2308555455
@olivierlabayle After the three-day period ends, ask in the #pkg-registration channel on Slack for a manual merge. I don't have the permissions to merge myself, but I will be happy to advocate.

In theory, I would even support merging it early, since both #113591 and the original #113582 are well past the three-day merging period. But if it's not urgent, it's probably better to wait at least a day or two so that nobody can claim that they didn't have a chance to object, on a weekend.


[doc] dead link in "Build and load a SavedModel"

System information

TensorFlow version: master
Doc Link: https://www.tensorflow.org/guide/saved_model

Describe the documentation issue
The link https://www.tensorflow.org/tfx/guide/serving/serving_basic for "TensorFlow serving" is no long available in the doc Build and load a SavedModel

@csukuangfj Correct two links are not working.

First "Tensorflow Serving" in this section . -- this is what you found.
"instructions" in this section.
Thanks for pointing them. We will take care of them. Thanks!

Both fixes are in the source files, there will be some delay to push to the site.


adds rbac for checkpointer secure client

Adds manifests for checkpointer cluster role and cluster role binding which is required by the secure client.

to be merged after #1069

/hold

/approve
/lgtm

@rmenn I'll leave the /hold. Remove once you are ready.

/hold cancel


How is provider_link(conn, provider, providers_for_user) expected to be used?

Hello!
I've seen this function, however I'm not exactly sure how providers_for_user is supposed to be populated, used?
I understand what it does, but is there a variable which automatically tracks/populates it? In general is it just supposed to be an empty array?
Any help is greatly appreciated :)

You can find it inPowAssent.Phoenix.ViewHelpers.provider_links/1 (which is the method I recommend using):
https://github.com/danschultzer/pow_assent/blob/ba2421fd96471b7950f6e63eefb3e865f1d3a75f/lib/pow_assent/phoenix/views/view_helpers.ex#L13-L20
You just have to call PowAssent.Plug.providers_for_current_user(conn) to get the providers for the user.

Ah, okay. Excellent!
Also just a quick one since you're here, but is it possible to test google sign in with localhost, or does it only work with a proper domain? I've setup the callbacks on Google developer console.
On localhost it returns a 401 once it gets the data and then returns back to localhost:
%{"error" => "invalid_client", "error_description" => "Unauthorized"}
I believe this is on GET /auth/google/callback
Just thought I'd ask :)

Yeah, localhost works with google, I've been testing it that way. The invalid_client means that Google didn't accept the client id.

Ah okay, thank you very much!


Closes #63 - "No elements to display" message is shown whenever the subscription is not ready.

Nice addition! Thanks! Will revisit and merge it ASAP. :boom:

This is really cool! Could you add the check for the posts on the users profile as well?
https://github.com/GravityProject/gravity/blob/master/client/views/users/profile.js
Thanks!

Global helper simpleFormat is causing errors in browser console, not sure if you've already noticed about this. And I think we should come up with a way to deal with the flickering issues when navigate between templates, maybe subscription manager is the answer.

Thanks you!
I'll take a look into the simpleFormat console output. Might have smth. todo with optional user biography.


add timer

time each iteration and each epoch
give an ETA for this epoch and for all training

can be handled by tqdm


Check zero velocity for newtonian body mixin

Thought this was already the case, and it indeed is. However the location that actually sets the velocity to zero in the body-fixed frame is not within the RigidBody class, but within the System class.

70886599b166a74b58bef4cce24133318bd3e414 fixes #50


Enabe GitHub Security Reporting Feature

GitHub has a security reporting feature. We should enabled it.

This project is abandoned.  Please upvote / contribute to an alternative https://github.com/freeotp/freeotp-android/issues/207 (eg andOTP looks good)

This project seems to be abandoned.
Please consider contributing to an alternative https://github.com/freeotp/freeotp-android/issues/207 (eg andOTP looks good)


JavaScript files opened via FileSystemProvider extension do not display Outline

Version: 1.34.0 (user setup)
Commit: a622c65b2c713c890fcf4fbf07cf34049d5fe758
Date: 2019-05-15T21:59:37.030Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.16299
Also tested with latest Insiders.
Steps to Reproduce:

Install the Remote FS extension, which implements FileSystemProvider
Connect to a remote source (I used an FTP server)
Open a .js file

Outline panel reports "The active editor cannot provide outline information".
Breadcrumb shows nothing deeper than the filename.
I assume the builtin vscode.javascript extension isn't providing the information. Perhaps its DocumentSymbolProvider implementation doesn't handle a resource that isn't on the local filesystem?
Of course, I may be wrong. Perhaps the FileSystemProvider implementation is missing a crucial feature. I have an extension of my own that is derived from Remote FS and exhibits the same lack of outline (and breadcrumb) info. So if my extension needs to implement something extra I'll give that a go. I just need a pointer about what.

Interestingly, .css and .htm files fetched remotely in the same way do display Outline and Breadcrumb info.

A bit more digging and the finger is pointing to the TypeScript and JavaScript Language Features builtin extension. Looks like it only supports file:// uris plus a couple of extra ones.
@mjbvz am I right that this builtin extension won't handle files sourced by a FileSystemProvider? If so, any prospect of this changing?

Duplicate of #59650


Disable default commands

Required Information

PHP version: 7.0
PHP Telegram Bot version:
Using MySQL database: yes
Update Method: Webhook
Self-signed certificate: no
RAW update (if available):

Hello...
There are some default commands available and enabled by default. How can I disable them? I tried to extend the Telegram class but as I'm not a pro in php programming, I wasn't able to do that. I added this code in Telegram.php file and called this function but nothing was changed:

public function clearCommandsPathsArray() {
unset($this->commands_paths);
$this->commands_paths = array();
}

Please help me

related to #93

As of 0.44.0, default commands have been moved to a separate repository.


Add JSON fixtures

@jswelling : This is intended to complement #29: On that PR, which concerns the external format, I'd like to get Nil's feedback first. On this PR, which is about the internal formats, I'd like to get your feedback first, and then I'll get his. ... they need to be in sync eventually.

Closing. This was taken over by ingest-validation-tools.


[Add] GLASSMORPHISM BUTTON

Details
I want to add a GLASSMORPHISM BUTTON
Screenshots
https://github.com/Spyware007/Animating-Buttons/assets/119161467/9be37be9-11f7-4b9e-84fa-2a3c0d148e09
Type of Contribution

[ ] Update to an existing Animated Button
[X] Adding a new Button
[ ] Resolving a bug
[ ] Proposal to the Repository
[ ] Changes related to documentation or README.md
[ ] Other Changes

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue
[X] I am a GSSoC'23 contributor

@Souravvmishra I writing to bring you attention towards considering and reviewing the issue and assigning me this issue.
so please can you assign me this issue

@TANYA-CHAN Please assign me this issue

@Spyware007  I writing to bring you attention towards considering and reviewing the issue and assigning me this issue.
so please can you assign me this issue

@adity2911  please assign me this issue

Kindly make PR asap and try not to make any further changes.

ok


nix.nixPath documentation needs to be better

Issue description
nix.nixPath does not specify what it considers to be valid entries. E.g.:

are only absolute paths allowed or not?
Can one specify nixpkgs=<foo/nixpkgs>?

Does order matter?
Existing documentation:
The default Nix expression search path, used by the Nix evaluator to look up paths enclosed in angle brackets (e.g. <nixpkgs>).

Type: list of strings

Default: [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]

Declared by:

<nixpkgs/nixos/modules/services/misc/nix-daemon.nix>

Technical details
Applicable to all versions of NixOS.

@coretemp Care to research the answers and file a PR for this? :)

@rawtaz Such documentation needs to be written by the person who designed the software. Software should follow what the documentation says, not the other way around.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/confused-about-nix-nixpath/17131/2


Fix misspelling in kth.se

The Royal Institute is currently referred to as a "lnstitute", this just fixes the misspelling

@AlbinAndreasson Thank you for the update! Pull request merged.


CB-17934 Failed scale up left hosts in INSTANCE_CREATED state, and the cluster moved to "RUNNING" state

See detailed description in the commit message.

testted with repair/upgradel also, rebased onto top of master


Vertical column chart - doesnt show all datasets of the first and last categories?

Description
I've been trying to create a chart which has a dynamic number of categories and then for each category there are 6 datasets - 5 area setup as columns and the 6th as a line.
The first category, only shows datasets 2,3,4,5 columns and 6 line ie the first dataset is not visible.
Similarly the last category only shows datasets 1,2,3,4 columns and the 6th line ie the 5th column dataset is not visible.

Steps to Reproduce

Create column chart with 6 datasets - 5 columns, 1 line

Expected Behavior
to view all the datasets across all the categories
Actual Behavior
The first category, only shows datasets 2,3,4,5 columns and 6 line ie the first dataset is not visible.
Similarly the last category only shows datasets 1,2,3,4 columns and the 6th line ie the 5th column dataset is not visible.
Screenshots

Reproduction Link
https://codepen.io/Enien19/pen/ExRMNJW

I am also facing the same issue.
The issue can be temporarily resolved by setting tickPlacement:'between' . but this looks ugly for area or line charts. I wish there was a way to set tickPlacement dynamically via series. or a way to set seperate tickPlacement values for bar and line charts.

We are also facing this issue in one of our projects. With just a couple of options set, we've managed to reproduce it in Codepen as well (see link). The tickPlacement: 'between' option is a temporary solution, but also not really something we are looking for either.
Reproduction link: https://codepen.io/bastiiaann24/pen/mdjqdWx

Hello!
I have exactly the same problem.
Is there any solution for this?


Add Jack to team page

Also moved Andrey to alumni

@rickhanlonii could you please create PR to remove this photo /images/team/andrey-lunyov.jpg if you don't need one anymore?


make local mount for contracts

allow ape to compile from contracts inside docker
right now we have to have a local hyperdrive repo checked out and pointed to the right commit

addressed by https://github.com/delvtech/infra/pull/18

closed https://github.com/delvtech/infra/pull/18 as that implementation wasn't working

removed ape -- resolved


Confirmation that a lookup value has been chosen

When choosing a value from a lookup (ie. subject headings), it would be nice to see some sort of confirmation that the value has been chosen. Similar to how when inputting a literal said literal appears in a blue box below.
Like this:

Revisit after @jermnelson work on Input component. refs #1273

the issue here is with non-repeatable fields and is documented in #1285 so closing this one


Added Contribution To CC #140 (LeibnizPIViz)

I tried to visualize Leibniz Formula in a different way.
demo: https://anuraghazra.github.io/CanvasFun/LeibnizPIViz/

❤

Whoa, this is so cool! Can you explain what the visualization is doing?

Not much i just tinkered with the drawing method with cos() sin()
Totally random experiment.
function waveViz3(posy) {
  let w = width / history.length;
  noFill();
  beginShape();
  for (let i = 0; i < history.length; i++) {
    let x = (i * w);
    let y = posy + sin(history[i] * ((i * w / history.length))) * i % 70;
    stroke(lerpColor(color(255, 50, 90), color(0, 0, 255), sin(y)));
    vertex(x, y);
  }
  endShape();
}


Fail to build when including json.hpp as a system include

What is the issue you have?

When including json.hpp if the include directory is marked as a system include (-isystem rather than -I) it will fail to build
I have to turn on CMAKE_NO_SYSTEM_FROM_IMPORTED and force the include path to be used as -I instead of -isystem. -isystem is used whenever nlohmann is provided as part of an imported CMake target. This happened to me due to using nlohmann from hunter with LLVM for Windows.

Please describe the steps to reproduce the issue. Can you provide a small but working code example?

Program compiles successfully

And what is the actual behavior instead?

A ton of errors along the line of error: expected '>'enable_if_t<is_detected<mapped_type_t, ConstructibleObjectType>::value and

Which compiler and operating system are you using? Is it a supported compiler?

Clang 9.0.0 but the same behavior occurs with 8.0.0/8.0.1
This is with LLVM for Windows and happens with the ClangCL toolset for VS2019 and the Ninja generator in CMake 3.15+

Did you use a released version of the library or the version from the develop branch?

Version 3.6.1 and 3.7.0 release versions have the same problem

If you experience a compilation error: can you compile and run the unit tests?

Nope

Can you make sure you use C++11?
Can you please post the complete error messages?

Sure thing!

This happens with C++11, 14 and 17. Cmake seems to like to set -std=c++14 when I use C++11 but I confirmed that I get the same error if I manually invoke the compiler with -std=c++11.
Seems like clang isn't happy with the boolean alternative not, and etc. keywords in the templates? No idea why that may be.

I get the same issue with Clang/Clang++ 9.0.0 on Windows when compiling from the command line.
If I compile my (CMake) project with Clang-cl (8.0.0?) from within Visual Studio 2019 (version 16.3.6) everything is fine though.

Can we come up with a MWE? I've tried with https://godbolt.org/z/Xk_JXm but that works in MSVC and clang on linux.
I've seen differences with the clang toolset compiler on windows compared to pure clang.

Hey! Sorry for the late reply on this. I've just whipped up a MWE cmake project. Not sure how to do this sort of include pattern on godbolt.
test.zip
If you build with main.cpp including "bad.h" build will fail. If you include "good.h" instead it will work.
Here's bad.h:
#pragma once

#include <type_traits>
#include <iostream>
#include <ciso646>

template<bool B, typename T = void>
using enable_if_t = typename std::enable_if<B, T>::type;

template<typename T, typename = enable_if_t<std::is_pod<T>::value and std::is_trivial<T>::value>>
bool square(T param) {
    return param and param;
}

And good.h
#pragma once

#include <type_traits>
#include <iostream>

template<bool B, typename T = void>
using enable_if_t = typename std::enable_if<B, T>::type;

template<typename T, typename = enable_if_t<std::is_pod<T>::value && std::is_trivial<T>::value>>
bool square(T param) {
    return param && param;
}

I've got the same issue when including json.hpp in a precompiled header (now supported with the latest CMake 3.16.0). I have only tested with clang with the GNU command line style (i.e. not clang-cl).
$ clang --version
clang version 9.0.0 (tags/RELEASE_900/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin

$ cmake --version
cmake version 3.16.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).

@Rogiel Could you provide a MWE?

@Rogiel Could you provide a MWE?

Sure, here it is: https://github.com/Rogiel/nlohmann-json-pch-bug
If you comment out the hack at the end of CMakeLists.txt (that defines and, or and not to their respective operators) everything works fine but that is hacky and will 100% break on any non-toy example.
I have only managed to reproduce this with Windows clang++.exe (NOT clang-cl.exe).

@Rogiel Thanks for the quick reply. After some more digging I think this is the same as https://bugs.llvm.org/show_bug.cgi?id=42427.

Any proposal how to proceed with this issue?

I just did some digging on my linux box. I can confirm that this is isolated to Windows. GCC and Clang on Linux compile my MWE just fine with C++11. Reading that LLVM issue it sounds like this is an issue with clang's Windows support. Looks like there hasn't been any recent discussion related to why clang is acting this way but it appears intentional.
The easiest way to fix this would just be to remove all instances of the alternate identifiers.

Any proposal how to proceed with this issue?

My proposed hack works by replacing all and by && using a macro. A simply fix would be to replace and operators with && operators. Same should be done for or and not.
These occur mostly on type traits like these:
https://github.com/nlohmann/json/blob/bccc8f0577bf7a5a98d1a7f62adfddf3f43b8a3e/single_include/nlohmann/json.hpp#L2725

The easiest way to fix this would just be to remove all instances of the alternate identifiers.

I'm really hesitant to making this change as these operators are valid C++ and we even include the <ciso646> header which should convince noncompliant compilers about this...

I have only managed to reproduce this with Windows clang++.exe (NOT clang-cl.exe).

Same issue with clang-cl.exe on windows 10.
The workaround suggested by @Rogiel works in this scenario too (of course this is still not applicable to real world cases).

same problem here... :'(

Were you guys able to build the json library using Clang on Windows? I have the same issue.

Any news on this? I would like to drop cJSON in favour of this library but I cannot without this working...(I compile with both clang and MSVC on Windows)
thanks

The easiest way to fix this would just be to remove all instances of the alternate identifiers.

I'm really hesitant to making this change as these operators are valid C++ and we even include the <ciso646> header which should convince noncompliant compilers about this...

@nlohmann
I perfectly agree, but is there any reason to use and instead of &&?
Aren't both correct? Or maybe in templates is recommended to use and instead?Sorry I am not familiar with complex template programming.
I am just a bit sad because we cannot use this library in our projects just because of this silly issue :(

There is no special reason to use and instead of &&. In any case, this is valid C++ (see https://en.cppreference.com/w/cpp/language/operator_alternative). Does https://github.com/nlohmann/json/issues/1818#issuecomment-573170240 work for you?

There is no special reason to use and instead of &&. In any case, this is valid C++ (see https://en.cppreference.com/w/cpp/language/operator_alternative). Does #1818 (comment) work for you?

@nlohmann
Thanks for answering and for your nice support. Although I did not see it in many projects, I know that it's perfectly valid C++, but LLVM on Windows acts a bit strange....This is not the first time when a compiler doesn't respect the standard.
Some context: I work at a security company on a multiplatform project and we verify our code with many compilers, many static analyzers and many tools (ASAN, TSAN, valgrind, etc).
We are using cJSON and I managed to convinge my colleagues to switch to this modern library (maybe you remember my first try), which I started to do, the code looks beautiful compared to cJSON and I am frustrated(on LLVM, not on you!), because now I have to revert back to cJSON, becauses solely on this issue.
We are including our 3rdparty libraries with SYSTEM , because clang-tidy complains about them and clang-tidy does not have a proper way to except files.
There are 3 options for me:

Patch json.hpp (everytime a new version is released?) or modify our code in this way

# define and &&
# define or ||

#include "json.hpp"

#undef and && -> these 2 lines are a bit evil
#undef

Find another solution to except files from clang-tidy instead of SYSTEM, although we investigated this for 2 weeks and we could not.

Wait maybe others will complain about this problem and and/or will be replaced with &&/|| at some point in time.

For me is a bit strange that clang for Windows is not supported by this great library, more and more projects switched from MSVC to clang.
http://blog.llvm.org/2018/03/clang-is-now-used-to-build-chrome-for.html
https://news.ycombinator.com/item?id=17504197
Again, thank you for your great support

There is no special reason to use and instead of &&. In any case, this is valid C++ (see https://en.cppreference.com/w/cpp/language/operator_alternative). Does #1818 (comment) work for you?

It does not seem to work

- The C compiler identification is Clang 9.0.0 with GNU-like command-line
--
30-May-2020 17:28:41 | -- The CXX compiler identification is Clang 9.0.0 with GNU-like command-line
30-May-2020 17:28:41 | -- Check for working C compiler: C:/Program Files/LLVM/bin/clang.exe
30-May-2020 17:28:41 | -- Check for working C compiler: C:/Program Files/LLVM/bin/clang.exe - works
30-May-2020 17:28:41 | -- Detecting C compiler ABI info
30-May-2020 17:28:41 | -- Detecting C compiler ABI info - done
30-May-2020 17:28:41 | -- Detecting C compile features
30-May-2020 17:28:41 | -- Detecting C compile features - done
30-May-2020 17:28:41 | -- Check for working CXX compiler: C:/Program Files/LLVM/bin/clang++.exe
30-May-2020 17:28:41 | -- Check for working CXX compiler: C:/Program Files/LLVM/bin/clang++.exe - works
...

C:\bamboo-build\PUG-FPCSDKCHEC2-WX64SA\fpcsdk\protocol\src\json_formatter.cpp:8:13: error: C++ operator 'and' (aka '&&') used as a macro name [clang-diagnostic-microsoft-cpp-macro,-warnings-as-errors]
--
30-May-2020 17:29:26 | #    define and &&
30-May-2020 17:29:26 | ^
30-May-2020 17:29:26 |: error: macro 'and' used to declare a constant; consider using a 'constexpr' constant [cppcoreguidelines-macro-usage,-warnings-as-errors]
30-May-2020 17:29:26 |:9:13: error: C++ operator 'or' (aka '\|\|') used as a macro name [clang-diagnostic-microsoft-cpp-macro,-warnings-as-errors]
30-May-2020 17:29:26 | #    define or \|\|

I tried to reproduce the issue with Clang 9 and got the following error:
In file included from D:\a\json\json\test\src\unit-regression.cpp:37:
D:/a/json/json/single_include\nlohmann/json.hpp:12624:56: error: expected '>'
                    if (j.m_value.number_unsigned < 128)
                                                       ^

(see https://github.com/nlohmann/json/runs/723346449?check_suite_focus=true).
Clang version is:
clang version 9.0.0 (tags/RELEASE_900/final); Target: x86_64-pc-windows-msvc; Thread model: posix

The error is the same but we got it in the templates, not in simple ifs clauses, exactly like OP. Also we include json.hpp as a SYSTEM header in cmake.
Btw, I think that we can create a thin wrapper over it, having those define/undef at the moment...maybe it can be fixed in the future...

In the branch https://github.com/nlohmann/json/compare/clang_windows, I replaced all alternative operators (and, or, not), but still get the same error, see https://github.com/nlohmann/json/runs/735950025?check_suite_focus=true. Either I missed an operator, or there is a different reason.

In the branch https://github.com/nlohmann/json/compare/clang_windows, I replaced all alternative operators (and, or, not), but still get the same error, see https://github.com/nlohmann/json/runs/735950025?check_suite_focus=true. Either I missed an operator, or there is a different reason.

Great, thanks, I will try it the first thing tomorrow!

@nlohmann Works like a charm!! thanks a lot!

Your changes are correct, I am not sure why it does not compile on the github clang...
Any chance that it will be released in one of the future versions?
Becasue this clearly fixes  1818

Good to know that it works. But I really would like to have a working CI such that we do not break this in the future.
I'm using this version: clang version 9.0.0 (tags/RELEASE_900/final); Target: x86_64-pc-windows-msvc

I perfectly understand and I agree, I will try to investigate and give you more details if needed.
We are using also clang 9.

More details would be awesome! I will try to also compile with Clang 8.

Got the same error with Clang 10, and some compatibility error with Clang 8. I really do not know what's going on there.
Out of curiosity: can you compile the test suite?

Unfortunately I don't have the clang setup on my PC (I am using linux), it's on a remote PC build machine with special rights.
I hope today or tomorrow I can replicate it on my PC and try to replicate. :+1:

Btw, Niels, I don't see this fix dependant on the clang compilation (#1898, also to have the clang CI working), it's just reverting from the alternative operands to "normal" ones.
So it fixes one bug, but not the entire clang windows compilation :-)
The important thing is not to break anything on other platforms.
As I said, I will try to replicate these days. :+1:

Hi again, I tried it with clang and vstudio, I can tell you that on vstudio I get 2 errors on unit tests compilation.
Also with clang, the error is not on the line that CI provided, but a different one.
SECTION("issue #144 - implicit assignment to std::string fails")
    {
        json o = {{"name", "value"}};

        std::string s1 = o["name"];
        CHECK(s1 == "value");

        std::string s2;
        s2 = o["name"];

        CHECK(s2 == "value");
    }

../test/src/unit-regression.cpp:463:12: error: use of overloaded operator '=' is ambiguous (with operand types 'std::string' (aka 'basic_string<char, char_traits<char>, allocator<char> >') and 'nlohmann::basic_json<std::map, std::vector, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long long, unsigned long long, double, std::allocator, adl_serializer>::value_type' (aka 'nlohmann::basic_json<std::map, std::vector, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long long, unsigned long long, double, std::allocator, adl_serializer>'))
        s2 = o["name"];
        ~~ ^ ~~~~~~~~~

I commented that unit test from cmake and I got another one then
In file included from ../test/src/unit-conversions.cpp:33:
In file included from ../single_include\nlohmann/json.hpp:37:
In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\algorithm:11:
In file included from C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xmemory:16:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xutility:3778:16: error: use of overloaded operator '=' is ambiguous (with operand types 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >' and 'const nlohmann::basic_json<std::map, std::vector, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long long, unsigned long long, double, std::allocator, adl_serializer>')
        *_Dest = *_First;
        ~~~~~~ ^ ~~~~~~~
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\xutility:3814:26: note: in instantiation of function template specialization 'std::_Copy_unchecked<nlohmann::detail::iter_impl<const nlohmann::basic_json<std::map, std::vector, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long long, unsigned long long, double, std::allocator, adl_serializer> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > *>' requested here
    _Seek_wrapped(_Dest, _Copy_unchecked(_UFirst, _ULast, _UDest));

And with VStudio I get the same problem.

So I think it doesn't have anything to do with the alternate operands, I think is just clang on Windows is a lot more restrictive than gcc or vstudio (which I can confirm, because we compile our projects with many compilers) and the unit tests just push C++ to the limit in a non-conformant way.
It does not happen to the rest of us is because we don't use those ambigous operators like the unit tests are doing. We are using json.hpp in a "more correct" way.
Look, Visual Studio also complains about many of the problems in unit tests, see the red coloring.

In the last picture the unit tests assigns a json object to an int... should this work?

Hope this helps, sorry for repeating myself but I see this as 2 separate tasks:

fix the current problem (which you did in the clang-windows branch)
make json library (in fact unit tests) compliant with clang on Windows, which is a different story

Visual Studio does not use the same parser for syntax highlighting/warning as it uses for compilation. As such, I had several bug reports that code that does compile was full of red lines in the MSVC editor.
The unit tests do compile with MSVC 15, 17, and 19. If you experience any problems, please open an issue.
The conversion to an int is valid - the library implements several implicit conversion operators.

I am hesitant of merging the clang-windows branch, because the change of the operator style did not fix the problem. Furthermore, I do not understand the remaining compilation error.

I am hesitant of merging the clang-windows branch, because the change of the operator style did not fix the problem

I see, but I don't understand why we can compile perfectly with clang on Windows (on clang-windows branch) and the problem happens only on unit tests...very strange

I found a couple of more alternate operators on the clang-windows branch
$ git diff ..
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index a387655f..e0652628 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -4688,7 +4688,7 @@ struct wide_string_input_helper<BaseInputAdapter, 2>
             }
             else
             {
-                if (JSON_HEDLEY_UNLIKELY(not input.empty()))
+                if (JSON_HEDLEY_UNLIKELY(!input.empty()))
                 {
                     const auto wc2 = static_cast<unsigned int>(input.get_character());
                     const auto charcode = 0x10000u + (((static_cast<unsigned int>(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu));
@@ -4832,7 +4832,7 @@ using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval<const
 template < typename CharT,
            typename std::enable_if <
                std::is_pointer<CharT>::value&&
-               not std::is_array<CharT>::value&&
+               !std::is_array<CharT>::value&&
                std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
                sizeof(typename std::remove_pointer<CharT>::type) == 1,
                int >::type = 0 >
@@ -9584,7 +9584,7 @@ scan_number_done:
         // ignore comments
         if (ignore_comments && current == '/')
         {
-            if (not scan_comment())
+            if (!scan_comment())
             {
                 return token_type::parse_error;
             }

but I also still get the same errors when compiling the tests.

The branch https://github.com/t-b/json/pull/new/get-clang-with-msvc-working does compile here. It only comments out the template specializations and does not remove alternate operator syntax.

@t-b thanks a lot for your modifications and testing, but alternate operators should be replaced also in order to include the header as SYSTEM, which most of us do, to except the library from compiler warnings or clang-tidy.

@t-b Thanks for the info! I removed the remaining nots from https://github.com/nlohmann/json/tree/clang_windows. I will try the fix for the regression tests next. Would be cool to finally get the library to work with Clang for Windows!

It works! I will open a PR for this!

It works! I will open a PR for this!

Great, I can't wait to test it next week!
Is there an automatic test on your side that tests this particular scenario (with clang + include as SYSTEM?
Thanks Niels.

I'm not sure what you mean with

Windows + include as SYSTEM

There is now a CI step to compile the library with Clang 9 and 10 on Windows (https://github.com/nlohmann/json/pull/2259/checks?check_run_id=860838624). See https://github.com/nlohmann/json/blob/clang_windows/.github/workflows/windows_clang.yml for more information.

I'm not sure what you mean with

Windows + include as SYSTEM

Sorry for confusion, I mean exactly what this issue says
target_include_directories(test SYSTEM PRIVATE "<path/to/nlohmann/json>")
But I will test this manually, it should work if you removed all the alternative operators. 👍

@nlohmann Thanks for picking up!
Just FYI I've used the clang tooling for MSVC with cmake -G "Visual Studio 16 2019" -T "ClangCL" .. I don't know if that is the same as plain LLVM/clang on Windows.

I also have no idea as I am not using Windows myself. I did not know about the -T "ClangCL" parameter either.

@nlohmann The clang_windows branch passes debug tests here with -T "ClangCL".

We now have Clang on Windows tested for CI. Maybe someone here can provide a testcase for the SYSTEM include folder issue so we can verify that this works now (and stays fixed)?

@t-b if it's merged with master, I can test on my infrastructure, it failed until now, because of this bug.
I guess the OP's small sample should do the job, also.

I'll add a test.

@tawmoto @Honeybunch Is the test I added in #2279 what you have in mind?

@nlohmann
Yes, the test seems ok, I will give it a try on my infrastructure ASAP.

Oki I tested from the develop branch, everything is green, great!

Cool! I shall merge the test soon.

Great, I can't wait for you to release the new version so I can integrate it! Thanks a lot!


'Join' error on datepicker

I just upgraded from 0.14 to 1.1.2. I get the following error "Cannot read property 'join' of undefined".
In fact when I go to line 910 of the complete tpls (non minified) file, I see the following:
regex: $locale.DATETIME_FORMATS.ERANAMES.join('|').replace(/\s/g, '\\s'),
But when I print $locale.DATETIME_FORMATS, there is no ERANAMES or ERAS in this object.
Where am I supposed to get ERANAMES and ERAS from?
BTW I'm using bootstrap 3.3.6 and angularjs 1.4.9

@natcohen, please be advised that the issues forum is reserved for bugs and if you believe you've found one we ask that you please follow these instructions.
That said, please create a minimally working plunker that reproduces the issue and we will see what we can do.  Thanks.

Those constants are part of the core angular library, $locale service.

@RobJacobs Thanks! I thought it was a bug but I had an old version of $local... might be useful to mention with which version it was tested!

In my case, i was using angular-locale en-us, same name module , I uninstalled it and downloaded the angular-i18n and everything worked

So guys you just have to add a reference or do you need to inject it as a dependency too?

So, I don't really understood, what to do if we have that error? should we update AngularJs or what?


Remove format

I have improved the API upload to correctly guess file format - the format parameter is no longer required.

cool


Fix empty project wrong CodeMod notice

https://github.com/appworks-lab/codemod/pull/4

Codecov Report

Merging #894 (2979972) into release/1.2.1 (bb3ff8b) will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release/1.2.1     #894   +/-   ##
==============================================
  Coverage          57.14%   57.14%
==============================================
  Files                  1        1
  Lines                 70       70
  Branches              15       15
==============================================
  Hits                  40       40
  Misses                30       30

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bb3ff8b...2979972. Read the comment docs.


Is there way to Decapitalize automatically?

Hi, Is there way the decaptilize automatically, I mean some manga website does have author's name different like Mangadex has "Inoue Takehiko" in mangasee his name written as "INOUE Takehiko" so is there way the convert it into automatically "Inou Takehiko". It may cause troubles like can not find mangas in MangaDB.

Artist names etc. are now converted to titlecase when importing them from a website. The search is also no longer case-sensitive so even if there are still values with weird cases? in your DB it shouldn't matter!
I also added an interface for renaming/deleting tags that you requested in #8.

Thank you!


chore: release 2.2.8

:robot: I have created a release *beep* *boop*
2.2.8 (2019-08-22)
Bug Fixes

serialization does not work with null objects (#736) (870d6a7)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/nodejs-firestore/releases/tag/v2.2.8

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


add a ci step for Json_Diagnostic_Positions

This PR brings the change to add a CI step for the new feature Json_Diagnostic_Positions

Pull request checklist
Read the Contribution Guidelines for detailed information.

[x]  Changes are described in the pull request, or an existing issue is referenced.
[x]  The test suite compiles and runs without error.
[x]  Code coverage is 100%. Test cases can be added by editing the test suite.
[x]  The source code is amalgamated; that is, after making changes to the sources in the include/nlohmann directory, run make amalgamate to create the single-header files single_include/nlohmann/json.hpp and single_include/nlohmann/json_fwd.hpp. The whole process is described here.

coverage: 99.639%. remained the same
when pulling df5f6e837a35a9ae3318efc9feeb001e47c6aa86 on hnampally:develop
into 2134cb947a9b589da0835c69243f99d8ae0ac370 on nlohmann:develop.


How to config SSH server with e.g., "MaxAuthTries", "LoginGraceTime"

Does it able to use YANG model to enable a common SSHD config for the libssh ssh server, so that the SSHD parameter like "MaxAuthTries", "LoginGraceTime" can apply?
from the bellow netconf server model seems such kind of configuration not included, can we use customized grouping/container /leaf to achieve?
https://datatracker.ietf.org/doc/html/draft-ietf-netconf-server-model#section-4.4.1

Well, you could write your own module but the server will not magically understand what these parameters are meant to do so you would actually have to implement that yourself. But I am not sure that libssh does not read the sshd config file and apply the options it recognizes so you may simple be able to adjust those. It does work like this for the client-side and the ssh_config file.

Well, you could write your own module but the server will not magically understand what these parameters are meant to do so you would actually have to implement that yourself. But I am not sure that libssh does not read the sshd config file and apply the options it recognizes so you may simple be able to adjust those. It does work like this for the client-side and the ssh_config file.

So you means libssh can re-use the sshd configuration?
How about the netconf call home related paramter? These paramter would over-write the sshd config?
+--rw connection-type
|  +--rw (connection-type)?
|     +--:(persistent-connection)
|     |  +--rw persistent!
|     |     +--rw idle-timeout?   uint32
|     |     +--rw keep-alives
|     |        +--rw max-wait?       uint16
|     |        +--rw max-attempts?   uint8
|     +--:(periodic-connection)
|        +--rw periodic!
|           +--rw idle-timeout?        uint16
|           +--rw reconnect_timeout?   uint16
+--rw reconnect-strategy
+--rw start-with?     enumeration
+--rw max-attempts?   uint8
Meanwhile, when system have both libssh and OpenSSH, this would means only one sshd config apply right? For thoese paramater that not defined by netconf server model.

So you means libssh can re-use the sshd configuration?

I am just saying it is possible. If not, then like I said, you would have to implement this yourself.

These paramter would over-write the sshd config?

I think so, it all depends on libssh and when it applies what parameters.

when system have both libssh and OpenSSH, this would means only one sshd config apply right?

Yes, if the config file is reused.


Not Able to log into the DataHub Dashboard with USERNAME : datahub & Password : datahub

Login page flashes and logs out at the Datahub Dashboard Screen
after running the Quickstart.sh -> opening the localhost:9091 (shows datahub page)
-> when I try to login using the username and password as : datahub logs me in and again logs out.
To Reproduce
Steps to reproduce the behavior:

Install docker and docker-compose (if using Linux). Make sure to allocate enough hardware resources for Docker engine. Tested & confirmed config: 2 CPUs, 8GB RAM, 2GB Swap area.

Open Docker either from the command line or the desktop app and ensure it is up and running.

Clone this repo and cd into the root directory of the cloned repository.

Run the following command to download and run all Docker containers locally:

cd docker/quickstart && source ./quickstart.sh

This step takes a while to run the first time, and it may be difficult to tell if DataHub is fully up and running from the combined log.

At this point, you should be able to start DataHub by opening http://localhost:9001 in your browser. You can sign in using datahub as both username and password. However, you'll notice that no data has been ingested yet.

This step fails
Expected behavior
The console should log me in and I should be able to view the DATASET Tile
Screenshots
containers state :

mysql localhost result

Desktop (please complete the following information):

OS: Linux
Browser Chrome

Additional context
I have tried these steps
1 Make sure mysql docker work well, you can test with the connection localhost:3306.  (Didn't work screenshot attached above)
2, Make sure init.sql executed. watch your datahub database.
I used original config for mysql docker in datahub, that lead to connection with other container is blocked. I found a method solve this problem:
delete
"volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql"

My guess is that your MySQL isn't seeded with the initial data for user "datahub". Could you use mysql CLI or MySQLWorkbench to connect to localhost:3306 to see if there's any content in the metadata_aspect table?

Also could you make sure to test it against a stable tag, such as v0.3.1 as there seems to be a separate but unrelated issue at HEAD right now.

Okay was able to reproduce this issue from HEAD, but v0.3.1 works fine. Please use this tag for now while we work on a fix.

@Nickko04 could you try the latest code on master branch. Please let us know if you still see the login issue. Thanks!

@Nickko04 could you try the latest code on master branch. Please let us know if you still see the login issue. Thanks!

The New code works well, I just had to run the following as suggested by @mars-lan
docker exec -i mysql sh -c 'exec mysql datahub -udatahub -pdatahub' < docker/mysql/init.sql


Implement HistoryBufferView on top of #486

OldestOrdered was already part of the public API.
When merging we will need to add its removal to #494 so that there is only OldestOrederedView (which can be renamed to just OldestOrdered)

OldestOrdered was already part of the public API.

oof :smiling_face_with_tear:
maybe it's "less bad" to make OldestOrdered the "new" way already, and add a type alias at the root for compat that just ignores the const generic. This way in 0.9 we can just remove the type alias.
mod histbuf {
    pub struct OldestOrdered<'a, T> {
        inner: core::iter::Chain<core::slice::Iter<'a, T>, core::slice::Iter<'a, T>>,
    }
}

#[deprecated = "use `heapless::histbuf::OldestOrdered` instead."]
pub type OldestOrdered<'a, T, const N: usize> = OldestOrderedInner<'a, T>;

i'm not sure if there's any problem in "ignoring" N that way, it seems to work in quick testing.

i'm not sure if there's any problem in "ignoring" N that way, it seems to work in quick testing.

I did not know that was possible!

i'm not sure if there's any problem in "ignoring" N that way, it seems to work in quick testing.

I think I found a possible issue, there will be some cases where the compiler won't be able to infer N. For exemple the following compiles now, but wouldn't compile with the new alias approach.
fn testing<const N: usize>(iter: OldestOrdered<'_, u32, N> {}

fn main() {
   let a = HistoryBuffer::<u32, 3>::new();
   testing(a.oldest_ordered);
}

aw, that's a shame :(. Nice find. Let's do the PhantomData then.


Update to section of: Error/issue: Downloaded export shows no results

The last section for "Error/issue: Downloaded export shows no results" ;
We've had the issue here at KeyBank - one of the things that fixed our issue after months of dealing with this was to use the PowerShell script for removing the exports and searches directly from ExchangeOnline.  The delete script provided in another section worked perfectly.  I would put some explanation in there about how to do this and emphasize to remove all searches and all exports entirely.  Then talk about how PowerShell/EXO/Azure all work as a stack and how when jobs are pushed into the search or export, it actually becomes similar to a queue line in the PowerShell framework on the back end in the background.
Because of that, if there are outstanding searches from months or years ago, sometimes the GUI will show as completed or other status, but when you run the PS script to view the report on all content searches or exports, the status could actually be different.  We found that there were a handful of searches from over 12 months prior that said complete in the GUI but actually showed up as "pending" or "running" when we ran the PS script.  We removed them all using the PS script with EXO to delete the searches, waited for 48 hours, ran the PS reports again to verify, and then began using the GUI again to stage searches or exports.
Since doing this, there hasn't been any issues with the "zero results/zero bytes" when pushing a search over to export.
All the scripts used were found using the set of PS scripts provided in the content search references and eDiscovery references.
To the point, we also used the same technique to verify and validate the eDiscovery Core holds and the subsequent case and hold information as active, valid, and working.

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

ID: ec3c3d62-f46b-bffb-cddb-c7f0932798c3
Version Independent ID: 71e167e0-2711-32ab-12f4-91b22487cd66
Content: Troubleshooting common eDiscovery issues - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/ediscovery-troubleshooting-common-issues.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@funkadelic91 Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/4802
Once the author approves, you will see the update on the live document.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @funkadelic91 Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

@msbemba Thank you very much for the contribution and updating the documentation with PR. @funkadelic91 Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.

Thank you for taking the time to update as well!  I appreciate it.  I'll be on the lookout for more areas over time


Cleaned up cocoapods configuration and modernized example app

Summary
I've cleaned up the file structure and example project to use the satin sources as an example app. I've also added bundler to configure the cocoapods environment to ensure all development across machines is done using the same version of cocoapods (this is important as we integrate a CI server). I've also added default assets from the iOS and Mac apps (all black), but haven't added one for tvOS (needs stacked image).
To run locally you must first configure and run bundler and cocoapods like so in the Example folder:
Install Bundler using:
[sudo] gem install bundler

Install the Bundler dependencies specified in the Gemfile:
# If not already in the Example folder
cd Example/

bundle config set path vendor/bundle
bundle install

Finally, install the CocoaPod dependencies using Bundler:
bundle exec pod install

Thank you for putting all this together. Without an xcode project, how will i work on the library? The library will go through massive changes over the next couple years and I want to make sure its super easy for me to modify it, and using an xcode project was the way I did that... I would drag it into other xcode projects, any idea on how I would do this in Satin current state in this pull request?


Improve text field input

Hi @sindresorhus
This PR is a first draft for issue #3 Validate text fields
I first tried a border color for the hex text field but it interfered with blue border when the text field is focused. Instead I added a SF symbol image that switches depending if the field is valid.

The implemented colorChecker class uses ObservedObject and the onChange modifier to run on user input, it also trims unwanted characters.
The code still needs to be implemented for hsl, rgb & lch text inputs. Also needs cleaning, optimizing & testing but I wanted an initial 👍 before going ahead.
Regards
PS : I have more experience with iOS app development, this is helping me get to grips with Mac app development 😄

Thanks for working on this. I don't think this is the right approach though.
Here's what I'm thinking:

Abstract all of the hexColorView type views into a single (general) view that can be reused for each of the colors.
The validation logic is already implemented, if let newColor = NSColor(hexString: hexColor.trimmingCharacters(in: .whitespaces)) succeeds, it means the color is valid.

I'm also not a big fan of the symbols. We don't need a success indication, just a failure one. So I think just coloring the text red if it's invalid is enough.

Abstract all of the hexColorView type views into a single (general) view that can be reused for each of the color inputs.

Ok, I'll work on that and update accordingly

The validation logic is already implemented, if let newColor = NSColor(hexString: hexColor.trimmingCharacters(in: .whitespaces)) succeeds, it means the color is valid. If not, you can show the invalid state.

I didn't realize all the logic was already there 😅  Thanks for pointing this out !

I'm also not a big fan of the symbols. We don't need a success indication, just a failure one. So I think just coloring the text red if it's invalid is enough.

Ok, simple and straightforward is good 😄 I'll update accordingly

So this is still WIP, but some feedback to know if this is more inline with the proposed approach would be nice 😃
As for hex codes: they are limited to a small set of characters and also in length, I've added some code to filter and trim hex inputs (ex: #123456, FFFFFF, etc). This helps users input only valid hex codes but also makes the input rigid and removes the need to indicate (in red) an invalid input. Maybe a compromise of just trimming excess characters without filtering is a good balance ?

So this is still WIP, but some feedback to know if this is more inline with the proposed approach would be nice 😃

Yes, it's the correct direction.

This helps users input only valid hex codes but also makes the input rigid

Trimming whitespace is ok, but I don't think we should prevent some characters. Users will not understand that it's because it's not valid Hex. I think it's better to just make it red in that case.

On user color input, updateColorsFromPanel method needs to be called to update other color codes. This is currently in ColorPickerScreen. In order to be able to call it from ColorInputView I'm thinking it could be moved to AppState EnvironmentObject along with required properties (as @Published properties) ?
Or maybe there is a smarter way to call it ?
Or does it need a bigger rethink as the comment indicates:

TODO: Find a better way to handle this.

Closing for lack of activity.


Users Permissions?

Hi there!
Once again, thank you so much for this incredible node.
Now, I need to set permissions for each authenticated user.
At first, the 2 basic permissions (full access and read-only) might do. Yet, I will probably need a more granular level of permissions, for the near future.
I've noticed that node-red is already prepared for both approaches.
However, it seems to me that the node-red-contrib-ldap-auth sets the full-access permission by default when a user is successfully authenticated, right?
I was considering to send a PR trying to handle this scenario, setting the permission based on some information from the LDAP.
But first, I'd like to know what are your thoughts about this and if you've got any suggestions about it.
Thanks a bunch.

What you see is what you get. PR will be looked at


Solve #777, #688 & Rwanda and Congo Event

Changes to Rwanda Event Chain, Congo War Event Chain.
Created Events for Soviet to RUS and YUG to SER after great war has ended if they lost
SUN will never change tag after winning dismantle war

But
		# SUN and YUG become RUS and SER  		random_country = { limit = { tag = SUN } change_tag = RUS }  		random_country = { limit = { tag = YUG } change_tag = SER }
should happen if SUN or YUG is dismantled (ie. on the loosing side).

if the losing country is France, the main event that fire which causes france to disintegrate will also cause a random country which is tag = SUN to change tag to RUS and then random country which is tag = YUG to change tag to SER. As long as the dismantle event fire regardless of who loses, Both Soviet and Yugoslavia will change tag