Commit Graph

548 Commits

Author SHA1 Message Date
Esteban Vega
4137b31a5c
Merge pull request #5051 from gitbutlerapp/enable-string-error-toasts
improvement: Allow for string error toasts
2024-10-07 13:36:00 +02:00
estib
83738f35f6 improvement: Allow for string error toasts
Passing a string as the error to be displayed in the toast will display it as is
2024-10-07 12:18:42 +02:00
estib
37f75061c8 small-fix: Update the typing of the context menu variable
Compliant with the Svelte linter rules
2024-10-07 09:49:21 +02:00
estib
e27769077d IntegrateUpstreamModal: Update style
Update the style of the integrate upstream modal to:
- Differentiate between base-branch divergence
- Virtual branch states & resolutions

Also:
- Uncomment the option to create a merge commit to resolve the base-branch divergence
2024-10-05 10:18:06 +02:00
estib
d8b2bee18c fix: Lint errors 2024-10-04 10:35:17 +02:00
estib
9834627a20 Base: Propagate the conflicting status to the commits 2024-09-25 14:34:10 +02:00
estib
1368d87ed0 Base branch divergence resolution
Allow the user to choose how to resolve the base-branch divergence
2024-09-25 14:05:04 +02:00
estib
2091025227 Resolve upstream integration
Add a method to determine which should be the new base branch target commit ID based on what resolution approach is selected
2024-09-24 17:16:26 +02:00
estib
e4cd357b8a BaseBranch: Handle the button actions correctly
Depending on which action the user chooses, and whether they've set certain flags, act accordingly
2024-09-24 15:18:47 +02:00
estib
78d40a7493 BaseBranch: Don't be scary when pushing
Only display the warnings and confirmation modals when actual changes can get lost (resting to local or remote).
Otherwise, display less scary notifications and let the user push if needed

Merge remote-tracking branch 'origin/master' into base-branch-improvements
2024-09-24 14:06:49 +02:00
estib
9060a4287c Ability to push the base branch
If needed, the base branch can be pushed or force pushed
2024-09-24 14:06:05 +02:00
estib
2be4aaac2d Display the divergent state in the app
If the local target has diverged from the remote target, display that to the user as a warning

Only show either the divergence warning or upstream count
BaseBranch: Use runes

BaseBranch: Display the branch graph

In order to make it a bit clearer what the divergence state of the base branch is. reuse the line graphs to display it

BaseBranch divergence: Add a confirmation modal
2024-09-24 14:06:03 +02:00
estib
19acb8f22c Array utils: group items by condition 2024-09-24 14:02:32 +02:00
estib
3a2cf73bcd BaseBranch: Determine whether the base diverged
Determine whether the local target has diverged from the remote,
and return some information about that
2024-09-24 13:57:22 +02:00
Nico Domino
77c6529688
fix: use showStackingDetails persisted writable instead of function import (#5042) 2024-10-04 18:36:24 +02:00
Nico Domino
1d4f5f6762
fix: upstream commits accordion and cards (#5044) 2024-10-04 15:42:04 +00:00
estib
c6f19bc1ff fix: Correctly update the zoom from the settings 2024-10-04 16:00:19 +02:00
Mattias Granlund
c951f01c98 Fix lint errors 2024-10-04 12:43:26 +02:00
Mattias Granlund
3b1725cfc4 Add key to #each over patch series
- prevents funny things from happening
2024-10-04 12:43:26 +02:00
ndom91
4c2fe5929a fix: branch header dynamic title size 2024-10-04 12:43:26 +02:00
Mattias Granlund
eede90ac96 Fix rebasing commits between stacked series 2024-10-04 12:43:26 +02:00
Mattias Granlund
80d8182ecb Add prompt for patch series name
- new prompt when adding blank group
- aligned with prompt when adding group to existing commit
2024-10-04 12:43:26 +02:00
Mattias Granlund
ae1efad769 Fix: link related commits found in new series data 2024-10-04 12:43:26 +02:00
Mattias Granlund
5e326710c7 Rename "Add ref" to "Add branch" 2024-10-04 12:43:26 +02:00
Mattias Granlund
5c26def86b Improve stack header dropdown 2024-10-04 12:43:26 +02:00
Mattias Granlund
25fad4f376 Implement backend call for "rename series" 2024-10-04 12:43:26 +02:00
Mattias Granlund
a43523d157 Fix: send correct name when creating a series 2024-10-04 12:43:26 +02:00
Mattias Granlund
490febec5c Implement backend call for "remove series" 2024-10-04 12:43:26 +02:00
Mattias Granlund
3eaa991385 Fix the new series button at the top 2024-10-04 12:43:26 +02:00
Mattias Granlund
31f5bb38c9 Make push button sticky in stacking mode 2024-10-04 12:43:26 +02:00
Mattias Granlund
4f2291e37c Fix: state_unsafe_mutation workaround
An alternative fix would be to initialise the loading store at first load in order to avoid changing it immediately on `start()`, that's what causes the error.
2024-10-04 12:43:26 +02:00
Mattias Granlund
548263e538 Use correct branch names, prs etc for a patch series
- create pr button not working entirely, something to do with ref not being pushed
2024-10-04 12:43:26 +02:00
ndom91
2bba8cbae6 fix: stackingCommitCard and handle remoteRef:null in groupCommitsByRef 2024-10-04 12:43:26 +02:00
ndom91
979ed50510 feat: match stackingBranchHeader and statusIcon colors to top commit 2024-10-04 12:43:26 +02:00
ndom91
b46c397c60 feat: add StackingBranchHeader contextMenu and handlers for contextMenuItems as well as their Modals 2024-10-04 12:43:26 +02:00
ndom91
9ba5ecbf65 feat: add openExternalBranch iconButton 2024-10-04 12:43:26 +02:00
ndom91
2af2e34bc0 feat: finish implementing upstream commits accordion 2024-10-04 12:43:26 +02:00
Mattias Granlund
8bdeb3f635 Cleanup experimental stacking feature
- initial "new stacking branch" card
- persist setting for show stacking details
- separates out individual branch / pr header
- stack files in separate folder
- implements upstream commits accordion
2024-10-04 12:43:26 +02:00
estib
94fa0fed5d fix: Update the type of the drop down button
Fix up the type of variable used to refernce the drop down button in the PR button component
2024-10-03 11:58:01 +02:00
Pavel Laptev
47c0bad9ac
fix: diff example "added/deleted" lines (#5023) 2024-10-03 00:22:00 +02:00
Esteban Vega
c4fc0923ce
Merge pull request #5017 from gitbutlerapp/add-scroll-area-to-the-edit-mode
Edit mode: Add a max height and scrollable container
2024-10-02 13:28:19 +02:00
Pavel Laptev
3b280597fa layout update + remove "ActionView" component 2024-10-02 12:07:11 +02:00
Mattias Granlund
3008244201 Fix errors that appeared after svelte plugin upgrade 2024-10-02 11:26:15 +02:00
Mattias Granlund
332bbb3c1d Fix bind:this={} for Svelte5 components
- needs `ReturnType` and `typeof` to work correctly
- svelte-check does not recognise this type bug yet
- vscode svelte plugin started complaining a week ago
2024-10-02 11:25:31 +02:00
Pavel Laptev
3470a73999 header "files amount" badge added 2024-10-02 11:21:16 +02:00
estib
88b0f204bf Edit mode: Add a max height and scrollable container
In order to be able to display large edit mode files list without having to scroll the whole page to the bottom, add a scrollable container to the commits file list
2024-10-02 10:01:52 +02:00
estib
7ce815a7ca Markdown: Add BR and strong
Add new-line and bold-text rendereres for the Markdown component
2024-10-01 17:15:31 +02:00
estib
924706092b ai: Enable streaming
Ability to stream the LLM responses into the UI.
2024-09-28 13:17:37 +02:00
estib
0f05b435ba Result: Add async transformer 2024-09-28 13:15:44 +02:00
estib
76dd98b982 Add Anthropic SDK 2024-09-28 13:13:43 +02:00
estib
3424f7781b ai: Add PR description method
Add a method to the AI service that takes in some context about a PR and creates a description body out of it
2024-09-26 15:25:41 +02:00
Pavel Laptev
4fd1712994
Small UI updates (#5006)
* design tokens update

* update "update" icon

* increase button icons contrast

* Fix: button layout

* made "fast" transition variable even faster

* update "virtual-branch-small" icon

* bigger file icons, remove "fileName" property

- Larger file icons.
- The file path label in the "FileListItem" included the file name, but it should only contain the folder path.
- Since the "filePath" string already includes the file name, it's easier to split it within the "FileListItem" component, rather than passing the file name as a separate prop.
2024-10-01 16:08:03 +02:00
estib
945f991ad3 Edit mode: Open the conflicted files in the IDE
Add the ability to right-click a file in the list to open it in the selected IDE.
Also add a button that opens all the conflicted files automatically.
2024-09-30 19:11:51 +02:00
estib
a169b41594 fix: Correctly detect conflicted files
Correctly detect and display whether the commit file is conflicted in the edit mode page
2024-09-30 18:38:20 +02:00
Pavel Laptev
85e32fd4e2
Custom font support for displaying diffs (#4991)
* replace hardcoded "font-family"

* "Diff font" option in User Settings

* Update +page.svelte

* Update +page.svelte

* added "allow font ligatures" option

* copy update

* Update +page.svelte

* remove console.log

* Appearance settings: Reorder the settings 

Move down the font family the input into its dedicated section

* Graduate inline diffs to standard setting

The option to display inline integrated diffs in the hunk viewer is no longer an experimental option, but an 'stable' appearance setting option.

---------

Co-authored-by: estib <stron@me.com>
2024-09-30 12:58:39 +02:00
Nico Domino
d10bbcf515
feat: new stacking ui commit lines (#4972)
Co-authored-by: Pavel Laptev <pawellaptew@gmail.com>
2024-09-28 16:59:29 +02:00
estib
0f6a78e1b6 fix: Test for integrateUpstreamModal being undefined
Don't try to read a property from the integration modal if it's undefined
2024-09-28 11:00:33 +02:00
Navtoj Chahal
26b99e217e
Disable Hidden Input Interaction 2024-09-26 19:39:02 -07:00
Esteban Vega
598d60fbed
Merge pull request #4971 from gitbutlerapp/make-select-generic 2024-09-24 20:06:00 +02:00
Esteban Vega
60c33f135e
Merge pull request #4970 from gitbutlerapp/clean-up-update-base-button
clean-up: Remove unnecessary function declaration
2024-09-24 16:55:12 +02:00
Nico Domino
a7325e4d2d
fix: log and show toast (#4965) 2024-09-24 16:03:02 +02:00
estib
0f7b9f4d9c Make the Select component generic
Auto-detect the type of the value the select options can have
2024-09-24 15:43:46 +02:00
estib
9f6672b4e3 clean-up: Remove unnecessary function declaration 2024-09-24 14:19:50 +02:00
estib
adc6357a80 Use the exposed state of the integrate upstream modal
Export the state of whether the modal is open or not.
Use it in the base branch page and the update base button.
2024-09-24 13:37:58 +02:00
estib
536dfac6e4 IntegrateUpstreamModal: Factor out the modal
Factor out the modal for upstream integration into a dedicated component so that it can be shared easily
2024-09-24 09:54:13 +02:00
Caleb Owens
7c9401dd49
Merge pull request #4781 from gitbutlerapp/Fix-snapshot-details-transformer
Fix snapshot details transformer
2024-09-24 12:34:08 +02:00
Kiril Videlov
4c11a96456
Merge pull request #4962 from gitbutlerapp/Fix-state-for-file-selections-not-propagating
Fix state for file selections not propagating
2024-09-24 09:33:19 +02:00
Caleb Owens
9c23e577ba Constrain FilIdSelection API 2024-09-23 21:00:53 +02:00
Caleb Owens
edc0bd1a1d Fix state for selections not propagating 2024-09-23 20:26:34 +02:00
Nico Domino
82099fe43e
fix: submit commit title/desc with ctrl+Enter everywhere (#4958) 2024-09-23 16:16:30 +02:00
Esteban Vega
69b304bc33
Merge pull request #4948 from gitbutlerapp/conflict-fix-commit-info
Display the author and commit title in the edit mode
2024-09-23 14:43:18 +02:00
estib
22e7f46950 refactor: replace custom entries with Object.entries
Remove custom entries utility and replace its usage with 
Object.entries across hotkeys and branch utility files.
2024-09-23 12:21:18 +02:00
Pavel Laptev
edbc8eb3a3
Small UI fixes (#4950)
* fix the hunk header font-weight

* Text case fix

* Update sections order

* Fix "Full data synchronization" layout and toggles
2024-09-19 14:09:29 +02:00
estib
c15dbbf083 Edit Mode page: Display commit info
Display information about the commit in the edit mode page
2024-09-19 14:02:05 +02:00
estib
838002fa06 Commit service
Create a service that enables searching inside a project for a commit information by its ID
2024-09-19 14:01:03 +02:00
Nico Domino
cdae30d1a9
fix: use pull request template form (#4946) 2024-09-18 10:01:34 +00:00
estib
ccf7106f49 Update the hunk locking style
Update it following the feedback from Discord: https://discord.com/channels/1060193121130000425/1224366824305463337/1285608946870124617
2024-09-18 09:18:49 +02:00
Kiril Videlov
a01cac1baa
Merge pull request #4938 from gitbutlerapp/hunk-column-changes
fix: File section max line number & simplify hunk header calculation
2024-09-18 08:34:01 +02:00
Kiril Videlov
089af8e111
Merge pull request #4933 from gitbutlerapp/hunk-locking-design
HunkDiff: Display a lock if needed
2024-09-18 08:33:06 +02:00
Pavel Laptev
4f94be5439 refactor: Improve label for unapplying changes in BranchLaneContextMenu 2024-09-17 22:14:18 +02:00
estib
aecae8e2bf
fix: File section max line number & simplify hunk header calculation
- Fix a bug in which the max lines would not be taken into account when checking what the biggest line number in a hunk section.
- Simplify the calculation of the header width for the HunkDiff component
2024-09-17 17:15:09 +02:00
estib
cc6c8b9bec fix: Don't override the user settings
The user settings would not be correctly updated because multiple places were reloading it

This fixes the issue https://github.com/gitbutlerapp/gitbutler/issues/4931
2024-09-17 16:49:34 +02:00
Caleb Owens
69487faafa
Merge pull request #4935 from gitbutlerapp/Remove-BS-services
Remove BS services
2024-09-17 16:47:59 +02:00
Caleb Owens
beea22bcc3 Remove BS services 2024-09-17 16:46:08 +02:00
estib
8b2ea87ed5 HunkDiff: Display a lock if needed
Show a lock icon if the hunk in question is locked to this lane
2024-09-17 15:16:59 +02:00
Nico Domino
6476a1c754
feat: use new Tabs components to organise Preferences page (#4906) 2024-09-17 11:22:17 +02:00
Caleb Owens
b6a4f7cd35 Improve scrolling of update modal 2024-09-16 20:50:45 +02:00
estib
7dbadb13a9 Get the upstream name from the pushed virtual branch
Once the push of a virtual branch succeeded, return the ref name and the remote name in order to correctly determine which branch name to create a PR from.
2024-09-16 18:15:06 +02:00
Esteban Vega
5b34cc75bd
Merge pull request #4925 from gitbutlerapp/commit-context-menu
Add commit context menu
2024-09-16 17:31:59 +02:00
estib
a9c58aa35a fix: Extract the name from the remote ref correctly
Correctly extract the name of the remote branch, supporting branch names with nested paths

Also: Add tests
2024-09-16 16:05:12 +02:00
estib
d712fa88d1 Add commit context menu
Add a context menu to the commit card
2024-09-16 15:32:11 +02:00
estib
1398f6853b improvement: Default the selection of the project remote
The remote for a new project will default to the remote of the selected branch. It can be overwritten if needed.
2024-09-16 14:10:10 +02:00
estib
9772c02edc Base Branch Service: Type the remote branch information 2024-09-16 14:03:33 +02:00
estib
75defc2ae6 Array utils: unique items 2024-09-16 14:00:05 +02:00
estib
2dae466162 Branch Utils: enhance branch utilities with ranking functions
Add functions to determine the best branch and best remote. Implement a branch ranking system based on exact matches and suffix matches to better 
prioritize branches.
2024-09-16 13:59:17 +02:00
Nico Domino
a0b83556d2
feat: create 'Apperance' settings page and add highlight branchlane setting (#4921)
Co-authored-by: Pavel Laptev <pawellaptew@gmail.com>
2024-09-16 12:49:28 +02:00
Nico Domino
d7c00a0b9f
fix: rm effect.pre used only to avoid previous bug (#4919) 2024-09-16 12:20:34 +02:00
Mattias Granlund
02d6b6db9e Fix mistake in push failure error capature 2024-09-16 11:58:31 +02:00
estib
c9a5d7a75d Branch file list: Remove comments about actions 2024-09-16 11:42:04 +02:00
estib
08fb9effc4 Merge remote-tracking branch 'origin/master' into keyboard-shortcuts 2024-09-16 11:40:23 +02:00
estib
79e25de197 fix: actions initialization for CommitDragItem
Use a derived store to compute actions based on the branch and commit, 
removing the need for a side effect. This enhances readability and 
ensures that actions are updated reactively whenever dependencies change.
2024-09-16 10:33:16 +02:00
Mattias Granlund
97d117bb02 Improve push failed error analytics
- error message was not being included
2024-09-16 10:20:14 +02:00
Kiril Videlov
def3692df8
Merge pull request #4917 from gitbutlerapp/fix-pr-infinite-loop
fix: Don't update the state with the pre-effect
2024-09-16 10:10:00 +02:00
Esteban Vega
5faa0ac1b5
Merge pull request #4916 from gitbutlerapp/fix-file-selectability
fix: Only allow hunk selection in uncommited files
2024-09-16 10:08:35 +02:00
estib
3eadc2e743 fix: Don't update the state with the pre-effect
It seems like this would lead to an infinite loop in some cases
2024-09-16 10:03:29 +02:00
estib
2467b87fda fix: Only allow hunk selection in uncommited files
Files hunks from the commits should not be selectable
2024-09-16 09:50:59 +02:00
Pavel Laptev
8ec4fbdd67 few CSS fixes 2024-09-15 23:07:04 +02:00
estib
2bf882676f fix HunkDiff borders
The borders move with the hunk diffs
2024-09-15 10:49:47 +02:00
Pavel Laptev
1c70cdc3f4
Fixes scroll on drag (#4913)
* remove old tailwind CSS class

* fix `onDestroy` lifecycle error

* fix scroll glitch for changed files while dragging
2024-09-14 17:43:06 +02:00
Esteban Vega
1a47f5ec4d
Merge pull request #4850 from gitbutlerapp/ndom91/use-template-dropdown
fix: refactor pr template path input to pre-filled `Select` instead of `TextBox`
2024-09-13 17:25:58 +02:00
Caleb Owens
edd0cbe0e6 Rename unapplying 2024-09-13 16:58:42 +02:00
Nico Domino
c952ffee65
Merge branch 'master' into ndom91/use-template-dropdown 2024-09-13 16:28:58 +02:00
Caleb Owens
ce2aa91385 feat: Add onclick prop to DefaultTargetButton
Add onclick prop to DefaultTargetButton component to enable
button functionality. This change allows the component to handle
click events and perform specified actions when the button is
clicked.
2024-09-13 16:07:25 +02:00
ndom91
147a8aafcd fix: tweak copy 2024-09-13 12:56:08 +02:00
ndom91
d1d2e0c80b fix: cleanup pr template method names 2024-09-13 12:10:07 +02:00
ndom91
e8bb66c151 fix: use relativePath and get project basePath on rust side 2024-09-13 12:01:03 +02:00
ndom91
d14b6496b1 fix: rename githost form 2024-09-13 11:29:24 +02:00
ndom91
907bbe838d fix: more conflict clean up 2024-09-13 11:17:04 +02:00
ndom91
e842b282ae fix: merge conflicts 2024-09-13 11:15:06 +02:00
Mattias Granlund
eec288548a Remove displayed remoteRef from commit card 2024-09-12 18:38:09 +02:00
Mattias Granlund
8aafd8345d Show pr card for commit group if such exists 2024-09-12 18:38:09 +02:00
Mattias Granlund
1b175bb119 Re-use push button with snippet 2024-09-12 18:38:09 +02:00
Mattias Granlund
ab08bb9a47 Render one commit list per commit group 2024-09-12 18:38:09 +02:00
Mattias Granlund
5b3dff9634 Toggle feature by typing s t a c k 2024-09-12 18:38:09 +02:00
Mattias Granlund
bd7be6a759 Convert CommitList to svelte5 component 2024-09-12 18:38:09 +02:00
Mattias Granlund
6a7ae9dcb3 Add stack grouping function 2024-09-12 18:38:09 +02:00
Mattias Granlund
35b3991ab8 Use modified branch header whens stacking is enabled 2024-09-12 18:38:09 +02:00
estib
5395d00a1a Merged origin/master into keyboard-shortcuts 2024-09-12 14:47:17 +02:00
Caleb Owens
3c61856481
Merge pull request #4894 from gitbutlerapp/improve-topics
improve topics
2024-09-12 14:12:41 +02:00
Caleb Owens
bd1cc06af2 Use pagination API for querying labels 2024-09-12 14:06:12 +02:00
Caleb Owens
c78fe929d9 Improve topics just a tad 2024-09-12 13:56:18 +02:00
Nico Domino
3bc54fcad0
fix: rm unnecessary extra markdown wrapping class (#4893) 2024-09-12 11:38:50 +00:00
Caleb Owens
db992dedfa
Merge pull request #4869 from gitbutlerapp/update-api
Update api
2024-09-12 13:23:05 +02:00
Nico Domino
3a478b4f15
fix: reactive markdown rendering (#4888) 2024-09-12 09:53:21 +00:00
estib
5352eb1717 Merged origin/master into keyboard-shortcuts 2024-09-12 09:13:39 +02:00
Pavel Laptev
7c0a3766af usused CSS removed 2024-09-12 02:03:22 +02:00
Pavel Laptev
8723bd5c17 selected hunk colors update 2024-09-12 01:48:01 +02:00
Pavel Laptev
96d52014e0 Fix hunk header styles
- There was an issue with borders on scroll
- Fix the hunk header paddings
- replaced `box-shadow` with borders. Looks like it's not longer an issue
2024-09-12 01:29:28 +02:00
Pavel Laptev
e4df03aa50 remove unused code 2024-09-12 01:27:41 +02:00
Pavel Laptev
965118de7a Remove duplicated hunk inf and replace indicators with infomessages 2024-09-11 23:29:10 +02:00
Nico Domino
4700d5b2f1
fix: improve deeply nested token rendering (#4883) 2024-09-11 18:36:57 +02:00
estib
5137517650 BranchFilesList keybindings: Select all files
Select all files with meta-key + 'a'.
Also, `fileIdSelection` will make sure that the no duplicates are added to the selection
2024-09-11 17:31:33 +02:00
estib
d41827c9d1 BranchFilesList keybindings: Stage and unstage files
Stage or unstage the files by pressing the space-bar on the selected files.
Click enter to focus on the commit message input field
2024-09-11 17:20:56 +02:00
estib
f3b3649bca Merged origin/master into keyboard-shortcuts 2024-09-11 17:03:04 +02:00
Caleb Owens
d76d900a7e
Fix janky generics 2024-09-11 16:00:04 +02:00
estib
b8c60adc64 Merge branch 'master' into keyboard-shortcuts 2024-09-11 15:50:07 +02:00
estib
c3273c10fe Commit Input: Control focus behaviors
Add the ability to control externally when the commit message text input is focused.

Also:
Opent the commit input when a file is selected and the space bar is pressed
2024-09-11 15:43:38 +02:00
Esteban Vega
c4686bbf63
Merge pull request #4859 from gitbutlerapp/check-boxes-behavior
Improve the file list checkboxes behavior
2024-09-11 15:43:18 +02:00
estib
4c93b3632e Clean-up: Remove console log 2024-09-11 15:40:10 +02:00
Caleb Owens
aeea013ba0
Update base branch button feature flagged 2024-09-11 15:18:20 +02:00