* feat: fix clickoutside for multi modal case, fix select list options display.
* Move select to a separate folder
* Serach field CSS tweak
* Replace the old `Select` with the new one
* Remove old `Select` component and switch `SelectNew` component name
* Added `$effect` type to eslint config
* Added the `searchable` property to `Select`
* disable text selection and added an animation
* dropzone hover animation update
* Remove focus state outline
* Move `Listitem` to `ProjectPopup` as a snippet
* rename `useResize` to `resizeObserver`
* Rename `useAutoHeight` to `autoHeight`
* remove unused component `PopupMenuItem`
* Update `Unupply` modal design
* Handle `Select` position on resize
* added an animation to the new context menu
* Right click context menu added
* revert right click context menu
* Context menu: add `item` arg for the `open` method
* updated context menu for `Filter`, `FileItem`, branch `kebab` menu
* Updated Dropdown context menus
* Temporary remove `copy PR link`
* Rename: `BranchLanePopupMenu ` to `BranchLaneContextMenu`
* FileListItem uncomment commented code
* Hunk context menu updated
* Remove `PopupMenu`
* Replace the old `ContextMenu` file with the new one
* Added blocking overlay for dropdown context menus
* animation timing update
* `Select` folder renamed to `select`
* import fix
* import fix
* remove commented code and `console.log`
* add arrow navigation to the `Select` component
* case sensitivity added
* Update HunkViewer.svelte
* remove duplicated folder
It's possible that the sempahore state in the virtual branches controller is completely unnecessary. This feature flag allows us to test this hypothesis
- gh can incorrectly report checks as completed even though they just started
- can be marked completed because not all checks are initially included in the check suite
- for GitButler specifically somtimes check-runs includes only a single completed GitGuardian check
- it's unclear what the ideal window length is
- small window likely means tracking each change
- small window currently not beneficial in answering product questions
- will re-evaluate based on findings
- otherwise duplication of captured values grows as more metrics are added
- placed MetricsReporter in root +layout.svelte to accommodate future metrics
- inject secretService so it works when used directly
- remove console logs
- only remove a migrated secret (instead of removing it unconditionally)
- in +template, await for good measure, which explains why the parent function is async
In the backend:
- prevent concurrency in method that stores secrets from the frontend
as it's racy otherwise to type a secret quickly.
All AI related options are stored in the user-level git configuration
file. Upon first access, they will be removed from there and placed
into the keystore as part of the migration.
The UI is provided with functions to store and save secrets which it
will use specifically to interact with these keys.
It's explicitly out of scope to *not* show the keys in plain-text
anymore after entering them.
* Don't return optional
* Rename get_integration_commiter
* Add a header to wip commit
* Stuff
* Unapply all branches
* Reorder code
* Fix one test
* Name resolution
* Fix two tests
* Fix another!
* wip
* Fix so many tests
* Fix unapply.rs tests
* Fix selected for changes tests
* Move unapplying logic to delete_branch method
* Remove unused and kinda borked cherry_commit code
* Fix the tests!!!!!
* Make apply_branch private
* Change handling of headers
* Improve order integrity
* Updated types and comments to convey more meaning
* Introduce a result type
* Update AI error handling to use the result type
* Handle ollama json parse error
* Migrate using Error as the type that represents errors
* Remove now useless condition
* asdfasdf
* Use andThen
* Correct unit tests