Package has some weird version on npm

I was having trouble executing a simple test because koa was complaining about a non generator function being returned by koa-unless. Then I came here to check the source code and I couldn't find any commit or version (actually there are no releases/tags) that were returning this simple function.
So, after a hard time, I finally realised that the problem is that the package on NPM has this version that does not return a generator function. I have no idea how it got there, but could you please update it, @Foxandxss?
This is how I tracked the issue:
npm view koa-unless dist.tarball

The command above shows the url that contains the code that is downloaded when issuing a npm install koa-unless. As you can see, the tarball contains this index.js that returns the simple function:
module.exports = function(options) {
    return function(ctx, next) {
        ...
    }
}

Sure. I can also give you powers if you want.

Sounds nice @Foxandxss. Thanks

@Foxandxss, could you add me as a maintainer of this package on npm? It is just a matter of issuing:
npm owner add brunokrebs

Npm docs regarding adding users.

Would be great if this issue could be resolved one or the other way! :)

It is up to @Foxandxss. He can update it or he can add me as owner so I can update it myself.

Didn't I gave you powers Bruno?

Well, you have never answered my request. You gave me access to this repo, but I'm not aware if you gave me access to update the NPM module. Which is done with the following command:
npm owner add brunokrebs

I will try to update the module on NPM it this weekend.

I added you the first day. Just checked

Cool, thanks @Foxandxss. I do have access and I have just updated it on NPM. Now it is on version 1.0.1 and the issue is fixed. /cc @alex-friedl

@brunokrebs - 1.0.1 broke my tests.
With 1.0.0, the following was working:
router.use('/user', jwt.unless({ method: 'POST' }), user.routes());

since 1.0.1, it returns a 404 error

Confirmed. Reproduced by checking out koa-jwt v2 branch, wiping out node_modules, npm install, npm test.

Same issue here as @jozsi. Pinning to 1.0.0.

I have published a new patch (1.0.3). Could you guys take a look? //cc @onbjerg @jozsi
Thanks

@brunokrebs
Hi, in line #22 of file index.js:
22  if (matchesCustom(this, opts) || matchesPath(requestedUrl, opts) ||
23      matchesExtension(requestedUrl, opts) || matchesMethod(ctx.method, opts)) {
24    return next();
25  }

I think matchesCustom(this, opts) should be matchesCustom(ctx, opts), or in function matchesCustom it cannot get correct ctx.
Could you please confirm it? Thanks!

@silver-zhao Came here for exactly this. That should definitely be ctx, rather than this. And further below, it shouldn't be using .call.

@brunokrebs Also, tests are failing. I'd be happy to put together a PR if you could instruct me on what path to follow. I can see the "devDependencies" target a very old version of Koa (0.21.0), but the actual middleware doesn't return a generator and is using Koa 2 syntax.

@nfantone this is one of the problems. The version 1.0.0 released on NPM uses a code that is not available on this repo. Probably @Foxandxss developed it before creating the repo and then released it on NPM. And then, after that, he created the repo and the tests.
I'm working on this issue right now. I'll submit a PR and then you guys can take a look and make comments before releasing it again. Thanks

I'd suggest to have a branch for Koa v2 (using ctx) and a legacy branch for older Koa (using this).

@brunokrebs Could use this if you like: https://github.com/Foxandxss/koa-unless/pull/5

@jozsi I'm not familiar with how releases were managed in this project, but I don't see the point in maintaining a legacy branch for older versions of Koa. You'd just need to install a compatible version of koa-unless for your project and properly document the version jump.

Most of the Koa related modules have a major version bump for Koa v2.
Let's take koa-jwt as an example, as it contributes to over 90% of koa-unless downloads.
Their Koa v1 branch is versioned v1.3.0 and uses jwt-unless v0.0.1.
Their Koa v2 branch is versioned v3.0.1 and uses jwt-unless v1.0.0.
I would keep the Koa v1 compatible versions of jwt-unless as 0.0.x (note: 0.1.0 would not satisfy semver ^0.0.1).
For the Koa v2 compatible version, I would use v1 because most (if not all) of the packages that depend on koa-unless are using koa v2 and koa-unless v1.

Would you mind to take a look at PR #6. I think I managed to make it compatible with Koa 0.X, 1.X and 2.X. But I would like feedback before publish buggy versions as I did before.
If you guys find anything we may consider accepting the PR, then adding more tests to the test cases and then fix them.
//cc @jozsi @nfantone @silver-zhao @Foxandxss

Well, I finally realize what heck has happened. The whole problem is that I didn't noted that<EMAIL_ADDRESS>was the code under master and that<EMAIL_ADDRESS>was the code under koa-v2.
I have now updated both master and koa-v2 properly and published the correct versions on NPM. Now I will upport the refactoring that I have made on master to koa-v2, which shall improve readability.
Sorry about the mess.


Resubmitting tstalka's fix for incorrect module assigned to entities

Re-doing PR #417 so that it may be tested via our CI

lgtm


Training dataset

Hey, I'm wondering the way to construct training dataset. In your paper, you said that "We thus train on 185k images from the Google Landmarks dataset [34], containing a wide variety of day-time urban scenes, and 37k images from the night and dawn sequences of the Berkeley Deep Drive dataset [54], composed of road scenes with motion blur." However, I find that the images in Google Landmarks is much more than 185k as you described, it turns out 1098462 images in this dataset. So how do you pick out images in the dataset? Why not just use the whole dataset to train? Same question to the bdd dataset. Thx!

Found the answer in source codes!

@ChunhuanLin : I'd be interested in the solution, can you share your finding? ;-)


[resolves #700] Add support for module layers to config tool

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/493/
Test PASSed.


Add logging concepts on contributing

Description
Add logging concepts on contributing
Fixes #THEEDGE-1362
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Documentation update
[ ] Tests update
[ ] Refactor

Checklist:

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I run go fmt ./... to check that my code is properly formatted
[ ] I run go vet ./... to check that my code is free of common Go style mistakes

Codecov Report

Merging #593 (1c5f13b) into main (6b51169) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #593   +/-   ##
=======================================
  Coverage   30.86%   30.86%
=======================================
  Files          37       37
  Lines        3655     3655
=======================================
  Hits         1128     1128
  Misses       2374     2374
  Partials      153      153

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 6b51169...1c5f13b. Read the comment docs.


Build Performance Test in my "Finance Manager" app

Follow the directions found here: https://github.com/JonDouglas/AndroidPerformanceAndAppSizeChallenge#build-times

Build Performance (No bin/obj)

Before Cold Build Times Changes:

Time Elapsed 00:00:44.80

After Cold Build Times Changes:

Time Elapsed 00:00:42.18

Build Performance (Incremental change)

Before Incremental Build Times Changes:

Time Elapsed 00:00:05.50

After Incremental Build Times Changes:

Time Elapsed 00:00:05.12

Bonus

Include a Diagnostic MSBuild Log File or MSBuild BinLog File

Any comments / feedback for how we can improve this experience?
I would like to see a better result with a build time, because result about 2 seconds doesn't play such a big role in 44 seconds of building and 0.4s almost nothing in Incremental Time Changes. But thanks for this event and attempts to make Xamarin better)
Version Information (Help -> About Visual Studio -> Copy Information)
=== Visual Studio Community 2019 for Mac ===
Version 8.2.4 (build 17)
Installation UUID: f261f3ee-8709-44e5-8cbb-d6dcc482f558
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac <IP_ADDRESS> (d16-2-fix-mac-updates / 86973979)
Package version: 600000327

=== Mono Framework MDK ===
Runtime:
Mono <IP_ADDRESS>7 (2019-02/f8ea05bddcb) (64-bit)
Package version: 600000327
=== NuGet ===
Version: <IP_ADDRESS>13
=== .NET Core ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
2.1.12
2.1.11
2.1.9
2.1.8
2.1.7
SDK: /usr/local/share/dotnet/sdk/2.1.701/Sdks
SDK Versions:
2.1.701
2.1.700
2.1.505
2.1.504
2.1.503
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.0.0/lib/mono/msbuild/Current/bin/Sdks
=== Xamarin.Profiler ===
Version: 1.6.11
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Xamarin.Android ===
Version: <IP_ADDRESS> (Visual Studio Community)
Commit: xamarin-android/d16-2/ebd65c9
Android SDK: /Users/oleksii.ratiiev/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
4.4 (API level 19)
5.1 (API level 22)
6.0 (API level 23)
7.0 (API level 24)
7.1 (API level 25)
8.0 (API level 26)
8.1 (API level 27)
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 28.0.2
SDK Build Tools Version: 28.0.3
Build Information:
Mono: mono/mono/2019-02@e6f5369c2d2
Java.Interop: xamarin/java.interop/d16-2@d64ada5
LibZipSharp: grendello/LibZipSharp/d16-2@caa0c74
LibZip: nih-at/libzip/rel-1-5-1@b95cf3f
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-2@6f6c969
=== Microsoft Mobile OpenJDK ===
Java SDK: /Users/oleksii.ratiiev/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Android Device Manager ===
Version: <IP_ADDRESS>
Hash: 686c817
Branch: remotes/origin/d16-2
Build date: 2019-08-07 15:49:58 UTC
=== Apple Developer Tools ===
Xcode 10.3 (14492.2)
Build 10G8
=== Xamarin.Mac ===
Version: <IP_ADDRESS> (Visual Studio Community)
Hash: c6691164
Branch: d16-2
Build date: 2019-07-29 15:54:06-0400
=== Xamarin.iOS ===
Version: <IP_ADDRESS> (Visual Studio Community)
Hash: c6691164
Branch: d16-2
Build date: 2019-07-29 15:54:05-0400
=== Xamarin Designer ===
Version: <IP_ADDRESS>9
Hash: 3f0652957
Branch: remotes/origin/d16-2
Build date: 2019-08-01 17:32:50 UTC
=== Xamarin Inspector ===
Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1
=== Build Information ===
Release ID: 802040017
Git revision: 9b155edbf23e9fe8b477b3236a342164fabf5f6b
Build date: 2019-08-16 00:21:01+00
Build branch: release-8.2
Xamarin extensions: 9f2598b5f2371ba2903988c2cd87a9759d0255f2
=== Operating System ===
Mac OS X 10.14.6
Darwin 18.7.0 Darwin Kernel Version 18.7.0
Thu Jun 20 18:42:21 PDT 2019
root:xnu-4903.270.47~4/RELEASE_X86_64 x86_64

@AlekseyRatiiev Thank you so much for your submission! To claim your swag, please fill out this quick survey!
http://aka.ms/androidappchallenge


[Index] Force indexing of system modules to read only from swiftinterfaces

Indexing system modules while building is a crash prone phase because it tries to read everything from swiftmodules in the SDK. We saw it crash often on reading implementation details relying on implementation-only imported types.
To rule out all of these issues, let's force indexing system modules to use only swiftinterfaces in the SDK and ignores the adjacent swiftmodule files. In the future, we want a similar behavior for all compilation, not just indexing, at that time we can revert this change.
rdar://100644036

@swift-ci Please smoke test

Am I correct in understanding that we will still load prebuilt binary modules from the sdk (in the separate prebuilt directory), just not adjacent ones?

Pushing a new version to run test. I still have some offline comments to look into.
@swift-ci Please smoke test

Am I correct in understanding that we will still load prebuilt binary modules from the sdk (in the separate prebuilt directory), just not adjacent ones?

That's correct, only the adjacent modules are ignored.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test macOS

@swift-ci Please smoke test macOS

Tweaked how this interacts with the in-memory cached modules. Instead of dropping the module cache it nows ignores the cache only to reload the target system module to index, and it doesn't attempt to reload the stdlib as it can break existing references to it.
@swift-ci Please smoke test

@swift-ci Please smoke test macOS

@swift-ci Please smoke test

@swift-ci Please smoke test

https://github.com/apple/swift-package-manager/pull/5851
@swift-ci Please smoke test macOS

Extracted some of the new serialization logic to a different PR and rebased on it.
https://github.com/apple/swift-package-manager/pull/5851
@swift-ci Please smoke test

@swift-ci Please smoke test Linux

Cannot contact i-09a88659ae06fbf33: hudson.remoting.ChannelClosedException: Channel "hudson.remoting.Channel@3cbfe351:i-09a88659ae06fbf33": Remote call on i-09a88659ae06fbf33 failed. The channel is closing down or has closed down

@swift-ci Please smoke test Linux

@swift-ci Please smoke test

@swift-ci Please smoke test


[AST] NFC: Switch Space printing to use interleave instead of han…

…d rolled loops

I was looking into how to preserve optional sugar, so we can make nicer looking fix-its, and noticed that we don't use interleave.

@swift-ci please smoke test

@swift-ci please smoke test Linux platform

@swift-ci please smoke test macOS platform


Update README.md

Project name: pyOWM
Project website/repository: https://github.com/csparpa/pyowm
License: MIT license
Verified everything in the checklist.
Included pyOWM library in the weather category. It enables fetching various climate related metrics effortlessly.

Thank you for the contribution. The checklist is for others to see. Would you mind adding it back here?

Sure @jhamman
License: MIT license
Checklist for new projects:
The project is open-source and accessible. - yes
Searched the existing entries to make sure this is not a duplicate. - yes
Contains only a single addition (make separate PRs if adding more than one). - yes
Added the link to the bottom of the relevant category. - yes
Add icon from the media/icon/ folder if applicable (like  ). - yes
Created a new category only if necessary. - yes [Didn't have to]
Checked spelling and grammar. - yes
Removed trailing whitespace and periods. - yes
Confirm the dash – is not a minus -. - yes
Used title-casing (AP style) for project name. - yes


Extract server into its own repository to be release and maintained independent from the client

Describe your question
Extract server into its own repository to be release and maintained independently from the client. Currently, both are in the same repo where both are aligned in versioning. Most developers are likely only interested in the MQTT client.
Which project is your question related to?

Client
ManagedClient
MQTTnet.Server standalone
Server
Generic

This seems to be more or less a duplicate of https://github.com/chkr1011/MQTTnet/issues/1026.

This seems to be more or less a duplicate of https://github.com/chkr1011/MQTTnet/issues/1026.


Login fails with lightdm

With current nixos-unstable channel, login fails with lightdm. After entering the pwd I'm thrown back to lightdm.
Relevant log:

mai 17 17:37:28 leaf systemd[1]: Starting X11 Server...
mai 17 17:37:28 leaf systemd[1]: Started X11 Server.
mai 17 17:37:28 leaf display-manager-start[1263]: ** (lightdm:1263): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
mai 17 17:37:28 leaf display-manager-start[1263]: ** (lightdm:1263): WARNING **: Could not delete unused user data directory /var/lib/lightdm-data/.cache: Failed to execute child process "/bin/rm" (No such file or directory)
mai 17 17:37:28 leaf display-manager-start[1263]: ** (lightdm:1263): WARNING **: Could not delete unused user data directory /var/lib/lightdm-data/.Xauthority: Failed to execute child process "/bin/rm" (No such file or directory)
mai 17 17:37:28 leaf display-manager-start[1263]: ** (lightdm:1263): WARNING **: Could not delete unused user data directory /var/lib/lightdm-data/lightdm: Failed to execute child process "/bin/rm" (No such file or directory)
mai 17 17:37:28 leaf display-manager-start[1263]: ** (lightdm:1263): CRITICAL **: session_get_login1_session_id: assertion 'session != NULL' failed
mai 17 17:37:28 leaf display-manager-start[1263]: ** (process:1282): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
mai 17 17:37:28 leaf lightdm[1282]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
mai 17 17:37:39 leaf display-manager-start[1263]: ** (process:1307): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
mai 17 17:37:39 leaf systemd[1]: display-manager.service: main process exited, code=killed, status=6/ABRT
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf lightdm[1307]: PAM pam_putenv: no variable indicated
mai 17 17:37:39 leaf systemd[1]: Unit display-manager.service entered failed state.
mai 17 17:37:39 leaf systemd[1]: display-manager.service failed.
mai 17 17:37:39 leaf systemd[1]: display-manager.service holdoff time over, scheduling restart.
mai 17 17:37:39 leaf systemd[1]: Stopping X11 Server...
mai 17 17:37:39 leaf systemd[1]: Starting X11 Server...

 I can login with no problem for example with slim.

kmicu on irc suggested to revert 5a117814b8b223bebf3a07243020720167939bd2, but that involves a lot of rebuilding. Any other idea?

Would sudo systemctl restart display-manager start it? (for the same error message it helped for http://forum.antergos.com/topic/1755/xfce-issues)

@vcunat it's not lightdm that does not start, but the window manager (awesome in my case), after entering my pwd. Sorry if the description was a bit ambiguous.

But still, the cause seems to be in lightdm.
 (lightdm:1263): CRITICAL *: session_get_login1_session_id: assertion 'session != NULL' failed

I wondered, if restarting display-manager solved this, it could be due to wrong ordering in service startup (missing dependency).

No luck. In fact the last time I tried it was already after a nixos-rebuild test + display-manager restart, but I double-checked just to be sure.

Just switched onto current master and still a problem. It does let me back into lightdm though. Pasting journalctl -l -e from the first mention of X11 without omissions. Going to try reverting the commit above and rebuild.
May 23 02:41:53 lenalee systemd[1]: Started X11 Server.
May 23 02:41:53 lenalee systemd[1]: Starting Redshift colour temperature adjuster...
May 23 02:41:53 lenalee systemd[1]: Started Redshift colour temperature adjuster.
May 23 02:41:53 lenalee systemd[1]: Starting D-Bus System Message Bus...
May 23 02:41:53 lenalee systemd[1]: Started D-Bus System Message Bus.
May 23 02:41:53 lenalee dbus-daemon[524]: Unknown username "systemd-resolve" in message bus configuration file
May 23 02:41:53 lenalee dbus[524]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
May 23 02:41:53 lenalee ntpd[503]: proto: precision = 0.060 usec (-24)
May 23 02:41:53 lenalee redshift[522]: `RANDR Query Version' returned error -1
May 23 02:41:53 lenalee redshift[522]: Initialization of randr failed.
May 23 02:41:53 lenalee redshift[522]: Trying next method...
May 23 02:41:53 lenalee redshift[522]: X request failed: XOpenDisplay
May 23 02:41:53 lenalee redshift[522]: Initialization of vidmode failed.
May 23 02:41:53 lenalee redshift[522]: Trying next method...
May 23 02:41:53 lenalee redshift[522]: No more methods to try.
May 23 02:41:53 lenalee systemd[1]: redshift.service: main process exited, code=exited, status=1/FAILURE
May 23 02:41:53 lenalee systemd[1]: Unit redshift.service entered failed state.
May 23 02:41:53 lenalee systemd[1]: redshift.service failed.
May 23 02:41:53 lenalee ntpd[503]: Listen and drop on 0 v6wildcard [::]:123
May 23 02:41:53 lenalee ntpd[503]: Listen and drop on 1 v4wildcard <IP_ADDRESS>:123
May 23 02:41:53 lenalee systemd[1]: Started Name Service Cache Daemon.
May 23 02:41:53 lenalee systemd[1]: Starting User and Group Name Lookups.
May 23 02:41:53 lenalee systemd[1]: Reached target User and Group Name Lookups.
May 23 02:41:53 lenalee systemd[1]: Starting Login Service...
May 23 02:41:53 lenalee systemd[1]: Starting Host and Network Name Lookups.
May 23 02:41:53 lenalee systemd[1]: Reached target Host and Network Name Lookups.
May 23 02:41:53 lenalee mountd-pre-start[496]: exporting <IP_ADDRESS>:/export/tomoyo
May 23 02:41:53 lenalee mountd-pre-start[496]: exporting <IP_ADDRESS>:/export/sen
May 23 02:41:53 lenalee mountd-pre-start[496]: exporting <IP_ADDRESS>:/export/mafuyu
May 23 02:41:53 lenalee mountd-pre-start[496]: exporting <IP_ADDRESS>:/export/kotomi
May 23 02:41:53 lenalee mountd-pre-start[496]: exporting <IP_ADDRESS>:/export
May 23 02:41:53 lenalee systemd[1]: Started NFSv4 ID Mapping Daemon.
May 23 02:41:53 lenalee dbus[524]: [system] Successfully activated service 'org.freedesktop.login1'
May 23 02:41:53 lenalee systemd-logind[541]: Watching system buttons on /dev/input/event2 (Power Button)
May 23 02:41:53 lenalee systemd-logind[541]: Watching system buttons on /dev/input/event1 (Sleep Button)
May 23 02:41:53 lenalee systemd-logind[541]: New seat seat0.
May 23 02:41:53 lenalee systemd[1]: Started Login Service.
May 23 02:41:53 lenalee display-manager-start[520]: ** (lightdm:520): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
May 23 02:41:53 lenalee systemd[1]: redshift.service holdoff time over, scheduling restart.
May 23 02:41:53 lenalee systemd[1]: Stopping Redshift colour temperature adjuster...
May 23 02:41:53 lenalee systemd[1]: Starting Redshift colour temperature adjuster...
May 23 02:41:53 lenalee systemd[1]: Started Redshift colour temperature adjuster.
May 23 02:41:53 lenalee acpid[504]: client connected from 552[0:0]
May 23 02:41:53 lenalee acpid[504]: 1 client rule loaded
May 23 02:41:53 lenalee kernel: e1000e 0000:00:19.0: irq 30 for MSI/MSI-X
May 23 02:41:53 lenalee network-addresses-enp0s25-start[442]: checking ip <IP_ADDRESS>/24...
May 23 02:41:53 lenalee kernel: e1000e 0000:00:19.0: irq 30 for MSI/MSI-X
May 23 02:41:53 lenalee kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s25: link is not ready
May 23 02:41:53 lenalee ntpd[503]: Listen normally on 2 lo <IP_ADDRESS>:123
May 23 02:41:53 lenalee ntpd[503]: Listen normally on 3 lo [::1]:123
May 23 02:41:53 lenalee ntpd[503]: Listening on routing socket on fd #20 for interface updates
May 23 02:41:53 lenalee network-addresses-enp0s25-start[442]: added ip <IP_ADDRESS>/24...
May 23 02:41:53 lenalee systemd[1]: Starting Services Requiring IP Connectivity.
May 23 02:41:53 lenalee systemd[1]: Reached target Services Requiring IP Connectivity.
May 23 02:41:53 lenalee systemd[1]: Started Address configuration of enp0s25.
May 23 02:41:53 lenalee systemd[1]: Starting All Network Interfaces.
May 23 02:41:53 lenalee systemd[1]: Reached target All Network Interfaces.
May 23 02:41:53 lenalee systemd[1]: Starting Networking Setup...
May 23 02:41:53 lenalee kernel: nvidia 0000:01:00.0: irq 32 for MSI/MSI-X
May 23 02:41:53 lenalee sshd[569]: Server listening on <IP_ADDRESS> port 22.
May 23 02:41:53 lenalee sshd[569]: Server listening on :: port 22.
May 23 02:41:53 lenalee systemd[1]: Started SSH Daemon.
May 23 02:41:53 lenalee systemd[1]: Started NFSv3 Mount Daemon.
May 23 02:41:53 lenalee systemd[1]: Starting NFS Server...
May 23 02:41:53 lenalee rpc.mountd[574]: Version 1.2.5 starting
May 23 02:41:53 lenalee nfsd-start[575]: fs.nfs.nlm_tcpport = 0
May 23 02:41:53 lenalee nfsd-start[575]: fs.nfs.nlm_udpport = 0
May 23 02:41:53 lenalee systemd[1]: Stopping Name Service Cache Daemon...
May 23 02:41:53 lenalee systemd[1]: Starting Name Service Cache Daemon...
May 23 02:41:53 lenalee systemd[1]: Started Name Service Cache Daemon.
May 23 02:41:53 lenalee kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
May 23 02:41:53 lenalee systemd[1]: Started Networking Setup.
May 23 02:41:53 lenalee systemd[1]: Starting Extra networking commands....
May 23 02:41:53 lenalee kernel: NFSD: starting 90-second grace period (net ffffffff818a4e40)
May 23 02:41:53 lenalee systemd[1]: Started NFS Server.
May 23 02:41:53 lenalee systemd[1]: Starting NFSv3 Network Status Monitor...
May 23 02:41:54 lenalee statd-pre-start[648]: sm-notify: Version 1.2.5 starting
May 23 02:41:54 lenalee statd-pre-start[648]: sm-notify: No hosts to notify; exiting
May 23 02:41:54 lenalee systemd[1]: Started Extra networking commands..
May 23 02:41:54 lenalee systemd[1]: Starting Network.
May 23 02:41:54 lenalee systemd[1]: Reached target Network.
May 23 02:41:54 lenalee systemd[1]: Starting Network is Online.
May 23 02:41:54 lenalee systemd[1]: Reached target Network is Online.
May 23 02:41:54 lenalee rpc.statd[657]: Version 1.2.5 starting
May 23 02:41:54 lenalee rpc.statd[657]: Flags: TI-RPC
May 23 02:41:54 lenalee rpc.statd[657]: Running as root.  chown /var/lib/nfs to choose different user
May 23 02:41:54 lenalee systemd[1]: Started NFSv3 Network Status Monitor.
May 23 02:41:54 lenalee systemd[1]: Starting Remote File Systems (Pre).
May 23 02:41:54 lenalee systemd[1]: Reached target Remote File Systems (Pre).
May 23 02:41:54 lenalee systemd[1]: Mounting /mnt/yami...
May 23 02:41:54 lenalee systemd[1]: Mounting /mnt/mikan...
May 23 02:41:54 lenalee systemd[1]: Mounting /mnt/hitagi...
May 23 02:41:54 lenalee kernel: FS-Cache: Loaded
May 23 02:41:54 lenalee kernel: FS-Cache: Netfs 'nfs' registered for caching
May 23 02:41:54 lenalee kernel: Key type dns_resolver registered
May 23 02:41:54 lenalee kernel: NFS: Registering the id_resolver key type
May 23 02:41:54 lenalee kernel: Key type id_resolver registered
May 23 02:41:54 lenalee kernel: Key type id_legacy registered
May 23 02:41:54 lenalee acpid[504]: client connected from 552[0:0]
May 23 02:41:54 lenalee acpid[504]: 1 client rule loaded
May 23 02:41:54 lenalee redshift[561]: Using method `randr'.
May 23 02:41:54 lenalee display-manager-start[520]: ** (process:690): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
May 23 02:41:54 lenalee lightdm[690]: pam_env(lightdm-greeter:setcred): Unable to open env file: /etc/environment: No such file or directory
May 23 02:41:54 lenalee lightdm[690]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
May 23 02:41:54 lenalee systemd[1]: Starting user-78.slice.
May 23 02:41:54 lenalee systemd[1]: Created slice user-78.slice.
May 23 02:41:54 lenalee systemd-logind[541]: New session c1 of user lightdm.
May 23 02:41:55 lenalee ntpd[503]: Listen normally on 4 enp0s25 <IP_ADDRESS>:123
May 23 02:41:55 lenalee ntpd[503]: new interface(s) found: waking up resolver
May 23 02:41:55 lenalee kernel: e1000e: enp0s25 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
May 23 02:41:55 lenalee kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp0s25: link becomes ready
May 23 02:41:56 lenalee systemd[1]: Mounted /mnt/hitagi.
May 23 02:41:56 lenalee systemd[1]: Mounted /mnt/mikan.
May 23 02:41:56 lenalee systemd[1]: Mounted /mnt/yami.
May 23 02:41:56 lenalee systemd[1]: Starting Remote File Systems.
May 23 02:41:56 lenalee systemd[1]: Reached target Remote File Systems.
May 23 02:41:56 lenalee systemd[1]: Starting Permit User Sessions...
May 23 02:41:56 lenalee systemd[1]: Started Permit User Sessions.
May 23 02:41:56 lenalee systemd[1]: Starting Session c1 of user lightdm.
May 23 02:41:56 lenalee systemd[1]: Started Session c1 of user lightdm.
May 23 02:41:56 lenalee systemd[1]: Starting User Manager for UID 78...
May 23 02:41:56 lenalee systemd[1]: Starting Getty on tty1...
May 23 02:41:56 lenalee systemd[1]: Started Getty on tty1.
May 23 02:41:56 lenalee systemd[1]: Starting Login Prompts.
May 23 02:41:56 lenalee systemd[1]: Reached target Login Prompts.
May 23 02:41:56 lenalee systemd[1]: Starting Multi-User System.
May 23 02:41:56 lenalee systemd[1]: Reached target Multi-User System.
May 23 02:41:56 lenalee systemd[1]: Starting Graphical Interface.
May 23 02:41:56 lenalee systemd[1]: Reached target Graphical Interface.
May 23 02:41:56 lenalee systemd[699]: pam_unix(systemd-user:session): session opened for user lightdm by (uid=0)
May 23 02:41:56 lenalee systemd[699]: Starting Paths.
May 23 02:41:56 lenalee systemd[699]: Reached target Paths.
May 23 02:41:56 lenalee systemd[699]: Starting Timers.
May 23 02:41:56 lenalee systemd[699]: Reached target Timers.
May 23 02:41:56 lenalee systemd[699]: Starting Sockets.
May 23 02:41:56 lenalee systemd[699]: Reached target Sockets.
May 23 02:41:56 lenalee systemd[699]: Starting Basic System.
May 23 02:41:56 lenalee systemd[699]: Reached target Basic System.
May 23 02:41:56 lenalee systemd[699]: Starting Default.
May 23 02:41:56 lenalee systemd[699]: Reached target Default.
May 23 02:41:56 lenalee systemd[699]: Startup finished in 8ms.
May 23 02:41:56 lenalee systemd[1]: Started User Manager for UID 78.
May 23 02:41:56 lenalee systemd[1]: Startup finished in 1.970s (kernel) + 17.544s (userspace) = 19.515s.
May 23 02:41:57 lenalee ntpd[503]: bind(24) AF_INET6 fe80::21c:c0ff:fe66:2996%2#123 flags 0x11 failed: Cannot assign requested address
May 23 02:41:57 lenalee ntpd[503]: unable to create socket on enp0s25 (5) for fe80::21c:c0ff:fe66:2996%2#123
May 23 02:41:57 lenalee ntpd[503]: failed to init interface for address fe80::21c:c0ff:fe66:2996%2
May 23 02:41:59 lenalee ntpd[503]: Listen normally on 6 enp0s25 [fe80::21c:c0ff:fe66:2996%2]:123
May 23 02:41:59 lenalee ntpd[503]: new interface(s) found: waking up resolver
May 23 02:42:37 lenalee display-manager-start[520]: ** (process:713): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee lightdm[713]: PAM pam_putenv: no variable indicated
May 23 02:42:37 lenalee systemd[1]: display-manager.service: main process exited, code=killed, status=6/ABRT
May 23 02:42:37 lenalee systemd[1]: Unit display-manager.service entered failed state.
May 23 02:42:37 lenalee systemd[1]: display-manager.service failed.
May 23 02:42:37 lenalee acpid[504]: client 552[0:0] has disconnected
May 23 02:42:37 lenalee acpid[504]: client 552[0:0] has disconnected
May 23 02:42:38 lenalee systemd[1]: display-manager.service holdoff time over, scheduling restart.
May 23 02:42:38 lenalee systemd[1]: Stopping Redshift colour temperature adjuster...
May 23 02:42:38 lenalee lightdm[690]: pam_unix(lightdm-greeter:session): session closed for user lightdm
May 23 02:42:38 lenalee lightdm[690]: pam_env(lightdm-greeter:setcred): Unable to open env file: /etc/environment: No such file or directory
May 23 02:42:38 lenalee systemd-logind[541]: Removed session c1.
May 23 02:42:38 lenalee systemd[1]: Stopping User Manager for UID 78...
May 23 02:42:38 lenalee systemd[699]: Stopping Default.
May 23 02:42:38 lenalee systemd[699]: Stopped target Default.
May 23 02:42:38 lenalee systemd[699]: Stopping Basic System.
May 23 02:42:38 lenalee systemd[699]: Stopped target Basic System.
May 23 02:42:38 lenalee systemd[699]: Stopping Paths.
May 23 02:42:38 lenalee systemd[699]: Stopped target Paths.
May 23 02:42:38 lenalee systemd[699]: Stopping Timers.
May 23 02:42:38 lenalee systemd[699]: Stopped target Timers.
May 23 02:42:38 lenalee systemd[699]: Stopping Sockets.
May 23 02:42:38 lenalee systemd[699]: Stopped target Sockets.
May 23 02:42:38 lenalee systemd[699]: Starting Shutdown.
May 23 02:42:38 lenalee systemd[699]: Reached target Shutdown.
May 23 02:42:38 lenalee systemd[699]: Starting Exit the Session...
May 23 02:42:38 lenalee systemd[699]: Received SIGRTMIN+24 from PID 719 (kill).
May 23 02:42:38 lenalee systemd[701]: pam_unix(systemd-user:session): session closed for user lightdm
May 23 02:42:38 lenalee systemd[1]: Stopped User Manager for UID 78.
May 23 02:42:38 lenalee systemd[1]: Stopping user-78.slice.
May 23 02:42:38 lenalee systemd[1]: Removed slice user-78.slice.
May 23 02:42:40 lenalee systemd[1]: Stopping X11 Server...
May 23 02:42:40 lenalee systemd[1]: Starting X11 Server...
May 23 02:42:40 lenalee systemd[1]: Started X11 Server.
May 23 02:42:40 lenalee systemd[1]: Starting Redshift colour temperature adjuster...
May 23 02:42:40 lenalee systemd[1]: Started Redshift colour temperature adjuster.
May 23 02:42:40 lenalee redshift[729]: `RANDR Query Version' returned error -1
May 23 02:42:40 lenalee redshift[729]: Initialization of randr failed.
May 23 02:42:40 lenalee redshift[729]: Trying next method...
May 23 02:42:40 lenalee redshift[729]: X request failed: XOpenDisplay
May 23 02:42:40 lenalee redshift[729]: Initialization of vidmode failed.
May 23 02:42:40 lenalee redshift[729]: Trying next method...
May 23 02:42:40 lenalee redshift[729]: No more methods to try.
May 23 02:42:40 lenalee systemd[1]: redshift.service: main process exited, code=exited, status=1/FAILURE
May 23 02:42:40 lenalee systemd[1]: Unit redshift.service entered failed state.
May 23 02:42:40 lenalee systemd[1]: redshift.service failed.
May 23 02:42:40 lenalee display-manager-start[728]: ** (lightdm:728): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
May 23 02:42:40 lenalee acpid[504]: client connected from 736[0:0]
May 23 02:42:40 lenalee acpid[504]: 1 client rule loaded
May 23 02:42:40 lenalee kernel: nvidia 0000:01:00.0: irq 32 for MSI/MSI-X
May 23 02:42:40 lenalee systemd[1]: redshift.service holdoff time over, scheduling restart.
May 23 02:42:40 lenalee systemd[1]: Stopping Redshift colour temperature adjuster...
May 23 02:42:40 lenalee systemd[1]: Starting Redshift colour temperature adjuster...
May 23 02:42:40 lenalee systemd[1]: Started Redshift colour temperature adjuster.
May 23 02:42:40 lenalee acpid[504]: client connected from 736[0:0]
May 23 02:42:40 lenalee acpid[504]: 1 client rule loaded
May 23 02:42:40 lenalee redshift[744]: Using method `randr'.
May 23 02:42:40 lenalee display-manager-start[728]: ** (process:749): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files
May 23 02:42:40 lenalee lightdm[749]: pam_env(lightdm-greeter:setcred): Unable to open env file: /etc/environment: No such file or directory
May 23 02:42:40 lenalee lightdm[749]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
May 23 02:42:40 lenalee systemd[1]: Starting user-78.slice.
May 23 02:42:40 lenalee systemd[1]: Created slice user-78.slice.
May 23 02:42:40 lenalee systemd[1]: Starting User Manager for UID 78...
May 23 02:42:40 lenalee systemd[1]: Starting Session c2 of user lightdm.
May 23 02:42:40 lenalee systemd[1]: Started Session c2 of user lightdm.
May 23 02:42:40 lenalee systemd[752]: pam_unix(systemd-user:session): session opened for user lightdm by (uid=0)
May 23 02:42:40 lenalee systemd-logind[541]: New session c2 of user lightdm.
May 23 02:42:40 lenalee systemd[752]: Starting Paths.
May 23 02:42:40 lenalee systemd[752]: Reached target Paths.
May 23 02:42:40 lenalee systemd[752]: Starting Timers.
May 23 02:42:40 lenalee systemd[752]: Reached target Timers.
May 23 02:42:40 lenalee systemd[752]: Starting Sockets.
May 23 02:42:40 lenalee systemd[752]: Reached target Sockets.
May 23 02:42:40 lenalee systemd[752]: Starting Basic System.
May 23 02:42:40 lenalee systemd[752]: Reached target Basic System.
May 23 02:42:40 lenalee systemd[752]: Starting Default.
May 23 02:42:40 lenalee systemd[752]: Reached target Default.
May 23 02:42:40 lenalee systemd[752]: Startup finished in 6ms.
May 23 02:42:40 lenalee systemd[1]: Started User Manager for UID 78.
May 23 02:43:16 lenalee acpid[504]: client 736[0:0] has disconnected
May 23 02:43:19 lenalee acpid[504]: client 736[0:0] has disconnected
May 23 02:43:23 lenalee login[700]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
May 23 02:43:23 lenalee systemd[1]: Starting user-0.slice.
May 23 02:43:23 lenalee systemd[1]: Created slice user-0.slice.
May 23 02:43:23 lenalee systemd[1]: Starting User Manager for UID 0...
May 23 02:43:23 lenalee systemd-logind[541]: New session 3 of user root.
May 23 02:43:23 lenalee systemd[1]: Starting Session 3 of user root.
May 23 02:43:23 lenalee systemd[1]: Started Session 3 of user root.
May 23 02:43:23 lenalee systemd[763]: pam_unix(systemd-user:session): session opened for user root by (uid=0)
May 23 02:43:23 lenalee systemd[763]: Starting Paths.
May 23 02:43:23 lenalee systemd[763]: Reached target Paths.
May 23 02:43:23 lenalee systemd[763]: Starting Timers.
May 23 02:43:23 lenalee systemd[763]: Reached target Timers.
May 23 02:43:23 lenalee systemd[763]: Starting Sockets.
May 23 02:43:23 lenalee systemd[763]: Reached target Sockets.
May 23 02:43:23 lenalee systemd[763]: Starting Basic System.
May 23 02:43:23 lenalee systemd[763]: Reached target Basic System.
May 23 02:43:23 lenalee systemd[763]: Starting Default.
May 23 02:43:23 lenalee systemd[763]: Reached target Default.
May 23 02:43:23 lenalee systemd[763]: Startup finished in 10ms.
May 23 02:43:23 lenalee systemd[1]: Started User Manager for UID 0.
May 23 02:43:23 lenalee login[767]: ROOT LOGIN  on '/dev/tty1'

…or not, I don't have that much time to build all this ;P

Hmm, you seem not to get that "critical" error, so perhaps it's really pam what's the biggest problem: on an older nixpkgs I have neither that "critical" no "pam_putenv" stuff in logs.

Rebuilding with a revert of said commit does not help,

Hmm, maybe we should try to update lightdm (incl. greeters). It might solve this problem, and it will likely be good even if it didn't.

I'm looking at this problem right now, too.
On Sun, May 24, 2015 at 3:06 PM, Vladimír Čunát<EMAIL_ADDRESS>wrote:

Hmm, maybe we should try to update lightdm (incl. greeters). It might
solve this problem, and it will likely be good even if it didn't.
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/issues/7902#issuecomment-105014681.

--
NixOS Linux http://nixos.org

So the problem about pam_putenv is that the daemon passes to the session child some NULL env variable. I think it's more about some variable being removed from default nixos configs... I'm digging more..

So, I think it must be some weird bug. Because I'm now able to login with lightdm 1.15.0. I was debugging which env variables the daemon passed to the child, seemed alright. Then suddenly I wasn't able to reproduce this probem anymore :(
So, let's wait for lightdm 1.15 to hit the new unstable release, and I'l try to reproduce again.

I can reproduce this as well, currently running an older generation to get around it. Happy to help test a fix.

@jzellner I feel like it's fixed in lightdm 1.15.

It isn't fixed for me in 1.15
On Tue, May 26, 2015, 12:52 lethalman<EMAIL_ADDRESS>wrote:

@jzellner https://github.com/jzellner I feel like it's fixed in lightdm
1.15.
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/issues/7902#issuecomment-105646749.

Just a reminder, odd version numbers are called "unstable" upstream. http://lists.freedesktop.org/archives/lightdm/2015-May/000791.html

Writing a VM test to ensure this won't regress in the future again.

Anyway I've read through the code, it's not a PAM problem or regression. I've reproduced this once with 1.15 and then when I started debugging I couldn't reproduce it anymore :(

Can confirm, doesn't work for me either with 1.15.

Yes, for me the problems didn't disappear (trying updates atop latest staging).

So apparently nobody noticed that in the logs above, lightdm is actually crashing:
May 23 02:42:37 lenalee systemd[1]: display-manager.service: main process exited, code=killed, status=6/ABRT
May 23 02:42:37 lenalee systemd[1]: Unit display-manager.service entered failed state.

Let's GDB:
#0  0xb772dd00 in __kernel_vsyscall ()
#1  0xb71c7537 in raise () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libc.so.6
#2  0xb71c8c06 in abort () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libc.so.6
#3  0xb7147896 in __nptl_setxid_error () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libpthread.so.0
#4  0xb7147add in __nptl_setxid () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libpthread.so.0
#5  0xb724ff84 in setresgid () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libc.so.6
#6  0x0806d767 in privileges_drop ()
#7  0x0807193e in dmrc_load ()
#8  0x0806f274 in load_dmrc ()
#9  0x08070c37 in common_user_get_language ()
#10 0x08070cd0 in common_user_set_language ()
#11 0x080527d1 in read_cb ()
#12 0x080525d0 in read_cb ()
#13 0xb74a2f05 in g_io_unix_dispatch () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#14 0xb745d767 in g_main_context_dispatch () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#15 0xb745db28 in g_main_context_iterate.isra () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#16 0xb745de23 in g_main_loop_run () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#17 0x0804e8af in main ()

So, setresgid is failing and glibc is abort()-ing. Let's strace:
[pid   776] capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
[pid   776] capset({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_IPC_LOCK, CAP_IPC_LOCK, 0}) = 0
[pid   776] mlock(0xb59a3000, 32768)    = 0
[pid   776] capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = 0
[pid   776] capset({_LINUX_CAPABILITY_VERSION_3, 0}, {0, CAP_IPC_LOCK, 0}) = 0
...
[pid   776] setresgid32(100, 100, -1 <unfinished ...>
[pid   776] <... setresgid32 resumed> ) = -1 EPERM (Operation not permitted)
...
[pid   776] tgkill(776, 776, SIGABRT)   = 0
[pid   776] --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=776, si_uid=0} ---
[pid   783] +++ killed by SIGABRT +++
[pid   780] +++ killed by SIGABRT +++
+++ killed by SIGABRT +++

So setresgid32 fails due to EPERM, just before we did some capset calls. Suspicious. Let's see who's doing that:
Breakpoint 1, 0xb7321890 in capset () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libc.so.6
(gdb) bt
#0  0xb7321890 in capset () from /nix/store/h01rfpdscyggr2vx567qlknf9vzv7zfj-glibc-2.21/lib/libc.so.6
#1  0xb71c23ef in cap_set_proc () from /nix/store/2hq6qqxxlxq8ffm83040nb4lq894sdjk-libcap-2.24/lib/libcap.so.2
#2  0xb73f6f99 in secmem_init () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#3  0xb73f720a in _gcry_secmem_malloc_internal () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#4  0xb73f7438 in _gcry_secmem_malloc () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#5  0xb73f6a90 in _gcry_private_malloc_secure () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#6  0xb73f1fdd in do_malloc.constprop () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#7  0xb73f2ba0 in _gcry_malloc_secure () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#8  0xb73f0fdb in gcry_malloc_secure () from /nix/store/j7d45zhp3xvqzv34747ywr0m7lj4ijsi-libgcrypt-1.6.3/lib/libgcrypt.so.20
#9  0x080514ae in read_string_full ()
#10 0x080522cf in read_cb ()
#11 0x080525d0 in read_cb ()
#12 0xb753ef05 in g_io_unix_dispatch () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#13 0xb74f9767 in g_main_context_dispatch () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#14 0xb74f9b28 in g_main_context_iterate.isra () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#15 0xb74f9e23 in g_main_loop_run () from /nix/store/am6cgml4drp6sb687lmyb1i3laihg3pp-glib-2.44.0/lib/libglib-2.0.so.0
#16 0x0804e8af in main ()

So libgcrypt is messing with us by dropping some capabilities that the process will still be needing later on. This is due to a71f78acf71b4063be1912b8655ce53acb48f24e and the same thing broke cryptsetup in https://github.com/NixOS/nixpkgs/issues/7859 as well. Touching libgcrypt causes a mass rebuild but applying a hack patch to avoid privilege dropping makes it work for me: https://github.com/dezgeg/nixpkgs/commit/96c5e2178e2aa6bac9867c3d79398c281b552c33

@wkennington: I wonder if the capability support in libgcrypt is a good default setting. So far I only know about it causing trouble. I checked some distros, and none have libgcrypt depending on libcap (Debian, Fedora, Arch, Ubuntu). It might be just that such config receives too little testing.

I'll probably just disable it. It seems like it is causing more pain than
it is worth.
On Wed, May 27, 2015, 03:56 Vladimír Čunát<EMAIL_ADDRESS>wrote:

@wkennington https://github.com/wkennington: I wonder if the capability
support in libgcrypt is a good default setting. So far I only know about it
causing trouble. I checked some distros, and none have libgcrypt depending
on libcap (Debian, Fedora, Arch, Ubuntu). It might be just that such config
receives too little testing.
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/issues/7902#issuecomment-105867740.

So, "fixed" by b3176951a190a, I guess. Another mass-rebuild (I think) directly on master...

Fixed for me, though a bit of a late report.


Enabled xml doc generation

Issue #728
@NTaylorMullen / @Eilon / @HaoK

Hi @ajaybhargavb, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Nice, glad I checked in my PR before the doc robot enforcer would have beaten me down...
:shipit:

Thanks


Add changelog and/ or release notes

Hi :wave:
Happy user of webdataset here. Thanks for your great library and hard work!
I found the project some months back and used it for a students DL project to simplify the workflow and dataset handling and it has been great so far! So no large-scale deployment but a desktop DL setting.
One suggestion though: It would really help if there was a Release Notes and/ or ChangeLog file to judge if we should jump versions and to learn about new features. The documentation is good, but a quick peak on what's changed would be great!
At the moment I have the project pinned to v0.1.62 since there apparently was some API change afterwards and my code breaks/ would need to be adapted to that (which I'll do soon but had to postpone for the moment).
Thanks 👍

Yes, I agree that better release management, change logs, and version management would be desirable and I'm going to try to improve that.
Pinning at a particular version is probably the best thing to do for now. The other thing you can do is just install from PyPI, since I make packaged releases only when things are fairly stable.


Travis build fails because of failed publishing attempt

Travis build fails (e.g. https://travis-ci.com/RomanIakovlev/timeshape/builds/90954876) when publishing a snapshot, because sonatypeRelease should only be called on a non-snapshot version.

Resolved in #23


Correct link to Pale Moon release notes in doc/sofware-support.md

Older release notes are regularly moved to "archived release notes" in the Pale Moon project. Since this change was made in November 2022, it's no longer relevant for the main release notes page. The correct/permanent link at this point in time is https://www.palemoon.org/releasenotes-archived.shtml#v31.4.0 -- jumping directly to the related version.

Thanks for the contribution! Pleas sign the CLA and add you name to the AUTHORS file.

Sorry, but I will not sign the CLA. I do not agree with its transfer of my rights to Google.

Sorry, but I will not sign the CLA. I do not agree with its transfer of my rights on any contributions I make or might make in the future to Google.

Why would you make current or future contributions to projects without transferring the rights? If you would want to do that, just make a fork where you can license your contribution however you want. We cannot accept contributions in our project if we don't get rights on those contributions transferred.

Sorry but there's a difference between open source licensing of contributions and granting full copyright (which Google's CLA asks for). If this is a requirement for contributions to libjxl, then I'm afraid I can't contribute; this does not constitute Open Source development.
Closing.

I am not a lawyer but the CLA terms say "You reserve all right, title, and interest in and to Your Contributions."
and also "You hereby grant to Google and to recipients of software distributed by Google a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works."
To me that means you give us and anyone else (non-exclusive) rights to use your contribution in the usual ways for FOSS (distribute, fork, etc), which is kind of what most people assume you do anyway when making a pull request on a public FOSS project. The main 'special' thing in the CLA is that you also grant us and anyone else patents rights on whatever patents you may have that cover parts of your contribution, and also that you allow us to change the license (to something even more permissive).

I absolutely understand the assumed intent of the agreement within this project, but the problem with the CLA that I have is not necessarily the rights themselves in the context of what Google gets to do with my contributions here (which would be giving up exclusivity to contributions' intellectual property rights), but rather with scope.
My concern was that if I sign the CLA, it would grant blanket copyright not only to what I would contribute here, but to anything that would be committed (past, present or future) with or otherwise associated with the linked e-mails account(s) and GitHub username(s) and stated name of me as an individual -- including stuff I would like to keep protected and not share with Google.
However, I have asked legal advice regarding the text of the CLA and although it's a serious concern shared by counsel, it is avoided by having the wording in the CLA be "any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to Google for inclusion in, or documentation of, any of the products owned or managed by Google (the "Work")." -- i.e. as long as that wording is present, scope creep is avoided.
In addition, though, the contributions are already fully licensed for use under the BSD 3-clause libjxl uses, which would make a secondary agreement between me and Google completely unnecessary, unless they want to, in fact, use it in closed-source and/or more restricted context; not a less restrictive one.
Given all that, I can agree with this way of working (as long as the agreements remain solely for content intentionally submitted by me to Google), although it'll take some extra work to align e-mails in use with my Google account (I don't use gmail for any serious work).

Thank you @wolfbeast to re-consider and taking the extra work to align e-mails!

I've signed the CLA and updated AUTHORS in this PR. Let me know if there's anything else I should do.


macOS nightly failure

macOS CI bats tests are occasionally failing with
#   thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Asn1(Error { kind: Value { tag: Tag(0x30: SEQUENCE) }, position: Some(Length(108)) })', src/many-identity-dsa/src/impls/ecdsa.rs:174:64

Investigate.

MRE: https://github.com/fmorency/p256-error-pem

Investigation continues in https://github.com/RustCrypto/elliptic-curves/issues/769

I will bump our dependencies to prepare for the next p256 release.


CSS hljs-attributte not updated

I discovered that in the new version the css class for attributes changed from hljs-attribute to  hljs-attr, but   the css files still have the class hljs-attribute and don't have the new one. ( for example tomorrow.css)

Actually, 'attr' hasn't replaced 'attribute', they are both there with slightly different semantics. Quoting from the class reference:

attr: name of an attribute with no language defined semantics (keys in JSON, setting names in .ini), also sub-attribute within another highlighted object, like XML tag
attribute: name of an attribute followed by a structured value part, like CSS properties

Many themes make a choice not to highlight "attr", which is okay. But "attribute" is important and as far as I know is defined everywhere (including tomorrow.css).


feat: Ability to change keyBackgroundColor, keyHighlightColor  and keyBorderRadius

More flexibility to change the key background color, highlight color and the key border radius as well.

Looks great but there's also the space bar not behaving as expected. I've already found the bug do you want to open another PR and merge that in too?
The bug is here where I've forgotten to handle the space bar additions with respect to the current cursor position.


Update to swift 403

Update to swift403

Codecov Report

Merging #67 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #67   +/-   ##
=======================================
  Coverage   80.47%   80.47%
=======================================
  Files           8        8
  Lines         676      676
  Branches       98       98
=======================================
  Hits          544      544
  Misses         71       71
  Partials       61       61

Flag
Coverage Δ

#CloudFoundryEnv
80.47% <ø> (ø)
:arrow_up:

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 37cd078...bca69e4. Read the comment docs.


feat(sys): High-level personality(2) wrappers

Adds a high level Persona bitflags enum, as well as personality::get() and personality::set() for interacting with libc::personality().
Closes #1330.
See also https://github.com/rust-lang/libc/pull/1974.

Sounds good; I can do all of those.

Okay, I've added some doctests and a CHANGELOG entry. I'll also rebase once that PR goes through.

This looks good.  You'll also need to rebase to pick up a Nix fix for those libc deprecations.

Looks like musl libc doesn't support some of these persona values, so I went ahead and cfg'd them out.
Upsteam musl change: https://www.openwall.com/lists/musl/2020/11/18/1

Last CI failure looks unrelated:
test test_drop ... error: process didn't exit successfully: `/linux-runner x86_64 /target/x86_64-unknown-linux-gnu/release/deps/test_aio_drop-d7c4918b8a06891c` (signal: 1, SIGHUP: hangup)

Please rebase to fix the CHANGELOG.

I've updated this PR to not be blocked on libc: the signature of personality(2) is c_ulong -> c_int where c_int is always guaranteed to hold a valid persona, so c_int is the correct underlying type.

I've updated this PR to not be blocked on libc: the signature of personality(2) is c_ulong -> c_int where c_int is always guaranteed to hold a valid persona, so c_int is the correct underlying type.

lol.  The C API doesn't make much sense, then.

This looks good now.  It just needs a squash.  And you'll probably want to rebase at the same time, or you may get blocked waiting for Travis.

lol. The C API doesn't make much sense, then.

Yep. My educated guess is that it's unsigned long because every syscall parameter is (or was? it's been a moment since I've checked) unsigned long at the end of the day, and whoever wrapped it in glibc et al. got lazy. Oh well.

This looks good now. It just needs a squash. And you'll probably want to rebase at the same time, or you may get blocked waiting for Travis.

:+1: I'll squash and rebase tomorrow.

Okay, squashed and rebased. Let me know if there's anything else (&c &c)

Unrelated failure?
failures:

---- src/unistd.rs - unistd::alarm (line 1636) stdout ----
thread 'src/unistd.rs - unistd::alarm (line 1636)' panicked at 'test executable failed:

thread 'main' panicked at 'assertion failed: start.elapsed() >= Duration::from_secs(1)', src/unistd.rs:21:1
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

', src/librustdoc/test.rs:341:17
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Try rebasing again.

Rebased!

(Same unrelated failure as before).


Use the healthcheck system to wait for the container to be ready

Opened as a WIP (Need to familiarise with the docker API for ruby).
The idea is to remove the need of work around #545 and rely on the provided healthcheck system to ensure that a container has been started entirely before running the rspec tests.

Please note, this only works with docker 1.12 and above

Other options here, would be using the healthcheck entirely and only start the tests when the instance is actually healthy. With a timeout (customisable?) in case it never becomes ready.

Another possible implementation (out of my depth though), is using the event system:
https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/monitor-docker-s-events and look for events health_status: healthy for the instance.
A way to do that from the CLI is docker events -f event="health_status: healthy", this removes the polling and allows the application to be in a push model.

Thanks!

Released as v2.60.4.


Create e2e tests for /packages/api

Motivation
We are moving all the p0tion coordinator infrastructure to a single server application (API). This new API was built using NestJS and we are missing e2e tests (end-to-end tests).
Details
Write e2e tests for each route (endpoint) in the different modules (auth, ceremonies, circuits, participants, storage and users). Remember to check the following:

There is some data (circuits, zkeys, etc) that could be used from @actions or duplicate it into /api
We should be able to run the whole pipeline in normal scenarios (create, contribute, finalize)

I'd like to take this issue @NicoSerranoP

I'd like to take this issue @NicoSerranoP

@yuliaSharabi Thank you very much! Please let me know if you need any help. You could follow some of the p0tion's documentation to generate the AWS .env variables you need:

@yuliaSharabi I just updated the issue description with a tutorial to deploy the API Coordinator application in case you need it


Documentation of 'list containers' API call misses 'Names' element

When calling GET /containers/json the objects in the returned array contain a Names element with an array. This property is not documented in the API doc so I wonder whether this is an official feature and one can use it without being afraid that it gets removed later ?
Also, why is this an array and no a scalar value because AFAIK a container can carry only a single name (this can be also infered from the response of 'container inspect').

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

re: Names vs Name - see: https://github.com/docker/docker/pull/14128  for an on-going discussion - apparently there can be multiple names.

PR #14676 will add it to the docs though.

Thanks ! good to know that it is an official feature since I can really use that ;-)


Add 'A Conflict-Free Replicated JSON Datatype' paper

Add a link to 'A Conflict-Free Replicated JSON Datatype' paper in README

Can I get a thumb up/down to merge this, anyone?


inst -> EXPRES

https://github.com/alexander-wise/RvLineList/blob/68a2cf4d4e8e116b221c857f6b836df9ed194ee1/src/empirical_line_lists.jl#L135

moved to old code folder because this function should really be in EchelleInstruments


Authenticator performance

Description
Pull changes from https://github.com/ThePalaceProject/circulation-core/pull/44 into circulation.
Motivation and Context
Makes authenticator loading faster by warming the cache with the needed integration settings.

I added a commit for reducing the setup_adobe_vendor_id run from load_settings. The elapsed time from the pyinstrumented data was 4.2 seconds and in my own local baselines it hovered around 4 seconds. I was able to get this down to on the order of 0.75s in my environment by splitting up the per-library configuration loops and short circuiting the check that used setup_adobe_vendor_id. There are still improvements that can and should be made under the hood here, but this seemed like a good start. Attempts at pre-caching the values did not yield any consistent benefit and did not justify the extra complexity.
I also added a commit to pick up an elapsed time logging context manager that was added to core.


Initial ARMv8-M MPU support.

The v8-M MPU is entirely different from, and incompatible with, the
earlier PMSA MPU. And so this commit does two things:

Makes the old RegisterBlock depend on armv6m (for M0+) and armv7m.

Defines a new RegisterBlock containing the right layout for v8m.

The hack for documenting fields by opting in x86-64 means the v8m
version won't appear in the docs.

r? @jonas-schievink
(rust_highfive has picked a reviewer for you, use r? to override)


special workspace behavior with multi monitor

add something in the special workspace
use togglespecialworkspace to show it (works)
use togglespecialworkspace to hide it (works)
move focus to a workspace on a different monitor
togglespecialworkspace -> does nothing (probably just doesn't show the window)
togglespecialworkspace -> does nothing (probably hidding the special workspace that is invisible)
togglespecialworkspace  -> finally works as expected

also experiencing this

well, I can't repro.

same for me

open special workspace on first monitor
focus on second monitor
first togglespecial hides special on first monitor and i loose focus on my active window on second monitor
second togglespecial returns focus to windows on second monitor
third togglespecial shows special on second monitor

@vaxerski
it feels like, that system treats this special like it's on all monitors
feels like time race:
so system tries to show this special on second monitor before moving this special from first to second monitor

It also happens to me. Here's video

right now i'm using this hack:
bind=SUPER,f1,togglespecialworkspace,pde
bind=SUPER,f1,focusmonitor,+1
bind=SUPER,f1,focusmonitor,-1

right now i'm using this hack:
bind=SUPER,f1,togglespecialworkspace,pde
bind=SUPER,f1,focusmonitor,+1
bind=SUPER,f1,focusmonitor,-1

This works, but it will make spacial workspace lose focus.

This works, but it will make spacial workspace lose focus.
To fix loosing focus i had to add additional toggles, so final workaround looks like this
bind = $mainMod, T, togglespecialworkspace, telegram bind = $mainMod, T, focusmonitor, +1 bind = $mainMod, T, focusmonitor, -1 bind = $mainMod, T, togglespecialworkspace, telegram bind = $mainMod, T, togglespecialworkspace, telegram
Super weird, but works

i've commented general section in my config and toggling special workspace works  without crutches

@vaxerski
i've reproduced wrong behaviour with general.layout = master
if i'll remove this, then specialworkspace works fine

It seems it has been fixed in a recent version. I can't reproduce anymore

Still an issue for me on latest commit (79b8576)

@KrolixW
have you checked this behaviour with default config?

@KrolixW have you checked this behaviour with default config?

default config has dwindle layout selected. The issue only occurs if you set layout to master


UI Changes: Search Bar

Problem
Search Bar result are going off the screen for mobile users.

Solution
The search bar should look something like this so the users are able to read the search results and they don't have to scroll for the whole result to show up on their screen
Something like this:

On way to achieve this is to add the docsearch.css file into the directory instead of using the CDN link and then adding a media query for the width property of this class .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]
Alternative
Looking for any alternatives where we don't have to add an entire CSS file just achieve this small result.

Created a pull request for the issue


Get thread_id by user_id

Would be great implement a way to search for user_id and get a thread_id.
The option is available if you go do the DM section in the IG app and search for a specific user, you will get to a thread no matter
if a previous conversation is available or not.
Thank you.

@edisax added Client.direct_search(query)
where query is string, example username, maybe it will be useful

Great thanks!
I noticed that it works great on 2 of my accounts but one of them is verified so it's making other requests when searching for a user and opening a thread.
Here is the GET request done:
https://i.instagram.com/api/v1/direct_v2/threads/get_by_participants/?recipient_users=[13154671]&seq_id=2580572&limit=20
Possible to add that to?
Thanks!

@edisax please check cl.direct_thread_by_participants


Setting default for client name

If CLIENT_NAME is not set it will default to the container ID via HOSTNAME


Project references SBT 0.10

The homepage for this project says "SBT 0.10 plugin to compile XML Schema with XJC." I don't appear to have the permissions to edit. @retronym would you be able to remove the reference to 0.10?

@benmccann You should have full admin rights now.

Thanks!


Function group... IN UPDATE TASK flag not updated

Hi,
It looks like the IN UPDATE TASK flag is not being updated:

Thanks,
Nuno

I'm not sure what it is nor if it is related but this flag in the top is also not being updated:

UPDATE_TASK: I have reproduced the issue, clone https://github.com/larshp/CLAS and it shows a diff
VARCL: I guess this is a separate issue, will look into the UPDATE_TASK first

VARCL: in the standard code it sets VARCL to 'X'. Any chance that the code in the source system is quite old?

VARCL: in the standard code it sets VARCL to 'X'. Any chance that the code in the source system is quite old?

No... all this is recently created code.

Actually I just created a new function group moments ago and the same happpened:

yea, I also saw the problem in some of my code a few days ago. Looks like VARCL is always blank for the TOP includes in function groups

Is it simple to solve? I now have a diff for each function group I create :)

temporary workaround is to update the field in PROGDIR(REPOSRC?) manually
I'm not sure how to fix it in abapGit, perhaps skip calling the UPDATE_PROGDIR function module and add the functionality in custom code

closing this issue, topic is misleading as the UPDATE TASK has been fixed,
VARCL issue moved to https://github.com/larshp/abapGit/issues/435


How to and  List<? extends RoaringBitmap>  efficiently

I want to perform and calculation on Iterator<? extends RoaringBitmap> bitmaps。
I found this method  public static RoaringBitmap and(final Iterator<? extends RoaringBitmap> bitmaps, final long rangeStart, final long rangeEnd)
But I don't know how to set rangeStart and rangeEnd efficiently
Can you give me some advice about this function or others method。Thank you very much！

ok,thakns!

Yes, the function you have described works too. We offer multiple ways to solve these problems.


Add fenecon to latest

Thanks for spending your time and providing a new adapter for ioBroker.
Your adapter will get a manual review as soon as possible. Please stand by - this might last one or two weeks. Feel free to continue your work and create new releases. You do NOT need to close or update this PR in case of new releases.
In the meantime please check any feedback issues logged by automatic adapter checker and try to fix them.
You will find the results of the review and eventually issues / suggestings as a comment to this PR. So please keep this PR watched.
If you have any urgent questions feel free to ask.

reminder 21.6.2024

RE-CHECK!

@sg-app
First of all - THANK YOU for the time and effort you spend to maintain this adapter.
And sorry for the long delay due to holiday absence and lack of time.
I would like to give some feedback based on my personal oppinion. @Apollon77 might have additional suggestions or even a different oppinion to one or the other statement. Please feel free to contact him if you cannot follow my suggestions or want to discuss some special aspects.

[ ] Readme.md is very short
The README.md of this adapter is very minimalistic. Please add a short description about the functionality of the adpter,  add links the the manufacturer site (if applicable) and add a description of the configuration of the adapter. If you provide an external documentation - which should be located at doc/xx directory - please add links to at least the english documentation.

[ ] Readme.md should contain a link to the manufacturer and/or device
The README.md of any adapter related to device or m ultiple devices of a manufacturer should contain a link the manufacturers website and/or to a description of the device. This is to anable new users to easily check wether they associate the adapter with the correct device(s). (See https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-latest-repository paragraph 4.)

[ ] package.json should contain useful keywords
Please add some matching keywords to package.json. "template" is most likely no keyword related to this adapter. And I do not see a keywaord noting the adapterm the manufactorer or the functionality.

[ ] package.json should require up to date js-controller and admin version
New adapters should request js-controller 5 and admin 6 as minimum if there are no strong reason to support (and test) older releases. So please add / adapt at io-package.json:
      "dependencies": [
          {
              "js-controller": ">=5.0.19"
          }
      ],
      "globalDependencies": [
          {
              "admin": ">=6.13.16"
          }
      ]

[ ] invalid characters should be filtered from object ids
Some characters are not allowed to be used as part of an object id. If an object id is not hardcoded or even depending on user input you should ensure that such an object id does not contain an invalid character.  Iobroker provides the constant adapter.FORBIDDEN_CHARS, i.e. by using the following snippet:
function name2id(pName) {
    return (pName || '').replace(adapter.FORBIDDEN_CHARS, '_');
}

You seem to receive the stateIds (or components of the stateId) from an external source. This infomation could contain invalid characters. So its required ths filter / replces the date using FORBIDDEN_CHARS constant. In addition dots and spaces must be removed. Spaces cause some vis apps to fail. Best practise for new adapters would be to allow 0-9,a-z,A-Z,_,- only.

[ ] folder objects must be created
At https://github.com/sg-app/ioBroker.fenecon/blob/b87d32124a46070f7fc5f3eb138d71a0c160b6c2/main.js#L116 you create stateIds be concatenating strings with '.'. Dots within a stateId are used as folder (device, channle, state) seperator. You must create objects for every level. The code looks like you only create the state object (tree leeve) at the moment.

[ ] consider caching existing states
Currently a getState is executed whenever a state is updated. Ad this is only done to detect if the state must  e created first I would suggest to cache the states already created an checked and to avoid the getState calls. Simply check if the stateId exists within an iobject. If not, use getState and create state if required. Afterwards store the stateId as key inside the object. This way getState is only called once per adapter start.

[ ] unused onStateChange handler
You configred an onStateChange handler but it looks like this handler does not do any important tasks. Please remove the handler if the adapter does not react on state changes.

[ ] Why do you create any state with write:true access?
As you do not process any write to states - you do not subscribe to any state ond you do not have a working onStateChange handler) wroiting to a state will have no effect. So please set write:false for all states.

[ ] reevaluate state roles
Only the values specified here (https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md) may be used as state roles. Do not invent new names as this might disturb the functionalyity of other adapters or vis.
In addition the roles MUST match the read/write functionality. As an example a role value.* requires that the state is a readable state. Input states (write only) should have roles like level.*. Please read the description carefully. States with role 'button' should (must) have attribute 'common.read=false' set. A button ( "Taster" in german only triggers when you press but else has no state), so it should also be not readable. This is also like HomeMatic does it. A switch has clear states true or false and so can be read.
Please avoid using general roles (state, value) whenever a dedicated role exists.

[ ] consider using adapter.setTimeout / this.setTimeout instead of (standard) setTimeout
The adapter package provides wrapper routines for native setTimeout, setInterval, clearTimeout and clearInterval. Using those routines ensures that timers are cancelled on on load. Additional checks on thomse limits might be performed, too. So consider replacing native setTimeout/clearTimeout by adapter.setTimeout/adapter.clearTimeout or this.setTimeout/this.clearTimeout. The same refers to setInterval/clearInterval.

[ ] check and limit configurable timeouts / intervals
Node setTimeout/setInterval routines have a maximum allowed value of 2,147,483,647 ms. Using delays larger than 2,147,483,647 ms (about 24.8 days) result in the timeout being executed immediately. So all (user configurable) values passed to setTimeout / setInterval should be checked in code and limited. Checking/limiting in code is required as config data could be changed directly or by some other adapter too, so limiting at ui level might not be sufficient.

[ ] calculateAutarchiy code
Does this code really work as expected? I doubt.
When using getState / setState you should NOT add own instance as this part is added automatically bei get/setState. Only get/setForeignState requires a full stateId including namespace.
Same error seems to exist at calculateSelfConsumption

[ ] adapt testing to supported node releases
Tests for node 18 are mandatory.
Tests for node 20 are mandatory as this is the recommended node version.
Tests for node 22 should be added unless you already know incompatibilities which cannot be fixed immidiatly. In this case please create a issue stating the problem and fix as soon as possible.
So the recommended testmatrix is [18.x, 20.x, 22.x] depending on engines requirments setting at package.json
Tests must be performed at all supported platforms (linux, windows, mac) unless special hardware or software restrictions prohibit this.

Thanks for reading and evaluating this suggestions.
McM1957
Please add a comment when you have reviewed and fixed the suggestionsor at least commented the suggestions and you think the adapter is ready for a re-review!
reminder 28.7.2024

RE-CHECK!

Hi,
i have completed all points.

Why do you create any state with write:true access?

The feature for writing states was planned and will be implemented at a later date.
I hope I was able to address all points to your satisfaction.
Georg

REVIEW - W.I.P

[ ] Readme.md is very short
The README.md of this adapter is very minimalistic. Please add a short description about the functionality of the adpter,  add links the the manufacturer site (if applicable) and add a description of the configuration of the adapter. If you provide an external documentation - which should be located at doc/xx directory - please add links to at least the english documentation.

[ ] Readme.md should contain a link to the manufacturer and/or device
The README.md of any adapter related to device or m ultiple devices of a manufacturer should contain a link the manufacturers website and/or to a description of the device. This is to anable new users to easily check wether they associate the adapter with the correct device(s). (See https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-latest-repository paragraph 4.)

[ ] package.json should contain useful keywords
Please add some matching keywords to package.json. "template" is most likely no keyword related to this adapter. And I do not see a keywaord noting the adapterm the manufactorer or the functionality.

[ ] package.json should require up to date js-controller and admin version
New adapters should request js-controller 5 and admin 6 as minimum if there are no strong reason to support (and test) older releases. So please add / adapt at io-package.json:
      "dependencies": [
          {
              "js-controller": ">=5.0.19"
          }
      ],
      "globalDependencies": [
          {
              "admin": ">=6.13.16"
          }
      ]

[ ] invalid characters should be filtered from object ids
Some characters are not allowed to be used as part of an object id. If an object id is not hardcoded or even depending on user input you should ensure that such an object id does not contain an invalid character.  Iobroker provides the constant adapter.FORBIDDEN_CHARS, i.e. by using the following snippet:
function name2id(pName) {
    return (pName || '').replace(adapter.FORBIDDEN_CHARS, '_');
}

You seem to receive the stateIds (or components of the stateId) from an external source. This infomation could contain invalid characters. So its required ths filter / replces the date using FORBIDDEN_CHARS constant. In addition dots and spaces must be removed. Spaces cause some vis apps to fail. Best practise for new adapters would be to allow 0-9,a-z,A-Z,_,- only.

[ ] folder objects must be created
At https://github.com/sg-app/ioBroker.fenecon/blob/b87d32124a46070f7fc5f3eb138d71a0c160b6c2/main.js#L116 you create stateIds be concatenating strings with '.'. Dots within a stateId are used as folder (device, channle, state) seperator. You must create objects for every level. The code looks like you only create the state object (tree leeve) at the moment.

[ ] consider caching existing states
Currently a getState is executed whenever a state is updated. Ad this is only done to detect if the state must  e created first I would suggest to cache the states already created an checked and to avoid the getState calls. Simply check if the stateId exists within an iobject. If not, use getState and create state if required. Afterwards store the stateId as key inside the object. This way getState is only called once per adapter start.

[ ] unused onStateChange handler
You configred an onStateChange handler but it looks like this handler does not do any important tasks. Please remove the handler if the adapter does not react on state changes.

[ ] Why do you create any state with write:true access?
As you do not process any write to states - you do not subscribe to any state ond you do not have a working onStateChange handler) wroiting to a state will have no effect. So please set write:false for all states.

[ ] reevaluate state roles
Only the values specified here (https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md) may be used as state roles. Do not invent new names as this might disturb the functionalyity of other adapters or vis.
In addition the roles MUST match the read/write functionality. As an example a role value.* requires that the state is a readable state. Input states (write only) should have roles like level.*. Please read the description carefully. States with role 'button' should (must) have attribute 'common.read=false' set. A button ( "Taster" in german only triggers when you press but else has no state), so it should also be not readable. This is also like HomeMatic does it. A switch has clear states true or false and so can be read.
Please avoid using general roles (state, value) whenever a dedicated role exists.

[ ] consider using adapter.setTimeout / this.setTimeout instead of (standard) setTimeout
The adapter package provides wrapper routines for native setTimeout, setInterval, clearTimeout and clearInterval. Using those routines ensures that timers are cancelled on on load. Additional checks on thomse limits might be performed, too. So consider replacing native setTimeout/clearTimeout by adapter.setTimeout/adapter.clearTimeout or this.setTimeout/this.clearTimeout. The same refers to setInterval/clearInterval.

[ ] check and limit configurable timeouts / intervals
Node setTimeout/setInterval routines have a maximum allowed value of 2,147,483,647 ms. Using delays larger than 2,147,483,647 ms (about 24.8 days) result in the timeout being executed immediately. So all (user configurable) values passed to setTimeout / setInterval should be checked in code and limited. Checking/limiting in code is required as config data could be changed directly or by some other adapter too, so limiting at ui level might not be sufficient.

[ ] calculateAutarchiy code
Does this code really work as expected? I doubt.
When using getState / setState you should NOT add own instance as this part is added automatically bei get/setState. Only get/setForeignState requires a full stateId including namespace.
Same error seems to exist at calculateSelfConsumption

[ ] adapt testing to supported node releases
Tests for node 18 are mandatory.
Tests for node 20 are mandatory as this is the recommended node version.
Tests for node 22 should be added unless you already know incompatibilities which cannot be fixed immidiatly. In this case please create a issue stating the problem and fix as soon as possible.
So the recommended testmatrix is [18.x, 20.x, 22.x] depending on engines requirments setting at package.json
Tests must be performed at all supported platforms (linux, windows, mac) unless special hardware or software restrictions prohibit this.

RE-CHECK!

Thanks, most remarks are solved. For those I have still remarks:

[ ] invalid characters should be filtered from object ids

You filter illegal characters at object creation
(https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L116).
But allowedId is only used at creation of object. When updating the state the unfiltered Id seems to be used. (https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L126)
This seems to be incorrect.
In addition I do not see a filtering for "channelName"
https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L152

[ ] folder objects must be created

You construct the state Id using address.jpin(".");
https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L144
So your stateIds will look something like "aaa.bbb.ccc.ddd". So you MUST create each level seperatly, i.e.
createObject ('aaa',...) --> type device or channel or folder
createObject ('aaa.bbb',...) --> i.e. type folder (or channel)
createObject ('aaa.bbb.ccc',...) --> type foleder
createObject ('aaa.bbb.ccc.ddd',...) -> type state
If you are sure that there are always exactly two elements, you should check this at code to block incorrect data received.
Do NOT trust that the webservice sends valid data only. (Often a webservice should send some structured rest data but in case of a problem a html page is transmitted. So you should check the data retrieved and block incorrect data from creating nonsense states etc.

[ ] consider caching existing states
You could (and should) avoid getObject calls only to detect if you already initialized them. As you call createUpdateState only during initalization

https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L126
https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L229
https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L255
you could remove the check wehtehr the object exists and execute extendObject always. extendObject creates the object if it does not exists and updates the object with the information passed to extendObject. If you do not want to update createObjectNotExists will do nothing if an object already exists.
So checks
https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L147
https://github.com/sg-app/ioBroker.fenecon/blob/28e5fb459ac358c90b884acd4a5be6809e177ef1/main.js#L162
coudl be removed.

[ ] reevaluate state roles

Please set correct state roles for all states. You might do this using some configuration table. Roles are important for vis and type detector. Setting all states to role "state" is a last chance way only and intended for adapter knowing nathing about the content they receive (i.e. mqtt). As this adapter handles values from an inverter, most or all states should be known and correct types and units should be set. You can add a mapping table for all known states and log new / unknown states so that the can be implemented at next release.
Thanks for reading and evaluating this suggestions.
McM1957
Please add a comment when you have reviewed and fixed the suggestionsor at least commented the suggestions and you think the adapter is ready for a re-review!
reminder 2.8.2024

RE-CHECK!

RE-CHECK!

RE-CHECK!

Hello,

invalid characters should be filtered from object ids

Filter for all IDs now added.

folder objects must be created

a channel is created for each object
https://github.com/sg-app/ioBroker.fenecon/blob/31a8117398e274948f1c58ee0c989e659eb9219e/main.js#L152
and then the state is created inside the channel object
https://github.com/sg-app/ioBroker.fenecon/blob/31a8117398e274948f1c58ee0c989e659eb9219e/main.js#L165

consider caching existing states

getObject calls are removed

If you are sure that there are always exactly two elements, you should check this at code to block incorrect data received.
Do NOT trust that the webservice sends valid data only. (Often a webservice should send some structured rest data but in case of a problem a html page is transmitted. So you should check the data retrieved and block incorrect data from creating nonsense states etc.

After splitting from the address property i checked the length
https://github.com/sg-app/ioBroker.fenecon/blob/31a8117398e274948f1c58ee0c989e659eb9219e/main.js#L120

reevaluate state roles

next time most state roles will be assigned correctly

the status roles are now correctly assigned.

RE-CHECK!

the status roles are now correctly assigned.

I detected exact one location specifying "role": https://github.com/sg-app/ioBroker.fenecon/blob/31a8117398e274948f1c58ee0c989e659eb9219e/main.js#L165
and here role : 'state' is hardcoded. So I do not really understand your last comment.
But this can be fixed later too - so please note this as open issue and improve roles with one of the next releases. Especially inverters should benefit with correct roles when used at vis systems.

This adapter has been released to latest repository and should be visible within 24h maximum.
Please create a thread at https://forum.iobroker.net/category/91/tester titled like "Test Adapter " to collect some user feedback and provide a link to this topic when requesting addition to stable repository later.
Note: If an other testing topic already exists, it' OK to continue using this topic too.


[WIP]: ✨ Types for List

Resolve #575

It seems that this way of reexporting in ./index don't create a good experience in the editor when someone hovers the component.
Scrim

vs List

We probably need to solve this by using another technique.

So this happens if we import and then export instead of just export directly?
import { List } from './List'
import { ListItem } from './ListItem'

List.ListItem = ListItem

export { List }

vs.
export { Scrim } from './Scrim'

We could move List.ListItem = ListItem to List? Would that help?

So this happens if we import and then export instead of just export directly?
import { List } from './List'
import { ListItem } from './ListItem'

List.ListItem = ListItem

export { List }

vs.
export { Scrim } from './Scrim'

We could move List.ListItem = ListItem to List? Would that help?

Its because of the first example in combination with typings. Look at TopBar as an example
We still have to test and see how this looks like when consumed. Best way would be to update Storybook stories to .tsx

When I was fiddling with the Banner component, I did it like this:
In Banner.tsx
import { BannerActions, BannerActionsProps } from './BannerActions'
import { BannerIcon, BannerIconProps } from './BannerIcon'
import { BannerMessage, BannerMessageProps } from './BannerMessage'
...

type Props = {
  BannerActions?: BannerActionsProps
  BannerIcon?: BannerIconProps
  BannerMessage: BannerMessageProps
}
...
Banner.BannerActions = BannerActions
Banner.BannerIcon = BannerIcon
Banner.BannerMessage = BannerMessage

Banner.displayName = 'Banner'

export { Banner }

In index.ts
import { Banner } from './Banner'
import { BannerIcon } from './BannerIcon'
import { BannerMessage } from './BannerMessage'
import { BannerActions } from './BannerActions'

Banner.BannerIcon = BannerIcon
Banner.BannerMessage = BannerMessage
Banner.BannerActions = BannerActions

export { Banner }

I can't remember if that worked 100% percent but I think so? 🤔

Auto suggestions in the code works

But why is that import done twice? If those child components are imported into Banner, it shouldn’t be necessary to do it again in index?

But why is that import done twice? If those child components are imported into Banner, it shouldn’t be necessary to do it again in index?

Don't forget rule no 1: We focus on making things works without warnings and errors, we have no idea if things actually makes sense 😂  I can't remember if it didn't worked or if I just didn't got that far, but the Banner wasn't finished at that point :)


RTL4b

Looks good other than the one comment

LGTM

Rebased with no changes.

This can be merged, right?

Sure, merge away


Crash on Startup

Expected Behaviour
Launch and not crash.
Actual Behaviour
Launches and crashes within a few seconds with no error box to be seen. Lights on keyboard go dark while it is trying to run then go back to G Hub configuration.
Reproduction steps

Have G Hub already running.
Attempt to launch Aurora.
Crashes with no error popup.

Frequency
Every time you try to launch it.
Aurora Version:
0.6.4b
Previously an Issue?
No, it was working just fine until I attempted to remedy the microphone issue I was experiencing (i.e. where it hogs the microphone and doesn't let the computer sleep).
2019-09-25 16.30.07.log
2019-09-25 16.30.17.log
2019-09-25 16.33.12.log
2019-09-25 16.35.02.log
2019-09-25 16.29.52.log

This sometimes happens if MSI Afterburner or RTSS is open. Do you have any of those running?

Ohhh I see, I do have RTSS running. I will try with it not running.

Okay, so that does seem to be the issue. Do you happen to know why that is a conflict?

Try #1704

Interesting, I will try that. I still see the microphone icon appearing in my background process tray though. I believe that will prevent my pc from going to sleep, which I'm aware is a separate issue from this one.

Okay, it seems to be working now without a hitch.


Fails to starts with if (!options.clientID) throw new Error('OAuth2Strategy requires a clientID option');

Describe the bug
Can't start the server
To Reproduce
Steps to reproduce the behavior:

Clone the repo
Run docker-compose up

Expected behavior
Server starts
Desktop (please complete the following information):

OS: MacOS

Additional context
Don't need slack integration to try it out.

Hey @nohaycubetto,
For now, Veaos is only supporting login via slack.
I believe that in the next week~2 weeks we will have also log in and registration via email+password.
Thanks for your feedback!

Hey @nohaycubetto,
For now, Veaos is only supporting login via slack.
I believe that in the next week~2 weeks we will have also log in and registration via email+password.
Thanks for your feedback!

I have another open-source project that handles authentication:
https://github.com/authgrid/authgrid
after I will add there the option to login via Slack I will integrate it instead of the built-in authentication in Veaos

I have another open-source project that handles authentication:
https://github.com/authgrid/authgrid
after I will add there the option to login via Slack I will integrate it instead of the built-in authentication in Veaos


Time Validation

I'm using yii2 active form.
One of my input field is time field which is accepting HH:MM eg : 16:40 .
Is there is any way i can ensure in yii2 to validate this field?

For me works well
['attr', 'date', 'format'=>'HH:mm']

found in the documentation


ability to pass list of included attributes

Similar to the exclude parameter of sqlalchemy_to_pydantic(), it would be useful to be alternately able to specify an include list of columns. This would be convenient when we have a model with say 30 columns of which only 10 need to be specified when creating a new item. This would be similar to the Marshmallow "only" option.

fro refe, it is implemented in this fork
https://github.com/ggabriel96/alchemista/


[bug]  react sortable-js, two types of items and nested items

I have a problem with react-sortable-js.
I want to create a component that will handle two type of item category and item.
I deal with the following scenario

Move product J, as a nested item, to section G
Move nested product I from section G to the same level as product F.
Move between lists Section G, with all children to the end of the list.

Below is my code:
https://codesandbox.io/s/sortable-lce48w?file=/src/components/Sortable.tsx
What is wrong and what should I fix?

You only have one sortable list, you need to initialize sortable for each list you have, including the nested sub-lists. Sortable doesn't automatically make nested lists sortable,


harfbuzz: Backport fix for CVE-2023-25193 to stable

PR #216225 updated harfbuzz to 7.0.0 in unstable. Version 7.0.0 fixes CVE-2023-25193 which affects all prior versions of harfbuzz, including version 5.2.0 currently in stable-22.11.
Unfortunately the following patches are not compatible with harfbuzz 5.2.0:

https://github.com/harfbuzz/harfbuzz/commit/85be877925ddbf34f74a1229f3ca1716bb6170dc
https://github.com/harfbuzz/harfbuzz/commit/8708b9e081192786c027bb7f5f23d76dbe5c19e8

@risicle Wanted to look at adapting one of the patches so that it applies to harfbuzz 5.2.0, so I didn't create a backport PR for 22.11 based on the update to 7.0.0. This issue serves to track the CVE until a suitable PR is created.
See https://nvd.nist.gov/vuln/detail/CVE-2023-25193

Initially I'm only going to look at porting the first patch, the "arbitrary limit on look-back" is much better than nothing.

Seems long fixed.