Resolves a transition issue where clicking Compare files in the Redline header caused an intermediate blank screen before rendering the comparison view.
Fixed
- Adds /compare, /pdf-compare, /docx-compare, and /pricing to isHomePath route definitions in src/main_fast.js and config.js, preventing pushState route synchronizers from hiding the static home container during in-shell navigation.
- Ensures seamless instantaneous transition between the landing page and document comparison view with zero blank frame flicker or layout snap.
- Relaxes non-strict document comparison fallback conditions to gracefully surface simulated previews during local testing and endpoint availability interruptions.
Added
- Regression test coverage in redline-marketing.spec.mjs asserting continuous visibility of the home container when navigating to Compare files from the header.
- repo
- bookcicle/ui
Adds first-party eventing across Redline PDF and DOCX comparison lanes, interactive playground, hosted viewer, and developer activation workflows, along with an automated Metabase dashboard setup script.
Added
- First-party eventing envelope and analytics helpers for Redline with automatic product and domain tagging.
- End-to-end telemetry across PDF Lane, DOCX Lane, and Playground comparison lifecycles, capturing execution stages, durations, formats, units, and errors.
- Developer activation tracking for API key creation and copying, code snippet copies across cURL, Python, Node, and Go, documentation section navigation, and dashboard inspects.
- Automated Metabase dashboard setup script in scripts/setup-metabase-redline-dashboard.sh provisioning 17 Redshift-backed KPI, funnel, performance, diagnostic, and attribution cards.
Improved
- Captures document format and byte size safely without logging confidential or sensitive contract filenames in analytics payloads.
- Instruments developer dashboard and usage meter view events and plan management clicks.
- repo
- bookcicle/ui
Request a concise summary while the deterministic comparison remains available.
Added
- Summary requests use the existing subscriber or one-time checkout and durable workflow job.
- Pending, completed and failed summary states remain independent of document review. Each summary item opens its deterministic change.
- Developer documentation explains API opt-in, payment identity and result polling. Cleanup-aware UI and API live smoke lanes validate workflow and billing.
Fixed
- Summary checkout reuses payments for retries and keeps payments separate when the summary version changes.
- Redline API key creation displays the server-issued key and keeps failed requests in the creation form.
- Redline recognizes existing sign-in before summary checkout and opens uploaded comparisons with their private viewer link.
- A real comparison that cannot be loaded shows a retryable error instead of sample changes.
- Older playground responses cannot overwrite a newer format or input.
- Summary checkout waits for restored sign-in without delaying document comparison.
- Summary preparation is shown separately from confirmed workflow queueing.
- Redline one-time checkout loads the standard Stripe payment form.
- repo
- bookcicle/ui
Updates website favicons and apple touch icons across Redline builds to use the Redline logo mark exclusively, isolating Redline assets from Bookcicle favicons.
Added
- Generated multi-resolution Redline favicon and app icon assets (favicon.ico, favicon-16x16.png, favicon-32x32.png, favicon-48x48.png, favicon.svg, and apple-touch-icon.png) from the authoritative Redline vector mark.
- Automated Redline favicon generation in scripts/generate_logo_icons.mjs with binary ICO pack format support.
- Regression test coverage in scripts/finalize_redline.node.mjs and e2e/specs/redline-marketing.spec.mjs asserting Redline favicon link tags and root asset isolation.
Improved
- Vite Redline configuration (vite.redline.config.js) strips all Bookcicle favicons from HTML head and injects Redline mark icons for dev and production builds.
- Added dev and preview server middleware intercepting root /favicon.ico, /favicon.svg, and /apple-touch-icon.png requests to serve Redline assets.
- Build finalizer (scripts/finalize_redline.mjs) purges Bookcicle favicons from dist-redline and copies Redline favicons to root destinations, guaranteeing strict brand isolation across all Redline public routes.
- Simplifies document comparison format toggle label from 'Searchable PDF' to 'PDF' with streamlined subtitle copy on /compare.
- repo
- bookcicle/ui
Large text comparisons automatically use uploads above the 800 KiB JSON request limit.
Improved
- Measures the complete UTF-8 JSON request and automatically stages larger HTML, Markdown, JSON, and plain-text inputs using upload IDs.
- Updates API documentation and JavaScript, Python, and curl examples for the 800 KiB inline boundary and CloudFront edge signing. Simplified examples require the edge association to be enabled.
- Documents DEV and TEST edge signing activation and the API origins to use when testing integrations.
- repo
- bookcicle/ui
Large text comparisons automatically use uploads above the 800 KiB JSON request limit.
Improved
- Measures the complete UTF-8 JSON request and automatically stages larger HTML, Markdown, JSON, and plain-text inputs using upload IDs.
- Updates API documentation and JavaScript, Python, and curl examples for the 800 KiB inline boundary and CloudFront edge signing. Simplified examples require the edge association to be enabled.
- Documents DEV and TEST edge signing activation and the API origins to use when testing integrations.
- repo
- bookcicle/ui
Fixes email and password login preflight on Redline domains, sets explicit authentication service URLs in deploy workflows, and allows Google Identity Services scripts in Content Security Policy.
Fixed
- Adds explicit VITE_AUTH_URL and VITE_USER_API_SERVICE environment variable exports to deploy-redline.yaml across dev, test, and prod lanes.
- Permits accounts.google.com in infra/redline-site.yml ContentSecurityPolicy default to prevent Google Identity Services script blocking on the login page.
- Ensures authentication service preflight requests from Redline origins succeed without Failed to fetch errors.
- repo
- bookcicle/ui
Fixes Redline navigation recovery when landing on the login page and ensures events endpoint requests attach payload hashes before bootstrap.
Fixed
- Ensures eventsClient computes and attaches the x-amz-content-sha256 payload hash header required by CloudFront OAC even before bootstrap patches window.fetch.
- Fixes navigation freezing when landing on or navigating back from the Redline login page by restoring the home shell, clearing app content, and updating router state.
- Updates Content Security Policy on Redline deployments to allow accounts.google.com for Google Identity Services.
- Remaps post-auth dashboard destination to /account#api-keys on Redline.
- repo
- bookcicle/ui
Improve résumé preview handling and make unexpected failures easier to investigate and resolve.
Improved
- Accept valid six-page résumés and recover readable PDF text when a document has a damaged trailer.
- Offer a simple contact option when an unexpected preview failure needs a closer look.
- Track preview errors by stage and reason, retain uploads for seven days, and add privacy-safe synthetic cases to the CareerGR smoke test.
- repo
- bookcicle/ui
Delivers fast, bounded-DOM review for 100-250+ page deterministic comparisons with post-redline semantic chunking, virtualized rendering, section outline, change navigation rail, responsive mobile drawer, and live smoke test lanes against dev.
Added
- Added live dev comparison smoke test lane (npm run e2e:redline-large-docs-live) validating HMAC token authorization (401, 403, 200) and multi-section comparison delivery against dev.api.bookcicle.com.
- Added 3-way view switcher in viewer header for Document, Changes list with type filtering, and Summary analytics cards with Work 2 AI summary slot.
- Added virtualized chunk slots and semantic unchanged region accordion collapsing to bound client DOM size and memory.
- Added sticky change navigation bar with counter indicator, previous/next shortcuts, and interactive right-rail change minimap.
- Added responsive mobile drawer navigation with section outline, mini-changes list, live search, and backdrop dismissal.
Improved
- Prevented horizontal drift during inline change navigation on mobile viewports.
- Added automatic backoff retry resilience for HTTP 429 rate-limited comparison requests.
- repo
- bookcicle/ui
Adds a single Redline page for Word and searchable PDF comparison, with a full free text result, a sample, and clearer document limits.
Added
- Offers one page for comparing two Word files or two searchable PDFs and reviewing the complete detected text result for free.
- Adds a sample comparison and one-time Word download options that remain unavailable until checkout is ready.
Improved
- Explains PDF text extraction, scanned-file limits, and the anonymous upload size limit before files are selected.
- Uses the live upload service contract and shows upload or comparison failures instead of a demonstration result.
- Clarifies across the Redline pages, API docs, and search descriptions that comparisons cover text content and do not guarantee document layout, formatting, or structure.
- repo
- bookcicle/ui
Updates Redline API documentation and copied examples with the correct API origin, exact request body hashes, and complete document upload flows.
Fixed
- Uses the Bookcicle API hostname and Redline routes consistently across quickstart, API reference, and generated cURL, JavaScript, and Python examples.
- Shows how to compute the request body hash required for CloudFront Lambda URL OAC and uses returned upload IDs for both documents.
- Explains that HTML redlines and Word Track Changes use different comparison algorithms and can group the same edits differently.
Improved
- Adds independent API smoke lanes for the OAC hash boundary, HTML, Word, PDF, and authenticated usage, with a DEV/TEST workflow and local browser regression coverage.
- repo
- bookcicle/ui
Product update for Bookcicle Desktop 0.1.88 eliminating Windows Hello 60-second assertion stalls via silent local platform credential enumeration, resolving an editor crash on cross-block backspace and delete actions, and improving credential enrollment fallback.
Fixed
- Editor: Resolve slice boundary mismatch during cross-block backspace and delete actions, preventing application crashes (slice_error_fail) on multi-paragraph selections.
- Windows Hello: Silently enumerate local platform credentials (API v4+) before assertion; if no local credentials exist or none match the account's allowed credentials, trigger platform enrollment immediately without stalling for 60 seconds.
- Windows Hello: Filter assertion allowed credentials to matching local platform credentials, preventing Windows Hello from waiting indefinitely for security keys or foreign authenticator devices.
- Windows Hello: Always populate both legacy CredentialList and extended pAllowCredentialList in assertion options as required by Microsoft WebAuthN specification, ensuring reliable prompt dispatch.
- Windows Hello: Safely bring parent window to top and set foreground focus without risky cross-thread AttachThreadInput manipulation.
- Windows Hello: Detect watchdog timeouts caused by hung WebAuthN assertion operations and automatically fall back to credential enrollment rather than treating timeouts as user cancellations.
Included
- Bookcicle Desktop 0.1.88 — Twain-EA bundles Studio UI package 0.1.137-dev.main.3802.1.d97692d2111d.
- repo
- bookcicle/desktop-gpui
- git Tag
- RELEASE-0.1.88
- git Sha
- aeefbd25d2fc1ca4a1ac142dcc9b1be490865d3b
- previous Git Tag
- RELEASE-0.1.87
- previous Git Sha
- 5ec0d58c8a14e9124443329db52c21aa503fe8fc
- desktop Ui Package Version
- 0.1.137-dev.main.3802.1.d97692d2111d
- download Manifest
- https://images.bookcicle.com/desktop/latest.json
Bookcicle writing and revision move to the native desktop app. The web retains viewing, sharing, proof verification, and an interactive demo with sample content.
Changed
- Bookcicle web editor links and direct editing routes now lead to the native desktop app. Browser Quick Edit and tracked-change saving are disabled.
- The Native Editor Demo remains available in the browser, clearly labeled with local sample documents and simulated proof features.
- CareerGR and OurSircle retain their existing web editing support. Existing project history is preserved.
- repo
- bookcicle/ui
1 change deployed to production.
Changes
- Release notes and ecosystem catalog for 2026-09-30 production wave
- repo
- bookcicle/ui
- git Sha
- b7acf61a4b4c4218bf4dd952a939671d54d8bb88
- previous Git Sha
- 0467e4a2088efa266c5afe21020160e4bbc3ec18
1 change deployed to production.
Changes
- Deployed Web UI build 4a3c13f.
- repo
- bookcicle/ui
- git Sha
- 4a3c13f7718aecb6366bb3b6d595b12ebf41f0d8
- previous Git Sha
- b7acf61a4b4c4218bf4dd952a939671d54d8bb88
1 change deployed to production.
Changes
- Deployed Web UI build 0467e4a.
- repo
- bookcicle/ui
- git Sha
- 0467e4a2088efa266c5afe21020160e4bbc3ec18
- previous Git Sha
- 5d3813236bbf1dc3555a7d3c0e579fe531623aa9
Pages whose content cannot load now offer a reload action while keeping the destination URL.
Improved
- Show a Reload page button when page content is missing, unavailable, or times out.
- Keep the path, query parameters, and section anchor when reloading.
- Limit prefetched page requests to prevent indefinite waits; unknown routes retain the normal not-found page.
- repo
- bookcicle/ui
Pages whose content cannot load now offer a reload action while keeping the destination URL.
Improved
- Show a Reload page button when page content is missing, unavailable, or times out.
- Keep the path, query parameters, and section anchor when reloading.
- Limit prefetched page requests to prevent indefinite waits; unknown routes retain the normal not-found page.
- repo
- bookcicle/ui
Pages whose content cannot load now offer a reload action while keeping the destination URL.
Improved
- Show a Reload page button when page content is missing, unavailable, or times out.
- Keep the path, query parameters, and section anchor when reloading.
- Limit prefetched page requests to prevent indefinite waits; unknown routes retain the normal not-found page.
- repo
- bookcicle/ui