Merge branch 'hotfix/v1.1.2' into develop
# Conflicts: # packages/client/src/components/Article/Body/index.js # packages/client/src/components/panels/OperationsPanel/index.js # packages/client/src/pages/About/AboutContent.js # packages/client/src/store/FilesActionsStore.js # products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFileDao.cs # yarn.lock
This commit is contained in:
commit
12558b8520
@ -1568,9 +1568,9 @@
|
||||
<ROW Key="xml" Component="tools" FileName="*.xml" Directory="tools_Dir" Options="17"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.XmlAttributeComponent">
|
||||
<ROW XmlAttribute="minlevel" XmlElement="logger" Name="minlevel" Flags="14" Order="0" Value="Trace"/>
|
||||
<ROW XmlAttribute="minlevel_1" XmlElement="logger_1" Name="minlevel" Flags="14" Order="0" Value="Trace"/>
|
||||
<ROW XmlAttribute="minlevel_2" XmlElement="logger_2" Name="minlevel" Flags="14" Order="0" Value="Trace"/>
|
||||
<ROW XmlAttribute="minlevel" XmlElement="logger" Name="minlevel" Flags="14" Order="0" Value="Warn"/>
|
||||
<ROW XmlAttribute="minlevel_1" XmlElement="logger_1" Name="minlevel" Flags="14" Order="0" Value="Warn"/>
|
||||
<ROW XmlAttribute="minlevel_2" XmlElement="logger_2" Name="minlevel" Flags="14" Order="0" Value="Warn"/>
|
||||
</COMPONENT>
|
||||
<COMPONENT cid="caphyon.advinst.msicomp.XmlElementComponent">
|
||||
<ROW XmlElement="logger" ParentElement="rules" Name="logger" Condition="ENVIRONMENT = "PRODUCT.ENVIRONMENT.SUB"" Order="0" Flags="22" UpdateIndexInParent="0"/>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Binary file not shown.
Before Width: | Height: | Size: 451 KiB After Width: | Height: | Size: 451 KiB |
Binary file not shown.
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 17 KiB |
@ -42,7 +42,6 @@ del /f /q build\install\win\Files\config\*.test.json
|
||||
del /f /q build\install\win\Files\config\*.dev.json
|
||||
|
||||
::default logging to warning
|
||||
%sed% -i "s/minlevel=\"Debug\""/minlevel=\"Warn\""/g" build\install\win\Files\config\nlog.config
|
||||
%sed% "s_\(\"Default\":\).*,_\1 \"Warning\",_g" -i build\install\win\Files\config\appsettings.json
|
||||
%sed% "s_\(\"logLevel\":\).*_\1 \"warning\"_g" -i build\install\win\Files\config\appsettings.services.json
|
||||
%sed% "/\"debug-info\": {/,/}/ s/\(\"enabled\": \)\".*\"/\1\"false\"/" -i build\install\win\Files\config\appsettings.json
|
||||
|
@ -12202,6 +12202,122 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>ErrorEmptyList</name>
|
||||
<description/>
|
||||
<comment/>
|
||||
<default_text/>
|
||||
<translations>
|
||||
<translation>
|
||||
<language>az-Latn-AZ</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>bg-BG</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>cs-CZ</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>de-DE</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>el-GR</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>en-US</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>es-ES</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fi-FI</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>fr-FR</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>hy-AM</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>it-IT</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>ja-JP</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>ko-KR</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>lo-LA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>lv-LV</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>nl-NL</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>pl-PL</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>pt-BR</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>pt-PT</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>ro-RO</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>ru-RU</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>sk-SK</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>sl-SI</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>tr-TR</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>uk-UA</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>vi-VN</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
<translation>
|
||||
<language>zh-CN</language>
|
||||
<approved>false</approved>
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>ErrorInternalServer</name>
|
||||
<description/>
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "docspace",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"workspaces": {
|
||||
"packages": [
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@docspace/client",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"homepage": "",
|
||||
"scripts": {
|
||||
|
@ -143,7 +143,12 @@ const AboutContent = (props) => {
|
||||
ONLYOFFICE DocSpace
|
||||
</ColorTheme>
|
||||
|
||||
<Text className="row-el select-el" fontSize="13px" fontWeight="600">
|
||||
<Text
|
||||
className="row-el select-el"
|
||||
fontSize="13px"
|
||||
fontWeight="600"
|
||||
title={`${BUILD_AT}`}
|
||||
>
|
||||
v.
|
||||
<span className="version-document-management">
|
||||
{buildVersionInfo.docspace}
|
||||
|
@ -54,7 +54,7 @@ const Dialogs = ({
|
||||
<ChangePasswordDialog
|
||||
visible={changePasswordVisible}
|
||||
onClose={() => setChangePasswordVisible(false)}
|
||||
email={profile.email}
|
||||
email={data.email}
|
||||
/>
|
||||
)}
|
||||
{changeOwner && (
|
||||
|
@ -28,6 +28,7 @@ const WhiteLabel = (props) => {
|
||||
isSettingPaid,
|
||||
logoText,
|
||||
logoUrls,
|
||||
setLogoText,
|
||||
restoreWhiteLabelSettings,
|
||||
getWhiteLabelLogoUrls,
|
||||
setWhiteLabelSettings,
|
||||
@ -43,10 +44,12 @@ const WhiteLabel = (props) => {
|
||||
const [logoUrlsWhiteLabel, setLogoUrlsWhiteLabel] = useState(null);
|
||||
const [isSaving, setIsSaving] = useState(false);
|
||||
|
||||
const companyNameFromSessionStorage = getFromSessionStorage("companyName");
|
||||
|
||||
useEffect(() => {
|
||||
const companyNameFromSessionStorage = getFromSessionStorage("companyName");
|
||||
|
||||
if (!companyNameFromSessionStorage) {
|
||||
if (!logoText) return;
|
||||
|
||||
setLogoTextWhiteLabel(logoText);
|
||||
saveToSessionStorage("companyName", logoText);
|
||||
} else {
|
||||
@ -181,7 +184,9 @@ const WhiteLabel = (props) => {
|
||||
setIsSaving(true);
|
||||
await setWhiteLabelSettings(data);
|
||||
await getWhiteLabelLogoUrls();
|
||||
await getWhiteLabelLogoUrlsAction(); //TODO: delete duplicate request
|
||||
await getWhiteLabelLogoUrlsAction();
|
||||
setLogoText(data.logoText);
|
||||
//TODO: delete duplicate request
|
||||
toastr.success(t("Settings:SuccessfullySaveSettingsMessage"));
|
||||
} catch (error) {
|
||||
toastr.error(error);
|
||||
@ -471,6 +476,7 @@ export default inject(({ setup, auth, common }) => {
|
||||
const { setWhiteLabelSettings } = setup;
|
||||
|
||||
const {
|
||||
setLogoText,
|
||||
whiteLabelLogoText,
|
||||
getWhiteLabelLogoText,
|
||||
whiteLabelLogoUrls,
|
||||
@ -484,6 +490,7 @@ export default inject(({ setup, auth, common }) => {
|
||||
} = auth.settingsStore;
|
||||
|
||||
return {
|
||||
setLogoText,
|
||||
theme: auth.settingsStore.theme,
|
||||
logoText: whiteLabelLogoText,
|
||||
logoUrls: whiteLabelLogoUrls,
|
||||
|
@ -115,9 +115,9 @@ export const resetSessionStorage = () => {
|
||||
if (storagePeriodSettings !== defaultStoragePeriodSettings) {
|
||||
saveToSessionStorage("storagePeriod", defaultStoragePeriodSettings);
|
||||
}
|
||||
if (companyNameFromeSessionStorage !== "ONLYOFFICE") {
|
||||
saveToSessionStorage("companyName", "ONLYOFFICE");
|
||||
}
|
||||
|
||||
sessionStorage.removeItem("companyName");
|
||||
|
||||
if (
|
||||
companySettingsFromSessionStorage !==
|
||||
defaultCompanySettingsFromSessionStorage
|
||||
|
@ -81,7 +81,7 @@ class AccountsContextOptionsStore {
|
||||
key: option,
|
||||
icon: ChangeSecurityReactSvgUrl,
|
||||
label: t("PeopleTranslations:PasswordChangeButton"),
|
||||
onClick: this.toggleChangePasswordDialog,
|
||||
onClick: () => this.toggleChangePasswordDialog(item),
|
||||
};
|
||||
case "change-owner":
|
||||
return {
|
||||
@ -313,8 +313,14 @@ class AccountsContextOptionsStore {
|
||||
setChangeEmailVisible(true);
|
||||
};
|
||||
|
||||
toggleChangePasswordDialog = () => {
|
||||
toggleChangePasswordDialog = (item) => {
|
||||
const { setDialogData } = this.peopleStore.dialogStore;
|
||||
const { setChangePasswordVisible } = this.peopleStore.targetUserStore;
|
||||
const { email } = item;
|
||||
|
||||
setDialogData({
|
||||
email,
|
||||
});
|
||||
setChangePasswordVisible(true);
|
||||
};
|
||||
|
||||
|
@ -92,12 +92,12 @@ class DialogsStore {
|
||||
this.restoreAllArchive = restoreAllArchive;
|
||||
};
|
||||
|
||||
setArchiveDialogVisible = (archiveDialogVisible) => {
|
||||
this.archiveDialogVisible = archiveDialogVisible;
|
||||
setArchiveDialogVisible = (visible) => {
|
||||
this.archiveDialogVisible = visible;
|
||||
};
|
||||
|
||||
setRestoreRoomDialogVisible = (restoreRoomDialogVisible) => {
|
||||
this.restoreRoomDialogVisible = restoreRoomDialogVisible;
|
||||
setRestoreRoomDialogVisible = (visible) => {
|
||||
this.restoreRoomDialogVisible = visible;
|
||||
};
|
||||
|
||||
setSharingPanelVisible = (sharingPanelVisible) => {
|
||||
@ -116,18 +116,36 @@ class DialogsStore {
|
||||
this.ownerPanelVisible = ownerPanelVisible;
|
||||
};
|
||||
|
||||
setMoveToPanelVisible = (moveToPanelVisible) => {
|
||||
!moveToPanelVisible && this.deselectActiveFiles();
|
||||
this.moveToPanelVisible = moveToPanelVisible;
|
||||
setMoveToPanelVisible = (visible) => {
|
||||
!visible && this.deselectActiveFiles();
|
||||
|
||||
if (
|
||||
visible &&
|
||||
!this.filesStore.hasSelection &&
|
||||
!this.filesStore.hasBufferSelection
|
||||
)
|
||||
return;
|
||||
|
||||
this.moveToPanelVisible = visible;
|
||||
};
|
||||
|
||||
setRestoreAllPanelVisible = (restoreAllPanelVisible) => {
|
||||
this.restoreAllPanelVisible = restoreAllPanelVisible;
|
||||
setRestoreAllPanelVisible = (visible) => {
|
||||
this.restoreAllPanelVisible = visible;
|
||||
};
|
||||
|
||||
setCopyPanelVisible = (copyPanelVisible) => {
|
||||
!copyPanelVisible && this.deselectActiveFiles();
|
||||
this.copyPanelVisible = copyPanelVisible;
|
||||
setCopyPanelVisible = (visible) => {
|
||||
!visible && this.deselectActiveFiles();
|
||||
|
||||
if (
|
||||
visible &&
|
||||
!this.filesStore.hasSelection &&
|
||||
!this.filesStore.hasBufferSelection
|
||||
) {
|
||||
console.log("No files selected");
|
||||
return;
|
||||
}
|
||||
|
||||
this.copyPanelVisible = visible;
|
||||
};
|
||||
|
||||
setRoomCreation = (roomCreation) => {
|
||||
|
@ -1009,6 +1009,7 @@ class FilesStore {
|
||||
};
|
||||
|
||||
setSelection = (selection) => {
|
||||
// console.log("setSelection", selection);
|
||||
this.selection = selection;
|
||||
};
|
||||
|
||||
@ -1090,6 +1091,7 @@ class FilesStore {
|
||||
};
|
||||
|
||||
setBufferSelection = (bufferSelection) => {
|
||||
// console.log("setBufferSelection", bufferSelection);
|
||||
this.bufferSelection = bufferSelection;
|
||||
};
|
||||
|
||||
@ -1345,7 +1347,26 @@ class FilesStore {
|
||||
|
||||
if (clearFilter) {
|
||||
if (clearSelection) {
|
||||
// Find not processed
|
||||
const tempSelection = this.selection.filter(
|
||||
(f) => !this.activeFiles.find((elem) => elem.id === f.id)
|
||||
);
|
||||
const tempBuffer =
|
||||
this.bufferSelection &&
|
||||
this.activeFiles.find(
|
||||
(elem) => elem.id === this.bufferSelection.id
|
||||
) == null
|
||||
? this.bufferSelection
|
||||
: null;
|
||||
|
||||
// console.log({ tempSelection, tempBuffer });
|
||||
|
||||
// Clear all selections
|
||||
this.setSelected("close");
|
||||
|
||||
// Restore not processed
|
||||
tempSelection.length && this.setSelection(tempSelection);
|
||||
tempBuffer && this.setBufferSelection(tempBuffer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1482,7 +1503,8 @@ class FilesStore {
|
||||
filter,
|
||||
clearFilter = true,
|
||||
withSubfolders = false,
|
||||
clearSelection = true
|
||||
clearSelection = true,
|
||||
withFilterLocalStorage = false
|
||||
) => {
|
||||
const { setSelectedNode, roomsFolderId } = this.treeFoldersStore;
|
||||
|
||||
@ -1497,7 +1519,7 @@ class FilesStore {
|
||||
`UserRoomsFilter=${this.authStore.userStore.user?.id}`
|
||||
);
|
||||
|
||||
if (filterStorageItem && !filter) {
|
||||
if ((filterStorageItem && !filter) || withFilterLocalStorage) {
|
||||
const splitFilter = filterStorageItem.split(",");
|
||||
|
||||
filterData.sortBy = splitFilter[0];
|
||||
@ -3138,19 +3160,21 @@ class FilesStore {
|
||||
}
|
||||
|
||||
get selectionTitle() {
|
||||
if (this.selection.length === 0) {
|
||||
if (this.bufferSelection) {
|
||||
return this.bufferSelection.title;
|
||||
}
|
||||
return null;
|
||||
if (this.selection.length === 0 && this.bufferSelection) {
|
||||
return this.bufferSelection.title;
|
||||
}
|
||||
return this.selection.find((el) => el.title).title;
|
||||
|
||||
return this.selection.find((el) => el.title)?.title || null;
|
||||
}
|
||||
|
||||
get hasSelection() {
|
||||
return !!this.selection.length;
|
||||
}
|
||||
|
||||
get hasBufferSelection() {
|
||||
return !!this.bufferSelection;
|
||||
}
|
||||
|
||||
get isEmptyFilesList() {
|
||||
const filesList = [...this.files, ...this.folders];
|
||||
return filesList.length <= 0;
|
||||
|
@ -75,19 +75,23 @@ class VersionHistoryStore {
|
||||
setVerHistoryFileVersions = (versions) => {
|
||||
const file = this.filesStore.files.find((item) => item.id == this.fileId);
|
||||
|
||||
const currentVersionGroup = Math.max.apply(
|
||||
null,
|
||||
versions.map((ver) => ver.versionGroup)
|
||||
);
|
||||
const currentVersion = versions.reduce((prev, current) => {
|
||||
return prev.versionGroup > current.versionGroup ? prev : current;
|
||||
});
|
||||
|
||||
const currentComment =
|
||||
versions[versions.length - currentVersionGroup].comment;
|
||||
// const currentVersionGroup = Math.max.apply(
|
||||
// null,
|
||||
// versions.map((ver) => ver.versionGroup)
|
||||
// );
|
||||
|
||||
// const currentComment =
|
||||
// versions[versions.length - currentVersionGroup].comment;
|
||||
|
||||
const newFile = {
|
||||
...file,
|
||||
comment: currentComment,
|
||||
comment: currentVersion.comment,
|
||||
version: versions.length,
|
||||
versionGroup: currentVersionGroup,
|
||||
versionGroup: currentVersion.versionGroup,
|
||||
};
|
||||
|
||||
this.filesStore.setFile(newFile);
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@docspace/common",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "echo 'skip it'",
|
||||
|
@ -12,7 +12,7 @@ const LoginContainer = styled.div`
|
||||
z-index: 0;
|
||||
|
||||
.remember-wrapper {
|
||||
max-width: 142px;
|
||||
max-width: 170px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@docspace/components",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "echo 'skip it'",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@docspace/editor",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"homepage": "/doceditor",
|
||||
"scripts": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@docspace/login",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"private": true,
|
||||
"homepage": "/login",
|
||||
"scripts": {
|
||||
|
@ -442,21 +442,10 @@ internal class GoogleDriveStorage : IThirdPartyStorage<DriveFile, DriveFile, Dri
|
||||
{
|
||||
response = await httpClient.SendAsync(request);
|
||||
}
|
||||
catch (HttpRequestException exception) // todo create catch
|
||||
catch (Exception exception) // todo create catch
|
||||
{
|
||||
/*if (exception. != null && exception.Response.Headers.AllKeys.Contains("Range")) if (exception.Status == WebExceptionStatus.ProtocolError || exception.Status == WebExceptionStatus.UnknownError) //Status is UnknownError (unix)
|
||||
{
|
||||
response = exception.Response;
|
||||
}
|
||||
else if (exception.Message.Equals("Invalid status code: 308", StringComparison.InvariantCulture)) //response is null (unix)
|
||||
{
|
||||
response = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw;
|
||||
}*/
|
||||
throw exception;
|
||||
_logger.ErrorWithException(exception);
|
||||
throw;
|
||||
}
|
||||
|
||||
if (response == null || response.StatusCode != HttpStatusCode.Created && response.StatusCode != HttpStatusCode.OK)
|
||||
|
@ -1807,8 +1807,8 @@ public class EntryManager
|
||||
lastVersionFile = await UpdateToVersionFileAsync(fileVersion.Id, fileVersion.Version, null, checkRight, true);
|
||||
}
|
||||
|
||||
await fileDao.CompleteVersionAsync(fileVersion.Id, fileVersion.Version);
|
||||
lastVersionFile.VersionGroup++;
|
||||
//await fileDao.CompleteVersionAsync(fileVersion.Id, fileVersion.Version);
|
||||
//lastVersionFile.VersionGroup++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -106,6 +106,7 @@
|
||||
"EncryptionKeysReload": "Encryption keys must be re-entered",
|
||||
"EnterName": "Enter name",
|
||||
"Error": "Error",
|
||||
"ErrorEmptyList": "The list of entities has been changed. Please check the contents and try again.",
|
||||
"ErrorInternalServer": "Internal server error. Try again later.",
|
||||
"ErrorReport": "Error report",
|
||||
"ErrorReportDescription": "Open the report below to see what data is included. Error reports do not contain any personal data of the users. To help our team better understand the problem, describe it in the free form using the comment field.",
|
||||
|
@ -104,6 +104,7 @@
|
||||
"EncryptionKeysReload": "Ключи шифрования необходимо ввести повторно",
|
||||
"EnterName": "Введите имя",
|
||||
"Error": "Ошибка",
|
||||
"ErrorEmptyList": "Список сущностей изменен. Пожалуйста, проверьте содержимое и повторите попытку.",
|
||||
"ErrorInternalServer": "Внутренняя ошибка сервера. Повторите попытку позже.",
|
||||
"ErrorReport": "Сообщение об ошибке",
|
||||
"ErrorReportDescription": "Откройте отчет ниже, чтобы увидеть, какие данные в него включены. Отчеты об ошибках не содержат персональных данных пользователей. Чтобы помочь нашей команде понять проблему наилучшим образом, опишите ее в свободной форме в поле для комментариев.",
|
||||
|
Loading…
Reference in New Issue
Block a user