Commit Graph

1482 Commits

Author SHA1 Message Date
Nikita Galaiko
09526fdde6 fix: handle errors properly in init_device_oauth and check_auth_status functions
- Previously, the functions `init_device_oauth` and `check_auth_status` did not properly handle errors when sending requests and parsing response bodies.
- This commit updates the error handling in both functions to provide more informative error messages and properly propagate errors.
- Now, if there is an error sending the request or parsing the response body, the functions will return an `Error::Unknown` error with the appropriate context.
- This improves the reliability and error reporting of the login functionality in the client application.
2023-10-11 09:52:49 +02:00
extrawurst
af6c6c17bb merged upstream 2023-10-11 09:52:43 +02:00
extrawurst
2e9f26e3cd merged upstream 2023-10-11 09:52:36 +02:00
extrawurst
fecafc834b
Merge pull request #1328 from gitbutlerapp/GB-609-gitbutlerjson
GB-609: create/update `.git/gitbutler.json`
2023-10-11 09:51:03 +02:00
Nikita Galaiko
dbf2b2cacb add subtle button to reset head commit 2023-10-11 09:43:32 +02:00
Nikita Galaiko
116953fbf1 merged upstream 2023-10-11 08:38:46 +02:00
Kiril Videlov
79f473e807 🔨 chore: move github module to correct location in module list 2023-10-10 19:18:44 +02:00
Kiril Videlov
698fb012e8 support for github device oauth flow 2023-10-10 19:18:44 +02:00
extrawurst
2acf7f36ea more clippy lints and the according fixes 2023-10-10 17:39:13 +02:00
extrawurst
5fa412b857 make sure clippy does not allow us to use unsafe 2023-10-10 17:14:36 +02:00
extrawurst
251f78e1bf remove unused method 2023-10-10 17:11:05 +02:00
extrawurst
6632a1b70b feat: add test for gitbutler file creation and content verification 2023-10-10 16:36:07 +02:00
Nikita Galaiko
738d1bfceb add a test button 2023-10-10 14:52:16 +02:00
Nikita Galaiko
1857e991aa expose reset virtual branch command 2023-10-10 14:20:49 +02:00
Nikita Galaiko
8ebd529d55 feat: add support for tracking upstream head commit in virtual branches
The changes in this commit add support for tracking the upstream head commit in virtual branches. This is done by introducing a new field `upstream_head` in the `Branch` struct. The `upstream_head` field represents the last commit that has been pushed to the upstream branch.

The following changes were made:
- Added `upstream_head` field to the `Branch` struct
- Updated the `create_virtual_branch` function to initialize the `upstream_head` field as `None`
- Updated the `push` function to set the `upstream_head` field to the current head commit of the virtual branch
- Updated the `create_virtual_branch_from_branch` function to initialize the `upstream_head` field as `None`
- Updated the `BranchWriter` struct to write the `upstream_head` field to the branch metadata
- Updated the `TryFrom<&dyn crate::reader::Reader>` implementation
2023-10-10 14:13:21 +02:00
Nikita Galaiko
1721e9046f feat: reset virtual branch 2023-10-10 14:10:24 +02:00
extrawurst
571e61e2e0 GB-609: create/update .git/gitbutler.json
this happens when a new session is created
2023-10-10 13:34:03 +02:00
extrawurst
d3b356c3a9 cleanup clippy warning 2023-10-10 12:42:15 +02:00
Nikita Galaiko
00543d15ee introduce dataDir to git file change handler 2023-10-10 12:24:14 +02:00
extrawurst
ffda438143
Merge pull request #1316 from gitbutlerapp/Add-gb-flush-command
GB-610: flush session if GB_FLUSH file triggers watcher
2023-10-10 12:21:09 +02:00
extrawurst
f535ba30d5 trigger flush_session if GB_FLUSH file triggers watcher git event
* remove GB_FLUSH after processing it
* add test for flushing and deleting flush file
* add more unittests for cases:
 * no session, file -> no flush, file deleted
 * session, file -> flush, file deleted
 * session, no file -> no flush
2023-10-10 12:03:06 +02:00
Nikita Galaiko
69e9d08501 feat: update set_user function to return the updated user object
The `set_user` function in the client code has been updated to return the updated user object after setting it in the app. This change allows for better handling of the user object and enables further operations on it if needed. The updated function now returns a `Result<User, Error>` instead of `Result<(), Error>`.
2023-10-10 10:31:20 +02:00
Nikita Galaiko
51ec31d820 fix butler 2023-10-10 09:30:46 +02:00
Nikita Galaiko
e672fb7fbf define types for local app dir and logs dir 2023-10-10 09:21:47 +02:00
Nikita Galaiko
86d9935415 fix butler 2023-10-09 12:10:31 +02:00
Nikita Galaiko
ea94ff2c1a more custom error types 2023-10-09 12:05:24 +02:00
Mattias Granlund
bd98ee0f36 Add a handler for unhandled rejections
- this change gives us better stack traces when reactive things break
2023-10-06 16:21:26 +02:00
Nikita Galaiko
b1f3e2439e fix butler 2023-10-06 15:58:23 +02:00
Nikita Galaiko
0d82e470ba privatise projects storage 2023-10-06 15:56:43 +02:00
Nikita Galaiko
b57ef8f2c9 privatise users storage 2023-10-06 15:41:45 +02:00
Nikita Galaiko
0d10db2c9b privatise keys storage 2023-10-06 15:25:48 +02:00
Nikita Galaiko
295ace965c feat: refactor zip controller to use new zip module
The zip controller has been refactored to use the new zip module. This change includes updating the import statements and modifying the main function to generate the tauri context with the new zip module.

Additionally, the zip controller now has a new struct called Controller, which contains the necessary fields for handling zip operations. The TryFrom trait has been implemented for the Controller struct to allow for easy creation from the AppHandle.

The main changes include:
- Importing the zip module and updating import statements
- Refactoring the main function to generate the tauri context with the new zip module
- Creating a new Controller struct for handling zip operations
- Implementing the TryFrom trait for the Controller struct to allow for easy creation from the AppHandle
2023-10-06 15:08:42 +02:00
Nikita Galaiko
84e2d8533e pass project repository to gb_repository methods 2023-10-06 12:43:32 +02:00
Nikita Galaiko
08d26ae037 refactor: Update error handling in controller module
The changes in this commit refactor the error handling in the controller module. Instead of using a specific error type for storage errors, the code now uses the `anyhow` crate to handle errors more generically. This simplifies the code and allows for better error handling and reporting.
2023-10-06 08:47:59 +02:00
Nikita Galaiko
83b251b2b4 feat: add users controller to handle user-related operations
The users controller has been added to handle user-related operations such as getting, setting, and deleting user information. This controller is responsible for interacting with the storage module to perform these operations.
2023-10-06 08:40:27 +02:00
Nikita Galaiko
09ac7f1c24 delete extra files 2023-10-05 16:03:41 +02:00
Nikita Galaiko
7e500d5671 fix tests 2023-10-05 16:03:01 +02:00
Nikita Galaiko
73d5ebf823 extract projects controller 2023-10-05 15:44:34 +02:00
Nikita Galaiko
53ed4425f6 feat: add mark_active_session function to update session metadata
The mark_active_session function has been added to the Repository struct. This function updates the last_timestamp_ms field of the current session's metadata to the current system time. This is done to keep track of the last time the session was active.

This function is called in several places where the current session is required to be updated, such as when writing to targets, branches, deltas, bookmarks, and handling git file changes. By updating the session metadata, we ensure that the session remains active and up-to-date.

This change improves the accuracy of session tracking and helps in managing active sessions effectively.
2023-10-05 13:05:18 +02:00
Nikita Galaiko
62d2b7c6fa fix: fix visibility of should_flush function and update test cases for should_flush function 2023-10-05 12:28:37 +02:00
dependabot[bot]
885185e6e3 chore(deps-dev): bump svelte from 4.2.0 to 4.2.1
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@4.2.1/packages/svelte)

---
updated-dependencies:
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 11:58:46 +02:00
dependabot[bot]
8fcaed68be chore(deps-dev): bump nanoid from 4.0.2 to 5.0.1
Bumps [nanoid](https://github.com/ai/nanoid) from 4.0.2 to 5.0.1.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/4.0.2...5.0.1)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 11:54:52 +02:00
dependabot[bot]
94f4fb26db chore(deps-dev): bump @types/diff-match-patch from 1.0.32 to 1.0.34
Bumps [@types/diff-match-patch](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff-match-patch) from 1.0.32 to 1.0.34.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/diff-match-patch)

---
updated-dependencies:
- dependency-name: "@types/diff-match-patch"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 11:54:41 +02:00
dependabot[bot]
3c0035370f chore(deps-dev): bump svelte-check from 3.5.1 to 3.5.2
Bumps [svelte-check](https://github.com/sveltejs/language-tools) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/sveltejs/language-tools/releases)
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check-3.5.1...svelte-check-3.5.2)

---
updated-dependencies:
- dependency-name: svelte-check
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 11:54:32 +02:00
dependabot[bot]
140f2b9bb4 chore(deps-dev): bump @sentry/sveltekit from 7.64.0 to 7.73.0
Bumps [@sentry/sveltekit](https://github.com/getsentry/sentry-javascript) from 7.64.0 to 7.73.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.64.0...7.73.0)

---
updated-dependencies:
- dependency-name: "@sentry/sveltekit"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 11:54:05 +02:00
Mattias Granlund
3d74940111 Update Sentry DSN in Svelte code
- changes data source desktop -> js-app
2023-10-05 11:18:04 +02:00
dependabot[bot]
0a20c2de00
chore(deps): bump sha1 from 0.10.5 to 0.10.6
Bumps [sha1](https://github.com/RustCrypto/hashes) from 0.10.5 to 0.10.6.
- [Commits](https://github.com/RustCrypto/hashes/compare/sha1-v0.10.5...sha1-v0.10.6)

---
updated-dependencies:
- dependency-name: sha1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 08:46:44 +00:00
dependabot[bot]
0b893c6b3b
chore(deps): bump reqwest from 0.11.20 to 0.11.22
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.20 to 0.11.22.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.20...v0.11.22)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 08:44:02 +00:00
Nikita Galaiko
7d245f6f59 chore: update versions of @tauri-apps/cli and related packages to 1.5.1 2023-10-05 10:31:51 +02:00
Nikita Galaiko
17b3c9ec04
Merge pull request #1293 from gitbutlerapp/Refactor-project-get-method
chore: refactor projects_storage methods to use consistent naming and…
2023-10-05 10:22:20 +02:00
Nikita Galaiko
a331113cd1 cargo fmt 2023-10-05 10:13:37 +02:00
Mattias Granlund
175ee13c4e Fix sveltekit error handler
- now prints the actual error to the console
2023-10-05 10:11:00 +02:00
Nikita Galaiko
37e7507e53 chore: refactor projects_storage methods to use consistent naming and simplify code
The changes in this commit refactor the methods in the `projects_storage` module to use consistent naming and simplify the code. The following changes were made:

- Renamed the `update_project` method to `update` in the `projects_storage` module.
- Renamed the `add_project` method to `add` in the `projects_storage` module.
- Renamed the `get_project` method to `get` in the `projects_storage` module.
- Renamed the `list_projects` method to `list` in the `projects_storage` module.

These changes improve code readability and maintainability by using consistent naming conventions and simplifying the method signatures.
2023-10-05 10:04:36 +02:00
Nikita Galaiko
805a23f1b8 fix: fix async handling in App methods
- The `upsert_bookmark` method was not properly handling the async code. It now properly awaits the necessary async operations.
- The `init_project` method now properly handles async code and awaits the necessary async operations.
- The `init` method now properly handles async code and awaits the necessary async operations.
- The `add_project` method now properly handles async code and awaits the necessary async operations.

This ensures that the async operations are properly executed and awaited, preventing potential race conditions or incorrect behavior.
2023-10-05 09:39:45 +02:00
Nikita Galaiko
1ccc204c75 chore: refactor delete_project and update_project functions to be asynchronous 2023-10-05 09:34:51 +02:00
Nikita Galaiko
223cbfaba2 extracts commands mod 2023-10-05 09:28:45 +02:00
Nikita Galaiko
b3902026be refactor: update error handling and repository opening logic in project_repository module 2023-10-05 09:08:42 +02:00
Nikita Galaiko
b2d84362a6 minor fixes 2023-10-05 08:54:13 +02:00
Nikita Galaiko
b81efe9b72 feat: update project path handling to use path::PathBuf instead of String
The previous implementation used a string to represent the project path, which led to potential issues when manipulating paths. The update changes the project path to use the path::PathBuf type, which provides better path manipulation and error handling capabilities. This change improves the overall reliability and maintainability of the code.
2023-10-05 08:44:56 +02:00
Nikita Galaiko
cfafb76a21 add tests for binary registration 2023-10-05 08:25:43 +02:00
Nikita Galaiko
1df251baca chore: remove unused fileGroup function and related code 2023-10-04 16:44:30 +02:00
Nikita Galaiko
b86259b64c chore: remove unused Statuses component and git_status API endpoint 2023-10-04 16:35:06 +02:00
Nikita Galaiko
bb88219933 remove more leftovers 2023-10-04 16:23:32 +02:00
Nikita Galaiko
67de8de1e9 ui: rm git activity 2023-10-04 16:15:46 +02:00
Nikita Galaiko
df32ebfffa chore: remove unused code related to git activity logging 2023-10-04 16:12:55 +02:00
Nikita Galaiko
65a0979649
Merge pull request #1286 from gitbutlerapp/deps-refactor
Deps refactor
2023-10-04 16:07:35 +02:00
Nikita Galaiko
8cd9431fc9 fix butler 2023-10-04 15:55:23 +02:00
Nikita Galaiko
5ba4a9a6b4 drop gb_project's dependency on project_storage 2023-10-04 15:53:00 +02:00
Scott Chacon
e72ef03bc8
Merge pull request #1284 from gitbutlerapp/update-branch-with-upstream
Change upstream branch name
2023-10-04 15:33:53 +02:00
Scott Chacon
7281ed8fdf
🔥 refactor: remove debug statement for remote branch 2023-10-04 15:27:21 +02:00
Scott Chacon
002a52af57
Merge pull request #1285 from gitbutlerapp/Set-user-only-permissions
Set files in data dir to user only (0o600)
2023-10-04 15:23:09 +02:00
Nikita Galaiko
65b108ad1b
Merge pull request #1283 from gitbutlerapp/tests-suite
Tests suite
2023-10-04 14:02:45 +02:00
Scott Chacon
f225d0aa7f
🐛 fix: set user-only permissions for private key file in Storage::write_file method 2023-10-04 13:59:50 +02:00
Nikita Galaiko
34e09293e0 fix butler 2023-10-04 13:57:14 +02:00
Scott Chacon
ccf6136b9a
feat: add Remote Name panel to display and update remote branch name in UI 2023-10-04 13:16:33 +02:00
Nikita Galaiko
6ab278a67c make clippy happy 2023-10-04 12:59:49 +02:00
Nikita Galaiko
f831cb346d refactor: package test initiaion 2023-10-04 12:50:16 +02:00
Mattias Granlund
3c16b6cd76 Add error handling and loading indicator to base branch selection
- also puts base branch selection in its own component
2023-10-04 11:54:47 +02:00
Mattias Granlund
834d227370 Make store dependencies explicit parameters
This was feedback from Kiril a while back, that since all stores are
needed it would be clearer to have them as explicit parameters.
2023-10-03 21:59:04 +02:00
Nikita Galaiko
13eb5e987e project repository owns project 2023-10-03 15:52:08 +02:00
Nikita Galaiko
550ff26ac7 remove user storage dependency from gb repo 2023-10-03 15:48:49 +02:00
Nikita Galaiko
9faf08e47f
Merge pull request #1279 from gitbutlerapp/Refactor-reader-struct
refactor: use content that is either utf8, large or binary
2023-10-03 12:20:32 +02:00
Nikita Galaiko
f5758371a5 cargo fmt 2023-10-03 12:00:18 +02:00
Nikita Galaiko
30e6026785 fix: pass diff_opts parameter to diff_tree_to_tree function call in trees function 2023-10-03 11:57:39 +02:00
Nikita Galaiko
636c6538b3 refactor: update file content handling to use new FileContent type instead of Contents 2023-10-03 11:55:02 +02:00
Nikita Galaiko
a0ace30025 implement more From traits for Content 2023-10-03 10:36:43 +02:00
Nikita Galaiko
77bffe638a make git::Blob wrapper 2023-10-03 10:35:43 +02:00
Nikita Galaiko
95304c1968 refactor: use content that is either utf8, large or binary 2023-10-03 10:04:30 +02:00
Mattias Granlund
a6c6c90757 Safely append sessions to session store
- seen in the wild, but triggered by other error
2023-10-02 23:38:19 +02:00
dependabot[bot]
4e3cb65313 chore(deps-dev): bump posthog-js from 1.77.2 to 1.81.2
Bumps [posthog-js](https://github.com/PostHog/posthog-js) from 1.77.2 to 1.81.2.
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.77.2...v1.81.2)

---
updated-dependencies:
- dependency-name: posthog-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 19:13:41 +02:00
dependabot[bot]
4ec90f25de chore(deps-dev): bump @codemirror/lang-markdown from 6.2.0 to 6.2.1
Bumps [@codemirror/lang-markdown](https://github.com/codemirror/lang-markdown) from 6.2.0 to 6.2.1.
- [Changelog](https://github.com/codemirror/lang-markdown/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-markdown/compare/6.2.0...6.2.1)

---
updated-dependencies:
- dependency-name: "@codemirror/lang-markdown"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 19:10:05 +02:00
dependabot[bot]
58d6c32435 chore(deps-dev): bump eslint from 8.47.0 to 8.50.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.47.0 to 8.50.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.47.0...v8.50.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 19:09:41 +02:00
dependabot[bot]
5cfb6e1ba0 chore(deps-dev): bump postcss from 8.4.30 to 8.4.31
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.30 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.30...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 19:07:39 +02:00
dependabot[bot]
bf371c6daf chore(deps-dev): bump @types/marked from 5.0.1 to 5.0.2
Bumps [@types/marked](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/marked) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/marked)

---
updated-dependencies:
- dependency-name: "@types/marked"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 19:07:27 +02:00
Mattias Granlund
32da7d1200 Handle project errors nicely
- show better message if error unknown along with back button
- eliminate no undefined or zero session errors
2023-10-02 15:06:55 +02:00
Mattias Granlund
b64bb18eb3 Disable AI hunk summaries for binary files 2023-10-02 12:02:05 +02:00
Mattias Granlund
c5603d1685 Show custom message in FileCard for binary/large files 2023-10-02 12:02:05 +02:00
Mattias Granlund
2b976b2e6d Separate front and back end in sentry
- front end now uses app-js
2023-10-01 19:41:55 +03:00
Mattias Granlund
a851210c0a Destroy popup menues on component destruction
- because menus are rendered manually targeting the document body
2023-10-01 12:03:35 +03:00
Mattias Granlund
2d2d85d8ce Change some package imports to direct imports 2023-10-01 11:55:29 +03:00
Mattias Granlund
b2a9d2efcf Remove unnecessary console logging
- removing since nightly users have access to devtools
2023-10-01 11:50:51 +03:00
Mattias Granlund
6528fb7400 Fix lint warnings in ts code 2023-10-01 11:39:55 +03:00
Mattias Granlund
39835b7c27 Disable spell check in the commit message box
- plus a couple of other places
2023-10-01 01:47:50 +03:00
Mattias Granlund
5f25455d52 Do not shell open local links
- error spotted in sentry
2023-10-01 01:38:49 +03:00
Mattias Granlund
f4f59ee031 Nitpicking a couple of things 2023-09-30 23:19:03 +03:00
Mattias Granlund
98b5ed99a6 Express some store things more concisely 2023-09-30 23:19:03 +03:00
Mattias Granlund
3b63dff215 Refactor a few async stores to use start/stop signal
- sessions, deltas, fetches, heads
- auto open/unsubscribe for streams
2023-09-30 23:19:03 +03:00
Mattias Granlund
088ab5466b Bump version of forked svelte-store
- contains added start/stop notifier for asyncWritable
2023-09-30 21:32:06 +03:00
Kiril Videlov
75bf521bd2 reorder credentials list for performance (if key generated, private_key will fail, so putting it last 2023-09-29 17:14:10 +02:00
Nikita Galaiko
bbbd363870
Merge pull request #1258 from gitbutlerapp/Add-debugging-logs
chore: refactor hunks_by_filepath function to simplify code and impro…
2023-09-29 11:12:13 +02:00
Nikita Galaiko
ea097b7d8b chore: handle errors when converting line content to UTF-8 in hunks_by_filepath function 2023-09-29 11:05:48 +02:00
Nikita Galaiko
644a4ae3f3 chore: refactor hunks_by_filepath function to simplify code and improve readability 2023-09-29 11:02:34 +02:00
Nikita Galaiko
6019f25191 fix: handle both links in and outside the repo 2023-09-29 10:38:52 +02:00
Nikita Galaiko
d77123b775 fix: remove unnecessary steps in creating symlink content
The code previously included unnecessary steps to make the symlink target path relative and convert it to a byte array. These steps have been removed as they are not needed for creating the symlink content.
2023-09-29 09:47:17 +02:00
Nikita Galaiko
1cccaa6d69
Merge pull request #1256 from gitbutlerapp/Update-sentry-dependencies
Update sentry dependencies
2023-09-29 09:13:59 +02:00
Nikita Galaiko
110db1bf85 chore: update dependencies and remove sentry-anyhow from Cargo.toml
The changes in this commit update the dependencies in the Cargo.toml file and remove the sentry-anyhow package. The sentry-anyhow package is no longer needed as it has been replaced by the sentry package. This change simplifies the dependencies and ensures that the project is using the latest versions of the required packages.
2023-09-29 09:08:16 +02:00
Nikita Galaiko
d12bb8bf7c
Merge pull request #1254 from gitbutlerapp/Update-sentry-dependencies
Update sentry dependencies
2023-09-29 08:47:57 +02:00
Nikita Galaiko
7c725a4a9f structured logging 2023-09-29 08:40:21 +02:00
Nikita Galaiko
fb4fb7ad06 improve sentry integration 2023-09-29 08:11:03 +02:00
Mattias Granlund
544a35eea2 Fix lint error 2023-09-29 01:01:36 +03:00
Mattias Granlund
f1a9add4f7 Missed these props in the last commit 2023-09-29 01:01:36 +03:00
Mattias Granlund
48cd2ea296 Use actual types for tray store props 2023-09-29 01:01:36 +03:00
Mattias Granlund
88877e84eb Make some UI updates optimistic
- apply
- unapply
- delete branch
- update notes
2023-09-29 00:57:28 +03:00
Nikita Galaiko
8ac716e44b fix allowlist 2023-09-28 14:27:49 +02:00
Nikita Galaiko
80f43ffe32 chore: update build scripts to include separate build commands for nightly and development modes 2023-09-28 13:31:40 +02:00
Nikita Galaiko
3f35c564d2 chore: update dependencies
- Update "@types/lscache" to version "^1.3.2"
- Update "@typescript-eslint/eslint-plugin" to version "^6.7.2"
- Update "@typescript-eslint/parser" to version "^6.7.2"
- Update "marked" to version "^9.0.3"
- Update "postcss" to version "^8.4.30"

These updates include bug fixes and performance improvements.
2023-09-28 10:37:12 +02:00
Nikita Galaiko
919b334447 refactor: remove unnecessary prop 'isIntegrated' from CommitCard component in CommitList component 2023-09-28 10:32:31 +02:00
Nikita Galaiko
18ff457936 group integrated commits separately 2023-09-28 10:14:31 +02:00
Nikita Galaiko
53dd5a651d chore: update context menu in code editor component
The context menu in the code editor component has been updated to include a new option to collapse sections. Additionally, the "Open in Visual Studio Code" option will now only be displayed if there is a specific line number associated with the item.
2023-09-28 09:05:40 +02:00
Nikita Galaiko
e3415c0b6b fix: hunk equiality 2023-09-27 12:02:30 +02:00
Nikita Galaiko
21ab6a78ae chore: update lint and format scripts to use prettier and eslint without specifying plugin search directory 2023-09-27 10:24:51 +02:00
Nikita Galaiko
61544a003c feat: add ability to unapply ownership for a hunk in the client
The changes in this commit add support for unapplying ownership for a hunk in the client. This allows users to discard changes made to a specific hunk and revert it back to its original state. The unapplyHunk method is added to the BranchController class, which sends a request to the server to unapply the ownership of the hunk. Upon successful unapplying, the virtual branch store is reloaded to reflect the changes.
2023-09-27 10:23:53 +02:00
Nikita Galaiko
114e4135ee
Merge pull request #1245 from gitbutlerapp/add-test-for-parse-ownership-tricky-file-name
fix: improve parsing of ownership ranges in FileOwnership struct
2023-09-26 14:23:15 +02:00
Nikita Galaiko
bbeadd0c8d fix: improve parsing of ownership ranges in FileOwnership struct
The parsing logic for ownership ranges in the `FileOwnership` struct has been improved. Previously, it split the input string by ':' and then by ',' to extract the file path and ranges. However, this approach had issues with file paths containing ':' characters. 

The updated logic now iterates over the parts of the input string in reverse order. If a part can be parsed as a `Hunk` (range), it is added to the `ranges` vector. Otherwise, it is considered as part of the file path and added to the `file_path_parts` vector. Finally, the `file_path_parts` vector is joined with ':' to form the file path.

This change ensures that file paths containing ':' characters are correctly parsed, allowing for more flexible and accurate parsing of ownership ranges.
2023-09-26 14:18:40 +02:00
Nikita Galaiko
c7a86f2039 unapply ownership api 2023-09-26 13:59:02 +02:00
Nikita Galaiko
3cdce00170 refactor: simplify checkout options in merge and apply branch functions
The merge_virtual_branch_upstream, apply_branch, and update_base_branch functions had repetitive code for checking out conflicts. This commit refactors the code to use a new CheckoutIndexBuilder struct, which simplifies the checkout options and makes the code more readable.
2023-09-26 10:52:46 +02:00
Nikita Galaiko
9f721e57d9 refactor: simplify code for checking out tree and add builder pattern for checkout options
The code for checking out a tree has been simplified by removing unnecessary code and using the builder pattern for checkout options. This makes the code more readable and maintainable.
2023-09-26 10:43:13 +02:00
Nikita Galaiko
18371227e8 refactor: simplify code for adding index entry and building working directory tree 2023-09-26 10:30:16 +02:00
Nikita Galaiko
065c00b011 reduce amount of opened file for locks 2023-09-25 10:36:51 +02:00
Nikita Galaiko
ef1f41d5ee fix: handle different formats of remoteUrl in BaseBranch class's repoBaseUrl method 2023-09-22 13:05:40 +02:00
Nikita Galaiko
9d99a4aad8 chore: use Partial<Record<..>> for better type checking 2023-09-21 13:39:47 +02:00
Scott Chacon
49dfcace64
Merge pull request #1228 from gitbutlerapp/add-merge-virtual-branch-function
Detect and merge upstream branch changes
2023-09-21 10:17:14 +02:00
Scott Chacon
661d111475
give branchCount a default 2023-09-21 10:09:12 +02:00
Nikita Galaiko
2e41cecbd3 fix: handle case when sessionFiles[file.path] is undefined in withFileContent function 2023-09-21 10:06:35 +02:00
Scott Chacon
43beb0f5d5
fix: update merge_virtual_branch_upstream function to accept optional keys_controller parameter 2023-09-21 10:05:23 +02:00
Scott Chacon
3130d5fd1a merged upstream 2023-09-21 09:32:34 +02:00
Scott Chacon
c81b4e363f
merge test 2023-09-21 09:32:27 +02:00
Nikita Galaiko
4de59df83c
Merge pull request #1231 from gitbutlerapp/more-explicit-git-url-support
explicitly define git url
2023-09-21 08:07:29 +02:00
Kiril Videlov
682a25d179 🐛 fix: handle case when lastSection is undefined in HunkSection class 2023-09-20 22:25:06 +02:00
Nikita Galaiko
34274bb3de explicitly define git url 2023-09-20 15:56:48 +02:00
Scott Chacon
aff8f261e2
add tests, remove other branches before merging, checkout conflict state 2023-09-20 15:25:12 +02:00
Nikita Galaiko
5c98330cc0 remove old commit page 2023-09-20 12:33:03 +02:00
Nikita Galaiko
c97b638f2f small fixes 2023-09-20 12:15:05 +02:00
Nikita Galaiko
1b520ca44d test 2023-09-20 11:56:16 +02:00
Nikita Galaiko
5f4b7acfc1 refactor: git commit signing 2023-09-20 11:53:59 +02:00
Scott Chacon
b2833e2549 feat: add merge_virtual_branch_upstream function to merge upstream changes into branch
The merge_virtual_branch_upstream function is added to merge the changes from the upstream branch into the current branch. This function checks if the project is in a conflicted state and if not, it proceeds with the merge. It finds the merge base between the upstream commit and the current branch's head commit, and then tries to merge the working directory tree with the remote tree. If the merge is successful, it commits the merge tree and updates the branch data.
2023-09-20 10:23:32 +02:00
Kiril Videlov
3da2290744 🔨 chore: update condition for generating branch name in virtual branch scenario 2023-09-19 23:22:07 +02:00
Scott Chacon
bdbfee4cfa ui setting to sign commits 2023-09-19 16:08:42 +02:00
Scott Chacon
d833643abf fix up stuff, remove debug, add test assert 2023-09-19 15:55:32 +02:00
Scott Chacon
c3adce8238 Merge remote-tracking branch 'origin/master' into sc-signing-2 2023-09-19 15:45:05 +02:00
Scott Chacon
e60c5e58d2 signing try number 2 2023-09-19 15:13:06 +02:00
Nikita Galaiko
60b4c63078 feat: refactor virtual branch module structure and add materialized view structs for presentation purposes
The virtual branch module structure has been refactored to improve code organization and readability. The module now consists of separate files for virtual branch, remote, and files related functionality.

Additionally, materialized view structs have been added for presentation purposes. These structs include `VirtualBranch`, `VirtualBranchCommit`, `VirtualBranchFile`, and `VirtualBranchHunk`. These structs provide a materialized view of the virtual branch data and are used for presentation purposes through the IPC.

This refactoring improves code maintainability and provides a clearer separation of concerns between the virtual branch module and the presentation layer.
2023-09-19 13:02:51 +02:00
Nikita Galaiko
b5ebae4bed do not use link for updater 2023-09-19 10:49:40 +02:00
Kiril Videlov
364bdf417e feat: add functionality to generate branch name based on file diffs and update branch name if it doesn't match the generated name 2023-09-18 23:56:09 +02:00
Kiril Videlov
4792907b50 🐛 fix: handle broken diffs in parseHunkHeader function and add test case for it 2023-09-18 23:09:28 +02:00
Nikita Galaiko
160eae4e22 fix function call 2023-09-18 15:11:20 +02:00
Nikita Galaiko
7ca7dfd3e2 cargo fmt 2023-09-18 15:05:57 +02:00
Nikita Galaiko
e98f8bbf7b merged upstream 2023-09-18 15:04:15 +02:00
Nikita Galaiko
0caf0366e3 commit files fetching async 2023-09-18 15:04:09 +02:00
Nikita Galaiko
49d5295911 no error is branch is already applied 2023-09-18 13:59:50 +02:00
Nikita Galaiko
f5a525d840 make isMergeable asyncronous 2023-09-18 10:39:48 +02:00
Nikita Galaiko
4e568420c8 fetch isMergeable asyncronously 2023-09-18 10:00:56 +02:00
Nikita Galaiko
2cfe510fc4 add can apply methods 2023-09-18 09:15:49 +02:00
Nikita Galaiko
5e27f9b8e9
fix link without href 2023-09-18 08:37:29 +02:00
Kiril Videlov
188892ff00 chore: update language parser usage and add support for Ruby language
The code changes in this commit update the usage of language parsers in the codebase. Instead of using the `LanguageSupport` interface from `@codemirror/language`, the code now directly uses the `Parser` interface from `@lezer/common`. Additionally, support for the Ruby language has been added by importing the `ruby` mode from `@codemirror/legacy-modes/mode/ruby` and defining a parser for it using `StreamLanguage.define(ruby
2023-09-16 00:09:53 +02:00
dependabot[bot]
1b20e735f0 Bump marked from 7.0.4 to 9.0.0
Bumps [marked](https://github.com/markedjs/marked) from 7.0.4 to 9.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v7.0.4...v9.0.0)

---
updated-dependencies:
- dependency-name: marked
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 15:36:00 +02:00
dependabot[bot]
2341cb232f Bump eslint-plugin-svelte from 2.33.0 to 2.33.1
Bumps [eslint-plugin-svelte](https://github.com/sveltejs/eslint-plugin-svelte) from 2.33.0 to 2.33.1.
- [Release notes](https://github.com/sveltejs/eslint-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/eslint-plugin-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/eslint-plugin-svelte/compare/v2.33.0...v2.33.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 15:35:50 +02:00
dependabot[bot]
293897b523 Bump @histoire/plugin-svelte from 0.16.5 to 0.17.0
Bumps [@histoire/plugin-svelte](https://github.com/Akryum/histoire/tree/HEAD/packages/histoire-plugin-svelte) from 0.16.5 to 0.17.0.
- [Release notes](https://github.com/Akryum/histoire/releases)
- [Changelog](https://github.com/histoire-dev/histoire/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Akryum/histoire/commits/v0.17.0/packages/histoire-plugin-svelte)

---
updated-dependencies:
- dependency-name: "@histoire/plugin-svelte"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 15:35:42 +02:00
Nikita Galaiko
46e97af7e8 pnpm format 2023-09-15 15:05:17 +02:00
Nikita Galaiko
0fb1df1ff8 fix commit timestamp 2023-09-15 15:04:03 +02:00
Nikita Galaiko
602fca0e87 cargo fmt 2023-09-15 13:28:10 +02:00
Nikita Galaiko
f5a24cf5e5 get rid of git_commit_diff call 2023-09-15 13:24:07 +02:00
Nikita Galaiko
2be120797b
Merge pull request #1209 from gitbutlerapp/define-remote-types
get rid of virtual / remote confusion
2023-09-15 12:51:09 +02:00
Nikita Galaiko
edbbe1f0a8 get rid of virtual / remote confusion 2023-09-15 12:46:25 +02:00
Kiril Videlov
f3666624f1 fix formatting 2023-09-15 11:30:35 +02:00
Kiril Videlov
45c9d1a5f6 chore: refactor commit message generation logic and add UI support for toggling options
The commit message generation logic in the server.ts file has been refactored to improve readability and maintainability. The `trimNonLetters` function has been removed as it was not necessary. Additionally, UI support has been added to toggle options for generating commit messages. The options include "Extra concise" and "Use emojis", which can be enabled or disabled based on user preferences
2023-09-15 11:30:35 +02:00
Nikita Galaiko
ae40f6abda do not send conflicts back 2023-09-15 10:11:45 +02:00
Nikita Galaiko
ee82ea03ce rm some unused code 2023-09-15 09:30:51 +02:00
Nikita Galaiko
1cbb0e02ab
Merge pull request #1204 from gitbutlerapp/refactor
Refactor
2023-09-14 15:37:09 +02:00
Mattias Granlund
ebf9627132 Fix links nested within some stopPropagation 2023-09-14 15:35:17 +02:00
Mattias Granlund
5c6171b558 fix(branch-list): updates border color for stashed and remote branches
The border color for stashed branches and remote branches in the branch list component was incorrect. This commit fixes the issue by updating the border color to match the design specifications
2023-09-14 15:34:50 +02:00
Nikita Galaiko
0526d11b56 fix tests 2023-09-14 15:31:50 +02:00
Nikita Galaiko
a832a877ea rm instrumentation 2023-09-14 15:27:03 +02:00
Nikita Galaiko
b684c6266a add .ahead() 2023-09-14 15:26:13 +02:00
Nikita Galaiko
df97887f52 start removing fields 2023-09-14 15:24:52 +02:00
Mattias Granlund
3cd9bcb290 Various css color related UI fixes 2023-09-14 13:57:36 +02:00
Mattias Granlund
2152d3d638 Fix user/project settings page backgrounds 2023-09-14 13:57:36 +02:00
Nikita Galaiko
b05fe81000 add db connections pool 2023-09-14 12:23:25 +02:00
Nikita Galaiko
682c2e1b82 sort tauri cargo 2023-09-14 09:07:58 +02:00
Nikita Galaiko
e6b281cf5f refactor actions 2023-09-14 08:54:23 +02:00
Nikita Galaiko
3c0d4acabe remove terminal 2023-09-14 08:16:26 +02:00
Mattias Granlund
ca3e4c2f72 Create new utility classes for border color
- the colors need a bit of adjusting still, but commit is getting big
- doesn't seem like we need 4 border colors, but leaving in for now
2023-09-13 22:28:35 +02:00
Mattias Granlund
a5526bb5dd Create new utility classes for setting bg and text color
- choose from 5 bg colors
- choose from 4 text colors
- add text-color-[n] or bg-color-[n]
2023-09-13 22:28:35 +02:00
Mattias Granlund
7ad43dfff7 Fix lint errors 2023-09-13 22:26:20 +02:00
Mattias Granlund
c353809869 Upgrade to prettier npm -> v3 2023-09-13 22:26:20 +02:00
Nikita Galaiko
33cf7e7e63 remove files database 2023-09-13 13:53:59 +02:00
Nikita Galaiko
3baa937129 one more fix 2023-09-13 10:37:45 +02:00
Nikita Galaiko
efb2364661 fix typescript 2023-09-13 10:36:19 +02:00
Nikita Galaiko
f3e51aa280 merged upstream 2023-09-13 10:30:07 +02:00
Nikita Galaiko
18e38e4d38 add hunk selection 2023-09-13 10:13:44 +02:00
Nikita Galaiko
e42f42a70c init hunk selection 2023-09-12 15:14:51 +02:00
Nikita Galaiko
4da0553405 more tests 2023-09-12 13:05:01 +02:00
Nikita Galaiko
64d2a6c40e minor fix 2023-09-12 13:01:10 +02:00
Nikita Galaiko
3a2e2ca34c consequential partial commits fix 2023-09-12 12:57:29 +02:00
Nikita Galaiko
564471fb79 pnpm format 2023-09-12 11:02:08 +02:00
Nikita Galaiko
e530e3c25f add failing test 2023-09-12 11:00:27 +02:00
Mattias Granlund
1d8fb151fa Fix lint error from previous commit. 2023-09-11 22:13:01 +02:00
Mattias Granlund
c1659054cf Refactor file status computations
The getSummary method should never have been added to the class def.
2023-09-11 22:13:01 +02:00
Nikita Galaiko
2f9dd738cf partial commit ui 2023-09-11 15:24:47 +02:00
Nikita Galaiko
5209aea6e2 remeber node parent 2023-09-11 13:51:09 +02:00
Nikita Galaiko
9283e233c4 extract CommitDialog 2023-09-11 08:32:13 +02:00
Kiril Videlov
49cc5f95b4 format 2023-09-08 13:01:44 +02:00
Kiril Videlov
8ae35c5543 preview commit content in app instead of opening the browser 2023-09-08 13:01:44 +02:00
Nikita Galaiko
489f64fffc apply log level filter to file 2023-09-08 09:25:29 +02:00
Nikita Galaiko
04524fbc2c build debs 2023-09-07 17:29:27 +02:00
Nikita Galaiko
b79377c990 cargo fmt 2023-09-07 17:18:56 +02:00
Nikita Galaiko
6bcea9a891 allow specifying ownership for partial commit 2023-09-07 17:16:07 +02:00
Nikita Galaiko
2b6fc23382 fix tinykeys import 2023-09-07 14:04:53 +02:00
Nikita Galaiko
ed2d126d8c bumps 2023-09-07 13:48:04 +02:00
Nikita Galaiko
99a0c52345 when updating branch ownership, use raw version 2023-09-07 09:52:52 +02:00
Nikita Galaiko
b98876da98 send posthog event on branch change 2023-09-06 15:05:56 +02:00
Nikita Galaiko
746e8ccabc
new structure 2023-09-06 11:47:35 +02:00