Skip to content

MewMewNotification is a simple, multi-language Chrome extension that instantly notifies you of Redmine issue updates, with flexible notification management and project filtering features. MewMewNotification 是一款簡單易用、支援多語言的 Chrome 擴充功能,能即時通知你 Redmine 上的議題更新,並提供彈性通知管理與專案過濾功能。

License

Notifications You must be signed in to change notification settings

CosmosChiang/MewMewNotification

Repository files navigation

MewMewNotification

MewMewNotification Logo

English README

MewMewNotification 是一款簡單易用、支援多語言的 Chrome 擴充功能,能即時通知你 Redmine 上的議題更新,並提供彈性通知管理與專案過濾功能。


螢幕截圖範例

設定頁面 通知彈窗


🚀 主要功能

  • 即時檢查 Redmine 議題更新,支援自訂檢查間隔(1分鐘-60分鐘)
  • 桌面通知與聲音提示,重要訊息不漏接
  • 30秒連線超時保護,避免連線卡住
  • API 金鑰安全儲存於瀏覽器同步儲存空間
  • 一鍵標記所有通知為已讀,或清除所有通知
  • 支援多語系介面(繁體中文、簡體中文、日文、英文,並可自行擴充)
  • 直接連結 Redmine 議題頁面,快速追蹤
  • 專案過濾:可選擇只顯示分配給自己的議題,或包含關注的議題
  • 自動偵測議題更新,智慧通知管理
  • 徽章計數器顯示未讀通知數量

🛠 安裝與設定

  1. 於 Chrome 線上應用程式商店安裝本擴充功能,或手動載入解壓縮套件。
  2. 右鍵點擊瀏覽器右上角 MewMewNotification 圖示,選擇「選項」,或點擊彈出視窗中的設定按鈕。
  3. 在設定頁面輸入你的 Redmine 伺服器網址(Redmine URL)及 API 金鑰(API Key)。
    • API 金鑰可於 Redmine 個人帳號設定頁面取得。
  4. 設定通知檢查間隔、最大通知數量、語言、專案過濾等偏好。
  5. 儲存設定並可點擊「測試連線」確認設定正確。

🔔 通知管理

  • 支援「全部標記為已讀」與「清除所有通知」兩種管理方式:
    • 全部標記為已讀:僅將所有通知設為已讀,保留通知紀錄,方便日後查閱。
    • 清除所有通知:徹底刪除所有通知,清空通知列表,無法復原。
    • 兩者皆可一鍵操作,並會即時更新通知狀態。
  • 可手動重新整理通知
  • 支援通知失敗重試與錯誤提示

🌐 多語言支援

  • 內建繁體中文、簡體中文、日文、英文
  • 可依照多語言支援指南自訂新增語言
  • 語言選單自動依 manifest 與 _locales 資料夾動態生成

🧑‍💻 開發者安裝與打包流程

  1. 下載或 fork 本專案原始碼。
  2. 於專案根目錄執行 npm install 安裝依賴(如有 package.json)。
  3. 開發時可直接在 Chrome 擴充功能頁面載入「未封裝」模式:
    • 進入 chrome://extensions/
    • 開啟「開發人員模式」
    • 點擊「載入已解壓縮的擴充功能」,選擇本專案資料夾
  4. 修改程式後可直接重新整理擴充功能。
  5. 打包發佈:
    • 將專案資料夾壓縮為 zip 檔
    • 上傳至 Chrome Web Store 或手動分發

🤝 如何貢獻程式碼

  1. fork 本專案並建立新分支。
  2. 提交你的修改(請盡量附上說明與測試案例)。
  3. 發送 Pull Request,並描述你的改動內容。
  4. 維護者會審查並合併你的貢獻。

🔒 權限說明

  • storage:儲存使用者設定(包括 API 金鑰)
  • notifications:顯示桌面通知
  • activeTab:開啟 Redmine 相關頁面
  • host_permissions:存取你的 Redmine 伺服器(支援 HTTP 和 HTTPS 連線)

⚠️ 安全提醒: HTTP 連線未加密,生產環境建議使用 HTTPS


❓ 常見問題

Q: API 金鑰如何取得?

A: 登入 Redmine,點選右上角「我的帳號」,即可在頁面下方找到 API 金鑰。

Q: 為什麼沒有收到通知?

A: 請確認 Redmine URL 與 API Key 是否正確,且瀏覽器允許本擴充功能顯示通知。可點擊「測試連線」確認設定。

Q: 如何只看分配給我的議題?

A: 在設定頁的「通知」分頁中啟用「只顯示分配給我的議題」選項。

Q: 如何包含我關注的議題?

A: 在設定頁的「通知」分頁中啟用「包含我關注的議題」選項。

Q: 如何新增語言?

A: 請參考 多語言支援指南 說明。

Q: 為什麼連線會超時?

A: 擴充功能設有 30 秒連線超時保護,如果你的 Redmine 伺服器響應較慢,請檢查網路連線或聯絡管理員。

Q: API 金鑰安全嗎?

A: 是的,API 金鑰安全儲存在瀏覽器的同步儲存空間中,並支援跨裝置同步。我們實施了多層安全防護:

  • 嚴格的輸入驗證和過濾
  • XSS 和注入攻擊防護
  • 內容安全政策 (CSP) 保護
  • 瀏覽器同步儲存空間的安全儲存

Q: 擴充功能如何防護安全威脅?

A: MewMewNotification 實施了全面的安全措施:

  • XSS 防護:使用安全的 DOM 操作,自動轉義所有用戶輸入
  • 輸入驗證:嚴格驗證所有 URL、API 金鑰和配置參數
  • API 安全:白名單限制可訪問的 Redmine API 端點
  • 傳輸安全:強制使用 HTTPS 協議,拒絕不安全連線
  • 安全儲存:敏感數據安全儲存在瀏覽器的同步儲存空間

📄 License

本專案採用 MIT 授權條款

© 2025 MewMewNotification

About

MewMewNotification is a simple, multi-language Chrome extension that instantly notifies you of Redmine issue updates, with flexible notification management and project filtering features. MewMewNotification 是一款簡單易用、支援多語言的 Chrome 擴充功能,能即時通知你 Redmine 上的議題更新,並提供彈性通知管理與專案過濾功能。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published