Commit Graph

6403 Commits

Author SHA1 Message Date
Sebastian Thiel
6f764f5fd6 assure important errors are passed as context (#2886)
Previously, errors would be 'unfolded' so there was no error chain,
but the lowest error would become the top-most one that way.

I thought this was accidental, but it turns out that it wasn't.
To fix this generally, make sure that we always use the message
of the lowest-possible error if no context is provided.
2024-04-23 11:32:53 +02:00
Sebastian Thiel
9bbba057f4 fix some typos that could be user-facing 2024-04-23 11:32:53 +02:00
dependabot[bot]
df0fc97731 Bump the npm-updates group with 8 updates
Bumps the npm-updates group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [openai](https://github.com/openai/openai-node) | `4.33.1` | `4.38.2` |
| [@sentry/sveltekit](https://github.com/getsentry/sentry-javascript) | `7.110.1` | `7.111.0` |
| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff) | `5.0.9` | `5.2.0` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `7.6.0` | `7.7.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.6.0` | `7.7.0` |
| [posthog-js](https://github.com/PostHog/posthog-js) | `1.121.4` | `1.128.2` |
| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) | `0.5.13` | `0.5.14` |
| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) | `4.2.14` | `4.2.15` |


Updates `openai` from 4.33.1 to 4.38.2
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-node/compare/v4.33.1...v4.38.2)

Updates `@sentry/sveltekit` from 7.110.1 to 7.111.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/7.111.0/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.110.1...7.111.0)

Updates `@types/diff` from 5.0.9 to 5.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/diff)

Updates `@typescript-eslint/eslint-plugin` from 7.6.0 to 7.7.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.7.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.6.0 to 7.7.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.7.0/packages/parser)

Updates `posthog-js` from 1.121.4 to 1.128.2
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.121.4...v1.128.2)

Updates `prettier-plugin-tailwindcss` from 0.5.13 to 0.5.14
- [Release notes](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.5.13...v0.5.14)

Updates `svelte` from 4.2.14 to 4.2.15
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/svelte@4.2.15/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@4.2.15/packages/svelte)

---
updated-dependencies:
- dependency-name: openai
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: "@sentry/sveltekit"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: "@types/diff"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: posthog-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: prettier-plugin-tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-23 01:00:21 +02:00
Pavel Laptev
5c9ce25cd0
Infomessage improvments (#3577)
* `InfoMessage` structure consistancy improved

- `title` property removed
- unnamed `slot` for content dropped

* Added `errorMessage` attr to the `ToastController`
2024-04-22 21:44:28 +02:00
Kiril Videlov
a96e8574be feat: search by branch
This adds the ability to search branches by the author name. This is a port of #2852
2024-04-22 15:22:57 +02:00
Pavel Laptev
ca0a4cb92e
tokens refactor (#3578) 2024-04-22 12:12:27 +02:00
Josh Junon
31ce4574bd
Merge pull request #3575 from gitbutlerapp/Fix-Gitea
Allow SSH remotes to use any port
2024-04-22 11:47:04 +02:00
Sebastian Thiel
b60d49f752 a clear error message when bare repositories are encountered and rejected (#2704)
This also rewrites some other checks in preference of opening the git directory
in isolation. Doing so is very fast, and the only way to know for certain if a
repository is bare.

In future, once the repository is more separated from the worktree (in terms of mindset)
it should be possible to handle bare repos with worktrees as well.
2024-04-22 11:01:07 +02:00
Sebastian Thiel
a5bda226ef provide better errors when adding a project (#2608)
The issue initially was that the wrapping of anyhow around a `thiserror`
type, which is when manually added context gets lost as there is no way
to downcast such an `anyhow` error back to a concrete type without
wanting to know it.

The solution was to remove the intermediate `thiserror` type which didn't
serve an actual purpose.
2024-04-22 10:59:03 +02:00
Kiril Videlov
115425d7d6
Merge pull request #3552 from Byron/binary-diff
binary diff
2024-04-22 10:57:46 +02:00
Caleb Owens
76556eb6c8 Remove useless reference 2024-04-21 22:45:00 +01:00
Caleb Owens
5c74cc79b5 Allow SSH remotes to use any port 2024-04-21 19:32:02 +01:00
Pavel Laptev
b9f7278eb4
Folded branch copy update (#3572) 2024-04-21 13:39:44 +02:00
Pavel Laptev
628be51421
Indicate uncommited lanes (#3570)
* Indicate uncommited lanes

* Copy update and one prop name update
2024-04-21 12:18:11 +02:00
Sebastian Thiel
f4a8aa5592
flyby refactor to do a little less copying 2024-04-21 11:35:26 +02:00
Sebastian Thiel
568d35fa90
refactor
- assure that `repository` can't be misused in `hunks_by_filepath()`.
- Use more obvious enumeration to describe and match on lines
- make clear that diff_lines can be a hash
- avoid multiple hashmasps if one would do
- `Hunk::hash_diff` now uses lines with terminator to be close to being a true content hash. This was probably intended by the code originally.
2024-04-21 11:35:26 +02:00
Sebastian Thiel
04bcf3b8b2
adjust Hunk::hash_diff() to produce unique hashes based on input.
The input is variable and maybe empty, maybe a diff header followed
by diff-lines, and it could be an SHA1 of a binary file, which now is
hashed like any other content.
2024-04-21 11:35:26 +02:00
Sebastian Thiel
be4cd36986
clarify some TODOs to avoid keeping them for too long
Note that the comment above 'deltas' merely removed, as it wasn't actionable
without changing the frontend, which can probably already deal with
multiple of these.

Now that types are better understood though, it was straightforward to
change the type of `file_path` to not be a string, which now is even
clearer of a necessity thanks to the `tauri`-independent `watcher` crate.

Also, remove a comment related to the lack of worktree support.
It now fails gracefully, and that will come up again if support should be added.
2024-04-21 11:35:26 +02:00
Sebastian Thiel
fb83dafd8b
Make using Hunk::hash with something that's not a hash a hard error.
Fix all occasions where this seems to be used like this.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
eb0db39387
Strongly type the hunk-hash to avoid String, but remain compatible.
This change also avoids allocating for the hash, while keeping
everything else the same.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
3aecf4d57e
Make sure users can more easily delete vbranch information on failure
If for whichever reason the parsing of parts of the vbranch.toml file
fails, this would be a permanent error until the file is fixed or removed.

Now it's also displayed along with the error to make clearing the file
more convenient.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
ebf693e667
prevent unnecessary copies in Hunk::with_* methods 2024-04-21 11:35:25 +02:00
Sebastian Thiel
9e11127356
don't assume UTF8 encoding in commit message
Instead, fail gracefully by displaying fill-characters.
Ideally, we would be able to use the commit-encoding header field as well,
but one step at a time.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
188fc2d5f1
Make sure UI types use strings instead of BString
Otherwise the frontend will see a byte-representation, and fails to operate
on the data.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
27714d8e0d
Adjust GitHunk to not require UTF8 for diffs
This will make the diffing engine more correct overall, as only for
display there will be a potentially lossy conversion.

This will also prevent it to be considered binary even though it is not.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
fe950ec00a
refactor
- adjust comment in watcher to actually show how it works.
2024-04-21 11:35:25 +02:00
Kiril Videlov
e6173e1125
Merge pull request #3571 from gitbutlerapp/remove-gb_repository-from-virtual_branches
remove gb_repository from virtual_branches
2024-04-21 09:41:46 +02:00
Kiril Videlov
0fea544cd7
rm gb_repository from controller 2024-04-21 09:26:34 +02:00
Kiril Videlov
ee62577012
remove gb_repository from remote 2024-04-21 09:16:14 +02:00
Kiril Videlov
9ca847b2a3
remove gb_repository from base 2024-04-21 09:10:37 +02:00
Kiril Videlov
b2fc3f6488
Merge pull request #3569 from gitbutlerapp/update-gitbutler-core-project-struct
remove unused feature flag function
2024-04-20 10:45:08 +02:00
Kiril Videlov
b8fcddb945
remove unused feature flag function 2024-04-20 10:32:49 +02:00
Kiril Videlov
f51fcf1488
Merge pull request #3568 from Byron/fix-2672
respect ignore files when listing worktree directories
2024-04-20 10:28:45 +02:00
Sebastian Thiel
56d0943962
refactor
- don't convert paths to strings and use a set for membership checks
2024-04-20 09:10:11 +02:00
Sebastian Thiel
6e0706b6ef
Use the new worktree specific listing function (#3552)
It respects git excludes during traversal, which should also speed it
up when facing ignored direectories with many files.
2024-04-20 09:09:02 +02:00
Sebastian Thiel
cf81401b5a
add a function for worktree file listings specifically
This introduces `gix` to the codebase and uses it selectively
to traverse a worktree while respecting git excludes.
2024-04-20 09:07:17 +02:00
Pavel Laptev
863494d997
UI: fix lane horizontal scroll (#3567) 2024-04-20 04:18:12 +02:00
Kiril Videlov
69b048321e
Merge pull request #3564 from gitbutlerapp/update-virtual-branch-handles
update-virtual-branch-handles
2024-04-20 00:59:55 +02:00
Kiril Videlov
7fb4365b24
Merge pull request #3563 from gitbutlerapp/refactor-remove-legacy-virtual-branch-state
rm test command
2024-04-20 00:50:38 +02:00
Kiril Videlov
543e85dcfb
fix clippy 2024-04-20 00:47:42 +02:00
Kiril Videlov
118af702da
add some docs 2024-04-20 00:47:07 +02:00
Kiril Videlov
f95790f2fa
remove unused function on VirtualBranchesHandle 2024-04-20 00:46:58 +02:00
Kiril Videlov
72398719bc
rm test command 2024-04-20 00:38:18 +02:00
Pavel Laptev
8b2c120811
Style and layout fixes (#3562)
* Styles: small fixes

* "Remove" button style fix

* Git Auth form layout update: made shorter

* added styles for `code` strings
2024-04-20 00:02:55 +02:00
Kiril Videlov
b3a460122e
Merge pull request #3561 from gitbutlerapp/remove-branch-and-target-reader/writers
remove branch and target reader/writers
2024-04-20 00:00:23 +02:00
Kiril Videlov
6334336e7b
remove branch reader / writer 2024-04-19 23:48:11 +02:00
Kiril Videlov
86fe1e2735
remove target reader / writer 2024-04-19 23:29:13 +02:00
Kiril Videlov
442eb88eaa rm target writer from unrelated tests 2024-04-19 23:13:27 +02:00
Kiril Videlov
e485566a2a
remove unused import 2024-04-19 22:57:05 +02:00
Kiril Videlov
0dccc5634a
rm gb_repository from create_virtual_branch_from_branch 2024-04-19 22:56:07 +02:00