搜尋
首頁web前端js教程恢復過時的項目

恢復過時的項目

Jan 22, 2025 am 06:30 AM

這週,我對 Starchart 做了一些維護工作。該專案已經有一段時間沒有工作了,所以我們正在嘗試更新它的依賴項。

GitHub logo 發展空間 / 澱粉藝術

用於管理自訂網域和憑證的自助服務工具

星圖License: MIT

Starchart 讓 Seneca 開發者社群可以輕鬆建立和管理自己的自訂子網域和 SSL 證書,無需付費或無需提供個人資訊。

有關運行 Starchart 的信息,請參閱我們的部署指南。有關開發訊息,請參閱我們的貢獻指南。有關更多技術背景、規劃和初始設計,請參閱 wiki。

簡介

網路不斷發展,曾經困難的事情變得簡單。例如,託管自己的網站過去需要伺服器管理、作業系統、網路等方面的知識。如今,許多開發人員託管他們的個人和專案網站而無需接觸遠端伺服器,而是選擇(免費)雲端服務,例如 GitHub Pages、 Vercel、Netlify 或 AWS。

網路的安全模型也不斷發展。例如,瀏覽器供應商已在各地採用 HTTPS。這對於安全性很有好處,因為它可以在客戶端和伺服器之間實現基於憑證的加密。然而,就像…

在 GitHub 上查看

計劃是修復 CI 工作流程,我們上週發現該工作流程已被破壞:

Image description

但在我找到解決方案之前,之前的開發人員之一 Eakam 解決了這個問題 - 事實證明這只是因為 Playwright 已經過時了。

恢復過時的項目 將劇作家提升至 1.49.1 第772章

恢復過時的項目
埃卡姆1007 發佈於

Playwright 安裝在 CI(E2E 測試)中失敗。修改劇作家版本應該可以解決這個問題。

參考: Installation error log

在 GitHub 上查看

我覺得我應該透過尋找更多的東西來彌補它,並認為更新更多的依賴項將是一個很好的起點。

由於該專案已經兩年沒有投入使用,因此存在大量由過時的軟體包引起的安全漏洞。我能夠透過 npm 審核修復修復大部分問題。

還有一些修復導致了 @remix-run/eslint-config 和 @remix-run/react 中的重大更改,所以我手動修改了它們。

其中一個更新(我同時更新了它們,所以我不能肯定地說,但我的賭注是/react)導致了類型檢查錯誤,因為[@remix-run/react].useNavigation( ).formData 現在可能是未定義的類型。我用可選鏈修復了它。

// Before
const isLoading =
  navigation.state === 'submitting' &&
  Number(navigation.formData.get('id')) === dnsRecord.id;

// After
const isLoading =
  navigation.state === 'submitting' &&
  Number(navigation.formData?.get('id')) === dnsRecord.id;

我所做的其他更改與彈出的一些lint 錯誤有關(此時我意識到我已經關閉了ESLint 擴展,但我確信這些警告會隨更新一起出現,因為它在CI 中從未發生過)過去)。

  1. 在一個檔案中多次匯入相同模組的實例:
// Before
import { getCertificateByUsername } from '~/models/certificate.server';
import { deleteCertificateById } from '~/models/certificate.server';
import { isAdmin } from '~/models/user.server';
import { getUserByUsername } from '~/models/user.server';

// After
import { getCertificateByUsername, deleteCertificateById } from '~/models/certificate.server';
import { isAdmin, getUserByUsername } from '~/models/user.server';
  1. 當首選 const 時使用 let:
// Before
let date = val.toLocaleDateString('en-US', {

// After
const date = val.toLocaleDateString('en-US', {

很驚訝它之前沒有捕捉到這些。

此外,當我打開 ESLint 擴充功能時,我有點吃驚,因為有大約 900 個 linter 錯誤。事實證明,這是因為 ESLint 對 Playwright 產生的輸出進行了 linting。所以我將 /playwright-report 加入到 .eslintignore。

這就是我這次衝刺的維護工作的總和。最終修復了 30 個嚴重的安全問題,所以還不錯。

恢復過時的項目 更新依賴項 第775章

恢復過時的項目
烏代拉納 發佈於

應該要修復一堆安全漏洞。

變化

  • [x] 凹凸​​依賴項
  • [x] 將 /playwright-report 加入 .eslintignore
  • [x] 修正類型檢查和 linter 錯誤
在 GitHub 上查看

我還重新啟動了 Dependabot,它更新了幾個小版本。如果不必手動調查和修補安全漏洞,那就太好了。

在其他新聞中,我向 Mattermost 發出的一個拉取請求終於被合併了!

恢復過時的項目 [GH-29548] 避免在 `tokens_store.go` 中使用 SELECT * #29558

恢復過時的項目
烏代拉納 發佈於

總結

此公關:

  • 將 token_store.go 中的 SQL 查詢切換為使用 SQLBuilder
  • 在 TokenStore 的 SELECT 查詢中明確定義列。
  • 將常見查詢分解到建構函式中。

門票連結

修補#29548

截圖

發行說明

// Before
const isLoading =
  navigation.state === 'submitting' &&
  Number(navigation.formData.get('id')) === dnsRecord.id;

// After
const isLoading =
  navigation.state === 'submitting' &&
  Number(navigation.formData?.get('id')) === dnsRecord.id;
在 GitHub 上查看

不久前就已獲得批准,但花了幾週時間才合併到 main 中。

與此同時,我一直在致力於我的其他公關工作。我被要求進行一些更改,正在等待重新審核。

恢復過時的項目 [MM-53650] 為 webapp 新增禁用表情渲染設定 #29414

恢復過時的項目
烏代拉納 發佈於

總結

此拉取請求向 Web 應用程式新增了一個使用者設置,以將渲染表情符號 (:D) 切換為表情符號 (?)。

該設定會作為元件加入 Components/user_settings/display/render_emoticons_as_emoji/ 中,並在 Components/user_settings/display/user_settings_display.tsx 中匯入。

我在 user_settings_display.tsx 中新增了一個 renderOnOffLabel() 函數,該函數從 Components/user_settings/advanced/user_settings_advanced.tsx 中提取,以幫助渲染新元件。

使用 savePreferences() 操作將設定儲存為使用者首選項。

我已經為 utils/constants.tsx 和 webapp/channels/src/packages/mattermost-redux/src/constants/preferences.ts 增加了偏好常數。

為了實際使用該設置,我修改了 Components/post_markdown 以接收它的值作為道具,為此我使用了 getBool() 並向配置添加了預設值。 post_markdown 將此值傳遞給選項物件上的 Markdown,然後將其傳遞給 utils/text_formatting.tsx,最後將該值作為新新增的參數傳遞給 emoticons.tsx。 emoticons.tsx 檢查該值是否為 true,如果是,則將表情符號轉換為表情符號。

我已經更新了受影響的測試並為新組件建立了單元測試。我還更新了英文翻譯文件。

QA 測試步驟
  1. 導航至使用者設定。
  2. 轉到顯示類別。
  3. 找到標示為「自動將表情符號渲染為表情符號」的部分,然後按一下「編輯」。
  4. 切換設定並點選「儲存」。
  5. 應使用該設定在客戶端切換當前使用者和其他使用者發送的訊息上的表情符號渲染。

門票連結

修復(部分)https://github.com/mattermost/mattermost/issues/26504 Jira https://mattermost.atlassian.net/browse/MM-53650

注意問題和票證也描述了將此功能添加到行動應用程式中,但此 PR 沒有。

截圖

before after
恢復過時的項目 恢復過時的項目

發行說明

// Before
const isLoading =
  navigation.state === 'submitting' &&
  Number(navigation.formData.get('id')) === dnsRecord.id;

// After
const isLoading =
  navigation.state === 'submitting' &&
  Number(navigation.formData?.get('id')) === dnsRecord.id;
在 GitHub 上查看

處理這個 PR 很有趣,因為當我第一次提交它時,我什至不完全理解我的更改。離開很長一段時間後重新回到它並得到評論的反饋幫助我從一個新的角度看待它並更好地理解它。

Mattermost 應用程式從「首選項」和「設定」取得使用者設定狀態。我將我的設置添加到兩者中,模仿建議我參考的現有設置之一,但事實證明“配置”用於伺服器級設置,而這個新設置旨在成為客戶端選項。這些評論幫助我了解了我哪裡出錯了,而且實際上最終的改變比我認為必要的要小。

總的來說,我想說這是相當有成效的一周。

以上是恢復過時的項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Java vs JavaScript:開發人員的詳細比較Java vs JavaScript:開發人員的詳細比較May 16, 2025 am 12:01 AM

javaandjavascriptaredistinctlanguages:javaisusedforenterpriseandmobileapps,while javascriptifforInteractiveWebpages.1)JavaisComcompoppored,statieldinglationallyTypted,statilly tater astrunsonjvm.2)

JavaScript數據類型:瀏覽器和nodejs之間是否有區別?JavaScript數據類型:瀏覽器和nodejs之間是否有區別?May 14, 2025 am 12:15 AM

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。