- 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