Commit Graph

200 Commits

Author SHA1 Message Date
sky121113
82832d04db [DELETE] 移除已過時的 B013 HTTP API 端點
1. 移除 routes/api.php 中的 B013 路由。
2. 移除 MachineController@reportError 方法及其註解。
3. 更新 config/api-docs.php,移除 B013 文件配置。
4. 更新 api-technical-specs/SKILL.md,將 B013 標註為已廢棄並引導至 MQTT 规范。
2026-04-21 16:46:54 +08:00
sky121113
240667d74f [FIX] 修正 CI/CD Bash PIPESTATUS 重置問題
1. 將 tar_status 與 docker_status 的賦值合併到同一行,解決 local 指令會重置 PIPESTATUS 導致變數為空的問題。
2. 增加變數非空檢查,預防非預期的語法錯誤。
3. 加強錯誤輸出的 Debug 資訊。
2026-04-21 16:39:08 +08:00
sky121113
6eb9de4812 [FIX] 強化 CI/CD Step 2 部署腳本與錯誤診斷
1. 改進 deploy_to 函式,同時驗證 tar 與 docker exec 的結束碼,避免靜默失敗。
2. 增加同步過程的日誌輸出 (tar/docker status),提升故障排查效率。
3. 確保任一容器同步失敗時立即中斷流程,防止不完整的部署。
2026-04-21 16:37:50 +08:00
sky121113
45b5ee5acd [REFACTOR] 整合 MQTT 異常上報與 MachineService 硬體代碼映射
1. 重構 ProcessMachineError Job,將異常日誌記錄邏輯統一由 MachineService@recordErrorLog 處理,確保 error_code 能正確對應多語系標籤。
2. 更新 SKILL.md MQTT 通訊規範,修正機台故障上報 (B013) 的 Payload 範例並修復章節編號錯誤。
3. 優化 deploy-demo.yaml CI/CD 流程,解決檔案變動導致 tar 退出碼為 1 的部署中斷問題,並排除不必要的 storage 目錄同步。
2026-04-21 16:35:20 +08:00
sky121113
2aa0bf23ab [FIX] 優化 CI/CD 部署流程與更新 MQTT 心跳規範
1. 修復 .gitea/workflows/deploy-demo.yaml:改用 bash 函式處理 tar 同步,容許 exit code 1 (檔案變動警告) 並攔截致命錯誤。
2. 更新 .agents/skills/mqtt-communication-specs/SKILL.md:簡化心跳上報 (Heartbeat) 規範,僅保留 firmware_version 與 temperature 欄位。
2026-04-21 16:01:32 +08:00
sky121113
2bc467bb84 [FIX] 修復 CI/CD 部署時 tar 因檔案變動而報錯的問題
1. 在 deploy-demo.yaml 的 tar 指令加入 --ignore-failed-read 預防非致命報錯。
2. 排除 storage 與 bootstrap/cache 目錄的上傳,避免與容器內運作中的檔案衝突。
2026-04-21 15:52:09 +08:00
sky121113
d0f84eb82b [REFACTOR] 廢棄 B010 HTTP API 並整合 MQTT 心跳回報流程
1. 移除 routes/api.php 中的 B010 心跳上報路由。
2. 刪除 MachineController.php 中的 heartbeat 方法與相關過期邏輯。
3. 刪除 docs/b010_technical_spec.md 並更新相關技術規格文件。
4. 修改 ListenMqttQueue.php,移除獨立的溫度與版本號處理,統一由 heartbeat 任務分發。
5. 更新 MQTT 通訊規範,廢棄獨立的屬性 Topic (temperature, firmware_version)。
2026-04-21 15:48:49 +08:00
sky121113
bdc1c44c0f fix(mqtt): persistent subscription permissions in acl.conf 2026-04-21 15:00:10 +08:00
sky121113
d26ef6e793 fix(mqtt): correct default MQTT password for gateway 2026-04-21 14:50:40 +08:00
sky121113
9844607e84 perf(ci): use tar stream for deployment to improve stability 2026-04-21 14:44:02 +08:00
sky121113
e7bf20c2c3 fix(mqtt): add MQTT user/pass to compose environment 2026-04-21 14:43:30 +08:00
sky121113
21fe899e72 fix(mqtt): add missing MQTT user/pass fields to config struct 2026-04-21 14:40:53 +08:00
sky121113
47f7cc3c92 fix(mqtt): enable clean session and fix hardcoded credentials for gateway 2026-04-21 14:37:34 +08:00
sky121113
fed81a12f3 [STYLE] 移除 mqtt_handler.go 中多餘的空白行
1. 整理代碼格式,移除 HandleMessage 函式中多餘的換行符號。
2026-04-21 14:19:35 +08:00
sky121113
9166decbb8 [FIX] 修復 MQTT 連線狀態追蹤與 EMQX 版本相容性問題
1. 優化 mqtt-gateway 的 $SYS 主題解析邏輯,改用關鍵字匹配(搜尋 clients/)以支援不同版本的 EMQX。
2. 修正啟動日誌中的 Client ID 顯示,改為讀取動態設定。
3. 配合 150 伺服器 EMQX 降級操作,同步更新通訊層容錯代碼。
2026-04-21 14:18:24 +08:00
sky121113
43a160e2d4 fix(mqtt): improve topic parsing logic and dynamic clientid logging 2026-04-21 14:06:39 +08:00
sky121113
c3b623e5e0 [FIX] 修正 CI/CD 中 docker run 的掛載問題,使用 pipe 方式同步設定檔 2026-04-21 13:13:26 +08:00
sky121113
15c0db6742 [REFACTOR] 整理並合併 CI/CD 準備步驟 (Step 0) 2026-04-21 13:11:58 +08:00
sky121113
cec70f38b5 [FIX] 增加 Step 0.2 同步設定檔至宿主機,解決 EMQX 掛載失敗問題 2026-04-21 13:08:12 +08:00
sky121113
cc966f2de7 [FIX] 優化 CI/CD 掛載邏輯,避免 Docker 自動誤建目錄 2026-04-21 13:06:20 +08:00
sky121113
6ef7e2211c [FIX] 修正 CI/CD .env 被誤建為目錄的問題 2026-04-21 13:04:41 +08:00
sky121113
bb426abbc0 [FIX] 修正 CI/CD 掛載錯誤,增加 acl.conf 目錄清理步驟 2026-04-21 13:02:44 +08:00
sky121113
32bc13ac1b [FIX] 修復 MQTT 監聽器與機台連線狀態同步邏輯
1. 補齊 ListenMqttQueue 中的 Job 類別引用,修復 mqtt-worker 崩潰重啟問題。
2. 實作 Go Gateway 的 Client ID 解析邏輯,正確將 SC_{serial}_{random} 格式還原為機台編號。
3. 修復  系統主題解析與 Laravel ProcessStatus Job 對齊,實現毫秒級連線狀態同步。
4. 在 ProcessStatus Job 中增加第二層 serial_no 清理保險,提高系統容錯。
5. 更新機台列表 UI 狀態顯示邏輯,支援 在線/斷線/故障 三態顯示與多語系。
6. 更新 MQTT 通訊規範 (Skill) 文件,確保全域開發定義的一致性。
7. 同步更新 zh_TW.json, en.json, ja.json 翻譯文件。
2026-04-21 12:38:42 +08:00
sky121113
f4f2ca9175 [STYLE] 調整 Workflow 檔案格式
1. 移除 .gitea/workflows/deploy-demo.yaml 中多餘的空行以符合規範。
2026-04-21 08:53:51 +08:00
sky121113
3a31a1a593 [STYLE] 調整 Workflow 檔案格式以符合規範
1. 在 .gitea/workflows/deploy-demo.yaml 中優化程式碼區塊間距。
2026-04-21 08:23:56 +08:00
sky121113
23225ffe3f [DOCS] 更新 MQTT 即時通訊規範,新增 App 端 WSS 連線標準
1. 補齊各連線通道 (TCP/SSL/WS/WSS) 的埠號建議表。
2. 新增 App 端 (Android) WSS 連線專節,包含 URL 參數與密碼雜湊要點。
3. 提供 HiveMQ Client 初始化範例程式碼。
4. 定義 MQTT 優先、HTTP 兜底的 Fallback 通訊機制與時間窗口。
2026-04-17 17:25:20 +08:00
sky121113
bfe359d5a2 [FIX] 移除 B014 API 的強制度人員認證,簡化機台接入流程
1. 修正 routes/api.php:移除 machine/setting/B014 的 auth:sanctum middleware。
2. 修正 MachineController.php:移除 getSettings 方法中的 RBAC 權限檢查邏輯,改為僅需驗證機台序號即可獲取設定。
2026-04-17 16:14:17 +08:00
sky121113
bf43a33df3 [FEAT] 整合 MQTT 資料流自動化與環境埠號修復
1. 整合 MQTT Gateway 並支援動態 Redis Key 前綴隔離,解決多環境衝突。
2. 修正本地開發環境與 Demo 環境的埠號映射 (80/8080) 與 Vite HMR (5175) 設定。
3. 更新 CI/CD 部署流程,新增自動同步程式碼至 MQTT Worker 與 Queue 容器。
4. 擴充 .env.example 以提供完整的 MQTT/EMQX 相關變數範本。
5. 更新模擬腳本以符合現有測試資料。
2026-04-17 13:22:46 +08:00
sky121113
e3ad7dd44f [DOCS] 修正並對齊 Demo 環境基礎設施資訊
1. 更新 README.md 與 framework.md 中的 Demo 環境網域、伺服器指令、部署路徑。
2. 更新 Gitea Workflow (.gitea/workflows/) 中的 Gitea 官方網址 (gitea.setdomains.work)。
3. 更新遠端部署模板中的舊 IP、路徑與機器人信箱,確保全站文件一致性。
2026-04-17 10:30:05 +08:00
sky121113
588f5659ca [FIX] 修復 MQTT Gateway 啟動崩潰與認證失敗問題
1. 在 mqtt-gateway/main.go 中加入連線重試邏輯 (Redis & MQTT),避免在服務初始化或認證暫時失敗時直接退出。
2. 更新 App/Console/Commands/MqttSyncAuth.php,加入同步 star-cloud-gateway 自身認證資料至 Redis 的邏輯。
3. 修改 compose.yaml,為 mqtt-gateway 加入 restart: always,並為 emqx 加入健康檢查以優化容器啟動流程。
2026-04-17 09:08:18 +08:00
sky121113
550ebc7fb6 Merge remote-tracking branch 'origin/demo' into dev 2026-04-17 08:21:05 +08:00
sky121113
91cb74f7f7 [FIX]: 修復 machines 資料表缺失 status 欄位之問題
1. 新增 2026_04_16_174321_add_status_to_machines_table.php 遷移檔以補回缺失欄位。
2. 更新 .gitignore 排除 PPTX 生成相關目錄。
2026-04-17 08:19:28 +08:00
sky121113
4433250c19 fix: correct container port mapping to 80 2026-04-16 17:35:59 +08:00
sky121113
f9c55df165 ci: retrigger after MySQL volume reset 2026-04-16 17:28:23 +08:00
sky121113
8901c469a0 ci: retrigger after fixing .env typo and cleaning stale containers 2026-04-16 17:26:07 +08:00
sky121113
2de80cd1bf fix: ensure .env is visible to docker compose up for environment variable interpolation 2026-04-16 17:22:12 +08:00
sky121113
cf267a9264 ci: retrigger deploy (pre-placed .env on host) 2026-04-16 17:18:07 +08:00
sky121113
420263680d fix: chown /.npm cache and clean stale node_modules for npm install 2026-04-16 17:11:54 +08:00
sky121113
ebc8b7943f fix: chown after docker cp to fix composer permission denied 2026-04-16 17:08:45 +08:00
sky121113
3cacf9d80f fix: use docker cp to inject source code into container (bypass volume mount issue) 2026-04-16 17:06:59 +08:00
sky121113
9775c59996 fix: correct composer installer option --instdir to --install-dir 2026-04-16 16:50:11 +08:00
sky121113
d8f41e87b4 fix: force no-cache build to ensure composer is installed in image 2026-04-16 16:31:42 +08:00
sky121113
daddfe0f85 fix: use bash and export PATH to resolve composer not found in docker exec 2026-04-16 16:28:06 +08:00
sky121113
5259f0ad84 fix: restore missing php extensions and fix dockerfile syntax 2026-04-16 16:19:13 +08:00
sky121113
77510a0118 fix: install composer in docker image 2026-04-16 16:16:04 +08:00
sky121113
4b8e9f7025 fix: align container name with compose.yaml in gitea actions 2026-04-16 16:14:21 +08:00
sky121113
66dfde2a06 fix: remove non-existent testing db script mount causing mysql crash in ci/cd 2026-04-16 16:12:15 +08:00
sky121113
79eb391c1f fix: remove redundant npm self-upgrade and split global installs for stability 2026-04-16 16:04:32 +08:00
sky121113
7f1e3970e3 refactor: split Dockerfile RUN commands for better debugging and fix mirror switch logic 2026-04-16 15:55:49 +08:00
sky121113
5d4c9b018d perf: switch all mirrors including security to Taiwan to eliminate build delays 2026-04-16 15:46:58 +08:00