<https://github.com/cofacts/need-to-check-list-generator/pull/7|#7 Add Xlsx option>
Case study from Cofact Thailand *Chatbot side* Code changes: <https://github.com/opendream/rumors-line-bot/commit/22accd49813a36bd6220ecac05e5adcce3c59359|opendream@22accd4> • Uses <https://www.npmjs.com/package/image-hash|image-hash>, which is a perceptual hash • It stores a magic string (`$image__<hash>__<fileData.id>`) to database and also uses `$image__${hash}__${fileData.id}` to search database <https://user-images.githubusercontent.com/108608/127807053-ad3ef781-a167-4ecb-89ea-01f85e35e668.png|image> • For videos it <https://github.com/opendream/rumors-line-bot/commit/22accd49813a36bd6220ecac05e5adcce3c59359#diff-edc34d7ccf60e9b3765367e05768f82bd30e0dbba0628379d44c9b63299d8fa1R82|takes a screenshot at 6th second> and the image as its hash *Website side* • Uses google drive directly to host images & video <https://user-images.githubusercontent.com/108608/127807024-c7906bd8-4974-4a8d-8143-94a2f23633c0.png|image>
Image perceptual hash calculation in javascript
<https://github.com/cofacts/rumors-api/issues/259|#259 iOS 12 devices cannot login cofacts.tw>
No matter which domain they use, iOS 12 users are not able to login Cofacts, regardless of they logged in Cofacts in other devices before. <https://user-images.githubusercontent.com/108608/127894775-d495537e-4c9c-415c-8fc3-460ee8f19940.png|截圖 2021-08-03 上午12 34 35> *Root cause* iOS <=12 has a bug in its webkit core, which will interpret SameSite=None as SameSite=Strict. <https://medium.com/reactfunctioncomponentnote/samesite-%E4%B9%8B%E4%BA%82-f7e1645642bf|https://medium.com/reactfunctioncomponentnote/samesite-%E4%B9%8B%E4%BA%82-f7e1645642bf> When `SameSite=Strict`, browser will <https://blog.heroku.com/chrome-changes-samesite-cookie|not send cookie> even we are redirecting the whole page as long as the source (in this case, the authenticating service like FB, Google, etc) and destination URL (`<http://api.cofacts.tw/callback/*`|api.cofacts.tw/callback/*`>) are not in the same "site" (That is, `*.<http://cofacts.tw|cofacts.tw>`). Therefore, iOS 12 will not send session cookie to `/callback/*` endpoint, and the endpoint <https://github.com/cofacts/rumors-api/blob/master/src/auth.js#L250-L257|cannot proceed without such session keys>. *Proposed changes* Consider the following facts: • All cookies without SameSite flag will be `Lax` by default, which does not send cookie for cross-site "sub-requests" (images, frames) but allows cross-site cookies for navigations. Therefore, the default `SameSite=Lax` does not interfere OAuth login redirect. • In <https://github.com/cofacts/rumors-api/issues/250|#250> we have moved APIs and sites to the same site (`<http://cofacts.tw|cofacts.tw>`) by default. Therefore, Site <> API communication are all same-site requests • iOS <=12 should work on `<http://cofacts.tw|cofacts.tw>` without any SameSite flags (needs test) Therefore we should be able to *drop SameSite flag at once*. • Remove samesite logic • Remove related `COOKIE_SAMESITE_NONE` and HTTPS • For localhost development (`localhost` and staging API are definately cross-site), use `/api` proxy in localhost environment (See Method 2 in <https://github.com/cofacts/rumors-api/issues/186#issuecomment-644612628|#186 (comment)> )
Proposal to allow specifying a text snippet in a URL fragment
xda-developers
Google Chrome 90 now lets you share highlighted text on web pages
Google Chrome 90 is bringing a neat feature that will let you link people to a specific part on a web page. Read on to know more.
facebook.com
See posts, photos and more on Facebook.
創業第一站|簡單創
【 商標查詢、檢索】商標保護前最重要的步驟 | 附國際商標查詢
商標查詢檢索是商標註冊的前哨戰,而商標查詢檢索是確保你的商標尚未有人持有。雖商標查詢看似簡單,但許多眉角,如商標識別性的判斷、商標構成混淆、商標如何有效檢索、商標指定商品類別的挑選。要自行申請若侵犯到別人的商標可是吃不完兜著走的啊。
<https://github.com/cofacts/rumors-site/pull/440|#440 [Trivial] Update URL constants>
Since we are using <http://cofacts.tw|cofacts.tw> as primary URL, we should change the legacy URLs in the codebase to <http://cofacts.tw|cofacts.tw>.
g0v.hackmd.io
<https://github.com/cofacts/rumors-site/pull/440|#440 [Trivial] Update URL constants>
*Features* • Adjust date formatting • `format()` will give "OOO ago" or a fixed date • relative date & fixed date threshold is identical to rumors-site's (48 hours) <https://user-images.githubusercontent.com/108608/128608868-e96667eb-730c-4b43-bd08-b45c7eb5bf55.png|圖片> <https://user-images.githubusercontent.com/108608/128608524-5c783472-7976-41be-bd92-5663dd87a0b5.png|圖片> *Cleanups* • Upgrade ttag to include <https://github.com/ttag-org/ttag-cli/pull/116|ttag-org/ttag-cli#116> • Remove sass-loader, which was added due to svelte-material-ui and should be removed as we no longer uses smui.
:white_check_mark: All checks have passed
*Pull Request Test Coverage Report for <https://coveralls.io/builds/41979244|Build 1108371032>* • *6* of *6* *(100.0%)* changed or added relevant lines in *1* file are covered. • No unchanged relevant lines lost coverage. • Overall coverage increased (+*0.06%*) to *87.233%* * * * * * * *:yellow_heart: - <https://coveralls.io|Coveralls>*
*Pull Request Test Coverage Report for <https://coveralls.io/builds/41979255|Build 1108381223>* • *0* of *0* changed or added relevant lines in *0* files are covered. • No unchanged relevant lines lost coverage. • Overall coverage remained the same at *87.233%* * * * * * * *:yellow_heart: - <https://coveralls.io|Coveralls>*
<https://github.com/cofacts/rumors-site/pull/442|#442 Make ellipsis URLs copyable>
Currently when we copy links from "References" directly, we often copy the URLs with ellipsis in the middle, thus breaks the links. This PR adjusted how ellipsis URLs are rendered so that when user selects the text and press "copy", the full URLs are copied instead. Technically it is replacing `slice` + `...` with rendering the full URL + ellipsis with CSS. *Can select & copy* Notice that the "..." in the URLs are gone when pasted. <https://user-images.githubusercontent.com/108608/128640745-d3f76a95-a7da-4885-acb9-279c6ec70fb3.gif|copy-paste-full-urls> *Works in narrow screens* <https://user-images.githubusercontent.com/108608/128640449-b290451a-3f0e-4b3f-8f0d-0d501f412592.gif|url-shrink>
<https://github.com/cofacts/rumors-site/pull/442|#442 Make ellipsis URLs copyable>
<https://github.com/cofacts/rumors-line-bot/pull/277|#277 Article page>
*Pull Request Test Coverage Report for <https://coveralls.io/builds/42010349|Build 1113928653>* • *0* of *0* changed or added relevant lines in *0* files are covered. • No unchanged relevant lines lost coverage. • Overall coverage remained the same at *87.233%* * * * * * * *:yellow_heart: - <https://coveralls.io|Coveralls>*
<https://github.com/cofacts/rumors-line-bot/pull/278|#278 Revamp viewed articles list>
<https://github.com/cofacts/rumors-fb-bot/pull/26|#26 Bump path-parse from 1.0.5 to 1.0.7>
Bumps <https://github.com/jbgutierrez/path-parse|path-parse> from 1.0.5 to 1.0.7. Commits • See full diff in <https://github.com/jbgutierrez/path-parse/commits/v1.0.7|compare view> <https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores|Dependabot compatibility score> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. * * * Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: • `@dependabot rebase` will rebase this PR • `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it • `@dependabot merge` will merge this PR after your CI passes on it • `@dependabot squash and merge` will squash and merge this PR after your CI passes on it • `@dependabot cancel merge` will cancel a previously requested merge and block automerging • `@dependabot reopen` will reopen this PR if it is closed • `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually • `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) • `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) • `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) • `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language • `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language • `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language • `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the <https://github.com/cofacts/rumors-fb-bot/network/alerts|Security Alerts page>.
g0v.hackmd.io
<https://github.com/cofacts/takedowns/pull/16|#16 Create 0811-ads.md>
<https://github.com/cofacts/takedowns/pull/16|#16 Create 0811-ads.md>
Review on #442 Make ellipsis URLs copyable
LGTM!
<https://github.com/cofacts/rumors-site/issues/370|#370 "I checked" Button has invalid>
<https://github.com/cofacts/rumors-site/pull/442|#442 Make ellipsis URLs copyable>
<https://github.com/cofacts/rumors-site/pull/443|#443 Bump next from 9.3.2 to 11.1.0>
Bumps <https://github.com/vercel/next.js|next> from 9.3.2 to 11.1.0. Release notes _Sourced from <https://github.com/vercel/next.js/releases|next's releases>._ > *v11.1.0* > > A security team from one of our partners noticed an issue in Next.js that allowed for an open redirect to occur. > > Specially encoded paths could be used when `pages/_error.js` was statically generated allowing an open redirect to occur to an external site. > > In general, this redirect does not directly harm users although can allow for phishing attacks by redirecting to an attacker's domain from a trusted domain. > > We recommend upgrading to the latest version of Next.js to improve the overall security of your application. > > *How to Upgrade* > > • We have released patch versions for both the stable and canary channels of Next.js. > • To upgrade run `npm install next@latest --save` > > *Impact* > > • *Affected:* Users of Next.js between 10.0.5 and 10.2.0 > • *Affected:* Users of Next.js between 11.0.0 and 11.0.1 using `pages/_error.js` without `getInitialProps` > • *Affected:* Users of Next.js between 11.0.0 and 11.0.1 using `pages/_error.js` and `next export` > • *Not affected*: Deployments on Vercel (<https://vercel.com|vercel.com>) are not affected > • *Not affected:* Deployments *with* `pages/404.js` > > We recommend everyone to upgrade regardless of whether you can reproduce the issue or not. > > *How to Assess Impact* > > If you think sensitive code or data could have been exposed, you can filter logs of affected sites by `//` (double slash at the start of the url) followed by a domain. > > *What is Being Done* > > As Next.js has grown in popularity and usage by enterprises, it has received the attention of security researchers and auditors. We are thankful to Gabriel Benmergui from Robinhood for their investigation and discovery of the original bug and subsequent responsible disclosure. > > We've landed a patch that ensures path parsing is handled properly for these paths so that the open redirect can no longer occur. > > Regression tests for this attack were added to the <https://github.com/zeit/next.js/blob/canary/test/integration/production/test/security.js|security> integration test suite > > • We have notified known Next.js users in advance of this publication. > • A public CVE was released. > • We encourage responsible disclosure of future reports. Please email us at `<mailto:security@vercel.com|security@vercel.com>`. We are actively monitoring this mailbox. > > * * * > > *Release notes* > *Core Changes* > > • Don't test image domains in test env: <https://github-redirect.dependabot.com/vercel/next.js/issues/26502|#26502> > • Fix props not updating when changing the locale and keeping hash: <https://github-redirect.dependabot.com/vercel/next.js/issues/26205|#26205> > • Allow user to override next-image-loader: <https://github-redirect.dependabot.com/vercel/next.js/issues/26548|#26548> > • Add logging when a custom babelrc is loaded: <https://github-redirect.dependabot.com/vercel/next.js/issues/26570|#26570> ... (truncated) Commits • <https://github.com/vercel/next.js/commit/ce4adfc02d3532e2c62ed8088660df1655e66278|`ce4adfc`> v11.1.0 • <https://github.com/vercel/next.js/commit/092a476feb0d479d5a1d078e2e1f78ef93f092c2|`092a476`> v11.0.2-canary.31 • <https://github.com/vercel/next.js/commit/ebb6a303700df09b83ebe49f23b7641c9573377c|`ebb6a30`> Revert "Add warning during `next build` when sharp is missing (<https://github-redirect.dependabot.com/vercel/next.js/issues/27933|#27933>)" • <https://github.com/vercel/next.js/commit/52486ceccf59ca05f2f9d3ee428813cddaa85654|`52486ce`> v11.0.2-canary.30 • <https://github.com/vercel/next.js/commit/8ac3254d25725ccc171c6879f7dfc649cdb946bd|`8ac3254`> Revert "Next swc publish flow (<https://github-redirect.dependabot.com/vercel/next.js/issues/27932|#27932>)" • <https://github.com/vercel/next.js/commit/6014b6e0f82bd29b57e148bf0e6f404784297d27|`6014b6e`> v11.0.2-canary.29 • <https://github.com/vercel/next.js/commit/4cd45aabcffc5adeb339703bb8c14e3069ba3de8|`4cd45aa`> Add rootDir setting to eslint-plugin-next (<https://github-redirect.dependabot.com/vercel/next.js/issues/27918|#27918>) • <https://github.com/vercel/next.js/commit/e61ea6f27b7bf34b00ffd3f59f2326b3bbbdfa48|`e61ea6f`> Add manifest check step and add missing items (<https://github-redirect.dependabot.com/vercel/next.js/issues/27934|#27934>) • <https://github.com/vercel/next.js/commit/94fc6f0832a81ab68b393a8d45f42493429d04ee|`94fc6f0`> Next swc publish flow (<https://github-redirect.dependabot.com/vercel/next.js/issues/27932|#27932>) • <https://github.com/vercel/next.js/commit/51a2a028ddcc321aac4744b777df2b4e96511b83|`51a2a02`> Add warning during `next build` when sharp is missing (<https://github-redirect.dependabot.com/vercel/next.js/issues/27933|#27933>) • Additional commits viewable in <https://github.com/vercel/next.js/compare/v9.3.2...v11.1.0|compare view> <https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores|Dependabot compatibility score> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. * * * Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: • `@dependabot rebase` will rebase this PR • `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it • `@dependabot merge` will merge this PR after your CI passes on it • `@dependabot squash and merge` will squash and merge this PR after your CI passes on it • `@dependabot cancel merge` will cancel a previously requested merge and block automerging • `@dependabot reopen` will reopen this PR if it is closed • `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually • `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) • `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) • `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) • `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language • `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language • `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language • `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the <https://github.com/cofacts/rumors-site/network/alerts|Security Alerts page>.
Docker Blog
Changes to Docker Hub Autobuilds - Docker Blog
Learn from Docker experts to simplify and advance your app development and management with Docker. Stay up to date on Docker events and new version announcements!
<https://github.com/cofacts/rumors-line-bot/pull/277|#277 Article page>
<https://github.com/cofacts/rumors-line-bot/pull/278|#278 Revamp viewed articles list>
Cloudflare
HTTP/2 Server Push Service | Cloudflare
Server Push is a feature of HTTP/2 that allows a server or edge network to send resources back to a web browser even though it didn’t ask for them.
<https://github.com/cofacts/rumors-api/pull/261|#261 GitHub actions>
Since both <http://travis.org|travis.org> & docker hub has stopped free builds, we are migrating CI & build to github actions instead.
:white_check_mark: All checks have passed
<https://coveralls.io/builds/42154042|Coverage Status> Coverage decreased (-0.05%) to 86.147% when pulling *<https://github.com/cofacts/rumors-api/commit/b472b8a6f0b3f1638536beb9c759497b2291bd96|b472b8a> on github-actions* into *<https://github.com/cofacts/rumors-api/commit/c71eddb5656699e12fb27e4ff26aa6e8a0d485cd|c71eddb> on master*.
<https://github.com/cofacts/rumors-api/pull/261|#261 GitHub actions>
<https://github.com/cofacts/rumors-site/pull/444|#444 Add github workflow>
Since both <http://travis.org|travis.org> & docker hub has stopped free builds, we are migrating CI & build to github actions instead.
:white_check_mark: 2 other checks have passed
<https://coveralls.io/builds/42154787|Coverage Status> Coverage increased (+0.1%) to 86.17% when pulling *<https://github.com/cofacts/rumors-api/commit/1c2d46e5ed82de86b8e500d835187209aa23a85b|1c2d46e> on openpeeps* into *<https://github.com/cofacts/rumors-api/commit/5e1fbd126ffc46a0f6b0e54009599b6321e81ab7|5e1fbd1> on master*.
Conclusion: According to <https://g0v.hackmd.io/Nhc9MnskSsGvUqntz0z7Dg#iOS12-%E7%99%BB%E5%85%A5%E5%95%8F%E9%A1%8C|0804 discussion> We will detect iOS <= 12 with `user-agent` header and do not set same-site flag if iOS <= 12 is detected.
<https://github.com/cofacts/takedowns/pull/17|#17 Merge pull request #16 from cofacts/20210811-ads>
Create 0811-ads.md
Review on #17 Merge pull request #16 from cofacts/20210811-ads
Review on #17 Merge pull request #16 from cofacts/20210811-ads
<https://github.com/cofacts/takedowns/pull/17|#17 Merge pull request #16 from cofacts/20210811-ads>
也許可以試試看這個? 中文版: 可以說明一下為什麼對您有幫助呢? 什麼都可以喔! 您的回應將幫助CoFacts做出更對大家更有幫助的聊天機器人! 英文版: Care to tell us why you upvoted it? Anything is highly appreciated! Your comments here help CoFacts chatbot grow smarter and more helpful.
感謝 <https://github.com/husohome|@husohome> 的提案~~ 目前這個頁面長這樣,外觀拉過皮但文字一樣:<https://www.figma.com/file/DvmAQjMJCncuPORWKnljM1/Cofacts-LIFF?node-id=3042%3A2|https://www.figma.com/file/DvmAQjMJCncuPORWKnljM1/Cofacts-LIFF?node-id=3042%3A2> <https://user-images.githubusercontent.com/108608/130313748-9207950c-d192-4da2-ae43-0e4ea5726e10.png|圖片> 似乎可以把提問(textarea 外粗體)的部分填入「可以說明一下為什麼對您有幫助呢?」 然後「什麼都可以喔!⋯⋯!」引導的部分放在 textarea 裡面作為 placholder。 好像可以在引導文字裡面提醒使用者,他寫的話會被背後的志工編輯看到,也可以鼓勵使用者謝謝他?這樣志工編輯看到應該會很開心 :smiley:
另一個我有想過的,比較懶人但可以解決使用者填「沒有」的作法是 在引導文字後面加上 `(選填)` 但或許這樣大家就不填了 XDD
還是有一些罐頭選項?像ubereats那樣,如果你幫外送員按讚,畫面就會出現五個選項 準時送達、送得很細心等等 也許可以讓使用者按一些罐頭選項 然後textarea的內容就會 += 選項內容 可是這些罐頭選項本身可能也是要蒐集夠多回應之後才能整理出來 T_T
<https://g0v.hackmd.io/LpBtA5-CT-m0XmlqpsdWEQ#Case-study-Twitter-birdwatch|Twitter birdwatch> 也有選項可以選 按下去可以加字的樣板選項聽起來很不錯!
<https://coveralls.io/builds/42393137|Coverage Status> Coverage increased (+0.02%) to 75.261% when pulling *<https://github.com/cofacts/rumors-site/commit/6064b1aa980ccd2e722a864ef0d935571fe846d2|6064b1a> on unify-reply-type-title* into *<https://github.com/cofacts/rumors-site/commit/07c6a23710aab7d4f0e2fdd7f9770189d2096d78|07c6a23> on master*.
• move `createTypeWords` to under `lib/sharedUtils` so that LIFF can also use it • add reply type icons, which supports strokes around the icon *Icons* <https://user-images.githubusercontent.com/108608/130742347-c16a4b9d-8f09-4b3a-a4b6-ece68e6231a7.gif|borderwidths> <https://user-images.githubusercontent.com/108608/130742413-3853131a-68e4-402b-b1f5-4e750df4845d.png|image>
:white_check_mark: All checks have passed
*Pull Request Test Coverage Report for <https://coveralls.io/builds/42394344|Build 1165524546>* • *6* of *6* *(100.0%)* changed or added relevant lines in *1* file are covered. • No unchanged relevant lines lost coverage. • Overall coverage remained the same at *87.233%* * * * * * * *:yellow_heart: - <https://coveralls.io|Coveralls>*
*Pull Request Test Coverage Report for <https://coveralls.io/builds/42394432|Build 1165538318>* • *0* of *0* changed or added relevant lines in *0* files are covered. • No unchanged relevant lines lost coverage. • Overall coverage remained the same at *87.233%* * * * * * * *:yellow_heart: - <https://coveralls.io|Coveralls>*
Design doc & alternatives in different perspective <https://g0v.hackmd.io/aJqHn8f5QGuBDLSMH_EinA|https://g0v.hackmd.io/aJqHn8f5QGuBDLSMH_EinA>
• Implement `linkify()` and its unit test • Apply `linkify()` reference section • All links should open in new tab *Storybook* <https://user-images.githubusercontent.com/108608/131356823-a701a0ab-4ccd-451c-8b3c-e9eac1fa2ab5.png|image> *Actual look* <https://user-images.githubusercontent.com/108608/131357477-54837c13-9888-427d-9fef-e35c31c11a96.png|image>
:white_check_mark: All checks have passed
Refactor LIFF's `FeedbackForm` to use `vote` (`UPVOTE` | `DOWNVOTE` | null) instead of `score` (1 | -1), because `score` is actually a deprecated field of `ArticleReplyFeedback` in <https://dev-api.cofacts.tw/|Cofacts API>. There should be no visual change in this PR, and existing functionality should not break.
:white_check_mark: All checks have passed
*Pull Request Test Coverage Report for <https://coveralls.io/builds/42511617|Build 1182590684>* • *7* of *7* *(100.0%)* changed or added relevant lines in *1* file are covered. • No unchanged relevant lines lost coverage. • Overall coverage increased (+*0.09%*) to *87.326%* * * * * * * *:yellow_heart: - <https://coveralls.io|Coveralls>*