Compare commits

...

4 Commits

Author SHA1 Message Date
a620906209 1839e9008f Merge branch 'chore/add-github-test-workflow': 新增 GitHub 鏡像專用測試 workflow
Deploy Production / deploy (push) Successful in 6m21s
Run Tests / test (push) Successful in 35s
2026-10-17 23:09:55 +08:00
a620906209 09aa5175e3 Merge branch 'docs/complete-backlog-items': 待辦新增功能與延後項目 F1–F7 2026-10-17 23:09:55 +08:00
a620906209 efb7d1b773 ci(github): 新增 GitHub 鏡像專用的測試 workflow
Gitea 讀 .gitea/workflows,GitHub 讀 .github/workflows,兩者互不影響。
GitHub 版改用 ubuntu-latest + setup-php(PHP 8.2 對齊正式環境);
不含 deploy,部署只走 Gitea。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:06:53 +08:00
a620906209 f07d15609f docs(analysis): 待辦新增功能與延後項目 F1–F7
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:06:28 +08:00
2 changed files with 54 additions and 1 deletions
+37
View File
@@ -0,0 +1,37 @@
name: Run Tests
# 只供 GitHub 鏡像使用;Gitea 有 .gitea/workflows 時不會讀取本目錄。
# 部署只走 Gitea 的 deploy.yml,這裡刻意不放 deploy。
on:
push:
branches:
- master
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
# 版本對齊正式環境 Dockerfile 的 php:8.2-fpm(Gitea runner 受限於 Alpine 只能用 php84)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: mbstring, dom, fileinfo, gd, pdo_sqlite, sqlite3, xml, simplexml, curl, openssl
coverage: none
- name: Copy .env
run: cp .env.example .env
- name: Install Composer dependencies
run: composer install --prefer-dist --no-interaction --no-progress
- name: Generate application key
run: php artisan key:generate
- name: Run tests
run: php artisan test
@@ -5,7 +5,7 @@
> 低優先項目未列入本文(分頁、範本殘留檔、CHANGELOG 等),需要時另行整理。
> 搭配閱讀:《2026-06-11-spec-implementation-audit.md》。
> 實作原則:以下每一項只要涉及行為變更,都必須先走 OpenSpec(`/opsx:propose`),AC 對應測試後才可實作。
> 更新紀錄:2026-10-14 新增 M7、M8(撰寫 `hardener` skill 時,閱讀預約相關程式碼發現;以程式碼閱讀判斷,**尚未重現驗證**)。
> 更新紀錄:2026-10-14 新增 M7、M8(撰寫 `hardener` skill 時,閱讀預約相關程式碼發現;以程式碼閱讀判斷,**尚未重現驗證**);2026-10-17 新增「功能與延後項目」F1–F7(彙整既有規劃文件與已歸檔 change 的未完成任務)。
---
@@ -276,6 +276,22 @@ CI 綠燈不代表正式環境(MySQL)行為正確,尤其是併發情境。
---
## 功能與延後項目(非本次審視來源)
> 來源:既有規劃文件與已歸檔 change 的未完成任務,2026-10-17 彙整並對照程式碼確認仍未完成。優先順序未排入上方建議順序。
| # | 項目 | 來源 | 狀態/前置條件 |
|---|------|------|----------------|
| F1 | 金流整合(`awaiting_payment` 或獨立 `payments` 表、Webhook 冪等) | `2026-06-11-future-roadmap-feasibility.md` §2.2 | 未開工;需先定案金流商(評估建議綠界)與退款政策;建議 M6、H1 先完成 |
| F2 | 上傳檔案正式切換 S3 相容儲存(R2) | 已歸檔 `2026-08-02-cloud-ready-s3-storage` tasks 4–6 | 程式碼已完成,VPS 仍為 `FILESYSTEM_DISK=local`;需先申請帳號,接續時另開新 change |
| F3 | 預約列表端點補分頁(member/provider/admin bookings 皆 `->get()` 全量) | `2026-06-11-performance-optimization-plan.md` O3.2 | 未開工;建議金流上線前完成 |
| F4 | 課程搜尋強化(地區、價格區間、可預約日期篩選) | 可行性評估 §2.5 | 未開工;cache key 需納入新篩選參數 |
| F5 | 前端載入體感(列表 skeleton、搜尋 debounce 300ms) | 效能計畫 O3.3 | 未開工(`frontend/src` 無 skeleton/debounce) |
| F6 | 聊天圖片壓縮改用 `CompressesImages` trait | O3.1 歸檔時留待後續 | `BookingMessageController` 仍自行 `scaleDown`/`toJpeg`;屬重複邏輯,改動前需先補聊天圖片上傳測試 |
| F7 | 正式環境 OPcache `validate_timestamps=0` | 效能計畫「生產環境註記」 | 目前僅有 `docker/php/local.ini`(=1);程式碼已烘進 image,可評估於正式環境關閉 |
---
## 其他提醒
- Git remote `vps` 的 URL 內含明文 Gitea token(存在 `.git/config`,未進版控)。建議輪換 token,改用 credential helper 或 SSH。