1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-23 18:17:20 +00:00

Don't use syncadaptors until they are ready

Fixes #2453
This commit is contained in:
Jermolene 2016-07-05 11:29:59 +01:00
parent ff57b4084a
commit c3d18364c1
3 changed files with 13 additions and 2 deletions

View File

@ -403,8 +403,8 @@ Process the task queue, performing the next task if appropriate
*/ */
Syncer.prototype.processTaskQueue = function() { Syncer.prototype.processTaskQueue = function() {
var self = this; var self = this;
// Only process a task if we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes // Only process a task if the sync adaptor is fully initialised and we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes
if(this.numTasksInProgress() === 0) { if(this.syncadaptor.isReady() && this.numTasksInProgress() === 0) {
// Choose the next task to perform // Choose the next task to perform
var task = this.chooseNextTask(); var task = this.chooseNextTask();
// Perform the task if we had one // Perform the task if we had one

View File

@ -24,6 +24,11 @@ function FileSystemAdaptor(options) {
$tw.utils.createDirectory($tw.boot.wikiTiddlersPath); $tw.utils.createDirectory($tw.boot.wikiTiddlersPath);
} }
FileSystemAdaptor.prototype.isReady = function() {
// The file system adaptor is always ready
return true;
};
FileSystemAdaptor.prototype.getTiddlerInfo = function(tiddler) { FileSystemAdaptor.prototype.getTiddlerInfo = function(tiddler) {
return {}; return {};
}; };

View File

@ -19,9 +19,14 @@ function TiddlyWebAdaptor(options) {
this.wiki = options.wiki; this.wiki = options.wiki;
this.host = this.getHost(); this.host = this.getHost();
this.recipe = undefined; this.recipe = undefined;
this.hasStatus = false;
this.logger = new $tw.utils.Logger("TiddlyWebAdaptor"); this.logger = new $tw.utils.Logger("TiddlyWebAdaptor");
} }
TiddlyWebAdaptor.prototype.isReady = function() {
return this.hasStatus;
};
TiddlyWebAdaptor.prototype.getHost = function() { TiddlyWebAdaptor.prototype.getHost = function() {
var text = this.wiki.getTiddlerText(CONFIG_HOST_TIDDLER,DEFAULT_HOST_TIDDLER), var text = this.wiki.getTiddlerText(CONFIG_HOST_TIDDLER,DEFAULT_HOST_TIDDLER),
substitutions = [ substitutions = [
@ -51,6 +56,7 @@ TiddlyWebAdaptor.prototype.getStatus = function(callback) {
$tw.utils.httpRequest({ $tw.utils.httpRequest({
url: this.host + "status", url: this.host + "status",
callback: function(err,data) { callback: function(err,data) {
self.hasStatus = true;
if(err) { if(err) {
return callback(err); return callback(err);
} }