Coder Social home page Coder Social logo

p7s1digital / oasis-jsbridge-android Goto Github PK

View Code? Open in Web Editor NEW
42.0 42.0 12.0 2.5 MB

Evaluate JavaScript code and map values, objects and functions between Kotlin/Java and JavaScript on Android.

License: Apache License 2.0

CMake 0.05% JavaScript 0.51% Java 0.05% Kotlin 4.76% C++ 59.52% C 34.88% Shell 0.23%

oasis-jsbridge-android's People

Contributors

abner avatar bwalter avatar bwalter089 avatar eridana avatar kakai248 avatar lo1tuma avatar oleksandr-yefremov avatar rubensousa avatar screendriver avatar therishka avatar wkarl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oasis-jsbridge-android's Issues

Infinite recursion will crash the program

When i run this code:
jsBridge.evaluate("a=()=>a();a();")

My app will crash:

2021-01-22 13:21:21.011 D/JsBridgeJni: jniCreateContext()
2021-01-22 13:21:21.232 I/art: Do partial code cache collection, code=28KB, data=20KB
2021-01-22 13:21:21.233 I/art: After code cache collection, code=27KB, data=20KB
2021-01-22 13:21:21.233 I/art: Increasing code cache capacity to 128KB
2021-01-22 13:21:21.402 I/art: Do partial code cache collection, code=55KB, data=52KB
2021-01-22 13:21:21.403 I/art: After code cache collection, code=52KB, data=51KB
2021-01-22 13:21:21.403 I/art: Increasing code cache capacity to 256KB
2021-01-22 13:21:21.487 I/art: Do full code cache collection, code=124KB, data=101KB
2021-01-22 13:21:21.488 I/art: Starting a blocking GC JitCodeCache
2021-01-22 13:21:21.488 I/art: After code cache collection, code=100KB, data=73KB
2021-01-22 13:21:21.559 I/art: Do partial code cache collection, code=123KB, data=101KB
2021-01-22 13:21:21.559 I/art: After code cache collection, code=119KB, data=98KB
2021-01-22 13:21:21.559 I/art: Increasing code cache capacity to 512KB
2021-01-22 13:21:37.607 I/Choreographer: Skipped 952 frames!  The application may be doing too much work on its main thread.
    
    --------- beginning of crash
2021-01-22 13:21:37.608 A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x74d62323cfd0 in tid 20223 (pool-1-thread-1)

I think it should throw an error or limit the level of recursion.

Kotlin send js to JS have a BUG!

When i send this JSON, it will show D/JsBridgeJni: Could not evaluate string

{"status": "200", "statusText": "", "error": "", "success": "ok", "textArr": ["<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n<title>1.神猿赠珠_禽言兽语修真人_斋书苑</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gbk\" />\r\n<meta name=\"keywords\" content=\"禽言兽语修真人,席上挥毫.QD, 1.神猿赠珠\" />\r\n<meta name=\"description\" content=\"无弹窗,作者席上挥毫.QD,章节简要:山谷中传来阵阵野兽的吼声和怪鸟的啼叫,听得人头皮发麻。范逸擦了擦额头上冒出的冷汗,不由得握紧了手中的那根木棍。这木棍上还有几根细细的枝桠和几片绿叶,一看就知道是刚刚从树上折下来的。他还有些不放心,低头在地上找了一会儿,又捡了几块拳头大小的石头,揣进怀里,这才壮着胆子一步步向山谷中走去。这个山谷在村民...\" />\r\n<meta name=\"mobile-agent\" content=\"format=xhtml;url=https://m.zhaishuyuan.com/chapter/35846/22249614\" />\r\n<link type=\"text/css\" href=\"https://img.zhaishuyuan.com/zhai/zhai.mian.css?v=1.39\" rel=\"stylesheet\" />\r\n<script type=\"text/javascript\" src=\"https://img.zhaishuyuan.com/zhai/js/jquery.1.9.1.min.js\"></script>\r\n<script type=\"text/javascript\" src=\"https://img.zhaishuyuan.com/zhai/zhai.top.js?v=2.78\"></script>\r\n<style type=\"text/css\">.QinYanShou{width:100%;margin:0 auto;text-align:center;float: left;}</style>\r\n</head>\r\n<body data-bid=\"35846\" data-cid=\"22249614\">\r\n<div id=\"header\">\r\n    <div class=\"top\">\r\n        <div class=\"top-bar\">\r\n            <span class=\"left\">收藏本站(CRTL+D) | <a href=\"https://m.zhaishuyuan.com/?pc\">手机版</a></span>\r\n            <ul class=\"right\" id=\"login\"></ul>\r\n        </div>\r\n    </div>\r\n    <div class=\"readNav\">\r\n        <span>当前位置:<a href=\"/\">首页</a>><a href=\"/shuku/2_1_0_0_0_1_0_0\" id=\"nclass\">武侠仙侠</a>><a href=\"/book/35846\" id=\"book\">禽言兽语修真人</a>> <em> 1.神猿赠珠</em></span>\r\n        <div class=\"search\">\r\n            <div id=\"bdcs\"></div>\r\n        </div>\r\n    </div>\r\n</div>\r\n<div id=\"container\">\r\n    <div class=\"comments_r\">\r\n        <div class=\"h3\">\r\n            <div class=\"m_12_t\">\r\n                <div class=\"select_t\"><span id=\"select_color_txt\" class=\"select_t_bg\"><em>冷灰</em></span><a href=\"javascript:;\" id=\"select_color\" class=\"select_t_r\"></a></div>\r\n                <div class=\"text_bg hidden\"><ul></ul></div>\r\n                <div class=\"select_t\"><span id=\"select_size_txt\" class=\"select_t_bg\"><em>24号</em></span><a href=\"javascript:;\" id=\"select_size\" class=\"select_t_r\"></a></div>\r\n                <div class=\"text_bg2 hidden\"><ul></ul></div>\r\n                <div class=\"select_t\"><span id=\"select_family_txt\" class=\"select_t_bg\"><em>启体</em></span><a href=\"javascript:;\" id=\"select_family\" class=\"select_t_r\"></a></div>\r\n                <div class=\"text_bg3 hidden\"><ul></ul></div>\r\n            </div>\r\n            <ul class=\"links\">\r\n                <li></li>\r\n                <li><a class=\"setErr\">章节报错</a></li>\r\n                <li><a href=\"/read/35846\">作品目录</a></li>\r\n                <li><a href=\"/book/35846\">返回封面</a></li>\r\n            </ul>\r\n        </div>\r\n    </div>\r\n    <div id=\"center\">\r\n         <div class=\"title\">\r\n            <h1> <em>1.神猿赠珠</em></h1>\r\n             作者:<span class=\"author\"><a href=\"/search/?key=%CF%AF%C9%CF%BB%D3%BA%C1%2EQD\" rel=\"nofollow\">席上挥毫.QD</a></span>字数:<span>5002</span>更新时间:<span>2020-04-21 20:03</span>\r\n         </div>\r\n         <div class=\"jump jumptop\"><a href=\"/book/35846\" class='disabled'>上一章</a> <a class=\"topVote\">投推荐票</a> <a href=\"/read/35846\">回�采药的郎中、打猎的猎人,甚至放牛娃进入山谷失踪的事。</p><p>如果不是自己把老牛拴在树上,跑到在村口私塾听教书先生讲课,就不会发生丢牛的事了。</p><p>说来也怪,平日里自己把牛拴在树上啥事没有,偏偏就今天丢了!</p><p>不过现在后悔也没用了,最要紧的是天黑前赶紧把牛找回来,否则张地主会打死自己的!</p><p>一想起张地主那张狰狞肥腻的嘴脸,范逸不由得打了个冷战。</p><p>*</p><p>*</p><p>进了山谷后,范逸一边用木棍拨开半人高的野草,仔细的看着地上是否有牛蹄印,一边提心吊胆的慢慢走着。</p><p>忽然一只受惊的野兔从草丛中跳出来,又迅速向远处跑去。</p><p>范逸吓了一跳,心中暗骂一声,定了定神,又继续向前走去。</p><p>走了大约一个时辰,山风乍起,野草时起时伏,像一片海浪。范逸抬眼望去,只见前面是一片稀疏的树林,林中的树上有点点嫣红。</p><p>范逸好奇心大起,加快了脚步,向那片树林走去。</p><p>离得近了,范逸才发现,原来林中的点点嫣红是熟透了的桃子。</p><p>“走了一个多时辰了,累死了,先吃两个桃子再说!”范逸走到桃树下,扔掉棍子,伸手摘了两个桃子,坐在地上,背靠桃树,大口大口吃了起来。</p><p>桃子肉厚汁甜,范逸吃的顺口,不一会儿竟然吃了四五个。</p><p>抬眼望了望日头,再有一个多时辰太阳就要落山了。</p><p>范逸不由得焦急起来,急忙起身,拍了拍身上的尘土,又摘了两个桃子塞到怀里,拿起木棍,继续向山谷深处走去。</p><p>穿过了小桃林,前面是大斜坡,斜坡之下的有数座山峰。</p><p>“说不定老牛跑到这里去了。”范逸暗暗想着,拄着木棍,沿着斜坡,向下走去。</p><p>走到了斜坡底下,入目的仍然是一片片半人高的野草和稀疏的树木,哪有老牛的影子。</p><p>完了,完了,把牛弄丢了,今晚回去,张地主不把我打死才怪呢。</p><p>范逸急的都快哭出来了。</p><p>“小孩,小孩!”一个声音从前面传来。</p><p>在这幽静的山谷中,忽然听到人声,范逸不由得吓了一跳,双手握紧了木棍,警惕的望着声音传来的方向。</p><p>“小孩,你过来,过来啊!”那声音继续说道。</p><p>“你是谁!?”范逸朝那个方向大声问道。</p><p>“嘿嘿,你过来就知道我是谁了!快来,快来!”那声音似乎充满了兴奋,不停的对范逸说道。</p><p>范逸心想,问问这个人也好,看看他见过我的牛没有。</p><p>于是边走边问道:“你看见我的牛了吗?一头老黄牛!”</p><p>那声音道:“一头老黄牛?嘿嘿,你过来我就告诉你!”</p><p>一直走到山脚下,范逸四周望了望,没看见人。</p><p>“你在哪?”范逸大声问道,“快出来。”</p><p>那声音哈哈大笑道:“我出不来啊!哈哈哈!”</p><p>循着声音望去,范逸望见山脚下露出一个人头和两个胳膊,正笑嘻嘻的向他招手呢。</p><p>“啊!”范逸吓了一跳,险些仰面摔倒。</p><p>只见那个人头和胳膊长满了棕色的长毛,还粘着许多枯草落叶,正眉开眼笑的望着他。</p><p>那人头说道:“小孩!小孩!别害怕,哈哈。”</p><p>范逸握着长棍,向前走了几步,仔细的看了看那颗人头。只见那洞口极小,那颗人头正好能钻出来,但却卡住了脖子,身体压在山里。</p><p>“你,你怎么钻到山里了?”范逸问道。</p><p>那人头不答反问:“你胆子真大,深山老林你一个小娃自己就敢闯进来?不怕被野兽吃了?”</p><p>范逸回答道:“我是放牛娃,我的老黄牛丢了,要是找不到牛,回去张地主会打死我的。我不怕野兽,我手里有根棍子,怀里揣着几个石头呢。你看见我的牛了吗�于你这种五行皆有的杂灵根资质来说,也算不错了。我乃一个妖兽,也就是你们凡人所说的妖怪,所修炼的法门与你们人族颇为迥异,虽然说什么道法万千殊途同归,但毕竟修炼之路上参差歧路太多,一不小心走火入魔,那可呜呼哀哉了。所以我现在不敢教你了。不过今日我给你指点一个去处。”</p><p>三年来范逸与老猿相处,也知道了许多修真界的事,听老猿这么一说,心里虽然有些遗憾,但也知道它是为自己好,便问道:“猿公,你让我去哪里?”</p><p>“离此地五百里之外,有一座修真门派,名叫朝道门,乃是一个不入流的小门派。你资质平庸,且先拜入其中,待掌握了你们人族的基本修真之术后,再寻一个大的门派,让你的修为更进一层。到那时,你便可救我出山!”</p><p>范逸跪拜道:“多谢猿公为我指一条明路。”</p><p>老猿坦然接受他的跪拜,继续说道:“我被压到这山下时,浑身上下的宝贝被剥夺一空,只剩下一个赤条条的身子。不但如此,琵琶骨被铁索穿过,双腿被铁箍刺透钉在地上,令我动弹不得。不过,那些贼人千算万算,却棋差一招,嘿嘿。我的腹中还有一颗甪(lù鹿)端珠,这也是妖兽之物。大概是与我这个妖兽腥气相投吧,让他们误以为是我的金丹,所以没被他们搜去,这才侥幸留了下来。如今,我就将它送给你吧。</p><p>范逸奇道:“这甪端珠有何神通?”</p><p>老猿微微一笑,道:“说它有神通,却也神通广大;说它无用,却也一无用处。”</p><p>范逸一脸困惑,挠着头问道:“这话怎么说?”</p><p>老猿耐心解释道:“这甪端珠是我年少时云游四海,打死了一只甪端,剖腹取丹,顺手得来的。我见这颗珠子有趣,便吞入腹中。这甪端是一种神兽,能通世间所有飞禽走兽人族生灵之语。若你吞入腹中,便可与飞禽走兽对话。”</p><p>范逸听了,大喜道:“有趣有趣!”</p><p>老猿见他还是孩子的玩耍心态,又好气又好笑,说道:“有什么趣!?在赠珠之前,我先对你说几句话,你且牢牢记住,否则会招来杀身之祸!”</p><p>范逸浑身一凛,急忙收起玩耍心态,洗耳恭听。</p><p>“切记,这颗甪端珠能通禽兽之语,此乃天地间的一个异宝,万万不可告知与他人,否则会惹来杀身之祸。即使是与你最交好之人也不可。因为人心难测,修真界有太多为了争夺异宝而师徒反目、父子相残、夫妻成仇、兄弟互杀的事情发生,更不要说什么同门师兄弟了。对人的信任,也要有个度。还有,万万不可在别人面前显露此神通,人心叵测,说不定别人见你使用此宝,会起觊觎之心而杀人夺宝。如果有人发现了你的秘密,一定要不择手段及时将此人迅速除去,以绝后患,决不能因心慈手软而让自己陷入险境之中!切记,你不杀他,他必杀你!”</p><p>范逸深吸一口气,正色道:“猿公,你的话我谨记于心!”</p><p>老猿点点头,面带郑重之色,说道:“从你当年一个小小孩童,竟敢孤身一人深入这山谷中找牛,我就看出你胆识过人。细看之下,我发现你居然有修仙的灵根,所以才与你相交,教你修仙之法。现在该说的我都说了,以后的修仙之路,就看你自己的造化了!你也是一个给地主放牛的孤儿,赤条条来去无牵挂,没有后顾之忧,去之可也!”</p><p>说完,张开嘴,吐出一颗珠子,伸出手掌接住,递给范逸。</p><p>那珠子有荔枝般大小,晶莹剔透,发着七彩霞光,耀眼夺目,晃的范逸睁不开眼睛。</p><div id=\"b4\"><a onClick=\"getDecode();\" style=\"color:#ff6600;\">防采集,自动加载失败,点击手动加载,不支持阅读模式!</a><p>禁止转_+F.$__+F.$$$_+F.___+F.$_$$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$__$+F.___+F.$_$_+F._$$+\"\\\\\"+F._+F.$$$+F._$$+F.$$$_+F.___+\"\\\\\"+F._+F.$_$+F.$_$$+F.$_$+F.___+\"\\\\\"+F._+F.$__$+F.$___+F.$$$+F.$_$_+\"\\\\\"+F._+F.$$$+F.$$$+F.$__+F.___+\"\\\\\"+F._+F.$_$+F.$_$+F.$___+F.$__$+\"\\\\\"+F._+F.$$$+F.$_$$+F.$_$_+F.__$+\"\\\\\"+F._+F.$_$+F.$__+F.$__$+F.$_$+\"\\\\\"+F._+F.$_$+F.$$_+F.$_$+F.$$__+\"\\\\\"+F._+F.$_$+F.$$_+F.$_$+F.$$__+\"\\\\\"+F._+F.$$$+F.$$_+F.$___+F.$__+\"\\\\\"+F._+F.$___+F.$__+F._$$+F.$$_$+\"\\\\\"+F._+F.$_$+F.__$+F.$$_+F.$_$+\"\\\\\"+F._+F.$___+F.__$+F.$$$+F.$__$+\"\\\\\"+F._+F.$__+F.$$$_+F._$_+F.$$_$+\"\\\\\"+F._+F._$$+F.___+F.___+F._$_+\"\\\\\"+F._+F.$_$+F._$$+F.$$$_+F.$_$_+\"\\\\\"+F._+F.$___+F.$__$+F.$$__+F.$__$+\"\\\\\"+F._+F.$_$+F.$$$$+F.$__$+F.$$$+\"\\\\\"+F._+F.$___+F.__$+F.$$$+F.$__$+\"\\\\\"+F._+F.$__+F.$$$_+F._$_+F.$$_$+\"\\\\\"+F._+F.$__+F.$$$_+F.___+F.___+\"\\\\\"+F._+F.$__$+F.$$_+F._$$+F.$_$+\"\\\\\"+F._+F.$$_+F.$$$_+F._$_+F.$__$+\"\\\\\"+F._+F.$$$+F.___+F.$$$_+F.$$_$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$$$+F._$$+F.$$$_+F.___+\"\\\\\"+F._+F.$_$+F.$_$$+F.$_$+F.___+\"\\\\\"+F._+F.$_$+F._$$+F.$$__+F.$___+\"\\\\\"+F._+F.$$$+F.$$$_+F.$$$_+F.$$$+\"\\\\\"+F._+F.$$$+F.$$$_+F.$$$_+F.$$_$+\"\\\\\"+F._+F.$_$+F.$__+F.__$+F.__$+\"\\\\\"+F._+F.$__+F.$$$_+F.___+F.$_$$+\"\\\\\"+F._+F.$$$+F.$__$+F.$$$$+F.$_$$+\"\\\\\"+F._+F.$_$+F._$_+F.$_$_+F.$___+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$$_+F.$$$+F.___+F.___+\"\\\\\"+F._+F.$_$+F.$__+F.___+F.$$$_+\"\\\\\"+F._+F.$_$+F.___+F.$_$+F.$$__+\"\\\\\"+F._+F.$$$+F.$_$+F.$_$+F.$__$+\"\\\\\"+F._+F.$_$+F.$$$+F._$_+F.$___+\"\\\\\"+F._+F.$__+F.$$$_+F._$$+F.$__$+\"\\\\\"+F._+F.$$$+F.$_$+F._$$+F.___+\"\\\\\"+F._+F.$__+F.$$$_+F.$__+F.$_$$+\"\\\\\"+F._+F.$_$+F.$__$+F.___+F.$__+\"\\\\\"+F._+F._$$+F.___+F.___+F._$_+\"\\\"+F.$$$+F.$__+\"/\\\"+F.__$+F.$$_+F.___+\"\\\"+F.$$$+F.$$_+\"\\\"+F.$$$+F.$__+\"\\\"+F.__$+F.$$_+F.___+\"\\\"+F.$$$+F.$$_+\"\\\\\"+F._+F._$_+F.___+F.__$+F.$$__+\"\\\\\"+F._+F.$$_+F._$_+F.__$+F.__$+\"\\\\\"+F._+F.$___+F.$$$$+F.$$_$+F.$__$+\"\\\\\"+F._+F.$_$+F.$$__+F._$$+F.__$+\"\\\\\"+F._+F.$_$+F._$$+F.$_$$+F.$_$$+\"\\\\\"+F._+F.$__+F.$$$_+F.$___+F.$$_+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$$$+F._$$+F._$$+F.$$$$+\"\\\\\"+F._+F.$_$+F.__$+F.$$_+F.$$__+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$__+F.$$$$+F.$$_+F.___+\"\\\\\"+F._+F.$_$+F.$__$+F.__$+F.$_$_+\"\\\\\"+F._+F.$__+F.$$$$+F.$$_$+F.$$_$+\"\\\\\"+F._+F.$__$+F.__$+F.$$__+F.$$_$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$$$+F.$_$$+F.$__+F.$__$+\"\\\\\"+F._+F.$$_+F._$_+F.__$+F.__$+\"\\\\\"+F._+F.$_$+F.$_$$+F.$$_+F.$$_+\"\\\\\"+F._+F.$__+F.$$$$+F.__$+F.$_$_+\"\\\\\"+F._+F.$__+F.$$$_+F.$___+F.$$_+\"\\\\\"+F._+F.$__+F.$$$_+F.$$_$+F.$__$+\"\\\\\"+F._+F.$_$+F.$_$$+F.$_$$+F.$$_+\"\\\\\"+F._+F.$$_+F.$$__+F.$$_$+F.$_$+\"\\\\\"+F._+F.$$_+F.$$$+F._$_+F.$$$$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$__+F.$$$$+F.$_$$+F.$$$$+\"\\\\\"+F._+F.$$_+F.$$$+F.$$_+F.$_$+\"\\\\\"+F._+F.$$_+F.$_$+F.$_$+F.__$+\"\\\\\"+F._+F.$__+F.$$$$+F.$$_+F.___+\"\\\\\"+F._+F.$_$+F.__$+F.$$$$+F.$_$_+\"\\\\\"+F._+F.$_$+F.$$__+F.$$$+F.__$+\"\\\\\"+F._+F._$$+F.___+F.___+F._$_+\"\\\\\"+F._+F.$_$+F.$__+F.___+F.$$$_+\"\\\\\"+F._+F.$__+F.$$$$+F.__$+F.$_$_+\"\\\\\"+F._+F.$$_+F.$$$+F.___+F.$__$+\"\\\\\"+F._+F.$$_+F.$$$+F.__$+F.$$$$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$_$+F.$__+F.$__+F.$_$_+\"\\\\\"+F._+F.$___+F.$$$$+F.$__$+F.$$$_+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.__$+\"\\\\\"+F._+F._$_+F.___+F.__$+F.$$_$+\"\\\\\"+F._+F.$___+F._$$+F.___+F._$$+\"\\\\\"+F._+F.$__$+F.___+F._$$+F.$___+\"\\\\\"+F._+F.$_$+F.$_$$+F.$$$$+F.$__$+\"\\\\\"+F._+F.$___+F.___+F.___+F.__$+\"\\\\\"+F._+F.$$$+F._$$+F._$$+F.$$$$+\"\\\\\"+F._+F.$___+F.$$_$+F.$$$_+F.$_$_+\"\\\\\"+F._+F.$__+F.$$$_+F.___+F.$_$$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$_$+F.$__+F.$__$+F.$_$_+\"\\\\\"+F._+F.$_$+F.$__+F.$__$+F.$_$_+\"\\\\\"+F._+F.$_$+F.$__+F.$__$+F.$_$_+\"\\\\\"+F._+F.$$$+F.$$_+F.$___+F.$__+\"\\\\\"+F._+F.$$$+F.$___+F.$$_$+F.$_$+\"\\\\\"+F._+F.$__+F.$$$_+F.$___+F.$$_+\"\\\\\"+F._+F.$__+F.$$$_+F.___+F.$__$+\"\\\\\"+F._+F.$__+F.$$$_+F._$_+F.$_$_+\"\\\\\"+F._+F.$_$+F.$__+F.$$__+F.$$_$+\"\\\\\"+F._+F.$_$+F.$__$+F._$$+F.$__+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$$$+F.$_$_+F.$$_$+F.$__$+\"\\\\\"+F._+F.$___+F.$$_$+F.$$$+F.$$$+\"\\\\\"+F._+F.$___+F.$$$_+F.$_$_+F.$_$$+\"\\\\\"+F._+F.$$_+F.$$$+F.$$_+F.$_$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$___+F.$$$$+F.$_$_+F.$___+\"\\\\\"+F._+F.$___+F.$_$$+F.$_$_+F.$__+\"\\\\\"+F._+F.$__+F.$$$_+F.$___+F.$$_+\"\\\\\"+F._+F.$__+F.$$$_+F.___+F.$_$$+\"\\\\\"+F._+F.$$_+F.$_$+F.$_$$+F.$__$+\"\\\\\"+F._+F.$_$+F.$__+F.__$+F.__$+\"\\\\\"+F._+F.$$$$+F.$$$$+F.___+F.$$__+\"\\\\\"+F._+F.$_$+F.$__$+F._$_+F.$$$+\"\\\\\"+F._+F.$$_+F.$_$$+F.$$_+F.$_$+\"\\\\\"+F._+F.$$_+F.$$_$+F.$__+F.__$+\"\\\\\"+F._+F.$$_+F.$$_+F.__$+F.$$$$+\"\\\\\"+F._+F.$$$+F.$$_+F.$___+F.$__+\"\\\\\"+F._+F.$___+F.$$_$+F.$$$+F.___+\"\\\\\"+F._+F.$__+F.$$$_+F.$___+F.$$_+\"\\\\\"+F._+F._$$+F.___+F.___+F._$_+\"\\\"+F.$$$+F.$__+\"/\\\"+F.__$+F.$$_+F.___+\"\\\"+F.$$$+F.$$_+\"')\\\"+F.$$$+F._$$+\"\\"\")())();$('#b4').remove();}\r\n</script>\r\n<script>universally();</script>\r\n</body>\r\n</html>"],"failArr": []}

Headers in XMLHttpRequest sometimes come duplicated

Hey!

I've been playing around with the library and hit a very weird issue. I noticed that some requests were failing because headers were being duplicated.

Example:
Given an header a with the value 1, instead of sending a: 1, it would send a: 1,1

Now, this is very rare and very hard to reproduce. There's no particular thing I was doing on the few occasions that I was able to see it. Just navigating through the app and doing network requests.

I tried logging the JS side to see if the headers were being set multiple times there:

XMLHttpRequest.prototype.setRequestHeader = function(header, value) {
  console.log("setting header: " + header + " - " + value);
  this._requestHeaders.push([header, value]);
};

But they were not. Everything was fine. But once I received the headers on the native side, and I could see this in the Timber.v("javaSend($httpMethod, $url, $headers)") logging, they would be duplicated. Using the example from before:

JS would log:

setting header: a - 1

Native would log:

javaSend(GET, http://some.url, [["a", "1"], ["a", "1"]])

So this seems to be bridge related but I couldn't really pinpoint what was the cause. Maybe something related with arrays being passed over the bridge?

I know this is very little information to try and fix the issue, but I was wondering if you already caught some similar situation or have any idea what could it be.

In the mean time I'm fixing the problem with an interceptor that removes duplicated headers if both key and value match.

Thanks!

Please put the rules that I should use in ProGuard

Please put the rules that I should use in ProGuard, when I do:
minifyEnabled true
shrinkResources true

I get: Cannot access the JS object __jsBridge_jsValue4 because it does not exist or has been deleted!

I am using version 0.23.0

How to listen to sent event message js, from kotlin/java side?

Hello, thanks for the package, it was very useful. Why are there no communication channels?, How can I do something like this?

JavaScript:
sendMessage('accionMsg', JSON.stringify(args));

listen kotlin/java:

jsBridge.onMessage("accionMsg", (args: Map<*, *>) {//deferred/coroutine
     .........
     return "anything";
 });

JsonObjectWrapper have a BUG

When an escaped string appears in the string, it will cause an escape error.
Here lost a replace("\\","\\\\")

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.