$.Editable.prototype.refreshSpoiler = function() {
	try {
		if (document.queryCommandState('strikeThrough') === true)
			this.$editor.find('[data-cmd="spoiler"]').addClass("active")
	} catch (ex) {}
}

$.Editable.commands = $.extend($.Editable.commands, {
	spoiler: {
		title: "Spoiler",
		icon: "fa fa-exclamation-triangle",
		refresh: $.Editable.prototype.refreshSpoiler,
		undo: true,
		callback: function() {
			this.spoiler()
		}
	}
})

$.Editable.prototype.spoiler = function() {
	this.execDefault('strikeThrough');
}

$.Editable.prototype.refreshSpoiler = function() {
	var element = this.getSelectionElement();
	var button = this.$editor.find('[data-cmd="spoiler"]');
    if (element.tagName == 'STRIKE' || $(element).parents('strike').length) {
        button.addClass("active");
	} else {
        button.removeClass('active');
	}
}

$.Editable.commands = $.extend($.Editable.commands, {
	spoiler: {
		title: "Spoiler",
		icon: "fa fa-exclamation-triangle",
		refresh: $.Editable.prototype.refreshSpoiler,
		undo: true,
		callback: function() {
			this.spoiler();
		}
	}
})

$.Editable.prototype.spoiler = function() {
	this.execDefault('strikeThrough');
}

Fix froala spoiler plugin button state
Fix froala spoiler plugin button state
