You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature request: To see a progress in fixing issues so it could be fun. #477
To give Big motivation boosts to devs in fixing nilaway stuff, during first adoption and later
Explanation
At minimum would be nice to see output how many lines of report is left to handle. This alone makes things seeing a progress
/home/naa/repos/pet_projects/fl-darkstat/darkmap/export_map/system_connections.go:265:20: error: Potential nil panic detected. Observed nil flow from source to dereference point:
- export_map/system_connections.go:265:20: deep read from field `Systems` lacking guarding; accessed field `LeadsTo`
(Same nil source could also cause potential nil panic(s) at 2 other place(s): export_map/system_connections.go:287:16, and export_map/system_connections.go:288:20.)
393 # lines of report left
Ideally should be present gamefication similar to pylint output
Where each new report shows you progress much stuff you fixed in comparison to previous run. (for example how much less lines of error report u received in comparison to previous run)
It does not have to be making sense, it is just nice to see a progress in how things are fixed.
This feature would make nilaway handling very Fun instead of Chore of mopping floors.
it will give BIG MOTIVATION in trying to fix all nilaway reported on a big project where it started being applied 😄
it is very nice to see a progress that your code became better
Example
/home/naa/repos/pet_projects/fl-darkstat/darkstat/configs_export/mines.go:95:21: error: Potential nil panic detected. Observed nil flow from source to dereference point:
- configs_export/mines.go:95:21: deep read from field `ExplosionMap` lacking guarding; accessed field `HullDamage` via the assignment(s):
- `e.Mapped.Equip().ExplosionMap[...]` to `explosion` at configs_export/mines.go:93:3
(Same nil source could also cause potential
A5B6
nil panic(s) at 2 other place(s): configs_export/mines.go:96:23, and configs_export/mines.go:99:25.)
251 lines of nilaway issues left.
You improved your code by 26 lines in comparison to previous run. Nice work! 💪
Your code has been rated at 7.49/10 (previous run: 7.23/10, +0.26)
New best score! 🎉
changed the title [-]Feature: To see a progress in fixing issues[/-][+]Feature request: To see a progress in fixing issues so it could be fun.[/+]on Aug 2, 2026
This is a fun idea! but I feel that this can be easily wrapped around NilAway (-json flag that outputs all diagnostics as JSON) such that you can show whatever you want to show to the end user. Then NilAway can stay as a boring core :)
@yuxincs Technically yes. I was not able to "wait" and actually intercepted output of Nilaway and already used with my "gamificator" to make its usage in an easy way. (and fixed the target app i wished with nilaway, thanks)
So for me itself, this is not an issue. I already used it with gameficiation.
===
Practically though making such feature (in a better way integrated) permanent part of a tool has next advantages
Makes sure people use it enthusiastically always. Increases its adoptation pretty much by order of magnitude (could be disabled with a flag if not needed).
They do not need inspiration for this idea and to write this script on their own, it is already there by default
Script that does it fairly small amount of effort, like 200 code lines which are fairly simple... so it does not look like there is big cost to feature
It is kind of nice making tool more liked 😄 i think this stuff increases happiness to use a linter by more than 10 times.
(it was very difficult in motivation to go through "raw output" and fixing stuff. Gamefication helped doing it like slide in a butter smoothly. I was struggling to take care of even 5% of report without gamefication. I took care in a single ride of 95% issues with gamefication)
And considering how much diresome issue can be nil panics in Go, it would be really nice having things for their fixing really easy to adopt
I could probably even open PR for that. It is very simple thing to add. ^_^
👀 with just intercepting msgs over there looks like possible to add "single function" of injected gamefication, logic of which we can hide in some folder/file away.
Except will be needed also added flag to turn it off optionally.
and outputing it only in "text" mode not in json mode
Then may be it could be permament part making tool more fun to use ^_^
P.S. So again not really needed for me itself, more of a question to benefit other people in adopting this tool easier and having more comfort to use it.
I liked results of bulletproofing my app with Nilaway 🛡️
My app explicitely had issue with user input being very variative ini configs that users were breaking all the time in a new way. Nilaway looks like helped me finally getting app stability regarding "whatever" user input in terms of gigaton of ini configs malforming data and breaking code logic with yet another nil panic
Initial report was having 800 text lines of Nilaway report.
I excluded not very important libs and made it down to 500 text lines.
I struggled to find motivation to process even like 50 text lines.
After turned on gamefication i am already down to only like 30 lines left out of the whole original 500 text lines. processed almost all issues in a single evening.
Activity
[-]Feature: To see a progress in fixing issues[/-][+]Feature request: To see a progress in fixing issues so it could be fun.[/+]yuxincs commentedon Aug 7, 2026
This is a fun idea! but I feel that this can be easily wrapped around NilAway (
-jsonflag that outputs all diagnostics as JSON) such that you can show whatever you want to show to the end user. Then NilAway can stay as a boring core :)dd84ai commentedon Aug 7, 2026
@yuxincs Technically yes. I was not able to "wait" and actually intercepted output of Nilaway and already used with my "gamificator" to make its usage in an easy way. (and fixed the target app i wished with nilaway, thanks)
So for me itself, this is not an issue. I already used it with gameficiation.
nilaway ./... 2>&1 | go run docker/nilaway_report/nilaway_report.go
Where nilaway_report.go is https://github.com/darklab8/fl-darkstat/blob/master/docker/nilaway_report/nilaway_report.go
===
Practically though making such feature (in a better way integrated) permanent part of a tool has next advantages
It is kind of nice making tool more liked 😄 i think this stuff increases happiness to use a linter by more than 10 times.
(it was very difficult in motivation to go through "raw output" and fixing stuff. Gamefication helped doing it like slide in a butter smoothly. I was struggling to take care of even 5% of report without gamefication. I took care in a single ride of 95% issues with gamefication)
And considering how much diresome issue can be nil panics in Go, it would be really nice having things for their fixing really easy to adopt
I could probably even open PR for that. It is very simple thing to add. ^_^
This code part looks injectable for it 👀
👀 with just intercepting msgs over there looks like possible to add "single function" of injected gamefication, logic of which we can hide in some folder/file away.
Then may be it could be permament part making tool more fun to use ^_^
P.S. So again not really needed for me itself, more of a question to benefit other people in adopting this tool easier and having more comfort to use it.
dd84ai commentedon Aug 7, 2026
I liked results of bulletproofing my app with Nilaway 🛡️
My app explicitely had issue with user input being very variative ini configs that users were breaking all the time in a new way. Nilaway looks like helped me finally getting app stability regarding "whatever" user input in terms of gigaton of ini configs malforming data and breaking code logic with yet another nil panic
Initial report was having 800 text lines of Nilaway report.
I excluded not very important libs and made it down to 500 text lines.
I struggled to find motivation to process even like 50 text lines.
After turned on gamefication i am already down to only like 30 lines left out of the whole original 500 text lines. processed almost all issues in a single evening.