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
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
Nikita Galaiko
3da4f6247b
more logs for watcher loops
2023-02-24 15:27:11 +01:00
Nikita Galaiko
b24c646ec7
move session activity update into deltas::write
2023-02-24 14:56:10 +01:00
Nikita Galaiko
f6add083a3
print status error
2023-02-24 13:33:06 +01:00
Nikita Galaiko
e549e99c05
cache images locally
2023-02-24 13:29:09 +01:00
Nikita Galaiko
0c2999d909
if failed to push to remote, just log
2023-02-24 10:14:47 +01:00
Nikita Galaiko
56ca8d5be4
correctly print anyhow errors
2023-02-23 16:49:06 +01:00
Nikita Galaiko
a9a8ab8fc0
more deltas tests
2023-02-23 08:33:00 +01:00
Nikita Galaiko
89b2b15a2a
fix operations calculation bug
2023-02-23 08:28:11 +01:00
Nikita Galaiko
22f65ec2a1
fix server-side event
2023-02-22 17:35:07 +01:00
Nikita Galaiko
22489a6b90
log event sent message
2023-02-22 17:27:58 +01:00
Nikita Galaiko
97048983cf
drop yrs
2023-02-22 17:16:10 +01:00
Nikita Galaiko
be7eda4047
better logs
2023-02-22 16:32:23 +01:00
Nikita Galaiko
8903efd56a
bring back log colors
2023-02-22 16:22:00 +01:00
Nikita Galaiko
9b80f277ae
when production, only log to file
2023-02-22 16:19:12 +01:00
Nikita Galaiko
0ccc37c0ef
do not fail session creation if session dir exists
2023-02-22 14:53:25 +01:00
Nikita Galaiko
180d3c412e
set window focus when showing
2023-02-22 14:13:35 +01:00
Nikita Galaiko
cf20990218
conditional compilation for window builder
2023-02-22 13:38:04 +01:00
Nikita Galaiko
775d1cd1f3
only apply macos specific window things on macos
2023-02-22 13:20:19 +01:00
Nikita Galaiko
4d3f64d6d9
send user info to sentry
2023-02-22 12:55:25 +01:00
Nikita Galaiko
93975be057
set correct version for sentry
2023-02-22 12:24:50 +01:00
Nikita Galaiko
3c42525a13
programmaticaly control window and channel events
2023-02-22 11:49:41 +01:00
Nikita Galaiko
f4a24faa29
allow to only request some session files
2023-02-22 08:47:03 +01:00
Nikita Galaiko
40d3961def
change activation policy only on macos
2023-02-21 17:09:08 +01:00
Nikita Galaiko
55fff0677f
more efficient session lookup
2023-02-21 16:41:12 +01:00
Nikita Galaiko
8f4605f6e1
when adding previously deleted project, restore it
2023-02-21 15:37:50 +01:00
Nikita Galaiko
85f3c82e53
do not display app in the doc
2023-02-21 14:51:03 +01:00
Nikita Galaiko
b4433044f9
bring window to the front when show clicked
2023-02-21 14:37:52 +01:00
Nikita Galaiko
8f49f71c49
fix session test name
2023-02-21 14:33:36 +01:00
Nikita Galaiko
b6482b4347
make sure session exists when writing deltas
2023-02-21 14:32:52 +01:00
Nikita Galaiko
1c8d4577f7
fix git log
2023-02-21 13:44:39 +01:00
Nikita Galaiko
bc6edf2edf
log that git wather started
2023-02-21 13:38:42 +01:00
Nikita Galaiko
9c0228346d
derive commit author from user
2023-02-21 12:11:47 +01:00
Nikita Galaiko
32329ecb81
update session lastTs before flushing
2023-02-21 12:02:17 +01:00
Nikita Galaiko
290d80ca1a
handle missing ctime [2]
2023-02-20 15:54:34 +01:00
Nikita Galaiko
5dc7a51b98
handle missing ctime
2023-02-20 15:35:21 +01:00
Nikita Galaiko
b8cb8660d5
display seconds
2023-02-20 15:16:32 +01:00
Nikita Galaiko
e69165f8bc
create signature when commiting
2023-02-20 15:16:24 +01:00
Nikita Galaiko
fe1c2fc577
create signature when making test commit
2023-02-20 15:12:58 +01:00
Nikita Galaiko
929562d80f
fix list_files
2023-02-20 14:02:55 +01:00
Nikita Galaiko
ec06b264d2
test repository open
2023-02-20 13:37:44 +01:00
Nikita Galaiko
efaba6b342
more session tests
2023-02-20 13:09:41 +01:00
Nikita Galaiko
ab803a12a1
add sessions test and fix list order
2023-02-20 13:03:28 +01:00
Nikita Galaiko
2e0f757cd9
use ms timestamps everywhere
2023-02-20 12:41:33 +01:00
Nikita Galaiko
bd2c5b5809
use real fs in deltas tests
2023-02-20 12:41:10 +01:00
Nikita Galaiko
137f73848f
refactor sessions mod
2023-02-20 12:41:09 +01:00
Nikita Galaiko
0562bcae5d
test deltas read/write
2023-02-20 12:41:09 +01:00
Nikita Galaiko
ea9fa3dca4
say session does not exist if meta does not exist
2023-02-20 12:41:09 +01:00
Kiril Videlov
a0b6e82795
Remove sorting of sessions by timestamp in rust
2023-02-20 10:19:06 +01:00
Scott Chacon
31a01ac693
think I fixed scrolling, changed time to start+duration, fixed ordering of sessions when pushing to commit vector
2023-02-18 15:47:08 +01:00
Nikita Galaiko
eeec46c092
ignore non-utf8 files when calculating deltas
2023-02-17 16:04:22 +01:00
Nikita Galaiko
e1c47af20d
handle deltas calculation when file is removed
2023-02-17 15:18:32 +01:00
Nikita Galaiko
37a9a6a17c
move to project-id based namespacing
2023-02-17 10:50:30 +01:00
Nikita Galaiko
e1597c7963
push to git remote
2023-02-16 16:19:09 +01:00
Nikita Galaiko
1b8984c357
make git watcher fetch project on every iteration
2023-02-16 15:30:55 +01:00
Nikita Galaiko
dfa16066c1
make watchers into a struct
2023-02-16 15:30:55 +01:00
Nikita Galaiko
723823bccd
module isolation
2023-02-16 15:30:55 +01:00
Nikita Galaiko
de0dd25c90
project settings page
2023-02-16 12:16:24 +01:00
Nikita Galaiko
bc6ac42a71
make watchers use anyhow
2023-02-15 16:57:22 +01:00
Nikita Galaiko
d2b85e614d
refactor users api to make it rust-first
2023-02-15 16:30:52 +01:00
Nikita Galaiko
a68e520f4d
projects update api
2023-02-15 15:44:47 +01:00
Nikita Galaiko
93e20b042f
update app name in every place
2023-02-14 16:26:17 +01:00
Nikita Galaiko
782a814245
change app title depending on dev/release
2023-02-14 16:20:43 +01:00
Nikita Galaiko
cb90c84413
use anyhow lib for error context
2023-02-14 13:11:41 +01:00
Nikita Galaiko
db8ed8e58f
remove extensive error descriptions
2023-02-14 12:41:37 +01:00
Scott Chacon
51e981a54e
make the whole directory before writing the delta file
2023-02-14 11:17:52 +01:00
Nikita Galaiko
51bae9bf36
change list_files logic
...
now list_files will always return files state on the beginning of a
session
2023-02-14 09:35:09 +01:00
Kiril Videlov
2a2f8bc7fe
Refactor list_files() to use session base commit
...
- Ensure files are always listed from the session base commit
- Simplify the `list_files()` function by removing the `match` statement
2023-02-13 20:44:25 +01:00
Nikita Galaiko
62f0a4e914
treat current session just like any other session
2023-02-13 16:46:26 +01:00
Nikita Galaiko
e38a062dfa
is dev_mode in rust part
2023-02-13 12:36:56 +01:00
Nikita Galaiko
57ad560900
store complete logs directory inside session
2023-02-13 10:47:43 +01:00
Nikita Galaiko
fc4ba28317
do not parse reflog types into enums, just expose it directly
2023-02-13 09:55:50 +01:00
Nikita Galaiko
2843be38a7
update tray text when app is closed via red button
2023-02-10 15:46:44 +01:00
Nikita Galaiko
bcc93167c0
make app run in background
2023-02-10 15:39:57 +01:00
Nikita Galaiko
35e2059a2f
use reflog for session activity
2023-02-10 15:10:30 +01:00
Nikita Galaiko
4c5f52ee6d
store empty deltas anyway
2023-02-10 13:23:04 +01:00
Nikita Galaiko
7fcf60a735
skip non-blobs
2023-02-10 13:19:34 +01:00
Nikita Galaiko
7400dbe9bf
deltas, session apis working
2023-02-10 11:03:57 +01:00
Nikita Galaiko
ab352b0e4e
frontend successfully lists sessions !!
2023-02-09 15:53:12 +01:00
Nikita Galaiko
006682dc68
looks like flushing to git works !!!
2023-02-09 13:42:25 +01:00
Nikita Galaiko
bc11efbae8
setup sentry
2023-02-09 12:14:49 +01:00
Nikita Galaiko
3c678bd248
error refactor
2023-02-09 11:05:54 +01:00
Nikita Galaiko
e35580dcdd
refactor & fixes for file watching
2023-02-09 10:52:00 +01:00
Nikita Galaiko
6afc274323
drop chrono
2023-02-08 14:25:37 +01:00
Nikita Galaiko
aa0008d901
merge git watcher
2023-02-08 14:10:22 +01:00
Nikita Galaiko
5b6b92da9e
define some rust errors
2023-02-07 15:44:02 +01:00
Nikita Galaiko
2792e072b1
rm unused import
2023-02-07 14:32:00 +01:00
Nikita Galaiko
66d526acd4
connect ui to rust crdts
2023-02-07 14:19:29 +01:00
Nikita Galaiko
1240389532
emit events on file change
2023-02-07 11:11:42 +01:00
Nikita Galaiko
2eab889720
create tauri command to list deltas
2023-02-07 10:06:44 +01:00
Scott Chacon
10906820b6
I think this should work
2023-02-07 09:48:51 +01:00
Nikita Galaiko
02debd1e84
crdt tests & fixes
2023-02-07 08:31:08 +01:00
Nikita Galaiko
d0a7940b9a
some comments
2023-02-07 08:00:54 +01:00
Nikita Galaiko
9dc978b068
start persisting deltas
2023-02-06 17:27:25 +01:00
Nikita Galaiko
e31efd43a1
merge delta_watcher
2023-02-06 15:23:02 +01:00
Nikita Galaiko
2d65c6808d
crdt: unexport
2023-02-06 10:52:04 +01:00
Nikita Galaiko
980607ad96
rust crdt package
2023-02-06 10:40:53 +01:00
Nikita Galaiko
549f49f012
init rust file watching
2023-02-05 17:22:45 +01:00
Nikita Galaiko
163155c319
load project files when it opens
2023-02-03 15:20:55 +01:00
Nikita Galaiko
1e26d05e69
remember window size and position
2023-02-03 14:30:15 +01:00
Nikita Galaiko
bf04ed9e76
setup logger
2023-02-03 14:28:57 +01:00
Nikita Galaiko
6c6dab0872
better types
2023-01-31 16:33:32 +01:00