Merge branch 'soon' into staging

pull/1/head
ansuz 3 years ago
commit b1281fb4ab

@ -1472,11 +1472,8 @@ define([
var end = h('input'); var end = h('input');
var $start = $(start); var $start = $(start);
var $end = $(end); var $end = $(end);
var is24h = false; var is24h = UIElements.is24h();
var dateFormat = "Y-m-d H:i"; var dateFormat = "Y-m-d H:i";
try {
is24h = !new Intl.DateTimeFormat(navigator.language, { hour: 'numeric' }).format(0).match(/AM/);
} catch (e) {}
if (!is24h) { dateFormat = "Y-m-d h:i K"; } if (!is24h) { dateFormat = "Y-m-d h:i K"; }
var endPickr = Flatpickr(end, { var endPickr = Flatpickr(end, {

@ -255,6 +255,11 @@ define([
])); ]));
})); }));
// time out after 30 seconds
setTimeout(function () {
cb('TIMEOUT');
}, 30000);
var bytes = new Uint8Array(Login.requiredBytes); var bytes = new Uint8Array(Login.requiredBytes);
var opt = Login.allocateBytes(bytes); var opt = Login.allocateBytes(bytes);
@ -729,8 +734,6 @@ define([
'. ', '. ',
RESTART_WARNING(), RESTART_WARNING(),
])); ]));
console.error("HTTPS?", trimmedUnsafe, trimmedSafe);
cb(isHTTPS(trimmedUnsafe) && isHTTPS(trimmedSafe)); cb(isHTTPS(trimmedUnsafe) && isHTTPS(trimmedSafe));
}); });

@ -3696,6 +3696,13 @@ define([
return (pos.bottom < size) && (pos.y > 0); return (pos.bottom < size) && (pos.y > 0);
}; };
UIElements.is24h = function () {
try {
return !new Intl.DateTimeFormat(navigator.language, { hour: 'numeric' }).format(0).match(/AM/);
} catch (e) {}
return false;
};
UIElements.openSnapshotsModal = function (common, load, make, remove) { UIElements.openSnapshotsModal = function (common, load, make, remove) {
var modal; var modal;
var readOnly = common.getMetadataMgr().getPrivateData().readOnly; var readOnly = common.getMetadataMgr().getPrivateData().readOnly;

@ -1332,7 +1332,7 @@
"form_cantFindAnswers": "Deine vorigen Antworten für dieses Formular konnten nicht geladen werden.", "form_cantFindAnswers": "Deine vorigen Antworten für dieses Formular konnten nicht geladen werden.",
"form_updateWarning": "Trotzdem aktualisieren", "form_updateWarning": "Trotzdem aktualisieren",
"form_submitWarning": "Trotzdem absenden", "form_submitWarning": "Trotzdem absenden",
"form_sent": "Gesendet", "form_sent": "Deine Antwort wurde gesendet",
"form_update": "Aktualisieren", "form_update": "Aktualisieren",
"form_submit": "Absenden", "form_submit": "Absenden",
"form_type_checkbox": "Mehrfachauswahl", "form_type_checkbox": "Mehrfachauswahl",
@ -1368,5 +1368,16 @@
"admin_purpose_public": "Zur Bereitstellung eines kostenlosen Dienstes für die Allgemeinheit", "admin_purpose_public": "Zur Bereitstellung eines kostenlosen Dienstes für die Allgemeinheit",
"resources_learnWhy": "Mehr über die Gründe erfahren", "resources_learnWhy": "Mehr über die Gründe erfahren",
"team_leaveOwner": "Bitte entferne dich von der Rolle des Eigentümers, bevor du das Teams verlässt. Beachte, dass Teams mindestens einen Eigentümer haben müssen. Bitte füge daher zunächst einen weiteren Eigentümer hinzu, sofern du derzeit der alleinige Eigentümer bist.", "team_leaveOwner": "Bitte entferne dich von der Rolle des Eigentümers, bevor du das Teams verlässt. Beachte, dass Teams mindestens einen Eigentümer haben müssen. Bitte füge daher zunächst einen weiteren Eigentümer hinzu, sofern du derzeit der alleinige Eigentümer bist.",
"form_exportCSV": "Als CSV exportieren" "form_exportCSV": "Als CSV exportieren",
"form_answerAs": "Antworten als",
"notification_openLink": "Du hast einen Link <b>{0}</b> von {1} erhalten:",
"fm_link_warning": "Warnung: URL ist länger als 200 Zeichen",
"notification_linkShared": "{0} hat einen Link mit dir geteilt: <b>{1}</b>",
"fm_link_name": "Bezeichnung des Links",
"fm_link_invalid": "Ungültige URL",
"form_anonName": "Dein Name",
"fm_link_name_placeholder": "Mein Link",
"fm_link_url": "URL",
"fm_link_type": "Link",
"fm_link_new": "Neuer Link"
} }

@ -1315,7 +1315,7 @@
"form_updateWarning": "Mettre à jour avec erreurs", "form_updateWarning": "Mettre à jour avec erreurs",
"form_submitWarning": "Envoyer avec erreurs", "form_submitWarning": "Envoyer avec erreurs",
"form_delete": "Supprimer", "form_delete": "Supprimer",
"form_sent": "Envoyé", "form_sent": "Votre réponse a été envoyée",
"form_reset": "Effacer", "form_reset": "Effacer",
"form_update": "Mettre à jour", "form_update": "Mettre à jour",
"form_submit": "Envoyer", "form_submit": "Envoyer",
@ -1368,5 +1368,16 @@
"admin_purpose_business": "Usage en entreprise", "admin_purpose_business": "Usage en entreprise",
"admin_instancePurposeHint": "À quel usage cette instance est-elle destinée ? Votre réponse sera utilisée pour définir la planification de nouvelles fonctionnalités (si votre télémétrie est activée).", "admin_instancePurposeHint": "À quel usage cette instance est-elle destinée ? Votre réponse sera utilisée pour définir la planification de nouvelles fonctionnalités (si votre télémétrie est activée).",
"team_leaveOwner": "Veuillez vous rétrograder de votre rôle de propriétaire avant de quitter l'équipe. Notez que les équipes doivent avoir au moins un propriétaire, veuillez en ajouter un autre avant de poursuivre si vous êtes actuellement le seul propriétaire.", "team_leaveOwner": "Veuillez vous rétrograder de votre rôle de propriétaire avant de quitter l'équipe. Notez que les équipes doivent avoir au moins un propriétaire, veuillez en ajouter un autre avant de poursuivre si vous êtes actuellement le seul propriétaire.",
"form_exportCSV": "Exporter en CSV" "form_exportCSV": "Exporter en CSV",
"fm_link_invalid": "URL invalide",
"fm_link_warning": "Attention : l'URL dépasse 200 caractères",
"form_answerAs": "Répondre en tant que",
"form_anonName": "Votre nom",
"notification_linkShared": "{0} a partagé un lien avec vous : <b>{1}</b>",
"fm_link_name_placeholder": "Nouveau lien",
"fm_link_url": "URL",
"fm_link_name": "Titre du lien",
"fm_link_type": "Lien",
"fm_link_new": "Nouveau Lien",
"notification_openLink": "Vous avez reçu un lien <b>{0}</b> de {1} :"
} }

@ -1377,5 +1377,6 @@
"form_anonName": "あなたの名前", "form_anonName": "あなたの名前",
"notification_linkShared": "{0}があなたとリンクを共有しました: <b>{1}</b>", "notification_linkShared": "{0}があなたとリンクを共有しました: <b>{1}</b>",
"fm_link_name_placeholder": "あなたのリンク", "fm_link_name_placeholder": "あなたのリンク",
"fm_link_warning": "注意URLが200字を超えています" "fm_link_warning": "注意URLが200字を超えています",
"fm_link_invalid": "URLが無効です"
} }

@ -561,6 +561,9 @@
margin-right: 5px; margin-right: 5px;
} }
} }
a, a:visited {
color: @cryptpad_color_link;
}
} }
} }
} }

@ -68,13 +68,9 @@ define([
var APP = window.APP = { var APP = window.APP = {
}; };
var is24h = false; var is24h = UIElements.is24h();
var dateFormat = "Y-m-d H:i"; var dateFormat = "Y-m-d H:i";
var timeFormat = "H:i"; var timeFormat = "H:i";
try {
is24h = !new Intl.DateTimeFormat(navigator.language, { hour: 'numeric' }).format(0).match(/AM/);
} catch (e) {}
is24h = false;
if (!is24h) { if (!is24h) {
dateFormat = "Y-m-d h:i K"; dateFormat = "Y-m-d h:i K";
timeFormat = "h:i K"; timeFormat = "h:i K";
@ -2784,6 +2780,11 @@ define([
var endDateEl = h('div.alert.alert-warning.cp-burn-after-reading'); var endDateEl = h('div.alert.alert-warning.cp-burn-after-reading');
var endDate; var endDate;
var endDateTo; var endDateTo;
// numbers greater than this overflow the maximum delay for a setTimeout
// which results in it being executed immediately (oops)
// https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#maximum_delay_value
var MAX_TIMEOUT_DELAY = 2147483647;
var refreshEndDateBanner = function (force) { var refreshEndDateBanner = function (force) {
if (APP.isEditor) { return; } if (APP.isEditor) { return; }
var _endDate = content.answers.endDate; var _endDate = content.answers.endDate;
@ -2804,10 +2805,21 @@ define([
APP.isClosed = endDate && endDate < (+new Date()); APP.isClosed = endDate && endDate < (+new Date());
clearTimeout(endDateTo); clearTimeout(endDateTo);
if (!APP.isClosed && endDate) { if (!APP.isClosed && endDate) {
setTimeout(function () { // calculate how many ms in the future the poll will be closed
var diff = (endDate - +new Date() + 100);
// if that value would overflow, then check again in a day
// (if the tab is still open)
if (diff > MAX_TIMEOUT_DELAY) {
endDateTo = setTimeout(function () {
refreshEndDateBanner(true);
}, 1000 * 3600 * 24);
return;
}
endDateTo = setTimeout(function () {
refreshEndDateBanner(true); refreshEndDateBanner(true);
$('.cp-form-send-container').find('.cp-open').remove(); $('.cp-form-send-container').find('.cp-open').hide();
},(endDate - +new Date() + 100)); }, diff);
} }
}; };

Loading…
Cancel
Save