顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2023-05-18 11:22:12
看板 MobileComm
作者 kiwatami (悠游自在)
標題 Re: [問題] 有沒有JPTT使用者覺得今天怪怪的
時間 Wed May 17 12:37:06 2023


不知道其他 app 是不是遇到相同的問題,

將手上的資訊提供給使用者與 app 開發者參考。

目前收到的錯誤報告是 PTT 伺服器回傳了錯誤的座標導致發生錯誤,

所有的座標都是 {ESC}[9999;1H 接著一大串的 {ESC}[K。

{ESC}[9999;1H 移動至第 9999 行的第 1 個字

{ESC}[K 清除此行

看起來是無意義的行為,

但也可能是為了解決某些伺服器上的問題而用的 workaround。

由於 PTT 一頁預設最多只有 24 行 x 80 個字,

根本不該出現這類數字,

所以超過的數值就會導致 arrayIndexOutOfBounds 錯誤,

雖然有在寫入文字時進行預防,超過的部分不處理,

但是 {ESC}[K 這類操作命令卻沒有加入預防,

因此在處理清空陣列時就會出現錯誤。

目前讀取文章雖然還沒有出現類似問題,

不過發文、編輯等都是用同一個 parser,

所以讀取文章照理說應該也會出現問題才對,

不確定為何只有發文跟編輯會觸發。

總之目前開發版本先加入錯誤座標的相關處理,

但這項改動很可能導致嚴重問題,

因為如果伺服器回傳的座標持續不正確,

就可能會略過全部後續的文字,

導致後續文章出現大量空白,不確定是不是應該放出這個修正版本,

最好的辦法還是請伺服器處理掉錯誤座標的問題。


--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.121.197 (臺灣)
※ 作者: kiwatami 2023-05-17 12:37:06
※ 文章代碼(AID): #1aP5dq8Z (MobileComm)
※ 文章網址: https://www.ptt.cc/bbs/MobileComm/M.1684298228.A.223.html
shorthaircon: 剛剛更新app後似乎沒再斷線了1F 05/17 12:41
heacoun: 更新完就好了2F 05/17 12:42
f40075566: 有人是beppt一直閃退的嗎3F 05/17 12:44
luckyalbert: 昨天我讀取文章時也會這樣4F 05/17 12:46
luckyalbert: 無法讀取完畢,只能瀏覽部分頁面
luckyalbert: 有些文章過段時間再回來看就好了,變成其他文章有問
luckyalbert: 題
luckyalbert: 推文部分當時無法一頁瀏覽到底
luckyalbert: 剛剛更新完J確定現在可以正常瀏覽頁面
tourism1003: 這篇"專業"文章借轉至某板。謝謝分析10F 05/17 12:54
yys310: 太專業了吧 連PTTSTAR也遇到問題11F 05/17 12:57
Xperia: https://reurl.cc/eXjmqj12F 05/17 12:59
Xperia: beptt官方有說明
lianpig5566: 讀取也有問題14F 05/17 13:03
Sinreigensou: 要是導致發空白文被水桶好像更慘15F 05/17 13:05
talyn: pc用ptt star也一樣,會直接移到最下方推文處16F 05/17 13:14
oppoR20: 推pitt作者 功能真的更新很快17F 05/17 13:17
oppoR20: 多圖選擇功能真的方便
fmtpeter: JPTT更新後正常了19F 05/17 13:19
jimmyfk: BePTT更新到5.1.0版後就好了...20F 05/17 13:23
soapmactony: 比較好奇的是,為何昨晚才開始發作這個短線問題?21F 05/17 13:27
ltytw: 看不是很懂  不過給推  不過term.ptt.cc以及PCMAN似乎迴避22F 05/17 13:31
ltytw: 了這個問題?
luckyalbert: 是不是站方某些人改了甚麼東西?24F 05/17 13:33
kiwatami: 進一步測試後面的一大串 {ESC}[K 是有意義的25F 05/17 13:40
kiwatami: 如果忽略會導致該清除的文字沒有被清空
kiwatami: 但是應該被清除的開始座標卻傳成9999
gausong: 推pitt作者 謝謝你讓我正常使用ptt XD28F 05/17 13:41
kiwatami: @ltytw 處理方式不同29F 05/17 13:42
kiwatami: app 通常是存到陣列再 parse 後決定畫面如何呈現
kiwatami: PCMAN是直接一個字一個字輸出
engineer1: BePTT閃退得不要不要QQ32F 05/17 13:43
luckyalbert: 補推一下,感謝寫App平台的各位33F 05/17 13:44
max005: 但奇怪的是為啥有人碰到有人沒有? 難道看ID的?34F 05/17 13:47
darry0703: 好像很多PTT的APP 怪怪的35F 05/17 13:48
turndown4wat: 推說明36F 05/17 13:48
Sinreigensou: 我pitt使用者現在是可以推 不能發跟編輯37F 05/17 13:49
a0913: 全部APP都出事吧?38F 05/17 13:51
snocia: 明顯沒有所有人都出事39F 05/17 13:51
snocia: 譬如BePTT公告就直接講iOS版,實際上我用安卓的BePTT從昨
snocia: 晚到現在一直用都不曾閃退
guogu: jptt目前是可以正常瀏覽了 pttstar昨天會出現推文整行空白42F 05/17 13:54
guogu: 還有自動捲到最底下跟按下or pagedown畫面沒變化的問題
mike0608: 看來PTT站方不知道改壞了什麼地方44F 05/17 13:55
c79143014: 更新後就順了45F 05/17 13:57
TonyQ: https://github.com/ptt/pttbbs/pull/120/files46F 05/17 13:58
TonyQ: 猜測應該是這個變更
pfterm: fix broken scrolling when term height > ft.rows 修正終端機高度 > ft.rows 時,畫面捲動壞掉的問題 by IepIweidieng ·  Pull Request #120 ·  ptt/pttbbs ·  GitHub
[圖]
fterm_rawscroll() required that term height == ft.rows in order to work properly, but it is not the case when ft.rows is a clipped value of term heigh ...

 
kintaro1219: 更新ok48F 05/17 14:01
a3221715: 重新整理推文就掛49F 05/17 14:03
kiwatami: @TonyQ 大感謝!就是他50F 05/17 14:14
kiwatami: 看起來app應該要視9999為最後一行再處理後續座標移動
kiwatami: 而不能直接忽略 目前這樣改起來正確多了
ftank183: 我是一直斷線@@53F 05/17 14:26
weltschmerz: 卡一下54F 05/17 14:31
gameguy: JPPT更新後正常,你太專業55F 05/17 14:43
Shigeru777: 大德拯救蒼生! 不然狂斷線都快得焦慮症56F 05/17 14:48
nickyeh779: 一直出現錯誤57F 05/17 14:55
yuchuan0521: 我用Pitt沒事58F 05/17 14:57
freshbox7: Beptt評分不曉得為跌這麼慘,出什麼大事嗎59F 05/17 15:12
joe931: 電腦版PTT STAR會自動跳到最後一頁60F 05/17 15:13
Swartz: MeowPtt更新後正常61F 05/17 15:28
ianchen1223: BePTT 還會閃退 Jptt 已經修好了62F 05/17 15:37
holishing: 借轉到 AppsForBBS 板,感謝63F 05/17 16:09
get951753: 推64F 05/17 16:23
pastrolia: Beptt ㄧ直閃退65F 05/17 16:44
q2520q: J更新後恢復66F 05/17 16:47
hnjsh: 我昨天都是在讀取文章的時候斷線重連67F 05/17 16:47
CHR8787: 不管哪個都閃退..68F 05/17 17:01
sheepsevil: Beptt文章看一半一直閃退超煩…69F 05/17 17:23
sheepsevil: Beptt已經更新到最新版了
rogergon: 這個跟iOS正相關吧?安卓機有遇到這問題嗎?71F 05/17 17:24
gtr0107: 安卓有 更新後正常72F 05/17 17:25
holishing: #1aP5_o5- (SYSOP)73F 05/17 17:47
holishing: 對相關程式修改有興趣追蹤的人可以參考上面文章代碼
holishing: https://github.com/ptt/pttbbs/pull/129
[問題] 伺服器回傳錯誤的座標位置 esc[9999;1H - 看板 SYSOP - 批踢踢實業坊
作者: kiwatami (悠游自在) 昨天晚上開始的 app 當機潮 懷疑是跟伺服器回傳了錯誤的座標導致的問題 所有錯誤都是以 esc[9999;1H 開始 後面跟著2個以上連續的 esc[K 命令 之後再指定到正常座標 esc[x;yH
 
fix pfterm fterm_rawscroll() output incompatibility by recording true term height in term_resize() 修正 pfterm fterm_rawscroll() 輸出之不相容,透過在 term_resize() 記錄眞實終端機高度 by IepIweidieng ·  Pull Request #129 ·  ptt/pttbbs ·  GitHub
[圖]
Some third-party apps assume that the cursor-moving escapes have in-bound coord, which had become untrue due to 1847f5b9d7 (#120).
一些第三方應用程式假設游標移動控制碼的 ...

 
easyleeful: JPTT更新後正常了,謝謝大家76F 05/17 18:09
holishing: 或追蹤這個 pr77F 05/17 18:09
cliff2001: Beptt有新版本了78F 05/17 18:30
raune: Be更新後正常79F 05/17 19:49
rogergon: iOS的BePTT更新後正常了。80F 05/17 21:17
s9209122222: 讀取也沒辦法讀取完全呀81F 05/17 21:51
InfocusM510: 終於好了QQ82F 05/17 21:51
starcat22310: 下午更新了一次 剛又卡了 再更新一次恢復83F 05/17 22:07
devidevi: 推PTT STAR一樣錯誤84F 05/17 23:51
panjanhon: PTTSTAR要怎麼改善?85F 05/17 23:56
jose50203: 我用beptt剛剛一直身閃退86F 05/18 03:35
heacoun: 現在換封面故事跑不出來了87F 05/18 08:52
kirax20a: 封面故事跑不出來+1 中華/S23U88F 05/18 09:34
gameguy: 今天變封面故事GG,JPPT又掛了89F 05/18 09:51
t127147157: 是誰改壞的糞CODE啦?90F 05/18 11:07

--
※ 看板: MobileComm 文章推薦值: 0 目前人氣: 0 累積人氣: 40 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇