Commit Graph

36 Commits

Author SHA1 Message Date
Joe Tretter
943bf03ca0 Route interactive Git through native terminal sessions
Remove Kotlin interactive-add emulation and run patch add via the native Git runtime with PTY-backed session IO.
2026-06-27 13:07:35 -05:00
Joe Tretter
d703f539d3 Fix bisect script run and level validators 2026-06-26 19:00:51 -05:00
Joe Tretter
91913a9de8 Defer level validation while editors are open 2026-06-26 13:26:56 -05:00
Joe Tretter
781b5090f7 Fix Git editor reword workflow and UI coverage
- show Git editor file paths instead of the submitted git command
- surface follow-up commit message editors during interactive rebase reword
- add rename-commit UI tests for editor and amend-message solution paths
- add broader embedded level solution scenarios for alternate Git workflows
2026-06-26 11:23:16 -05:00
Joe Tretter
60dd3c82f7 Add runtime diagnostic logging for level setup, native Git calls, inspection, validation, and UI command flow 2026-06-25 13:53:51 -05:00
Joe Tretter
035851ac05 Make manual level selection responsive 2026-06-25 10:02:06 -05:00
Joe Tretter
b5e9038c84 Expand manpage and terminal output sizing 2026-05-19 13:58:15 -05:00
Joe Tretter
ed0b81e587 Open patch hunk editor for git add -p edit command 2026-05-18 21:10:17 -05:00
Joe Tretter
ce58f46b48 Open app editor for interactive rebase todo 2026-05-18 19:01:12 -05:00
Joe Tretter
3f6a764603 Support interactive add/stage input flow 2026-05-13 19:12:06 -05:00
Joe Tretter
618e6e36bd Add hidden diagnostic skin toggle
- Open a hidden diagnostics dialog after tapping the header seven times within fifteen seconds.
- Let the diagnostics dialog toggle the pane color/stripe skin on demand.
- Restore the normal app background and pane colors by default.
- Stop Scaffold from preserving the bottom navigation-bar inset while the keyboard is visible.
- Apply bottom navigation padding only when the IME is not open.
2026-05-13 18:35:36 -05:00
Joe Tretter
61951408de Fix soft-keyboard level advance behavior
- Keep terminal focus without explicitly reopening the software keyboard after command field recreation.
- Preserve submitted-command IME echo suppression when advancing to the next level.
- Recreate the terminal input field when loading a level so stale editor state is discarded.
2026-05-13 15:05:02 -05:00
Joe Tretter
316323a00c Misc Changes 2026-05-11 20:20:13 -05:00
Joe Tretter
8f829fb969 Misc Changes 2026-05-09 22:49:15 -05:00
Joe Tretter
f49e8a96b1 Add app-native interactive Git dialogs
- Open an interactive staging dialog for `git add -i`, `git stage -i`, and
  `git add --interactive`, allowing paths to be selected before staging.
- Open an interactive rebase dialog for `git rebase -i` / `--interactive`, with
  pick, squash, drop, commit-message editing, and reorder controls.
- Keep the existing synthetic runtime behavior available for direct engine/test calls,
  while making app-entered interactive commands show real UI instead of auto-staging.
- Center manpage search navigation using actual text-layout highlight bounds instead
  of approximate line and column math.
- Make editor dialogs use a full-screen IME-padded outer scroll container so controls
  remain reachable when the keyboard pans or resizes the dialog.
2026-05-09 15:41:55 -05:00
Joe Tretter
edec66bfe6 Refactor large Kotlin source files
- Split core game models from sandbox engine, native level setup, and repo state saving.

- Move app overlays and completion helpers out of GitHugApp.

- Extract the terminal special key bar into its own component.
2026-05-09 13:52:13 -05:00
Joe Tretter
4fab442939 Require native Git runtime and bundle full manpages
- Remove the app fallback path when native Git is unavailable and show a startup blocker instead
- Fix native level setup for staged file counting and cherry-pick parity
- Improve manpage loading/search and bundle full Git documentation assets
- Integrate Git cross-compilation into AndroidProjectTooling.sh and remove debug AAB support
2026-05-08 17:43:46 -05:00
Joe Tretter
565028f64a Fix help callout anchoring and Push remote setup
- Anchor startup help callouts inside the scrollable pane workspace so they scroll with the exercise and terminal content they point at.
- Rebuild the Push level remote as a bare sibling repo with a temporary worktree for the remote-only commit, avoiding Android non-bare remote push failures.
- Leave a visible local worktree edit in Push while enabling rebase autostash so status, diff, and pull --rebase all behave as expected.
- Add native Push setup coverage for diverged status output, plain diff output, and clean pull --rebase behavior.
2026-05-07 09:57:50 -05:00
Joe Tretter
91e2df3ffe Improve upstream parity for level fixtures
- Add native per-level fixtures for complex histories, tags, branch graphs, rebases, resets, restores, stashes, and local remotes.
- Strengthen repository inspection so branch commit counts, remote-tracking branches, and detached tag checkouts reflect real Git state.
- Align Fetch, Pull, Push Branch, Branch At, and Rebase validators/tests with upstream-style repository state.
- Keep the prompt callout and native filesystem tab-completion fixes from the previous batch.
2026-05-07 09:21:04 -05:00
Joe Tretter
7bb14216ef Align tests with runtime sandbox and polish terminal help
- Run level solution scenarios through GitRepositoryRuntime with a real filesystem sandbox and git binary so evidence logs match app behavior.
- Materialize synthetic remotes as local bare repositories and configure upstream tracking for pull/push levels.
- Route mobile-hostile Git interactions through shared sandbox semantics for clone, patch add, interactive rebase, squash merge, submodule, stash, revert, and related flows.
- Relax affected level validators to inspect observable runtime state instead of fallback-only staged/index details.
- Show .git in ls output for native and fallback helper commands.
- Make tab completion resolve filenames and directories relative to the current working directory.
- Integrate help controls into the callout overlay and reposition the prompt callout above the terminal prompt.
- Add regression coverage for .git listing and subfolder completion.
2026-05-06 22:12:25 -05:00
Joe Tretter
5727022baf Misc Changes 2026-05-06 20:44:34 -05:00
Joe Tretter
b8c4096123 Add exercise description onboarding bubble
Remove duplicate IME padding that caused keyboard gap
Add md alias for mkdir helper command
Add dir alias for ls helper command
Add cd.. shortcut for cd .. helper command
2026-05-05 20:08:51 -05:00
Joe Tretter
344ff99f0a Add terminal input onboarding bubble 2026-05-05 19:54:33 -05:00
Joe Tretter
9d09eb1385 Fix level transition scrolling and keyboard blank-space behavior
Use commit-summary.txt for AndroidProjectTooling auto-commit messages
2026-05-05 19:48:29 -05:00
Joe Tretter
42c898f648 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
2026-05-05 19:38:00 -05:00
Joe Tretter
16d7809150 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GameModels.kt
app/src/main/java/solutions/tretter/githugandroid/GitHelpCommands.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt
app/src/main/java/solutions/tretter/githugandroid/Visual.kt
app/src/main/java/solutions/tretter/githugandroid/levels/AdvancedLevels.kt
app/src/main/java/solutions/tretter/githugandroid/levels/LevelCatalog.kt
app/src/test/java/solutions/tretter/githugandroid/GitHelpCommandsTest.kt
app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt
2026-05-05 19:27:33 -05:00
Joe Tretter
4963123b3b Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GitEditorCommands.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/GitMessageEditorDialog.kt
app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt
app/src/test/java/solutions/tretter/githugandroid/GitEditorCommandsTest.kt
2026-05-02 23:03:00 -05:00
Joe Tretter
65c44ccf62 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
2026-05-02 22:29:46 -05:00
Joe Tretter
ca20b0a358 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GitHelpCommands.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt
app/src/main/java/solutions/tretter/githugandroid/ManPageDialog.kt
app/src/test/java/solutions/tretter/githugandroid/GitHelpCommandsTest.kt
2026-05-02 22:09:20 -05:00
Joe Tretter
dcd5589d74 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt
2026-05-02 22:04:37 -05:00
Joe Tretter
17f19ca0ba Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/EditorCommands.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt
app/src/main/java/solutions/tretter/githugandroid/TextEditorDialog.kt
app/src/test/java/solutions/tretter/githugandroid/EditorCommandsTest.kt
2026-05-02 21:50:34 -05:00
Joe Tretter
8bcfa2bee4 Switched to Chatgpt 5.5 and codex. 2026-05-02 20:29:31 -05:00
Joe Tretter
eee8827f76 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/AppLog.kt
app/src/main/java/solutions/tretter/githugandroid/GameProgressStore.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt
2026-04-24 13:52:19 -05:00
Joe Tretter
9f2e5b8dd9 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
2026-04-24 13:25:56 -05:00
Joe Tretter
6ec45aea32 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/GameProgressStore.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
2026-04-24 13:15:34 -05:00
Joe Tretter
8bd3b4d913 Auto-commit after successful build: update app gameplay/UI, improve build setup
Changed files:\napp/build.gradle.kts
app/src/main/java/solutions/tretter/githugandroid/Exercise.kt
app/src/main/java/solutions/tretter/githugandroid/GameModels.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugApp.kt
app/src/main/java/solutions/tretter/githugandroid/GitHugTheme.kt
app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt
app/src/main/java/solutions/tretter/githugandroid/Header.kt
app/src/main/java/solutions/tretter/githugandroid/Levels.kt
app/src/main/java/solutions/tretter/githugandroid/MainActivity.kt
app/src/main/java/solutions/tretter/githugandroid/PaneLayoutLogic.kt
app/src/main/java/solutions/tretter/githugandroid/PaneLayoutModels.kt
app/src/main/java/solutions/tretter/githugandroid/PaneLayoutStore.kt
app/src/main/java/solutions/tretter/githugandroid/Panes.kt
app/src/main/java/solutions/tretter/githugandroid/Terminal.kt
app/src/main/java/solutions/tretter/githugandroid/Visual.kt
app/src/main/java/solutions/tretter/githugandroid/levels/AdvancedLevels.kt
app/src/main/java/solutions/tretter/githugandroid/levels/CoreLevels.kt
app/src/main/java/solutions/tretter/githugandroid/levels/LevelCatalog.kt
2026-04-24 12:40:30 -05:00