597 Commits
Author SHA1 Message Date
Sergey Pak 0c4475b506 [settingsSync] added SettingsSyncCommunicatorProvider.isAvailable
(cherry picked from commit 15f48b82f639c89aee0f25343f9c2306e16e4167)

IJ-CR-154861

GitOrigin-RevId: 5854a8461a79b8f22af213d2487467a3e5120612
2025-02-12 15:54:41 +00:00
Sergey Pak f8175a2887 drop settingsSync.fileSystem from repo
Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>
(cherry picked from commit 34d13d568936ae84a24490655116302344b48ba0)

GitOrigin-RevId: 4334dcdf29b15eacc087d2333a67297eb6b2218e
2025-01-23 01:22:16 +00:00
Sergey Pak c1d089565c fix settingsSync and smoke tests
Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

(cherry picked from commit bbfaf6d10bd31b2b7f68d5178b0d2ede5cbdb324)
Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: 7777fef4cad239d7bf62799511d5708d02078834
2025-01-23 01:22:16 +00:00
Sergey Pak 571fdbca04 1. make settingsSync a platform module 2. rename platform module to settingsSync.core and don't include jba module
(cherry picked from commit b94ad2175dc954823f17bf1571548d4779945793)
Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: 08fc765db4cd295b5b9eebb9378ba992c341dce8
2025-01-23 01:22:16 +00:00
Sergey Pak 5b7c2d071b IJPL-165434 Provide ability to sync with additional providers in Android Studio
(cherry picked from commit 656ed2562377be73a7b49b965bfb42c187ce69ca)
Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: 6dba33081f0acb3ca5ba1fc89bb4ed08b624c280
2025-01-23 01:22:16 +00:00
Sergey Pak de367a30ba IJPL-165123 Allow external config storage and external authentication for Backup and Sync
(cherry picked from commit 5d929b354d3dec721a07653156ce17a2b09fe008)

GitOrigin-RevId: f771e7449432ccc8929d513d92285743b8f726dc
2025-01-23 01:22:16 +00:00
Edem Ibraimov c191b6d548 LLM-3762: license: add oauth providers to the login API
(cherry picked from commit 635b72f4ec14405e7ea52b68c56491e6d63aee7f)

GitOrigin-RevId: 2e56e84565b6bbe53229b44d0838d084d755b52a
2024-12-11 20:43:32 +00:00
Sergey Pak 027605bb9b 1. Enable GotIt tooltip from IJPL-13096 by default
2. Add information about settings sync and tooltip to the JBA login procedure


(cherry picked from commit 6f4a8b0c4e405d90b6f41540c1c8d857f790d63c)

IJ-CR-148221

GitOrigin-RevId: 9b639ace2f95046cc0b265979137099abc26479b
2024-11-15 14:55:30 +00:00
Sergey Pak 785359c525 change condition to show GotIt tooltip about "backup & sync"
(cherry picked from commit dec9225888fe54456bbd1a409e8c0743825b83d8)

IJ-CR-148221

GitOrigin-RevId: cf111ac0c647e0a187f6488bbd2221c672cc5b64
2024-11-15 14:55:30 +00:00
Eugene Zhuravlev 106f8d8d51 support client metadata for JBA logins (IJPL-35546)
(cherry picked from commit c7227a25688b59e34b58b10f7c1513ef3c03c060)

IJ-CR-147850

GitOrigin-RevId: dd21d1f6cbb381af76f3941ad630d17a8806491c
2024-11-13 16:53:55 +00:00
Sergey Pak 0c5d6a3bfb IJPL-162861 Add plugin icon to Settings Sync as a part of
IJPL-159504 Pivot "Settings Sync" to "Backup and Sync"


(cherry picked from commit 3a5f55d6adcbd8ac17a9d9c93748755377248f94)

IJ-CR-147270

GitOrigin-RevId: eaa7a0e9a67176846c2668cfb8220238fc9ec932
2024-10-23 11:37:21 +00:00
Sergey Pak 9834adce0e IJPL-164295 rename Settings Sync to Backup and Sync (UI & plugin page) as a part of
IJPL-159504 Pivot "Settings Sync" to "Backup and Sync"


(cherry picked from commit d13eb3cf3af9382c3dea4d2d9e48265aa1865ea3)

IJ-CR-147270

GitOrigin-RevId: e2329ad04a62cd09208088b7ef82f1b225a1f6e3
2024-10-23 11:37:21 +00:00
Sergey Pak a776551e7e IJPL-158288 settingsSync shouldn't sync non-roamable files
GitOrigin-RevId: 2ac91c173c3067f4d4a5af3a4831af2c7633c3aa
2024-09-25 16:33:02 +00:00
Daniil Ovchinnikov 450b2f7d7c remove unnecessary @RequiresBlockingContext annotations
GitOrigin-RevId: 3f78091e5734aba6b86ca28f9bae033732592ceb
2024-09-23 20:08:27 +00:00
Sergey Pak 5a4e584aa5 disable wrong test for IJPL-14021. It's already tested in SettingsProviderTest
Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: 7bc917b7e29470ae2f85995e32116310dbe6afe5
2024-09-19 19:11:52 +00:00
Sergey Pak ae4c6b2396 IJPL-13361 Settings Sync still looks failed after restoring internet connection
GitOrigin-RevId: b884b28a356b99df8f30ed1bac09ec41828bfc68
2024-09-19 19:11:52 +00:00
Eldar Abusalimov bea119a05f LLM-3861: JBAccountInfoService: Add recordAgreementAcceptance()
GitOrigin-RevId: dc0032692dbcda593c68f790ff16f20557da0992
2024-09-17 17:08:14 +00:00
Sergey Pak 5a537f9f7b IJPL-13061 Settings Sync java.lang.AssertionError: Checkout conflict with files: .metainfo/plugins.json
GitOrigin-RevId: 2c8d6a1f44dcb2b5c21d481e2d325d6241da9acd
2024-09-14 22:45:10 +00:00
Sergey Pak f8a5a69513 don't change state of marketplace plugin, required for IJPL-13072 The Settings Sync plugin is incompatible with Android Studio
GitOrigin-RevId: 0317420a97723da11e022dc8d10875495e59795a
2024-09-13 21:03:34 +00:00
Tomek "jaen" Mańko 36505ee590 [settings-sync] IJPL-13940 Ensure Settings Sync error gets propagated to the top-right gear menu
GitOrigin-RevId: 788fddd63fa40950f53257bd77b422168b6707ff
2024-09-11 22:35:55 +00:00
Mikhail Filippov f13d92e82f IJPL-150165 switch to invoke dynamic lambdas in Kotlin
GitOrigin-RevId: 63ba45a21874cc723917982996fce1a510b2a182
2024-09-05 11:19:31 +00:00
Mikhail Filippov bf43f2fc01 IJPL-150165 bump Kotlin language and API version
GitOrigin-RevId: a59dc8ca214a5047773fccf1cf28a1e1b07acf68
2024-08-30 22:15:55 +00:00
Vladimir Krivosheev 3b3ae1c0b5 IJPL-159596 disable sorting - we must produce distribution order entries in a stable manner without sorting
GitOrigin-RevId: 1bf3a1f18ba5b2d6d5bc4f9c44f8208f86c8baa2
2024-08-22 10:33:53 +00:00
Sergey Pak e9e7ea591b fix ApiCheckTest and IdeaUltimatePackagingTest
GitOrigin-RevId: 3217bb96430edf1b615ca6ea0960963e43cc62a7
2024-08-20 13:54:26 +00:00
Vladimir Krivosheev 86b23d40f1 IJPL-197 introduce core-only or allowlist-only ApplicationActivity
GitOrigin-RevId: cb3631d0748100134dc8a6021dac1a2f57859121
2024-08-14 13:08:53 +00:00
Sergey Pak 085b018b30 IJPL-159905 Migrations to update plugin dependencies (e.g. install PythonCore while updating Pythonid) are not performed during Settings Sync
GitOrigin-RevId: 5f0c4104f791742b8d4d85fb2eb72618c6f06d11
2024-08-12 16:56:45 +00:00
Eldar Abusalimov ba946021df LLM-2955: JBAccountInfoService: Add JbaServiceConfiguration for essential URLs
GitOrigin-RevId: 8416f8350d612f055a79373497b711ecf8a641da
2024-08-07 03:20:01 +00:00
Yuriy Artamonov 4dac328bf4 [i18n] IJPL-158521 Fix more ellipsis problems in plugins
GitOrigin-RevId: 981393c6f975e303847ca598b650fec8fe65d9bf
2024-07-30 16:35:51 +00:00
Tomek jaen Mańko 977472cc96 IJPL-13201 Allow to choose cross-IDE sync mode when enabling sync
To facilitate re-using the sync scope selector part of the sync settings UI in the modal, it was extracted
to  the `SettingsSyncPanelFactory` helper (like the category UI) and exposed as a combined factory method
named `createCombinedSyncSettingsPanel`. The combined panel also took the responsibility for applying the
changed settings as not to duplicate logic. Configuration change event production was left in the settings
configurable, as it's apparently only needed for the non-dialog use-case (otherwise it can cause a race
between cross-IDE sync state on client and server). Use of cross-IDE sync state (that is,
`SettingsSyncLocalSettings`) was refactored to follow the same pattern as `SettingsSyncSettings`, with
persistent setting and an UI model, both implementing a shared interface.

To actually apply the selected sync scope on enabling sync the `SettingsSyncBridge#applyInitialChanges`
method now creates/removes the cross-IDE sync server-side marker file before any sync data are sent
or applied.

Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: 370e0aafd0861280da72819bbd04b191adfbe3d2
2024-07-29 20:13:34 +00:00
Sergey Pak be0a997637 stackoverflow during plugin installation in settings sync (IJPL-159298)
GitOrigin-RevId: 5e9bcd0a891cd0d8d7c2f7053bac4a1cf2cbab05
2024-07-29 20:10:33 +00:00
Vladimir Krivosheev e89669ffbf IJPL-158348 install ui - use separate state to avoid NPEs
GitOrigin-RevId: 0a15ee52a17a5ee6da8f096eaf9a2e0a260af030
2024-07-29 16:46:29 +00:00
Sergey Pak 98e55051ef properly set SettingsSync's state during test initialization
GitOrigin-RevId: cbaed1e4e104c538553777a8927d32bac0d3c547
2024-07-26 23:10:59 +00:00
Sergey Pak 0f7bcd38a1 IJPL-157266 Exclude automatically disabled plugins from Settings Sync
GitOrigin-RevId: b66e2c30957490fa218178ec1951bdc62e021dc1
2024-07-26 23:10:59 +00:00
Sergey Pak 13c94d2a39 get rid of ProgressManager during plugin installation
GitOrigin-RevId: 872f2c63613e05d91dec073728bedaba5d1afd6a
2024-07-26 23:10:58 +00:00
Vladimir Krivosheev 398ebce1d5 split content report
GitOrigin-RevId: ef449bdf4c5480a6ee3ce43b4af118c2c6e31219
2024-07-25 19:20:06 +00:00
Alexander Lobas 932f2d438e Swap icon path parameters: move expUI path to the first place
GitOrigin-RevId: 74cf09fb454c89b676be259cdd7437a81ac4c067
2024-07-25 15:12:07 +00:00
Sergey Pak 0c6628db9a test for IJPL-156917 java.nio.file.AccessDeniedException: /Users/username/.config/jgit/config
GitOrigin-RevId: aad01c93fcb34074be122c0b7d5ab8843d90124f
2024-07-24 18:45:47 +00:00
Sergey Pak 39883358b0 warm up SettingsSyncRealIdeTestBase to deal with timeouts
GitOrigin-RevId: 67eedb3b3c8bf887d6c3d8ef43a4be756407f528
2024-07-24 18:28:03 +00:00
Sergey Pak 78561794df Increase settings sync initialization timeout from 5 seconds to 10 seconds
GitOrigin-RevId: 28dd109b0bcb407092cdbbfb0edc81b57c2978a9
2024-07-17 16:09:09 +00:00
Sergey Pak cf82c56c8b attempting to fix com.intellij.settingsSync.SettingsSyncFlowTest.concurrent sync does not disable sync during initialization
GitOrigin-RevId: cfdba2e54eb6b14759fc101dc2d534b554f2015e
2024-07-17 14:06:20 +00:00
Sergey Pak ef81135992 only save settings in SettingsSyncBridge.initialize if push to server selected (related to IJPL-13931 Ensure settings categories are respected in the initial sync)
GitOrigin-RevId: 62a3abd7403417015d89389af737c170fec78d35
2024-07-12 14:43:45 +00:00
Sergey Pak e8d44eaeea IJPL-158105 Settings sync between 2024.1 and 2024.2 prompts to disable new UI in 2024.2 if is was disabled in 2024.1
GitOrigin-RevId: dc14421be467633cb1702293d2cc157b92d55c89
2024-07-10 18:45:37 +00:00
Tomek jean Mańko 5bfc566e1c IJPL-13205 Fix setting status label update when deleting remote data
Since the even handler runs in a different thread from the progress modal, `ModalityKt.defaultModalityImpl()`
won't be able to get it from `ProgressManager.getInstanceOrNull()?.currentProgressModality`, causing the
modality state to fall back to non-modal, delaying the label update until after the settings dialog is closed.

It's fixed by just storing the settings dialog modality state before showing the progress modal and passing
it to `runInEdt` explicitly.

Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: ae45788cc3f16bb92e2bad666ba16b733762a216
2024-07-10 18:22:48 +00:00
Tomek jaen Mańko 3b3ef02a58 IJPL-13931 Ensure settings categories are respected in the initial sync
There are two parts to the fix:
  * explicitly flushing settings to disk before the initial sync — while the sync subsystem
    correctly filters out files not matching the selected sync categories, it only seems to
    take into account files that are actually persisted on disk when uploading them. When
    setting up sync, the settings object initially remains in-memory (at least until the
    time IDE decides to flush it on it's own), so initial upload might be missing the
    settings state, giving appearance of all the categories being synced, instead of just
    the selected ones,
  * correctly categorise plugin settings — `SettingsSyncFiltering.getSubCategory` was written
    to only classify font settings properly, so you could not disable a specific plugin from
    syncing. This is now fixed by using plugin ID for category  while filtering. It might make
    sense to unify this code with `SyncPluginGroup` one way or another, but it was simpler to
    just duplicate the behaviour for this fix.

Signed-off-by: Sergey Pak <sergey.pak@jetbrains.com>

GitOrigin-RevId: 88ab02f1198479eaad8966b7890748b87e53f5e0
2024-07-10 17:44:42 +00:00
Sergey Pak 50100581c7 Don't use test scope in tests (use timeoutRunBlocking instead). Related to IJPL-158038
GitOrigin-RevId: d9d4c92e77c7f28a80c05d173cdcd08d59e9c139
2024-07-09 20:24:49 +00:00
Eldar Abusalimov 3f9aae4213 LLM-2956: license: Add JBAccountInfoService.issueTrialLicense()
GitOrigin-RevId: 112ccda56ea29d5d92441a07067fe58df73b2567
2024-07-05 19:16:00 +00:00
Sergey Pak 82ff26ce77 IJPL-13080 DIRC checksum mismatch error in Settings Sync
GitOrigin-RevId: ffe305a7eef4187508363cfe0d11ae8e3da66dab
2024-07-03 22:36:20 +00:00
Sergey Pak eb2aa77226 fix settings sync auto tests + light refactoring
GitOrigin-RevId: 57fda7dda9be6b2574ed6ca23c0def61fb967fae
2024-07-01 19:44:54 +00:00
Eugene Zhuravlev f3e7336716 update ls_client_api, implement getIdeProductCode query, pass option ideLicenseId when requesting a non-anonymous trial
GitOrigin-RevId: 2855a9808ec5e348295fa4116cd73bfb7601eea4
2024-06-28 11:09:13 +00:00
Sergey Pak bbb830453c IJPL-157227 IDE is localized after Settings Sync between 2024.1 and 2024.2 if language plugins had updates
GitOrigin-RevId: 2b596270b6052ec178ad026d3dc3b64a3b25c46e
2024-06-27 20:49:55 +00:00