@lvce-editor/source-control-worker 3.6.3 → 3.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -586,7 +586,10 @@ const constructError = (message, type, name) => {
586
586
  if (ErrorConstructor === Error) {
587
587
  const error = new Error(message);
588
588
  if (name && name !== 'VError') {
589
- error.name = name;
589
+ Object.defineProperty(error, 'name', {
590
+ configurable: true,
591
+ value: name
592
+ });
590
593
  }
591
594
  return error;
592
595
  }
@@ -603,8 +606,10 @@ const getCurrentStack = () => {
603
606
  const currentStack = joinLines(splitLines(new Error().stack || '').slice(stackLinesToSkip));
604
607
  return currentStack;
605
608
  };
606
- const getNewLineIndex = (string, startIndex = undefined) => {
607
- return string.indexOf(NewLine, startIndex);
609
+ const getNewLineIndex = (string, startIndex) => {
610
+ {
611
+ return string.indexOf(NewLine);
612
+ }
608
613
  };
609
614
  const getParentStack = error => {
610
615
  let parentStack = error.stack || error.data || error.message || '';
@@ -615,55 +620,91 @@ const getParentStack = error => {
615
620
  };
616
621
  const MethodNotFound = -32601;
617
622
  const Custom = -32001;
623
+ const setStack = (error, stack) => {
624
+ const descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
625
+ if (descriptor) {
626
+ if (!descriptor.configurable && !descriptor.writable) {
627
+ return;
628
+ }
629
+ if (!descriptor.configurable && descriptor.writable) {
630
+ error.stack = stack;
631
+ return;
632
+ }
633
+ }
634
+ Object.defineProperty(error, 'stack', {
635
+ configurable: true,
636
+ value: stack,
637
+ writable: true
638
+ });
639
+ };
640
+ const restoreExistingError = (error, currentStack) => {
641
+ if (typeof error.stack === 'string') {
642
+ setStack(error, `${error.stack}${NewLine}${currentStack}`);
643
+ }
644
+ return error;
645
+ };
646
+ const restoreMethodNotFoundError = (error, currentStack) => {
647
+ const restoredError = new JsonRpcError(error.message);
648
+ const parentStack = getParentStack(error);
649
+ setStack(restoredError, `${parentStack}${NewLine}${currentStack}`);
650
+ return restoredError;
651
+ };
652
+ const restoreStackFromData = (restoredError, error, currentStack) => {
653
+ if (error.data.stack && error.data.type && error.message) {
654
+ setStack(restoredError, `${error.data.type}: ${error.message}${NewLine}${error.data.stack}${NewLine}${currentStack}`);
655
+ return;
656
+ }
657
+ if (error.data.stack) {
658
+ setStack(restoredError, error.data.stack);
659
+ }
660
+ };
661
+ const applyDataProperties = (restoredError, error) => {
662
+ restoreStackFromData(restoredError, error, getCurrentStack());
663
+ if (error.data.codeFrame) {
664
+ // @ts-ignore
665
+ restoredError.codeFrame = error.data.codeFrame;
666
+ }
667
+ if (error.data.code) {
668
+ // @ts-ignore
669
+ restoredError.code = error.data.code;
670
+ }
671
+ if (error.data.type) {
672
+ // @ts-ignore
673
+ restoredError.name = error.data.type;
674
+ }
675
+ };
676
+ const applyDirectProperties = (restoredError, error) => {
677
+ if (error.stack) {
678
+ const lowerStack = restoredError.stack || '';
679
+ const indexNewLine = getNewLineIndex(lowerStack);
680
+ const parentStack = getParentStack(error);
681
+ // @ts-ignore
682
+ setStack(restoredError, `${parentStack}${lowerStack.slice(indexNewLine)}`);
683
+ }
684
+ if (error.codeFrame) {
685
+ // @ts-ignore
686
+ restoredError.codeFrame = error.codeFrame;
687
+ }
688
+ };
689
+ const restoreMessageError = (error, _currentStack) => {
690
+ const restoredError = constructError(error.message, error.type, error.name);
691
+ if (error.data) {
692
+ applyDataProperties(restoredError, error);
693
+ } else {
694
+ applyDirectProperties(restoredError, error);
695
+ }
696
+ return restoredError;
697
+ };
618
698
  const restoreJsonRpcError = error => {
619
699
  const currentStack = getCurrentStack();
620
700
  if (error && error instanceof Error) {
621
- if (typeof error.stack === 'string') {
622
- error.stack = error.stack + NewLine + currentStack;
623
- }
624
- return error;
701
+ return restoreExistingError(error, currentStack);
625
702
  }
626
703
  if (error && error.code && error.code === MethodNotFound) {
627
- const restoredError = new JsonRpcError(error.message);
628
- const parentStack = getParentStack(error);
629
- restoredError.stack = parentStack + NewLine + currentStack;
630
- return restoredError;
704
+ return restoreMethodNotFoundError(error, currentStack);
631
705
  }
632
706
  if (error && error.message) {
633
- const restoredError = constructError(error.message, error.type, error.name);
634
- if (error.data) {
635
- if (error.data.stack && error.data.type && error.message) {
636
- restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
637
- } else if (error.data.stack) {
638
- restoredError.stack = error.data.stack;
639
- }
640
- if (error.data.codeFrame) {
641
- // @ts-ignore
642
- restoredError.codeFrame = error.data.codeFrame;
643
- }
644
- if (error.data.code) {
645
- // @ts-ignore
646
- restoredError.code = error.data.code;
647
- }
648
- if (error.data.type) {
649
- // @ts-ignore
650
- restoredError.name = error.data.type;
651
- }
652
- } else {
653
- if (error.stack) {
654
- const lowerStack = restoredError.stack || '';
655
- // @ts-ignore
656
- const indexNewLine = getNewLineIndex(lowerStack);
657
- const parentStack = getParentStack(error);
658
- // @ts-ignore
659
- restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
660
- }
661
- if (error.codeFrame) {
662
- // @ts-ignore
663
- restoredError.codeFrame = error.codeFrame;
664
- }
665
- }
666
- return restoredError;
707
+ return restoreMessageError(error);
667
708
  }
668
709
  if (typeof error === 'string') {
669
710
  return new Error(`JsonRpc Error: ${error}`);
@@ -1081,70 +1122,19 @@ const create$1 = rpcId => {
1081
1122
  };
1082
1123
  };
1083
1124
 
1084
- const None$1 = 'none';
1085
- const ToolBar = 'toolbar';
1086
- const Tree$1 = 'tree';
1087
- const TreeItem$1 = 'treeitem';
1088
-
1089
- const Badge = 'Badge';
1090
- const MaskIcon = 'MaskIcon';
1091
- const SourceControlBadge = 'SourceControlBadge';
1092
-
1093
- const Directory = 3;
1094
- const DirectoryExpanded = 4;
1095
- const File = 7;
1096
-
1097
- const Button$2 = 1;
1098
- const Div = 4;
1099
- const Span = 8;
1100
- const Text = 12;
1101
- const Img = 17;
1102
- const TextArea = 62;
1103
- const Reference = 100;
1104
-
1105
- const Button$1 = 'event.button';
1106
- const ClientX = 'event.clientX';
1107
- const ClientY = 'event.clientY';
1108
- const DeltaMode = 'event.deltaMode';
1109
- const DeltaY = 'event.deltaY';
1110
- const TargetName = 'event.target.name';
1111
- const TargetValue = 'event.target.value';
1112
-
1113
- const Enter = 3;
1114
-
1115
- const User = 1;
1116
- const Script = 2;
1117
-
1118
- const CtrlCmd = 1 << 11 >>> 0;
1119
-
1120
- const SourceControl$1 = 22;
1121
-
1122
- const None = 0;
1123
-
1124
- const Web = 1;
1125
-
1126
1125
  const ExtensionHostWorker = 44;
1127
1126
  const ExtensionManagementWorker = 9006;
1128
1127
  const IconThemeWorker = 7009;
1129
1128
  const RendererWorker = 1;
1130
1129
  const SourceControlWorker = 66;
1131
1130
 
1132
- const SetCss = 'Viewlet.setCss';
1133
- const SetDom2 = 'Viewlet.setDom2';
1134
- const SetFocusContext = 'Viewlet.setFocusContext';
1135
- const SetValueByName = 'Viewlet.setValueByName';
1136
-
1137
- const List$1 = 1;
1138
- const Tree = 2;
1139
-
1140
- const FocusSourceControlInput = 24;
1141
-
1142
1131
  const {
1143
- invoke: invoke$1,
1132
+ invoke: invoke$2,
1144
1133
  set: set$4
1145
1134
  } = create$1(ExtensionHostWorker);
1146
1135
 
1147
1136
  const {
1137
+ invoke: invoke$1,
1148
1138
  set: set$3
1149
1139
  } = create$1(ExtensionManagementWorker);
1150
1140
 
@@ -1309,6 +1299,58 @@ const terminate = () => {
1309
1299
  globalThis.close();
1310
1300
  };
1311
1301
 
1302
+ const None$1 = 'none';
1303
+ const ToolBar = 'toolbar';
1304
+ const Tree$1 = 'tree';
1305
+ const TreeItem$1 = 'treeitem';
1306
+
1307
+ const Badge = 'Badge';
1308
+ const MaskIcon = 'MaskIcon';
1309
+ const SourceControlBadge = 'SourceControlBadge';
1310
+
1311
+ const Directory = 3;
1312
+ const DirectoryExpanded = 4;
1313
+ const File = 7;
1314
+
1315
+ const Button$2 = 1;
1316
+ const Div = 4;
1317
+ const Span = 8;
1318
+ const Text = 12;
1319
+ const Img = 17;
1320
+ const TextArea = 62;
1321
+ const Reference = 100;
1322
+
1323
+ const Button$1 = 'event.button';
1324
+ const ClientX = 'event.clientX';
1325
+ const ClientY = 'event.clientY';
1326
+ const DeltaMode = 'event.deltaMode';
1327
+ const DeltaY = 'event.deltaY';
1328
+ const TargetName = 'event.target.name';
1329
+ const TargetValue = 'event.target.value';
1330
+
1331
+ const Enter = 3;
1332
+
1333
+ const User = 1;
1334
+ const Script = 2;
1335
+
1336
+ const CtrlCmd = 1 << 11 >>> 0;
1337
+
1338
+ const SourceControl$1 = 22;
1339
+
1340
+ const None = 0;
1341
+
1342
+ const Web = 1;
1343
+
1344
+ const SetCss = 'Viewlet.setCss';
1345
+ const SetDom2 = 'Viewlet.setDom2';
1346
+ const SetFocusContext = 'Viewlet.setFocusContext';
1347
+ const SetValueByName = 'Viewlet.setValueByName';
1348
+
1349
+ const List$1 = 1;
1350
+ const Tree = 2;
1351
+
1352
+ const FocusSourceControlInput = 24;
1353
+
1312
1354
  const getActualDecorationIcon = (iconDefinitions, icon) => {
1313
1355
  if (typeof icon === 'number') {
1314
1356
  const value = iconDefinitions[icon];
@@ -1477,7 +1519,7 @@ const executeProvider = async ({
1477
1519
  }) => {
1478
1520
  await activateByEvent(event, assetDir, platform);
1479
1521
  // @ts-ignore
1480
- const result = await invoke$1(method, ...params);
1522
+ const result = await invoke$2(method, ...params);
1481
1523
  return result;
1482
1524
  };
1483
1525
 
@@ -1582,7 +1624,7 @@ const getEnabledProviderIds$1 = (scheme, root, assetDir, platform) => {
1582
1624
  };
1583
1625
  const getIconDefinitions$1 = async providerId => {
1584
1626
  // @ts-ignore
1585
- const result = await invoke$1('ExtensionHostSourceControl.getIconDefinitions', providerId);
1627
+ const result = await invoke$2('ExtensionHostSourceControl.getIconDefinitions', providerId);
1586
1628
  return result;
1587
1629
  };
1588
1630
 
@@ -1734,6 +1776,114 @@ const getNumberOfVisibleItems = (listHeight, itemHeight) => {
1734
1776
  return Math.ceil(listHeight / itemHeight) + 1;
1735
1777
  };
1736
1778
 
1779
+ const emptyObject = {};
1780
+ const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1781
+ const i18nString = (key, placeholders = emptyObject) => {
1782
+ if (placeholders === emptyObject) {
1783
+ return key;
1784
+ }
1785
+ const replacer = (match, rest) => {
1786
+ return placeholders[rest];
1787
+ };
1788
+ return key.replaceAll(RE_PLACEHOLDER, replacer);
1789
+ };
1790
+
1791
+ const OpenChanges = 'Open Changes';
1792
+ const OpenFile = 'Open File';
1793
+ const OpenFileHead = 'Open File (HEAD)';
1794
+ const DiscardChanges = 'Discard Changes';
1795
+ const StageChanges = 'Stage Changes';
1796
+ const AddToGitignore = 'Add to gitignore';
1797
+ const RevealInExplorerView = 'Reveal in Explorer View';
1798
+ const OpenContainingFolder = 'Open Containing Folder';
1799
+ const ViewAsTree$1 = 'View As Tree';
1800
+ const CommitAndPush$1 = 'Commit and Push';
1801
+ const GenerateCommitMessage$1 = 'Generate Commit Message';
1802
+ const Refresh$2 = 'Refresh';
1803
+ const MessageEnterToCommitOnMaster = `Message (Enter) to commit on 'master'`;
1804
+ const SourceControlInput$1 = 'Source Control Input';
1805
+ const NoSourceControlProvider = 'No source control provider is enabled or installed.';
1806
+ const NoSourceControlExtensionsInstalled = 'No source control extensions are installed.';
1807
+ const SourceControlExtensionsDisabled = 'All installed source control extensions are disabled.';
1808
+ const NoSourceControlProviderForWorkspace = 'No source control provider is available for this workspace.';
1809
+
1810
+ const openChanges = () => {
1811
+ return i18nString(OpenChanges);
1812
+ };
1813
+ const openFile = () => {
1814
+ return i18nString(OpenFile);
1815
+ };
1816
+ const openFileHead = () => {
1817
+ return i18nString(OpenFileHead);
1818
+ };
1819
+ const discardChanges = () => {
1820
+ return i18nString(DiscardChanges);
1821
+ };
1822
+ const stageChanges = () => {
1823
+ return i18nString(StageChanges);
1824
+ };
1825
+ const addToGitignore = () => {
1826
+ return i18nString(AddToGitignore);
1827
+ };
1828
+ const revealInExplorerView = () => {
1829
+ return i18nString(RevealInExplorerView);
1830
+ };
1831
+ const openContainingFolder = () => {
1832
+ return i18nString(OpenContainingFolder);
1833
+ };
1834
+ const viewAsTree$1 = () => {
1835
+ return i18nString(ViewAsTree$1);
1836
+ };
1837
+ const commitAndPush = () => {
1838
+ return i18nString(CommitAndPush$1);
1839
+ };
1840
+ const generateCommitMessage = () => {
1841
+ return i18nString(GenerateCommitMessage$1);
1842
+ };
1843
+ const refresh$1 = () => {
1844
+ return i18nString(Refresh$2);
1845
+ };
1846
+ const messageEnterToCommitOnMaster = () => {
1847
+ return i18nString(MessageEnterToCommitOnMaster);
1848
+ };
1849
+ const sourceControlInput = () => {
1850
+ return i18nString(SourceControlInput$1);
1851
+ };
1852
+ const noSourceControlProvider = () => {
1853
+ return i18nString(NoSourceControlProvider);
1854
+ };
1855
+ const noSourceControlExtensionsInstalled = () => {
1856
+ return i18nString(NoSourceControlExtensionsInstalled);
1857
+ };
1858
+ const sourceControlExtensionsDisabled = () => {
1859
+ return i18nString(SourceControlExtensionsDisabled);
1860
+ };
1861
+ const noSourceControlProviderForWorkspace = () => {
1862
+ return i18nString(NoSourceControlProviderForWorkspace);
1863
+ };
1864
+
1865
+ const hasSourceControlActivation = extension => {
1866
+ return Array.isArray(extension?.activation) && extension.activation.some(activationEvent => typeof activationEvent === 'string' && (activationEvent === 'onSourceControl' || activationEvent.startsWith('onSourceControl:')));
1867
+ };
1868
+ const isSourceControlExtension = extension => {
1869
+ return Boolean(extension?.sourceControl) || hasSourceControlActivation(extension);
1870
+ };
1871
+ const getSourceControlUnavailableMessage = async (assetDir, platform) => {
1872
+ try {
1873
+ const extensions = await invoke$1('Extensions.getAllExtensions', assetDir, platform);
1874
+ const sourceControlExtensions = extensions.filter(isSourceControlExtension);
1875
+ if (sourceControlExtensions.length === 0) {
1876
+ return noSourceControlExtensionsInstalled();
1877
+ }
1878
+ if (sourceControlExtensions.every(extension => extension.disabled === true)) {
1879
+ return sourceControlExtensionsDisabled();
1880
+ }
1881
+ return noSourceControlProviderForWorkspace();
1882
+ } catch {
1883
+ return noSourceControlProvider();
1884
+ }
1885
+ };
1886
+
1737
1887
  const emptySourceControlButtons = [];
1738
1888
 
1739
1889
  const getContextId = (groupId, type) => {
@@ -1778,7 +1928,7 @@ const isCompatible = (extension, platform) => {
1778
1928
  return platform !== Web || extension?.compatibility?.web !== false;
1779
1929
  };
1780
1930
  const getExtensions = async platform => {
1781
- const extensions = await invoke$1('Extensions.getExtensions');
1931
+ const extensions = await invoke$2('Extensions.getExtensions');
1782
1932
  return extensions.filter(extension => isCompatible(extension, platform));
1783
1933
  };
1784
1934
 
@@ -1866,80 +2016,6 @@ const getNewDeltaPercent = (height, scrollBarHeight, relativeY) => {
1866
2016
  };
1867
2017
  };
1868
2018
 
1869
- const emptyObject = {};
1870
- const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1871
- const i18nString = (key, placeholders = emptyObject) => {
1872
- if (placeholders === emptyObject) {
1873
- return key;
1874
- }
1875
- const replacer = (match, rest) => {
1876
- return placeholders[rest];
1877
- };
1878
- return key.replaceAll(RE_PLACEHOLDER, replacer);
1879
- };
1880
-
1881
- const OpenChanges = 'Open Changes';
1882
- const OpenFile = 'Open File';
1883
- const OpenFileHead = 'Open File (HEAD)';
1884
- const DiscardChanges = 'Discard Changes';
1885
- const StageChanges = 'Stage Changes';
1886
- const AddToGitignore = 'Add to gitignore';
1887
- const RevealInExplorerView = 'Reveal in Explorer View';
1888
- const OpenContainingFolder = 'Open Containing Folder';
1889
- const ViewAsTree$1 = 'View As Tree';
1890
- const CommitAndPush$1 = 'Commit and Push';
1891
- const GenerateCommitMessage$1 = 'Generate Commit Message';
1892
- const Refresh$2 = 'Refresh';
1893
- const MessageEnterToCommitOnMaster = `Message (Enter) to commit on 'master'`;
1894
- const SourceControlInput$1 = 'Source Control Input';
1895
- const NoSourceControlProvider = 'No source control provider is enabled or installed.';
1896
-
1897
- const openChanges = () => {
1898
- return i18nString(OpenChanges);
1899
- };
1900
- const openFile = () => {
1901
- return i18nString(OpenFile);
1902
- };
1903
- const openFileHead = () => {
1904
- return i18nString(OpenFileHead);
1905
- };
1906
- const discardChanges = () => {
1907
- return i18nString(DiscardChanges);
1908
- };
1909
- const stageChanges = () => {
1910
- return i18nString(StageChanges);
1911
- };
1912
- const addToGitignore = () => {
1913
- return i18nString(AddToGitignore);
1914
- };
1915
- const revealInExplorerView = () => {
1916
- return i18nString(RevealInExplorerView);
1917
- };
1918
- const openContainingFolder = () => {
1919
- return i18nString(OpenContainingFolder);
1920
- };
1921
- const viewAsTree$1 = () => {
1922
- return i18nString(ViewAsTree$1);
1923
- };
1924
- const commitAndPush = () => {
1925
- return i18nString(CommitAndPush$1);
1926
- };
1927
- const generateCommitMessage = () => {
1928
- return i18nString(GenerateCommitMessage$1);
1929
- };
1930
- const refresh$1 = () => {
1931
- return i18nString(Refresh$2);
1932
- };
1933
- const messageEnterToCommitOnMaster = () => {
1934
- return i18nString(MessageEnterToCommitOnMaster);
1935
- };
1936
- const sourceControlInput = () => {
1937
- return i18nString(SourceControlInput$1);
1938
- };
1939
- const noSourceControlProvider = () => {
1940
- return i18nString(NoSourceControlProvider);
1941
- };
1942
-
1943
2019
  const loadContent = async (state, savedState) => {
1944
2020
  const {
1945
2021
  fileIconCache,
@@ -1965,6 +2041,7 @@ const loadContent = async (state, savedState) => {
1965
2041
  platform
1966
2042
  } = state;
1967
2043
  const enabledProviderIds = await getEnabledProviderIds(scheme, root, assetDir, platform);
2044
+ const providerUnavailableMessage = enabledProviderIds.length === 0 ? await getSourceControlUnavailableMessage(assetDir, platform) : '';
1968
2045
  const showGenerateCommitMessageButton = enabledProviderIds.length === 0 ? false : await getShowGenerateCommitMessageButton(enabledProviderIds[0], assetDir, platform);
1969
2046
  const iconDefinitions = await getIconDefinitions(enabledProviderIds);
1970
2047
  const {
@@ -2012,6 +2089,7 @@ const loadContent = async (state, savedState) => {
2012
2089
  items: displayItems,
2013
2090
  loading: false,
2014
2091
  maxLineY,
2092
+ providerUnavailableMessage,
2015
2093
  root,
2016
2094
  scrollBarHeight,
2017
2095
  showGenerateCommitMessageButton,
@@ -2097,6 +2175,7 @@ const createDefaultState = () => ({
2097
2175
  minLineY: 0,
2098
2176
  platform: 0,
2099
2177
  providerId: '',
2178
+ providerUnavailableMessage: '',
2100
2179
  root: '/',
2101
2180
  scrollBarActive: false,
2102
2181
  scrollBarHeight: 0,
@@ -2158,7 +2237,7 @@ const isEqual$3 = (oldState, newState) => {
2158
2237
  };
2159
2238
 
2160
2239
  const isEqual$2 = (oldState, newState) => {
2161
- return oldState.allGroups === newState.allGroups && oldState.deltaY === newState.deltaY && oldState.items === newState.items && oldState.loading === newState.loading && oldState.maxLineY === newState.maxLineY && oldState.minLineY === newState.minLineY && oldState.scrollBarActive === newState.scrollBarActive && oldState.scrollBarHeight === newState.scrollBarHeight && oldState.sourceControlButtons === newState.sourceControlButtons && oldState.visibleItems === newState.visibleItems;
2240
+ return oldState.allGroups === newState.allGroups && oldState.deltaY === newState.deltaY && oldState.items === newState.items && oldState.loading === newState.loading && oldState.maxLineY === newState.maxLineY && oldState.minLineY === newState.minLineY && oldState.providerUnavailableMessage === newState.providerUnavailableMessage && oldState.scrollBarActive === newState.scrollBarActive && oldState.scrollBarHeight === newState.scrollBarHeight && oldState.sourceControlButtons === newState.sourceControlButtons && oldState.visibleItems === newState.visibleItems;
2162
2241
  };
2163
2242
 
2164
2243
  const RenderItems = 4;
@@ -3564,13 +3643,13 @@ const getSourceControlVirtualDom = (items, buttons, disabled, placeholder, input
3564
3643
 
3565
3644
  const renderItems = (oldState, newState) => {
3566
3645
  const {
3567
- enabledProviderIds,
3568
3646
  id,
3569
3647
  initial,
3570
3648
  inputMessage,
3571
3649
  inputPlaceholder,
3572
3650
  items,
3573
3651
  loading,
3652
+ providerUnavailableMessage,
3574
3653
  scrollBarActive,
3575
3654
  scrollBarHeight,
3576
3655
  sourceControlButtons,
@@ -3579,7 +3658,7 @@ const renderItems = (oldState, newState) => {
3579
3658
  if (initial) {
3580
3659
  return [SetDom2, id, []];
3581
3660
  }
3582
- const unavailableMessage = !loading && enabledProviderIds.length === 0 ? noSourceControlProvider() : '';
3661
+ const unavailableMessage = loading ? '' : providerUnavailableMessage;
3583
3662
  const dom = getSourceControlVirtualDom(visibleItems, sourceControlButtons, items.length === 0, inputPlaceholder, inputMessage, unavailableMessage, loading, scrollBarHeight, scrollBarActive);
3584
3663
  return [SetDom2, id, dom];
3585
3664
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/source-control-worker",
3
- "version": "3.6.3",
3
+ "version": "3.6.4",
4
4
  "description": "Source Control Worker",
5
5
  "keywords": [
6
6
  "Lvce Editor"