Commit Graph

311 Commits

Author SHA1 Message Date
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