Giter Site home page Giter Site logo

akari-report's Introduction

Don's GitHub stats

Top Langs

akari-report's People

Contributors

nikolat avatar

Watchers

 avatar  avatar

akari-report's Issues

_json2azv関数がbool値(true/false)に対応していない

_json2azvを使ってパースするとbool値(true/false)がいずれも0になる

Twitter API のレスポンスをパースする際などに注意が必要となる

現状の回避策としては事前にtrueを1に置換しておくしかない

_dsstp関数が動かない

_dsstp がまるで動かない
関数を実行するとそこで処理が止まって以降の処理が走らない

公式ドキュメントの用例

speak2( string s )
{
array request;
request += "SEND SSTP/1.4";
request += "Sender: akari";
request += "ID: "+_systemdict["uniqueid"]["Reference0"];
request += "HWnd: "+_systemdict["hwnd"]["Reference0"];
request += "Charset: Shift_JIS";
request += "Script: "+s;
request += "";
request += "";
_dsstp( request, _systemdict["hwnd"]["Reference0"] );
}

の通りに記述してもダメ

ちなみに_systemdict["hwnd"]["Reference0"]はバイト値1区切りで各スコープのhwndが入るので_bytechar(1)で_strsplitして第一要素をint型にキャストしないといけない
それはそれとして_dsstp自体まるで動かない

現状の回避策は存在しない
HandUtil.dll等、同等の機能を持つSAORIを使うしかない

_httpget関数をコールするとベースウェアをクラッシュさせる場合がある

下記プラグインにてオフライン時に_httpgetをコールするとSSPをクラッシュさせる現象が確認された。
代わりにhttpc.dllを使用したらクラッシュしなくなったため_httpgetの不具合と考えられる。

nikolat/ukadonyu@6eb657a

しかし再現率は100%なのだがもっとシンプルな構成で再現を試みたが上手くいかなかった。
(ゴーストで非同期処理中にコールしたがクラッシュしなかった)
よりシンプルな構成で再現できたら追記したい。

_customrequestを使うとSHIORIレスポンスの改行が1つ多くなる

公式ドキュメントの

array _customrequest( dict ref )
{
string s = _eventdict[ ref["ID"] ];
if( s == "" ) s = _fncstr( ref["ID"], ref );

array ar;
ar += "SHIORI/3.0 200 OK";
ar += "Sender: akari";
ar += "Charset: Shift_JIS";
ar += "Value: "+s;
ar += "";
ar += "";

return ar;
}

の通りに記述するとSHIORIレスポンスの空行が3行になる。
上記用例の空要素を1つ削除すれば_customrequestを省略した場合と同等となる。
ドキュメントの方が誤っている可能性もあるが、直感的に空要素を2個足した場合に空行2行となると理解する方が自然であるので、ドキュメントが正しく実装が間違っていると考えられる。

現状の回避策は空要素を1つ削除することであるが、そもそも空行が1個多いからといってSSPを始めとする処理系で大きな不具合は観測されておらず、影響はほぼ皆無である。
しかしSAORIとして利用する場合など呼び出し元の処理系は無限に想定され、プロトコル違反であることに変わりはなく修正されることが望ましい。

MAKOTOとして使用するとエラーとなる

SSPから以下のリクエストが来るとエラーとなり、_customrequestの引数(dict ref)も空となる。

NOTIFY MAKOTO/2.0
Charset: UTF-8
Sender: SSP
SecurityLevel: local
ID: uniqueid
Reference0: ssp_fmo_header_XXXXXXXX_XXXXXXXX

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.