Skip to content

Releases

Web v2.8.7 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 12 Nov 08:42

🌸 Dodo Ledger 網頁端 v2.8.7 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.7] - 2026-11-12

📱 修復手機端「錢包」與「明細」換頁後無法立即捲動問題,並支援非 HTTPS 區網預覽密碼驗證 (Web 端更新)

  • 消除雙層滾動容器觸控手勢搶奪 (Scroll Latching Fix):
    • 移除 App.vue 中 .app-main-content 多餘的 overflow-y: auto 屬性,統一由 window 作為全域唯一垂直捲動容器。
    • 將 src/style.css 中 body 的 overflow-x: hidden 升級為 html, body { overflow-x: clip },避免瀏覽器依 CSS 規範將 body 的 overflow-y 自動強制轉為 auto 而形成隱藏的第二層捲動容器。
    • 移除 .pop-jelly-mild 進場動畫的 forwards 屬性,解決換頁瞬間因 translateY(16px) 造成內層容器產生短暫垂直溢位、進而把手機第一次滑動手勢鎖死(Latch)在內層容器導致畫面滑不動的問題。
  • 帳戶選取器 (AccountPicker.vue) 觸控手勢與橫向捲動優化:
    • 將 .acct-card 的 touch-action: pan-x 修正為 touch-action: manipulation,解決手機手指落點在帳戶卡片區域時垂直捲動(pan-y)被瀏覽器阻斷的問題。
    • 重構 scrollToSelectedAccount,改為僅針對橫向容器 .picker-scroll 執行 container.scrollTo({ left }) 定位,取代原先會連帶觸發並劫持全頁 window 垂直平滑滾動的 scrollIntoView。
  • 分頁切換捲動重設與被動監聽優化:
    • App.vue 的 setTab 在切換至不同分頁時自動將頁面捲動位置重設回頂部(top: 0),中斷前一分頁殘留的手機慣性滾動,避免換頁後直接卡在新頁面底部。
    • TransactionList.vue 的 scroll 監聽補齊 { capture: true, passive: true },確保不阻塞行動端觸控合成執行緒。
  • 非 HTTPS 區網預覽環境 SHA-256 密碼鎖相容性修復 (useAppLock.ts):
    • 補齊標準純 JS SHA-256 演算法作為非安全環境(如區網 IP http://10.x.x.x 預覽,window.crypto.subtle 為 undefined)之 Fallback,解決區網 HTTP 預覽無法通過全域密碼驗證的問題,並消除建置時 crypto 外部化警告。

Web v2.8.6 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 19 Oct 00:38

🌸 Dodo Ledger 網頁端 v2.8.6 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.6] - 2026-10-19

📅 記帳日期本地時區偏差修復、Tab 切換自動校正與「回到今天」快捷鍵 (Web 端更新)

  • 本地時間精準日期演算 (Local Date Precision & Anti-UTC Shift):
    • 徹底解決原程式碼使用 new Date().toISOString().split('T')[0] 導致在台灣等 UTC+8 地區於每日清晨(00:00~07:59)打開記帳時日期錯誤落在「昨天」的重大缺陷。
    • 建立專屬日期工具模組 src/utils/date.ts,提供 formatLocalDate、getTodayLocalDateString、getYesterdayLocalDateString、isDateToday 與 parseLocalDateToTimestamp,全站統一以使用者本地時區計算年月日。
  • 記帳頁籤切換與喚醒動態校正 (Active Tab & Visibility Sync):
    • 表單常駐元件(TransactionForm.vue)新增監聽 activeTab,每次切換到記帳分頁且非指定補記日期時,全自動對齊至當前「今天」,徹底解決 App 放至隔天打開仍停留在昨天日期的痛點。
    • 監聽 document.visibilitychange,手機從休眠、後台或螢幕解鎖切回 App 且未輸入金額時,自動校正日期至最新當天。
    • 記帳送出成功後清空表單,一併將日期自動重設回今天,不殘留上一筆手動挑選的歷史日期。
  • UI 貼心體驗優化:軟萌「🐾 回到今天」果凍按鈕:
    • 當使用者挑選非今天之歷史或未來日期時,記帳日期標籤右側自動彈性浮現可愛的「🐾 回到今天」按鈕(.btn-reset-today),隨時可一鍵快速還原至今天。
  • 明細分組與編輯彈窗全面對齊:
    • 修復 TransactionList.vue 中「今天 🐾」與「昨天」標籤的比對邏輯,杜絕清晨時間標籤錯位問題。
    • 修復 TransactionEditModal.vue 編輯時的日期解析與寫入,避免清晨編輯交易時日期被誤改為前一天。
  • 單元測試套件全面通過 (13 個測試檔 / 全數 77 項測試 100% 通過):
    • 新增 tests/dateUtil.test.ts 單元測試,涵蓋各時段、跨日運算、字串與時間戳記解析,確保日期核心邏輯零退化。

Web v2.8.5 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 12 Oct 10:52

🌸 Dodo Ledger 網頁端 v2.8.5 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.5] - 2026-10-12

💳 信用卡出帳週期演算法修正、自訂帳單應繳金額、手動銷帳與扣款帳戶自動記憶綁定 (Web 端更新)

  • 信用卡結帳週期出帳/繳款月份跨月演算修正 (Billing Cycle & Period Alignment):
    • 修正信用卡帳單歸屬月份演算邏輯:依台灣信用卡實務,帳單月份對應持卡人收到帳單與繳款之月份。當結帳日為 27 號等月底結帳(或繳款日小於結帳日跨月)時,該期帳單於次月出帳與繳納,故 8/28 ~ 9/27 之消費精確歸屬為 10月帳單 (2026-10),9/28 ~ 10/27 之消費歸屬為 11月帳單 (2026-11)。
    • 看板頂部新增「週期起訖標籤」(如 週期 8/28 ~ 9/27),與每月繳款截止日並列,一眼看清刷卡消費起訖區間。
  • 支援自訂帳單應繳金額與隨時還原 (Custom Bill Amount):
    • 看板本期應繳總額旁新增專屬「✏️ 調整金額」膠囊按鈕,點擊喚起全站共用 AmountCalculator 果凍計算機,可輸入銀行實體帳單的精確數字(例如加計利息或前期費用)。
    • 自訂後自動標記「自訂」標籤,並提供「🔄 還原」按鈕可隨時一鍵還原回明細加總。
    • 自訂金額持久化保存於卡片之 cardDetails.customBillAmounts,支援離線與多裝置同步。
  • 歷史無明細月份手動銷帳與已銷帳狀態自動比對 (Manual Settlement):
    • 解決使用者甫開始記帳、前期(如 9 月)無明細導致金額為 0 無法銷帳之痛點。當本期無明細紀錄時,看板提供滿寬「💳 自訂金額手動銷帳 ➜」行動按鈕,可直接輸入銷帳金額並選擇帳戶扣款完成銷帳。
    • 銷帳成功後銀行扣款、信用卡負債減少(可用額度恢復),看板自動比對繳清狀態並呈現亮綠色「✓ 本期已繳清銷帳」徽章,並保留「再次繳款 / 補繳」操作彈性。
  • 信用卡銷帳帳戶自動記憶綁定 (Automatic Linked Bank Memory):
    • 銷帳時選擇的扣款銀行或現金帳戶,系統自動記憶並持久化綁定至該信用卡的 cardDetails.linkedBankAccountId。
    • 下次進入銷帳彈窗時自動預設選取該記憶帳戶,並顯示「✓ 已記憶綁定」狀態徽章與溫馨小字提示。
    • 新增與編輯信用卡表單亦同步支援檢視與手動指定「預設扣繳/銷帳帳戶」,帳戶列表卡片同步呈現銷帳綁定帳戶名稱。
  • 單元測試套件全面補齊 (12 個測試檔 / 全數 70 項測試 100% 通過):
    • 於 tests/installment.test.ts 補齊結帳日 27 號跨月出帳週期推算、自訂帳單金額、歷史無明細手動銷帳,以及銷帳自動記憶綁定帳戶之單元測試,確保核心帳務零退化。

Web v2.8.4 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 12 Oct 00:28

🌸 Dodo Ledger 網頁端 v2.8.4 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.4] - 2026-10-12

📅 日曆選擇器新增「跳到今天」一鍵快速定位功能 (Web 端更新)

  • 日曆下拉面板底部新增「🐾 跳到今天」快速按鈕:
    • 於全站共用日曆選擇器元件(DatePicker.vue)下拉面板底部整合「🐾 跳到今天」操作按鈕,採用 Q 彈 Jelly 視覺風格(.btn-jelly、.dp-today-btn)與品牌奶油溫暖配色。
    • 與「已選:YYYY/MM/DD」狀態標籤採左右平衡對齊排版,避免手機窄螢幕擠壓破版。
  • 一鍵跳轉與自動收合體驗優化:
    • 點擊按鈕即刻將年月日重設為當前日期並觸發 update:modelValue,同時自動關閉年/月選單與日曆面板,大幅提升補記歷史帳務後切換回今日記帳的操作效率。

Web v2.8.3 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 07 Oct 00:49

🌸 Dodo Ledger 網頁端 v2.8.3 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.3] - 2026-10-07

📱 分類對應設定頂部動作列 RWD 自適應防溢出修復與文案精簡優化 (Web 端更新)

  • 頂部工具列自適應排版與防溢出修復 (Actions Bar Responsive Layout):
    • 修復分類預設帳戶綁定彈窗(CategoryAccountMapModal.vue)在 Android 手機窄螢幕或大字體環境下,頂部動作工具列因按鈕過寬導致最右側「清空」按鈕被推到畫面外的問題。
    • 容器啟用 flex-wrap: wrap 防溢出保護,並將主要操作按鈕設為等寬 flex: 1 彈性延展,保持按鈕間距與視覺重心平衡。
    • 新增 @media (max-width: 380px) 小螢幕緊湊排版規則,自動縮減內距與文字大小,確保在極窄解析度(如 320px)下所有操作按鈕皆能完整呈現。
  • 動作列文案精簡與操作體驗提升:
    • 按鈕標籤精簡優化:「新增自訂綁定」精簡為「新增綁定」;「從記帳歷史一鍵學習」精簡為「一鍵學習」(載入中顯示「分析中...」),保持介面呼吸感與乾淨視覺。
    • 完整保留各按鈕原生 Tooltip(title),提供清晰功能指示。
  • 單元測試套件全面補齊與通過 (12 個測試檔 / 68 項測試):
    • 補齊逗逗貓吉祥物情緒互動(dodoCatMood.test.ts)、財務報表與分期跨月統計(analytics.test.ts)等單元測試,全面確保財務核心演算與離線優先相容性。

Web v2.8.2 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 07 Oct 00:28

🌸 Dodo Ledger 網頁端 v2.8.2 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.2] - 2026-10-07

🌐 統一 Web 與 Mobile 平台卡片自適應排版、刪除確認提示與單元測試套件擴充 (Web 端更新)

  • 跨平台一致性體驗 (Unified Web & Mobile Adaptive Layout):
    • 響應使用者反饋「在 Web 的頁面樣式不應該跟手機有不同,同樣頁面應該可以適應各平台」,徹底重構分類對應彈窗(CategoryAccountMapModal.vue)之版面結構。
    • 移除平台割裂的 desktop-only / mobile-only 與小螢幕全螢幕強制覆寫,全端一律採用自適應上下雙層卡片結構(首行:分類 Emoji + 主分類 + ↳ 子分類標籤,右上角獨立刪除按鈕;次行:100% 滿寬帳戶下拉選單)。
    • 無論在桌面寬螢幕、平板還是手機端,外觀、圓角、線框、間距與排版 100% 一致並自適應視窗。
  • 刪除綁定防誤觸確認提示置頂保障:
    • 將全域 Dialog(CuteConfirmDialog.vue / CuteAlertDialog.vue)層級提升至 z-index: 999999,點擊解除綁定垃圾桶時,可愛確認對話框確保置頂於所有彈窗本體最前方,提供明確二次確認防誤觸反饋。
  • 後台服務測試環境相容性強化:
    • 修復 MockDatabaseService 中吉祥物個人檔案存取方法在 Node/Vitest 測試環境下缺少 localStorage 守衛的 ReferenceError,確保單元測試在各環境無縫執行。
  • 單元測試套件全面補齊:
    • 補齊新增分類層級級聯更新(categoryCascade.test.ts)、分期攤還演算法(installment.test.ts)、週期性記帳(recurring.test.ts)、使用者驗證與權限(useAuth.test.ts)等單元測試,已累計通過 59+ 項測試。

Web v2.8.1 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 06 Oct 17:46

🌸 Dodo Ledger 網頁端 v2.8.1 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.1] - 2026-10-06

📱 分類預設帳戶綁定支援手機端雙行 RWD 適配、緊湊排版、全域確認提示修復與多裝置雲端即時同步 (Web 端更新)

  • 多裝置雲端即時同步 (Multi-Device Real-time Sync):
    • 核心模組 useAuth.ts 加入雲端 profiles 集合的即時監聽(subscribeCollection),多台手機或電腦裝置在線時,任何一台設定或學習分類對應規則(categoryAccountMap),其他裝置秒級自動同步。
    • 身分設定變更改為呼叫 updateDocument<UserProfile> 原子合併寫入,防範多裝置同時在線覆蓋衝突。
  • 全域 Confirm / Alert Dialog 層級修復 (z-index 999999):
    • 修復 CuteConfirmDialog.vue 與 CuteAlertDialog.vue 的 z-index 至 999999,徹底解決彈窗中點擊刪除按鈕時,確認視窗被遮擋在彈窗背後而導致「刪除按鈕看似沒反應」的 Bug。點擊刪除時正確彈出可愛確認提示。
  • 手機端雙行 RWD 結構與排版適配:
    • 彈窗改為 <Teleport to="body"> 滿版置頂展示(z-index: 100000),徹底避免底欄露出版面或隨設定頁捲動。
    • 手機窄螢幕下,規則卡片改為上下雙行結構(上行:分類標籤 + 垃圾桶刪除;下行:100% 滿寬帳戶下拉選單),徹底解決帳戶選單被擠壓變形、金額多行折行的問題。
    • 工具列按鈕彈性折行,統計文字分行排版不裁切。
  • 卡片緊緻化與消除多餘間距:
    • 移除項目卡片上全域 .card-jelly 所帶來的 margin-bottom: 20px 多餘空白,卡片間距收緊為 5px~6px,大幅提升資訊密度,一頁可瀏覽更多筆規則。

Web v2.8.0 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 06 Oct 17:09

🌸 Dodo Ledger 網頁端 v2.8.0 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.8.0] - 2026-10-06

🎯 推出「分類預設帳戶自動對應」智慧記憶與各成員獨立設定管理功能 (Web 端更新)

  • 多成員獨立記憶機制 (Per-User Category-Account Mapping):
    • 核心模組 useCategoryAccountMap.ts:每個成員身分(例如「我」vs「老婆」)切換後各自具備完全獨立的分類帳戶偏好記憶。我記錄「交通 > 捷運 ➔ 倫悠遊卡」,老婆記錄「交通 > 捷運 ➔ 逗悠遊卡」,雙方互不干擾。
    • 雙層階層 Fallback 比對策略:選取分類時,系統優先比對「主分類 > 子分類」之特定規則;若該子分類未指定,則自動向下相容 Fallback 至「主分類」之通用帳戶。
    • 安全與防呆機制:收入交易自動過濾排除信用卡;若帳戶已被刪除,則不會帶入無效之幽靈帳戶 ID。
  • 日常記帳無感自動切換與平滑捲動 (Smooth Scroll into View):
    • 記帳表單(TransactionForm.vue):點選主分類或子分類時,系統自動帶入上次使用帳戶,並於帳戶上方展示可愛的 🎯 自動切換:[帳戶名] 徽章微提示。
    • 帳戶選取器(AccountPicker.vue):當帳戶切換時,自動以 scrollIntoView({ behavior: 'smooth', inline: 'center' }) 將選取卡片平滑滾動至視野中央,即使篩選隱藏亦能自動還原展開。
    • 完全支援手動調整與即時學習:記帳時隨時允許使用者在帳戶選取器中自由手動挑選其他帳戶;當送出記帳時,系統自動將本次選擇學習更新至該成員的 mapping。
  • 設定中心新增獨立管理彈窗 (CategoryAccountMapModal.vue):
    • 系統設定(Settings.vue)新增「🎯 分類預設帳戶綁定」專屬設定卡片,即時展示當前已記憶的對應組數。
    • 點擊「⚙️ 管理與設定對應 🐾」呼叫完整管理面板:
      • 檢視與手動調整:清楚展示所有已記憶的分類、子分類與對應帳戶,每一列右側支援直接下拉更換帳戶。
      • 對齊排版優化:每一列最右側的垃圾桶刪除按鈕 100% 垂直直線對齊,兼具視覺美感與防誤觸。
      • 固定常駐統計列:頂部統計提示列獨立固定於滾動區上方,不隨下方規則清單捲動。
      • 一鍵從歷史紀錄學習:提供「🔄 從記帳歷史一鍵學習」按鈕,全自動掃描過去記帳紀錄,按時間先後提煉出最新使用的帳戶並建立對應。
      • 自訂新增與一鍵清空:支援手動新增自訂規則與清空全部規則(含二次確認保護)。
  • 完善單元測試套件:
    • 新增 tests/categoryAccountMap.test.ts,共 8 項針對性單元測試(涵蓋多成員隔離、層級 Fallback、歷史提煉、無效帳戶過濾、自動學習與手動 CRUD),全數 100% 通過。

Web v2.7.3 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 05 Oct 06:18

🌸 Dodo Ledger 網頁端 v2.7.3 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.7.3] - 2026-10-05

🔀 帳戶資金互轉支援多類別篩選(現金/銀行等)與一鍵快速對調 (Web 端更新)

  • 來源與目的帳戶各自分類篩選標籤:
    • 於「資金帳戶互轉」彈窗中的「來源帳戶 (扣款)」與「目的帳戶 (存款)」上方,配置獨立的微型手繪馬卡龍膠囊標籤列:全部 ✨、現金 💵、銀行 🏦、信用卡 💳 與 票證 🎫。
    • 智慧動態感知:自動遵循使用者的隱藏帳戶設定 (hiddenAccountTypes),並僅動態顯示當前已建立的帳戶分類,杜絕空分類標籤。
    • 切換自動選取與精準連動:切換分類時,若當前選取的帳戶不在該分類內,自動智慧切換為該分類的第一個帳戶;點開下拉選單(AccountDropdown)時,選項亦自動限定於該分類帳戶。
    • 空狀態防護:若特定分類下無可選帳戶,下拉選單自動呈現可愛的提示訊息。
  • 一鍵快速對調帳戶 (Swap):
    • 於來源與目的帳戶區間新增精巧的 ⇅ 對調帳戶 按鈕,點擊可秒級對調兩側帳戶與其分類標籤。
  • 極致 RWD 手機版體驗:
    • 採用超輕量 22px 膠囊排版,彈窗無需滾動即可完整操作金額、手續費、備註與確認送出按鈕。

Web v2.7.2 - 逗逗貓網頁熱更新發布

Choose a tag to compare

@github-actions github-actions released this 04 Oct 04:39

🌸 Dodo Ledger 網頁端 v2.7.2 🌸

🐱 喵嗚!網頁版本全新發布囉!

此 Release 包含了專為 Android App 熱更新使用的網頁靜態壓縮包 app-update.zip。
Android App 在下次啟動時會默默下載此包並自動無感升級至最新網頁功能!

[Web 2.7.2] - 2026-10-04

🚪 全站彈窗統一支援點擊外部遮罩關閉,並落實多層彈窗事件隔離防護 (Web 端更新)

  • 全站彈窗點擊外部遮罩關閉體驗一致化:
    • 我的錢包(AccountManager.vue):編輯帳戶、新增帳戶、資金帳戶互轉、一鍵還款、顯示類別設定等全部 5 個彈窗,全面補齊 @click.self 點擊外部關閉,並為新增與轉帳彈窗補齊右上角 X 關閉按鈕。
    • 系統設定(Settings.vue):密碼鎖設定/驗證彈窗支援點擊遮罩關閉。
    • 記帳表單(TransactionForm.vue):快速新增主/子分類彈窗補齊卡片事件攔截。
    • 首頁大腦(Dashboard.vue):成就徽章牆彈窗補齊卡片事件攔截。
  • 多層彈窗 (Nested Modals) 事件隔離與防誤關防護:
    • 徹底解決彈窗內再開啟計算機抽屜時,點擊外部可能連帶觸發底層彈窗關閉的事件穿透 Bug。
    • 在全站彈窗卡片與計算機面板全面掛載 @click.stop、@mousedown.stop 與 @touchstart.stop,確保無論點擊計算機以外區域或點擊彈窗內部,事件 100% 侷限在當前層級,多層彈窗彼此獨立關閉。