a very good jj gui
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fp ignore

+4 -585
+4
.fp/.gitignore
··· 1 + issues/ 2 + comments/ 3 + activity.jsonl 4 + workspace.toml
-44
.fp/activity.jsonl
··· 1 - {"at":"2025-12-12T22:56:07.258Z","author":"top-earthworm","issue":"TAT-1","action":"issue_created","data":{"title":"Tatami MVP - Jujutsu GUI Client","parent":null}} 2 - {"at":"2025-12-12T22:56:15.004Z","author":"top-earthworm","issue":"TAT-2","action":"issue_created","data":{"title":"GPUI app foundation and window setup","parent":"TAT-1"}} 3 - {"at":"2025-12-12T22:56:21.912Z","author":"top-earthworm","issue":"TAT-3","action":"issue_created","data":{"title":"Repository integration with jj-lib","parent":"TAT-1"}} 4 - {"at":"2025-12-12T22:56:30.058Z","author":"top-earthworm","issue":"TAT-4","action":"issue_created","data":{"title":"Revision log display","parent":"TAT-1"}} 5 - {"at":"2025-12-12T22:56:37.957Z","author":"top-earthworm","issue":"TAT-5","action":"issue_created","data":{"title":"Working copy status view","parent":"TAT-1"}} 6 - {"at":"2025-12-12T22:56:45.528Z","author":"top-earthworm","issue":"TAT-6","action":"issue_created","data":{"title":"File diff viewer","parent":"TAT-1"}} 7 - {"at":"2025-12-12T22:56:52.283Z","author":"top-earthworm","issue":"TAT-7","action":"issue_created","data":{"title":"Commit and describe operations","parent":"TAT-1"}} 8 - {"at":"2025-12-12T22:57:01.424Z","author":"top-earthworm","issue":"TAT-8","action":"issue_created","data":{"title":"Squash and amend operations","parent":"TAT-1"}} 9 - {"at":"2025-12-12T22:57:09.177Z","author":"top-earthworm","issue":"TAT-9","action":"issue_created","data":{"title":"Rebase operations","parent":"TAT-1"}} 10 - {"at":"2025-12-12T22:57:17.109Z","author":"top-earthworm","issue":"TAT-10","action":"issue_created","data":{"title":"Conflict resolution UI","parent":"TAT-1"}} 11 - {"at":"2025-12-12T22:57:24.497Z","author":"top-earthworm","issue":"TAT-11","action":"issue_created","data":{"title":"Bookmark and branch management","parent":"TAT-1"}} 12 - {"at":"2025-12-12T22:57:31.703Z","author":"top-earthworm","issue":"TAT-12","action":"issue_created","data":{"title":"Remote operations (push/fetch)","parent":"TAT-1"}} 13 - {"at":"2025-12-12T22:57:38.430Z","author":"top-earthworm","issue":"TAT-13","action":"issue_created","data":{"title":"Undo/redo with operation log","parent":"TAT-1"}} 14 - {"at":"2025-12-12T22:57:46.764Z","author":"top-earthworm","issue":"TAT-14","action":"issue_created","data":{"title":"Repository file browser","parent":"TAT-1"}} 15 - {"at":"2025-12-12T22:57:54.111Z","author":"top-earthworm","issue":"TAT-15","action":"issue_created","data":{"title":"Keyboard shortcuts and command palette","parent":"TAT-1"}} 16 - {"at":"2025-12-12T23:01:40.688Z","author":"top-earthworm","issue":"TAT-2","action":"status_changed","data":{"from":"todo","to":"in-progress"}} 17 - {"at":"2025-12-12T23:01:40.692Z","author":"top-earthworm","issue":"TAT-2","action":"issue_updated","data":{"changes":["status: todo → in-progress","range: base set to zzyqryzx"]}} 18 - {"at":"2025-12-12T23:01:41.133Z","author":"top-earthworm","issue":"TAT-3","action":"status_changed","data":{"from":"todo","to":"in-progress"}} 19 - {"at":"2025-12-12T23:01:41.138Z","author":"top-earthworm","issue":"TAT-3","action":"issue_updated","data":{"changes":["status: todo → in-progress","range: base set to zzyqryzx"]}} 20 - {"at":"2025-12-12T23:50:42.130Z","author":"top-earthworm","issue":"TAT-2","action":"status_changed","data":{"from":"in-progress","to":"done"}} 21 - {"at":"2025-12-12T23:50:42.135Z","author":"top-earthworm","issue":"TAT-2","action":"issue_updated","data":{"changes":["status: in-progress → done","range: tip set to zzyqryzx"]}} 22 - {"at":"2025-12-12T23:50:42.614Z","author":"top-earthworm","issue":"TAT-3","action":"status_changed","data":{"from":"in-progress","to":"done"}} 23 - {"at":"2025-12-12T23:50:42.618Z","author":"top-earthworm","issue":"TAT-3","action":"issue_updated","data":{"changes":["status: in-progress → done","range: tip set to zzyqryzx"]}} 24 - {"at":"2025-12-12T23:53:02.473Z","author":"top-earthworm","issue":"TAT-4","action":"status_changed","data":{"from":"todo","to":"in-progress"}} 25 - {"at":"2025-12-12T23:53:02.478Z","author":"top-earthworm","issue":"TAT-4","action":"issue_updated","data":{"changes":["status: todo → in-progress","range: base set to zzyqryzx"]}} 26 - {"at":"2025-12-13T00:00:03.306Z","author":"top-earthworm","issue":"TAT-4","action":"status_changed","data":{"from":"in-progress","to":"done"}} 27 - {"at":"2025-12-13T00:00:03.311Z","author":"top-earthworm","issue":"TAT-4","action":"issue_updated","data":{"changes":["status: in-progress → done","range: tip set to zzyqryzx"]}} 28 - {"at":"2025-12-13T00:02:15.416Z","author":"top-earthworm","issue":"TAT-5","action":"status_changed","data":{"from":"todo","to":"in-progress"}} 29 - {"at":"2025-12-13T00:02:15.422Z","author":"top-earthworm","issue":"TAT-5","action":"issue_updated","data":{"changes":["status: todo → in-progress","range: base set to zzyqryzx"]}} 30 - {"at":"2025-12-13T00:02:31.274Z","action":"session_started","data":{"agentName":"warm-newt"}} 31 - {"at":"2025-12-13T00:28:52.101Z","author":"top-earthworm","issue":"TAT-16","action":"issue_created","data":{"title":"Live repository updates via filesystem watching","parent":"TAT-1"}} 32 - {"at":"2025-12-13T00:28:57.847Z","author":"top-earthworm","issue":"TAT-16","action":"status_changed","data":{"from":"todo","to":"in-progress"}} 33 - {"at":"2025-12-13T00:28:57.851Z","author":"top-earthworm","issue":"TAT-16","action":"issue_updated","data":{"changes":["status: todo → in-progress","range: base set to nnmuqvwv"]}} 34 - {"at":"2025-12-13T00:29:04.919Z","author":"top-earthworm","issue":"TAT-5","action":"status_changed","data":{"from":"in-progress","to":"done"}} 35 - {"at":"2025-12-13T00:29:04.923Z","author":"top-earthworm","issue":"TAT-5","action":"issue_updated","data":{"changes":["status: in-progress → done","range: tip set to nnmuqvwv"]}} 36 - {"at":"2025-12-13T00:30:09.170Z","action":"session_started","data":{"agentName":"chief-quail"}} 37 - {"at":"2025-12-13T00:38:34.076Z","action":"session_started","data":{"agentName":"warm-newt"}} 38 - {"at":"2025-12-13T00:38:38.434Z","action":"session_started","data":{"agentName":"warm-newt"}} 39 - {"at":"2025-12-13T00:45:26.063Z","action":"session_started","data":{"agentName":"correct-thrush"}} 40 - {"at":"2025-12-13T00:46:18.934Z","action":"session_started","data":{"agentName":"correct-thrush"}} 41 - {"at":"2025-12-13T00:59:42.523Z","author":"top-earthworm","issue":"TAT-16","action":"comment_added","data":{"commentId":"6525a80e-f5b6-47b3-9ea1-d0d7d7f32e18"}} 42 - {"at":"2025-12-13T01:07:55.952Z","action":"session_started","data":{"agentName":"inadequate-ferret"}} 43 - {"at":"2025-12-13T01:08:07.510Z","author":"warm-newt","issue":"TAT-17","action":"issue_created","data":{"title":"Fetch file changes for revisions","parent":null}} 44 - {"at":"2025-12-13T01:08:16.339Z","author":"warm-newt","issue":"TAT-18","action":"issue_created","data":{"title":"Fix timestamp formatting for old commits","parent":null}}
-8
.fp/comments/6525a80e-f5b6-47b3-9ea1-d0d7d7f32e18.md
··· 1 - --- 2 - id: 6525a80e-f5b6-47b3-9ea1-d0d7d7f32e18 3 - issue_id: TAT-16 4 - author: top-earthworm 5 - created_at: 2025-12-13T00:59:42.521Z 6 - --- 7 - 8 - Implemented filesystem watching with notify + notify-debouncer-mini. The UI now auto-refreshes when .jj/repo changes.
-30
.fp/issues/TAT-1.md
··· 1 - --- 2 - id: 2a3bd3ee-fc29-4f9e-95f0-804df9df910e 3 - short_id: TAT-1 4 - title: Tatami MVP - Jujutsu GUI Client 5 - status: todo 6 - parent: null 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:56:07.256Z 10 - updated_at: 2025-12-12T22:56:07.256Z 11 - --- 12 - 13 - Build a GPU-accelerated desktop GUI client for Jujutsu (jj) version control using GPUI. 14 - 15 - Goals: 16 - - Provide a visual interface for all common jj operations 17 - - Display repository state clearly (log, status, diffs) 18 - - Support complete jj workflow: commit, amend, squash, rebase, conflict resolution 19 - - Native macOS app with fast, responsive UI 20 - 21 - Technical stack: 22 - - GPUI for GPU-accelerated UI rendering 23 - - jj-lib for direct Jujutsu integration 24 - - Rust for performance and safety 25 - 26 - Success criteria: 27 - - Can open any jj repository 28 - - Display revision graph and file changes 29 - - Perform all basic jj operations through UI 30 - - Handle conflicts visually
-31
.fp/issues/TAT-10.md
··· 1 - --- 2 - id: 8bf102bd-bab1-412e-b653-6195cba4c48e 3 - short_id: TAT-10 4 - title: Conflict resolution UI 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:17.107Z 10 - updated_at: 2025-12-12T22:57:17.107Z 11 - --- 12 - 13 - Build UI for resolving merge conflicts. 14 - 15 - What: 16 - - Detect and display conflicted files 17 - - Three-way merge view (base, left, right) 18 - - Allow manual conflict resolution 19 - - Mark files as resolved 20 - - Support jj resolve workflow 21 - 22 - Files: 23 - - src/ui/conflict_view.rs (new) 24 - - src/repo/conflicts.rs (new) 25 - 26 - Done: 27 - - Conflicted files highlighted in status 28 - - Can view three-way diff 29 - - Can edit and save resolved file 30 - - Can mark conflict as resolved 31 - - Repository state updates correctly
-31
.fp/issues/TAT-11.md
··· 1 - --- 2 - id: fa8ec4f2-22a0-4eb4-bdd9-59ab3ec86ebc 3 - short_id: TAT-11 4 - title: Bookmark and branch management 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:24.495Z 10 - updated_at: 2025-12-12T22:57:24.495Z 11 - --- 12 - 13 - Implement bookmark/branch operations. 14 - 15 - What: 16 - - List all bookmarks 17 - - Create new bookmarks 18 - - Move bookmarks to different revisions 19 - - Delete bookmarks 20 - - Track remote bookmarks 21 - 22 - Files: 23 - - src/ui/bookmark_panel.rs (new) 24 - - src/repo/bookmarks.rs (new) 25 - 26 - Done: 27 - - Bookmarks visible in sidebar 28 - - Can create bookmark at current revision 29 - - Can move bookmark via context menu 30 - - Can delete bookmarks 31 - - Remote tracking status shown
-29
.fp/issues/TAT-12.md
··· 1 - --- 2 - id: 9fea07bc-dbc7-4e2f-a3dd-025bd7aa011b 3 - short_id: TAT-12 4 - title: Remote operations (push/fetch) 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:31.701Z 10 - updated_at: 2025-12-12T22:57:31.701Z 11 - --- 12 - 13 - Implement git remote integration. 14 - 15 - What: 16 - - Fetch from remotes 17 - - Push bookmarks to remotes 18 - - Show ahead/behind status 19 - - Handle authentication (SSH keys, credentials) 20 - 21 - Files: 22 - - src/repo/remote.rs (new) 23 - - src/ui/remote_dialog.rs (new) 24 - 25 - Done: 26 - - Can fetch from configured remotes 27 - - Can push bookmarks to remotes 28 - - Progress indicator during operations 29 - - Auth errors handled gracefully
-29
.fp/issues/TAT-13.md
··· 1 - --- 2 - id: 5fd3efc3-251a-4de7-98db-eac49cf54121 3 - short_id: TAT-13 4 - title: Undo/redo with operation log 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:38.428Z 10 - updated_at: 2025-12-12T22:57:38.428Z 11 - --- 12 - 13 - Implement undo functionality using jj operation log. 14 - 15 - What: 16 - - Display operation history 17 - - Undo last operation 18 - - Restore to any previous operation state 19 - - Show what each operation changed 20 - 21 - Files: 22 - - src/ui/operation_log.rs (new) 23 - - src/repo/undo.rs (new) 24 - 25 - Done: 26 - - Can view operation history 27 - - Can undo last operation 28 - - Can restore to arbitrary operation 29 - - Confirmation before destructive undo
-29
.fp/issues/TAT-14.md
··· 1 - --- 2 - id: 7784a14f-c19c-40b9-9c85-07d266663b84 3 - short_id: TAT-14 4 - title: Repository file browser 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:46.761Z 10 - updated_at: 2025-12-12T22:57:46.761Z 11 - --- 12 - 13 - File tree browser for repository contents. 14 - 15 - What: 16 - - Tree view of repository files 17 - - Navigate directories 18 - - Show file at any revision 19 - - File icons based on type 20 - 21 - Files: 22 - - src/ui/file_tree.rs (new) 23 - - src/repo/tree.rs (new) 24 - 25 - Done: 26 - - File tree displays repository structure 27 - - Can expand/collapse directories 28 - - Can view file contents at any revision 29 - - File type icons displayed
-29
.fp/issues/TAT-15.md
··· 1 - --- 2 - id: 426c0cce-6361-4505-9d3e-71792afc3ed9 3 - short_id: TAT-15 4 - title: Keyboard shortcuts and command palette 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:54.109Z 10 - updated_at: 2025-12-12T22:57:54.109Z 11 - --- 12 - 13 - Add keyboard navigation and command palette. 14 - 15 - What: 16 - - Global keyboard shortcuts for common actions 17 - - Command palette (Cmd+P style) 18 - - Vim-style navigation option 19 - - Customizable keybindings 20 - 21 - Files: 22 - - src/ui/command_palette.rs (new) 23 - - src/keybindings.rs (new) 24 - 25 - Done: 26 - - Common shortcuts work (Cmd+S, Cmd+Z, etc.) 27 - - Command palette opens with Cmd+Shift+P 28 - - Actions searchable by name 29 - - Keyboard focus management works
-33
.fp/issues/TAT-16.md
··· 1 - --- 2 - id: fb2fc8bb-b8a1-4678-a3bd-e86ae5885bef 3 - short_id: TAT-16 4 - title: Live repository updates via filesystem watching 5 - status: in-progress 6 - parent: TAT-1 7 - branch: "" 8 - range: 9 - base: &a1 10 - _tag: jj 11 - changeId: nnmuqvwvxypyqknoynwrwnttsmlwultl 12 - tip: *a1 13 - created_at: 2025-12-13T00:28:52.099Z 14 - updated_at: 2025-12-13T00:28:57.848Z 15 - --- 16 - 17 - ## Problem 18 - The revision view and working copy status are only loaded once at startup. If the underlying repository state changes (new commits, file modifications, etc.), the UI does not update. 19 - 20 - ## Solution 21 - Use the notify crate to watch the .jj directory for changes and trigger UI refresh. 22 - 23 - ## Implementation 24 - 1. Add notify dependency (with debouncer to handle rapid changes) 25 - 2. Create a file watcher that monitors .jj/repo directory 26 - 3. On change detection, reload repository state via repo::load_workspace() 27 - 4. Update the GPUI model to trigger re-render 28 - 29 - ## Technical Notes 30 - - notify is the standard Rust filesystem watching crate (62M+ downloads) 31 - - Used by rust-analyzer, deno, watchexec, mdBook 32 - - Need to integrate with GPUI async runtime 33 - - Consider using notify-debouncer-mini to batch rapid file changes
-20
.fp/issues/TAT-17.md
··· 1 - --- 2 - id: 0a5afd78-0d56-4713-a89b-645b1d4e712a 3 - short_id: TAT-17 4 - title: Fetch file changes for revisions 5 - status: todo 6 - parent: null 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-13T01:08:07.508Z 10 - updated_at: 2025-12-13T01:08:07.508Z 11 - --- 12 - 13 - The expanded revision view needs to show file changes (added/modified/deleted files). 14 - 15 - Implementation: 16 - - Add a `files: Vec<ChangedFile>` field to the Revision struct (or load lazily on selection) 17 - - Run `jj diff --stat -r <revision>` to get file changes 18 - - Parse the output and display in the expanded detail view 19 - 20 - This data is needed to show what files changed in each revision.
-18
.fp/issues/TAT-18.md
··· 1 - --- 2 - id: 39700150-a875-4a9a-9a66-aa75ffa4a707 3 - short_id: TAT-18 4 - title: Fix timestamp formatting for old commits 5 - status: todo 6 - parent: null 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-13T01:08:16.337Z 10 - updated_at: 2025-12-13T01:08:16.337Z 11 - --- 12 - 13 - The root commit shows '55 years ago' which is incorrect - likely the epoch time (1970) being parsed wrong. 14 - 15 - Investigation needed: 16 - - Check how jj-lib returns timestamps for the root commit 17 - - May need special handling for commits with no/invalid timestamp 18 - - Consider using jj's built-in `author.timestamp().ago()` template function
-34
.fp/issues/TAT-2.md
··· 1 - --- 2 - id: edcea01b-5a44-4d58-a25b-d956e33c0ee4 3 - short_id: TAT-2 4 - title: GPUI app foundation and window setup 5 - status: done 6 - parent: TAT-1 7 - branch: "" 8 - range: 9 - base: 10 - _tag: jj 11 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 12 - tip: 13 - _tag: jj 14 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 15 - created_at: 2025-12-12T22:56:15.001Z 16 - updated_at: 2025-12-12T23:50:42.132Z 17 - --- 18 - 19 - Set up the GPUI application structure with main window. 20 - 21 - What: 22 - - Initialize GPUI application 23 - - Create main window with basic layout structure 24 - - Set up app state management pattern 25 - - Configure window title, size, and basic styling 26 - 27 - Files: 28 - - src/main.rs (modify) 29 - - src/app.rs (new) 30 - - src/ui/mod.rs (new) 31 - 32 - Done: 33 - - App launches with a window 34 - - Window has placeholder panels for sidebar, main content, and toolbar
-34
.fp/issues/TAT-3.md
··· 1 - --- 2 - id: 7a256487-bda5-4004-8379-d87362abecd6 3 - short_id: TAT-3 4 - title: Repository integration with jj-lib 5 - status: done 6 - parent: TAT-1 7 - branch: "" 8 - range: 9 - base: 10 - _tag: jj 11 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 12 - tip: 13 - _tag: jj 14 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 15 - created_at: 2025-12-12T22:56:21.909Z 16 - updated_at: 2025-12-12T23:50:42.616Z 17 - --- 18 - 19 - Integrate jj-lib to open and read Jujutsu repositories. 20 - 21 - What: 22 - - Initialize jj-lib workspace from a path 23 - - Read repository configuration 24 - - Handle repository errors gracefully 25 - - Create abstraction layer for repo operations 26 - 27 - Files: 28 - - src/repo/mod.rs (new) 29 - - src/repo/workspace.rs (new) 30 - 31 - Done: 32 - - Can open a jj repository from filesystem path 33 - - Detects if path is valid jj repo 34 - - Reports meaningful errors for invalid repos
-36
.fp/issues/TAT-4.md
··· 1 - --- 2 - id: 99b069df-7306-4e79-8316-335ff4852d0b 3 - short_id: TAT-4 4 - title: Revision log display 5 - status: done 6 - parent: TAT-1 7 - branch: "" 8 - range: 9 - base: 10 - _tag: jj 11 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 12 - tip: 13 - _tag: jj 14 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 15 - created_at: 2025-12-12T22:56:30.055Z 16 - updated_at: 2025-12-13T00:00:03.308Z 17 - --- 18 - 19 - Display the revision history graph in the UI. 20 - 21 - What: 22 - - Fetch revision log from repository 23 - - Render revision graph (similar to jj log output) 24 - - Show commit ID, description, author, timestamp 25 - - Display branch/bookmark indicators 26 - - Handle large histories with virtualized scrolling 27 - 28 - Files: 29 - - src/ui/log_view.rs (new) 30 - - src/repo/log.rs (new) 31 - 32 - Done: 33 - - Revision graph renders correctly 34 - - Can scroll through history 35 - - Selected revision is highlighted 36 - - Branches/bookmarks are visible
-34
.fp/issues/TAT-5.md
··· 1 - --- 2 - id: 164a234a-bf6f-43ca-b959-9634ddcd6ead 3 - short_id: TAT-5 4 - title: Working copy status view 5 - status: done 6 - parent: TAT-1 7 - branch: "" 8 - range: 9 - base: 10 - _tag: jj 11 - changeId: zzyqryzxvuxszunslpsulqwtsrowtvop 12 - tip: 13 - _tag: jj 14 - changeId: nnmuqvwvxypyqknoynwrwnttsmlwultl 15 - created_at: 2025-12-12T22:56:37.954Z 16 - updated_at: 2025-12-13T00:29:04.921Z 17 - --- 18 - 19 - Display current working copy status and changed files. 20 - 21 - What: 22 - - Show current revision info 23 - - List modified, added, deleted files 24 - - Display file status icons 25 - - Show tracked vs untracked files 26 - 27 - Files: 28 - - src/ui/status_view.rs (new) 29 - - src/repo/status.rs (new) 30 - 31 - Done: 32 - - Current working copy info is displayed 33 - - Changed files list shows correctly 34 - - File status (M/A/D) is indicated visually
-29
.fp/issues/TAT-6.md
··· 1 - --- 2 - id: 21e2c547-f555-44cd-bcbe-0df1e6c0e908 3 - short_id: TAT-6 4 - title: File diff viewer 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:56:45.526Z 10 - updated_at: 2025-12-12T22:56:45.526Z 11 - --- 12 - 13 - Display file diffs with syntax highlighting. 14 - 15 - What: 16 - - Show unified diff for selected file 17 - - Syntax highlighting for code 18 - - Line-by-line diff with additions/deletions colored 19 - - Support for viewing diffs between any two revisions 20 - 21 - Files: 22 - - src/ui/diff_view.rs (new) 23 - - src/repo/diff.rs (new) 24 - 25 - Done: 26 - - Clicking a file shows its diff 27 - - Additions highlighted in green, deletions in red 28 - - Diff viewer scrolls for large files 29 - - Can compare arbitrary revisions
-29
.fp/issues/TAT-7.md
··· 1 - --- 2 - id: a812eb6c-9e32-4ae0-9bb9-c53c0259096c 3 - short_id: TAT-7 4 - title: Commit and describe operations 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:56:52.280Z 10 - updated_at: 2025-12-12T22:56:52.280Z 11 - --- 12 - 13 - Implement commit creation and description editing. 14 - 15 - What: 16 - - Create new commits from working copy 17 - - Edit commit descriptions 18 - - Support for jj new and jj describe operations 19 - - Commit message editor with multiline support 20 - 21 - Files: 22 - - src/ui/commit_editor.rs (new) 23 - - src/repo/operations.rs (new) 24 - 25 - Done: 26 - - Can create new empty commit 27 - - Can edit commit description 28 - - Changes saved to repository immediately 29 - - UI updates after commit operations
-29
.fp/issues/TAT-8.md
··· 1 - --- 2 - id: 9a4eb0c1-f56e-4539-a445-4322e5477734 3 - short_id: TAT-8 4 - title: Squash and amend operations 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:01.422Z 10 - updated_at: 2025-12-12T22:57:01.422Z 11 - --- 12 - 13 - Implement squash and amend functionality. 14 - 15 - What: 16 - - Squash changes into parent revision 17 - - Amend current revision with working copy changes 18 - - Interactive squash with commit selection 19 - - Preview squash result before applying 20 - 21 - Files: 22 - - src/repo/squash.rs (new) 23 - - src/ui/squash_dialog.rs (new) 24 - 25 - Done: 26 - - Can squash current into parent 27 - - Can amend revision with new changes 28 - - Confirmation dialog before destructive operations 29 - - Log view updates after squash/amend
-29
.fp/issues/TAT-9.md
··· 1 - --- 2 - id: 458e1438-253b-4422-a61e-4bb573430cd7 3 - short_id: TAT-9 4 - title: Rebase operations 5 - status: todo 6 - parent: TAT-1 7 - branch: "" 8 - range: null 9 - created_at: 2025-12-12T22:57:09.175Z 10 - updated_at: 2025-12-12T22:57:09.175Z 11 - --- 12 - 13 - Implement revision rebasing functionality. 14 - 15 - What: 16 - - Rebase revision onto different parent 17 - - Drag-and-drop rebase in log view 18 - - Rebase entire branch/subtree 19 - - Handle rebase conflicts gracefully 20 - 21 - Files: 22 - - src/repo/rebase.rs (new) 23 - - src/ui/rebase_dialog.rs (new) 24 - 25 - Done: 26 - - Can rebase single revision 27 - - Can rebase subtree of revisions 28 - - UI indicates when rebase causes conflicts 29 - - Log view updates after rebase