🔖 Release/v1.0.5 (#757)

This commit is contained in:
ericlinagora
2024-11-29 13:24:58 +01:00
committed by GitHub
6 changed files with 57 additions and 10 deletions
+27
View File
@@ -1,3 +1,25 @@
# Twake Drive v1.0.5
*Note: `-rc2` should be 1.0.6, but to align with internal release cycle numbering, we
will just continue 1.0.5 for this release. Canditates through `rc11` were hotfixes*
## Features
- AntiVirus - Uploaded files are now scanned by ClamAV
- Reveal file in location
## Fixes and Improvements
- Push client error logs to the server logs
- Tolerate some configuration qwirks (like extra `/`s)
- Move operations now self-rename if target exists
- Minor UI fixes related to the search bar, pagination,
sorting by size, no more loading segment, and move
operation from a public link
- Email link when folder updated by public link fixed
- Fix download for Safari users who block popups
- Fix for OnlyOffice based on postgres
# Twake Drive v1.0.5-rc1 # Twake Drive v1.0.5-rc1
## Features ## Features
@@ -19,6 +41,7 @@
- Fix file browser vertical borders (and fix react warning) - Fix file browser vertical borders (and fix react warning)
- Fix only office filename getting overwritten at session end - Fix only office filename getting overwritten at session end
# Twake Drive v1.0.4 # Twake Drive v1.0.4
## Features ## Features
@@ -43,6 +66,7 @@
- Add collation fix. - Add collation fix.
- Cli db seed tool - Cli db seed tool
# Twake Drive v1.0.3 # Twake Drive v1.0.3
## Features ## Features
@@ -61,6 +85,7 @@
- A large number of minor fixes - A large number of minor fixes
- Translation of user notifications - Translation of user notifications
# Twake Drive v1.0.2 # Twake Drive v1.0.2
## Features ## Features
@@ -74,6 +99,7 @@
- Refactored starting docker-compose file - Refactored starting docker-compose file
- Fix navigation for shared link view - Fix navigation for shared link view
# Twake Drive v1.0.1 # Twake Drive v1.0.1
## Features ## Features
@@ -94,6 +120,7 @@
- Malformed URL when you share a file - Malformed URL when you share a file
- ... - ...
# Twake Drive v2023.Q3.012 # Twake Drive v2023.Q3.012
## Features ## Features
@@ -1,4 +1,5 @@
import { getLogger, TdriveLogger, TdriveService } from "../../framework"; import { getLogger, TdriveLogger, TdriveService } from "../../framework";
import { getConfigOrDefault } from "../../../../utils/get-config";
import EmailPusherAPI from "./provider"; import EmailPusherAPI from "./provider";
import { import {
EmailBuilderDataPayload, EmailBuilderDataPayload,
@@ -42,7 +43,7 @@ export default class EmailPusherClass
}); });
this.interface = this.configuration.get<string>("email_interface", ""); this.interface = this.configuration.get<string>("email_interface", "");
this.platformUrl = this.configuration.get<string>("platform_url", ""); this.platformUrl = this.configuration.get<string>("platform_url", "");
this.debug = this.configuration.get<boolean>("debug", false); this.debug = getConfigOrDefault<boolean>("email-pusher.debug", true);
if (this.interface === "smtp") { if (this.interface === "smtp") {
const useTLS = this.configuration.get<string>("smtp_tls", "false") == "true"; const useTLS = this.configuration.get<string>("smtp_tls", "false") == "true";
const smtpConfig: SMTPClientConfigType = { const smtpConfig: SMTPClientConfigType = {
@@ -3,6 +3,7 @@ import { logger } from "../../../../../../core/platform/framework";
import { Readable } from "stream"; import { Readable } from "stream";
import { StorageConnectorAPI, WriteMetadata } from "../../provider"; import { StorageConnectorAPI, WriteMetadata } from "../../provider";
import { randomUUID } from "crypto"; import { randomUUID } from "crypto";
import _ from "lodash";
export type S3Configuration = { export type S3Configuration = {
id: string; id: string;
@@ -22,8 +23,15 @@ export default class S3ConnectorService implements StorageConnectorAPI {
id: string; id: string;
constructor(S3Configuration: S3Configuration) { constructor(S3Configuration: S3Configuration) {
this.client = new Minio.Client(S3Configuration); const confCopy = _.cloneDeep(S3Configuration) as S3Configuration;
this.minioConfiguration = S3Configuration; if (confCopy.port && typeof confCopy.port === "string") {
confCopy.port = parseInt(confCopy.port, 10);
}
if (confCopy.useSSL && typeof confCopy.useSSL === "string") {
confCopy.useSSL = !(!confCopy.useSSL || confCopy.useSSL === "false");
}
this.client = new Minio.Client(confCopy);
this.minioConfiguration = confCopy;
this.id = this.minioConfiguration.id; this.id = this.minioConfiguration.id;
if (!this.id) { if (!this.id) {
this.id = randomUUID(); this.id = randomUUID();
@@ -50,8 +50,19 @@ export const isSharedWithMeFolder = (id: string) => {
export const getVirtualFoldersNames = async (id: string, context: DriveExecutionContext) => { export const getVirtualFoldersNames = async (id: string, context: DriveExecutionContext) => {
const configuration = new Configuration("drive"); const configuration = new Configuration("drive");
const defaultLang = configuration.get<string>("defaultLanguage") || "en"; const defaultLang = configuration.get<string>("defaultLanguage") || "en";
const user = await gr.services.users.get({ id: context.user?.id }); const locale = await (async () => {
const locale = user?.preferences?.locale || defaultLang; try {
const user = await gr.services.users.get({ id: context.user?.id });
return user?.preferences?.locale || defaultLang;
} catch (error) {
logger.error(
{ error, context },
"Ignoring error getting user to translate root. This is expected from requests coming from applications as the user id is not a valid UUID for postgres. Defaulting to " +
defaultLang,
);
return defaultLang;
}
})();
if (id.startsWith("user_")) { if (id.startsWith("user_")) {
return gr.services.i18n.translate("virtual-folder.my-drive", locale); return gr.services.i18n.translate("virtual-folder.my-drive", locale);
+3 -3
View File
@@ -1,7 +1,7 @@
export default { export default {
current: /* @VERSION_DETAIL */ "1.0.5-rc1", current: /* @VERSION_DETAIL */ "1.0.5",
minimal: { minimal: {
web: /* @MIN_VERSION_WEB */ "1.0.5-rc1", web: /* @MIN_VERSION_WEB */ "1.0.5",
mobile: /* @MIN_VERSION_MOBILE */ "1.0.5-rc1", mobile: /* @MIN_VERSION_MOBILE */ "1.0.5",
}, },
}; };
@@ -1,5 +1,5 @@
export default { export default {
version: /* @VERSION */ '1.0.5-rc1', version: /* @VERSION */ '1.0.5',
version_detail: /* @VERSION_DETAIL */ '1.0.5-rc1', version_detail: /* @VERSION_DETAIL */ '1.0.5',
version_name: /* @VERSION_NAME */ 'Ghost-Dog', version_name: /* @VERSION_NAME */ 'Ghost-Dog',
}; };