HackMD
    • Sharing Link copied
    • /edit
    • View mode
      • Edit mode
      • View mode
      • Book mode
      • Slide mode
      Edit mode View mode Book mode Slide mode
    • Note Permission
    • Read
      • Only me
      • Signed-in users
      • Everyone
      Only me Signed-in users Everyone
    • Write
      • Only me
      • Signed-in users
      • Everyone
      Only me Signed-in users Everyone
    • More (Comment, Invitee)
    • Publishing
    • Commenting Enable
      Disabled Forbidden Owners Signed-in users Everyone
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Invitee
    • No invitee
    • Options
    • Versions
    • Transfer ownership
    • Delete this note
    • Template
    • Save as template
    • Insert from template
    • Export
    • Google Drive Export to Google Drive
    • Gist
    • Import
    • Google Drive Import from Google Drive
    • Gist
    • Clipboard
    • Download
    • Markdown
    • HTML
    • Raw HTML
Menu Sharing Help
Menu
Options
Versions Transfer ownership Delete this note
Export
Google Drive Export to Google Drive Gist
Import
Google Drive Import from Google Drive Gist Clipboard
Download
Markdown HTML Raw HTML
Back
Sharing
Sharing Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
More (Comment, Invitee)
Publishing
More (Comment, Invitee)
Commenting Enable
Disabled Forbidden Owners Signed-in users Everyone
Permission
Owners
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Invitee
No invitee
   owned this note    owned this note      
Published Linked with
Like BookmarkBookmarked
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
--- tags: cofacts, meeting note --- 20200311 會議紀錄 ===== > 黑卡 mrorz, bil > ggm、Lucien、蝴蝶、志超 > > 上次開會紀錄:https://g0v.hackmd.io/@johnson/ByAb_n24U > ## 3/14 大松籌備 活動共筆 Note:https://g0v.hackmd.io/@jothon/g0v-hackath38n 要買很多口味的 Lays ### 誰會來 在家組 - ggm - 文武 Workis 組 - bil - mrorz - darkbtf - lucien (下午) ### 大松頁面 https://g0v.hackmd.io/@johnson/HyXMDVLBI ### Good first issue - https://github.com/cofacts/rumors-line-bot/labels/good%20first%20issue - https://github.com/cofacts/rumors-site/labels/good%20first%20issue - https://github.com/cofacts/rumors-api/labels/Good%20first%20issue ### 標記作業 - postponed - DB ready? No - API PR review 中 - UI PR review 中 :::danger 先不要 大松那天上 staging ::: ## LINE chatbot downtime - 3/18 移轉為 OA 2.0 - Logo LINE 還沒回說會換頭像,也不確定具體時間 ### FB group / Slack 文案 ### LINE bot 自動回覆 :::danger 大松寫文案 ::: 【Cofacts 真的假的 LINE 帳號升級公告】 Cofacts 的 LINE 官方帳號「Cofacts 真的假的|轉傳查證」將在 3/18 (三) 進行官方帳號升級作業,升級作業時將無法自動回應。在升級之後,功能維持不變,但我們會用新頭像與大家見面唷 :) ## Incidents ### 3/9 Disk full, website & line bot "index is read only" error https://www.facebook.com/groups/cofacts/permalink/2634161976815615/ - 8:02 的時候硬碟已滿,資料庫唯讀 - 13:20 暫時關閉 API server 來 debug - 最後 13:46 修復完畢。 #### 調查結果 `docker system df` 顯示各個 container 正常 ``` root@debian:/var/lib# docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 27 7 7.903GB 5.63GB (71%) Containers 7 6 5.344GB 151B (0%) Local Volumes 122 0 45.4MB 45.4MB (100%) Build Cache 0 0 0B 0B ``` 但實際上有單一 container 在 `/var/lib/docker/containers` 使用了 94GB—— Elasticsearch 的 docker container。 https://stackoverflow.com/questions/59507037/elasticsearch-docker-container-taking-all-my-disk-space-cannot-find-where 有人說是資料亂存(但發問者跟我一樣是把整個 data 資料夾 bind mount) 有人說是 swap 問題 ggm 我們不是用 docker 直接跑在機器上 這感覺跟 docker 有關 :::danger 放著 ::: #### Aftermath - 我們的 error logger 超過免費額度,接下來到 4/5 之前如果有 bug,要仰賴大家回報才能提早發現 bug 了 QQ #### Other issue 這個 error 每一秒會噴好幾次: ``` db_1 | [2020-03-09T05:34:52,969][WARN ][r.suppressed ] path: /_msearch, params: {} db_1 | java.lang.IllegalStateException: No matching token for number_type [BIG_INTEGER] db_1 | at org.elasticsearch.common.xcontent.json.JsonXContentParser.convertNumberType(JsonXContentParser.java:210) ~[elasticsearch-x-content-6.3.2.jar:6.3.2] db_1 | at org.elasticsearch.common.xcontent.json.JsonXContentParser.numberType(JsonXContentParser.java:68) ~[elasticsearch-x-content-6.3.2.jar:6.3.2] (下略很深的 stacok trace) ``` :::info Root cause 依舊不明 現在不噴了 (?) ::: ### 3/11 Website down due to high server load > 4000 回報剛才網站進不去 > ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_6d3f57ce9b7079ae9116f1af158340e2) > Linode 報表顯示 9:40 ~ 10:05 的時候 server load 超載,原本 load 大概是 2~5 (>1 就是很忙了) > 那段時間衝到 100 ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_f0c3eb76f138fe31da59ba641b7a5d71) ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_63306cdd77d9443ddeaffa158790e001) - `Java`: Elasticsearch - `node /srv/www/b`(uild/index.js): API server, 2 instances - `node /srv/www/s`(erver.js): Web server, 2 TW instances, 1 EN instance :::success Linode 升級到 16GB plan (80USD / month) 6 CPU, 16GB Ram, 320GB Storage Do 升級 ::: ### LINE bot RAM issue 3/7 6:30PM: Deploy 0d05fa47 (最新版) ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_2eed59aff8a9e46fd9ce73f2cb3e7fa9) ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_5e107a5d0fbc26025b5468e9199f18e6) Logs: https://drive.google.com/file/d/1LoErUwFIVHRB-cYlxIeJ439_QdamAORg/view?usp=sharing Orz: 看起來一次可以傳 6 張圖,平行處理 6 張圖,導致 Memory 超標 但 ssh 進去 dyno 看,確實是最新的 code 而且 staging 正常 ``` 09 Mar 2020 11:27:45.724309 <158>1 2020-03-09T03:27:45.206870+00:00 heroku router - - at=info method=POST path="/callback" host=rumors-line-bot.herokuapp.com request_id=f987e6a4-ce3e-4533-a2a1-320996511c8c fwd="147.92.150.196" dyno=web.1 connect=1ms service=5ms status=200 bytes=137 protocol=https 09 Mar 2020 11:27:46.952309 <158>1 2020-03-09T03:27:46.400480+00:00 heroku router - - at=info method=POST path="/callback" host=rumors-line-bot.herokuapp.com request_id=5eccf80a-be9b-4a2d-be8c-7f54dbda7eb1 fwd="147.92.150.196" dyno=web.1 connect=1ms service=4ms status=200 bytes=137 protocol=https 09 Mar 2020 11:27:47.849309 <158>1 2020-03-09T03:27:45.398598+00:00 heroku router - - at=info method=POST path="/callback" host=rumors-line-bot.herokuapp.com request_id=6c1b5a69-031b-41cf-bb07-81064ac80c4f fwd="147.92.150.196" dyno=web.1 connect=1ms service=3ms status=200 bytes=137 protocol=https 09 Mar 2020 11:27:47.967239 <45>1 2020-03-09T03:27:47.798721+00:00 heroku web.1 - - source=web.1 dyno=heroku.57521933.95b18a95-11e0-466d-92db-81b09bdcb0bd sample#load_avg_1m=0.93 sample#load_avg_5m=0.25 sample#load_avg_15m=0.09 09 Mar 2020 11:27:48.033374 <45>1 2020-03-09T03:27:47.798721+00:00 heroku web.1 - - source=web.1 dyno=heroku.57521933.95b18a95-11e0-466d-92db-81b09bdcb0bd sample#memory_total=585.84MB sample#memory_rss=579.59MB sample#memory_cache=6.25MB sample#memory_swap=0.00MB sample#memory_pgpgin=2838649pages sample#memory_pgpgout=2708090pages sample#memory_quota=1024.00MB 09 Mar 2020 11:27:48.358309 <158>1 2020-03-09T03:27:47.735478+00:00 heroku router - - at=info method=POST path="/callback" host=rumors-line-bot.herokuapp.com request_id=076aa867-952a-4ddb-95ca-b1f786740fae fwd="147.92.150.196" dyno=web.1 connect=0ms service=4ms status=200 bytes=137 protocol=https 09 Mar 2020 11:27:48.801309 <158>1 2020-03-09T03:27:48.145231+00:00 heroku router - - at=info method=POST path="/callback" host=rumors-line-bot.herokuapp.com request_id=a2d72a41-9b59-479e-a634-a4e6d48a9133 fwd="147.92.150.196" dyno=web.1 connect=0ms service=3ms status=200 bytes=137 protocol=https 09 Mar 2020 11:27:48.985146 <190>1 2020-03-09T03:27:48.333077+00:00 app web.1 - - Uploaded File Id: 1XIt7xKPTQpAHkmNZ0BTeZjpVdw0r4urb 09 Mar 2020 11:27:49.104146 <190>1 2020-03-09T03:27:48.445722+00:00 app web.1 - - Uploaded File Id: 1zSdno0goVEkvGahsf6Vhc7nVRdJ1dsc6 09 Mar 2020 11:27:50.518146 <190>1 2020-03-09T03:27:47.886422+00:00 app web.1 - - Uploaded File Id: 1jHVDnVvLbl2M95iyn4XDrBViJEfql31x 09 Mar 2020 11:27:51.601310 <158>1 2020-03-09T03:27:49.139194+00:00 heroku router - - at=info method=POST path="/callback" host=rumors-line-bot.herokuapp.com request_id=fedbd9a0-8b8b-4a21-90ad-c86ba7e189f6 fwd="147.92.150.196" dyno=web.1 connect=0ms service=11ms status=200 bytes=137 protocol=https 09 Mar 2020 11:27:53.718146 <190>1 2020-03-09T03:27:53.069648+00:00 app web.1 - - Uploaded File Id: 1iyTCQjOkGB3qgtJUtJYfCQlI0qOLe51v 09 Mar 2020 11:27:53.844146 <190>1 2020-03-09T03:27:53.072061+00:00 app web.1 - - Uploaded File Id: 1btnRENaGvI8mH9XGh8b39OQxaDYJLIQF 09 Mar 2020 11:27:53.844146 <190>1 2020-03-09T03:27:53.097199+00:00 app web.1 - - Uploaded File Id: 190NEtMJGUtLc-2H1OABuzEPNZFUJg4j7 09 Mar 2020 11:28:09.511239 <45>1 2020-03-09T03:28:09.080861+00:00 heroku web.1 - - source=web.1 dyno=heroku.57521933.95b18a95-11e0-466d-92db-81b09bdcb0bd sample#load_avg_1m=7.52 sample#load_avg_5m=1.81 sample#load_avg_15m=0.63 09 Mar 2020 11:28:09.629377 <45>1 2020-03-09T03:28:09.080947+00:00 heroku web.1 - - source=web.1 dyno=heroku.57521933.95b18a95-11e0-466d-92db-81b09bdcb0bd sample#memory_total=1132.49MB sample#memory_rss=872.88MB sample#memory_cache=1.29MB sample#memory_swap=258.32MB sample#memory_pgpgin=3192992pages sample#memory_pgpgout=2981469pages sample#memory_quota=1024.00MB 09 Mar 2020 11:28:09.629129 <45>1 2020-03-09T03:28:09.081396+00:00 heroku web.1 - - Process running mem=1132M(110.5%) 09 Mar 2020 11:28:09.629129 <45>1 2020-03-09T03:28:09.081517+00:00 heroku web.1 - - Error R14 (Memory quota exceeded) 09 Mar 2020 11:28:13.819296 <190>1 2020-03-09T03:28:13.208233+00:00 app web.1 - - [LOG] Timeout {"type":"message","userId":"U_7","timestamp":1583724463957,"mode":"active","message":{"type":"image","id":"11565161151380","contentProvider":{"type":"line"}}} 09 Mar 2020 11:28:13.929296 <190>1 2020-03-09T03:28:13.401540+00:00 app web.1 - - [LOG] Timeout {"type":"message","userId":"U_7","timestamp":1583724464832,"mode":"active","message":{"type":"image","id":"11565161218468","contentProvider":{"type":"line"}}} 09 Mar 2020 11:28:15.046296 <190>1 2020-03-09T03:28:14.399782+00:00 app web.1 - - [LOG] Timeout {"type":"message","userId":"U_7","timestamp":1583724465683,"mode":"active","message":{"type":"image","id":"11565161285310","contentProvider":{"type":"line"}}} 09 Mar 2020 11:28:16.767296 <190>1 2020-03-09T03:28:16.150057+00:00 app web.1 - - [LOG] Timeout {"type":"message","userId":"U_7","timestamp":1583724467598,"mode":"active","message":{"type":"image","id":"11565161448716","contentProvider":{"type":"line"}}} 09 Mar 2020 11:28:17.433296 <190>1 2020-03-09T03:28:17.144000+00:00 app web.1 - - [LOG] Timeout {"type":"message","userId":"U_7","timestamp":1583724468437,"mode":"active","message":{"type":"image","id":"11565161518092","contentProvider":{"type":"line"}}} 09 Mar 2020 11:28:24.374296 <190>1 2020-03-09T03:28:15.739733+00:00 app web.1 - - [LOG] Timeout {"type":"message","userId":"U_7","timestamp":1583724466718,"mode":"active","message":{"type":"image","id":"11565161377196","contentProvider":{"type":"line"}}} 09 Mar 2020 11:33:06.338129 <190>1 2020-03-09T03:33:05.982228+00:00 app web.1 - - [LOG] reply & context setup aborted 09 Mar 2020 11:33:22.765129 <190>1 2020-03-09T03:33:22.411547+00:00 app web.1 - - [LOG] reply & context setup aborted 09 Mar 2020 11:33:27.189129 <190>1 2020-03-09T03:33:26.493499+00:00 app web.1 - - [LOG] reply & context setup aborted 09 Mar 2020 11:33:28.769129 <190>1 2020-03-09T03:33:28.410305+00:00 app web.1 - - [LOG] reply & context setup aborted 09 Mar 2020 11:33:32.219129 <190>1 2020-03-09T03:33:29.487442+00:00 app web.1 - - [LOG] reply & context setup aborted 09 Mar 2020 11:33:32.453129 <190>1 2020-03-09T03:33:27.735900+00:00 app web.1 - - [LOG] reply & context setup aborted ``` :::info 再看看,不知道為什麼 ::: ## 開發 GitHub activities https://datastudio.google.com/u/0/reporting/18J8jZYumsoaCPBk9bdRd97GKvi_W5v-r/page/WSQFB ### Polyfill size 禮拜三的時候有聊過我把 polyfill 塞進 webpack bundle 這件事 ( https://g0v.hackmd.io/-x5qyf_ER-mTiECYx0GX6g#Polyfill ) 我剛才用 next-bundle-analyzer 測了一下,結果在這裡: ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_87111c3bd6d351969c66b9a087ea9a37) :::success Issue: https://github.com/cofacts/rumors-site/issues/233 ::: ### Subscription w/ IFTTT Applets - RSS <> Slack: https://ifttt.com/applets/110762028d-cofacts-replies-to-slack - RSS <> LINE: https://ifttt.com/applets/110758381d-latest-reply-line - RSS <> Email: https://ifttt.com/applets/26887139d-rss-feed-to-email - RSS <> Telegram: https://ifttt.com/applets/110762597d-cofacts-reply-to-telegram 問題:pubDate 不對,無法觸發 RSS feed run https://github.com/cofacts/rumors-site/tree/rss-pubdate-fix (缺 API route unit tests) ### Tracking :::success - 埋 hotjar: https://github.com/cofacts/rumors-site/issues/236 - 先設定 displayName of important component: https://github.com/cofacts/rumors-site/issues/237 - 以後再看看要不要 react-tracking ::: ### LINE bot notification https://g0v.hackmd.io/eIeU2g86Tfu5VnLazNfUvQ ## New analytics: 已登入使用者 https://datastudio.google.com/u/0/reporting/18J8jZYumsoaCPBk9bdRd97GKvi_W5v-r/page/zJpHB 看起來已登入的編輯們,8 成的 session 用的是桌機,2 成是用手機,沒人用平板。螢幕解析度方面 1280, 1150 佔大宗 ## 設計:最新回應列表 https://www.figma.com/file/zpD45j8nqDB2XfA6m2QskO/Cofacts-website?node-id=0%3A1 ### 最新回應列表 Mockup https://www.figma.com/file/zpD45j8nqDB2XfA6m2QskO/Cofacts-website?node-id=0%3A1 ### Icons 與錊者 超 現在多了形狀,視覺上比較分得開 八角形要再微調不然會有點凹陷 「不在查證範圍」原本用黃色,但 Cofacts 主色就黃色,覺得主色用在這有點怪 所以改紫色 orz 現在還少了作者 作者會有兩種(訊息作者、連結人) 我覺得可以放右下角 另外,chatbot 上是刻意把編輯判斷放最後面,淡化編輯判斷,讓使用者閱讀內文 lucien 目前 icon 比較尷尬,會讓人覺得「這就是錯的」而不是「含有不實訊息」 比較沒有原本那種小心的感覺 超 我覺得看到「含有不實訊息」跟看到叉叉是一樣的 要小心的話,要看到「某某人覺得含有不實訊息」這種「某某人說」比較好 lucien icon 可以放大但是可以放去背景呢 可以感受到這個是「含有不實訊息」但是可以一眼看到「誰覺得」的 超 那做成緞帶/便利貼的感覺呢 ### 區分訊息與回應(回應為重點) 超 麻煩的是,這頁的主角是回應,但你又會想把回應放在第二層 會比較亂 lucien 所以想說回應的顏色比較深等等 超 可以試試看,浮水印不是很討喜,會看起來很亂 便利貼/帶子可以是紅色然後寫「XXX 覺得含有不實訊息」 是長型的 但如果要縮排的話比較難排 orz 如果是聊天視窗的「回應」呢 不縮排但用不同方匡,也能看出是回應 超 但這是列表不是聊天視窗 整齊滿重要的 lucien 顏色與緞帶都可以試試看 ### 展開系列 Lucien: 閱讀全文是 for 回應,不是訊息。 超: 我覺得都要,訊息與回應都可以 L: 我覺得訊息 2 行,回應 3 行,超過就放「閱讀全文」 詳情頁面才有 reference,然後詳情頁面才有 copy button orz 回應展開後會有 reference 嗎 bil 沒有 reference 我覺得沒有不好 lucien 我覺得放 reference 有點太多 回報幾次那些 Meta 還可以調整 超: 回報幾次與時間的部分,跟內文比誰比較重要? 現在是重要性分三層 不然會很亂 orz 啊 看回報數是「可疑訊息」(還沒有回應)的時候比較重要一些 如果是「最新查核」我會看回應文字沒錯 lucien 我的「可疑訊息」 wireframe,時間擺得不太一樣 https://www.figma.com/file/ajFwwef2wqv5z4ydl0PgTZ/Wireframe-Dubious-Messages?node-id=0%3A1 先回去「最新查核」 訊息與回應都可能有斷行,原本可能有排版,現在會吃掉 我想把空白換成全形空格 點「閱讀全文」的時候才會變回原本排版的樣子 現在那個 upvote / downvote 有點太重 icon 與數字比例有點不一樣 ### Upvote / Downvote 理由 orz 我們要顯示 downvote 理由唷 ex: https://cofacts.g0v.tw/article/2e3iohcfzpgv 這裏的理由大戰 (?) 這等於回應的回應 lucien 理由要顯示在 list page 嗎 會不會太多 超 如果是 dialog 我覺得還行 "(why)" 的呈現也 ok lucien 中文寫什麼 orz "Why" 超 「不認同理由」或「反對理由」 orz 也可以做成 detail dialog 顯示 upvote 的人、與 downvote 的人 和理由 API 的 upvote 可以送理由,只是現在沒送 lucien 那我可以再出一個 dialog 超 但如果又一個專門的資訊頁面 會不會在列表拖太多東西 現在只呈現 downvote 的話,呈現比較輕快一些 lucien 不過這是點擊之後的細節,可以呈現多一點 超 大家會很 care 誰贊同嗎 lucien 像 FB 我們會去看 like / dislike 例如說這篇被某個厲害的編輯 upvote 了,會讓作者覺得有一種社交地位的感覺 超 那作法應該會像 FB app 這樣,數字不會顯示在 like button 旁邊 button 與數字放不同地方,顯示與操作分開 ### CTA「查核闢謠」按鈕 lucien 現在「查核闢謠」有點空 或許可以把 upvote, downvote, 查核闢謠放在同一排 超 可以 但「查核闢謠」是針對整個訊息,upvote / downvote 是針對個別回應 (還在調) ## 設計:Filter wireframe https://www.figma.com/file/5qegqv1g0fxCYkzNz3jVA6/Wireframe-Need-to-Review-Page?node-id=0%3A1 ### type filter 超 app 裡面有兩種複選機制很奇怪 "回應含有" 應該拉出來跟其他三項一樣 mobile 就多一行 況且 wireframe 現況,如果你四項都選,一樣也會佔一整行 orz 手機怎麼辦 ### Date filter orz 如果要 native date picker 的話,按下「自訂」之後應該只會有兩個 date input :::info 下次討論 ::: ### 主題 filter 超 collapse 底下,點擊主題之後會跳到左邊很討厭 orz 要不要把「展開」改成「設定」,主題預設就只寫「全部主題」? lucien 這樣就減少主題的曝光 超 如果主題的排序是有依據的(例如總篇數)那順序就沒啥問題 lucien 到底要不要複選 沒有複選就沒問題 超 可以複選,但應該用 button 叫出來 之後還能做「添加主題」、也能處理主題變多的狀況 orz 我們要顯示主題的定義嗎 article page add category 的時候會顯示在 dialog 裡 lucien 不希望太濫用 modal orz 那如果一樣列出主題,點到灰色(沒 highlight)的主題都是展開 收起的時候才把他排到第一個呢 lucien 可以考慮 他就是假的然後不能捲 可以只用純文字表達有哪些主題,不用都做成按鈕 超 可以就放「全部主題」純文字,不會是 tag 樣式 一整排就是一個按鈕 然後添加的時候通常是跳窗 lucien 不能用展開嗎 超 下滑的展開也可以啦 orz 可能要注意 tag 有點長,mobile 上面一行可能只有一個 tag lucien mobile 可能就直接開全頁了吧 mobile 比較常有這樣的互動 超 mobile 就直列然後一行一項吧 ## 設計:priority = navbar orz list page 做完後先做 search result 因為工程會先做 lucien search result 就是多個「搜回應」與「搜訊息」的 tab orz 下週開始會先做 nav bar logout 怎麼辦 改名字怎麼辦 lucien 點擊頭像可以 logout 或改名字 超 做了一個新的(右邊 drawer) 沒登入就點頭像的地方登入 footer 的東西塞進 drawer,原本 footer 可以只放 g0v logo ## 設計:「熱門訊息」 orz 「熱門訊息」感覺像是「可疑訊息」加一個 filter 我們會希望使用者先看 2 人以上回報的訊息 lucien 如果 sort by 最多人問呢 orz 最多人問的可能很久了,我就是不知道怎麼回所以才會放著,但他只會越來愈多人問 = 越來越上面 而且這種很多人問卻沒人回答的一定很難 會嚇跑新手編輯 所以現況是 filter 掉 1 人以上回報的,但還是按照時間排 lucien 但如果不先幫弄個頁面選好 filter,他就不知道要這樣選 其實當初「熱門訊息」是希望用 cron job 跑的 orz 那可能可以先拿掉 然後可疑訊息 default 成 2 人以上回報、未查核? lucien 要先選好這麼多嗎 是可以加上「熱門回報」這個選項,加入 replyRequestCount > N orz 當初做 replyRequestCount > N 是因為如果很多的話壓力會很大 所以預設會希望他 focus 在 replyRequest > N 的那種 只是現在剛好是 0 篇 lucien 但還是希望新使用者進來之後可以看得到東西,知道這裡是做什麼 orz 那或許可以 如果 1 則的篇數太多,就預設開啟「熱門回報」filter 然後有個 bubble 說「篇數太多了,希望大家專注在多人回報的訊息ㄛ」這樣 實作上就是 query 兩份表與 totalCount 放進 apollo cache UI 再決定要顯示哪個 其實就是現在這個 UI,但在數字太少的時候自動勾選 include messages reported only 1 time 這樣 lucien filter 太自由會很像工具,而現在是用 filter 會搞到 query 不出東西來 你那個需求比較像是要有個 tab「等待你闢謠」 article list 想說做給編輯以外,也可以知道這是什麼的人 orz 但來 article list 的應該都是想幫忙回應的人,想找答案的人幾乎都在 article detail 看答案 如果幫忙回應的人被數字嚇跑了也不太好 lucien 不過現在不會顯示數字 應該就還好? 所以理想上是 filter 是「還未有效查核」+「熱門詢問」 排序是「最近被詢問」 把這三個選項框起來出一頁「熱門回報」如何? 裡面就是只能篩主題跟時間 原本沒有用熱門回報是因為他是 sort 的一個選項,但考量到這些,確實很 tricky orz 可以呀~ 還可以有 badge 顯示數字 lucien 但是有時候會是 0 還是「熱門未查核訊息」獨立一頁,帶有 badge orz 有數字的時候顯眼一點,新手鼓勵去那一頁之類的 Lucien 知乎: ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_efcad88b9ff1b2a34494fad48d7db9d5) 「等你來答」,裡面會猜你擅長什麼來回 另外還有你被邀請回答的問題 另外還是有個首頁 Quora: ![](https://g0vhackmd.blob.core.windows.net/g0v-hackmd-images/upload_555f64187a4b185f25e2d96af238d405) 「要 Answer 就點這」,有 questions for you orz - (由定義命名) Recent urgent requests - (由定義命名) Asked by many recently - (由定義命名) Latest popular hoax - (我們希望傳達的 / 抄 quora) Hoaxes for you / You can reply this / Hoax to reply / Reply - (我們希望傳達的) Needs fact-check now - (由定義命名) 最新熱門回報 - (我們希望傳達的 / 騙人有個人化,總之快請進!) 猜你想回 - (我們希望傳達的 / 抄知乎) 等你來答 - (我們希望傳達的) 急需回覆 / 急需闢謠 - (我們希望傳達的) 優先處理 / 優先回應 / 優先闢謠 lucien 這樣列表空掉是不是編輯就會覺得都回完了 orz 可以呀,一人回報的本來就沒有什麼營養 可以等到有兩人回報再回 lucien 也可以在這一頁 load 到 0 筆資料的時候 自動放鬆 filter 成一篇就撈出來之類的 畢竟這一頁本來就不給他設定,所以可以自動

Import from clipboard

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lost their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.


Upgrade

All
  • All
  • Team
No template.

Create a template


Upgrade

Delete template

Do you really want to delete this template?

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

Sign in via GitHub

New to HackMD? Sign up

Help

  • English
  • 中文
  • 日本語

Documents

Tutorials

Book Mode Tutorial

Slide Example

YAML Metadata

Resources

Releases

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions

Versions

Upgrade now

Version named by    

More Less
  • Edit
  • Delete

Note content is identical to the latest version.
Compare with
    Choose a version
    No search result
    Version not found

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.