bbs

Month: 2021-06

2021-06-02

nickyanggg 16:16:30
再麻煩大家幫忙 review,謝謝
https://github.com/Ptt-official-app/go-bbs/pull/90

#90 Feature/#89 實作刪除草稿

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/89|#89> *:pick: 變更內容 / Details of Changes* • 在 bbs.go 中新增 UserDraftConnector、GetUserDraftPath、DeleteUserDraft • 新增 pttbbs/draft.go • 在 pttbbs/path.go、pttbbs.go 新增 GetUserDraftPath • 在 pttbbs/path_test.go 新增 TestGetUserDraftPath

GitHub壞掉了,暫時無法merge

2021-06-03

pichuchen 17:53:02
這週看起來又會delay了,因為我還在忙公司的東西

2021-06-04

pichuchen 21:58:07
go-bbs 的 library 做到 0.5.0 了
pichuchen 22:14:21
https://github.com/Ptt-official-app/Ptt-backend/issues/211

#211 [BUG] 在測試 /v1/token 時伺服器 Crash 了

*發生了什麼事? / The Problem* 在傳送 /v1/token 取得 token 時,如果只傳送 POST 而沒有傳送正確的參數的話,伺服器會出現錯誤。 *如何重現 / To Reproduce* 1. 首先建置好含 home bbs 資料的環境 2. `curl 'localhost:8081/v1/token' -d ''` 3. 接著就會伺服器端就會什麼都沒回應,如果是 nginx 做中介的場合會得到 500 Server Error *預期的行為 / Expected behavior* 不應該出現 Server Error, 應該要出現缺少參數的 Error 以及明確指出缺少什麼參數 *螢幕截圖 / Screenshots* ``` 2021/06/04 22:05:43 postToken parse form err: %!w(&lt;nil&gt;) 2021/06/04 22:05:43 found user: &amp;{0xc000178c40} 2021/06/04 22:05:43 password 2021/06/04 22:05:43 http: panic serving [::1]:51211: runtime error: slice bounds out of range [:2] with length 0 goroutine 14 [running]: net/http.(*conn).serve.func1(0xc00011b040) /usr/local/Cellar/go/1.16.2/libexec/src/net/http/server.go:1824 +0x153 panic(0x136a8c0, 0xc0000144c8) /usr/local/Cellar/go/1.16.2/libexec/src/runtime/panic.go:971 +0x499 <http://github.com/Ptt-official-app/go-bbs/pttbbs.(*Userec).VerifyPassword|github.com/Ptt-official-app/go-bbs/pttbbs.(*Userec).VerifyPassword>(0xc000178c40, 0x0, 0x0, 0x0, 0x0) /Users/tih/go/pkg/mod/github.com/!ptt-official-app/go-bbs@v0.3.3/pttbbs/passwd.go:157 +0x219 <http://github.com/Ptt-official-app/Ptt-backend/internal/delivery/http.(*Delivery).verifyPassword(0xc000022880|github.com/Ptt-official-app/Ptt-backend/internal/delivery/http.(*Delivery).verifyPassword(0xc000022880>, 0x1400188, 0xc000013d10, 0x0, 0x0, 0x1400188, 0xc000013d10) /Users/tih/localgitrepos/Ptt-backend/internal/delivery/http/route_token.go:77 +0xd0 <http://github.com/Ptt-official-app/Ptt-backend/internal/delivery/http.(*Delivery).postToken(0xc000022880|github.com/Ptt-official-app/Ptt-backend/internal/delivery/http.(*Delivery).postToken(0xc000022880>, 0x13fd970, 0xc000180540, 0xc00010eb00) /Users/tih/localgitrepos/Ptt-backend/internal/delivery/http/route_token.go:43 +0x209 <http://github.com/Ptt-official-app/Ptt-backend/internal/delivery/http.(*Delivery).routeToken(...)|github.com/Ptt-official-app/Ptt-backend/internal/delivery/http.(*Delivery).routeToken(...)> /Users/tih/localgitrepos/Ptt-backend/internal/delivery/http/route.go:22 net/http.HandlerFunc.ServeHTTP(0xc000194120, 0x13fd970, 0xc000180540, 0xc00010eb00) /usr/local/Cellar/go/1.16.2/libexec/src/net/http/server.go:2069 +0x44 net/http.(*ServeMux).ServeHTTP(0xc00005a7c0, 0x13fd970, 0xc000180540, 0xc00010eb00) /usr/local/Cellar/go/1.16.2/libexec/src/net/http/server.go:2448 +0x1ad net/http.serverHandler.ServeHTTP(0xc0001800e0, 0x13fd970, 0xc000180540, 0xc00010eb00) /usr/local/Cellar/go/1.16.2/libexec/src/net/http/server.go:2887 +0xa3 net/http.(*conn).serve(0xc00011b040, 0x13fe080, 0xc00005ac40) /usr/local/Cellar/go/1.16.2/libexec/src/net/http/server.go:1952 +0x8cd created by net/http.(*Server).Serve /usr/local/Cellar/go/1.16.2/libexec/src/net/http/server.go:3013 +0x39b ``` <https://user-images.githubusercontent.com/600238/120814983-fe219980-c581-11eb-873c-4f745ef535f6.png|截圖 2021-06-04 下午10 12 40> *開發環境 / Environment* • OS: macOS 11.4 • golang version: 1.16.2 • package version: <https://github.com/Ptt-official-app/Ptt-backend/commit/02866f0100f50c706386ab158bf0060496b81629|02866f0> • 測試工具: curl

👍 2
pichuchen 22:14:27
有出現ISSUE了

2021-06-05

pichuchen 01:07:00
本週的影片有寄出了,請在留意信箱

2021-06-06

Allen 15:23:02
@allenleeing0v has joined the channel

2021-06-07

chhsiao1981 00:21:26
image.png
chhsiao1981 00:23:50
hi all~

go-openbbsmiddleware / go-bbs / demo-pttbbs 這一線可以有評價 / 推噓功能囉~
目前 UI 上 bug 有點多~
不過大致上可以說明 api 是 ok 的~

很歡迎大家到 https://www.devptt.site 試試~
有興趣的話~
也很歡迎一起參與

https://github.com/Ptt-official-app/go-openbbsmiddleware
https://github.com/Ptt-official-app/go-pttbbs

Ptt-official-app/go-openbbsmiddleware

Ptt-official-app/go-pttbbs

devptt.site

React App

Web site created using create-react-app

請問怎麼參與呢?
chhsiao1981 2021-06-08 18:44:11
@ichsu

你好~

從入門到進階
你可以做以下的事情:

1. 到 https://www.devptt.site 玩玩. 將感覺到不順的部分回報 issue 到 https://github.com/Ptt-official-app/demo-pttbbs (或是 go-openbbsmiddlewarego-pttbbs)
2. 希望能在 https://www.devptt.site 裡有什麼新 feature. 可以發 issue 到上面所提到的任一 repo 裡.
3. 可以進去看一部分的 code. 將相對應的部分用你的所理解的話做註解.
4. 可以幫忙補 test cases.
5. 如果可以的話. 直接更改 code 加上你想要的部分. 然後直接丟 PR. (PR 裡描述這個 PR 的目的即可~ 並不需要再重複寫一遍 issue. PR 的敘述效力等同於 issue (這也是為啥 github 裡 issue 跟 PR 的編號是混在一起的原因~)
陳昱廷 11:25:37
https://github.com/Ptt-official-app/Ptt-backend/pull/213

#213 升級 go-bbs

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/212|#212> *:pick: 變更內容 / Details of Changes* 升級 go-bbs

陳昱廷 11:25:51
升級了 go-bbs
陳昱廷 11:26:21
我晚點在想想 v1/token 的 bug 怎修
陳昱廷 17:09:42
https://github.com/Ptt-official-app/Ptt-backend/pull/214

#214 增加判斷如果為空就不往下執行,並回傳錯誤訊息

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/211|#211> *:pick: 變更內容 / Details of Changes* 修正無參數時不執行下面的檢驗

陳昱廷 17:09:51
雖然是這樣修
陳昱廷 17:10:24
但我在想是不是直接先判斷有沒有帶 header - x-www-form-urlencoded
陳昱廷 17:10:29
比較好
陳昱廷 17:10:35
大家看法如何

2021-06-08

陳昱廷 12:08:34
我新增了許多 bug 在 issue 上
那個 bug 的描述應該要再更明確一點,舉例來說他用的測試資料是哪邊的測試資料,使用的帳號密碼(如果有的話)
再來是要附上Server端的訊息,這樣比較容易第一時間確定是Crash還是那邊有錯
👍 4
陳昱廷 12:08:42
有興趣的人可以去認領

2021-06-09

pichuchen 17:12:14
本來要投 COSCUP 的預定內容沒有上,相關內容可能會在該期間直接用錄影的方式釋出這樣

2021-06-10

陳昱廷 16:36:42
https://github.com/Ptt-official-app/Ptt-backend/pull/224

#224 增加判斷一般使用者不應取得別使用者的權限

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/217|#217> • close <https://github.com/Ptt-official-app/Ptt-backend/issues/219|#219> *:pick: 變更內容 / Details of Changes* 增加判斷一般使用者不應取得別使用者的權限 <https://user-images.githubusercontent.com/10670845/121482094-60a1ec00-c9ff-11eb-83e9-59ea5f4984ae.jpg|螢幕擷取畫面 2021-06-10 151226>

陳昱廷 16:36:53
大家幫忙 review 一下
s8901489 23:20:06
https://github.com/Ptt-official-app/go-bbs/pull/88
這個PR再麻煩大家幫忙了,感謝。

#88 Feature/#82 do_add_recommend

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/82|#82> *:pick: 變更內容 / Details of Changes* • Add `RecommendConnector` (`DoAddRecommend`) in bss.go • Add type `RecommendType` in bss.go • Add `IsLock` in filelock/filelock.go • Add pttbbs/pttbss_add_recommend.go • Add pttbbs/testcase/boards/t/test/M.1606672292.A.B23 • Add pttbbs/pttbss_add_recommend_test.go • Add `MaxRecommend` in pttbbs/const.go • Add `SetModified` and `AddRecommend` in pttbbs/file.go

❤️ 2

2021-06-12

nickyanggg 05:50:39
再麻煩大家幫忙 review 一下,感謝。
https://github.com/Ptt-official-app/go-bbs/pull/93

#93 Feature/#91 實作讀取草稿

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/91|#91> *:pick: 變更內容 / Details of Changes* • 在 bbs.go 中新增 GetUserDrafts • 在 pttbbs/draft.go 中新增 ReadUserDraft • 新增 user_draft.go

❤️ 1
nickyanggg 19:36:54
這個 PR 再麻煩大家幫忙了,感謝。
https://github.com/Ptt-official-app/Ptt-backend/pull/226

#226 Feature/#225 看板發文限制及細部資訊

*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/225|#225> *:pick: 變更內容 / Details of Changes* • 移除當初用來 mock 發文限制及細部資訊的 struct(未移除 PostsLimitedBoardRecord,因為其中含其它 api 所使用到的 EnableNewPost,不確定 go-bbs 是否實作出來了) • 串接 go-bbs 所提供的 interface (bbs.BoardRecordSettings, bbs.BoardRecordInfo)

❤️ 1

2021-06-13

pichuchen 05:55:24
本週影片發出去了,請在幫忙注意一下信箱
👍 1

2021-06-14

chhsiao1981 19:05:30
hi all~

go-openbbsmiddleware / go-pttbbs 這一線最新的進度是
demo site 可以 show infinite-loop 的 comments:

https://www.devptt.site/board/49_Baseball/article/1WXEo7Ootest130220

非常歡迎大家試試~

也非常歡迎有興趣的朋友們參與以下 repo:

https://github.com/Ptt-official-app/demo-pttbbs
https://github.com/Ptt-official-app/go-openbbsmiddleware
https://github.com/Ptt-official-app/go-pttbbs

devptt.site

React App

Web site created using create-react-app

2021-06-16

陳昱廷 16:24:47
麻煩大家在看看

2021-06-18

pichuchen 00:16:04
剛剛注意到的資訊,回文引用內容的判斷依據是第一個遇到的 \n--\n 之前的東西

2021-06-20

pichuchen 21:41:09
實作好推文的 v0.6.0 上去了

2021-06-21

pichuchen 02:03:38
https://github.com/Ptt-official-app/Ptt-backend/pull/229

需要有人幫忙 review

<https://github.com/Ptt-official-app/Ptt-backend/pull/229|#229 impliment preference by pttbbs api>

*:clap: 解決掉的 issue / Resolved Issues* • close #218 *:memo: 相關的 issue / Related Issues* • #148 • #150 • #62 *:pick: 變更內容 / Details of Changes* • 因為 go-bbs 還沒確定相關的 Interface 如何實作,因此先判斷為 pttbbs 後直接透過 flag 來取得設定

nickyanggg 06:38:59
再麻煩幫忙 review,謝謝
https://github.com/Ptt-official-app/go-bbs/pull/96

<https://github.com/Ptt-official-app/go-bbs/pull/96|#96 Implement #95 fix UserCommentRecord.>

*:clap: 解決掉的 issue / Resolved Issues* • close #95 *:pick: 變更內容 / Details of Changes* • 修改 user_comment_record.go 中的 UserCommentRecord、userCommentRecord • 由於 go-bbs 尚未實作推文的部分,所以不太確定到時候推文的資訊會以什麼方式存起來,因此 comment IP 這邊尚未實作。

UserComment 這個 interface 這樣開感覺有問題,他應該不必要實作 ArrticleRecord 這個 interface? 另外是 method name 的部分

`CommentOwner` => `Owner`
`CommentIP` => `IP`

這樣會不會比較好?
nickyanggg 2021-06-21 07:44:50
了解,因為這次 pr 主要是想說可能需要實作 ArticleRecord,所以我還是先關 pr,取名的部分可能之後再修改?
了解了,所以你沒有另外增加 commentIP 這些東西
了解了,所以你沒有另外增加 commentIP 這些東西
了解了,所以你沒有另外增加 commentIP 這些東西
但是可以舉一下哪邊會需要在comment裡面用到 article record 嗎?
nickyanggg 2021-06-21 08:13:42
GET /v1/users/{{user_id}}/comments 這隻 api,目前 ptt-backend 實作方式應該是直接取 bbs.UserComment,但此 api 可能還需要以下資訊
```{
"data": {
"items": [{
"board_id": {{board_id}},
"filename": {{filename}},
"modified_time": {{modified_time}},
"recommend_count": {{recommend_count}},
"comment_count": {{comment_count}},
"post_date": {{post_date}},
"title": {{title}},
"url": {{url}},
"comment_order": {{comment_order}},
"comment_time": {{comment_time}},
}]
}
}```
nickyanggg 2021-06-21 08:16:17
而單從目前 UserComment 的設計應該是無法取得它所屬的 article record 的資訊
這邊的資料可能是要直接存進去
他不會和原本article同步
不過我看一下設計稿喔,感覺怪怪的
nickyanggg 2021-06-21 08:23:33
如果那個上箭頭 (recommend_count) 是對應文章的話,那感覺是需要同步的?
我要問一下
我覺得可以先補一下 UserCommentRecord 的註解
我覺得可以先補一下 UserCommentRecord 的註解
不然會搞錯他的用途
然後我覺得可以儲存 boardname + filename 來取代 article record? 因為直接出 article record 我不知道會不會讓實作上太複雜
nickyanggg 2021-06-21 08:37:45
了解,那可能我晚點修改一下 issue 中的敘述再重發 pr
pichuchen 11:13:10
版主資訊的回應好像怪怪的?
pichuchen 11:13:23
截圖 2021-06-21 上午11.13.16.png
陳昱廷 12:21:37
https://github.com/Ptt-official-app/Ptt-backend/pull/233

<https://github.com/Ptt-official-app/Ptt-backend/pull/233|#233 修正了取得使用推文錯誤問題>

*:clap: 解決掉的 issue / Resolved Issues* • close #223 *:pick: 變更內容 / Details of Changes* 修正了同一位使用者取不到推文問題 另外發現 go-bbs 只會回傳月日,不會回傳年分,這部分需另開 issue 做討論

那個 “CommentOrder” 有照著文件做嗎?
我不確定,要如何才能得知
我只有把它修成可以取得而已
因為我印象中回傳的變數通常是 return_value 而不是 ReturnValue 的形式
命名問題我改一下就好了
改好了麻煩在看看
陳昱廷 12:21:45
這個大家幫忙 review 一下
pichuchen 14:59:20
本週影片寄出了
pichuchen 14:59:31
請大家忽略打錯字的部分

2021-06-23

pichuchen 01:51:42
https://github.com/Ptt-official-app/Ptt-backend/pull/234

<https://github.com/Ptt-official-app/Ptt-backend/pull/234|#234 add route for update usefulness>

*:clap: 解決掉的 issue / Resolved Issues* • close #230 *:memo: 相關的 issue / Related Issues* • #230 • #210 *:pick: 變更內容 / Details of Changes* • 因為 API endpoint 仍使用文章推文,所以沒有新增 route,而是使用原本的 `delivery.appendComment` • 如果 type 是 `↑` 或 `↓`,則 text 可以為空 • 如果是上下箭頭推文則呼叫 `usecase.UpdateUsefulness` 目前程式直接判斷 `appendType == "↑"`,有需改成用 unicode 表示嗎?像是 `appendType == "\u2191"`

👀 1
pichuchen 01:52:05
這個需要請大家協助Review

2021-06-24

2021-06-25

nickyanggg 03:18:43
再麻煩大家幫忙 review
https://github.com/Ptt-official-app/go-bbs/pull/96

<https://github.com/Ptt-official-app/go-bbs/pull/96|#96 Implement #95 fix UserCommentRecord.>

*:clap: 解決掉的 issue / Resolved Issues* • close #95 *:pick: 變更內容 / Details of Changes* • 修改 user_comment_record.go 中的 UserCommentRecord、userCommentRecord • 由於 go-bbs 尚未實作推文的部分,所以不太確定到時候推文的資訊會以什麼方式存起來,因此 comment IP 這邊尚未實作。

👍 1

2021-06-26

pichuchen 09:43:47
https://github.com/Ptt-official-app/Ptt-backend/pull/229

更正了,請在幫忙Review

<https://github.com/Ptt-official-app/Ptt-backend/pull/229|#229 implement preference by pttbbs api>

*:clap: 解決掉的 issue / Resolved Issues* • close #218 *:memo: 相關的 issue / Related Issues* • #148 • #150 • #62 *:pick: 變更內容 / Details of Changes* • 因為 go-bbs 還沒確定相關的 Interface 如何實作,因此先判斷為 pttbbs 後直接透過 flag 來取得設定

eric 13:46:31
@publicrelation has joined the channel
pichuchen 18:21:54
關於分頁的設計,我打算列入 Milestone 2 第一個實作的東西,不知道大家有什麼看法嗎?
👍 1
pichuchen 18:22:45
具體而言就是哪些API要支援分頁,然後分頁要用什麼形式,基於頁的還是基於指定開始/結束項次的

2021-06-27

whitefloor 10:20:53
麻煩大家review了,感謝
https://github.com/Ptt-official-app/Ptt-backend/pull/243

<https://github.com/Ptt-official-app/Ptt-backend/pull/243|#243 convert boolean to string and add check permission>

*:clap: 解決掉的 issue / Resolved Issues* • close #239 *:memo: 相關的 issue / Related Issues* *:pick: 變更內容 / Details of Changes* • 將marshalBoardSettings的布林轉型為字串回傳 • 新增checkPermissionReadBoardInformation方法

pichuchen 18:32:13
分頁的部分我稍微整理一下今天有看到的東西,如果用 ssh 連線 bbsu@ptt.cc 的話,可以發現每頁的數量可以說不一定是固定的,因此可能會傾向用 start_with + item_per_page 兩個參數的組合做看板文章數量的分頁,變數名稱有討論空間。
pichuchen 18:45:10
再來是原標準的color map 還沒有定義下來,在色彩的部分 BBS 是16色,設計起來應該是保留未來的擴充空間這樣
👀 1

2021-06-28

pichuchen 12:47:42
這週影片可能得拖到週二了
👀 2
pichuchen 12:47:55
因為今天公司的事情可能要一路忙到晚上

2021-06-30

pichuchen 12:42:12
本週的影片已經寄出了
pichuchen 12:42:29
上下箭頭的部分我看起來是 Parse 本文這樣應該就行了
pichuchen 12:43:41
然後Parse本文的機制,我覺得可以稍微擬個文件來規範目前的 BBS 文章檔,這樣比應該目前線上的 APP 開發者們也能受惠
陳昱廷 15:34:24
我需要幫助
陳昱廷 15:34:25
https://github.com/Ptt-official-app/Ptt-backend/pull/233

<https://github.com/Ptt-official-app/Ptt-backend/pull/233|#233 修正了取得使用推文錯誤問題>

*:clap: 解決掉的 issue / Resolved Issues* • close #223 *:pick: 變更內容 / Details of Changes* 修正了同一位使用者取不到推文問題 另外發現 go-bbs 只會回傳月日,不會回傳年分,這部分需另開 issue 做討論

陳昱廷 15:34:45
這個推文目前沒有實做完全,不過我不會寫C不知道怎樣爬推文
陳昱廷 15:34:58
要處理 go-bbs 那塊
pichuchen 15:43:41
目前應該可以取得全文?,然後去 count 特定字串出現的字數應該就行了
我用類似得方法做出來了