44 Commits
Author SHA1 Message Date
Star 0f6a224fc2 change default port to 19000 2026-03-06 17:11:35 +08:00
ringhyacinth a139bb05b6 Merge pull request #62 from Jah-yee/fix/issue-31-port-and-state-hints
fix: add startup hints for port and state source (fixes #31)
2026-03-06 14:11:32 +08:00
ringhyacinth a062ae3efe Merge pull request #60 from Jah-yee/docs-utils-english-docstrings
docs(backend): add English docstrings to memo, store, security utils
2026-03-06 14:09:24 +08:00
ringhyacinth 6f9187ef7f Merge pull request #59 from Jah-yee/refactor-valid-agent-states-constant
refactor(backend): single source of truth for valid agent states
2026-03-06 14:09:01 +08:00
RoomWithOutRoof 51172ee202 fix: add startup hints for port and state source (fixes #31)
- Backend: print STAR_BACKEND_PORT hint so users can change port without
  editing app.py (e.g. when 18791 is already in use).
- office-agent-push.py: print state file source and LOCAL_STATUS_URL at
  startup so users can verify path and URL when state does not update.

Made-with: Cursor
2026-03-06 02:34:00 +08:00
RoomWithOutRoof a89008241f docs(backend): add English docstrings to memo, store, security utils
Made-with: Cursor
2026-03-06 02:18:01 +08:00
RoomWithOutRoof 87e473e108 refactor(backend): single source of truth for valid agent states
Made-with: Cursor
2026-03-06 02:17:11 +08:00
RoomWithOutRoof 82807581ef feat(health): add service field for monitoring
Made-with: Cursor
2026-03-06 02:04:55 +08:00
Star 02a731e8af feat: key-level expiration + activity key ocj_starteam02 (100 concurrent, expires EOD) 2026-03-05 18:47:28 +08:00
Star 103f944cf0 fix: async background generation to avoid Cloudflare 524 timeout
- POST /assets/generate-rpg-background now returns immediately with a
  task_id, runs generation in a background thread
- Added GET /assets/generate-rpg-background/poll?task_id=xxx for
  frontend to poll completion status
- Frontend polls every 3s with elapsed time display
- Prevents Cloudflare's 100s timeout from killing the connection
- Also extracted shared error handling into _handleGenError()
2026-03-05 17:29:34 +08:00
Star 878793d74b fix: prevent CDN from caching 404 responses for static assets
- add_no_cache_headers now only applies long-cache headers to 2xx responses
- non-2xx static responses (e.g. 404) get no-cache to prevent CDN from
  caching error pages (which was the root cause of office.hyacinth.im
  failing to load - Cloudflare cached a 404 for phaser.js for 2.7 days)
- add version cache-bust param to phaser.js script tag (matching all
  other static assets)
2026-03-05 17:00:26 +08:00
OpenClaw Assistant 2795c77796 merge(pr34): resolve conflicts in .gitignore backend/app.py frontend/index.html 2026-03-04 21:00:24 +08:00
Zhaohan Wang 9f44e4e0e9 fix(electron): make backend host and port configurable
Avoid hardcoded 127.0.0.1:18791 by reading STAR_BACKEND_HOST/STAR_BACKEND_PORT in Electron and backend startup, so different local setups can run without code changes.

Made-with: Cursor
2026-03-04 18:13:37 +08:00
OpenClaw Assistant 06c1dad038 perf: speed up first paint by caching index html and deferring non-critical init fetches 2026-03-04 16:30:14 +08:00
OpenClaw Assistant 9957e81c13 perf(index): disable per-page random bg copy by default and add throttle guard 2026-03-04 15:34:32 +08:00
Zhaohan Wang 21387da895 feat(electron): add standalone desktop UI with editable office plaque
Rebuild the Electron standalone interface with synchronized i18n/state behavior, improved mini-window sprite rendering, and DOM-based office plaque editing for better readability and customization.

Made-with: Cursor
2026-03-04 15:00:30 +08:00
OpenClaw Assistant 823646cb26 fix(image-gen): hard-lock to official nanobanana-pro/2 mapping and model-specific aspect-ratio handling 2026-03-04 14:59:17 +08:00
OpenClaw Assistant a2e32e292a fix(gen-errors): surface model-unavailable detail for debugging exact provider failure 2026-03-04 14:57:26 +08:00
OpenClaw Assistant 8a3cc03ef8 fix(image-model): remove gemini-2.0 fallback incompatible with aspect_ratio 2026-03-04 14:49:53 +08:00
OpenClaw Assistant fbe71a3fdc fix(image-model): enforce nanobanana-pro/2 aliases and map to provider-supported model ids 2026-03-04 14:41:59 +08:00
OpenClaw Assistant c44d6a4547 fix(image-gen): add multi-model fallback to avoid channel-specific model unavailability 2026-03-04 14:36:56 +08:00
OpenClaw Assistant be95dab467 refactor(backend): extract storage helpers without behavior changes 2026-03-04 14:21:20 +08:00
OpenClaw Assistant 112fbcf9e4 refactor(backend): extract memo helpers without behavior changes 2026-03-04 14:05:10 +08:00
OpenClaw Assistant 98ac66cd16 refactor(backend): extract security helpers without behavior changes 2026-03-04 13:44:50 +08:00
OpenClaw Assistant 0b322aa4e1 chore(security): add preflight checks and safe config templates 2026-03-04 13:34:05 +08:00
OpenClaw Assistant 35067c5b8b chore(security): harden P0 defaults and production checks 2026-03-04 13:21:54 +08:00
OpenClaw Assistant 91ecba23d8 feat(home-favorites): randomly apply one saved home map on each index open 2026-03-04 01:34:09 +08:00
OpenClaw Assistant 81cd7c679b feat(home-favorites-ui): default-collapsed saved homes, add delete action, and switch top sections to divider-only layout 2026-03-04 00:15:09 +08:00
OpenClaw Assistant ab95ae8028 feat(home-favorites): add save/apply/list favorite homes and drawer gallery UI 2026-03-03 21:58:50 +08:00
OpenClaw Assistant 952638d879 feat(asset-editor): restore drawer visibility toggle and add per-asset default/prev rollback actions 2026-03-03 21:44:35 +08:00
OpenClaw Assistant c19d4acafa fix(gemini-default): align default model to nanobanana-pro in runtime config endpoints 2026-03-03 21:37:59 +08:00
OpenClaw Assistant 5c27c66287 feat(bg-recovery): add restore-last-generated endpoint and sidebar rollback button 2026-03-03 21:18:18 +08:00
OpenClaw Assistant 6cb77af51a fix(restore-home): add confirmation guard and include Pillow dependency 2026-03-03 21:13:38 +08:00
OpenClaw Assistant dcf1876a37 feat(office): complete art rebuild with new asset index and UI polish 2026-03-03 18:08:59 +08:00
ringhyacinth cf76f8556a Revert "fix: resolve hardcoded paths, port mismatch, XSS, and UX issues" 2026-03-03 07:44:48 +08:00
Kyle ChenandClaude Opus 4.6 24d3b6d45e perf: make GET /agents read-only when no state changes
Previously every poll (3.5s per client) unconditionally wrote both
agents-state.json and join-keys.json. Now tracks a dirty flag and
only persists when cleanup actually modifies state (expired agents
removed or agents marked offline).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:10:41 +08:00
Kyle ChenandClaude Opus 4.6 63d7b9c9fb fix: prevent XSS in memo content and guest agent names
Backend: add html.escape() to clean_text() so user-controlled input
(agent names, details) is entity-escaped before storage.

Frontend: memo content now uses textContent instead of innerHTML
(newlines handled by CSS white-space:pre-wrap). Guest agent names
are escaped before interpolation into template literals to prevent
stored XSS via malicious agent names in onclick handlers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:07:17 +08:00
Kyle ChenandClaude Opus 4.6 3f2671f760 fix: use date-based quote selection instead of random.choice
Each /yesterday-memo request used random.choice for the wisdom quote,
causing the card to flicker on frontend polling. Now uses date-based
index (YYYYMMDD % len) so the same quote shows consistently all day.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:05:54 +08:00
Kyle ChenandClaude Opus 4.6 b2091041d4 fix: sync main agent state to agents-state.json on set_state
Previously /set_state only wrote to state.json, but /agents reads
from agents-state.json. The main agent's status in agents-state.json
was stale. Now save_state() also updates the isMain=true entry in
agents-state.json to keep both files consistent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:05:24 +08:00
Kyle ChenandClaude Opus 4.6 e6e31e841b fix: resolve port mismatch across docs, scripts, and backend
The backend runs on port 19000 (to avoid conflict with OpenClaw on
18791), but docs and scripts referenced 18791. Unified all references
to 19000 and made the port configurable via OFFICE_PORT env var.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:31:06 +08:00
Kyle ChenandClaude Opus 4.6 04733eaed3 feat: add input sanitization, auth, and trace logging to backend
Add clean_text(), HMAC token auth for set_state, same-origin check,
structured logging with trace IDs, and agent state normalization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:28:24 +08:00
Star e3006ca9b3 feat: release latest Star Office UI with multi-agent, memo panel, docs and skill refresh 2026-03-01 15:09:00 +08:00
Star 365cd8826d Remove runtime pid/log files 2026-02-26 11:13:57 +08:00
Star e59c1bcd0d Initial open-source release 2026-02-26 11:13:51 +08:00