Changelog
- 678606d Add 'y' shortcut: copy the active tab to the clipboard via OSC 52
- 3d6cde1 Add --dialog/--no-dialog and run_dialog config (design-docs/RerunDialog.md)
- b46aea7 Add a test for config.DataHome
- 77e3843 Add ansible.builtin.fetch to the File tab
- 5ae995e Add ansible.builtin.get_url and ansible.builtin.uri to the File tab
- 58cc51a Add ansible.builtin.shell to the File tab, same creates: handling as command
- 2e14219 Add bundled ansible callback plugin (design-docs/OwnCallbackPlugin.md)
- c3761ed Add design doc: tangsible role debug mode
- bc5e016 Add design doc: terminal notifications on playbook finish/task failure
- 66c8bb9 Add drill-down File tab for ansible.builtin.lineinfile
- 76f09c1 Add remaining File tab modules: patch, archive, htpasswd, ini_file, authorized_key, openssh_cert/keypair, apt_repository, deb822_repository
- 8639113 Add tests for small, previously-untested pure functions
- db22ede Add unit tests for liveSession's plain-field chrome/status helpers
- e7e885d Add unit tests for treelist.go and recap.go's row-rendering functions
- 02b7260 Added changes to changelog
- 1f715a5 Added design doc DebugMode.md
- bfffc30 Allow mouse clicks on the tree pane while the drill-down is split
- 2d218a3 Bring bash/fish completions up to date with the current CLI surface
- 172081c CLAUDE.md: describe rerun with a listing flag accurately
- e714aa7 Changelog/README: trim entries
- 56be6d3 Changelog: add the branch's color/readability fixes and small UI changes
- 9f0be4a Cleaned up Ideas.md a bit
- 89a23b6 Convert expand/collapse/navigation and state-event hooks (groups F, H) into liveSession methods
- 2fe76a3 Convert filter/search dialog closures (group E) into liveSession methods
- b7b450b Convert heartbeat/resize-watcher goroutines (group I) into liveSession methods
- 55d6d35 Convert output drill-down closures (group C) into liveSession methods
- bac0866 Convert rebuild and its small chrome/style helpers into real liveSession methods
- df8f39a Convert rerun-dialog bridge functions (group B) into liveSession methods
- 1595437 Design document updates
- 3a86ac2 Document live-spike findings for the debug-mode strategy plugin
- a7665b5 Document strategy: free support
- ed15591 Document the finished NewLiveTUI refactor (Restructuring.md Phase 3)
- 0867f06 Document: pause/add_host under strategy: free is an Ansible restriction
- a0dd69a Exclude strategy: free plays from the progress-fill skeleton
- 2f7899d Extend rerun dialog: Resume/Only failed/Only unreachable, drop Start with task
- 959486b Extract rerun-dialog host logic, fix Resume-where-failed for unnamed plays, refresh e2e rerun coverage
- f35f5bb Extract stripANSI from ansibledoc.FetchAnsibleDoc for testability
- f5d6807 Fix keyboard scrolling not working in the two-paned drill-down
- 74a159f Fix rerun dialog: clicks on blank rows leaked through to the tree
- d663e53 Fix search dialog: Escape didn't close it after a focus-stealing click
- c00dfcc Fix stale CLAUDE.md claim about ansible-galaxy in tangsible version
- a99dd66 Fix the same click-through-to-page-behind bug in filter/search/host dialogs
- e116fa4 Fix uikit test build: add missing file arg to BuildOutputTabs call
- f55e549 Fix: dynamically included tasks split into one row per host under free
- dead088 Fix: re-run dialog silently stopped accepting keyboard input
- 81a1d75 Fixed some more typos
- b156e3e Hide the Resolved tab when there's genuinely nothing to show
- be3c095 Hoist NewLiveTUI's shared state onto a liveSession struct
- f0fa47e Ideas update
- 25c926c Implement terminal notifications on playbook finish/task failure
- fbea954 Install callback plugin under XDG data dir; recolor ignored failures everywhere
- 5a93ee1 Merge remote-tracking branch 'origin/main'
- 796e456 Merge remote-tracking branch 'origin/main'
- ef18fd6 Minor Changelog update
- b366962 Minor Ideas.md update
- aae7783 Minor design doc updates
- 13f6d59 Minor doc updates
- 31958f2 Minor text update
- 9b1e8ca New ideas
- f0e5566 Note that completions/ is hand-maintained, not generated
- 74c5a71 OwnCallbackPlugin: add Phase 2 stdout view variants
- 9a560ac Peel in-tab search out of NewLiveTUI into its own tabSearchPanel type
- 0564cd0 Peel rerun-dialog field-sync out of NewLiveTUI into its own rerunFieldSync type
- 51873ef README.md aktualisiert
- 40d084d Read locally instead of fetching for delegate_to: localhost tasks
- 1e62eee Release v0.2.0
- a9414af Reverted some changes that were to detailed
- 2d6f06f Round out session package coverage: readLocalFileContents, onPlayStarted, recap.go branches
- 820857d Show a genuine failure's stderr inline instead of only after quitting
- 98e8231 Show a revisited failed run's stderr too, from its saved .stderr file
- 8585d57 Sketch a Phase 2 interactive debugger in DebugMode.md
- 653c207 Split SetInputCapture/SetMouseCapture into dispatcher + named sub-methods
- 053119b Support strategy: free - core attribution fix + exact active-task tracking
- f3d4528 Support system-wide install: /etc/tangsible/config.toml, install.sh --prefix, PACKAGING.md
- 27dccff Temporarily disable the Resolved tab
- 21a7fca Updated Changelog.md
- d899333 Updated Ideas.md
- d3e6163 Updated README.md - again
- 4b0c203 Updated formatting
- e1aeb41 Widen File tab support to assemble/blockinfile/command/copy/known_hosts/replace/template
- 06a3c87 Wire up mouse click-to-switch-tab in diff mode's drill-down
- 6ca6f16 added design-documents/README.md
- 68fd342 colors: add configurable dialog_border color
- 8824035 colors: add control_text/control_background for fields and buttons
- 0558ab0 colors: allow "default" for background and standard_text
- 0fe4c63 colors: dark/light themes, standard_text/heading split, deferred warnings
- 24db3d3 colors: document where standard_text & co. are used now
- 1e345bf colors: implement design-docs/ColorConfig.md's [colors] config table
- aa751f2 colors: replace literal color strings with named constants, merge duplicates
- b908e63 config: cascade every [general] key project -> global -> system
- f7bdc48 config: make .tangsible/ and its saved run data private (0700/0600)
- 1eb6050 config: write state.toml atomically, delete evicted run logs after
- 63b09a6 dialogs: draw field and checkbox labels in standard_text
- db0c0b4 dialogs: draw titles and untagged text in standard_text
- 771463f diff: Esc closes the comparison-run picker
- 91b7860 diff: say what the comparison-run picker is for in its header
- 3d5e45d drill-down tabs: green-key/lightsteelblue-value coloring, Role/Task split
- 17ca875 e2e: expect the re-run dialog's new title with its F1 hint
- c2c6886 example theme: near-black standard_text for the light scheme
- adee780 friendlier errors when an ansible tool isn't on PATH
- 8633bc7 help: '?'/F1 help in every view
- 5469790 help: define the tree's bottom bar as one string next to its help table
- c6b8d39 help: draw descriptions and the dialog title in standard_text
- 6420370 host verb: implement New ideas (ping dots, Recent, two-pane layout, key/value coloring)
- 7003493 host verb: record new-ideas decisions; skip notify_task_failed for ignored failures
- c2afadc host/hosts: merge Summary's own gathered facts into Everything known
- 0caf370 man: fix stale requirements/config-resolution docs on the top-level page
- a29be48 rerun dialog: autocomplete "Limit hosts to:" against inventory groups too
- 5def1ca rerun: refresh source index from disk on every rerun, not just --start-at-play
- 3d05532 runner: fix pipe deadlock and fd/goroutine leaks in event scanning
- 85e7b91 runner: print the child's stdout when the pre-flight gate skips the TUI
- 219cadd session: '?'/F1 help dialog for the tree view, bar from the same table
- 8d71368 session: '?'/F1 help in the drill-down view
- 0c347df session: 'o' shows ansible-playbook's console output, live
- 9dae778 session: build the progress skeleton in the background
- dddcbd6 session: gofmt livesession_tabsearch.go
- b7f82d4 session: interrupt and wait for the child if the TUI itself fails
- 4cc4bd9 template: clean up the scratch directory on SIGTERM/SIGHUP
- 1983dc6 template: color an errored host's own tab red, matching failed-task red
- 51f0a10 template: color tab content with standard_text
- b50a809 template: one view-wide standard_text color for all plain text
- cb9dbf9 template: stop leaking scratch output when quitting mid-render
- ddadfca template: support multiple hosts, inventory groups, and an "all" keyword
- 52a6a6f top bar: reinstate progress percentage, mirror into window title
- 11e9bd3 ui: draw all remaining untagged text in standard_text
- 7830250 ui: draw completion drop-downs in the control colors
- 1ad463e ui: render every section heading in bold
- 4d2f44c ui: share the navigation aliases across every view
- 898b208 uikit: draw a running task's spinner in task_title
- eedc44d uikit: drop the stale A from the tree's "A/f: filter" hint
- 91cd499 uikit: fix SearchBarStyle to actually use its own matching color constants
- b57ea1d uikit: mark --check runs with a "Check:" top-bar label