Subsequently, this changes the way the list model is updated from an event-based approach to a complete replacement of the list model.
If this causes UI problems, we can always put in a smarter calculation of list differences before updating the list model.
GitOrigin-RevId: 9ccd0aa817925abfa7e6b87f5e2981bfd8971c2f
Reason for the abstraction is to standardize reloading and refreshing.
This should make it significantly easier to add refreshing/reloading lists of data.
`GitLabETagUpdatableListLoader` is replaced by
`startGitLabRestETagListLoaderIn` which creates a new ListLoader and starts it.
As a proof of concept, the list loaders for timeline events are replaced.
GitOrigin-RevId: df8f89a9a8b1ee948f21686d2fc9f7b528f73cd1
This makes sure that all flows of items that will need to be reloaded after an error
are actually reloadable (`GitLabETagUpdatableListLoader`).
It adds a `reload` action for timeline VMs so that the merge request data
can be re-fetched from the start.
GitOrigin-RevId: 895a009968683d7850b83666e17cb9fcb2fc623c
These combinations caused exceptions to be re-thrown mid-flow
and are misleading. Because of the re-throwing, these flows would
be completely canceled, making it very difficult in the current code
to restart them.
GitOrigin-RevId: c0a58dabf9ea32e21f75160076b54303322aa4c0
This commit channels most of the functions that use `getCurrentUser` as
a check of logged in-ness through a new `getCurrentUserAsResult` function,
which already converts failures into appropriate errors.
GitOrigin-RevId: 4b74e0b46222dc965f45c353d4bcfb140699e48f
These ID implementations are introduced in the relevant DTOs and model
classes for adding draft notes, but should be introduced throughout the
code-base to mark IDs we get back from GitLab unambiguously and to keep
track of the times we 'guess' a REST ID from a GID and vice versa.
GitOrigin-RevId: bd21902a15412dad33955e911989c3038383bed5
This requires a small refactoring to make sure no services
are required during creation of GitLabApi instances.
GitOrigin-RevId: e199e45f095c6900e3cffe39654991b1c5f18eaa
Adds the generic test case class and implementations of
various API calls.
Also adds a configuration to run those tests.
GitOrigin-RevId: 58412ad1c9a33671aa35a78fd43168aaf6e3b85f