Skip to content

maintainer.ts has grown to 1600+ lines covering five unrelated concerns #401

Description

@jakharmonika364

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.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions