Root causes:
1. Font/color CSS consumption rules were added to platform blocks.css
but editor preview uses the THEME's blocks.css (which lacked them)
2. Reset buttons sent empty string which failed validation → 400 →
preview died silently
Fix: Added --sf-title-size/--sf-text-size/--sf-accent-c/--sf-btn-c
consumption rules to themes/trade-pro/blocks.css; reset now uses
clearStyleField() which deletes the key instead of setting ''.
Co-Authored-By: Claude Code <noreply@anthropic.com>
- blueprints.py: validate + render 5 new style properties as CSS vars
- editor.js: slider controls for title/text size, color pickers for
text/accent/button colors with reset buttons
- blocks.css: CSS variable consumption rules (--sf-title-size, etc.)
Co-Authored-By: Claude Code <noreply@anthropic.com>
- blueprints: register trust_bar (icon/title/text items) and applications_band
(2x2 dark-band tiles) block types; render with escaped items, ordinal icon
fallback, 8-item cap; auto-exposed in editor via /api/editor/blocks and
grouped under business in the studio palette
- blocks.css: platform base layer for both blocks (app/static + trade-pro
Layer A kept verbatim in sync) + trade-pro bridge vocabulary (icon-circle,
hairline dividers, navy->brand gradient band, glass tiles, 900/620
breakpoints, reduced-motion) without touching canvas hooks
- tests: test_trade_pro_home_block_driven covers the full studio-draft
PUT -> publish -> build chain; 8 block types on the homepage, template
markers absent under layout_mode=replace, clean build report
- scripts/setup_home_blocks.py: production write path for site 483295c29ea0
(login -> draft -> publish -> build -> verify); real catalogue counts feed
the stats block; run after the Docker image picks up the new block types
Co-Authored-By: Claude Code <noreply@anthropic.com>
Template content was rendering above the block canvas, pushing editable
blocks below the fold. Replace mode shows only blocks in preview,
making the full preview area clickable. Saved layout_mode unchanged.
Co-Authored-By: Claude Code <noreply@anthropic.com>
The api() helper takes positional args, not fetch-style options object.
This caused 'not a valid HTTP method' error on save/publish.
Co-Authored-By: Claude Code <noreply@anthropic.com>
- 外观与设计: nav edit button opens modal directly in workspace,
no page editor redirect needed; add/remove/reorder/edit nav items
with save-draft + publish buttons
- 内容与页面: type tabs now use segmented-control design (active
blue pill group with counts) instead of scattered buttons
Co-Authored-By: Claude Code <noreply@anthropic.com>
Plain overlay (33 items, same-source lineage, zero patch replay).
Theme suites 35/35; full run 453 passed + 10 known Windows env fails
(suspect-module rerun confirms identical failure set).
Live: container 8.34.1-dev.1; hesupipe home leftover industrial-preset
blocks cleared via studio draft+publish flow — home now renders pure
trade-pro template (sf-section/Chinese blocks = 0).
Co-Authored-By: Claude Code <noreply@anthropic.com>
V8.33.0 absorbed our entire platform patch set as native features
(discovery/env_for macro override/blocks.css priority/type-mapping fix/
frontend entries/locale override) and synced trade-pro from our remote;
V8.33.1 adds HESU PIPE industrial-theme home fixes (1.3.1).
Zero patch re-application this round — all verified native. Theme
suites 35/35; full run 428 passed + same 10 known Windows env fails
(FAILED set unchanged). Live: container 8.33.1-dev.1 healthy, hesupipe
192 entries intact, trade-pro build 203 pages 0 errors.
Patch registry retired to archive — future upgrades are plain overlay.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Overlay ~150 upstream items onto our V8.12 base, preserving trade-pro
theme, registry tests, and design docs. Re-applied our patch set
(discovery/env_for/blocks.css/type-mapping/theme_color/frontend entries,
test_theme_pro_v3 mods) — all anchors survived upstream evolution.
New platform enhancement (fixes upgrade-introduced regression):
multilingual.site_locale now honors settings_json.locale, plus
PUT /api/i18n/sites/{id}/locale — standalone English sites get
<html lang='en'> under the V8.15 locale-rewrite pipeline.
compose: adopt V8.21.3 (image 8.21.3-dev.1, /api/ready probes, MySQL/S3
env) with project name pinned to siteforge-v8-10 (data volumes).
Tests: 356 passed / 11 failed — all 11 confirmed pre-existing in
pristine V8.21.3 on this host (10 upstream Windows env + our build test
now green after locale fix). Patch registry updated in plan doc.
Co-Authored-By: Claude Code <noreply@anthropic.com>
- Overlay 26 changed files from SiteForge_Enterprise_V8_12 (UI layer only:
professional-ui.js/css, workspace/factory-v2/operations/editor templates,
+2 test files, compose/ci/scripts/docs)
- Re-apply v8_workflows type-mapping fix (类型/分类) lost in upgrade
- Pin compose project name to siteforge-v8-10 so existing data volumes
(hesupipe site 483295c29ea0, 193 entries) keep attached
- Drop stray .s10_* state files; ignore .s10_*/.sf_*/.s87_* patterns
- Plan/spec revisions per plan-review round 1 (icons are new design,
real test assertions, recorded deviations)
Tests: 226 passed / 1 env-only failure (test needs node binary in PATH,
absent in python:3.12-slim container; host node v24 --check all 9 JS OK)
Co-Authored-By: Claude Code <noreply@anthropic.com>
- SiteForge Enterprise V8.10.0-dev.1 upstream source (210 tests)
- Fix: v8_workflows._mapped_input now reads both 类型/分类 columns so WXR
imports keep post/product types instead of collapsing to page
- Docs: trade-pro theme port spec (R3) and implementation plan
Co-Authored-By: Claude Code <noreply@anthropic.com>