mirror of
https://github.com/cryptpad/cryptpad.git
synced 2026-09-12 19:49:59 +05:00
Merge 9aafa6c4ea into 37ccfdbae4
This commit is contained in:
commit
556fc56fee
@ -23,3 +23,15 @@ customize
|
||||
data
|
||||
datastore
|
||||
docs
|
||||
/config.js
|
||||
customization
|
||||
*.db
|
||||
/customize/
|
||||
customize
|
||||
logs
|
||||
privileged.conf
|
||||
config/config.js
|
||||
config/sso.js
|
||||
lib/plugins/*
|
||||
/onlyoffice-conf/
|
||||
/onlyoffice-dist/
|
||||
|
||||
@ -4,6 +4,12 @@ SPDX-FileCopyrightText: 2023 XWiki CryptPad Team <contact@cryptpad.org> and cont
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-->
|
||||
|
||||
# TODO next release
|
||||
|
||||
## Upgrade notes
|
||||
|
||||
`./install-onlyoffice.sh` is now called `/install-office.sh`. Make sure to use the new name in the future.
|
||||
|
||||
# 🌷🩹 Spring fix release (2026.5.1)
|
||||
|
||||
This release contains the following fixes:
|
||||
|
||||
@ -26,7 +26,7 @@ FROM node:lts-alpine
|
||||
RUN addgroup -S cryptpad -g 4001 && adduser -S cryptpad -G cryptpad --uid 4001 -h /cryptpad
|
||||
|
||||
# Install curl for healthcheck
|
||||
# Install git, rdfind and unzip for install-onlyoffice.sh
|
||||
# Install git, rdfind and unzip for install-office.sh
|
||||
RUN apk add --no-cache ca-certificates git rdfind unzip bash curl
|
||||
|
||||
# Copy cryptpad with installed modules
|
||||
|
||||
@ -14,8 +14,8 @@ services:
|
||||
- CPAD_CONF=/cryptpad/config/config.js
|
||||
|
||||
# Read and accept the license before uncommenting the following line:
|
||||
# https://github.com/ONLYOFFICE/web-apps/blob/master/LICENSE.txt
|
||||
# - CPAD_INSTALL_ONLYOFFICE=yes
|
||||
# https://github.com/Euro-Office/web-apps/raw/refs/heads/main/LICENSE.txt
|
||||
# - CPAD_INSTALL_OFFICE=yes
|
||||
|
||||
volumes:
|
||||
- ./data/blob:/cryptpad/blob
|
||||
|
||||
@ -30,8 +30,8 @@ fi
|
||||
|
||||
cd $CPAD_HOME
|
||||
|
||||
if [ "$CPAD_INSTALL_ONLYOFFICE" == "yes" ]; then
|
||||
./install-onlyoffice.sh --accept-license --trust-repository
|
||||
if [ "$CPAD_INSTALL_ONLYOFFICE" == "yes" ] || [ "$CPAD_INSTALL_OFFICE" == "yes" ]; then
|
||||
./install-office.sh --accept-license --trust-repository
|
||||
fi
|
||||
|
||||
npm run build
|
||||
|
||||
@ -98,8 +98,8 @@ main() {
|
||||
rm -rf "$OO_DIR/v8/web-apps/apps/spreadsheeteditor/main/resources/help"
|
||||
rm -rf "$OO_DIR/v8/web-apps/apps/common/main/resources/help/"
|
||||
;;
|
||||
v9) install_version v9 v9.2.0.119+5 1f1184fb04cf72a7eb2a49a9740074b5419486c79e1fd713e1f8c09b8594a826050ae941fed6ac6a96807ba73cc751d7c807bd7e6b73de9e4f8e74cd5ed04cfa ;;
|
||||
x2t) install_x2t v7.3+1 ab0c05b0e4c81071acea83f0c6a8e75f5870c360ec4abc4af09105dd9b52264af9711ec0b7020e87095193ac9b6e20305e446f2321a541f743626a598e5318c1 ;;
|
||||
v9) install_version v9 v9.3.2+2 7a8b4d32b000454ac304088ba042cb6fc2007e90282b7b51bf85365e4405a33b64f7f29f5aa88628fb4b94fa1e68077c56897116b2098c8b56ec34dcdcc356df ;;
|
||||
x2t) install_x2t v9.3.0+0 e82fbf21fcdcff2cbaca5b9a49c3a3d6bc5f5f02ba9b704a7384ceb91e17e979bf7659aaf59f677edf319fde91dd847b419e018f58f38eb1df6ab433a6cd207c ;;
|
||||
*)
|
||||
echo "Unknown version: $version"
|
||||
exit 1
|
||||
@ -182,8 +182,8 @@ ask_for_license() {
|
||||
ensure_command_available curl
|
||||
|
||||
(
|
||||
echo -e "Please review the license of OnlyOffice:\n\n"
|
||||
curl https://raw.githubusercontent.com/ONLYOFFICE/web-apps/master/LICENSE.txt 2>/dev/null
|
||||
echo -e "Please review the license of Euro-Office and press 'q' to continue:\n\n"
|
||||
curl https://raw.githubusercontent.com/Euro-Office/web-apps/refs/heads/main/LICENSE.txt 2>/dev/null
|
||||
) | less
|
||||
|
||||
read -rp "Do you accept the license? (Y/N): " confirm &&
|
||||
@ -194,16 +194,16 @@ ask_for_license() {
|
||||
|
||||
show_help() {
|
||||
cat <<EOF
|
||||
install-onlyoffice installs or upgrades OnlyOffice.
|
||||
install-office installs or upgrades Euro-Office.
|
||||
|
||||
OPTIONS:
|
||||
-h, --help
|
||||
Show this help.
|
||||
|
||||
-a, --accept-license
|
||||
Accept the license of OnlyOffice and do not ask when running this
|
||||
Accept the license of Euro-Office and do not ask when running this
|
||||
script. Read and accept this before using this option:
|
||||
https://github.com/ONLYOFFICE/web-apps/blob/master/LICENSE.txt
|
||||
https://github.com/Euro-Office/web-apps/raw/refs/heads/main/LICENSE.txt
|
||||
|
||||
-t, --trust-repository
|
||||
Automatically configure the cloned onlyoffice-builds repository
|
||||
@ -211,7 +211,7 @@ OPTIONS:
|
||||
https://git-scm.com/docs/git-config/#Documentation/git-config.txt-safedirectory
|
||||
|
||||
--check
|
||||
Do not install OnlyOffice, only check if the existing installation
|
||||
Do not install Euro-Office, only check if the existing installation
|
||||
is up to date. Exits 0 if it is up to date, nonzero otherwise.
|
||||
|
||||
--rdfind
|
||||
@ -230,7 +230,7 @@ ensure_oo_is_downloaded() {
|
||||
ensure_command_available git
|
||||
|
||||
if ! [ -d "$BUILDS_DIR" ]; then
|
||||
echo "Downloading OnlyOffice..."
|
||||
echo "Downloading Office..."
|
||||
git clone --bare https://github.com/cryptpad/onlyoffice-builds.git "$BUILDS_DIR"
|
||||
fi
|
||||
if [ ${TRUST_REPOSITORY+x} ] || [ "${PROPS[trust_repository]:-no}" == yes ]; then
|
||||
@ -101,7 +101,7 @@ define([
|
||||
hashes: {},
|
||||
ids: {},
|
||||
mediasSources: {},
|
||||
version: privateData.ooForceVersion ? Number(privateData.ooForceVersion) : OOCurrentVersion.currentVersionNumber
|
||||
version: privateData.ooForceVersion ? Number(privateData.ooForceVersion) : OOCurrentVersion.currentVersionNumber,
|
||||
};
|
||||
content.originalVersion = content.version;
|
||||
var oldHashes = {};
|
||||
@ -2252,6 +2252,11 @@ define([
|
||||
}];
|
||||
common.checkTrimHistory(channels);
|
||||
}
|
||||
|
||||
content.debug = content.debug ?? {};
|
||||
content.debug.idCollision = content.debug.idCollision ?? false;
|
||||
APP.onLocal();
|
||||
|
||||
console.log("OO ready");
|
||||
};
|
||||
|
||||
@ -2674,12 +2679,25 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
makeChannel();
|
||||
return;
|
||||
}
|
||||
|
||||
const onCorruptionWarning = Util.once((id) => {
|
||||
console.log('id collision in document', id);
|
||||
if (content?.debug?.idCollision !== undefined // No feedback for old documents
|
||||
&& content?.debug?.idCollision === false) { // Send feedback only once
|
||||
Feedback.send(`channel=${content.channel}&OFFICE_DOCUMENT_ID_COLLISION`, true);
|
||||
content.debug = content.debug ?? {};
|
||||
content.debug.idCollision = true;
|
||||
APP.onLocal();
|
||||
}
|
||||
});
|
||||
|
||||
APP.docEditor.connectMockServer({
|
||||
onMessage: fromOOHandler,
|
||||
getParticipants: getParticipants,
|
||||
onAuth: onAuth,
|
||||
getImageURL: getImageURL,
|
||||
getInitialChanges: getInitialChanges,
|
||||
onCorruptionWarning: onCorruptionWarning,
|
||||
});
|
||||
};
|
||||
|
||||
@ -3047,7 +3065,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
pinImages();
|
||||
};
|
||||
|
||||
const loadCp = async function (cp, keepQueue) {
|
||||
const loadCheckpoint = async function (cp, keepQueue) {
|
||||
if (!isLockedModal.modal) {
|
||||
isLockedModal.modal = UI.openCustomModal(isLockedModal.content);
|
||||
}
|
||||
@ -3098,7 +3116,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
});
|
||||
ooChannel.historyLastHash = ooChannel.lastHash;
|
||||
ooChannel.currentIndex = ooChannel.cpIndex;
|
||||
loadCp(lastCp, true);
|
||||
loadCheckpoint(lastCp, true);
|
||||
}).catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
@ -3268,7 +3286,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
};
|
||||
var onCheckpoint = function (cp) {
|
||||
// We want to load a checkpoint:
|
||||
loadCp(cp);
|
||||
loadCheckpoint(cp);
|
||||
};
|
||||
var onPatchBack = function (cp, msgs) {
|
||||
if (msgs) {
|
||||
@ -3285,10 +3303,10 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
});
|
||||
ooChannel.queue = msgsFormatted;
|
||||
setTimeout(function () {
|
||||
loadCp(cp, true);
|
||||
loadCheckpoint(cp, true);
|
||||
}, 200);
|
||||
} else {
|
||||
loadCp(cp);
|
||||
loadCheckpoint(cp);
|
||||
}
|
||||
};
|
||||
var setHistoryMode = function (bool) {
|
||||
@ -3308,7 +3326,7 @@ Uncaught TypeError: Cannot read property 'calculatedType' of null
|
||||
|
||||
rtChannel.getHistory(function () {
|
||||
var lastCp = getLastCp();
|
||||
loadCp(lastCp, true);
|
||||
loadCheckpoint(lastCp, true);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user