Commit Graph

6442 Commits

Author SHA1 Message Date
Mattias Granlund
3005c06729 Include context lines in hunk hash
- git also uses context lines for identification when applying patches
2024-04-16 00:09:04 +02:00
Mattias Granlund
f4750762ed Fix unapply_hunk with uncommitted_branch
- should have been fixed with the other commands
2024-04-16 00:09:04 +02:00
Mattias Granlund
918b78048d Remove no-op function calculate_uncommitted_diffs
- seems like it goes full circle and produces its own input?
- should be investigated still
2024-04-16 00:09:04 +02:00
Mattias Granlund
6b412b1f47 Use uncommitted_base in rest of amend, cherry_pick, etc 2024-04-16 00:09:04 +02:00
Mattias Granlund
c390c8a344 Use ucommitted base in commit as well 2024-04-16 00:09:04 +02:00
Mattias Granlund
b85c7e39ad Fix improper base when calculating virtual branches
- no need to deal with hunks that are already committed
2024-04-16 00:09:04 +02:00
Kiril Videlov
be1476f6ab
Merge pull request #3515 from gitbutlerapp/dependabot/npm_and_yarn/npm-updates-a82a17bf91
build(deps): bump the npm-updates group with 12 updates
2024-04-15 12:39:49 -07:00
Josh Junon
f9f1f3d2ee
Merge pull request #3471 from Byron/watcher-refactor
watcher refactor
2024-04-15 17:58:56 +02:00
dependabot[bot]
dd6a6671ea
build(deps): bump the npm-updates group with 12 updates
Bumps the npm-updates group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [openai](https://github.com/openai/openai-node) | `4.33.0` | `4.33.1` |
| [@codemirror/lang-html](https://github.com/codemirror/lang-html) | `6.4.8` | `6.4.9` |
| [@codemirror/lang-markdown](https://github.com/codemirror/lang-markdown) | `6.2.4` | `6.2.5` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.26.1` | `6.26.3` |
| [@sentry/sveltekit](https://github.com/getsentry/sentry-javascript) | `7.109.0` | `7.110.1` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `7.5.0` | `7.6.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.5.0` | `7.6.0` |
| [eslint-plugin-svelte](https://github.com/sveltejs/eslint-plugin-svelte) | `2.36.0` | `2.37.0` |
| [posthog-js](https://github.com/PostHog/posthog-js) | `1.120.2` | `1.121.4` |
| [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte) | `3.2.2` | `3.2.3` |
| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) | `4.2.12` | `4.2.14` |
| [typescript](https://github.com/Microsoft/TypeScript) | `5.4.4` | `5.4.5` |


Updates `openai` from 4.33.0 to 4.33.1
- [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.0...v4.33.1)

Updates `@codemirror/lang-html` from 6.4.8 to 6.4.9
- [Changelog](https://github.com/codemirror/lang-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-html/compare/6.4.8...6.4.9)

Updates `@codemirror/lang-markdown` from 6.2.4 to 6.2.5
- [Changelog](https://github.com/codemirror/lang-markdown/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-markdown/compare/6.2.4...6.2.5)

Updates `@codemirror/view` from 6.26.1 to 6.26.3
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.26.1...6.26.3)

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

Updates `@typescript-eslint/eslint-plugin` from 7.5.0 to 7.6.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.6.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.5.0 to 7.6.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.6.0/packages/parser)

Updates `eslint-plugin-svelte` from 2.36.0 to 2.37.0
- [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.36.0...v2.37.0)

Updates `posthog-js` from 1.120.2 to 1.121.4
- [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.120.2...v1.121.4)

Updates `prettier-plugin-svelte` from 3.2.2 to 3.2.3
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/compare/v3.2.2...v3.2.3)

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

Updates `typescript` from 5.4.4 to 5.4.5
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.4...v5.4.5)

---
updated-dependencies:
- dependency-name: openai
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@codemirror/lang-html"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@codemirror/lang-markdown"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@codemirror/view"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@sentry/sveltekit"
  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: eslint-plugin-svelte
  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-svelte
  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
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 15:56:46 +00:00
Sebastian Thiel
a3fd06897e
address misc review comments
- turn `static` into `const`
2024-04-15 16:55:03 +02:00
Sebastian Thiel
fb9db89e1b
remove '_pure' functions in favor of creating a full handler in tests.
The `pure` functions were from a time where a `Handler` couldn't be instantiated
in full for tests, but that is not the case anymore, so there isn't any use
for the added complexity.
2024-04-15 16:50:20 +02:00
Sebastian Thiel
62b1c49372
avoid &str in place where ProjectId could be used 2024-04-15 16:23:18 +02:00
Sebastian Thiel
e2ef2dc721
Only watch a single project at a time.
Previously it would watch every registered project, which could incur more work
on all parts of the application than necessary.

Now UI sends an event that indicates which project is active, allowing the
watch to be setup in that very moment. It's worth noting that the previously
watched project is automatically deregistered.
2024-04-15 07:19:15 +02:00
Sebastian Thiel
c173d8074d
parallelize the delta computation 2024-04-15 07:11:16 +02:00
Sebastian Thiel
56642830f0
remove rate-limit as it never kicks in, and also, we'd want the computation for correctness 2024-04-15 07:11:16 +02:00
Sebastian Thiel
2e969d1507
collect filemonitor events into lists to avoid excessive recomputation.
Previously, each file change both in `.git` as well as in the worktree would
cause a complete recomputation. This computation included opening a git
repository at least once (probaby more often), to make an 'is-ignored' check.

The latter is very expensive in `git2` and gets more expensive the more
files there are.

Now the repository is opened when needed, and we re-use it for all applicable
file paths.
2024-04-15 07:11:16 +02:00
Sebastian Thiel
af225bd9e0
make events private and publicly export Event instead.
That way, we get `tauri::Event`, without the somewhat confusing
module  name `events`.
2024-04-15 07:11:16 +02:00
Sebastian Thiel
2eaba14819
dissolve the event queue in favor of method calls
The idea is that we don't parallelize over a channel anymore, but
instead just process filesystem events, one at a time.

This would allow each handler to become a function that gets its
state passed, and makes all the necessary calls verbatim, which
in turn makes it easy to follow what's happening.

If anything becomes to slow due to the serialization of event processing,
selective parallelization can be re-added.
2024-04-15 07:11:09 +02:00
Pavel Laptev
2c4b3adb89
fix: clickable prop for Button (#3513) 2024-04-15 02:35:22 +02:00
Caleb Owens
78a7d44b45 Merge origin/master into origin/always-await-promises 2024-04-14 20:25:44 +01:00
Caleb Owens
dada28b481 Refactor unsubscribe 2024-04-14 20:21:02 +01:00
Caleb Owens
41a56040a1 Move to in-try-catch option 2024-04-14 19:49:35 +01:00
Pavel Laptev
141c437296
Refactor: remove icon button component (#3509) 2024-04-14 00:44:43 +02:00
Sebastian Thiel
3902bb9b2d
de-objectify all sub-handlers
Sub-Handlers are objects, and with that comes a lot of complexity.
However, there seems to be on need for it at all, and a first
steps is to turn these into methods to truly understand
what's going on.
2024-04-13 23:09:17 +02:00
Sebastian Thiel
27349a2fa2
Remove Clone in the vincinity of Watchers where possible.
This will help to get away from from the 'everything needs to be shared'
approach to state.
2024-04-13 23:09:17 +02:00
Sebastian Thiel
cdae683757
Turn WatcherInner into Watcher
As `Watcher` really adds nothing.
2024-04-13 23:09:16 +02:00
Sebastian Thiel
1476ff01ee
Avoid managing every piece of the watcher, only manage what's currently needed 2024-04-13 23:09:16 +02:00
Sebastian Thiel
efe03a9b3a
Use the new dispatcher and make sure everything still works 2024-04-13 23:09:16 +02:00
Sebastian Thiel
954d100d95
simplify dispatcher around the idea of a single channel
That way, all objects go away and it will be nothing more than a task
around a channel.
2024-04-13 23:09:16 +02:00
Sebastian Thiel
52c637504e
Don't consume instances that are Send+Sync+Clone
They don't actually need it.
2024-04-13 23:09:16 +02:00
Sebastian Thiel
de6fd55658
remove try_new() in favor of new() in watcher.rs
`try_new()` here is used as constructor, which is what `new` is for
with less boilerplate.
2024-04-13 23:09:16 +02:00
Pavel Laptev
6c25a7d5bc
Branch name input improvments (#3507)
* Resizer hooks improved

- Resizer hook updated in order to get an accurate value without post adjustment
- Naming inconsistency fixed in `useResizer`

* Refactor: name input

- return initial name if a user trying to submit an empty branch name
- removed extra elements and CSS
- Input handling with less code

* trim lane name
2024-04-13 22:07:40 +02:00
Pavel Laptev
7908d0a195
tooltip UX update (#3508)
- added appearing animation
- removed delay on `mouseleave`
2024-04-13 21:52:33 +02:00
Abdulrahman Alfawal
5203180cdc Fix toast type on GitHub authenticate failure 2024-04-13 17:25:09 +02:00
Mattias Granlund
bdf65ead48 Disable default context menu unless dev mode
- fixes #3496
2024-04-13 16:33:56 +02:00
Pavel Laptev
8dada8149f
File popup menu z-index fix (#3502) 2024-04-13 00:29:23 +02:00
Caleb Owens
7bd65028f9 Disallow non-Promise objects from being awaited 2024-04-12 20:56:29 +01:00
Caleb Owens
843e598a0d Remove awaited promise from projects.ts 2024-04-12 20:48:05 +01:00
Caleb Owens
b3c2fd0c7e Convert then chain into await statements 2024-04-12 20:41:11 +01:00
Caleb Owens
91ca426378 Always await returned promises 2024-04-12 20:31:40 +01:00
Josh Junon
b818ce485b
Merge pull request #3463 from gitbutlerapp/revert-3448-remove-clippy-alloweds
Revert "Remove unused (?) allow clippy statements"
2024-04-12 18:05:54 +02:00
Mattias Granlund
ad3e2ffdf5 Make branch title change reflect branch name optimistically 2024-04-12 17:02:08 +02:00
Pavel Laptev
c6c221b6a2
added status messages + code refactor (#3465)
* added status messages + code refactor

* Exclude `skipped` checks from running checks count

* Added types `ColorStyle` and `KindStyle`

- in order to share same color types across components and avoid duplication added  `ColorStyle` and `KindStyle` types
- Renamed color style `warn` in some components to `warning` for consistency

* typo and naming fixes

* Updated component style types
2024-04-12 13:13:24 +02:00
Mattias Granlund
eb80df0450 Simplify project service and settings
- removes unnecessary object creation
- fixes staleness bug
2024-04-11 23:34:33 +02:00
Mattias Granlund
701e75f241 Fix unintended effect on project settings
- removes unnecessary event dispatching
2024-04-11 23:34:33 +02:00
Mattias Granlund
f0097846e4 Fix "open in vscode" on Windows
- fixes #3489
2024-04-11 23:34:33 +02:00
Mattias Granlund
150acb0abf Show most errors using toast
- does not automatically dismiss
- shows the error to the user
2024-04-11 20:17:48 +02:00
Josh Junon
4bb52ac831
Merge pull request #3493 from gitbutlerapp/prune-s3-uploads
prune S3 upload file tree
2024-04-11 16:07:12 +02:00
Mattias Granlund
92b12ebad7 Refactor parameters in httpClient.ts
- it's convention for first param to be url
2024-04-11 16:06:36 +02:00
Mattias Granlund
7aa30724e7 Move syncToCloud out of httpClient.ts 2024-04-11 16:06:36 +02:00