Commit Graph

317 Commits

Author SHA1 Message Date
Nikita Galaiko
13da9d8f87 handle strip_prefix error 2023-04-27 11:02:01 +02:00
Nikita Galaiko
4bfd84ee86 more logs 2023-04-27 11:02:01 +02:00
Nikita Galaiko
06c4590dc9 more info in error messages 2023-04-27 11:02:01 +02:00
Nikita Galaiko
617ae58013 do not return statuses for non utf file names 2023-04-27 11:02:01 +02:00
Scott Chacon
227a3f469c push to the project id 2023-04-25 16:04:30 +02:00
Nikita Galaiko
6970c324c7 git_match_path: make it case insensitive 2023-04-24 10:51:51 +02:00
Nikita Galaiko
a06c234e0c better sentry setup 2023-04-21 16:10:06 +02:00
Nikita Galaiko
28fd4d1127 better test 2023-04-21 12:51:42 +02:00
Nikita Galaiko
3690b99537 correctly handle unicode diffs 2023-04-21 12:51:42 +02:00
Nikita Galaiko
6827ab6a00 better log messages 2023-04-21 12:51:42 +02:00
Nikita Galaiko
0c089e18c2 support partially staged files 2023-04-21 09:59:40 +02:00
Nikita Galaiko
848b6b5dc7 add comments 2023-04-20 10:48:16 +02:00
Nikita Galaiko
2c87b383ba newline 2023-04-20 10:48:16 +02:00
Nikita Galaiko
5736009c4c on file change: flush session if head changed 2023-04-20 10:48:16 +02:00
Nikita Galaiko
4e51eb1f80 refuse to flush session when dir is not there 2023-04-20 10:48:16 +02:00
Nikita Galaiko
1f4bf04f98 rm extra prints 2023-04-20 09:14:34 +02:00
Nikita Galaiko
5ea9c5282a log reindex failure 2023-04-20 09:14:34 +02:00
Nikita Galaiko
eb050fe428 stop debug tantivy logs 2023-04-20 09:14:34 +02:00
Nikita Galaiko
80c72dbf8a avoid overflow when checking session ts 2023-04-20 08:47:00 +02:00
Nikita Galaiko
92b1c00e58 fix deltas calcuation & add more tests 2023-04-19 20:04:37 +02:00
Nikita Galaiko
8af8bc2806 bring back session/wd usage 2023-04-19 17:12:23 +02:00
Nikita Galaiko
14bcfaa94d handle file deletion 2023-04-19 15:47:20 +02:00
Nikita Galaiko
c374ccd6f8 event loop 2023-04-19 12:24:39 +02:00
Nikita Galaiko
224784a9f2 strict filter path 2023-04-19 08:14:27 +02:00
Nikita Galaiko
c0048936aa fix deltas calcultion 2023-04-18 19:21:47 +02:00
Nikita Galaiko
e926032e05 impl repo locking 2023-04-18 16:46:31 +02:00
Nikita Galaiko
2ceeebfe2e handle empty deltas 2023-04-18 16:04:54 +02:00
Nikita Galaiko
b949b95adf do not return binary files 2023-04-18 15:28:34 +02:00
Nikita Galaiko
a9e9c1f361 run migrations 2023-04-18 15:28:34 +02:00
Nikita Galaiko
8ca339cf00 use reference when getting session reader 2023-04-18 15:28:34 +02:00
Nikita Galaiko
3d76bbe5ca more tests 2023-04-18 15:28:34 +02:00
Nikita Galaiko
84ab87db01 fix git alternate 2023-04-18 15:28:34 +02:00
Nikita Galaiko
be8b3e7560 add more tests 2023-04-18 15:28:34 +02:00
Nikita Galaiko
56ae8a9888 add list session deltas tests 2023-04-18 15:28:34 +02:00
Nikita Galaiko
d3a181a620 use new code 2023-04-18 15:28:34 +02:00
Nikita Galaiko
34046606ef implement flushing 2023-04-18 15:28:34 +02:00
Nikita Galaiko
807d68bc38 remove unused deps 2023-04-18 15:28:34 +02:00
Nikita Galaiko
0b3ad99a7c init flushing 2023-04-18 15:28:34 +02:00
Nikita Galaiko
198f5b55df cleanup gb_repository interface 2023-04-18 15:28:34 +02:00
Nikita Galaiko
da4ff14a34 make sure current session is created 2023-04-18 15:28:34 +02:00
Nikita Galaiko
f53397cf28 better structure 2023-04-18 15:28:34 +02:00
Nikita Galaiko
6f4336ff4c add more listeners 2023-04-18 15:28:34 +02:00
Nikita Galaiko
6988aef8e6 figure out a way to do concurrency 2023-04-18 15:28:34 +02:00
Nikita Galaiko
4fefeb26c0 define file change listener 2023-04-18 15:28:34 +02:00
Kiril Videlov
5d7064a6a1 🔨 Refactor terminal route and connection logic
- Improved terminal experience by handling 'Close' messages and reloading the page
- Added logic to send a Close message to the websocket when EOF is reached
- Changed the `terminal` function to a reactive declaration and added a `setupTerminal` function call
2023-04-18 00:06:43 +02:00
Nikita Galaiko
4fc2f424e8 data migration preparations 2023-04-12 16:03:15 +02:00
Nikita Galaiko
f8c04842e5 pty: save pty input as-is 2023-04-12 08:15:51 +02:00
Nikita Galaiko
eee42bfd44 pty: use different port for dev 2023-04-12 08:15:51 +02:00
Kiril Videlov
1cb7c9827a GitButler does not track files larger than 100K
It can still show these files on the commit page though
2023-04-11 16:52:41 +02:00
Kiril Videlov
2b71cfd2ef 🔨 Refactor repository diffing
- Update repository diffs to include untracked content
- Recurse into untracked directories
- Include ignored files in diffs

[src-tauri/src/repositories/repository.rs]
- Include untracked content in diffs
- Recurse into untracked directories
- Include ignored files in diffs
2023-04-11 15:31:59 +02:00
Ian Donahue
bc636c3786 Revert "Merge branch 'master' into ian/gb-187-cmdpal-icons-for-repository-and-files"
This reverts commit 6b74d3f0f9, reversing
changes made to 57e6db78ad.
2023-04-11 11:37:08 +02:00
Nikita Galaiko
2ecf0dbadd pty: run reader in a separate thread 2023-04-11 10:59:14 +02:00
Nikita Galaiko
771166968e pty-ws: log error when fail to listen 2023-04-11 10:59:14 +02:00
Nikita Galaiko
decd0511ba pty: server side prettyfy 2023-04-11 10:59:14 +02:00
Nikita Galaiko
57dfd89a28 return http error from handshake 2023-04-06 16:31:54 +02:00
Nikita Galaiko
27fdd591d7 make pty connections project aware 2023-04-06 15:32:07 +02:00
Nikita Galaiko
9b2ea25a7a cleanup terminal 2023-04-06 11:17:09 +02:00
Scott Chacon
35f28cbc94
Add a Terminal (#49)
This implements a simple terminal frontend using Xterm and backend using portable_pty. It will not yet record, but it should keep a separate terminal per project, resize properly, change directories to the project, etc.

https://docs.rs/portable-pty/latest/portable_pty/
2023-04-05 10:10:07 +02:00
Nikita Galaiko
15201d9f8d make sure invalid deltas do not break the app 2023-04-04 11:23:32 +02:00
Nikita Galaiko
10da421c10 commit: make commit work 2023-03-30 11:04:30 +02:00
Nikita Galaiko
7807296918 add more error messages 2023-03-29 16:23:20 +02:00
Nikita Galaiko
4b86d3ca49 commit: re-do ui from scratch 2023-03-29 16:23:20 +02:00
Nikita Galaiko
88c731c50a make git information reactive 2023-03-29 12:43:01 +02:00
Nikita Galaiko
1f70f359d7 rm unused function 2023-03-29 12:43:01 +02:00
Nikita Galaiko
aaba14e819 use cache for get session by id 2023-03-23 16:11:39 +01:00
Nikita Galaiko
e4f1edfc83 Refactor search result to include total count
This commit refactors the search result to include the total count of matches found, alongside the limited search results (page) for better pagination support. Changes made include:

- Modified the return type from `Vec<SearchResult>` to `SearchResults` structure, to include a total count.
- Updated the search function implementation to handle the new data structure.
- Adapted the test cases to account for the updated search result format.

In addition to the previous changes, this commit addresses the issue of not knowing the total number of search results when using pagination, which can now be easily obtained from the `SearchResults` structure.
2023-03-23 16:11:39 +01:00
Nikita Galaiko
5c99150b20 acquire lock closer to where it is used 2023-03-23 08:43:41 +01:00
Nikita Galaiko
01a4c63900 ignore binary files in session/wd 2023-03-23 08:43:41 +01:00
Nikita Galaiko
e76c88b486
fix typo 2023-03-22 15:58:51 +01:00
Scott Chacon
258ed370f7 Add get_file_contents API to Rust and display added file content in DiffViewer
This commit adds a new feature to display the contents of a file when it's in the "added" status in the commits view. A new `get_file_contents` function is implemented in the `Repository` struct, and a corresponding command is added to the main Tauri app. The frontend is updated to handle added files by invoking this command and rendering the contents in the DiffViewer component.

Changes include:
- Add `get_file_contents` function to `repository.rs` and command in main.rs
- Update the viewer to handle added files
2023-03-22 15:54:33 +01:00
Nikita Galaiko
c6b23dc250
log exec time as debug 2023-03-22 15:17:10 +01:00
Nikita Galaiko
e92c924b45
log tauri commands execution time 2023-03-22 15:02:16 +01:00
Nikita Galaiko
17fa40b3b8
fix deadlock issue 2023-03-22 14:11:29 +01:00
Nikita Galaiko
69df2d0408
fix sessions storage filtering 2023-03-22 11:26:02 +01:00
Nikita Galaiko
fa3a6271f9
subscribe to file changes before sending them 2023-03-22 09:12:37 +01:00
Nikita Galaiko
217ede1771
async init 2023-03-22 09:02:41 +01:00
Nikita Galaiko
300d042e04
start only one files watcher 2023-03-22 08:59:23 +01:00
Nikita Galaiko
80e3e9fd28
make watchers async 2023-03-22 07:51:58 +01:00
Nikita Galaiko
b202c264aa
share git repo between repository too 2023-03-21 15:12:45 +01:00
Nikita Galaiko
7bee70ac80
share repo for sessions storage 2023-03-21 11:28:58 +01:00
Nikita Galaiko
e79d377e3e
share repo for deltas storage 2023-03-21 11:01:10 +01:00
Nikita Galaiko
3009958218
arc protect 2023-03-21 10:53:15 +01:00
Nikita Galaiko
244cf5850d
cache sessions list 2023-03-21 08:57:38 +01:00
Nikita Galaiko
a5062ada92
extract session flush to store 2023-03-21 08:41:44 +01:00
Nikita Galaiko
06371e4c36
extract create current session to store 2023-03-21 07:59:56 +01:00
Nikita Galaiko
9dfe98cef2
cache list_files 2023-03-20 17:27:55 +01:00
Nikita Galaiko
e7adcdd017
extract list_session_files to storage 2023-03-20 17:27:54 +01:00
Nikita Galaiko
0ffbcd5d13
extract sessions storage 2023-03-20 16:21:25 +01:00
Nikita Galaiko
252f589f44
async user image fetching 2023-03-20 15:41:17 +01:00
Scott Chacon
e1239d4b08 Merge branch 'master' of github.com:gitbutlerapp/gitbutler-client 2023-03-20 15:14:32 +01:00
Scott Chacon
16601f31d3 Improve git committing with new screen
New commit screen with diffs pulled from Rust and summarizable by gpt4.
2023-03-20 15:12:22 +01:00
Nikita Galaiko
29a546a301
another syntax for async aommand 2023-03-20 15:11:19 +01:00
Nikita Galaiko
c3ee365817
cache persistent deltas 2023-03-20 15:10:54 +01:00
Scott Chacon
ffe56ab14c move to Git event on git data, not session event 2023-03-20 14:59:36 +01:00
Nikita Galaiko
d9e13a784a
split deltas store into persistent and current 2023-03-20 14:31:23 +01:00
Nikita Galaiko
6299a97e73
extract deltas storage 2023-03-20 13:55:12 +01:00
Scott Chacon
1210d35288 Add working directory diff support and auto generate commit messages
This update enables the generation of a working directory diff and returns a Git commit message based on the diff changes. It includes changes to the API, Tauri, and frontend code. Notable modifications include:

- Added `git_wd_diff` function to Tauri `src/main.rs`
- Modified `Repository` struct, added `wd_diff` method to `src/repositories/repository.rs`
- New `commit` function added to `src/lib/api.ts`
- Added `fetchCommitMessage` function in `src/routes/projects/[projectId]/+page.svelte`
- Minor UI adjustments in `src/routes/projects/[projectId]/player/+page.svelte`

Overall, this commit improves user experience by automatically generating commit messages based on the changes made in the working directory.
2023-03-18 07:52:58 +01:00
Nikita Galaiko
08f0e286a2
extract repoisitories storage 2023-03-17 16:28:49 +01:00
Nikita Galaiko
fa06ec611d change index 2023-03-17 15:45:19 +01:00
Nikita Galaiko
082a30a543 change naming 2023-03-17 15:45:19 +01:00