Commit Graph

944 Commits

Author SHA1 Message Date
Alexandr Trushev
1e4e505e16 IJPL-797 intellij.platform.editor review internal API
GitOrigin-RevId: 514591f43e57749b752d8399d08b2cfd79fb34ea
2024-06-17 22:06:02 +00:00
Alexander Lobas
89d58ee436 IJPL-150231 Move icon mappings from json to icon generator
GitOrigin-RevId: 4d4576fc7eeb92ec43c36abec2d62d271b45d9a4
2024-06-15 23:19:46 +00:00
Yuriy Artamonov
fa0bf8c8c2 [fus] IJPL-156483 GitHub and GitLab CI editing statistics
GitOrigin-RevId: 78f9d637220e6d6da86d91203dbe7946137eba0d
2024-06-15 13:41:41 +00:00
Ivan Semenov
f4ed53873b [gitlab] fix infinite reviewers loading
GitOrigin-RevId: e8e0c3e85921ce582d52cc63f8cf5b0a2df627e5
2024-06-10 12:39:38 +00:00
Chris Lemaire
901e51c98a [collab/gitlab/github] Stop using flow-based updating if only one static error needs to be shown
GitOrigin-RevId: 9bdd077563836dc8887d2904e7889e2fc9820b49
2024-06-03 16:54:44 +00:00
Chris Lemaire
6440ac2be5 [gitlab] Move function to create error status presenter into utility class
GitOrigin-RevId: c9c8ef91638261f6d89d1fba9d1520f00349392a
2024-06-03 16:54:44 +00:00
Chris Lemaire
5c446b566b [collab] Inline error status panel creation functions where possible
This gets rid of unnecessary class declarations in favour of a functional approach.

GitOrigin-RevId: e6f5997a2be8b61ad062ed82e52b89db199d8259
2024-06-03 16:54:44 +00:00
Chris Lemaire
ddb00de092 [collab] Add a simple generic instantiation for ErrorStatusPresenter
Use this function in places where a subclass was made before.

GitOrigin-RevId: 220c3f2e7778d704d5a09e6a7707480c985f85cf
2024-06-03 16:54:44 +00:00
Ivan Semenov
98beaed419 [gitlab] refresh MR data if necessary when resolving a discussion
GitOrigin-RevId: bc172031d87fbbce9ff311f7f0c6ad9892a12139
2024-05-29 17:26:30 +00:00
Ivan Semenov
dea03b1fc4 [gitlab] revalidate MR panel on status visibility change
GitOrigin-RevId: f4f2ce344ee0445e689436b6adb139a710b55766
2024-05-29 17:26:27 +00:00
Ivan Semenov
6361a75e42 [gitlab] check MR discussion resolution if mandated by project settings
#IJPL-81324 Fixed

GitOrigin-RevId: 34a60f0b9423a5dff4bc01e8f97360c5e7da5e92
2024-05-29 17:26:23 +00:00
Ivan Semenov
2066042988 [gitlab] cleanup
GitOrigin-RevId: e3d3bb745edf62f5fb99cd74d1a2858db32d18de
2024-05-29 17:26:20 +00:00
Ivan Semenov
107ccf7a7d [github/gitlab] replace exception with logging
#IJPL-155831 Fixed

GitOrigin-RevId: dc8a16d099d5313aeebf1f7cf5b4201e5d171c49
2024-05-29 17:26:17 +00:00
Ivan Semenov
23f724a13b [github/gitlab] add logging for review in editor controllers
GitOrigin-RevId: d7125d3ef34960095970c8297844ae8ba5a7bb46
2024-05-29 17:26:13 +00:00
Chris Lemaire
d7013bf733 [gitlab] Consider server URIs starting with HTTP/HTTPS the same (IJPL-148811)
GitOrigin-RevId: 6de72d9a4260e63bd515ff7ef46d47f20d32eb4d
2024-05-24 15:27:32 +00:00
Chris Lemaire
151f68c1dd [gitlab] Fix nullability for group parameter (IJPL-149814)
#IJPL-149814 Fixed

Yes. It can be null. How? Not sure yet, but this should fix the bug.

GitOrigin-RevId: b33f7352b8c62cdd0e6c4de06c25d236e13414ab
2024-05-15 23:07:27 +00:00
Daniil Ovchinnikov
d714d37508 IJPL-149498 deprecate unnamed childScope
GitOrigin-RevId: 99d7259f91990787b6991209208ee5ded9f49b7a
2024-05-08 19:45:10 +00:00
Ivan Semenov
c4edfeced5 [gitlab] refactor MT timeline component factory for simplicity
GitOrigin-RevId: 9e4d43dbe25d723cf8b268d1c640d57b67fc7a4b
2024-05-08 19:15:15 +00:00
Chris Lemaire
9441268bcc [gitlab] Ensure loader is initialized lazily
GitOrigin-RevId: 57d60f500f5dd67dadf2fdb8ac0af001f784a462
2024-04-29 11:54:05 +00:00
Chris Lemaire
2f09b7c920 [gitlab] Correct scope for managing review toolwindow tabs
GitOrigin-RevId: ef58ae6fde3b93c2dde102f0c6da0eedd11fa8fe
2024-04-29 11:54:05 +00:00
Chris Lemaire
586a72451e [gitlab] Remove unused loaderInitFlow from GitLabMergeRequestsListViewModel
GitOrigin-RevId: 962573735241054b2f72529ab265e6bfcd892c81
2024-04-29 11:54:05 +00:00
Chris Lemaire
ba42677725 [gitlab] Add an experimental pre-loading of the first n MRs in the list
GitOrigin-RevId: 3662a4a3a7a0ad3cc01c971e7896e70b11b92a2e
2024-04-29 11:54:05 +00:00
Chris Lemaire
af749eb68a [gitlab] Replace MR list loading with a ListLoader
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
2024-04-29 11:54:05 +00:00
Chris Lemaire
2c074cb099 [gitlab] Add GraphQL ListLoader and refactor discussion loading to use new ListLoaders
GitOrigin-RevId: 467f6a314671569bc6fe262b3f7a56fa9d8cb60e
2024-04-29 11:54:05 +00:00
Chris Lemaire
2a53aca059 [gitlab] Refactor draft notes loading to use new ListLoaders
The new abstraction makes it easier to fully reload or refresh the list of draft notes.
It also makes it possible to find updates at the start of the list (when an entry is removed or changed) upon a refresh.

GitOrigin-RevId: c7d13bfce40676e945973cc0d85558da21c4618b
2024-04-29 11:54:05 +00:00
Chris Lemaire
807ded8014 [collab] Add an abstraction for loading and keeping data from API up-to-date
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
2024-04-29 11:54:05 +00:00
Yuriy Artamonov
7aaf08f333 [gitlab] IJPL-148942 GitLab: GitLabCiConfigIconProvider loads PSI to compute file icon
GitOrigin-RevId: 20833f2189066ff455f8851824ec18ffdc8ebd2d
2024-04-27 22:43:37 +00:00
Ivan Semenov
fcb0f5c229 [gitlab] acquire the correct revision for remote head branch
#IJPL-148395 Fixed

GitOrigin-RevId: 9052962dc557ca32d3fb0c3343a3064bece4f24f
2024-04-26 13:48:51 +00:00
Ivan Semenov
15c997ad34 [collab/github/gitlab] simply helper and get rid of flow of deferreds
GitOrigin-RevId: d54be409b03e03017ca197c7bb5cb6eb948a5080
2024-04-26 12:06:06 +00:00
Ivan Semenov
9cb42f5cac [gitlab] create diff change VM in a VM scope instead of consumer scope
GitOrigin-RevId: ee43f7174b5ff0beda1a3366880ecb6e5a3dcee8
2024-04-26 12:06:06 +00:00
Ivan Semenov
0b965a8cda [gitlab] use stateflows for note viewmodels
This is to ensure immediate availability of the data when creating a component

GitOrigin-RevId: de4837f8a712a49727d6b13ef2248199e5114ff6
2024-04-26 12:06:06 +00:00
Ivan Semenov
921354053a [github/gitlab] ensure correct threading when creating a diff review model
GitOrigin-RevId: e0f177af4b7a54e90211b7e2044d4f4e0f57ad1b
2024-04-26 12:06:06 +00:00
Ivan Semenov
6a1e8db7f4 [collab/github/gitlab] ensure proper threading for editor inlays and renderers
CoroutineStart.UNDISPATCHED does not check if the current dispatcher is indeed the correct one, so it's safer to wrap the body in `withContext`.
Also, using suspending functions instead of passing a CoroutineScope better adheres to structured concurrency.

GitOrigin-RevId: 401609ca178fe9b47f63211696c6a5a1b4c6d650
2024-04-26 12:06:06 +00:00
Ivan Semenov
9de6a934fc [gitlab] cleanup
GitOrigin-RevId: 21d9bef7a7812e1dd8b5b5abdbb7a546daabcbcb
2024-04-26 12:06:06 +00:00
Ivan Semenov
1c4fb09613 [gitlab] use correct interface
GitOrigin-RevId: a7cf63ccd1687ac02649358c137ee14d821a04f1
2024-04-26 12:06:06 +00:00
Chris Lemaire
1598c69ccf [gitlab] Refactor selected repo and account preferences to state flow (IJPL-82554)
#IJPL-82554 Fixed

Makes it so that the selected repo and account are updated
when known repositories or known accounts are updated.
The resulting state can only contain repo and account that
are currently selected and stored in preferences and known.

GitOrigin-RevId: 1715e7584de55222bf43a96a9e5d85b7a1c4dd0d
2024-04-23 19:00:03 +00:00
Chris Lemaire
271fcea7eb [gitlab] Make sure links that are relative to project path are handled by browser
GitOrigin-RevId: 37d9193c8dd680a1e7ec8f26ffb315e2cc4940aa
2024-04-23 10:00:13 +00:00
Chris Lemaire
11086e0707 [gitlab] Handle exceptions in link creation by falling back to browser opening behavior (IJPL-148576)
#IJPL-148576 Fixed

Also add tests to keep track of regressions and OS-dependent problems.

GitOrigin-RevId: 1b1ad63c9a4e6dd8b67c7be2b01e173808f8deeb
2024-04-23 10:00:13 +00:00
Ivan Semenov
2d61e7596a [collab/github/gitlab] ensure all mapScoped invocations are supervised where needed
GitOrigin-RevId: 76ca3b10d7dbebf7204db42d8c797c3f93c9265d
2024-04-23 00:42:33 +00:00
Ivan Semenov
46916c7ec9 [collab/gitlab] extract test rule
GitOrigin-RevId: 0f3bcac4b88ee11be42c44ab5e21efc46fbaba26
2024-04-23 00:42:32 +00:00
Vladimir Krivosheev
b745d95c33 IJPL-973 extract collaboration tools (as it depends on vcs-log-impl)
GitOrigin-RevId: 44db2ae5dfa8d8a27eaba16b55b734b6c8129436
2024-04-12 07:35:33 +00:00
Chris Lemaire
171ff24950 [gitlab] Make MR IIDs link to timelines (IDEA-350711)
#IDEA-350711 Fixed

GitOrigin-RevId: 392b6f216224b4783b97b23a5938a09e8fcf9f56
2024-04-04 17:38:44 +00:00
Chris Lemaire
ba6f5feff8 [gitlab] Make file links point to local files in editor (IDEA-325362)
#IDEA-325362 Fixed

GitOrigin-RevId: 2560039da3c1641502070844c94f4b066a6d8344
2024-04-04 17:38:44 +00:00
Chris Lemaire
935bd24737 [gitlab] Make a VM for immutable timeline items rather than exposing model to UI
GitOrigin-RevId: 0db31fc02ae834aefb9c3c6616a6d1b3febcca58
2024-04-04 17:38:44 +00:00
Chris Lemaire
7c63cb8f39 [gitlab] Make a VM for commits rather than exposing the model to UI directly
GitOrigin-RevId: 7b47f88606cf46c78f9fe9694a60c58bcaa48e8a
2024-04-04 17:38:44 +00:00
Andrey Belyaev
1190821f07 [gitlab] IDEA-350674 Get rid of YAML plugin dependency in GitHub and GitLab plugins
Removed YAML plugin dependency in favor of simple file mask check, also check JSON schema as a backup option

GitOrigin-RevId: c704bded148be8e404b27f9416ac93f3f2a9459b
2024-04-04 13:20:02 +00:00
Chris Lemaire
d4a50b4ed2 [gitlab] Fix group projects the user is a member of not showing up in clone dialog (IDEA-350474)
#IDEA-350474 Fixed

Looks like the DTO we used to deserialize project info was the wrong one.
It was 'ProjectMemberDTO', but should've been 'ProjectDTO'.

GitOrigin-RevId: 349aa99d9aa2026587ea8b862791467637518e85
2024-04-03 16:28:28 +00:00
Ivan Semenov
8baf63ad2d [collab/gitlab/github] sort files for review diff the same way files in the tree are sorted
#IDEA-331019 Fixed

GitOrigin-RevId: 2d6614b34228f602573fc4b0c7f468541ca1958b
2024-04-02 14:23:53 +00:00
Ivan Semenov
37aa331340 [collab/gitlab/github] persist review changes grouping preferences
GitOrigin-RevId: 828169e0ac2190b734a35f14a5a62338d55a25ce
2024-04-02 14:23:53 +00:00
Ivan Semenov
16d9271f23 [collab/gitlab] rework MR settings to use flow instead of listener and extract a utility base class
GitOrigin-RevId: 551d76f91a0a9aad4a8d03bf593c4158e7c34985
2024-04-02 14:23:53 +00:00