mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-01-31 19:02:59 +01:00
Merge branch 'develop' of github.com:ether/etherpad-lite into dep-cleanup
This commit is contained in:
commit
17a02bb024
34 changed files with 187 additions and 9692 deletions
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -1,3 +1,20 @@
|
|||
# 1.2.8
|
||||
* NEW: Use Socket IO for rooms (allows for pads to be load balanced with sticky rooms)
|
||||
* NEW: Plugins can now provide their own frontend tests
|
||||
* NEW: Improved server-side logging
|
||||
* NEW: Admin dashboard mobile device support and new hooks for Admin dashboard
|
||||
* Fix: Bugfix getChatHistory API method
|
||||
* Fix: Make plugin search case insensitive
|
||||
* Fix: Indentation and bullets on text export
|
||||
* Fix: Resolve various warnings on dependencies during install
|
||||
* Fix: Page up / Page down now works in all browsers
|
||||
* Fix: Stop Opera browser inserting two new lines on enter keypress
|
||||
* Fix: Stop timeslider from showing NaN on pads with only one revision
|
||||
* Other: Allow timeslider tests to run and provide & fix various other frontend-tests
|
||||
* Other: Update to latest jQuery
|
||||
* Other: Change loading message asking user to please wait on first build
|
||||
* Other: Allow etherpad to use global npm installation (Safe since node 6.3)
|
||||
|
||||
# 1.2.7
|
||||
* NEW: notifications are now modularized and can be stacked
|
||||
* NEW: Visit a specific revision in the timeslider by suffixing #%revNumber% IE http://localhost/p/test/timeslider#12
|
||||
|
|
|
@ -63,7 +63,7 @@ if [ ! -f $settings ]; then
|
|||
cp settings.json.template $settings || exit 1
|
||||
fi
|
||||
|
||||
echo "Ensure that all dependencies are up to date..."
|
||||
echo "Ensure that all dependencies are up to date... If this is the first time you have run Etherpad please be patient."
|
||||
(
|
||||
mkdir -p node_modules
|
||||
cd node_modules
|
||||
|
|
|
@ -12,7 +12,7 @@ set check_version="if(['6','8'].indexOf(process.version.split('.')[1].toString()
|
|||
cmd /C node -e %check_version% || exit /B 1
|
||||
|
||||
echo _
|
||||
echo Installing etherpad-lite and dependencies...
|
||||
echo Ensure that all dependencies are up to date... If this is the first time you have run Etherpad please be patient.
|
||||
cmd /C npm install src/ --loglevel warn || exit /B 1
|
||||
|
||||
echo _
|
||||
|
@ -36,4 +36,4 @@ IF NOT EXIST settings.json (
|
|||
)
|
||||
|
||||
echo _
|
||||
echo Installed Etherpad-lite! To run Etherpad type start.bat
|
||||
echo Installed Etherpad! To run Etherpad type start.bat
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Christian List"
|
||||
"Christian List",
|
||||
"Peter Alberti"
|
||||
]
|
||||
},
|
||||
"index.newPad": "Ny Pad",
|
||||
|
@ -100,6 +101,8 @@
|
|||
"timeslider.month.october": "oktober",
|
||||
"timeslider.month.november": "november",
|
||||
"timeslider.month.december": "december",
|
||||
"timeslider.unnamedauthor": "{{num}} unavngiven forfatter",
|
||||
"timeslider.unnamedauthors": "{{num}} unavngivne forfattere",
|
||||
"pad.savedrevs.marked": "Denne revision er nu markeret som en gemt revision",
|
||||
"pad.userlist.entername": "Indtast dit navn",
|
||||
"pad.userlist.unnamed": "ikke-navngivet",
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
"pad.toolbar.clearAuthorship.title": "\u039a\u03b1\u03b8\u03b1\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2 \u03a7\u03c1\u03c9\u03bc\u03ac\u03c4\u03c9\u03bd \u03a3\u03c5\u03bd\u03c4\u03b1\u03ba\u03c4\u03ce\u03bd",
|
||||
"pad.toolbar.import_export.title": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae\/\u0395\u03be\u03b1\u03b3\u03c9\u03b3\u03ae \u03b1\u03c0\u03cc\/\u03c3\u03b5 \u03b4\u03b9\u03b1\u03c6\u03bf\u03c1\u03b5\u03c4\u03b9\u03ba\u03bf\u03cd\u03c2 \u03c4\u03cd\u03c0\u03bf\u03c5\u03c2 \u03b1\u03c1\u03c7\u03b5\u03af\u03c9\u03bd",
|
||||
"pad.toolbar.timeslider.title": "\u03a7\u03c1\u03bf\u03bd\u03bf\u03b4\u03b9\u03ac\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1",
|
||||
"pad.toolbar.savedRevision.title": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u0388\u03ba\u03b4\u03bf\u03c3\u03b7\u03c2",
|
||||
"pad.toolbar.savedRevision.title": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03bc\u03ad\u03bd\u03b5\u03c2 \u0391\u03bd\u03b1\u03b8\u03b5\u03c9\u03c1\u03ae\u03c3\u03b5\u03b9\u03c2",
|
||||
"pad.toolbar.settings.title": "\u03a1\u03c5\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2",
|
||||
"pad.toolbar.embed.title": "\u0395\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7 \u03c4\u03bf\u03c5 pad",
|
||||
"pad.toolbar.showusers.title": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03c4\u03c9\u03bd \u03c7\u03c1\u03b7\u03c3\u03c4\u03ce\u03bd \u03b1\u03c5\u03c4\u03bf\u03cd \u03c4\u03bf\u03c5 pad",
|
||||
|
@ -81,6 +81,7 @@
|
|||
"pad.share.emebdcode": "URL \u03b5\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7\u03c2",
|
||||
"pad.chat": "\u03a3\u03c5\u03bd\u03bf\u03bc\u03b9\u03bb\u03af\u03b1",
|
||||
"pad.chat.title": "\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1 \u03c4\u03b7\u03c2 \u03c3\u03c5\u03bd\u03bf\u03bc\u03b9\u03bb\u03af\u03b1\u03c2 \u03b3\u03b9\u03b1 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf pad.",
|
||||
"pad.chat.loadmessages": "\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 \u03c0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03c9\u03bd \u03bc\u03b7\u03bd\u03c5\u03bc\u03ac\u03c4\u03c9\u03bd",
|
||||
"timeslider.pageTitle": "{{appTitle}} \u03a7\u03c1\u03bf\u03bd\u03bf\u03b4\u03b9\u03ac\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1",
|
||||
"timeslider.toolbar.returnbutton": "\u0395\u03c0\u03b9\u03c3\u03c4\u03c1\u03bf\u03c6\u03ae \u03c3\u03c4\u03bf pad",
|
||||
"timeslider.toolbar.authors": "\u03a3\u03c5\u03bd\u03c4\u03ac\u03ba\u03c4\u03b5\u03c2:",
|
||||
|
@ -88,7 +89,7 @@
|
|||
"timeslider.toolbar.exportlink.title": "\u0395\u03be\u03b1\u03b3\u03c9\u03b3\u03ae",
|
||||
"timeslider.exportCurrent": "\u0395\u03be\u03b1\u03b3\u03c9\u03b3\u03ae \u03c4\u03c1\u03ad\u03c7\u03bf\u03c5\u03c3\u03b1\u03c2 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7\u03c2 \u03c9\u03c2:",
|
||||
"timeslider.version": "\u0388\u03ba\u03b4\u03bf\u03c3\u03b7 {{version}}",
|
||||
"timeslider.saved": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03cd\u03c4\u03b7\u03ba\u03b5 {{day}} {{month}}, {{year}}",
|
||||
"timeslider.saved": "\u0391\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03cd\u03c4\u03b7\u03ba\u03b5 \u03c3\u03c4\u03b9\u03c2 {{day}} {{month}} {{year}}",
|
||||
"timeslider.dateformat": "{{day}}\/{{month}}\/{{year}} {{hours}}:{{minutes}}:{{seconds}}",
|
||||
"timeslider.month.january": "\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
|
||||
"timeslider.month.february": "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5",
|
||||
|
@ -102,6 +103,8 @@
|
|||
"timeslider.month.october": "\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5",
|
||||
"timeslider.month.november": "\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
|
||||
"timeslider.month.december": "\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5",
|
||||
"timeslider.unnamedauthor": "{{num}} \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03c2 \u03c3\u03c5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ad\u03b1\u03c2",
|
||||
"timeslider.unnamedauthors": "{{num}} \u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03b9 \u03c3\u03c5\u03b3\u03b3\u03c1\u03b1\u03c6\u03b5\u03af\u03c2",
|
||||
"pad.savedrevs.marked": "\u0391\u03c5\u03c4\u03ae \u03b7 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7 \u03b5\u03c0\u03b9\u03c3\u03b7\u03bc\u03ac\u03bd\u03b8\u03b7\u03ba\u03b5 \u03c9\u03c2 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03bc\u03ad\u03bd\u03b7 \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7",
|
||||
"pad.userlist.entername": "\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03bf \u03cc\u03bd\u03bf\u03bc\u03ac \u03c3\u03b1\u03c2",
|
||||
"pad.userlist.unnamed": "\u03b1\u03bd\u03ce\u03bd\u03c5\u03bc\u03bf\u03c2",
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
"0": "Armando-Martin",
|
||||
"1": "Jacobo",
|
||||
"2": "Joker",
|
||||
"4": "Vivaelcelta",
|
||||
"5": "Xuacu"
|
||||
"3": "Rubenwap",
|
||||
"5": "Vivaelcelta",
|
||||
"6": "Xuacu"
|
||||
}
|
||||
},
|
||||
"index.newPad": "Nuevo Pad",
|
||||
|
@ -104,6 +105,8 @@
|
|||
"timeslider.month.october": "Octubre",
|
||||
"timeslider.month.november": "Noviembre",
|
||||
"timeslider.month.december": "Diciembre",
|
||||
"timeslider.unnamedauthor": "{{num}} autor desconocido",
|
||||
"timeslider.unnamedauthors": "{{num}} autores desconocidos",
|
||||
"pad.savedrevs.marked": "Revisi\u00f3n guardada",
|
||||
"pad.userlist.entername": "Escribe tu nombre",
|
||||
"pad.userlist.unnamed": "an\u00f3nimo",
|
||||
|
|
|
@ -105,6 +105,8 @@
|
|||
"timeslider.month.october": "lokakuu",
|
||||
"timeslider.month.november": "marraskuu",
|
||||
"timeslider.month.december": "joulukuu",
|
||||
"timeslider.unnamedauthor": "{{num}} nimet\u00f6n tekij\u00e4",
|
||||
"timeslider.unnamedauthors": "{{num}} nimet\u00f6nt\u00e4 tekij\u00e4\u00e4",
|
||||
"pad.savedrevs.marked": "T\u00e4m\u00e4 versio on nyt merkitty tallennetuksi versioksi",
|
||||
"pad.userlist.entername": "Kirjoita nimesi",
|
||||
"pad.userlist.unnamed": "nimet\u00f6n",
|
||||
|
|
|
@ -109,6 +109,8 @@
|
|||
"timeslider.month.october": "Octobre",
|
||||
"timeslider.month.november": "Novembre",
|
||||
"timeslider.month.december": "D\u00e9cembre",
|
||||
"timeslider.unnamedauthor": "{{num}} auteur anonyme",
|
||||
"timeslider.unnamedauthors": "{{num}} auteurs anonymes",
|
||||
"pad.savedrevs.marked": "Cette r\u00e9vision est maintenant marqu\u00e9e comme r\u00e9vision enregistr\u00e9e",
|
||||
"pad.userlist.entername": "Entrez votre nom",
|
||||
"pad.userlist.unnamed": "sans nom",
|
||||
|
|
|
@ -100,6 +100,8 @@
|
|||
"timeslider.month.october": "outubro",
|
||||
"timeslider.month.november": "novembro",
|
||||
"timeslider.month.december": "decembro",
|
||||
"timeslider.unnamedauthor": "{{num}} autor an\u00f3nimo",
|
||||
"timeslider.unnamedauthors": "{{num}} autores an\u00f3nimos",
|
||||
"pad.savedrevs.marked": "Esta revisi\u00f3n est\u00e1 agora marcada como revisi\u00f3n gardada",
|
||||
"pad.userlist.entername": "Insira o seu nome",
|
||||
"pad.userlist.unnamed": "an\u00f3nimo",
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
"pad.share.emebdcode": "\u05d4\u05d8\u05de\u05e2\u05ea \u05e7\u05d9\u05e9\u05d5\u05e8",
|
||||
"pad.chat": "\u05e9\u05d9\u05d7\u05d4",
|
||||
"pad.chat.title": "\u05e4\u05ea\u05d9\u05d7\u05ea \u05d4\u05e9\u05d9\u05d7\u05d4 \u05e9\u05dc \u05d4\u05e4\u05e0\u05e7\u05e1 \u05d4\u05d6\u05d4.",
|
||||
"pad.chat.loadmessages": "\u05d8\u05e2\u05d9\u05e0\u05ea \u05d4\u05d5\u05d3\u05e2\u05d5\u05ea \u05e0\u05d5\u05e1\u05e4\u05d5\u05ea",
|
||||
"timeslider.pageTitle": "\u05d2\u05d5\u05dc\u05dc \u05d6\u05de\u05df \u05e9\u05dc {{appTitle}}",
|
||||
"timeslider.toolbar.returnbutton": "\u05d7\u05d6\u05e8\u05d4 \u05d0\u05dc \u05d4\u05e4\u05e0\u05e7\u05e1",
|
||||
"timeslider.toolbar.authors": "\u05db\u05d5\u05ea\u05d1\u05d9\u05dd:",
|
||||
|
@ -100,6 +101,8 @@
|
|||
"timeslider.month.october": "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8",
|
||||
"timeslider.month.november": "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8",
|
||||
"timeslider.month.december": "\u05d3\u05e6\u05de\u05d1\u05e8",
|
||||
"timeslider.unnamedauthor": "\u05db\u05d5\u05ea\u05d1 \u05d7\u05e1\u05e8\u05be\u05e9\u05dd \u05d0\u05d7\u05d3",
|
||||
"timeslider.unnamedauthors": "{{num}} \u05db\u05d5\u05ea\u05d1\u05d9\u05dd \u05d7\u05e1\u05e8\u05d9\u05be\u05e9\u05dd",
|
||||
"pad.savedrevs.marked": "\u05d2\u05e8\u05e1\u05d4 \u05d6\u05d5 \u05de\u05e1\u05d5\u05de\u05e0\u05ea \u05db\u05d2\u05e8\u05e1\u05d4 \u05e9\u05de\u05d5\u05e8\u05d4",
|
||||
"pad.userlist.entername": "\u05e0\u05d0 \u05dc\u05d4\u05d6\u05d9\u05df \u05d0\u05ea \u05e9\u05de\u05da",
|
||||
"pad.userlist.unnamed": "\u05dc\u05dc\u05d0 \u05e9\u05dd",
|
||||
|
|
|
@ -103,6 +103,8 @@
|
|||
"timeslider.month.october": "ottobre",
|
||||
"timeslider.month.november": "novembre",
|
||||
"timeslider.month.december": "dicembre",
|
||||
"timeslider.unnamedauthor": "{{num}} autore senza nome",
|
||||
"timeslider.unnamedauthors": "{{num}} autori senza nome",
|
||||
"pad.savedrevs.marked": "Questa revisione \u00e8 ora contrassegnata come una versione salvata",
|
||||
"pad.userlist.entername": "Inserisci il tuo nome",
|
||||
"pad.userlist.unnamed": "senza nome",
|
||||
|
|
|
@ -100,6 +100,8 @@
|
|||
"timeslider.month.october": "10\u6708",
|
||||
"timeslider.month.november": "11\u6708",
|
||||
"timeslider.month.december": "12\u6708",
|
||||
"timeslider.unnamedauthor": "{{num}} \u4eba\u306e\u533f\u540d\u306e\u4f5c\u8005",
|
||||
"timeslider.unnamedauthors": "{{num}} \u4eba\u306e\u533f\u540d\u306e\u4f5c\u8005",
|
||||
"pad.savedrevs.marked": "\u3053\u306e\u7248\u3092\u3001\u4fdd\u5b58\u6e08\u307f\u306e\u7248\u3068\u3057\u3066\u30de\u30fc\u30af\u3057\u307e\u3057\u305f\u3002",
|
||||
"pad.userlist.entername": "\u540d\u524d\u3092\u5165\u529b",
|
||||
"pad.userlist.unnamed": "\u540d\u524d\u306a\u3057",
|
||||
|
|
|
@ -100,6 +100,8 @@
|
|||
"timeslider.month.october": "10\uc6d4",
|
||||
"timeslider.month.november": "11\uc6d4",
|
||||
"timeslider.month.december": "12\uc6d4",
|
||||
"timeslider.unnamedauthor": "\uc774\ub984 \uc5c6\ub294 \uc800\uc790 {{num}}\uba85",
|
||||
"timeslider.unnamedauthors": "\uc774\ub984 \uc5c6\ub294 \uc800\uc790 {{num}}\uba85",
|
||||
"pad.savedrevs.marked": "\uc774 \ud310\uc740 \uc774\uc81c \uc800\uc7a5\ud55c \ud310\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.",
|
||||
"pad.userlist.entername": "\uc774\ub984\uc744 \uc785\ub825\ud558\uc138\uc694",
|
||||
"pad.userlist.unnamed": "\uc774\ub984\uc5c6\uc74c",
|
||||
|
|
|
@ -101,6 +101,8 @@
|
|||
"timeslider.month.october": "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
|
||||
"timeslider.month.november": "\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
|
||||
"timeslider.month.december": "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438",
|
||||
"timeslider.unnamedauthor": "{{num}} \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d \u0430\u0432\u0442\u043e\u0440",
|
||||
"timeslider.unnamedauthors": "{{num}} \u043d\u0435\u0438\u043c\u0435\u043d\u0443\u0432\u0430\u043d\u0438 \u0430\u0432\u0442\u043e\u0440\u0438",
|
||||
"pad.savedrevs.marked": "\u041e\u0432\u0430\u0430 \u0440\u0435\u0432\u0438\u0437\u0438\u0458\u0430 \u0441\u0435\u0433\u0430 \u0435 \u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u043a\u0430\u043a\u043e \u0437\u0430\u0447\u0443\u0432\u0430\u043d\u0430",
|
||||
"pad.userlist.entername": "\u0412\u043d\u0435\u0441\u0435\u0442\u0435 \u0433\u043e \u0432\u0430\u0448\u0435\u0442\u043e \u0438\u043c\u0435",
|
||||
"pad.userlist.unnamed": "\u0431\u0435\u0437 \u0438\u043c\u0435",
|
||||
|
|
|
@ -79,6 +79,7 @@
|
|||
"pad.share.emebdcode": "\u0d0e\u0d02\u0d2c\u0d46\u0d21\u0d4d \u0d2f\u0d41.\u0d06\u0d7c.\u0d0e\u0d7d.",
|
||||
"pad.chat": "\u0d24\u0d24\u0d4d\u0d38\u0d2e\u0d2f\u0d38\u0d02\u0d35\u0d3e\u0d26\u0d02",
|
||||
"pad.chat.title": "\u0d08 \u0d2a\u0d3e\u0d21\u0d3f\u0d28\u0d4d\u0d31\u0d46 \u0d24\u0d24\u0d4d\u0d38\u0d2e\u0d2f\u0d38\u0d02\u0d35\u0d3e\u0d26\u0d02 \u0d24\u0d41\u0d31\u0d15\u0d4d\u0d15\u0d41\u0d15.",
|
||||
"pad.chat.loadmessages": "\u0d15\u0d42\u0d1f\u0d41\u0d24\u0d7d \u0d38\u0d28\u0d4d\u0d26\u0d47\u0d36\u0d19\u0d4d\u0d19\u0d7e \u0d0e\u0d1f\u0d41\u0d15\u0d4d\u0d15\u0d41\u0d15",
|
||||
"timeslider.pageTitle": "{{appTitle}} \u0d38\u0d2e\u0d2f\u0d30\u0d47\u0d16",
|
||||
"timeslider.toolbar.returnbutton": "\u0d2a\u0d3e\u0d21\u0d3f\u0d32\u0d47\u0d15\u0d4d\u0d15\u0d4d \u0d24\u0d3f\u0d30\u0d3f\u0d1a\u0d4d\u0d1a\u0d41\u0d2a\u0d4b\u0d35\u0d41\u0d15",
|
||||
"timeslider.toolbar.authors": "\u0d30\u0d1a\u0d2f\u0d3f\u0d24\u0d3e\u0d15\u0d4d\u0d15\u0d7e:",
|
||||
|
|
|
@ -78,6 +78,7 @@
|
|||
"pad.share.emebdcode": "Benamkan URL",
|
||||
"pad.chat": "Sembang",
|
||||
"pad.chat.title": "Buka ruang sembang untuk pad ini.",
|
||||
"pad.chat.loadmessages": "Muatkan banyak lagi pesanan",
|
||||
"timeslider.pageTitle": "Gelangsar Masa {{appTitle}}",
|
||||
"timeslider.toolbar.returnbutton": "Kembali ke pad",
|
||||
"timeslider.toolbar.authors": "Pengarang:",
|
||||
|
@ -99,6 +100,8 @@
|
|||
"timeslider.month.october": "Oktober",
|
||||
"timeslider.month.november": "November",
|
||||
"timeslider.month.december": "Disember",
|
||||
"timeslider.unnamedauthor": "{{num}} orang pengarang awanama",
|
||||
"timeslider.unnamedauthors": "{{num}} orang pengarang awanama",
|
||||
"pad.savedrevs.marked": "Semakan ini telah ditandai sebagai semakan tersimpan",
|
||||
"pad.userlist.entername": "Taipkan nama anda",
|
||||
"pad.userlist.unnamed": "tanpa nama",
|
||||
|
|
|
@ -17,7 +17,9 @@
|
|||
"pad.settings.fontType": "\u0644\u064a\u06a9\u0628\u06bc\u06d0 \u0689\u0648\u0644:",
|
||||
"pad.settings.fontType.normal": "\u0646\u0648\u0631\u0645\u0627\u0644",
|
||||
"pad.settings.fontType.monospaced": "\u0645\u0648\u0646\u0648\u0633\u067e\u06d0\u0633",
|
||||
"pad.settings.globalView": "\u0646\u0693\u06d0\u0648\u0627\u0644\u0647 \u069a\u06a9\u0627\u0631\u06d0\u062f\u0646\u0647",
|
||||
"pad.settings.language": "\u0698\u0628\u0647:",
|
||||
"pad.importExport.importSuccessful": "\u0628\u0631\u064a\u0627\u0644\u06cc \u0634\u0648!",
|
||||
"pad.importExport.exporthtml": "\u0627\u0686 \u067c\u064a \u0627\u0645 \u0627\u06d0\u0644",
|
||||
"pad.importExport.exportplain": "\u0633\u0627\u062f\u0647 \u0645\u062a\u0646",
|
||||
"pad.importExport.exportword": "\u0645\u0627\u064a\u06a9\u0631\u0648\u0633\u0627\u0641\u067c \u0648\u0631\u0689",
|
||||
|
|
|
@ -103,6 +103,8 @@
|
|||
"timeslider.month.october": "\u043e\u043a\u0442\u044f\u0431\u0440\u044c",
|
||||
"timeslider.month.november": "\u043d\u043e\u044f\u0431\u0440\u044c",
|
||||
"timeslider.month.december": "\u0434\u0435\u043a\u0430\u0431\u0440\u044c",
|
||||
"timeslider.unnamedauthor": "{{num}} \u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u0440",
|
||||
"timeslider.unnamedauthors": "\u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432: {{num}}",
|
||||
"pad.savedrevs.marked": "\u042d\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u0430 \u043a\u0430\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u0430\u044f",
|
||||
"pad.userlist.entername": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448\u0435 \u0438\u043c\u044f",
|
||||
"pad.userlist.unnamed": "\u0431\u0435\u0437\u044b\u043c\u044f\u043d\u043d\u044b\u0439",
|
||||
|
|
|
@ -100,6 +100,8 @@
|
|||
"timeslider.month.october": "Oktober",
|
||||
"timeslider.month.november": "November",
|
||||
"timeslider.month.december": "December",
|
||||
"timeslider.unnamedauthor": "neimenovani avtor {{num}}",
|
||||
"timeslider.unnamedauthors": "{{num}} neimenovani avtorji",
|
||||
"pad.savedrevs.marked": "Ta predelava je ozna\u010dena kot shranjena predelava.",
|
||||
"pad.userlist.entername": "Vpi\u0161ite ime",
|
||||
"pad.userlist.unnamed": "neimenovana oseba",
|
||||
|
|
|
@ -100,6 +100,8 @@
|
|||
"timeslider.month.october": "oktober",
|
||||
"timeslider.month.november": "november",
|
||||
"timeslider.month.december": "december",
|
||||
"timeslider.unnamedauthor": "{{num}} namnl\u00f6s f\u00f6rfattare",
|
||||
"timeslider.unnamedauthors": "{{num}} namnl\u00f6sa f\u00f6rfattare",
|
||||
"pad.savedrevs.marked": "Denna revision \u00e4r nu markerad som en sparad revision",
|
||||
"pad.userlist.entername": "Ange ditt namn",
|
||||
"pad.userlist.unnamed": "namnl\u00f6s",
|
||||
|
|
|
@ -102,6 +102,8 @@
|
|||
"timeslider.month.october": "\u0416\u043e\u0432\u0442\u0435\u043d\u044c",
|
||||
"timeslider.month.november": "\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434",
|
||||
"timeslider.month.december": "\u0413\u0440\u0443\u0434\u0435\u043d\u044c",
|
||||
"timeslider.unnamedauthor": "{{num}} \u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u0440",
|
||||
"timeslider.unnamedauthors": "\u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u043e\u0432: {{num}}",
|
||||
"pad.savedrevs.marked": "\u0426\u044e \u0432\u0435\u0440\u0441\u0456\u044e \u043f\u043e\u043c\u0456\u0447\u0435\u043d\u043e \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043e\u044e \u0432\u0435\u0440\u0441\u0456\u0454\u044e",
|
||||
"pad.userlist.entername": "\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0412\u0430\u0448\u0435 \u0456\u043c'\u044f",
|
||||
"pad.userlist.unnamed": "\u0431\u0435\u0437\u0456\u043c\u0435\u043d\u043d\u0438\u0439",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"authors": [
|
||||
"Dimension",
|
||||
"Hydra",
|
||||
"\u4e4c\u62c9\u8de8\u6c2a",
|
||||
"\u71c3\u7389"
|
||||
]
|
||||
},
|
||||
|
@ -30,12 +31,19 @@
|
|||
"pad.permissionDenied": "\u60a8\u6ca1\u6709\u89c2\u770b\u8fd9\u4e2a\u8bb0\u4e8b\u672c\u7684\u6743\u9650",
|
||||
"pad.wrongPassword": "\u60a8\u7684\u5bc6\u7801\u9519\u4e86",
|
||||
"pad.settings.padSettings": "\u8bb0\u4e8b\u672c\u8bbe\u7f6e",
|
||||
"pad.settings.myView": "\u6211\u7684\u89c6\u7a97",
|
||||
"pad.settings.stickychat": "\u603b\u662f\u5728\u5c4f\u5e55\u4e0a\u663e\u793a\u804a\u5929",
|
||||
"pad.settings.colorcheck": "\u4f5c\u8005\u989c\u8272",
|
||||
"pad.settings.linenocheck": "\u884c\u53f7",
|
||||
"pad.settings.fontType": "\u5b57\u4f53\u7c7b\u578b\uff1a",
|
||||
"pad.settings.fontType.normal": "\u6b63\u5e38",
|
||||
"pad.settings.fontType.monospaced": "\u7b49\u5bbd\u5b57\u4f53",
|
||||
"pad.settings.globalView": "\u6240\u6709\u4eba\u7684\u89c6\u7a97",
|
||||
"pad.settings.language": "\u8bed\u8a00\uff1a",
|
||||
"pad.importExport.import_export": "\u5bfc\u5165\/\u5bfc\u51fa",
|
||||
"pad.importExport.import": "\u4e0a\u8f7d\u4efb\u4f55\u6587\u5b57\u6863\u6216\u6587\u6863",
|
||||
"pad.importExport.importSuccessful": "\u6210\u529f\uff01",
|
||||
"pad.importExport.export": "\u5bfc\u51fa\u76ee\u524d\u7684\u8bb0\u4e8b\u7c3f\u4e3a\uff1a",
|
||||
"pad.importExport.exporthtml": "HTML",
|
||||
"pad.importExport.exportplain": "\u7eaf\u6587\u672c",
|
||||
"pad.importExport.exportword": "Microsoft Word",
|
||||
|
@ -43,21 +51,36 @@
|
|||
"pad.importExport.exportopen": "ODF\uff08\u5f00\u653e\u6587\u6863\u683c\u5f0f\uff09",
|
||||
"pad.importExport.exportdokuwiki": "DokuWiki",
|
||||
"pad.modals.connected": "\u5df2\u8fde\u63a5\u3002",
|
||||
"pad.modals.reconnecting": "\u91cd\u65b0\u8fde\u63a5\u5230\u60a8\u7684\u8bb0\u4e8b\u7c3f...",
|
||||
"pad.modals.forcereconnect": "\u5f3a\u5236\u91cd\u65b0\u8fde\u63a5",
|
||||
"pad.modals.userdup": "\u5728\u53e6\u4e00\u4e2a\u89c6\u7a97\u4e2d\u6253\u5f00",
|
||||
"pad.modals.userdup.explanation": "\u6b64\u8bb0\u4e8b\u7c3f\u4f3c\u4e4e\u5728\u6b64\u7535\u8111\u4e0a\u5728\u591a\u4e2a\u6d4f\u89c8\u5668\u89c6\u7a97\u4e2d\u6253\u5f00\u3002",
|
||||
"pad.modals.userdup.advice": "\u91cd\u65b0\u8fde\u63a5\u5230\u6b64\u89c6\u7a97\u3002",
|
||||
"pad.modals.unauth": "\u672a\u6388\u6743",
|
||||
"pad.modals.looping": "\u5df2\u79bb\u7ebf\u3002",
|
||||
"pad.modals.initsocketfail": "\u65e0\u6cd5\u8bbf\u95ee\u670d\u52a1\u5668\u3002",
|
||||
"pad.modals.initsocketfail.explanation": "\u65e0\u6cd5\u8fde\u63a5\u5230\u540c\u6b65\u670d\u52a1\u5668\u3002",
|
||||
"pad.modals.initsocketfail.cause": "\u8fd9\u53ef\u80fd\u662f\u7531\u4e8e\u60a8\u7684\u6d4f\u89c8\u5668\u6216\u60a8\u7684\u4e92\u8054\u7f51\u8fde\u63a5\u7684\u95ee\u9898\u3002",
|
||||
"pad.modals.slowcommit": "\u5df2\u79bb\u7ebf\u3002",
|
||||
"pad.modals.slowcommit.explanation": "\u670d\u52a1\u5668\u6ca1\u6709\u54cd\u5e94\u3002",
|
||||
"pad.modals.slowcommit.cause": "\u8fd9\u53ef\u80fd\u662f\u7531\u4e8e\u7f51\u7edc\u8fde\u63a5\u95ee\u9898\u3002",
|
||||
"pad.modals.deleted": "\u5df2\u522a\u9664\u3002",
|
||||
"pad.modals.deleted.explanation": "\u6b64\u8bb0\u4e8b\u672c\u5df2\u88ab\u79fb\u9664\u3002",
|
||||
"pad.modals.disconnected": "\u60a8\u5df2\u88ab\u79bb\u7ebf\u3002",
|
||||
"pad.modals.disconnected.explanation": "\u5230\u670d\u52a1\u5668\u7684\u8fde\u63a5\u5df2\u4e22\u5931",
|
||||
"pad.modals.disconnected.cause": "\u670d\u52a1\u5668\u53ef\u80fd\u65e0\u6cd5\u4f7f\u7528\u3002\u82e5\u6b64\u60c5\u51b5\u6301\u7eed\u53d1\u751f\uff0c\u8bf7\u901a\u77e5\u6211\u4eec\u3002",
|
||||
"pad.share": "\u5206\u4eab\u6b64\u8bb0\u4e8b\u672c",
|
||||
"pad.share.readonly": "\u53ea\u80fd\u8bfb",
|
||||
"pad.share.link": "\u94fe\u63a5",
|
||||
"pad.share.emebdcode": "\u5d4c\u5165\u7f51\u5740",
|
||||
"pad.chat": "\u804a\u5929",
|
||||
"pad.chat.title": "\u6253\u5f00\u6b64\u8bb0\u4e8b\u7c3f\u7684\u804a\u5929\u3002",
|
||||
"pad.chat.loadmessages": "\u52a0\u8f7d\u66f4\u591a\u4fe1\u606f",
|
||||
"timeslider.toolbar.returnbutton": "\u8fd4\u56de\u8bb0\u4e8b\u672c",
|
||||
"timeslider.toolbar.authors": "\u4f5c\u8005\uff1a",
|
||||
"timeslider.toolbar.authorsList": "\u6ca1\u6709\u4f5c\u8005",
|
||||
"timeslider.toolbar.exportlink.title": "\u5bfc\u51fa",
|
||||
"timeslider.exportCurrent": "\u5bfc\u51fa\u76ee\u524d\u7248\u672c\u4e3a\uff1a",
|
||||
"timeslider.version": "\u7b2c {{version}} \u7248\u672c",
|
||||
"timeslider.saved": "\u5728{{year}}\u5e74{{month}}{{day}}\u65e5\u4fdd\u5b58",
|
||||
"timeslider.month.january": "\u4e00\u6708",
|
||||
|
@ -72,13 +95,20 @@
|
|||
"timeslider.month.october": "\u5341\u6708",
|
||||
"timeslider.month.november": "\u5341\u4e00\u6708",
|
||||
"timeslider.month.december": "\u5341\u4e8c\u6708",
|
||||
"timeslider.unnamedauthor": "{{num}}\u533f\u540d\u4f5c\u8005",
|
||||
"timeslider.unnamedauthors": "{{num}}\u533f\u540d\u4f5c\u8005",
|
||||
"pad.savedrevs.marked": "\u6b64\u4fee\u8ba2\u5df2\u6807\u8bb0\u4e3a\u4fdd\u5b58\u4fee\u8ba2",
|
||||
"pad.userlist.entername": "\u8f93\u5165\u60a8\u7684\u59d3\u540d",
|
||||
"pad.userlist.unnamed": "\u65e0\u540d",
|
||||
"pad.userlist.guest": "\u8bbf\u5ba2",
|
||||
"pad.userlist.deny": "\u62d2\u7edd",
|
||||
"pad.userlist.approve": "\u6279\u51c6",
|
||||
"pad.editbar.clearcolors": "\u6e05\u9664\u6574\u4e2a\u6587\u6863\u7684\u4f5c\u8005\u989c\u8272\u5417\uff1f",
|
||||
"pad.impexp.importbutton": "\u73b0\u5728\u5bfc\u5165",
|
||||
"pad.impexp.importing": "\u6b63\u5728\u5bfc\u5165...",
|
||||
"pad.impexp.convertFailed": "\u6211\u4eec\u65e0\u6cd5\u5bfc\u5165\u6b64\u6587\u6863\u3002\u8bf7\u4f7f\u7528\u4ed6\u6587\u6863\u683c\u5f0f\u6216\u624b\u52a8\u590d\u5236\u8d34\u4e0a\u3002",
|
||||
"pad.impexp.uploadFailed": "\u4e0a\u8f7d\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5",
|
||||
"pad.impexp.importfailed": "\u5bfc\u5165\u5931\u8d25"
|
||||
"pad.impexp.importfailed": "\u5bfc\u5165\u5931\u8d25",
|
||||
"pad.impexp.copypaste": "\u8bf7\u590d\u5236\u7c98\u8d34",
|
||||
"pad.impexp.exportdisabled": "{{type}} \u683c\u5f0f\u7684\u5bfc\u51fa\u88ab\u7981\u7528\u3002\u6709\u5173\u8be6\u60c5\uff0c\u8bf7\u4e0e\u60a8\u7684\u7cfb\u7edf\u7ba1\u7406\u5458\u8054\u7cfb\u3002"
|
||||
}
|
|
@ -100,6 +100,8 @@
|
|||
"timeslider.month.october": "10\u6708",
|
||||
"timeslider.month.november": "11\u6708",
|
||||
"timeslider.month.december": "12\u6708",
|
||||
"timeslider.unnamedauthor": "{{num}} \u533f\u540d\u4f5c\u8005",
|
||||
"timeslider.unnamedauthors": "{{num}} \u533f\u540d\u4f5c\u8005",
|
||||
"pad.savedrevs.marked": "\u6b64\u4fee\u8a02\u5df2\u6a19\u8a18\u70ba\u5df2\u4fdd\u5b58\u3002",
|
||||
"pad.userlist.entername": "\u8f38\u5165\u60a8\u7684\u59d3\u540d",
|
||||
"pad.userlist.unnamed": "\u672a\u547d\u540d",
|
||||
|
|
|
@ -32,6 +32,7 @@ var securityManager = require("../db/SecurityManager");
|
|||
var plugins = require("ep_etherpad-lite/static/js/pluginfw/plugins.js");
|
||||
var log4js = require('log4js');
|
||||
var messageLogger = log4js.getLogger("message");
|
||||
var accessLogger = log4js.getLogger("access");
|
||||
var _ = require('underscore');
|
||||
var hooks = require("ep_etherpad-lite/static/js/pluginfw/hooks.js");
|
||||
|
||||
|
@ -121,6 +122,10 @@ exports.handleDisconnect = function(client)
|
|||
});
|
||||
}
|
||||
|
||||
client.get('remoteAddress', function(er, ip) {
|
||||
accessLogger.info('[LEAVE] Pad "'+session.padId+'": Author "'+session.author+'" on client '+client.id+' with IP "'+ip+'" left the pad')
|
||||
})
|
||||
|
||||
//Delete the sessioninfos entrys of this session
|
||||
delete sessioninfos[client.id];
|
||||
}
|
||||
|
@ -910,6 +915,10 @@ function handleClientReady(client, message)
|
|||
sessioninfos[client.id].readOnlyPadId = padIds.readOnlyPadId;
|
||||
sessioninfos[client.id].readonly = padIds.readonly;
|
||||
|
||||
client.get('remoteAddress', function(er, ip) {
|
||||
accessLogger.info('[ENTER] Pad "'+padIds.padId+'": Client '+client.id+' with IP "'+ip+'" entered the pad')
|
||||
})
|
||||
|
||||
//If this is a reconnect, we don't have to send the client the ClientVars again
|
||||
if(message.reconnect == true)
|
||||
{
|
||||
|
|
|
@ -55,13 +55,14 @@ exports.setSocketIO = function(_socket)
|
|||
|
||||
socket.sockets.on('connection', function(client)
|
||||
{
|
||||
client.set('remoteAddress', client.handshake.address.address);
|
||||
var clientAuthorized = false;
|
||||
|
||||
//wrap the original send function to log the messages
|
||||
client._send = client.send;
|
||||
client.send = function(message)
|
||||
{
|
||||
messageLogger.info("to " + client.id + ": " + stringifyWithoutPassword(message));
|
||||
messageLogger.debug("to " + client.id + ": " + stringifyWithoutPassword(message));
|
||||
client._send(message);
|
||||
}
|
||||
|
||||
|
@ -79,7 +80,7 @@ exports.setSocketIO = function(_socket)
|
|||
//check if component is registered in the components array
|
||||
if(components[message.component])
|
||||
{
|
||||
messageLogger.info("from " + client.id + ": " + stringifyWithoutPassword(message));
|
||||
messageLogger.debug("from " + client.id + ": " + stringifyWithoutPassword(message));
|
||||
components[message.component].handleMessage(client, message);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,5 +45,5 @@
|
|||
"engines" : { "node" : ">=0.6.3",
|
||||
"npm" : ">=1.0"
|
||||
},
|
||||
"version" : "1.2.7"
|
||||
"version" : "1.2.8"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* This code is mostly from the old Etherpad. Please help us to comment this code.
|
||||
* This code is mostly from the old Etherpad. Please help us to comment this code.
|
||||
* This helps other people to understand this code better and helps them to improve it.
|
||||
* TL;DR COMMENTS ON THIS FILE ARE HIGHLY APPRECIATED
|
||||
*/
|
||||
|
@ -34,18 +34,6 @@ function object(o)
|
|||
return new f();
|
||||
}
|
||||
|
||||
var userAgent = (((function () {return this;})().navigator || {}).userAgent || 'node-js').toLowerCase();
|
||||
|
||||
var browser = {
|
||||
version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
|
||||
safari: /webkit/.test(userAgent),
|
||||
opera: /opera/.test(userAgent),
|
||||
msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
|
||||
mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent),
|
||||
windows: /windows/.test(userAgent),
|
||||
mobile: /mobile/.test(userAgent) || /android/.test(userAgent)
|
||||
};
|
||||
|
||||
function getAssoc(obj, name)
|
||||
{
|
||||
return obj["_magicdom_" + name];
|
||||
|
@ -96,7 +84,6 @@ var noop = function(){};
|
|||
|
||||
exports.isNodeText = isNodeText;
|
||||
exports.object = object;
|
||||
exports.browser = browser;
|
||||
exports.getAssoc = getAssoc;
|
||||
exports.setAssoc = setAssoc;
|
||||
exports.binarySearch = binarySearch;
|
||||
|
|
|
@ -154,17 +154,8 @@ function Ace2Inner(){
|
|||
var dmesg = noop;
|
||||
window.dmesg = noop;
|
||||
|
||||
// Ugly hack for Firefox 18
|
||||
// get the timeout and interval methods from the parent iframe
|
||||
// This hack breaks IE8
|
||||
try{
|
||||
setTimeout = parent.setTimeout;
|
||||
clearTimeout = parent.clearTimeout;
|
||||
setInterval = parent.setInterval;
|
||||
clearInterval = parent.clearInterval;
|
||||
}catch(err){
|
||||
// IE8 can panic here.
|
||||
}
|
||||
|
||||
var scheduler = parent; // hack for opera required
|
||||
|
||||
var textFace = 'monospace';
|
||||
var textSize = 12;
|
||||
|
@ -184,7 +175,7 @@ function Ace2Inner(){
|
|||
parentDynamicCSS = makeCSSManager("dynamicsyntax", true);
|
||||
}
|
||||
|
||||
var changesetTracker = makeChangesetTracker(rep.apool, {
|
||||
var changesetTracker = makeChangesetTracker(scheduler, rep.apool, {
|
||||
withCallbacks: function(operationName, f)
|
||||
{
|
||||
inCallStackIfNecessary(operationName, function()
|
||||
|
@ -604,7 +595,7 @@ function Ace2Inner(){
|
|||
doesWrap = newVal;
|
||||
var dwClass = "doesWrap";
|
||||
setClassPresence(root, "doesWrap", doesWrap);
|
||||
setTimeout(function()
|
||||
scheduler.setTimeout(function()
|
||||
{
|
||||
inCallStackIfNecessary("setWraps", function()
|
||||
{
|
||||
|
@ -644,7 +635,7 @@ function Ace2Inner(){
|
|||
textFace = face;
|
||||
root.style.fontFamily = textFace;
|
||||
lineMetricsDiv.style.fontFamily = textFace;
|
||||
setTimeout(function()
|
||||
scheduler.setTimeout(function()
|
||||
{
|
||||
setUpTrackingCSS();
|
||||
}, 0);
|
||||
|
@ -657,7 +648,7 @@ function Ace2Inner(){
|
|||
root.style.lineHeight = textLineHeight() + "px";
|
||||
sideDiv.style.lineHeight = textLineHeight() + "px";
|
||||
lineMetricsDiv.style.fontSize = textSize + "px";
|
||||
setTimeout(function()
|
||||
scheduler.setTimeout(function()
|
||||
{
|
||||
setUpTrackingCSS();
|
||||
}, 0);
|
||||
|
@ -1106,7 +1097,7 @@ function Ace2Inner(){
|
|||
scheduledTime = time;
|
||||
var delay = time - now();
|
||||
if (delay < 0) delay = 0;
|
||||
scheduledTimeout = setTimeout(callback, delay);
|
||||
scheduledTimeout = scheduler.setTimeout(callback, delay);
|
||||
}
|
||||
|
||||
function callback()
|
||||
|
@ -3623,7 +3614,7 @@ function Ace2Inner(){
|
|||
evt.preventDefault();
|
||||
doReturnKey();
|
||||
//scrollSelectionIntoView();
|
||||
setTimeout(function()
|
||||
scheduler.setTimeout(function()
|
||||
{
|
||||
outerWin.scrollBy(-100, 0);
|
||||
}, 0);
|
||||
|
@ -3709,7 +3700,7 @@ function Ace2Inner(){
|
|||
var isPageDown = evt.which === 34;
|
||||
var isPageUp = evt.which === 33;
|
||||
|
||||
setTimeout(function(){
|
||||
scheduler.setTimeout(function(){
|
||||
var newVisibleLineRange = getVisibleLineRange();
|
||||
var linesCount = rep.lines.length();
|
||||
|
||||
|
@ -4660,7 +4651,10 @@ function Ace2Inner(){
|
|||
function bindTheEventHandlers()
|
||||
{
|
||||
$(document).on("keydown", handleKeyEvent);
|
||||
$(document).on("keypress", handleKeyEvent);
|
||||
// Hack for Opera to stop it firing twice on events
|
||||
if ($.browser.opera){
|
||||
$(document).on("keypress", handleKeyEvent);
|
||||
}
|
||||
$(document).on("keyup", handleKeyEvent);
|
||||
$(document).on("click", handleClick);
|
||||
$(root).on("blur", handleBlur);
|
||||
|
@ -4766,7 +4760,7 @@ function Ace2Inner(){
|
|||
|
||||
});
|
||||
|
||||
setTimeout(function()
|
||||
scheduler.setTimeout(function()
|
||||
{
|
||||
parent.readyFunc(); // defined in code that sets up the inner iframe
|
||||
}, 0);
|
||||
|
@ -5214,7 +5208,7 @@ function Ace2Inner(){
|
|||
documentAttributeManager: documentAttributeManager
|
||||
});
|
||||
|
||||
setTimeout(function()
|
||||
scheduler.setTimeout(function()
|
||||
{
|
||||
parent.readyFunc(); // defined in code that sets up the inner iframe
|
||||
}, 0);
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
var AttributePool = require('./AttributePool');
|
||||
var Changeset = require('./Changeset');
|
||||
|
||||
function makeChangesetTracker(apool, aceCallbacksProvider)
|
||||
function makeChangesetTracker(scheduler, apool, aceCallbacksProvider)
|
||||
{
|
||||
|
||||
// latest official text from server
|
||||
|
|
9641
src/static/js/jquery.js
vendored
9641
src/static/js/jquery.js
vendored
File diff suppressed because it is too large
Load diff
50
src/static/js/jquery_browser.js
vendored
Normal file
50
src/static/js/jquery_browser.js
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
Copied from jQuery 1.8, the last jquery version with browser recognition support
|
||||
*/
|
||||
|
||||
(function(){
|
||||
// Use of jQuery.browser is frowned upon.
|
||||
// More details: http://api.jquery.com/jQuery.browser
|
||||
// jQuery.uaMatch maintained for back-compat
|
||||
var uaMatch = function( ua ) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
|
||||
/(msie) ([\w.]+)/.exec( ua ) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
|
||||
var userAgent = navigator.userAgent;
|
||||
var matched = uaMatch(userAgent);
|
||||
var browser = {};
|
||||
|
||||
if ( matched.browser ) {
|
||||
browser[ matched.browser ] = true;
|
||||
browser.version = matched.version;
|
||||
}
|
||||
|
||||
// Chrome is Webkit, but Webkit is also Safari.
|
||||
if ( browser.chrome ) {
|
||||
browser.webkit = true;
|
||||
} else if ( browser.webkit ) {
|
||||
browser.safari = true;
|
||||
}
|
||||
|
||||
//custom extensions, the original jquery didn't have these
|
||||
browser.windows = /windows/.test(userAgent);
|
||||
browser.mobile = /mobile/.test(userAgent) || /android/.test(userAgent);
|
||||
|
||||
if(typeof exports !== 'undefined'){
|
||||
exports.browser = browser;
|
||||
} else{
|
||||
$.browser = browser;
|
||||
}
|
||||
})();
|
|
@ -2,4 +2,9 @@
|
|||
// Proviedes a require'able version of jQuery without leaking $ and jQuery;
|
||||
|
||||
require('./jquery');
|
||||
exports.jQuery = exports.$ = $.noConflict(true);
|
||||
var jq = window.$.noConflict(true);
|
||||
|
||||
//added the old browser recognition
|
||||
jq.browser = require('./jquery_browser').browser;
|
||||
|
||||
exports.jQuery = exports.$ = jq;
|
|
@ -85,8 +85,8 @@ var helper = {};
|
|||
return !$iframe.contents().find("#editorloadingbox").is(":visible");
|
||||
}, 50000).done(function(){
|
||||
helper.padChrome$ = getFrameJQuery( $('#iframe-container iframe'));
|
||||
helper.padOuter$ = getFrameJQuery(helper.padChrome$('iframe.[name="ace_outer"]'));
|
||||
helper.padInner$ = getFrameJQuery( helper.padOuter$('iframe.[name="ace_inner"]'));
|
||||
helper.padOuter$ = getFrameJQuery(helper.padChrome$('iframe[name="ace_outer"]'));
|
||||
helper.padInner$ = getFrameJQuery( helper.padOuter$('iframe[name="ace_inner"]'));
|
||||
|
||||
//disable all animations, this makes tests faster and easier
|
||||
helper.padChrome$.fx.off = true;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<div id="iframe-container"></div>
|
||||
|
||||
<script src="/static/js/jquery.js"></script>
|
||||
<script src="/static/js/jquery_browser.js"></script>
|
||||
<script src="lib/underscore.js"></script>
|
||||
|
||||
<script src="lib/mocha.js"></script>
|
||||
|
|
Loading…
Reference in a new issue