Component name to component attribute conversion was dropped by accident during merge conflict resolution, and was caught by existing tests
GitOrigin-RevId: 124b1b008d893db0e464c091aaa6d953231d78cd
When enabled, WSM writes module xml files immediately when the file content is available (needs less heap because all the intermediate objects will be collected sooner). When disabled (legacy behavior) WSM will collect all the contents of all the files for each changed module, and then flush all the data in a separate pass (needs more heap to keep all the intermediate objects).
GitOrigin-RevId: 4c3756a21f7d1b24fecb798a71d56cd837ba58e1
When enabled, WSM bypasses module's configuration stores on project save and writes module xml files directly to 'cache' directory (iml files are still saved through module's configuration stores)
GitOrigin-RevId: de34f4534b62ebb5bba957651c36e49d9d9bbf3c
The component interested in scheme VFS events is `SchemeFileTracker`, but it only processes external events - so the scheme manager just has to keep VFS in sync for these events to happen.
GitOrigin-RevId: 24e0078ae2ff1e295b550d450fcdf78df5945f08
IJPL-8423 2024.1 keeps deleting project settings in .idea folder if these settings are using the default value
IJPL-157039 IDE keeps deleting project settings in .idea folder if these settings are using the default value
GitOrigin-RevId: 1d25a81680a0872b38ec21eee30b955851ac6048
Initially, persistent state components were not registered under remote clientId. It is not correct, though, because a non-per-client component may be loaded for the first time under a remote clientId, and it must be registered properly. This commit adds an explicit marker for per-client components to correctly implement this behavior.
IJ-MR-130819
GitOrigin-RevId: d170176f400902616e1448b0ecdf73a4c4918e8d
There are only a handful of PersistentStateComponent that we want to synchronize. After a discussion with @develar, we decided not to have an extension point and special annotations in the platform, but to list all of such components in our code.
Components' names will not be changed to keep backward compatibility for XML settings, so it is a safe approach. In the future, we will sunset PSC anyway and migrate them to the new SettingsController API.
IJ-MR-130819
GitOrigin-RevId: 7c9b974d406f8f4179d671f6483fd7143b6618d9
Such components must never be saved on disk with a non-local clientId. They should only store data in memory.
IJ-MR-130819
GitOrigin-RevId: d99fa4e43aedae2cb520768a8e9f25822b3fe38f
Current implementation is leaking abstractions, because SettingTag code is not easily extendable at the moment. Should be fixed in the future.
IJ-MR-130819
GitOrigin-RevId: 6dd4df874c956614659d9e4175a9b0619c289b49
These actions can be executed both on backend and frontend (they're a part of `UnattendedBackendDelegatingActionIdsProvider.DUPLICATED_ACTION_IDS`)
`Frontend` marker is used to make them frontend-only in CWM scenario.
However, in the new actions mode, this doesn't properly work - backend's actions cannot be found in the main menu. Because now the marker interface is also being checked on frontend and the actions are considered to be frontend, therefore, backend's version shouldn't be shown.
To mark actions as frontend-only for cwm `CWM_BLACKLISTED_ACTIONS` can be used - it'll prevent backend's version from creation and won't affect RD
GitOrigin-RevId: 3e403727e1102d1f217df0e33479ea91be1f34f8