Dashboard won't run

Describe the bug
InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.
To Reproduce
Steps to reproduce the behavior:

Download and extract archive;
Open solution in VS2022;
Run yarn install from "Package Manager Console"
Run es-replicator
Navigate to localhost:5000

Expected behavior
Dashboard showing the current replication metrics.
Actual behavior
InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.
Config/Logs/Screenshots
No changes made to the download.
Additional context
The replication itself seems to work. The checkpoint file is being modified. It seems like the routing defined is not getting picked up. I've looked for the exception message shown, however this brought me in the wrong direction. I think I have to look into the routing. I've tried to create some test projects for Vue, however I can't find any differences in the typescript files, but I can't seem to find an example with the projects startup.cs as well.
 Any ideas?
Cheers,
Peter

I think the web app doesn't start when in debug mode. You can just go to the ClientApp directory and run yarn serve.

Thanks for the tip in the right direction. This is indeed the issue. We've setup an Ubuntu wsl and ran the frontend from there and the backend from VS2022. This works perfectly.


feat: Add verify proof to DID Doc

Add VerifyProof() method to DID document
Closes #392
Signed-off-by: Sandra Vrtikapa<EMAIL_ADDRESS>

this is merged as part of different pull request, this was just test for build failing


redis doesnt work on v20170321.0

Hi there,
I have odoo instances on flynn app, with flynn-odoo repo on github (myown).
On flynn v20170217.0 it worked fine, but on v20170321.0 it tells me in the logs:
[2017-03-26T13:10:07.003708Z]    ConnectionError: Error -2 connecting to leader.redis-1a87d1e4-9c10-4852-a2dd-680fa75e4247:6379. Name or service not known.
when i remove the resource odoo works fine, but it should not run save by more than one processes.  So please tell me what to do...
thanks,
Martin

@grauschnabel did you restore the v20170321.0 cluster from a backup or is it a fresh cluster?
Does the redis-1a87d1e4-9c10-4852-a2dd-680fa75e4247 app exist (check flynn apps).

It's a fresh cluster.
I will look at that tomorrow, but "flynn redis redis-cli" worked, I remember.

Yes, the redis-*** app exists.  How can I fix this?  This is a breaking bug for me.

@grauschnabel the Redis appliance is currently broken as it generates incorrect REDIS_HOST and REDIS_URL environment variables.
I have proposed a fix in #4015 but in the meantime you can manually fix them by setting $APP to the name of your app and running:
$ source <(flynn -a $APP env)
$ flynn -a $APP env set \
  REDIS_HOST="leader.${FLYNN_REDIS}.discoverd" \
  REDIS_URL="redis://:${REDIS_PASSWORD}@leader.${FLYNN_REDIS}.discoverd:6379"

thanks works fine


Update http.* and url.* attributes to align with Semantic Conventions

Is your feature request related to a problem? Please describe.
In https://github.com/open-telemetry/opentelemetry-specification/pull/3355, a host of http.* attributes were updated. Some got moved under url.*, and others got renamed.
From that PR description:

HTTP:

http.method -> http.request.method
http.status_code -> http.response.status_code
http.request_content_length -> http.request.body.size
http.response_content_length -> http.response.body.size
http.url -> url.full
http.target -> url.path + url.query
http.scheme -> url.scheme
http.client_ip -> not in this PR
http.route -> no change
http.resend_count -> no change
http.request.header.<key> - no change
http.response.header.<key> - no change

The largest change seems to be that http.target gets split into two attributes: url.path & url.query.
Describe the solution you'd like
I think we need to update the attributes we emit so that we are aligned with the Semantic Conventions.
In the SIG meeting today we noted that this change will need to wait for https://github.com/open-telemetry/opentelemetry-js/pull/4690 to get merged first, since that PR brings in the latest version of the semantic conventions, and reworks how we get those attributes.
Describe alternatives you've considered
Ignore the semantic conventions? ¯\_(ツ)_/¯

@MustafaHaddara this is the current tracking issue for semantic conventions work. We're working on it 😃

https://github.com/open-telemetry/opentelemetry-js/issues/4572


Implement the check for the command's decision table

The puzzle 25-7b38b907 from #25 has to be resolved:
https://github.com/Decision-Driven-Development/logic-checker/blob/39f87b8c688ebc7280e4bb95a40044305bd9a763/src/main/java/ru/ewc/checklogic/server/CommandPage.java#L96-L96
The puzzle was created by Евгений Терехов on 14-Jun-24.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 25-7b38b907 has disappeared from the source code, that's why I closed this issue.


*: bump to 3.0.0-beta.0

Tested locally

@xiang90 Just fixed. PTAL.

LGTM!

Thanks. Merging in greens.


enable-build-step: "true" do not function when deploy function to non default namespace

Is this a BUG REPORT or FEATURE REQUEST?:
BUG
What happened:
kubeless function deploy do not trigger a image build job when deploy with --namespace xxxx.
What you expected to happen:
a build job triggered
How to reproduce it (as minimally and precisely as possible):
kubeless function deploy  -n mynsp
Anything else we need to know?:
it works fine when i deploy the function to default namespace
Environment:

Kubernetes version (use kubectl version): v1.9.4
Kubeless version (use kubeless version): 1.0.0
Cloud provider or physical cluster:
onpremise

Thanks @andresmgot , i don't know how to configure kubeless to listen for a namespace other than default, can't find it in the docs, can you give me a clue? thanks a lot.


Is it possible to skip AWS authentication

It looks like no matter what I do, tgf tries to authenticate to AWS
For example
$ tgf --current-version
Unable to authentify to AWS: Error finding AWS credentials (did you set the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables?): NoCredentialProviders: no valid providers in chain. Deprecated.
	For verbose messaging see aws.Config.CredentialsChainVerboseErrors
Pararameter store is ignored

tgf v1.19.1

We are not using AWS. Is there a way to have tgf stop trying to authenticate with AWS on startup?

In fact, there is already a mechanism to ignore AWS configuration when AWS is not used.
The verification steps are:

are there environment variables named  AWS_PROFILE,  AWS_ACCESS_KEY_ID or AWS_CONFIG_FILE defined?

is there is an executable named aws in the path? (which aws)

is there a folder named .aws under the HOME directory?

If none of these conditions is met, tgf should not try to authenticate to AWS.
Do you have one of these condition in your environment?

@jocgir Thank you for the quick response!
I use multiple clouds, so I do have awscli installed, but I am using GCP it in the current project for which I am experimenting with tgf. It is inconvenient/impractical to go around re-naming ~/.aws or uninstalling/changing path for aws. tgf has so many different configuration settings (e.g. --no-home, --no-temp, --ignore-user-config), is there not one to disable AWS?

Thank you. I added an option to disable AWS. #52

@jocgir Awesome! Thank you and thank you for making the change and releasing it so quickly!


Bold Control Button Desync's with keypress commands

Browser: Chrome 65
When typing in the text editor and attempting to make text bold using the Ctrl+b command the bold control does not set to active despite the WYSIWYG now setting text to bold.

Hi, thanks for the help.
I have found out that multiple controls bold italic and underline did not work, so I added a quick fix for all of them.


tour: Mistake in slice defaults text

Context: https://tour.golang.org/moretypes/10

The default is zero for the low bound and the length of the slice for the high bound.

I think this should be length of the underlying array

Thanks for the report.

think this should be length of the underlying array

If you make the underlying array bigger (e.g. by appending 100 elements), and then re-size the slice with s = s[1:3], the backing array will still be >100 in length, but in a subsequent expression s[1:] means "up to element 3", and not "until element 100" (or whatever the size is).
Since this is working as intended, I'm closing this issue.

Duplicate of golang/tour#182


Changes to project helm repository so as to read secret from namespace

This PR lists the changes made on ProjectHelmChartRepository CRD and subsequent go files . The change introduces the namespace key in .spec.connectionConfig.tlsClientConfig to allow the user to provide a namespace where the Secret containing the TLS configuration can be loaded. This Secret will be consulted using user logged through ODC, so the namespace must be accessible to the user utilizing it.For reference please take alook at https://issues.redhat.com/browse/HELM-343.
Signed-off-by: Kartikey Mamgain<EMAIL_ADDRESS>

/assign isutton

/retest

/retest

/test verify

@derekwaynecarr ,@sjenning  can you please provide me insights as to why the ci/prow/verify job could be failing persistently . I have updated the go files and also make ran make update-codegen-crds.

/test verify

I would like to add some information in addition to what @Kartikey-star has mentioned. We are trying to support TLS authentication and with a later PR Basic authentication. In both cases the user creating the helm repository will be sharing private information (private key for TLS, and password for the repo) we are allowing the user to specify the namespace to make sure they have a mechanism to secured their credentials and share with whoever they want. If we only allow for this private info to live in the namespace where they can create a repo then they loose control of who can view those secrets. In many cases the project is not administer by them, they are just allowed to create resources, including helm repos. So I think we should continue with the path that for namespace scope repos the users decides the namespace where their secrets live. While for Cluster scope repos, it will be hardcoded to opeshift-config namespace. I agree to keeping those two resources separate like it has been discussed so far.

So I think we should continue with the path that for namespace scope repos the users decides the namespace where their secrets live. While for Cluster scope repos, it will be hardcoded to opeshift-config namespace. I agree to keeping those two resources separate like it has been discussed so far.

if that is your goal I think we need to see an EP that explains how you're going to ensure a user can't achieve privilege escalation by referencing arbitrary secrets in arbitrary namespaces, as is being discussed here: https://github.com/openshift/api/pull/1202#discussion_r921397938

if that is your goal I think we need to see an EP that explains how you're going to ensure a user can't achieve privilege escalation by referencing arbitrary secrets in arbitrary namespaces, as is being discussed here: #1202 (comment)

I don't see how a user will be able to reference a secrete they don't have access to, helm odc backend is the only interpreter for these CRs and helm ODC backend actually checks the user have access to the namespace before reading secrets. @Kartikey-star can you point to the code in helm odc backend that validates this. I would also test the scenario where user x tries to access secrets in namespace user y creates and show the results. That should help reviewer discard the escalation concern, it is a valid one.

Also, good to note here that there are no controllers for those two Helm Repo CRs. They behave the same as ConfigMaps, just storage of helm repository data. The helm ODC backend interprets those CRs and compile a list of helm chart from those repos on the flight.

As you can see that in unmarshallConfig function in repos.go we are searching for the secret/cm and returning with errors in case if secret/cm not found. A similar check is performed in pkg/helm/actions/auth.go which contains functions that are called upon at various points in actions package to verify if user has permission to read the secret/cm.
configMap, err := b.CoreClient.ConfigMaps(caReferenceNamespace).Get(context.TODO(), caReference, v1.GetOptions{}) if err != nil { return nil, fmt.Errorf("Failed to GET configmap %s, reason %v", caReference, err) }
secret, err := b.CoreClient.Secrets(tlsRefNamespace).Get(context.TODO(), tlsReference, v1.GetOptions{}) if err != nil { return nil, fmt.Errorf("Failed to GET secret %s from %vreason %v", tlsReference, tlsRefNamespace, err) }
In the below mentioned example i am declaring a ProjectHelmChartRepository for a user having access to a namespace testing but not namespace viraj.
Then i have declared a PHCR named cross-repo with metadata.namespace as testing and connectionconfig.ca.namespace as viraj and same goes for the tls secret. Now since the user does not have access to  viraj namespace he won't be able to list the repository(as the access  to config map and secrets in that namepace is not provided to him). Thereby it shows that there will no privilege escalation.

`Project Repo Declaration`

`Repositories Listed in ui`

`Error in console backend because of limited access`

`PermissionUsed `

The helm ODC backend interprets those CRs and compile a list of helm chart from those repos on the flight.

So if i understand correct, you do not import the available charts when the repository CR is created, or continuously reconcile the list. Instead, every time the user goes to a particular console page, you load all the charts from the chartrepository(ies), using the creds of the active user in the console?

So if i understand correctly, you do not import the available charts when the repository CR is created, or continuously reconcile the list. Instead, every time the user goes to a particular console page, you load all the charts from the chartrepository(ies), using the creds of the active user in the console?

Yes @bparees that is the correct undetstanding.

@deads2k @JoelSpeed given https://github.com/openshift/api/pull/1202#issuecomment-1191417324 do you still have privilege escalation concerns w/ respect to this api?
My interpretation of the api is that the secret ref is basically just informational to the user...as in "hey, when you want to access this chart repo, you can find the creds over here.  Go get them if they exist+you can access them"  Except that "go get them" is done by the console, but still using the user's creds, so it's effectively just like the user doing it.
I do have a slight concern that an api like this will lead to someone later deciding to implement a controller that proxies access to the secret on behalf of the user and creates a privilege escalation, but the current design/implementation does not sound like it exposes a privilege escalation.

I do have a slight concern that an api like this will lead to someone later deciding to implement a controller that proxies access to the secret on behalf of the user and creates a privilege escalation, but the current design/implementation does not sound like it exposes a privilege escalation.

I've just reviewed the console code changes and agree, at the moment this seems like it's not leading to a privilege escalation, but, as you've mentioned, we don't know what might happen in the future with a controller.
@Kartikey-star Do you know of any future plans or projects that involve this API that might then lead to a controller being implemented? I'm not hugely familiar with the helm capabilities in OpenShift so not sure what's on the roadmap there. Who's the PM in charge of the helm integration within OpenShift?

Hello @JoelSpeed  I work with Stevan LeMeur on Helm quarterly planning and there is not plans nor any technical requirements to create a controller for Helm Console. I'm the architect for Helm

Ack, @dperaza4dustbit thanks for the additional context. If we are very confident that this API will only ever be consumed by the console backend using the active users credentials, then the security concerns are mitigated somewhat.
It does still feel a shame though that this breaks a pattern established in other APIs. We never allow cross namespace access like this for secrets. I think as an end user, I would probably expect that if I create a project helm repository CR that the secret for the credentials should be in the same namespace as the CR I just created, I'm not sure I fully get the use case behind the cross namespace personally (for the project based version at least)

It does still feel a shame though that this breaks a pattern established in other APIs. We never allow cross namespace access like this for secrets. I think as an end user, I would probably expect that if I create a project helm repository CR that the secret for the credentials should be in the same namespace as the CR I just created, I'm not sure I fully get the use case behind the cross namespace personally (for the project based version at least)

I do see your point, I think we are just trying to be extra cautious with folks private credentials.  We are giving the user the ability to still play with helm in a project while keeping their private credentials locked in their own namespace. That is the main intend. I some cases the developer will not have control of who can see what secret in a project they were given access to deploy helm charts.

I suggest we move forward if there is no escalation concerns anymore.

@JoelSpeed the idea behind doing the cross namespace for Project Helm Chart Repository is providing an additional level of access control which the person  who instantiated the repository can exercise. He will have control on who has access to the secrets/cms located in a namespace of choice . For listing a repo only access to metadata.namespace is validated but for installing/upgrading/get chart from a repo access to these secrets/cm is validated too.
In addition to the above mentioned reason , we have another PR https://github.com/openshift/api/pull/1213 in draft state which exposes a secret for basic authentication (user name and password). Such a functionality of cross namespace reference will be useful there too.

the same manifests could be applied repeatedly in multiple namespaces. Drift seems like a spurious concern since the ProjectHelmChartRepository could drift just as easily.

"we aren't eliminating all sources of drift" doesn't strike me as a compelling argument against "remove one source of drift"
and i could see that creds might rotate more often that the chart repository ref would otherwise change.

@deads2k @bparees @JoelSpeed I have made changes according to our conversation on removing the cross namespace reference for the time being. I have added a separate struct for ProjectHelmChartRepository spec.

/approve

tagging on behalf of dperaza4dustbit
/lgtm

/ok-to-test


media player

is there any option like  forward and backward for video.

You can go back and forth in a video by using the seek method: https://rdkcentral.github.io/Lightning-SDK/#/plugins/mediaplayer?id=seek


Docker: Support for --loom and --httpPort

Modified start_urbit.sh script to allow the user to pick loom size and http port.
This is the start script Native Planet uses for our docker container
Resolves #189

If Native Planet is taking over ownership of the Docker container, I think it makes sense to change CODEOWNERS to list your team as owners of the docker/ directory. @jalehman thoughts?

Agree completely. Let's make sure to due that durning one of our weekly meetings, probably tomorrow, @mopfel-winrux

@mopfel-winrux will you please test this image and copy/paste the results in here? Maybe just a simple build, start (with new options), and verify that the boot prints match the expected inputs (namely loom size and httpPort).

@mopfel-winrux tested this live this morning and all the new options work as expected.


Reverse order of xaxis and calculate deltas accordingly.

Thanks @guillermo-carrasco.
@lpantano: chime in if you have any hints regarding this piece of matplotlib code:
  top_axis.set_xticks([k for k, v in tick_kvs])
  top_axis.set_xticklabels([v for k, v in tick_kvs],
                             rotation=45, ha='left', size=16)

As it is now, the xaxis steps annotations get overlapped on the resulting graphs :/

Thanks for these fixes so far, happy to get the correct ordering in. If anyone has any luck debugging the label problem that would be awesome as well. Much appreciated.

as told to @brainstorm, it seems this fixes it:
mpl.dates.num2epoch(mpl.dates.date2num(tstamp)
don't know what changed though. :tada:


cio: prevent NPE when closing, and fix pipes potentially not being closed on Windows

1. cio: FIFOSet.Close() check if FIFOSet is nill to prevent NPE
This relates to https://github.com/docker/for-linux/issues/1186. Perhaps this needs synchronisation elsewhere, but looks like this could potentially panic here as well. Seems not harmful to check for nil.
2. cio: openFifos() use named return variables to use in defer()
This change is mostly defensive; when checking for the returned error, it's easy to make a mistake, and check for a "local" error, not the actual returned error.
This patch changes the function to use a named return variable, which is checked in the defer.
3. cio.copyIO: fix pipes potentially not being closed (Windows)
The defer functions were checking the local variable, and would therefore not be executed, as the function returned if an error occurred.
Perhaps best illustrated when renaming the local variables;
if fifos.Stdin != "" {
    l, err1 := winio.ListenPipe(fifos.Stdin, nil)
    if err1 != nil {
        return nil, errors.Wrapf(err1, "failed to create stdin pipe %s", fifos.Stdin)
    }
    defer func(l net.Listener) {
        if err1 != nil {
            l.Close()
        }
    }(l)
    // ...
}

if fifos.Stdout != "" {
    l, err2 := winio.ListenPipe(fifos.Stdout, nil)
    if err2 != nil {
        return nil, errors.Wrapf(err2, "failed to create stdout pipe %s", fifos.Stdout)
    }
    defer func(l net.Listener) {
        if err2 != nil {
            l.Close()
        }
    }(l)
    // ....
}

This patch changes the function to use a named return variable, and to use a single defer() that closes all pipes.
4. cio.copyIO: refactor to use cio.Close() (windows)
A follow-up to the patch above; Use the existing .Close() method instead of implementing the same
logic in this function.
The defer sets cios to nil if an error occurred to preserve the existing behavior.

@cpuguy83 @AkihiroSuda ptal 🤗

@cpuguy83 @AkihiroSuda ptal 🤗

@kevpar updated; ptal 👍

@estesp @AkihiroSuda ptal 🤗


CB-15145 CB States for Stop/Start Scaling

Added a new state for instance started.
Added new states for scaling by start/stop.
Updated the usages of the states at appropriate places.
Testing in progress.
Suggestions welcome to re-use SERVICES_UNHEALTHY instead of STARTED state for Instance if we feel updating all the places where InstanceStatus conversion happening is cumbersome.

Tested in private stack that it works.


Memory usage observation

Hi Bert,
yesterday I switched my first device (esp8266) from asyncMqttClient to espMqttClient. Looks good! No crashes, no runaway memory, but also no heavy traffic. Just some status reporting and change of settings going back and forth every few seconds.
In the images below you see the heap of the same firmware running running  AsyncMqtt (first and espMqtt (second)
Please ignore the peak in the asyncmqtt graph. I made a mistake with my test board and accidentally posted to the same topic as my real hardware. Also the PC went into suspend mode, but the gist remains the same.

AsyncMqtt

EspMqtt
Summary:

espMqttClient uses a bit more memory than asyncMqtt (43K of heap vs 45K of heap), while the rest of the firmware is identical.
there is more variation in the free heap. AsyncMqtt stays level at 45K after the initial phase where espMqtt "oscillates" between 42,5K and 43K of free heap all the time

Don't know if these observations play a role, but the most important info is that the free heap doesn't decrease over time :)
So to me it looks really good after 24 hours. 👍

I suspect TCP payload buffering. ESPAsyncTCP forwards the data directly whereas I copy the incoming data to a buffer. On ESP8266 this can be improved with the peek-API but I didn't implement that.
I didn't benchmark (yet). I've got a few devices that have a 14+ day uptime (with a few MQTT and/or WiFi disconnects).

I mean the peekBuffer-API:
https://github.com/esp8266/Arduino/blob/047f14b9db4917060c663fdf7db16f50a02b0161/libraries/ESP8266WiFi/src/WiFiClient.h#L136


Python 2 tracking issue

Motivation
https://github.com/NixOS/nixpkgs/issues/140168#issuecomment-932773517:

From the Python perspective I would want to finally get rid of python2. We have been keeping it alive for NixOps 1.7, but I was assured that it would be dropped in time for 21.11.
e
That turned out to be a lot harder done than said, and thus it didn't happen in time. A mere glimpse on the list below shows some pretty big and prominent packages that we cannot simply remove, even if they cannot be fixed. I expect that Python 2 will keep haunting us for quite a while in the future. Nevertheless, we should still strive for removal where possible and reduce the support to an absolute minimum.

There is also #101964 with picked a few low hanging fruits, but it was way less throrough in finding packages (they used some why-depends which apparently had a lot of false negatives. On the other hand, I simply used rg python2 which may contain more false positives). Another difference here: there is no gentle "conversion" to Python 3 anymore. If we can't get a package to work within reasonable effort, it's out. You have six months to save your darlings.
Procedure
If status is "TBD", the first step is to look up and ping maintainers and then search for upstream issues. Appropriate follow-up actions are (in order of preference):

Get Python 3 support into the application
Remove the Python 2 dependency from the application, possibly at the loss of features
Remove the application

Some common solutions:

A few applications are fixed, but the patch is somewhere between "not merged upstream" and "not in nixpkgs yet".
A few applications are fixed nixpkgs, but we still offer older versions which rely on Python 2. They will probably have to go.
Applications that support both Gtk2 and Gtk3 can usually be fixed by dropping Gtk2 support.
All packages that somehow use python2 within node-env.nix can probably be solved at once. (pinging @svanderburg here for all those)
…

Directly affected packages
Result from running rg python2, manually cleaned up. Not included are all python2 packages, since they are already listed in pkgs/top-level/python2-packages.nix (and that list is long too).

Attribute
File
Status, Issues, PRs
Maintainer(s)

afl
pkgs/tools/security/afl/qemu.nix
TBD
@thoughtpolice

airfield
pkgs/tools/networking/airfield/node.nix
npm package
-

antlr2
pkgs/development/tools/parsing/antlr/2.7.7.nix
Old version, can probably be removed
none

apacheHttpdPackages.mod_python
pkgs/servers/http/apache-modules/mod_python/default.nix
Can probably be removed
@lovek323

apitrace
pkgs/applications/graphics/apitrace/default.nix
TBD
none

appimageTools
pkgs/build-support/appimage/default.nix
TBD
none

arangodb
pkgs/servers/nosql/arangodb/default.nix
TBD
@flosse

aseprite, aseprite-unfree
pkgs/applications/editors/aseprite/skia.nix
TBD
@orivej

bareos
pkgs/tools/backup/bareos/default.nix
Optional dependency
none

base16-builder
pkgs/misc/base16-builder/node-packages.nix
npm package
-

bazel_0_29
pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
TBD
@mboes

bazel_1
pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
TBD
@mboes

bazel_3
pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
TBD
@mboes

bazel_4
pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
TBD
@mboes

betaflight-configurator
pkgs/development/embedded/stm32/betaflight/default.nix
TBD
@elitak

bitlbee
pkgs/applications/networking/instant-messengers/bitlbee/default.nix
TBD
@pSub

blink
pkgs/applications/networking/instant-messengers/blink/default.nix
TBD
@pSub

bookworm
pkgs/applications/office/bookworm/default.nix
TBD
none

botamusique
pkgs/tools/audio/botamusique/default.nix
depends on npm
@infinisil

bud
pkgs/tools/networking/bud/default.nix
TBD
@cstrahan

buildEmscriptenPackage
pkgs/development/em-modules/generic/default.nix
TBD
@qknight

buttersink
pkgs/tools/filesystems/buttersink/default.nix
TBD
none

caffe2
pkgs/development/libraries/science/math/caffe2/default.nix
Marked as broken
@yuriaisaka

cassandra
pkgs/servers/nosql/cassandra/generic.nix
TBD
@roberth

cde-gtk-theme
pkgs/data/themes/cdetheme/default.nix
TBD
none

chirp
pkgs/applications/radio/chirp/default.nix
TBD
none

clearsilver
pkgs/development/libraries/clearsilver/default.nix
TBD
none

commitizen
pkgs/applications/version-management/commitizen/node-env.nix
npm package
-

coqPackages(?)
pkgs/development/coq-modules/fiat/HEAD.nix
TBD
@jwiegley

coreclr
pkgs/development/compilers/coreclr/default.nix
TBD
@kuznero

couchpotato
pkgs/servers/couchpotato/default.nix
TBD
@fadenb

cppcms
pkgs/development/libraries/cppcms/default.nix
Current stable 1.2.x series needs python2; 2.0 series (currently in beta) will support python3
@juliendehos

cryptpad
pkgs/servers/web-apps/cryptpad/node-packages.nix
npm package
-

csound, csound-manual, csound-qt
pkgs/applications/audio/csound/csound-qt/default.nix
TBD
@hlolli

cudatoolkit
pkgs/development/compilers/cudatoolkit/common.nix
TBD
none

curaByDagoma
pkgs/applications/misc/curabydagoma/default.nix
TBD
none

cura
pkgs/applications/misc/cura/stable.nix
TBD
@abbradar @gebner

cvs2svn
pkgs/applications/version-management/cvs2svn/default.nix
TBD
@makefu

cypress
pkgs/development/web/cypress/cypress-example-kitchensink/cypress-example-kitchensink.nix
npm package
-

darwin.iproute2mac(?)
pkgs/os-specific/darwin/iproute2mac/default.nix
TBD
@flokli

dd-agent
pkgs/tools/networking/dd-agent/5.nix
TBD
@thoughtpolice @domenkozar

ddar
pkgs/tools/backup/ddar/default.nix
TBD
none

dia
pkgs/applications/graphics/dia/default.nix
TBD
@raskin

disper
pkgs/tools/misc/disper/default.nix
TBD
none

displaycal
pkgs/applications/graphics/displaycal/default.nix
TBD
@marcweber

dmtcp
pkgs/os-specific/linux/dmtcp/default.nix
TBD
none

docopt_cpp
pkgs/development/libraries/docopt_cpp/default.nix
TBD
@knedlsepp

duply
pkgs/tools/backup/duply/default.nix
TBD
@bjornfor

ec2-utils
pkgs/tools/virtualization/ec2-utils/default.nix
TBD
@thefloweringash

ecopcr
pkgs/applications/science/biology/ecopcr/default.nix
TBD
@metabar

ecryptfs-helper
pkgs/tools/security/ecryptfs/helper.nix
TBD
@obadz

ecryptfs
pkgs/tools/security/ecryptfs/default.nix
Optional dependency
@obadz

eggnog-mapper
pkgs/applications/science/biology/eggnog-mapper/default.nix
TBD
@luispedro

elm
pkgs/development/compilers/elm/packages/node-composition.nix
npm package
-

fahcontrol
pkgs/applications/science/misc/foldingathome/control.nix
TBD
@zimbatm

fdr
pkgs/applications/science/programming/fdr/default.nix
TBD
@nickhu

fedpkg
pkgs/development/tools/fedpkg/default.nix
TBD
none

flatpak-builder
pkgs/development/tools/flatpak-builder/default.nix
https://github.com/NixOS/nixpkgs/issues/148779#issuecomment-986309140
@jtojnar

foundationdb
pkgs/servers/foundationdb/vsmake.nix
TBD
@thoughtpolice

fslint
pkgs/applications/misc/fslint/default.nix
TBD
@dasj19

fx_cast_bridge
pkgs/tools/misc/fx_cast/default.nix
TBD
@dtzWill @kevincox

gcc-arm-embedded-10
pkgs/development/compilers/gcc-arm-embedded/10/default.nix
TBD
@prusnak

gcc-arm-embedded-6
pkgs/development/compilers/gcc-arm-embedded/6/default.nix
TBD
@prusnak

gcc-arm-embedded-7
pkgs/development/compilers/gcc-arm-embedded/7/default.nix
TBD
@prusnak

gcc-arm-embedded-8
pkgs/development/compilers/gcc-arm-embedded/8/default.nix
TBD
@prusnak

gcc-arm-embedded-9
pkgs/development/compilers/gcc-arm-embedded/9/default.nix
TBD
@prusnak

gdal
pkgs/development/libraries/gdal/2.4.nix
Old version, can probably be removed
@marcweber

gemrb
pkgs/games/gemrb/default.nix
Python 3 support appears to exist but is broken
@peterhoeg

getmail
pkgs/tools/networking/getmail/default.nix
TBD
@raskin

gimp, gimp-with-plugins
pkgs/applications/graphics/gimp/default.nix
https://github.com/NixOS/nixpkgs/issues/148779#issuecomment-986309140, draft PR
@jtojnar

git-crecord
pkgs/applications/version-management/git-crecord/default.nix
TBD
none

gitinspector
pkgs/applications/version-management/gitinspector/default.nix
TBD
@bjornfor

gitstats
pkgs/applications/version-management/gitstats/default.nix
TBD
@bjornfor

glimpse, glimpse-with-plugins
pkgs/applications/graphics/glimpse/default.nix
TBD
@ashkitten @erictapen

gnome2.libglade
pkgs/desktops/gnome-2/platform/libglade/default.nix
Optional dependency
none

golly-beta
pkgs/applications/science/misc/golly/beta.nix
TBD
@raskin

golly
pkgs/applications/science/misc/golly/default.nix
TBD
@raskin

goocanvas2
pkgs/development/libraries/goocanvas/2.x.nix
Old version, can probably be removed
none

google-clasp
pkgs/development/misc/google-clasp/google-clasp.nix
npm package
-

gpuvis
pkgs/development/tools/misc/gpuvis/default.nix
upstream PR has been merged
@emantor

grass
pkgs/applications/gis/grass/default.nix
https://github.com/NixOS/nixpkgs/pull/150286
@mpickering

headphones
pkgs/servers/headphones/default.nix
TBD
@rembo10

hexio
pkgs/development/tools/hexio/default.nix
TBD
@leenaars

hopper
pkgs/development/tools/analysis/hopper/default.nix
TBD
@luis @Enteee

hplip
pkgs/misc/drivers/hplip/3.16.11.nix
Old version, can probably be removed
@ttuegel

ibus
pkgs/tools/inputmethods/ibus/fix-paths.patch
TBD
@ttuegel @yegortimoshenko

impressive
pkgs/applications/office/impressive/default.nix
TBD
@lheckemann

ino
pkgs/development/embedded/arduino/ino/default.nix
TBD
@antono

isso
pkgs/servers/isso/default.nix
npm package
-

jellyfin
pkgs/servers/jellyfin/node-composition.nix
npm package
-

k3d
pkgs/applications/graphics/k3d/default.nix
https://github.com/NixOS/nixpkgs/pull/153448
@raskin

keybinder
pkgs/development/libraries/keybinder/default.nix
TBD
@bjornfor

klipper
pkgs/servers/klipper/default.nix
TBD
@lovesegfault @zhaofengli

kmymoney
pkgs/applications/office/kmymoney/default.nix
#152521
none

lasso
pkgs/development/libraries/lasso/default.nix
TBD
@womfoo

ldgallery
pkgs/tools/graphics/ldgallery/viewer/node-composition.nix
npm package
-

lean2
pkgs/applications/science/logic/lean2/default.nix
TBD
@thoughtpolice @gebner

libcap_ng
pkgs/os-specific/linux/libcap-ng/default.nix
Optional dependency, currently unused
none

libfive(?)
pkgs/applications/science/misc/root/5.nix
Probably an old version, might be removable
@veprbl

libgnome-keyring
pkgs/desktops/gnome/core/gnome-keyring/default.nix
https://github.com/NixOS/nixpkgs/issues/148779#issuecomment-986309140
@hedning @jtojnar @dasj19 @maxeaubrey

libinjection
pkgs/development/libraries/libinjection/default.nix
TBD
@thoughtpolice

libkkc-data
pkgs/data/misc/libkkc-data/default.nix
TBD
@vanzef

libkkc
pkgs/tools/inputmethods/libkkc/default.nix
TBD
@vanzef

libosmocore
pkgs/applications/misc/libosmocore/default.nix
TBD
@mog

libqxx_6
pkgs/development/libraries/libpqxx/6.nix
Old version, can probably be removed
@eelco

libsystemtap
pkgs/development/libraries/libsystemtap/default.nix
TBD
@farlion

libsystemtap(?)
pkgs/development/tools/profiling/systemtap/default.nix
TBD
none

libvirt
pkgs/development/libraries/libvirt/5.9.0.nix
Old version, can probably be removed
@fpletz @globin

lighthouse
pkgs/applications/misc/lighthouse/default.nix
TBD
@ramkromberg

lumpy
pkgs/applications/science/biology/lumpy/default.nix
upstream issue
@jbedo

lvtk
pkgs/development/libraries/audio/lvtk/default.nix
TBD
@goibhniu

macvim
pkgs/applications/editors/vim/macvim.nix
Optional dependency
@cstrahan @lilyball

mailpile
pkgs/applications/networking/mailreaders/mailpile/default.nix
TBD
none

manta
pkgs/applications/science/biology/manta/default.nix
upstream issue
@jbedo

matrix-appservice-irc
pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
npm package
-

matrix-appservice-slack
pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix
npm package
-

matrix-recorder
pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
npm package
-

metamorphose2
pkgs/applications/misc/metamorphose2/default.nix
TBD
@ramkromberg

midigins
pkgs/tools/audio/mididings/default.nix
TBD
none

mjolnir
pkgs/servers/mjolnir/node-composition.nix
npm package
-

mono
pkgs/development/compilers/mono/llvm.nix
TBD
@thoughtpolice

munin
pkgs/servers/monitoring/munin/default.nix
TBD
@bjornfor

mx-puppet-discord
pkgs/servers/mx-puppet-discord/node-composition.nix
npm package
-

mysql-workbench
pkgs/applications/misc/mysql-workbench/default.nix
TBD
@kkallio

n8n
pkgs/applications/networking/n8n/node-env.nix
npm package
-

natron
pkgs/applications/video/natron/default.nix
TBD
@puffnfresh

neap
pkgs/applications/misc/neap/default.nix
TBD
@romildo

neovide
pkgs/applications/editors/neovim/neovide/default.nix
Uses Python 2 for the Skia bindings
@ck3d

netlify-cli
pkgs/development/web/netlify-cli/composition.nix
npm package
-

netlify-cli
pkgs/development/web/netlify-cli/node-env.nix
npm package
-

newman
pkgs/development/web/newman/node-env.nix
npm package
-

nimPackages
pkgs/development/nim-packages/python/default.nix
a5b49f272ff1c4d6392385db2cbd4f764f46b85c
@ehmry

nixops
pkgs/tools/package-management/nixops/default.nix
needs major release / #150059
@aminechikhaoui @eelco @rob

nmap
pkgs/tools/security/nmap/default.nix
Optional for graphical support. Upstream PR
@thoughtpolice @fpletz

nodejs-10_x
pkgs/development/web/nodejs/v10.nix
npm package
-

nodejs-12_x
pkgs/development/web/nodejs/v12.nix
npm package
-

ntdb
pkgs/development/libraries/ntdb/default.nix
Requires Python 2 for wafhook
none

octavePackages(?)
pkgs/development/octave-modules/symbolic/default.nix
upstream issue with PR
@KarlJoad

omniorc
pkgs/development/tools/omniorb/default.nix
TBD
@smironov

oni2
pkgs/applications/editors/oni2/common.nix
TBD
@gardspirito

onlykey
pkgs/tools/security/onlykey/onlykey.nix
npm package
-

opae
pkgs/development/libraries/opae/default.nix
TBD
@thoughtpolice

openjfx11
pkgs/development/compilers/openjdk/openjfx/11.nix
Old version, might be removed
@abbradar

opensmtpd
pkgs/servers/mail/opensmtpd/extras.nix
https://github.com/NixOS/nixpkgs/pull/153449, Has enable-python flag
@gebner @ekleog

openvswitch-lts
pkgs/os-specific/linux/openvswitch/lts.nix
https://github.com/NixOS/nixpkgs/pull/149283
@netixx @kmcopper

palemoon
pkgs/applications/networking/browsers/palemoon/default.nix
TBD
@AndersonTorres @OPNA2608

patchage
pkgs/applications/audio/patchage/default.nix
TBD
@nico202

pixie
pkgs/development/interpreters/pixie/default.nix
TBD
@bendlas

???
pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
TBD
@qknight

???
pkgs/desktops/gnome-2/bindings/gnome-python-desktop/default.nix
TBD
@goibhniu

???
pkgs/development/libraries/kdb/default.nix
TBD
@zraexy

???
pkgs/development/libraries/kreport/default.nix
TBD
@zraexy

???
pkgs/development/node-packages/composition.nix
npm package
-

???
pkgs/os-specific/linux/hyperv-daemons/default.nix
Only requires Python 2 for kernels older than 4.19
@peterhoeg

???
pkgs/os-specific/linux/kernel/perf.nix
Only requires Python 2 for older kernels
@viric

???
pkgs/tools/audio/mpdsync/default.nix
TBD
none

platypus
pkgs/applications/science/biology/platypus/default.nix
Upstream issue
@jbedo

plover
pkgs/applications/misc/plover/default.nix
TBD
@twey @kovirobi

pocketsphinx
pkgs/development/libraries/pocketsphinx/default.nix
TBD
none

postgresql
pkgs/servers/sql/postgresql/packages.nix
TBD
@thoughtpolice @danbst @globin @marsam @ivan

prometheus
pkgs/servers/monitoring/prometheus/webui/webui/default.nix
npm package
-

py3c
pkgs/development/libraries/py3c/default.nix
helps port C extensions to Python 3
@ajs124 @dotlambda

pydb
pkgs/development/tools/pydb/default.nix
TBD
none

pyrex
pkgs/development/interpreters/pyrex/0.9.6.nix
TBD
none

qpid-cpp
pkgs/servers/amqp/qpid-cpp/default.nix
TBD
@cpages

qtwebengine(?)
pkgs/development/libraries/qt-5/modules/qtwebengine.nix
TBD
@matthewbauer

qtwebkit(?)
pkgs/development/libraries/qt-5/modules/qtwebkit.nix
TBD
@abbradar @periklis

quickder
pkgs/development/libraries/quickder/default.nix
TBD
@leenaars

remarkjs
pkgs/development/web/remarkjs/nodepkgs.nix
npm package
-

renpy
pkgs/development/interpreters/renpy/default.nix
https://github.com/renpy/renpy/issues/2003
none

reptyr
pkgs/os-specific/linux/reptyr/default.nix
TBD
@raskin

resholve
pkgs/development/misc/resholve/resholve.nix
TBD
@abathur

rethinkdb
pkgs/servers/nosql/rethinkdb/default.nix
TBD
@thoughtpolice @bluescreen303

rubyPackages(?)
pkgs/development/ruby-modules/gem-config/default.nix
TBD
none

salut_a_toi
pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
TBD
@raskin

scons
pkgs/development/tools/build-managers/scons/default.nix
Old version, can probably not be removed
none

scribus
pkgs/applications/office/scribus/default.nix
TBD
@marcweber

scyther
pkgs/applications/science/programming/scyther/default.nix
https://github.com/NixOS/nixpkgs/pull/149404
@infinisil

spacegun
pkgs/applications/networking/cluster/spacegun/node-composition.nix
npm package
-

sphinxbase
pkgs/development/libraries/sphinxbase/default.nix
TBD
none

spidermonkey_68
pkgs/development/interpreters/spidermonkey/68.nix
Old version, can probably not be removed
@abbradar

strelka
pkgs/applications/science/biology/strelka/default.nix
Upstream issue
@jbedo

styx
pkgs/applications/misc/styx/default.nix
TBD
@ericsagnes

syncserver
pkgs/servers/syncserver/default.nix
TBD
@nadrieril

tailor
pkgs/applications/version-management/tailor/default.nix
TBD
none

telepathy-gabble
pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
TBD
none

telepathy-haze
pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
TBD
none

telepathy-idle
pkgs/applications/networking/instant-messengers/telepathy/idle/default.wnix
Needs update
none

telepathy-logger
pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
Probably dead
@jtojnar

telepathy-salut
pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
TBD
none

twister
pkgs/applications/networking/p2p/twister/default.nix
TBD
none

unit
pkgs/servers/http/unit/default.nix
Optional dependency
@izorkin

uwsgi
pkgs/servers/uwsgi/default.nix
TBD
@abbradar @schneefux @globin

vde2
pkgs/tools/networking/vde2/default.nix
TBD
none

vigra
pkgs/development/libraries/vigra/default.nix
https://github.com/NixOS/nixpkgs/pull/153516
@viric

vte
pkgs/desktops/gnome-2/desktop/vte/default.nix
Optional dependency
@astsmtl

webbrowser
pkgs/applications/networking/browsers/webbrowser/default.nix
TBD
@TheBrainScrambler

whitebophir
pkgs/servers/web-apps/whitebophir/node-packages.nix
npm package
-

wiktionary
pkgs/servers/dict/wiktionary/default.nix
TBD
@qyliss

wordnet
pkgs/servers/dict/dictd-wordnet.nix
TBD
none

writers
pkgs/build-support/writers/default.nix
Should probably be removed
n.a.

xe-guest-utilities
pkgs/tools/virtualization/xe-guest-utilities/default.nix
TBD
@benwbooth

xenPackages
pkgs/applications/virtualization/xen/generic.nix
TBD
@eelco @tstrobel @oxij

xpf
pkgs/tools/text/xml/xpf/default.nix
TBD
none

zigbee2mqtt
pkgs/servers/zigbee2mqtt/node.nix
npm package
-

zynaddsubfx
pkgs/applications/audio/zynaddsubfx/mruby-zest/default.nix
Upstream issue
@kira-bruneau

Done

Attribute
File
Status, Issues, PRs
Maintainer(s)

aflplusplus
pkgs/tools/security/aflplusplus/qemu.nix
https://github.com/NixOS/nixpkgs/pull/150242
@ris

apfel
pkgs/development/libraries/physics/apfel/default.nix
https://github.com/NixOS/nixpkgs/pull/148796
@veprbl

avro-cpp
pkgs/development/libraries/avro-c++/default.nix
https://github.com/NixOS/nixpkgs/pull/148914
@rasendubi

azure-cli
pkgs/tools/admin/azure-cli/python-packages.nix
https://github.com/NixOS/nixpkgs/pull/148887
@jonringer

blastem
pkgs/misc/emulators/blastem/default.nix
#153151
@puffnfresh

blockhash
pkgs/tools/graphics/blockhash/default.nix
https://github.com/NixOS/nixpkgs/pull/149400
@infinisil

cjdns
pkgs/tools/networking/cjdns/default.nix
https://github.com/NixOS/nixpkgs/pull/150475
@ehmry

conway_polynomials
pkgs/data/misc/conway_polynomials/default.nix
https://github.com/NixOS/nixpkgs/pull/148797
@timokau @omasanori @raskin @collares

claws-mail, claws-mail-gtk2
pkgs/applications/networking/mailreaders/claws-mail/default.nix
PR to remove Gtk2 support
@fpletz @globin @orivej @oxzi @ajs124

creddump
pkgs/tools/security/creddump/default.nix
#153151
@fishi0x01

crispyDoom
pkgs/games/crispy-doom/default.nix
https://github.com/NixOS/nixpkgs/pull/150049
@neonfuz

dtrx
pkgs/tools/compression/dtrx/default.nix
#153151
@spwhitt

electrum, electrum-dash, electrum-tlc
pkgs/applications/misc/electrum/dash.nix
#153151
@np

elliptic_curves
pkgs/data/misc/elliptic_curves/default.nix
https://github.com/NixOS/nixpkgs/pull/148797
@timokau @omasanori @raskin @collares

enpass
pkgs/tools/security/enpass/default.nix
#153151
@ewok

escrotum
pkgs/tools/graphics/escrotum/default.nix
https://github.com/NixOS/nixpkgs/pull/148910
@rasendubi

euca2ools
pkgs/tools/virtualization/euca2ools/default.nix
#153151
@eelco

facedetect
pkgs/tools/graphics/facedetect/default.nix
PR
@rycee

fomp
pkgs/applications/audio/fomp/default.nix
https://github.com/NixOS/nixpkgs/pull/149746
@magnetophon

gaia
pkgs/development/libraries/gaia/default.nix
removal PR
@doronbehar

git-bz
pkgs/applications/version-management/git-and-tools/git-bz/default.nix
#153151
none

grin
pkgs/tools/text/grin/default.nix
PR
@sjagoe

gtklick
pkgs/applications/audio/gtklick/default.nix
#153151
none

inkscape
pkgs/applications/graphics/inkscape/fix-python-paths.patch
False positive
@jtojnar

julia_10
pkgs/development/compilers/julia/1.0.nix
https://github.com/NixOS/nixpkgs/pull/149177
@raskin @rob @garrison

julia_15
pkgs/development/compilers/julia/1.5.nix
https://github.com/NixOS/nixpkgs/pull/149177
@raskin @rob @garrison

keepnote
pkgs/applications/office/keepnote/default.nix
#153151
none

knockknock
pkgs/tools/security/knockknock/default.nix
#153151
@copumpkin

lastfmsubmitd
pkgs/applications/audio/lastfmsubmitd/default.nix
#153151
none

linuxband
pkgs/applications/audio/linuxband/default.nix
https://github.com/NixOS/nixpkgs/pull/149743
@magnetophon

loxodo
pkgs/applications/misc/loxodo/default.nix
https://github.com/NixOS/nixpkgs/pull/150139
none

me_cleaner
pkgs/tools/misc/me_cleaner/default.nix
https://github.com/NixOS/nixpkgs/pull/150140
none

mimms
pkgs/applications/audio/mimms/default.nix
#153151
none

ntk
pkgs/development/libraries/audio/ntk/default.nix
https://github.com/NixOS/nixpkgs/pull/149744
@magnetophon @nico202

non
pkgs/applications/audio/non/default.nix
https://github.com/NixOS/nixpkgs/pull/149745
@nico202

nvpy
pkgs/applications/editors/nvpy/default.nix
https://github.com/NixOS/nixpkgs/pull/150146
none

pdf-redact-tools
pkgs/tools/graphics/pdfredacttools/default.nix
#153151
@leenaars

polysh
pkgs/tools/networking/polysh/default.nix
#153151
@astsmtl

pybitmessage
pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
https://github.com/Bitmessage/PyBitmessage/issues/1712, #153151
@jgillich

pyrit
pkgs/tools/security/pyrit/default.nix
#153151
@danielfullmer

rawdog
pkgs/applications/networking/feedreaders/rawdog/default.nix
#153151
none

recoverjpeg
pkgs/tools/misc/recoverjpeg/default.nix
https://github.com/NixOS/nixpkgs/pull/148821
@dotlambda

retroarch
pkgs/misc/emulators/retroarch/cores.nix
https://github.com/NixOS/nixpkgs/pull/149114
@edwtjo @hrdinka @MP2E @thiagokokada

rocm-opencl-runtime
pkgs/development/libraries/rocm-opencl-runtime/default.nix
https://github.com/NixOS/nixpkgs/pull/150767
@acowley @lovesegfault

sickrage
pkgs/servers/sickbeard/sickrage.nix
#153151
@sterfield

sssd
pkgs/os-specific/linux/sssd/default.nix
https://github.com/NixOS/nixpkgs/pull/150508
@e-user @illustris

steam
pkgs/games/steam/fhsenv.nix
https://github.com/NixOS/nixpkgs/pull/152080
none

tor-arm
pkgs/tools/security/tor/tor-arm.nix
#153151
@thoughtpolice

zabbix-cli
pkgs/tools/misc/zabbix-cli/default.nix
#153151
@womfoo

zeroad
pkgs/games/0ad/game.nix
https://github.com/NixOS/nixpkgs/pull/148815
@chvp

If you have commit access, you are encouraged to edit the tables above to keep it up to date with the current progress.

And because GitHub stopped the pinging party short, here's some more names: @edolstra @rycee @zimbatm @NickHu @jtojnar @magnetophon @dasj19 @dasJ @dtzWill @kevincox @doronbehar @prusnak @peterhoeg @ashkitten @erictapen @Emantor @mpickering @sjagoe @Luis-Hebendanz @Enteee @ttuegel @yegortimoshenko @lheckemann @antono @rbvermaa @garrison @lovesegfault @zhaofengli @copumpkin @womfoo @hedning @maxeaubrey @vanzef @workflow @RamKromberg @jbedo @cillianderoiste @lilyball @bjornfor @romildo @romildo @ck3d @AmineChikhaoui @nico202 @magnetophon @KarlJoad @grwlf @Ekleog @netixx @kmcopper @AndersonTorres @OPNA2608 …

Aaand some more (I'm really sorry if I screw some up, GitHub is so stupid): @leenaars @bendlas @cillianderoiste @zraexy @peterhoeg @jbedo @Twey @KoviRobi @danbst @marsam @ivan @viric @astsmtl @dotlambda @danielfullmer @cpages @periklis @abathur @bluescreen303 @edwtjo @hrdinka @MP2E @thiagokokada @acowley @lovesegfault @sterfield @e-user @illustris @jbedo @Nadrieril @schneefux @TheBrainScrambler @alyssais @benwbooth @oxij @womfoo @chvp @kira-bruneau @magnetophon

Regarding palemoon, upstream have said that they have no plans to migrate their build system to python3 "for at least the foreseeable future". Tauthon may be acceptable for them.

Not sure how I feel about this issue. I think we should remove packages that use Python 2 during runtime, however in many cases (like retroarch and resholve), Python 2 is only used for build. Also in case of retroarch at least, it is used to build older MAME cores that will probably never be updated.
Could we target removal of all Python 2 packages instead, however keep Python 2 itself just for build purposes only? Maybe having some warn (or even an error) about usage of Python 2 in non-build contexts, for example?

@piegamesde What about closed source applications like the Hopper disassembler? It only uses python27 without any python dependencies do we really want to throw this away?

I think at least half of the packages should be actionable in some way. Let's work on them first, and worry about the others later.

Could we target removal of all Python 2 packages instead, however keep Python 2 itself just for build purposes only? Maybe having some warn (or even an error) about usage of Python 2 in non-build contexts, for example?

Presumably, buildtime-only (and some of the runtime) Python2 uses should be fine with PyPy2 instead, which is maintained upstream and is likely to stay so?

Presumably, buildtime-only (and some of the runtime) Python2 uses should be fine with PyPy2 instead, which is maintained upstream and is likely to stay so?

Isn't it easier to keep Python 2 as-is? I don't think many upstreams tests their build systems with PyPy, so this will probably cause at least some issues.

flatpak-builder: required for test of this, test should be skipped if not present, possibly portable to Python 3
gimp: migration in progress, the upcoming GIMP 3 will by Python 3 based https://github.com/NixOS/nixpkgs/pull/67576
inkscape: false positive
libgnome-keyring: long deprecated but might still be needed by stuff like Steam, but I do not see a Python dependency
nmap porting in progress, moving slowly https://github.com/nmap/nmap/pull/2088
telepathy-idle should be done, needs update https://github.com/TelepathyIM/telepathy-idle/commit/008cd4810ae8857f6527a1fc0923c8d06b21e68e
telepathy-logger this one is probably dead, we might need to drop it alongside with Polari, these days mostly just the KDE parts of the Telepathy framework are maintained
Missing from the list neard, migration in progress https://github.com/linux-nfc/neard/tree/mag/python3-ize https://github.com/linux-nfc/neard/issues/3, I can try to help upstream when I have time (in March?).

Facedetect migrated to Python 3 in #148781.

I've found Fedora's python porting db helpful: https://fedora.portingdb.xyz/

escrotum: upstream already supports python3. PR to update nixpkgs: https://github.com/NixOS/nixpkgs/pull/148910

Not sure how I feel about this issue. I think we should remove packages that use Python 2 during runtime, however in many cases (like retroarch and resholve), Python 2 is only used for build. Also in case of retroarch at least, it is used to build older MAME cores that will probably never be updated.
Could we target removal of all Python 2 packages instead, however keep Python 2 itself just for build purposes only? Maybe having some warn (or even an error) about usage of Python 2 in non-build contexts, for example?

I got MAME to build with Python 3 in #149114, but the issue still stands.
For example, AFAIK resholve uses Python 2 because Oil shell (that resholve uses) depends on Python 2, and depends on it explicitly: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/misc/resholve/deps.nix#L7-L8
Does it mean that resholve would need to bundle its own Python 2 to build?
CC @abathur .

I'm not using NixOS anymore (therefore not maintaining packages). I created the package for curaByDagoma, however I won't be able to fix it. Sorry.

@tiramiseb that's okay, I'll update the table. Please take a few minutes to remove yourself from the maintainers list, so that you won't get pinged and we can tell that those packages are not maintained anymore.

I will look at the grass packaging.

cvs2svn seems to be staying at stuck at py2 for now ( https://github.com/mhagger/cvs2svn/issues/9 ) even though there is some effort to make it py3k compatible.
I vote for removing it similar to what was decided at debian.

macvim supports python 3 already. It uses a flag usePython27 (default false) for whether to use python 2 instead. I don't actually know offhand why it has this flag, I'm pretty sure it had that when I first looked at the package. In any case, it's safe to remove.
(on a related note, its using python37, but the current packaged version (snapshot-166) documents support for python 3.8 instead, so it might be nice to update that)
Unfortunately I can't submit a PR for this as I have not received clearance from my current employer to contribute code to nixpkgs. This is also why macvim hasn't been updated in a while (the latest release is snapshot-172).

py3c is a "Python 2/3 compatibility layer for C extensions". It uses python2 as a checkInput. The only way for it not to depend on python2 would be doCheck = false.

I think I've almost got rocm-opencl-runtime updated to the latest ROCm and removed the python2 dependency. That work is over on this branch if anyone can help verify that things are working. When CI is done on the overlay, and assuming I haven't noticed any deal breakers, I can open a PR to nixpkgs.

services.firefox.syncserver is broken, seems to be related to python2

There was a PR to remove syncserver that never got merged because I don't have merge rights (https://github.com/NixOS/nixpkgs/pull/74725). It's broken and upstream has moved to an incomplete rust rewrite, so it still makes sense to remove it

What about chirp, there is py3 branch in upstream repo: https://github.com/kk7ds/chirp/tree/py3

Sorry, but my packages aren't trivial to fix. What incentive is there to break and remove packages when I could just do nothing and they would still work?

We don't break packages, packages that still require Python 2 are already broken. They might still work, but they may depend on libraries with security vulnerabilities. Any update to the dependencies may break stuff on the other end, and this is causing additional maintenance burden we do not want to bear anymore. So doing nothing won't guarantee that things keep working, unless you interpret "do nothing" as "pin some old nixpkgs".

Regarding cjdns, the community looks pretty dead and appears to have moved on. Nevertheless, Fedora lists it as Python 3 only, with links to relevant issues, so it should be patchable.
For nimPackages.python on the other hand, it appears to be Python 2 only with no path forward. (Upstream repo explicitly states "Compatible with Python 1.5[!] to 2.7" and the last commit was four years ago.) I fear that it will have to be removed from nixpkgs, sooner or later. I did a quick check and the only reverse dependency I could find was nimPackages.spry, which is already broken.

spidermonkey_68 can only be dropped after we've updated to the next libproxy release, which includes https://github.com/libproxy/libproxy/pull/161
We'll also need to figure out what to do about mediatomb, but upstream seems dead for some years and idk if anyone still uses it. cc @Phreedom

@piegamesde do you mind if I add checkboxes to the checklist so we can determine what has been resolved?

@jonringer I started to move them into a separate table, to make searching for TODO entries easier (also we can hide it behind a <summary> if it gets too long). But, I'm hopelessly lagging behind with maintaining the original post, any help is greatly appreciated.

Right now zynaddsubfz depends on python2 because it depends on mruby-zest, which depends on an old version of pugl, that depends on python2 to build.
https://github.com/mruby-zest/mruby-zest-build/commit/d13dc33d83ea15627081c870cae7a7d62a4080e5.
It looks like it just needs to be updated upstream to support a newer version of pugl.

looking up packages that don't have a maintainer in the list above, i found that renpy is still working on py3 support, upstream issue: https://github.com/renpy/renpy/issues/2003

I think aflplusplus should build with Python 3, should we switch and remove afl in favor of it?

fedpkg should be fine with python3, but it is marked broken as most of its dependencies are missing from nixpkgs.

hplip pkgs/misc/drivers/hplip/3.16.11.nix

This is "soooorta" a false positive, or at least it's probably due to the old version being packaged. Fedora is currently at 3.21.2, which at least "tries" to use python3. Unfortunately, its configure script c*cks it up, so among the more than FIFTY(!) patches Fedora have been applying to the build is this one that fixes its configure-time Python3 detection.

isso seems broken due to nodejs issues.
However, it uses node2nix by @svanderburg which seems to spit out code that requires python2.

@puffnfresh Natron needs to upgrade to a newer version and use python3 or I'm going to remove it during before the 22.05 release.

https://github.com/NixOS/nixpkgs/pull/154687 reveals a lot of packages that use Python 2 but were not included in the above table.

@dotlambda Yeah, I just did a simple grep for python2 and most certainly missed a lot of packages. But I don't think I'll add those to the list. There is enough work to do just with the current entries, and we'll probably open new issues for future removal iterations anyways.

we'll probably open new issues for future removal iterations anyways

Then "Python 2 tracking issue" isn't really appropriate.

I just did a simple grep for python2 and most certainly missed a lot of packages.

My PR allows you to do exactly that without missing any.

However, it uses node2nix by @svanderburg which seems to spit out code that requires python2.

node2nix uses if nodejs ? python then nodejs.python else python2. I think this could just be changed to nodejs.python, I doubt anyone is still relying on node2nix working with Nixpkgs 20.03.

headphones updated here: #155466

ec2-utils can be updated in the top-comment. The python2 reference related to that package is gone as of https://github.com/NixOS/nixpkgs/pull/157761

I already failed to keep up with the package list some time ago. Think this issue has probably served its purpose and should be closed. Of course we still aim for the goal of removing Python 2 and all of its packages from nixpkgs, eventually. And of course you are still very welcome to submit pull requests that remove/update affected packages.
If anybody wants to pick this up again in the future (hello @ piegames from in half a year ^^), here's a few things that should be improved:

Maybe break things down into smaller batches specialized on different topics (e.g. only Python 2 leaf packages, or the whole Gtk2 dependency subtree that depends on Python 2)
Tracking of packages must be done as automatically as possible. This could be through a bullet point list, or through bulk generated issues – one per package – in a dedicated issue board.
We need more people who help. (A lot of these packages are not that well maintained) The way that only a few persons do bulk removal PRs is not sustainable, doing these is really intense.


[Fatal] Unhandled top-level exception "failed to synchronize epoch ledger"

When bootstrapping, cyclic restarting with this error and fails to start any.
Crash report attached.
2020-12-07.zip
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]: 2020-12-07 03:59:33 UTC [Fatal] Unhandled top-level exception: $exn
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]: Generating crash report
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:         exn: {
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:   "string": "failed to synchronize epoch ledger",
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:   "tags": [ { "tag": "Local state sync failed" } ],
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:   "backtrace": [
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:     "Raised at file \"src/error.ml\" (inlined), line 9, characters 14-30",
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:     "Called from file \"src/lib/transition_router/transition_router.ml\", line 350, characters 18-75",
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:     "Called from file \"src/deferred1.ml\", line 17, characters 40-45",
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:     "Called from file \"src/job_queue.ml\" (inlined), line 131, characters 2-5",
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:     "Called from file \"src/job_queue.ml\", line 171, characters 6-47"
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:   ]
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]: }
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:   ☠  Coda Daemon crashed.
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:    The Coda Protocol developers would like to know why!
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:     Please:
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:       Open an issue:
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:         <https://github.com/CodaProtocol/coda/issues/new>
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:       Briefly describe what you were doing and attach the crash report /home/ubuntu/.coda-config/coda_crash_report_2020-12-07_03-59-33.325266.tar.gz
Dec 07 03:59:33 ip-172-31-24-200 coda[6490]:
Dec 07 03:59:33 ip-172-31-24-200 systemd[1805]: mina.service: Main process exited, code=exited, status=1/FAILURE
Dec 07 03:59:33 ip-172-31-24-200 systemd[1805]: mina.service: Failed with result 'exit-code'.

Closing this issue as it is stale for a long time.


e2e: serial: fix expected event on error

Catch up with u/s https://github.com/kubernetes-sigs/scheduler-plugins/pull/547
We fix the expected message within events when a container/pod is unschedulable. Previously, we had to use custom strings, but now we can leverage the constants declared in the nrosched utility package, on which we depend already anyway.

Thanks for the fix, we need it in 4.13 test version too.
/cherry-pick release-4.13


very basis telnet commands for SMTP fail. it used to work a few weeks ago

~/mailhog$ telnet localhost 1025
Trying <IP_ADDRESS>...
Connected to localhost.
Escape character is '^]'.
220 mailhog.example ESMTP MailHog
ehlo ss.com
250-Hello ss.com
250-PIPELINING
250 AUTH PLAIN
mail from<EMAIL_ADDRESS>550 Invalid syntax in MAIL command
rcpt to<EMAIL_ADDRESS>500 Unrecognised command
data
500 Unrecognised command
.
500 Unrecognised command
quit
221 Bye
Connection closed by foreign host.

I guess it is due to your MAIL FROM<EMAIL_ADDRESS>being invalid. If I remember correctly (and that is to be doubted since the spec for mail addresses is one historically grown dumpster fire), you cannot have a host part of .com only. I guess MAIL FROM: ff@com could be valid, at least in lab settings.

NO options for email domain works:
u:~$ telnet localhost 35
Trying <IP_ADDRESS>...
Connected to localhost.
Escape character is '^]'.
220 mailhog.example ESMTP MailHog
ehlo ff.com
250-Hello ff.com
250-PIPELINING
250 AUTH PLAIN
mail from<EMAIL_ADDRESS>550 Invalid syntax in MAIL command
mail from: dd@ff
550 Invalid syntax in MAIL command
mail from: dd@com
550 Invalid syntax in MAIL command

 telnet localhost 1025
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mailhog.example ESMTP MailHog
ehlo ss.com
250-Hello ss.com
250-PIPELINING
250 AUTH PLAIN
mail from<EMAIL_ADDRESS>550 Invalid syntax in MAIL command
mail from<EMAIL_ADDRESS>250 Sender<EMAIL_ADDRESS>ok

Observed while following this article on smtp over telnet https://www.redhat.com/sysadmin/telnet-troubleshoot-mail-system
The workaround described by twisted1919 works for me by adding <> surrounding the email address.
mail from<EMAIL_ADDRESS>550 Invalid syntax in MAIL command
mail from<EMAIL_ADDRESS>250 Sender<EMAIL_ADDRESS>ok


code 201, why?

Before Issue

Please search on the Issues
Please search on the wiki
Please set FileDownloadLog.NEED_LOG=true and review the Logcat output from main process and :filedownloader process ( pay attention to Warn and Error level logcat)

Issue

What problem do you get?
Which version of FileDownloader are you using when you produce such problem?
How to reproduce such problem?
Do you set FileDownloadLog.NEED_LOG=true?
Could you please reproduce this problem and provide all main process and :filedownloader process logcat
Can you fix it by yourself and request PR, if not, what's problem do you get when you try to fix it

P.S. If you don't know how to get :filedownloader process, it's recommended to using pidcat to just filter all your application logcat, or define process.non-separate=true on filedownloader.properties

请在Issue前认真的跟进上面提到的建议，这样将可以极大的加快你遇到问题的处理。

you can refer to https://httpstatuses.com/201. By the way, this isn't a good issue, you'd better open an issue according the template.


feat: accept post requests parameters (since, until ...)

feat: accept post requests parameters (since, until ...) (#15)
chore: format/lint (#16)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

29 of 31 (93.55%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.6%) to 93.662%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/handlers/Handler.ts
14
16
87.5%

Totals

Change from base Build<PHONE_NUMBER>:
4.6%

Covered Lines:
114

Relevant Lines:
116

💛  - Coveralls


404 dashboard not found

Expected Behavior
show the dashboard page
Actual Behavior
laravel 404 , page not found (in localhost/dashboard)
Steps to Reproduce the Problem
1.php artisan serve
2.login into localhost/dashboard
3. face the error
Specifications

ORCHID Version:^3.0
Laravel Version:^5.7
PHP Version:7.1.3
Database Version:sqlite3

Other Notes
no change in routes , just php artisan orchid:install

Do you see routes?
php artisan route:list

Please pay attention to the parameters:
DASHBOARD_DOMAIN=localhost
DASHBOARD_PREFIX=dashboard

They determine where the panel will be located.
How do you start the server? Possible settings .env not applied

I am able to login successfully. But after login, the page redirects to https://admin.test.test/dashboard and shows 404.

@mathewparet
This is possible, provided that the user under whom you want to log in does not have the right to access.
The command to create a user with maximum permission (for the moment)
artisan make:admin

I created the used with artisan make:admin only
On Thu, 7 Feb, 2019, 5:41 PM Alexandr Chernyaev<EMAIL_ADDRESS>wrote:

@mathewparet https://github.com/mathewparet
This is possible, provided that the user under whom you want to log in
does not have the right to access.
The command to create a user with maximum permission (for the moment)
artisan make:admin
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orchidsoftware/platform/issues/723#issuecomment-461394794,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACRg6tZlijamS6OzO3KYFI710xVVnEYiks5vLBf7gaJpZM4YfzaL
.

--
Best Regards,
Mathew Paret

@mathewparet  Well, could you indicate your versions.
As for 404 errors, you see the page of the laravel or the page of the orchid (They are visually different).
Also please check that the session is being written and you have the necessary permissions on the directories.

The 404 error I get is from Laravel, not Orchid
Also, all permissions seem right and session files are successfully being written into.
I am using Laravel Framework 5.7.25

You can show the output of the following commands:
php artisan route:list

and
php artisan tinker
>>> config('platform.domain');
>>> config('platform.prefix');

php artisan route:list

gMac:test mathewparet$ php artisan route:list
+-----------+----------------------------------------+--------------------------------------------------------------------+-----------------------------------------+------------------------------------------------------------------------------------+----------------------+
| Domain    | Method                                 | URI                                                                | Name                                    | Action                                                                             | Middleware           |
+-----------+----------------------------------------+--------------------------------------------------------------------+-----------------------------------------+------------------------------------------------------------------------------------+----------------------+
|           | GET|HEAD                               | /                                                                  |                                         | Closure                                                                            | web                  |
|           | GET|HEAD                               | api/user                                                           |                                         | Closure                                                                            | api,auth:api         |
| test.test | GET|HEAD                               | dashboard                                                          | platform.index                          | Closure                                                                            | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/announcement/{method?}/{argument?}                       | platform.systems.announcement           | Orchid\Platform\Http\Screens\AnnouncementScreen@handle                             | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/backups/{method?}/{argument?}                            | platform.systems.backups                | Orchid\Platform\Http\Screens\BackupScreen@handle                                   | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/bulldozer/{model?}/{method?}/{argument?}                 | platform.bulldozer.index                | Orchid\Bulldozer\Http\Screens\BootModelScreen@handle                               | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/category/create/{method?}/{argument?}                    | platform.systems.category.create        | App\Orchid\Screens\Category\CategoryEditScreen@handle                              | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/category/{category}/edit/{method?}/{argument?}           | platform.systems.category.edit          | App\Orchid\Screens\Category\CategoryEditScreen@handle                              | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/category/{method?}/{argument?}                           | platform.systems.category               | App\Orchid\Screens\Category\CategoryListScreen@handle                              | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/comments/create/{method?}/{argument?}                    | platform.systems.comments.create        | App\Orchid\Screens\Comment\CommentEditScreen@handle                                | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/comments/{comments}/edit/{method?}/{argument?}           | platform.systems.comments.edit          | App\Orchid\Screens\Comment\CommentEditScreen@handle                                | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/comments/{method?}/{argument?}                           | platform.systems.comments               | App\Orchid\Screens\Comment\CommentListScreen@handle                                | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/example/{method?}/{argument?}                            | platform.example                        | App\Orchid\Screens\ExampleScreen@handle                                            | web,platform         |
| test.test | GET|HEAD                               | dashboard/login                                                    | platform.login                          | Orchid\Platform\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest            |
| test.test | POST                                   | dashboard/login                                                    | platform.login.auth                     | Orchid\Platform\Http\Controllers\Auth\LoginController@login                        | web,guest            |
| test.test | POST                                   | dashboard/logout                                                   | platform.logout                         | Orchid\Platform\Http\Controllers\Auth\LoginController@logout                       | web                  |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/main/{method?}/{argument?}                               | platform.main                           | App\Orchid\Screens\PlatformScreen@handle                                           | web,platform         |
| test.test | POST                                   | dashboard/password/email                                           | platform.password.email                 | Orchid\Platform\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest            |
| test.test | GET|HEAD                               | dashboard/password/reset                                           | platform.password.request               | Orchid\Platform\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest            |
| test.test | POST                                   | dashboard/password/reset                                           |                                         | Orchid\Platform\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest            |
| test.test | GET|HEAD                               | dashboard/password/reset/{token}                                   | platform.password.reset                 | Orchid\Platform\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest            |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/press/entities/{type}/create/{method?}/{argument?}       | platform.entities.type.create           | Orchid\Press\Http\Screens\EntityEditScreen@handle                                  | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/press/entities/{type}/{method?}/{argument?}              | platform.entities.type                  | Orchid\Press\Http\Screens\EntityListScreen@handle                                  | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/press/entities/{type}/{page?}/page/{method?}/{argument?} | platform.entities.type.page             | Orchid\Press\Http\Screens\EntityEditScreen@handle                                  | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/press/entities/{type}/{post?}/edit/{method?}/{argument?} | platform.entities.type.edit             | Orchid\Press\Http\Screens\EntityEditScreen@handle                                  | web,platform         |
| test.test | POST                                   | dashboard/press/media/delete_file_folder                           | platform.systems.media.deleteFileFolder | Orchid\Press\Http\Controllers\MediaController@deleteFileFolder                     | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/directories                                  | platform.systems.media.getAllDirs       | Orchid\Press\Http\Controllers\MediaController@getAllDirs                           | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/files                                        | platform.systems.media.files            | Orchid\Press\Http\Controllers\MediaController@files                                | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/move_file                                    | platform.systems.media.moveFile         | Orchid\Press\Http\Controllers\MediaController@moveFile                             | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/new_folder                                   | platform.systems.media.newFolder        | Orchid\Press\Http\Controllers\MediaController@newFolder                            | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/remove                                       | platform.systems.media.remove           | Orchid\Press\Http\Controllers\MediaController@remove                               | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/rename_file                                  | platform.systems.media.renameFile       | Orchid\Press\Http\Controllers\MediaController@renameFile                           | web,platform,Closure |
| test.test | POST                                   | dashboard/press/media/upload                                       | platform.systems.media.upload           | Orchid\Press\Http\Controllers\MediaController@upload                               | web,platform,Closure |
| test.test | GET|HEAD                               | dashboard/press/media/{parameters?}                                | platform.systems.media.index            | Orchid\Press\Http\Controllers\MediaController@index                                | web,platform,Closure |
| test.test | GET|HEAD                               | dashboard/press/menu                                               | platform.systems.menu.index             | Orchid\Press\Http\Controllers\MenuController@index                                 | web,platform,Closure |
| test.test | GET|HEAD                               | dashboard/press/menu/create                                        | platform.systems.menu.create            | Orchid\Press\Http\Controllers\MenuController@create                                | web,platform,Closure |
| test.test | DELETE                                 | dashboard/press/menu/{menu}                                        | platform.systems.menu.destroy           | Orchid\Press\Http\Controllers\MenuController@destroy                               | web,platform,Closure |
| test.test | PUT|PATCH                              | dashboard/press/menu/{menu}                                        | platform.systems.menu.update            | Orchid\Press\Http\Controllers\MenuController@update                                | web,platform,Closure |
| test.test | GET|HEAD                               | dashboard/press/menu/{menu}                                        | platform.systems.menu.show              | Orchid\Press\Http\Controllers\MenuController@show                                  | web,platform,Closure |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/roles/create/{method?}/{argument?}                       | platform.systems.roles.create           | App\Orchid\Screens\Role\RoleEditScreen@handle                                      | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/roles/{method?}/{argument?}                              | platform.systems.roles                  | App\Orchid\Screens\Role\RoleListScreen@handle                                      | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/roles/{roles}/edit/{method?}/{argument?}                 | platform.systems.roles.edit             | App\Orchid\Screens\Role\RoleEditScreen@handle                                      | web,platform         |
| test.test | POST                                   | dashboard/search/{query}                                           | platform.search                         | Orchid\Platform\Http\Controllers\Systems\SearchController@index                    | web,platform         |
| test.test | GET|HEAD                               | dashboard/systems                                                  | platform.systems.index                  | Orchid\Platform\Http\Controllers\Systems\SystemController@index                    | web,platform,Closure |
| test.test | GET|HEAD                               | dashboard/systems/cache                                            | platform.systems.cache                  | Orchid\Platform\Http\Controllers\Systems\CacheController@store                     | web,platform         |
| test.test | POST                                   | dashboard/systems/files                                            | platform.systems.files.upload           | Orchid\Platform\Http\Controllers\Systems\AttachmentController@upload               | web,platform,Closure |
| test.test | POST                                   | dashboard/systems/files/get                                        | platform.systems.files.getFilesByIds    | Closure                                                                            | web,platform         |
| test.test | PUT                                    | dashboard/systems/files/post/{id}                                  | platform.systems.files.update           | Orchid\Platform\Http\Controllers\Systems\AttachmentController@update               | web,platform,Closure |
| test.test | POST                                   | dashboard/systems/files/sort                                       | platform.systems.files.sort             | Orchid\Platform\Http\Controllers\Systems\AttachmentController@sort                 | web,platform,Closure |
| test.test | DELETE                                 | dashboard/systems/files/{id}                                       | platform.systems.files.destroy          | Orchid\Platform\Http\Controllers\Systems\AttachmentController@destroy              | web,platform,Closure |
| test.test | POST                                   | dashboard/systems/notification/read                                | platform.notification.read              | Orchid\Platform\Http\Controllers\Systems\NotificationController@markAllAsRead      | web,platform         |
| test.test | POST                                   | dashboard/systems/notification/remove                              | platform.notification.remove            | Orchid\Platform\Http\Controllers\Systems\NotificationController@remove             | web,platform         |
| test.test | GET|HEAD                               | dashboard/systems/tags/{tags?}                                     | platform.systems.tag.search             | Orchid\Platform\Http\Controllers\Systems\TagsController@show                       | web,platform         |
| test.test | POST                                   | dashboard/systems/widget/{widget}/{key?}                           | platform.systems.widget                 | Orchid\Platform\Http\Controllers\Systems\WidgetController@index                    | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/users/{method?}/{argument?}                              | platform.systems.users                  | App\Orchid\Screens\User\UserListScreen@handle                                      | web,platform         |
| test.test | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | dashboard/users/{users}/edit/{method?}/{argument?}                 | platform.systems.users.edit             | App\Orchid\Screens\User\UserEditScreen@handle                                      | web,platform         |
| test.test | GET|HEAD                               | dashboard/{fallbackPlaceholder}                                    |                                         | Closure                                                                            | web,platform         |
+-----------+----------------------------------------+--------------------------------------------------------------------+-----------------------------------------+------------------------------------------------------------------------------------+----------------------+

Tinker:
gMac:test mathewparet$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.1 — cli) by Justin Hileman
>>> config('platform.domain')
=> "test.test"
>>> config('platform.prefix')
=> "dashboard"
>>> exit
Exit:  Goodbye
gMac:test mathewparet

@mathewparet
Your domains do not match, you refer to: https://admin.test.test/dashboard , but the parameters indicate otherwise. bring them to one form.

That's because I re-installed it in an effort to try fix it and when I reinstalled I setup the url as test.test
Now I refer to https://test.test/dashboard
It asks me to login and after that I fall back to Laravel 404

@mathewparet
Good, but I am still convinced that the problem is due to the environment.
Could you just create a simple authorization using the command make:auth and tell if it works?

So I'll just do make:auth?
Since the user tables are quite similar (you only have extra fields), I
believe I do not need to run the user table migration. Correct?
On Fri, 8 Feb, 2019, 12:34 AM Alexandr Chernyaev<EMAIL_ADDRESS>wrote:

@mathewparet https://github.com/mathewparet
Good, but I am still convinced that the problem is due to the environment.
Could you just create a simple authorization using the command make:auth
and tell if it works?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orchidsoftware/platform/issues/723#issuecomment-461555210,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACRg6srp0OxEzFSamotR5Z-C9dN-TTToks5vLHivgaJpZM4YfzaL
.

--
Best Regards,
Mathew Paret

I ran php artisan make:auth and then tried test.test/dashboard/login (the old orchid login page came up). Then I went to test.test/login to use the laravel inbuild login. After login it went back to inbuilt /home page. But then when I go it /dashboard again it shows 404

excellent, it gives me a lot of information to identify the problem, but could you dump the user:
php artisan tinker:
dd (App \ User :: find (1)):
Most likely the user model was not inherited

gMac:test mathewparet$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.1 — cli) by Justin Hileman
>>> dd(App\User::find(1))
App\User {#3225
  #fillable: array:3 [
    0 => "name"
    1 => "email"
    2 => "password"
  ]
  #hidden: array:2 [
    0 => "password"
    1 => "remember_token"
  ]
  #casts: array:1 [
    "email_verified_at" => "datetime"
  ]
  #table: "users"
  #allowedFilters: array:4 [
    0 => "id"
    1 => "name"
    2 => "email"
    3 => "permissions"
  ]
  #allowedSorts: array:3 [
    0 => "id"
    1 => "name"
    2 => "email"
  ]
  #connection: "mysql"
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #attributes: array:10 [
    "id" => 1
    "name" => "Mathew Paret"
    "email" =><EMAIL_ADDRESS>    "email_verified_at" => null
    "password" => "$2y$10$XQzD/9NSR3qzhC73gmCDieKGnzrNvBsNj3apwJG1NgaNhw.muByzy"
    "remember_token" => null
    "created_at" => "2019-02-07 16:08:00"
    "updated_at" => "2019-02-08 04:31:52"
    "last_login" => "2019-02-08 04:31:52"
    "permissions" => "{"platform.index": true, "platform.systems": true, "platform.bulldozer": true, "platform.systems.menu": true, "platform.systems.cache": true, "platform.systems.index": true, "platform.systems.media": true, "platform.systems.roles": true, "platform.systems.users": true, "platform.systems.backups": true, "platform.systems.category": true, "platform.systems.comments": true, "platform.systems.attachment": true, "platform.systems.announcement": true, "platform.entities.type.example-page": true, "platform.entities.type.example-post": true}"
  ]
  #original: array:10 [
    "id" => 1
    "name" => "Mathew Paret"
    "email" =><EMAIL_ADDRESS>    "email_verified_at" => null
    "password" => "$2y$10$XQzD/9NSR3qzhC73gmCDieKGnzrNvBsNj3apwJG1NgaNhw.muByzy"
    "remember_token" => null
    "created_at" => "2019-02-07 16:08:00"
    "updated_at" => "2019-02-08 04:31:52"
    "last_login" => "2019-02-08 04:31:52"
    "permissions" => "{"platform.index": true, "platform.systems": true, "platform.bulldozer": true, "platform.systems.menu": true, "platform.systems.cache": true, "platform.systems.index": true, "platform.systems.media": true, "platform.systems.roles": true, "platform.systems.users": true, "platform.systems.backups": true, "platform.systems.category": true, "platform.systems.comments": true, "platform.systems.attachment": true, "platform.systems.announcement": true, "platform.entities.type.example-page": true, "platform.entities.type.example-post": true}"
  ]
  #changes: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #visible: []
  #guarded: array:1 [
    0 => "*"
  ]
  #rememberTokenName: "remember_token"
  -cachePermissions: null
  +jsonColumnName: "content"
}
gMac:test mathewparet$

Yes, everything is likely that way, laravel recently brought changes to his delivery: https://github.com/laravel/laravel/blob/master/app/User.php
but the installer did not find what to replace
https://github.com/orchidsoftware/platform/blob/master/src/Platform/Commands/InstallCommand.php
Inherit your model from the orchid model and everything will be fine, but I will try to update the installer so that no one will encounter the same problem.

Looks like it is already inherited Orchid's model. I found this in App\User.php
namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Orchid\Platform\Models\User as Authenticatable;

class User extends Authenticatable
{

What does your user return?
php artisan tinker:
$user->hasAccess(“platform.index“)

gMac:test mathewparet$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.1 — cli) by Justin Hileman
>>> $user = App\User::find(1);
=> App\User {#3225
     id: 1,
     name: "Mathew Paret",
     email<EMAIL_ADDRESS>     email_verified_at: null,
     created_at: "2019-02-07 16:08:00",
     updated_at: "2019-02-08 04:31:52",
     last_login: "2019-02-08 04:31:52",
     permissions: "{"platform.index": true, "platform.systems": true, "platform.bulldozer": true, "platform.systems.menu": true, "platform.systems.cache": true, "platform.systems.index": true, "platform.systems.media": true, "platform.systems.roles": true, "platform.systems.users": true, "platform.systems.backups": true, "platform.systems.category": true, "platform.systems.comments": true, "platform.systems.attachment": true, "platform.systems.announcement": true, "platform.entities.type.example-page": true, "platform.entities.type.example-post": true}",
   }
>>> $user->hasAccess("platform.index");
=> false
>>> exit
Exit:  Goodbye
gMac:test mathewparet$

This is very strange, as you see in the user rights the specified value goes as true.
I still think that this is because of the update of the model of the User, and more precisely because of this line:
    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

Because it replaces the base value:
    /**
     * @var array
     */
    protected $casts = [
        'permissions' => 'array',
    ];

Please add it now manually to your model.

And it worked! Ta-da.
Thank you :)

Run :
php artisan route:clear


cmd/bosun/web: use DefaultServeMux for /debug/pprof requests

When trying to get a pprof profile of the bosun server, I discovered that the path to /debug/pprof was being redirected back to the homepage of our bosun instance.
Apparently the gorilla/mux web framework clobbers the path to pprof, so this line of code allows the http.DefaultServeMux to handle the url at /debug/pprof, and opens the bosun server back up for profiling.

Would the pprof tool still work with the client if required a token and was wrapped with roleAdmin ?

Sorry @kylebrandt, I'm not quite understanding your question.
Normally, one would just run the command go tool pprof http://bosun:8070/debug/pprof/heap in order to analyze go's current runtime heap, for example. I'm not certain that the go tool command currently allows for passing it's http request with a token, or any other form of authentication for that matter.
I suppose it could be possible to add an (authenticated) option in the web interface somewhere to toggle the url handler for /debug/pprof on and off, so that it can be disabled until needed at runtime, but, the /debug/pprof url itself would still be un-authenticated while it was enabled.
Judging by some older issues (#1895), and the fact that main.go is importing _ net/http/pprof, I was submitting this pull request under the impression that the /debug/pprof was intended to be available (unathenticated) by default. I then further assumed that a relatively recent switch to the gorilla/mux multiplexer simply clobbered the url that the blind import sets up by default.
If the /debug/pprof information is deemed too sensitive (I can't make that judgement call, or recommend anything here, I'm still learning what is available in it) to allow the unauthenticated url open by default (as it was open in past versions), then by all means disregard this request. I'd recommend also not importing _ net/http/pprof as well, to make it clear that you don't want to expose that url at all. Then you'll simply have to require that someone wanting to run the profiling tools against the bosun server builds their own version which imports the pprof packages and adds a router/handler for the pprof url.

That was before we added auth to Bosun. So this idea is more of a nice to
have if it is easy to add a header to the go tool pprof tool.
On Mon, Feb 4, 2019 at 4:19 PM Travis Hegner<EMAIL_ADDRESS>wrote:

Sorry @kylebrandt https://github.com/kylebrandt, I'm not quite
understanding your question.
Normally, one would just run the command go tool pprof
http://bosun:8070/debug/pprof/heap in order to analyze go's current
runtime heap, for example. I'm not certain that the go tool command
currently allows for passing it's http request with a token, or any other
form of authentication for that matter.
I suppose it could be possible to add an (authenticated) option in the web
interface somewhere to toggle the url handler for /debug/pprof on and
off, so that it can be disabled until needed at runtime, but, the
/debug/pprof url itself would still be un-authenticated while it was
enabled.
Judging by some older issues (#1895
https://github.com/bosun-monitor/bosun/issues/1895), and the fact that
main.go is importing _ net/http/pprof, I was submitting this pull request
under the impression that the /debug/pprof was intended to be available
(unathenticated) by default. I then further assumed that a relatively
recent switch to the gorilla/mux multiplexer simply clobbered the url
that the blind import sets up by default.
If the /debug/pprof information is deemed too sensitive (I can't make
that judgement call, or recommend anything here, I'm still learning what is
available in it) to allow the unauthenticated url open by default (as it
was open in past versions), then by all means disregard this request. I'd
recommend also not importing _ net/http/pprof as well, to make it clear
that you don't want to expose that url at all. Then you'll simply have to
require that someone wanting to run the profiling tools against the bosun
server builds their own version which imports the pprof packages and adds
a router/handler for the pprof url.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bosun-monitor/bosun/pull/2382#issuecomment-460416715,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABnT0FL3YK_jgxOTR3yuqc9Tz6oru8dqks5vKKPNgaJpZM4aezhV
.

I don't believe it's possible to add a header to go tool pprof. It does simply work with files though, so it'd likely be trivial to just use curl with an auth header or token to pull down the profiling snapshot, and then just open the snapshot with the go tool command.
We don't run authentication on our instance of bosun, so that's a little out of my scope to try and implement.