Skip to content

Add project settings with explicit covers and MCP control - #28

Merged
erickkkyt merged 2 commits into
BeatAPI:mainfrom
JaysonAlbert:codex/upstream-project-settings
Oct 21, 2026
Merged

erickkkyt merged 2 commits into
BeatAPI:mainfrom
JaysonAlbert:codex/upstream-project-settings

Conversation

@JaysonAlbert

Copy link
Copy Markdown
Contributor

Projects currently replace their cover whenever an uploaded/generated image is linked. A credits card or reference generation can therefore replace a recognizable project thumbnail, with no explicit settings control.

Add project settings from Projects cards and workspace headers: name, 140-character description, image cover upload/selection, reset to automatic cover, and read-only ID/created date/local workspace information. Image assets also offer Set as cover. Project IDs and URLs stay stable; this adds no accounts, collaboration, RBAC or publishing.

Manual covers survive later imports/generations. Automatic mode uses the earliest uploaded/generated image, then a cached local video poster, then a placeholder. Legacy covers are preserved during additive upgrades, including simultaneous Web/MCP startup. The optional video-poster endpoint bounds decoding and checks project membership; missing FFmpeg retains a placeholder.

UI and MCP use the same revision-checked project.update Command Kernel path. bdesign_project_get exposes settings and settingsRevision; bdesign_project_update validates partial patches and project-owned image IDs. Settings writes are serialized with their receipts on the shared libsql connection, and stale saves retain edits with a visible conflict.

Validation on this upstream-based branch:

  • TypeScript, i18n and production build pass.
  • Focused settings, poster-cache/real-decoder and MCP contract checks: 15 passed.
  • Full Node suite: 410 passed, 10 failed, 3 skipped on Windows. An untouched upstream baseline reproduces the same 10 failures (404 passed, 10 failed, 2 skipped): POSIX path assumptions, Windows symlink permissions/tsx spawning, SQLite cleanup timing and CRLF frontmatter validation. Those unrelated fixes are not bundled here.
  • The corresponding fork implementation passed all 468 tests with its existing Windows compatibility fixes and configured decoder. Isolated Chrome and HTTP/MCP checks verified settings save/reopen, manual cover persistence, auto reset, concurrent-edit rejection and project-list updates. Chrome automation of local file selection is blocked by extension file-URL permissions; backend upload and selecting an existing project image were tested independently.

Prepared from upstream main without local model integrations or workstation configuration. The fork implementation is JaysonAlbert#15.

Fixes #27

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Project settings with explicit cover selection and stable automatic fallback

2 participants