0.5.8
Update notes 0.5.8
Termux runner update (v6 → v7): Open the companion app and tap Update runner, or re-run the install command from the plugin settings. The companion detects the new runner itself after the update; until the versions match, the plugin repeats the warning on every result. The companion app also changed in this release: install the new APK.
Status panel
- Tree/list layout toggle. The icon shows the current layout; tapping switches to the other. It occupies the slot previously used by the operation log button.
- Folder rows carry the same actions as file rows and apply them only to files in that group's state. Staging a folder under Changes stages tracked changes only; unstaging a folder unstages only what was staged. A collapsed folder shows the number of files it holds in that state.
- Discarding a folder in Untracked moves the new files to Obsidian's trash after confirmation, so the action is reversible.
- A staged row now opens the
HEAD → stageddiff, an unstaged row thestaged → working treediff. Previously both showed the same diff for a file that was staged and then edited again. - The operation log moved to Settings → Advanced. The command palette entry is unchanged.
- New setting Auto-refresh status (seconds), off by default. While the status panel is open, it runs a status at that interval to pick up changes made outside the plugin. Each refresh wakes Termux.
- Failed operations refresh the panel as well. A rejected pull or a new conflict no longer leaves stale state on screen.
History panel
- The same tree/list toggle, applied to each commit's changed files.
Diff pane
- Fixed a phantom indent and a
+/-prefix that wrapped onto its own line. The renderer's template whitespace was being drawn as file content. - The
+/-prefix moved into the line-number gutter and no longer scrolls with the code. Numbers are more compact, and unchanged lines show both numbers on one line. - New setting Show invisible characters:
·space,→tab,␍CR. Copying from the diff copies the glyphs. - Long lines in result windows wrap instead of being clipped.
Conflict resolution
- Rows carrying the side label and Keep button are visually separated from file text: own background, colour-coded edge, interface-font chip, and the button pinned right so it cannot cover a line.
- New setting Show raw conflict markers. Off (default): the
<<<<<<</=======/>>>>>>>lines stay hidden under the action rows. On: they appear as numbered file lines, and labels and buttons render as separate rows marked▸in the gutter, so an empty gutter cannot be mistaken for a wrapped line. - The resolution pane closes once the file is resolved.
- Committing after a resolution prefills git's prepared merge message (
Merge branch … # Conflicts: …). Sync uses it automatically. - One line number per file line; wrapped lines continue with an empty gutter.
Dialogs
- Cancel buttons removed. The ✕ closes the dialog and counts as declining. A single action button with an icon remains: top-left on mobile (matching the panel toolbar), bottom-centre on desktop.
Companion app
- Versions are listed as companion, plugin, runner, with the lagging part highlighted in red.
- An outdated runner no longer reports "all steps done". The screen states the problem and offers Update runner, which copies the release-pinned install command and opens Termux.
- The runner reports its version to the app's test trigger, so the warning clears immediately after an update.
Internals
Runner v7: INDEX pseudo-refs for diff-file; stage-file mode argument (all | update); status fields on failed mutating actions; mergeMsg and mergeInProgress in status; NGB_RUNNER_VERSION on stdout for the companion's probe.
Full Changelog: 0.5.7...0.5.8