Merge branch 'hotfix/v1.1.2' of github.com:ONLYOFFICE/DocSpace into hotfix/v1.1.2

This commit is contained in:
Akmal Isomadinov 2023-08-04 17:18:51 +05:00
commit bd5ce03c70
122 changed files with 1351 additions and 831 deletions

View File

@ -14,7 +14,7 @@ $Doceditor = ($LocalIp + ":5013")
$Login = ($LocalIp + ":5011")
$Client = ($LocalIp + ":5001")
$PortalUrl = ("http://" + $LocalIp + ":8092")
$ProxyVersion="v1.0.0"
# Stop all backend services"
& "$PSScriptRoot\start\stop.backend.docker.ps1"
@ -27,13 +27,26 @@ docker compose -f "$DockerDir\db.yml" up -d
Write-Host "Build backend services (to `publish/` folder)" -ForegroundColor Green
& "$PSScriptRoot\install\common\build-services.ps1"
Set-Location -Path $DockerDir
Set-Location -Path $RootDir
if ($args[0] -eq "--build_proxy") {
$ProxyVersion="v9.9.9"
$Exists= docker images --format "{{.Repository}}:{{.Tag}}" | findstr "onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion"
if (!$Exists) {
Write-Host "Build proxy base image from source (apply new nginx config)" -ForegroundColor Green
docker build -t "onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion" -f "$DockerDir\Dockerfile.runtime" --target proxy .
} else {
Write-Host "SKIP build proxy base image (already exists)" -ForegroundColor Green
}
}
Write-Host "Run migration and services" -ForegroundColor Green
$Env:ENV_EXTENSION="dev"
$Env:Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:v1.0.0"
$Env:Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:v1.0.0"
$Env:Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:v1.0.0"
$Env:Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion"
$Env:DOCUMENT_SERVER_IMAGE_NAME="onlyoffice/documentserver-de:latest"
$Env:SERVICE_DOCEDITOR=$Doceditor
$Env:SERVICE_LOGIN=$Login
@ -43,6 +56,6 @@ $Env:BUILD_PATH="/var/www"
$Env:SRC_PATH="$RootDir\publish\services"
$Env:DATA_DIR="$RootDir\Data"
$Env:APP_URL_PORTAL=$PortalUrl
docker compose -f docspace.profiles.yml -f docspace.overcome.yml --profile migration-runner --profile backend-local up -d
docker compose -f "$DockerDir\docspace.profiles.yml" -f "$DockerDir\docspace.overcome.yml" --profile migration-runner --profile backend-local up -d
Set-Location -Path $PSScriptRoot

View File

@ -48,11 +48,27 @@ rm -rf $dir/publish
echo "Build backend services (to "publish/" folder)"
bash $dir/build/install/common/build-services.sh -pb backend-publish -pc Debug -de "$dockerDir/docker-entrypoint.py"
proxy_version=v1.0.0
if [ "$1" = "--build_proxy" ]; then
proxy_version=v9.9.9
exists=$(docker images | egrep "onlyoffice/4testing-docspace-proxy-runtime" | egrep "$proxy_version" | awk 'NR>0 {print $1 ":" $2}')
if [ "${exists}" = "" ]; then
echo "Build proxy base image from source (apply new nginx config)"
docker build -t onlyoffice/4testing-docspace-proxy-runtime:$proxy_version -f ./build/install/docker/Dockerfile.runtime --target proxy .
else
echo "SKIP build proxy base image (already exists)"
fi
fi
echo "Run migration and services"
ENV_EXTENSION="dev" \
Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:v1.0.0" \
Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:v1.0.0" \
Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:v1.0.0" \
Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:$proxy_version" \
DOCUMENT_SERVER_IMAGE_NAME=onlyoffice/documentserver-de:latest \
SERVICE_DOCEDITOR=$doceditor \
SERVICE_LOGIN=$login \

View File

@ -84,7 +84,7 @@ ENV DNS_NAMESERVER=127.0.0.11 \
MAP_HASH_BUCKET_SIZE=""
RUN apt-get -y update && \
apt-get install -yq vim && \
apt-get install -yq vim dos2unix && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /usr/share/nginx/html/*
@ -94,6 +94,10 @@ COPY /build/install/docker/config/nginx/templates/upstream.conf.template /etc/ng
COPY /build/install/docker/config/nginx/templates/nginx.conf.template /etc/nginx/nginx.conf.template
COPY /build/install/docker/prepare-nginx-proxy.sh /docker-entrypoint.d/prepare-nginx-proxy.sh
RUN dos2unix /docker-entrypoint.d/prepare-nginx-proxy.sh && \
apt-get --purge remove -y dos2unix && \
rm -rf /var/lib/apt/lists/*
# todo modify for client
# add defualt user and group for no-root run
RUN chown nginx:nginx /etc/nginx/* -R && \

View File

@ -26,29 +26,51 @@
namespace ASC.Core.Billing;
/// <summary>
/// </summary>
[Serializable]
[DebuggerDisplay("{DueDate}")]
public class License
{
/// <summary>Original license</summary>
/// <type>System.String, System</type>
public string OriginalLicense { get; set; }
/// <summary>Specifies if the license is customizable or not</summary>
/// <type>System.Boolean, System</type>
public bool Customization { get; set; }
/// <summary>License due date</summary>
/// <type>System.DateTime, System</type>
[JsonPropertyName("end_date")]
public DateTime DueDate { get; set; }
/// <summary>Specifies if the license is trial or not</summary>
/// <type>System.Boolean, System</type>
public bool Trial { get; set; }
/// <summary>Customer ID</summary>
/// <type>System.String, System</type>
[JsonPropertyName("customer_id")]
public string CustomerId { get; set; }
/// <summary>Number of document server users</summary>
/// <type>System.Int32, System</type>
[JsonPropertyName("users_count")]
public int DSUsersCount { get; set; }
/// <summary>Number of users whose licenses have expired</summary>
/// <type>System.Int32, System</type>
[JsonPropertyName("users_expire")]
public int DSUsersExpire { get; set; }
/// <summary>Number of document server connections</summary>
/// <type>System.Int32, System</type>
[JsonPropertyName("connections")]
public int DSConnections { get; set; }
/// <summary>License signature</summary>
/// <type>System.String, System</type>
[JsonPropertyName("signature")]
public string Signature { get; set; }
@ -139,4 +161,4 @@ public class LicenseConverter : System.Text.Json.Serialization.JsonConverter<obj
{
return;
}
}
}

View File

@ -26,6 +26,8 @@
namespace ASC.Core;
/// <summary>
/// </summary>
public enum AccountLoginType
{
SSO,

View File

@ -25,6 +25,9 @@
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
namespace ASC.Core;
/// <summary>
/// </summary>
public enum Payments
{
Paid = 0,

View File

@ -116,8 +116,13 @@ server {
try_files /$basename /index.html =404;
}
location ~* /static/fonts/ {
try_files /fonts/$basename /index.html =404;
location ~* /static/css/ {
try_files /css/$basename /index.html =404;
}
location ~* /static/fonts/(?<content>[^/]+) {
try_files /fonts/$content/$basename /index.html =404;
}
location ~* /static/offline/ {
@ -147,8 +152,8 @@ server {
location /doceditor {
proxy_pass http://127.0.0.1:5013;
proxy_redirect off;
proxy_redirect off;
location ~* /static/favicon.ico {
try_files /$basename /index.html =404;
}
@ -157,15 +162,19 @@ server {
try_files /images/$1 /index.html =404;
}
location ~* /static/fonts/ {
try_files /fonts/$basename /index.html =404;
location ~* /static/css/ {
try_files /css/$basename /index.html =404;
}
location ~* /static/fonts/(?<content>[^/]+) {
try_files /fonts/$content/$basename /index.html =404;
}
}
location /login {
proxy_pass http://127.0.0.1:5011;
proxy_redirect off;
proxy_redirect off;
location ~* /static/favicon.ico {
try_files /$basename /index.html =404;
}
@ -174,8 +183,12 @@ server {
try_files /images/$1 /index.html =404;
}
location ~* /static/fonts/ {
try_files /fonts/$basename /index.html =404;
location ~* /static/css/ {
try_files /css/$basename /index.html =404;
}
location ~* /static/fonts/(?<content>[^/]+) {
try_files /fonts/$content/$basename /index.html =404;
}
}

View File

@ -7,7 +7,7 @@ import { decodeDisplayName } from "../../utils";
import { getRooms } from "../rooms";
import RoomsFilter from "../rooms/filter";
export function openEdit(fileId, version, doc, view) {
export function openEdit(fileId, version, doc, view, headers = null) {
const params = []; // doc ? `?doc=${doc}` : "";
if (view) {
@ -29,6 +29,8 @@ export function openEdit(fileId, version, doc, view) {
url: `/files/file/${fileId}/openedit${paramsString}`,
};
if (headers) options.headers = headers;
return request(options);
}
@ -781,8 +783,12 @@ export function openConnectWindow(service) {
return request({ method: "get", url: `thirdparty/${service}` });
}
export function getSettingsFiles() {
return request({ method: "get", url: `/files/settings` });
export function getSettingsFiles(headers = null) {
const options = { method: "get", url: `/files/settings` };
if (headers) options.headers = headers;
return request(options);
}
export function markAsFavorite(ids) {

View File

@ -30,12 +30,16 @@ export function getUserList(filter = Filter.getDefault(), fake = false) {
});
}
export function getUser(userName = null) {
return request({
export function getUser(userName = null, headers = null) {
const options = {
method: "get",
url: `/people/${userName || "@self"}`,
skipUnauthorized: true,
}).then((user) => {
};
if (headers) options.headers = headers;
return request(options).then((user) => {
if (user && user.displayName) {
user.displayName = Encoder.htmlDecode(user.displayName);
}

View File

@ -1,11 +1,15 @@
import { request } from "../client";
import axios from "axios";
export function getSettings(withPassword = false) {
return request({
export function getSettings(withPassword = false, headers = null) {
const options = {
method: "get",
url: `/settings?withPassword=${withPassword}`,
});
};
if (headers) options.headers = headers;
return request(options);
}
export function getPortalCultures() {
@ -179,11 +183,15 @@ export function restoreGreetingSettings() {
});
}
export function getAppearanceTheme() {
return request({
export function getAppearanceTheme(headers = null) {
const options = {
method: "get",
url: "/settings/colortheme",
});
};
if (headers) options.headers = headers;
return request(options);
}
export function sendAppearanceTheme(data) {
@ -208,11 +216,15 @@ export function getLogoText() {
});
}
export function getLogoUrls() {
return request({
export function getLogoUrls(headers = null) {
const options = {
method: "get",
url: `/settings/whitelabel/logos`,
});
};
if (headers) options.headers = headers;
return request(options);
}
export function setWhiteLabelSettings(data) {
@ -567,11 +579,13 @@ export function getBackupStorage() {
return request(options);
}
export function getBuildVersion() {
export function getBuildVersion(headers = null) {
const options = {
method: "get",
url: "/settings/version/build",
};
if (headers) options.headers = headers;
return request(options);
}

View File

@ -1,7 +1,7 @@
// Override default variables before the import
$font-family-base: "Open Sans", sans-serif;
@import "./opensansoffline.scss";
@import url(../../public/css/fonts.css);
html,
body {

View File

@ -1 +0,0 @@
export { default as fonts } from "./opensansoffline.scss";

View File

@ -1,720 +0,0 @@
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTa-j2U0lmluP9RWlSytm3ho.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTZX5f-9o1vgP2EXwfjgl7AY.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTRWV49_lSm1NYrwo-zkhivY.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTaaRobkAwv3vxw3jMhVENGA.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTf8zf_FOSsgRmwsS7Aa9k2w.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTT0LW-43aMEzIO6XUTLjad8.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 300;
src: local("Open Sans Light"), local("OpenSans-Light"),
url("../../public/fonts/DXI1ORHCpsQm3Vp6mXoaTegdm0LZdjqr5-oayXSOefg.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: local("Open Sans"), local("OpenSans"),
url("../../public/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNSq-j2U0lmluP9RWlSytm3ho.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNShWV49_lSm1NYrwo-zkhivY.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNSqaRobkAwv3vxw3jMhVENGA.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNSv8zf_FOSsgRmwsS7Aa9k2w.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNSj0LW-43aMEzIO6XUTLjad8.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 600;
src: local("Open Sans Semibold"), local("OpenSans-Semibold"),
url("../../public/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 700;
src: local("Open Sans Bold"), local("OpenSans-Bold"),
url("../../public/fonts/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hq-j2U0lmluP9RWlSytm3ho.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hpX5f-9o1vgP2EXwfjgl7AY.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hhWV49_lSm1NYrwo-zkhivY.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hqaRobkAwv3vxw3jMhVENGA.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hv8zf_FOSsgRmwsS7Aa9k2w.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hj0LW-43aMEzIO6XUTLjad8.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 800;
src: local("Open Sans Extrabold"), local("OpenSans-Extrabold"),
url("../../public/fonts/EInbV5DfGHOiMmvb1Xr-hugdm0LZdjqr5-oayXSOefg.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxhgVThLs8Y7ETJzDCYFCSLE.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxpiMaisvaUVUsYyVzOmndek.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxrBAWGjcah5Ky0jbCgIwDB8.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxv14vlcfyPYlAcQy2UfDRm4.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxqfJul7RR1X4poJgi27uS4w.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxqvyPXdneeGd26m9EmFSSWg.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 300;
src: local("Open Sans Light Italic"), local("OpenSansLight-Italic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxko2lTMeWA_kmIyWrkNCwPc.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBjTOQ_MqJVwkKsUn0wKzc2I.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBjUj_cnvWIuuBMVgbX098Mw.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBkbcKLIaa1LC45dFaAfauRA.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBmo_sUJ8uO4YLWRInS22T3Y.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBr6up8jxqWt8HVA3mDhkV_0.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBiYE0-AqJ3nfInTTiDXDjU4.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 400;
src: local("Open Sans Italic"), local("OpenSans-Italic"),
url("../../public/fonts/xjAJXh38I15wypJXxuGMBo4P5ICox8Kq3LLUNMylGO4.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxmgpAmOCqD37_tyH_8Ri5MM.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxsPNMTLbnS9uQzHQlYieHUU.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxgyhumQnPMBCoGYhRaNxyyY.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxhUVAXEdVvYDDqrz3aeR0Yc.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxlf4y_3s5bcYyyLIFUSWYUU.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxnywqdtBbUHn3VPgzuFrCy8.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 600;
src: local("Open Sans Semibold Italic"), local("OpenSans-SemiboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxl2umOyRU7PgRiv8DXcgJjk.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxp6iIh_FvlUHQwED9Yt5Kbw.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxi_vZmeiCMnoWNN9rHBYaTc.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxiFaMxiho_5XQnyRZzQsrZs.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxgalQocB-__pDVGhF3uS2Ks.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxmhQUTDJGru-0vvUpABgH8I.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxujkDdvhIIFj_YMdgqpnSB0.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 700;
src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxolIZu-HDpmDIZMigmsroc4.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* cyrillic-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxiU8QAtQT9M0M1_mbVWrUPc.woff2")
format("woff2");
unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F;
}
/* cyrillic */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxkNaUOL0oYRolx8sebiIY9k.woff2")
format("woff2");
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxooGEx1DzoxsbCRd2IM2afI.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxnPzCMEhbIaaYiFY6KPniws.woff2")
format("woff2");
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxmqi69zMYkLa7XwlUIemKB4.woff2")
format("woff2");
unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB;
}
/* latin-ext */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxowYyzpnB4tyYboSwKGmD2g.woff2")
format("woff2");
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F,
U+A720-A7FF;
}
/* latin */
@font-face {
font-family: "Open Sans";
font-style: italic;
font-weight: 800;
src: local("Open Sans Extrabold Italic"), local("OpenSans-ExtraboldItalic"),
url("../../public/fonts/PRmiXeptR36kaC0GEAetxnibbpXgLHK_uTT48UMyjSM.woff2")
format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

View File

@ -2,7 +2,7 @@ import { MINIMAL_VIEWPORTS } from "@storybook/addon-viewport";
import { withContexts } from "@storybook/addon-contexts/react";
import { contexts } from "./contexts/index";
import "../../common/opensansoffline.scss";
import "../../../public/css/fonts.css";
export const parameters = {
actions: { argTypesRegex: "^on[A-Z].*" },

View File

@ -50,6 +50,7 @@
"@babel/plugin-proposal-class-properties": "^7.14.5",
"@babel/plugin-proposal-export-default-from": "^7.14.5",
"@babel/plugin-proposal-export-namespace-from": "^7.14.5",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/plugin-transform-runtime": "^7.15.0",
"@babel/preset-env": "^7.15.4",
"@babel/preset-react": "^7.14.5",

View File

@ -13,7 +13,6 @@ import ErrorBoundary from "./components/ErrorBoundary";
import store from "client/store";
import i18n from "./i18n";
import { I18nextProvider } from "react-i18next";
import { fonts } from "@docspace/common/fonts.js";
import GlobalStyle from "./components/GlobalStyle.js";
import { inject, observer, Provider as MobxProvider } from "mobx-react";
import ThemeProvider from "@docspace/components/theme-provider";
@ -94,7 +93,7 @@ const App = ({ initialLanguage, initialI18nStoreASC, setTheme, ...rest }) => {
return (
<ErrorBoundary onError={onError}>
<GlobalStyle fonts={fonts} />
<GlobalStyle />
<Editor
mfReady={isInitialized}
mfFailed={isErrorLoading}

View File

@ -4,7 +4,7 @@ const GlobalStyle = createGlobalStyle`
html,
body {
height: 100%;
${(props) => props?.fonts}
font-family: 'Open Sans', sans-serif, Arial;
font-size: 13px;
overscroll-behavior: none;

View File

@ -55,10 +55,10 @@ export const initDocEditor = async (req) => {
const fileVersion = version || null;
const baseSettings = [
getUser(),
getSettings(),
getAppearanceTheme(),
getLogoUrls(),
getUser(null, headers),
getSettings(false, headers),
getAppearanceTheme(headers),
getLogoUrls(headers),
];
[user, settings, appearanceTheme, logoUrls] = await Promise.all(
@ -71,8 +71,8 @@ export const initDocEditor = async (req) => {
}
[filesSettings, versionInfo] = await Promise.all([
getSettingsFiles(),
getBuildVersion(),
getSettingsFiles(headers),
getBuildVersion(headers),
]);
const successAuth = !!user;
@ -90,7 +90,7 @@ export const initDocEditor = async (req) => {
return { error };
}
const config = await openEdit(fileId, fileVersion, doc, view);
const config = await openEdit(fileId, fileVersion, doc, view, headers);
//const sharingSettings = await getShareFiles([+fileId], []);

View File

@ -1,5 +1,6 @@
import { getFavicon, getScripts } from "./helpers";
import pkg from "../../../package.json";
import fontsCssUrl from "PUBLIC_DIR/css/fonts.css?url";
export default function template(
initialEditorState = {},
@ -87,6 +88,8 @@ export default function template(
content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover"
/>
<meta name="theme-color" content="#000000" />
<link rel="stylesheet" type="text/css" href=${fontsCssUrl} />
<link id="favicon" rel="shortcut icon" href=${faviconHref} type="image/x-icon"/>
<link rel="manifest" href="/manifest.json" />
<meta name="mobile-web-app-capable" content="yes" />

View File

@ -34,7 +34,18 @@ const serverConfig = {
return `/doceditor/static/${folder}[name][ext]?hash=[contenthash]`; //`${folder}/[name].[contenthash][ext]`;
},
},
module: {
rules: [
{
test: /\.css$/i,
generator: {
emit: false,
},
type: "asset/resource",
resourceQuery: /url/, // *.css?url
},
],
},
plugins: [
new CopyPlugin({
patterns: [

View File

@ -5,7 +5,6 @@ import ErrorBoundary from "./ErrorBoundary";
import App from "../App";
import i18n from "../i18n";
import { I18nextProvider } from "react-i18next";
import { fonts } from "@docspace/common/fonts";
import { inject, observer, Provider as MobxProvider } from "mobx-react";
import ThemeProvider from "@docspace/components/theme-provider";
import store from "client/store";
@ -51,7 +50,7 @@ const ClientAppWrapper: React.FC<IClientApp> = (props) => {
};
return (
<ErrorBoundary onError={onError}>
<GlobalStyles fonts={fonts} />
<GlobalStyles />
<ClientApp {...props} />
</ErrorBoundary>
);

View File

@ -2,12 +2,7 @@ import { getScripts } from "./helpers";
import pkg from "../../../package.json";
import { getLogoFromPath } from "@docspace/common/utils";
import firstFont from "PUBLIC_DIR/fonts/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2";
import secondFont from "PUBLIC_DIR/fonts/MTP_ySUJH_bn48VBG8sNSugdm0LZdjqr5-oayXSOefg.woff2";
import thirdFont from "PUBLIC_DIR/fonts/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2";
import fourthFont from "PUBLIC_DIR/fonts/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2";
import fifthFont from "PUBLIC_DIR/fonts/MTP_ySUJH_bn48VBG8sNSpX5f-9o1vgP2EXwfjgl7AY.woff2";
import sixthFont from "PUBLIC_DIR/fonts/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2";
import fontsCssUrl from "PUBLIC_DIR/css/fonts.css?url";
const { title } = pkg;
const organizationName = "ONLYOFFICE"; //TODO: Replace to API variant
@ -32,7 +27,7 @@ const template: Template = (
t
) => {
const documentTitle = t
? `${t("Common:Authorization")} ${organizationName}`
? `${t("Common:Authorization")} - ${organizationName}`
: title;
const favicon = getLogoFromPath(
@ -95,12 +90,7 @@ const template: Template = (
content="width=device-width, initial-scale=1, shrink-to-fit=no, user-scalable=no, viewport-fit=cover"
/>
<meta name="theme-color" content="#000000" />
<link rel="preload" as="font" crossorigin type="font/woff2" href="${firstFont}" />
<link rel="preload" as="font" crossorigin type="font/woff2" href="${secondFont}" />
<link rel="preload" as="font" crossorigin type="font/woff2" href="${thirdFont}" />
<link rel="preload" as="font" crossorigin type="font/woff2" href="${fourthFont}" />
<link rel="preload" as="font" crossorigin type="font/woff2" href="${fifthFont}" />
<link rel="preload" as="font" crossorigin type="font/woff2" href="${sixthFont}" />
<link rel="preload" as="style" type="text/css" href=${fontsCssUrl}/>
<link id="favicon" rel="shortcut icon" href=${favicon} />
<link rel="manifest" href="/manifest.json" />

View File

@ -34,7 +34,18 @@ const serverConfig = {
return `/login/static/${folder}[name][ext]?hash=[contenthash]`; //`${folder}/[name].[contenthash][ext]`;
},
},
module: {
rules: [
{
test: /\.css$/i,
generator: {
emit: false,
},
type: "asset/resource",
resourceQuery: /url/, // *.css?url
},
],
},
plugins: [
new CopyPlugin({
patterns: [

View File

@ -62,7 +62,7 @@ public class ConfigurationDto<T>
/// <type>ASC.Files.Core.ApiModels.ResponseDto.FileDto, ASC.Files.Core</type>
public FileDto<T> File { get; set; }
/// <summary></summary>
/// <summary>Error message</summary>
/// <type>System.String, System</type>
public string ErrorMessage { get; set; }
}

View File

@ -776,10 +776,11 @@ public class FileSecurity : IFileSecurity
{
if (folder.FolderType == FolderType.USER)
{
return action == FilesSecurityActions.Create ||
return folder.CreateBy == userId && (
action == FilesSecurityActions.Create ||
action == FilesSecurityActions.CopyTo ||
action == FilesSecurityActions.MoveTo ||
action == FilesSecurityActions.FillForms;
action == FilesSecurityActions.FillForms);
}
if (folder.FolderType == FolderType.Archive)

View File

@ -720,7 +720,7 @@ public class UserController : PeopleControllerBase
/// <param type="System.Nullable{ASC.Core.Users.EmployeeType}, System" name="employeeType">User type</param>
/// <param type="System.Nullable{System.Boolean}, System" name="isAdministrator">Specifies if the user is an administrator or not</param>
/// <param type="System.Nullable{ASC.Core.Payments}, System" name="payments">User payment status</param>
/// <param name="accountLoginType"></param>
/// <param type="System.Nullable{ASC.Core.AccountLoginType}, System" name="accountLoginType">Account login type</param>
/// <returns type="ASC.Web.Api.Models.EmployeeFullDto, ASC.Api.Core">List of users with the detailed information</returns>
/// <path>api/2.0/people/filter</path>
/// <httpMethod>GET</httpMethod>
@ -814,7 +814,7 @@ public class UserController : PeopleControllerBase
/// <param type="System.Nullable{ASC.Core.Users.EmployeeType}, System" name="employeeType">User type</param>
/// <param type="System.Nullable{System.Boolean}, System" name="isAdministrator">Specifies if the user is an administrator or not</param>
/// <param type="System.Nullable{ASC.Core.Payments}, System" name="payments">User payment status</param>
/// <param name="accountLoginType"></param>
/// <param type="System.Nullable{ASC.Core.AccountLoginType}, System" name="accountLoginType">Account login type</param>
/// <returns type="ASC.Web.Api.Models.EmployeeDto, ASC.Api.Core">List of users</returns>
/// <path>api/2.0/people/simple/filter</path>
/// <httpMethod>GET</httpMethod>

1128
public/css/fonts.css Normal file

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More