Add the separate Redline surfaces and document workspace integration. Deployment remains a separate release step.
Changes
- Separate developer landing, docs, playground, keys and usage from customer document pages through build-time surface configuration.
- Use independently reversible deployment settings and certificate-compatible developer environment names.
- Preserve existing API and viewer paths while linking customers to their document workspace.
Add the separate Redline surfaces and document workspace integration. Deployment remains a separate release step.
Changes
- Unify Word and PDF file selection and keep complete available text comparison content visible when page preview fails.
- Add private expiring save claims, durable personal document metadata, immutable version upload sessions, and conflict-safe head commits.
- Route subscriber summaries through existing shared AI credit and budget checks, and retain generated summaries and Word exports after downgrade.
- Resume supported subscriber actions after confirmed checkout and recover abandoned operations without deleting retained documents.
- Keep storage enforcement disabled and count retained originals and comparisons in existing Bookcicle storage reporting.
Add the separate Redline surfaces and document workspace integration. Deployment remains a separate release step.
Changes
- Remove developer dashboard and API keys from customer account navigation.
- Use document-focused subscription descriptions while preserving comparison-unit accounting and the existing checkout infrastructure.
Refresh performance documentation from live DEV comparisons and show measured timings separately from buffered expectations.
Documentation
- Live DEV benchmarks cover native DOCX and PDF comparison through HTML/JSON response rendering, plus HTML, Markdown, plain text and JSON snippets.
- Measured server timings remain unchanged. Expected processing figures add a labeled 50 ms buffer to measured p50 values.
- Reports distinguish uploaded and direct inputs, nominal DOCX corpus dimensions, actual PDF page counts, repeated warm requests and concurrent comparisons. Original-page rendering is a separate workload.
Validation
- Performance figures are published only for qualified comparisons from a complete run with verified temporary-account cleanup. Failed qualification cases are disclosed without timing claims. Regression checks validate report calculations and documentation disclosures.
- Benchmark requests disable comparison-cache reuse: snippet responses must confirm the bypass, and native document requests omit idempotency keys.
- repo
- bookcicle/ui
Refresh performance documentation from live DEV comparisons and show measured timings separately from buffered expectations.
Documentation
- Live DEV benchmarks cover native DOCX and PDF comparison through HTML/JSON response rendering, plus HTML, Markdown, plain text and JSON snippets.
- Measured server timings remain unchanged. Expected processing figures add a labeled 50 ms buffer to measured p50 values.
- Reports distinguish uploaded and direct inputs, nominal DOCX corpus dimensions, actual PDF page counts, repeated warm requests and concurrent comparisons. Original-page rendering is a separate workload.
Validation
- Performance figures are published only for qualified comparisons from a complete run with verified temporary-account cleanup. Failed qualification cases are disclosed without timing claims. Regression checks validate report calculations and documentation disclosures.
- Benchmark requests disable comparison-cache reuse: snippet responses must confirm the bypass, and native document requests omit idempotency keys.
- repo
- bookcicle/ui
Review DOCX and PDF comparisons on rendered source pages, with the complete semantic diff available below.
Improved
- Document comparison screens show one selected source page per side with independent page navigation. The playground starts with page previews off and keeps the option separate for each format.
- The API adds pageRendering, default false. PDF previews preserve source pages; DOCX previews render source-page layouts. Preview failures preserve the text result.
- Private page links expire after 15 minutes. Fonts and pagination may differ from Word; repeated text and unmapped changes remain accessible in the complete semantic comparison.
Validation and documentation
- Added page-preview smoke lanes for direct and uploaded DOCX/PDF requests, omitted/false/true options, PDF byte preservation and private retrieval.
- Published fresh uncached DEV timings for snippets, native documents and optional page preparation. Raw observations stay unchanged; planning expectations add a labeled 50 ms buffer.
- Shortened API and engineering guides, folded long examples, and corrected the native JSON, Word export and request-signing explanations.
- repo
- bookcicle/ui
Review DOCX and PDF comparisons on rendered source pages, with the complete semantic diff available below.
Improved
- Document comparison screens show one selected source page per side with independent page navigation. The playground starts with page previews off and keeps the option separate for each format.
- The API adds pageRendering, default false. PDF previews preserve source pages; DOCX previews render source-page layouts. Preview failures preserve the text result.
- Private page links expire after 15 minutes. Fonts and pagination may differ from Word; repeated text and unmapped changes remain accessible in the complete semantic comparison.
Validation and documentation
- Added page-preview smoke lanes for direct and uploaded DOCX/PDF requests, omitted/false/true options, PDF byte preservation and private retrieval.
- Published fresh uncached DEV timings for snippets, native documents and optional page preparation. Raw observations stay unchanged; planning expectations add a labeled 50 ms buffer.
- Shortened API and engineering guides, folded long examples, and corrected the native JSON, Word export and request-signing explanations.
- repo
- bookcicle/ui
Zoom and fit keep the page visible, and document changes align with complete words.
Fixed
- Zoom and fit respond immediately while a sharper page image loads. Rapid navigation keeps the latest selected page.
- DOCX page previews preserve text for combined letters such as ff and ffi, fixing missing address and phone highlights. Page drawing and pagination stay the same.
- Highlights preserve paragraph boundaries and use surrounding text to distinguish a changed phone number from an unchanged footer.
- Large documents find changes in the background while the selected page remains usable. Highlight counts describe mapped areas; the complete text diff remains available.
Improved
- Pricing removes review-mode callouts and lists accept/reject completion webhooks in Creator Pro.
- repo
- bookcicle/ui
Zoom and fit keep the page visible, and document changes align with complete words.
Fixed
- Zoom and fit respond immediately while a sharper page image loads. Rapid navigation keeps the latest selected page.
- DOCX page previews preserve text for combined letters such as ff and ffi, fixing missing address and phone highlights. Page drawing and pagination stay the same.
- Highlights preserve paragraph boundaries and use surrounding text to distinguish a changed phone number from an unchanged footer.
- Large documents find changes in the background while the selected page remains usable. Highlight counts describe mapped areas; the complete text diff remains available.
Improved
- Pricing removes review-mode callouts and lists accept/reject completion webhooks in Creator Pro.
- repo
- bookcicle/ui
Keep page-preparation expectations in the main performance table.
Improved
- Removed the duplicate page-rendering timing block and renderer implementation names from the main docs. The Page Rendering column and API behavior are unchanged.
- Operational limits use a compact accessible table with the same input, upload, billing, timeout and ZIP safeguards.
- Clarified that page previews are read-only: Accept/Reject uses the HTML review viewer, and DOCX tracked revisions can be reviewed in Word.
- repo
- bookcicle/ui
Keep page-preparation expectations in the main performance table.
Improved
- Removed the duplicate page-rendering timing block and renderer implementation names from the main docs. The Page Rendering column and API behavior are unchanged.
- Operational limits use a compact accessible table with the same input, upload, billing, timeout and ZIP safeguards.
- Clarified that page previews are read-only: Accept/Reject uses the HTML review viewer, and DOCX tracked revisions can be reviewed in Word.
- repo
- bookcicle/ui
See how much time document comparison and optional page preparation each take.
Improved
- Document timing displays comparison and page rendering separately. Request overhead uses the full server total.
- With metrics enabled, the API adds comparisonMs and pageRenderingMs. Failed page preparation is measured too; totalMs and diffMs keep their existing meanings.
- Smoke checks verify the timing split for direct and uploaded DOCX/PDF comparisons, with pages enabled and disabled.
- repo
- bookcicle/ui
See how much time document comparison and optional page preparation each take.
Improved
- Document timing displays comparison and page rendering separately. Request overhead uses the full server total.
- With metrics enabled, the API adds comparisonMs and pageRenderingMs. Failed page preparation is measured too; totalMs and diffMs keep their existing meanings.
- Smoke checks verify the timing split for direct and uploaded DOCX/PDF comparisons, with pages enabled and disabled.
- repo
- bookcicle/ui
Page changes load with a shimmer while controls stay usable. Performance docs separate comparison and optional page preparation.
Improved
- Document-wide change matching runs in a background worker. Page drawing, text layout and highlight placement yield between cancellable batches.
- Page navigation shows a loading shimmer, preserves the visible page and commits only the latest selection. Reduced-motion preferences are respected.
- Performance tables show expected processing times with a separate optional Page Rendering column. Snippet formats show N/A; raw benchmark evidence remains available.
- repo
- bookcicle/ui
Page changes load with a shimmer while controls stay usable. Performance docs separate comparison and optional page preparation.
Improved
- Document-wide change matching runs in a background worker. Page drawing, text layout and highlight placement yield between cancellable batches.
- Page navigation shows a loading shimmer, preserves the visible page and commits only the latest selection. Reduced-motion preferences are respected.
- Performance tables show expected processing times with a separate optional Page Rendering column. Snippet formats show N/A; raw benchmark evidence remains available.
- repo
- bookcicle/ui
Hardened Redline review mode entitlements, postMessage bridge origin validation, fail-closed HMAC webhook signatures, unified layout locking, and comparison-wide decision replaying across virtualized chunks.
Security
- Removed embed-class plan bypass in review mode authorization in favor of comparison owner manifest plan and account tier validation.
- Added strict postMessage source and origin validation to prevent unauthorized windows from mutating review state.
- Defaulted SDK embed origin to the official Redline service origin with strict message origin checking.
- Hardened HMAC-SHA256 signature computation and automated webhook dispatching to fail closed on missing secret or signing errors.
- Validated 64-character hex digest length before timingSafeEqual buffer comparison in the webhook verification receiver.
Improved
- Locked viewer layout in Unified mode while Review Mode is active to prevent split pane desynchronization.
- Preserved canonical artifact change IDs (e.g. mkt-*, h-chg-*) across chunk annotation and manifest generation.
- Added comparison-wide decision tracking and automatic decision replay when virtualized chunks are mounted into slots.
- Filtered out nested change groups during review session initialization to align with top-level action bars.
- Assembled clean resolvedHtml exports without presentation wrappers, unchanged region toggles, or unmounted placeholders.
- Accurately represented partial review completion with remaining unresolved change counts and matching webhook event types.
- repo
- bookcicle/ui
Prunes empty list items and block elements left by rejected insertions or accepted deletions, locks out Split mode during active review, and presents a floating Finish Review prompt when all changes are resolved one-by-one.
Fixed
- Prunes empty list items (li) and parent lists (ul, ol) when an inserted bullet is rejected or deleted bullet is accepted, eliminating dangling bullet markers in rendered documents.
- Prunes effectively empty block containers (p, blockquote, headings) when resolving block-level revisions without leaving unsightly blank lines.
- Strictly disables Split view buttons and blocks layout switching via postMessage during active review to maintain inline action bar alignment and DOM synchronization.
Improved
- Hides bulk Accept All and Reject All options once all changes have been resolved one-by-one, leaving Finish Review as the single actionable choice.
- Displays a floating Finish Review confirmation prompt in the bottom-right corner when all changes are reviewed, ensuring users never miss completing the review.
- Supported redline:resolveChange postMessage bridge event in addition to individual accept/reject change commands.
Validation
- Unit tests in reviewEngine.test.js and redlineAccept.test.js covering empty bullet and container pruning across single bullets, isolated paragraphs, and full list cleanup.
- Playwright E2E coverage in redline-review-callbacks.spec.mjs asserting bullet removal, split view locking, and floating finish completion interaction.
- repo
- bookcicle/ui
Introduced interactive track changes review mode with in-place DOM accept and reject actions, bidirectional postMessage event bridge, drop-in SDK, and HMAC-SHA256 signed webhooks tiered for Creator and Creator Pro plans.
Added
- Creator Plan: Interactive review mode in Redline viewer and embed iframes with top progress toolbar (changes remaining, bulk accept/reject, finish review) and inline Accept/Reject buttons for every tracked change.
- Creator Plan: Standard bidirectional postMessage event protocol (redline:changeResolved, redline:reviewComplete, redline:startReview, redline:acceptChange, redline:rejectChange, redline:acceptAll, redline:rejectAll, redline:requestState).
- Creator Plan: Drop-in Redline Embed SDK (/scripts/v1/redline.js) with clean initialization, lifecycle event handlers, and imperative review controls.
- Creator Pro Plan: Server-side automated document commit callbacks and signed HMAC-SHA256 webhooks (X-Redline-Signature, X-Redline-Event) upon review completion.
- Interactive configurator workbench live callback event console and updated documentation for SDK and Webhooks integration.
Improved
- Updated Redline pricing matrix detailing Creator and Creator Pro interactive review and webhook callback tiers.
- repo
- bookcicle/ui
Configured Showcase 1 on the hosted iframe demo page as a dedicated interactive review demo, added review mode presets and controls to the deeper playground workbench, and added explicit tier notes to the pricing cards.
Added
- Configured Showcase 1 on /iframe-demos as a dedicated interactive Track Changes Review demo with live toolbar toggle, review parameter initialization, and isolation from standard comparison showcases.
- Added global review controls (Start Review, Accept All, Reject All) to the sticky Master Playground bar for simultaneous multi-pane testing.
- Added a 1-click 'Try Review Mode Preset' button to the developer configurator workbench to quickly initialize review mode and inspect callbacks.
- Added explicit review tier notes inside each pricing card clarifying interactive review for Creator and signed HMAC webhooks for Creator Pro.
Improved
- Supported bidirectional redline:exitReview postMessage command to dynamically close review mode inside embedded iframes.
- Updated iframe embed copy snippets to reflect review demo configurations.
- repo
- bookcicle/ui
Document word comparisons keep changed words together, and PDF symbol-font bullets render as standard bullets.
Fixed
- Word and auto modes keep DOCX and PDF word replacements intact instead of refining them into scattered character edits.
- Known OpenSymbol PDF bullets decode to standard Unicode bullets in both native and fallback extraction. Unrelated fonts and private-use characters are preserved.
- Updated comparison replay identities prevent old results from standing in for the corrected behavior.
Validation
- Source reconstruction, HTML/JSON responses, font-scoped symbol decoding and document regression tests pass. Both supplied résumé PDFs retain all 19 bullets per document.
- repo
- bookcicle/redline-document-service