Skip to content

refactor(app): split the screens' input and the request results out of app.c - #62

Merged
ewanc26 merged 1 commit into
mainfrom
refactor/split-app
Oct 7, 2026
Merged

ewanc26 merged 1 commit into
mainfrom
refactor/split-app

Conversation

@ewanc26

@ewanc26 ewanc26 commented Oct 7, 2026

Copy link
Copy Markdown
Owner

What this changes

src/app/app.c was 1,912 lines. It is now 393: init, screen history, the requests the platform glue performs, and the per-frame dispatch. Input on the screens that show posts (home, thread, profile, notifications) moved to app_posts.c, input on the menu, search, compose, settings, update and image screens to app_screens.c, and the indigo_app_*_loaded, _failed and open_* functions the platform glue calls to app_results.c. They share app_internal.h. Bodies moved verbatim apart from an indigo_app_ prefix on the 24 functions that cross files. Part of the atomic-files rule; layout.c is next. Part of #53.

Verification

Host: make test (4019 checks, 0 failures under ASan and UBSan), make warnings clean and make snapshots renders. The 3DS build (devkitARM) links with no warnings. Nothing ran on Azahar or a 3DS.

Docs

AGENTS.md names the new files.

Changelog: none — an internal reorganisation with no change a person sees.

Checklist

  • CI is green (CI gate and flow / conventions)
  • No secrets, tokens or signing keys in the diff
  • Tests added or changed with the behaviour; none skipped, disabled or deleted

🤖 Generated with Claude Code

…f app.c

app.c keeps init, history, requests and dispatch; input on the post screens,
input on the other screens and the result handlers move to app_posts,
app_screens and app_results, sharing app_internal.h. No behaviour change.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@ewanc26
ewanc26 merged commit e91fa54 into main Oct 7, 2026
9 checks passed
@ewanc26
ewanc26 deleted the refactor/split-app branch October 7, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant