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
idonahue
45b1ceb398
Added icons
2023-04-13 13:39:03 +02:00
Scott Chacon
8af108c734
update the rest of the icons
2023-04-13 09:40:25 +02:00
Ian Donahue
1df8f4bfeb
Added icons
2023-04-12 23:27:16 +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
2cb0d11199
use localhost for prod
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
d312981f29
fix csp
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
ae0c116b4b
update all icons
2023-03-31 11:47:58 +02:00
Ian Donahue
50e56cd019
Update tray icon image
...
Replace the old tray icon image with a new one to improve the visual appearance of the application in the system tray.
Changes:
- Removed old tray.png with outdated design
+ Added new tray.png with a more modern design
2023-03-31 10:38:15 +02:00
Nikita Galaiko
10da421c10
commit: make commit work
2023-03-30 11:04:30 +02:00
Ian Donahue
8547e4c1a7
Added new icon
2023-03-29 17:33:17 +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
dependabot[bot]
7a6787ff5a
Bump openssl from 0.10.45 to 0.10.48 in /src-tauri
...
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.45 to 0.10.48.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.45...openssl-v0.10.48 )
---
updated-dependencies:
- dependency-name: openssl
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 16:22:30 +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
Nikita Galaiko
d4d1a8e3fb
return highlighted result entries from search
2023-03-17 15:45:19 +01:00
Nikita Galaiko
3743522eed
listDelas: allow filtering by file path
2023-03-17 15:45:19 +01:00
Nikita Galaiko
7730653aca
more session tests to ensure wd structure
2023-03-15 10:56:25 +01:00
Nikita Galaiko
a6ae15ce44
more tests to ensure wd structure
2023-03-15 10:54:25 +01:00
Nikita Galaiko
711c10ee25
make sure session/wd git-tree only contains wd files
2023-03-15 10:07:39 +01:00
Nikita Galaiko
9dd6141dc4
correctly build nested trees
2023-03-14 20:00:44 +01:00
Nikita Galaiko
3a528c96f6
when writing gb/wd, make sure directory is there [2]
2023-03-14 16:12:10 +01:00
Nikita Galaiko
98d945fa43
when writing gb/wd, make sure directory is there
2023-03-14 16:10:48 +01:00
Nikita Galaiko
e378943c69
log::info instead of println
2023-03-14 13:00:07 +01:00
Nikita Galaiko
c00df16083
update current session activity on .git/logs/HEAD update
2023-03-14 12:51:57 +01:00
Nikita Galaiko
1f4c96f827
add git watcher
2023-03-14 11:31:05 +01:00
Nikita Galaiko
9958730c2f
init project in add_project handler
2023-03-14 09:45:30 +01:00
Nikita Galaiko
cb93ce5ce1
fix some types
2023-03-14 09:04:56 +01:00
Nikita Galaiko
e38c7481ef
keep processed files inside session/wd
2023-03-14 09:04:56 +01:00
Nikita Galaiko
3a95bc792d
use fslock for syncronization
2023-03-14 09:04:56 +01:00
Nikita Galaiko
436737036b
sync wathcers with mutex
2023-03-14 09:04:56 +01:00
Kiril Videlov
38860ded04
optional time constraint when listing sessions. project home loads only last 4 days
2023-03-13 20:42:41 +01:00
Kiril Videlov
14418509c3
more async tauri commands
2023-03-13 19:33:29 +01:00
Kiril Videlov
4ecb16718b
AAAAAAAAAAAAAAAA FOUND ITTTTTTTTTTTTTTTTT
2023-03-13 17:54:01 +01:00
Scott Chacon
6e0358baae
only local branches, scroll into view
2023-03-13 13:45:02 +01:00
Scott Chacon
fb2a39b280
get branch name, dont actually switch branches
2023-03-13 13:45:02 +01:00
Scott Chacon
e391688624
got it to switch a branch
2023-03-13 13:45:02 +01:00
Scott Chacon
524591821a
more general palette code, dedupe some main.rs code, start of branch switcher
2023-03-13 13:45:02 +01:00
Scott Chacon
7dbd9c5511
try automatic pushing
2023-03-12 06:34:15 -07:00
Scott Chacon
1707508b7e
first commit with the GitButler client. :)
2023-03-11 08:53:07 -08:00
Scott Chacon
536621d54e
start of a command palette
2023-03-10 07:22:32 -08:00
Nikita Galaiko
13456d0398
make player deltas-based
2023-03-10 14:26:09 +01:00
Nikita Galaiko
47ea43fb66
add unit test for player-like flow
2023-03-10 10:03:03 +01:00
Nikita Galaiko
8ffcfdc3c9
log project id in wathcers
2023-03-10 10:03:02 +01:00
Scott Chacon
2d9e738038
v1 git status
2023-03-09 11:24:21 -08:00
Nikita Galaiko
12ac983978
more aggressive file event kind filter
2023-03-09 13:58:09 +01:00
Kiril Videlov
c29439b0e5
Revert "temporary fix for duplicated deltas issue"
...
This reverts commit 6bb919b238
.
2023-03-09 13:44:49 +01:00
Nikita Galaiko
0d579f3d2c
add some more watchers tests
2023-03-09 13:06:26 +01:00
Nikita Galaiko
6bb919b238
temporary fix for duplicated deltas issue
2023-03-09 09:51:38 +01:00
Nikita Galaiko
76773aec0b
drop difference
2023-03-08 17:22:42 +01:00
Nikita Galaiko
5b146d90f0
test multi char operations
2023-03-08 16:59:52 +01:00
Nikita Galaiko
3ae62f29e0
fix tests
2023-03-07 17:10:48 +01:00
Nikita Galaiko
5dfde966ab
replace diffing library
2023-03-07 17:10:48 +01:00
Nikita Galaiko
b3c29abe00
use full diff when indexing
2023-03-07 13:11:03 +01:00
Kiril Videlov
efc07705e4
release the lock when there are broken projects
2023-03-07 10:18:56 +01:00
Kiril Videlov
96e4f16703
dont panic on search error
2023-03-07 10:05:27 +01:00
Kiril Videlov
04734efcf4
lower the session related logging output
2023-03-07 09:46:17 +01:00
Nikita Galaiko
0aefc8be61
support time ranges
2023-03-06 15:41:11 +01:00
Nikita Galaiko
c6c3c3feb5
add limit & offset to the query
2023-03-06 15:41:11 +01:00
Nikita Galaiko
cfd151fcb9
sort results by timestamp
2023-03-06 15:41:11 +01:00
Nikita Galaiko
b1fc932a81
add test search page
2023-03-06 15:41:11 +01:00
Nikita Galaiko
41842ee356
expose search api
2023-03-06 15:41:11 +01:00
Nikita Galaiko
3f65a3e72f
store all projects in the same index
2023-03-06 15:41:11 +01:00
Nikita Galaiko
59eb1fd8a6
run indexing in a background
2023-03-06 08:23:15 +01:00
Nikita Galaiko
c0fd0bd729
implement reindexing
2023-03-06 08:23:15 +01:00
Nikita Galaiko
f78d5b104f
check size when applying operations
2023-03-06 08:23:15 +01:00
Nikita Galaiko
887b676acb
start recording new sessions
2023-03-06 08:23:15 +01:00
Nikita Galaiko
d962e2d7d1
rename git watcher -> session watcher
2023-03-06 08:23:15 +01:00
Nikita Galaiko
d85b40f472
make searcher non-project specific
2023-03-06 08:23:15 +01:00
Nikita Galaiko
d04df229d6
implmenet basic search
2023-03-06 08:23:15 +01:00
Nikita Galaiko
41824e2c85
add deltas index writer
2023-03-06 08:23:15 +01:00
Kiril Videlov
42067ca8cd
update app min & max window sizes
2023-03-03 11:49:09 +01:00
Nikita Galaiko
7199dc7022
disable devtools in production
2023-03-01 12:06:11 +01:00
Nikita Galaiko
42d658abc5
allow production url in csp
2023-03-01 12:04:29 +01:00
Scott Chacon
04112d1078
this is not reachable anymore
2023-02-28 08:24:37 +01:00
Scott Chacon
c5fbf0c351
GB-59 hard code file mode
2023-02-28 08:24:37 +01:00
Nikita Galaiko
ae6e9653aa
adjst csp to work in production
2023-02-27 12:47:57 +01:00
Nikita Galaiko
aaf89ed1ca
use tauri thread management to run watchers
2023-02-27 10:44:12 +01:00
Nikita Galaiko
7dce627ba4
ignore files that we don`t have permissions to read
2023-02-27 10:11:09 +01:00
Nikita Galaiko
386edf4619
handle repos without any refs
2023-02-27 10:11:09 +01:00
Nikita Galaiko
1ff419a8c8
display errors when adding project
2023-02-27 10:11:09 +01:00