diff --git a/frame.js b/frame.js index 8031267e..ceca430a 100644 --- a/frame.js +++ b/frame.js @@ -389,9 +389,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { }, field: function(can, type, item, target) { type = type||html.STORY, item = item||{} - var name = can.core.Split(item.nick||item.name||"").pop()||""; can.base.isIn(name, - tcp.SERVER, tcp.CLIENT, web.STUDIO, - mdb.SEARCH, web.SERVICE, "instance", + var name = can.core.Split(item.nick||item.index||"", " .").pop()||""; can.base.isIn(name, + tcp.SERVER, tcp.CLIENT, web.STUDIO, mdb.SEARCH, web.SERVICE, "instance", ) && (name = (item.index||"").split(".").slice(-2).join(".")), (type != html.PLUG && !can.base.isIn(can.ConfIndex(), web.DESKTOP, web.MESSAGE, web.VIMER, )) && (name = can.core.Keys(item.space||item._space, name)) diff --git a/proto.js b/proto.js index cbdb7f78..392c42ff 100644 --- a/proto.js +++ b/proto.js @@ -68,8 +68,8 @@ var Volcanos = shy({iceberg: "", volcano: "", frame: chat.FRAME_JS, _cache: {}, runActionCommand: function(event, index, args, cb) { can.request(event)._caller() can.runAction(event, ctx.RUN, [index].concat(args), cb, true) }, - runAction: function(event, action, args, cb, silent) { - can.request(event, {_handle: ice.TRUE}, can.Option())._caller() + runAction: function(event, action, args, cb, silent) { var msg = can.request(event, {_handle: ice.TRUE}) + can.request(can.base.isIn(msg._can, can, can._fields? can.sup: can.sub)? can.Option(): {})._caller() can.run(event, [ctx.ACTION].concat(action, args||[]), cb, silent) }, search: function(event, cmds, cb) {