Summary
src/app/actions/maintainer.ts is over 1600 lines and exports around 19 functions covering queue management, installation settings, analytics and CSV export, community links, repo health, and flagged account review, all in one file.
Context
Every recent PR touching this area (repo picker, queue settings, mentor chain) has had to land changes in this same file, and merge conflicts here have become routine, two of them got resolved in this same review cycle. The file mixes unrelated concerns, so a change to something like CSV export sits in the same file as the flagged account logic, with no real boundary between them.
Suggested fix
Split along the boundaries that already informally divide the file (queues, settings, analytics, community links, flagged accounts) into separate modules under src/app/actions/maintainer/, re-exported from a single entry point if backward compatible imports matter. Doesn't have to be one big PR, could be done one concern at a time.
Summary
src/app/actions/maintainer.tsis over 1600 lines and exports around 19 functions covering queue management, installation settings, analytics and CSV export, community links, repo health, and flagged account review, all in one file.Context
Every recent PR touching this area (repo picker, queue settings, mentor chain) has had to land changes in this same file, and merge conflicts here have become routine, two of them got resolved in this same review cycle. The file mixes unrelated concerns, so a change to something like CSV export sits in the same file as the flagged account logic, with no real boundary between them.
Suggested fix
Split along the boundaries that already informally divide the file (queues, settings, analytics, community links, flagged accounts) into separate modules under
src/app/actions/maintainer/, re-exported from a single entry point if backward compatible imports matter. Doesn't have to be one big PR, could be done one concern at a time.