Skip to content

Commit 9287763

Browse files
committed
Fix 2 json-rpc errors
1 parent d99101d commit 9287763

9 files changed

+39
-86
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
0.8.8 Fix 2 json rpc bugs
12
0.8.6 One space after fully completed command
23
0.8.5 All regex for formatting case insensitive
34
0.8.4 Fix redraw lines on import_view, fix calculating rows

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION=0.8.7
1+
VERSION=0.8.8
22
COMPRESS=uglifyjs
33
SED=sed
44
CP=cp

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
__ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ /
55
/ / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__
66
\___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
7-
\/ /____/ version 0.8.7
7+
\/ /____/ version 0.8.8
88
```
99
http://terminal.jcubic.pl
1010

js/jquery.terminal-0.8.7.min.js

Lines changed: 0 additions & 32 deletions
This file was deleted.

js/jquery.terminal-0.8.7.js renamed to js/jquery.terminal-0.8.8.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ /
55
* / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__
66
* \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
7-
* \/ /____/ version 0.8.7
7+
* \/ /____/ version 0.8.8
88
* http://terminal.jcubic.pl
99
*
1010
* Licensed under GNU LGPL Version 3 license
@@ -26,7 +26,7 @@
2626
* Copyright (c) 2007-2013 Alexandru Marasteanu <hello at alexei dot ro>
2727
* licensed under 3 clause BSD license
2828
*
29-
* Date: Sat, 22 Mar 2014 13:32:26 +0000
29+
* Date: Thu, 10 Jul 2014 16:30:27 +0000
3030
*
3131
*/
3232

@@ -2445,7 +2445,7 @@
24452445
// -----------------------------------------------------------------------
24462446
// :: TERMINAL PLUGIN CODE
24472447
// -----------------------------------------------------------------------
2448-
var version = '0.8.7';
2448+
var version = '0.8.8';
24492449
var version_set = !version.match(/^\{\{/);
24502450
var copyright = 'Copyright (c) 2011-2013 Jakub Jankiewicz <http://jcubic.pl>';
24512451
var version_string = version_set ? ' version ' + version : ' ';
@@ -2672,7 +2672,7 @@
26722672
}
26732673
}
26742674
// -----------------------------------------------------------------------
2675-
function make_json_rpc_object(url, success) {
2675+
function make_json_rpc_object(url, auth, success) {
26762676
$.jrpc(url, 'system.describe', [], function(ret) {
26772677
var commands = [];
26782678
if (ret.procs) {
@@ -2681,14 +2681,17 @@
26812681
interpreter_object[proc.name] = function() {
26822682
var args = Array.prototype.slice.call(arguments);
26832683
if (settings.checkArity && proc.params &&
2684-
proc.params.length !== args.length) {
2684+
proc.params.length !== (args.length + (auth ? 1 : 0))) {
26852685
self.error("&#91;Arity&#93; " +
26862686
sprintf(strings.wrongArity,
26872687
proc.name,
26882688
proc.params.length,
26892689
args.length));
26902690
} else {
26912691
self.pause();
2692+
if (auth) {
2693+
args = [self.token(true)].concat(args);
2694+
}
26922695
$.jrpc(url, proc.name, args, function(json) {
26932696
if (json.error) {
26942697
display_json_rpc_error(json.error);
@@ -2709,7 +2712,7 @@
27092712
});
27102713
}
27112714
// -----------------------------------------------------------------------
2712-
function make_interpreter(user_interpreter, finalize) {
2715+
function make_interpreter(user_interpreter, auth, finalize) {
27132716
finalize = finalize || $.noop;
27142717
var type = $.type(user_interpreter);
27152718
var result = {};
@@ -2735,7 +2738,7 @@
27352738
}
27362739
recur(rest, success);
27372740
} else {
2738-
make_json_rpc_object(first, function(new_object) {
2741+
make_json_rpc_object(first, auth, function(new_object) {
27392742
// will ignore rpc in array that don't have system.describe
27402743
if (new_object) {
27412744
$.extend(object, new_object);
@@ -2773,8 +2776,9 @@
27732776
});
27742777
} else {
27752778
self.pause();
2776-
make_json_rpc_object(user_interpreter, function(object) {
2779+
make_json_rpc_object(user_interpreter, auth, function(object) {
27772780
if (object) {
2781+
var commands = Object.keys(object);
27782782
result.interpreter = make_object_interpreter(object, false);
27792783
result.completion = function(term, string, callback) {
27802784
callback(commands);
@@ -3519,7 +3523,7 @@
35193523
setInterpreter: function(user_interpreter, login) {
35203524
function overwrite_interpreter() {
35213525
self.pause();
3522-
make_interpreter(user_interpreter, function(result) {
3526+
make_interpreter(user_interpreter, login, function(result) {
35233527
self.resume();
35243528
var top = interpreters.top();
35253529
$.extend(top, result);
@@ -4021,7 +4025,7 @@
40214025
if (top) {
40224026
top.mask = command_line.mask();
40234027
}
4024-
make_interpreter(interpreter, function(result) {
4028+
make_interpreter(interpreter, options.login, function(result) {
40254029
// result is object with interpreter and completion properties
40264030
interpreters.push($.extend({}, result, options));
40274031
if (options.login) {
@@ -4215,6 +4219,7 @@
42154219
throw e;
42164220
}
42174221
}
4222+
var auth = settings.login;
42184223
// create json-rpc authentication function
42194224
if (typeof init_interpreter === 'string' &&
42204225
(typeof settings.login === 'string' || settings.login)) {
@@ -4223,7 +4228,7 @@
42234228
terminals.append(self);
42244229
var interpreters;
42254230
var command_line;
4226-
make_interpreter(init_interpreter, function(interpreter) {
4231+
make_interpreter(init_interpreter, auth, function(interpreter) {
42274232
interpreters = new Stack($.extend({
42284233
name: settings.name,
42294234
prompt: settings.prompt,

js/jquery.terminal-0.8.8.min.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/jquery.terminal-min.js

Lines changed: 3 additions & 32 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/jquery.terminal-src.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2672,7 +2672,7 @@
26722672
}
26732673
}
26742674
// -----------------------------------------------------------------------
2675-
function make_json_rpc_object(url, success) {
2675+
function make_json_rpc_object(url, auth, success) {
26762676
$.jrpc(url, 'system.describe', [], function(ret) {
26772677
var commands = [];
26782678
if (ret.procs) {
@@ -2681,14 +2681,17 @@
26812681
interpreter_object[proc.name] = function() {
26822682
var args = Array.prototype.slice.call(arguments);
26832683
if (settings.checkArity && proc.params &&
2684-
proc.params.length !== args.length) {
2684+
proc.params.length !== (args.length + (auth ? 1 : 0))) {
26852685
self.error("&#91;Arity&#93; " +
26862686
sprintf(strings.wrongArity,
26872687
proc.name,
26882688
proc.params.length,
26892689
args.length));
26902690
} else {
26912691
self.pause();
2692+
if (auth) {
2693+
args = [self.token(true)].concat(args);
2694+
}
26922695
$.jrpc(url, proc.name, args, function(json) {
26932696
if (json.error) {
26942697
display_json_rpc_error(json.error);
@@ -2709,7 +2712,7 @@
27092712
});
27102713
}
27112714
// -----------------------------------------------------------------------
2712-
function make_interpreter(user_interpreter, finalize) {
2715+
function make_interpreter(user_interpreter, auth, finalize) {
27132716
finalize = finalize || $.noop;
27142717
var type = $.type(user_interpreter);
27152718
var result = {};
@@ -2735,7 +2738,7 @@
27352738
}
27362739
recur(rest, success);
27372740
} else {
2738-
make_json_rpc_object(first, function(new_object) {
2741+
make_json_rpc_object(first, auth, function(new_object) {
27392742
// will ignore rpc in array that don't have system.describe
27402743
if (new_object) {
27412744
$.extend(object, new_object);
@@ -2773,8 +2776,9 @@
27732776
});
27742777
} else {
27752778
self.pause();
2776-
make_json_rpc_object(user_interpreter, function(object) {
2779+
make_json_rpc_object(user_interpreter, auth, function(object) {
27772780
if (object) {
2781+
var commands = Object.keys(object);
27782782
result.interpreter = make_object_interpreter(object, false);
27792783
result.completion = function(term, string, callback) {
27802784
callback(commands);
@@ -3519,7 +3523,7 @@
35193523
setInterpreter: function(user_interpreter, login) {
35203524
function overwrite_interpreter() {
35213525
self.pause();
3522-
make_interpreter(user_interpreter, function(result) {
3526+
make_interpreter(user_interpreter, login, function(result) {
35233527
self.resume();
35243528
var top = interpreters.top();
35253529
$.extend(top, result);
@@ -4021,7 +4025,7 @@
40214025
if (top) {
40224026
top.mask = command_line.mask();
40234027
}
4024-
make_interpreter(interpreter, function(result) {
4028+
make_interpreter(interpreter, options.login, function(result) {
40254029
// result is object with interpreter and completion properties
40264030
interpreters.push($.extend({}, result, options));
40274031
if (options.login) {
@@ -4215,6 +4219,7 @@
42154219
throw e;
42164220
}
42174221
}
4222+
var auth = settings.login;
42184223
// create json-rpc authentication function
42194224
if (typeof init_interpreter === 'string' &&
42204225
(typeof settings.login === 'string' || settings.login)) {
@@ -4223,7 +4228,7 @@
42234228
terminals.append(self);
42244229
var interpreters;
42254230
var command_line;
4226-
make_interpreter(init_interpreter, function(interpreter) {
4231+
make_interpreter(init_interpreter, auth, function(interpreter) {
42274232
interpreters = new Stack($.extend({
42284233
name: settings.name,
42294234
prompt: settings.prompt,

terminal.jquery.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "terminal",
33
"title": "jQuery Terminal Emulator",
44
"description": "jQuery Terminal Emulator is a plugin for creating command line interpreters in your applications.",
5-
"version": "0.8.7",
5+
"version": "0.8.8",
66
"keywords": [
77
"terminal", "emulator", "prompt", "console", "keyboard", "type", "rpc", "input", "ui"
88
],

0 commit comments

Comments
 (0)