Skip to content

Fix delayed timers#2

Open
lieblb wants to merge 10000 commits intobheyser:trunkfrom
lieblb:fix-delayed-timers
Open

Fix delayed timers#2
lieblb wants to merge 10000 commits intobheyser:trunkfrom
lieblb:fix-delayed-timers

Conversation

@lieblb
Copy link

@lieblb lieblb commented Jan 10, 2019

Folgende Änderung zur Umschiffung der START_TIMERS_DELAY-Konstante:
e9c6498

In TestILIAS kam es beim Test von Zuordnungsfragen immer wieder zum Effekt, dass zum Zeitpunkt des Auslesens die Frage noch nicht initialisiert war (d.h. startTimers lief, obwohl die Frage eben noch nicht fertig initialisiert war).

Die vorliegende Änderung entfernt START_TIMERS_DELAY und basiert auf einem anderen Ansatz, der in TestILIAS sehr robust (unter Chrome wie auch Firefox) läuft.

Die Idee ist, dass man nicht nur einen Hook auf ready macht, sondern im Hook nochmals eine Registrierung für den ready-Hook, was einen dann ans Ende der Queue von allen ready-Handlern schiebt; die Annahme, dass man ans Ende dieser Queue kommt, ist natürlich leider undokumentiertes Verhalten, funktioniert aber offenbar in allen Browsern genau so.

$(document).ready(function() {
   // Nach uns laufen mglw. noch andere ready-Handler. Deswegen registrieren
   // wir uns nochmal neu.
   $(document).ready(function() {
       // Zu diesem Zeitpunkt sind alle anderen ready-Handler gelaufen.
       log("DELAYED initializer is called.");
   });
});

Hier ist ein kleines Demo-JS, das den Ansatz isoliert zeigt:

late-js.zip

Manuell lässt sich damit zeigen, dass der Ansatz z.B. mit folgenden Engines funktioniert:

Chrome 71.0.3578.98
Firefox 63.0
Safari 12.0.2

Niels Theen and others added 30 commits November 30, 2018 13:28
[Mail] Create Value Object for mail body and purifier to ensure sanitized data
… erscheint, obwohl noch kein Inhalt vorhanden ist
…ion_guide

ILIAS 5.4 installation guide

More job must be done and provided via PR.
Uwe-Kohnle and others added 26 commits January 4, 2019 19:02
Co-Authored-By: Amstutz <timon.amstutz@gmail.com>
Co-Authored-By: Amstutz <timon.amstutz@gmail.com>
Co-Authored-By: Amstutz <timon.amstutz@gmail.com>
Co-Authored-By: Amstutz <timon.amstutz@gmail.com>
Co-Authored-By: Amstutz <timon.amstutz@gmail.com>
Co-Authored-By: Amstutz <timon.amstutz@gmail.com>
Docu: General Pattern of Reviews for Code Contributions
…art of an assignment: -blog-download-submission-
bheyser pushed a commit that referenced this pull request Jul 16, 2019
bheyser pushed a commit that referenced this pull request Aug 14, 2019
bheyser pushed a commit that referenced this pull request Dec 5, 2019
bheyser pushed a commit that referenced this pull request Jul 17, 2020
…n object that implements Countable

Fixing error by using ldap-user-sync.

replace debug message after checking for an array

ERROR-LOG:

ilCronManager::runJob:95 count(): Parameter must be an array or an object that implements Countable
ilCronManager::runJob:95 #0 ILIAS_PATH/Services/Init/classes/class.ilErrorHandling.php(461): Whoops\Run->handleError(2, 'count(): Parame...', 'ILIAS_PATH...', 387)
#1 ILIAS_PATH/Services/LDAP/classes/class.ilLDAPQuery.php(387): ilErrorHandling->handlePreWhoops(2, 'count(): Parame...', 'ILIAS_PATH...', 387, Array)
#2 ILIAS_PATH/Services/LDAP/classes/class.ilLDAPQuery.php(131): ilLDAPQuery->fetchGroupMembers()
#3 ILIAS_PATH/Services/LDAP/classes/class.ilLDAPCronSynchronization.php(87): ilLDAPQuery->fetchUsers()
#4 ILIAS_PATH/Services/Cron/classes/class.ilCronManager.php(178): ilLDAPCronSynchronization->run()
#5 ILIAS_PATH/Services/Cron/classes/class.ilCronManager.php(95): ilCronManager::runJob(Object(ilLDAPCronSynchronization), Array, true)
#6 ILIAS_PATH/Services/Cron/classes/class.ilCronManagerGUI.php(282): ilCronManager::runJobManual('ldap_sync')
#7 ILIAS_PATH/Services/Cron/classes/class.ilCronManagerGUI.php(64): ilCronManagerGUI->confirmedRun()
#8 ILIAS_PATH/Services/UICore/classes/class.ilCtrl.php(210): ilCronManagerGUI->executeCommand()
#9 ILIAS_PATH/Modules/SystemFolder/classes/class.ilObjSystemFolderGUI.php(152): ilCtrl->forwardCommand(Object(ilCronManagerGUI))
ILIAS-eLearning#10 ILIAS_PATH/Services/UICore/classes/class.ilCtrl.php(210): ilObjSystemFolderGUI->executeCommand()
ILIAS-eLearning#11 ILIAS_PATH/Services/Administration/classes/class.ilAdministrationGUI.php(250): ilCtrl->forwardCommand(Object(ilObjSystemFolderGUI))
ILIAS-eLearning#12 ILIAS_PATH/Services/UICore/classes/class.ilCtrl.php(210): ilAdministrationGUI->executeCommand()
ILIAS-eLearning#13 ILIAS_PATH/Services/UICore/classes/class.ilCtrl.php(175): ilCtrl->forwardCommand(Object(ilAdministrationGUI))
ILIAS-eLearning#14 ILIAS_PATH/ilias.php(20): ilCtrl->callBaseClass()
ILIAS-eLearning#15 {main}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.