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
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
Scott Chacon
f9a1b5407a
show footer and link to cloud if the project is syncing
2023-02-23 12:21:21 +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
768b2ff25a
add dev prefix for dev app name
2023-02-21 14:45:01 +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
3372704147
fix updater url
2023-02-21 13:40:15 +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
b0bb3b00f4
commit deps for dev build
2023-02-21 12:10:36 +01:00
Nikita Galaiko
32329ecb81
update session lastTs before flushing
2023-02-21 12:02:17 +01:00
Nikita Galaiko
c880a68408
verify hostname for open links
2023-02-21 12:02:17 +01:00
Nikita Galaiko
c9ab7fa14f
fix config path
2023-02-20 16:51:48 +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
cb05cbf2de
set updater url
2023-02-20 15:08:23 +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
b1d6c2fee3
dynamic release versioning
2023-02-17 16:09:24 +01:00
Nikita Galaiko
928b94a031
do semver
2023-02-17 16:09:24 +01:00
Nikita Galaiko
eeec46c092
ignore non-utf8 files when calculating deltas
2023-02-17 16:04:22 +01:00
Scott Chacon
1bc8b80508
add an icon for fun
2023-02-17 16:03:29 +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
df950a5608
s3 upload ( #14 )
...
Automatically build on build branch, upload to S3 and tell the server.
---------
Co-authored-by: Scott Chacon <schacon@gmail.com>
2023-02-17 07:42: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
Kiril Videlov
2127b0f151
Improve UI/UX for Tauri config window
...
- Update the title bar style to `Overlay`
- Set `minWidth` and `minHeight` for window
[src-tauri/tauri.conf.json]
- Change title bar style to `Overlay`
- Set `minWidth` and `minHeight` for window
2023-02-16 12:18:50 +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
29e76aa24c
include updater bundle when publishing
2023-02-15 09:18:19 +01:00
Nikita Galaiko
93e20b042f
update app name in every place
2023-02-14 16:26:17 +01:00
Nikita Galaiko
c8380dcf3b
another attempt to make actions name work
2023-02-14 16:20:43 +01:00
Nikita Galaiko
782a814245
change app title depending on dev/release
2023-02-14 16:20:43 +01:00
Nikita Galaiko
b653965e2e
try to fix release product name
2023-02-14 16:00:04 +01:00
Nikita Galaiko
a3c7704026
fix path to release cfg
2023-02-14 15:46:22 +01:00
Nikita Galaiko
9d4b3216ce
use release tauri config for publishing
2023-02-14 15:39:16 +01:00
Nikita Galaiko
dad31ae858
change dev app identifier
2023-02-14 15:37:05 +01:00
Nikita Galaiko
798a17d739
vendor libgit2 and openssl
2023-02-14 15:20:00 +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
7d86eb365e
user login page and storage
2023-02-14 10:32:31 +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
e75863135f
rm projects.json
2023-02-09 13:55:42 +01:00
Nikita Galaiko
006682dc68
looks like flushing to git works !!!
2023-02-09 13:42:25 +01:00
Kiril Videlov
57d6ff3e06
welcome to the dark side
2023-02-09 13:26:51 +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
9d9c9bd537
rm empty macOs section from config
2023-02-08 16:44:11 +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
f1fcc3195a
rm git binary
2023-02-07 14:22:56 +01:00
Nikita Galaiko
66d526acd4
connect ui to rust crdts
2023-02-07 14:19:29 +01:00
Nikita Galaiko
b95202cbdb
remove unused futures crate
2023-02-07 11:12:34 +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