Skip to content

Web App Changelog

All notable changes to the GoFigr Web App (Frontend).

Current version: v3.5.0


  • R Server — connect to R Server in the browser, alongside Jupyter and code-server
  • Richer launch flow — cost estimate and ETA in the launch modal, a cold-launch progress stepper, and auto-shutdown set at launch
  • Instance controls — manual Restart, “restart needed” chips and banners with a user-triggered reboot, and deferred delete with a “Pending deletion” state plus Restore
  • Notification bell inbox for in-app notifications
  • Email-verification banner for new sign-ups; a compute billing-history card; storage usage in the billable-usage drill-down
  • New /upgrade landing page for compute upsells and an open-source notices page at /licenses
  • The over-allowance compute banner is softened when overages are enabled, so it no longer warns users who have opted in
  • Semantic Search mode on the search page, with match-context snippets on result cards and code matches rendered in formatted blocks
  • Redesigned compute home — a Quick Actions card, instance cards that order running instances first, and your own instances shown by default with a “Show all” toggle
  • Allowance UI — overages toggle, low-allowance and upsell banners, and one-click paths to plan and overage controls
  • Billing card now shows all period statements, with billed-usage and credit/net breakdowns
  • Compute Usage cards on workspace and organization views, plus a per-instance “Billable usage” breakdown of usage intervals
  • Smarter launch modal — default tier pre-selected, tiers and data-volume caps from the backend, micro/performance tiers labeled
  • Clearer lifecycle — a distinct “starting services” state, connect buttons that activate only once an instance is reachable, and a confirmation prompt before stopping
  • Hosted editor is consistently labeled “code-server”; inline Start/Stop actions
  • In-page idle-shutdown warnings and a post-stop summary

  • Refreshing the browser now reliably shows up-to-date figures and data instead of stale cached content
  • New billing experience — paid checkout, the Stripe customer portal, and a plan picker, with a graceful downgrade to Free
  • Subscription card on the organization view; site-wide banners for canceled and past-due/unpaid subscriptions
  • General improvements

Major release introducing the Managed Compute UI:

  • Managed Compute in the sidebar — launch instances from a modal with named tiers, then connect to Jupyter and code-server from the instance list
  • Manage instances — stop/start/terminate, rename, and a “Live” column for reachability and disk usage; terminated instances hidden by default
  • Per-instance event log and idle auto-shutdown controls, with captions explaining why an instance stopped
  • Toast notifications replace blocking browser alerts across compute and task flows

  • Minor Clean Room fixes
  • Workspace dropdown is now always visible so users can create new workspaces from anywhere
  • Manual Sync Analysis — replaces auto-tracking with an explicit “Sync Analysis” button and modal; story config auto-saves before refine/recreate
  • Auto-retry AI code changes — on execution failure or no output, the AI automatically retries with runtime and publish() details added to the feedback prompt
  • WebR publish() parameterswidth, height, and dpi are now supported in the WebR shim
  • Removed short ID resolution layer — server now accepts short IDs directly
  • Added refresh buttons to revision view, revision selector, and task overview panel
  • Hide spurious scrollbar on AI chat input
  • Updated empty-slide copy: “No content for this slide yet” / “Create with AI”
  • Fixed unwanted page scroll when slides update or when clicking Create with AI / Edit manually
  • Fixed ReferenceError in CleanRoomStudio caused by availablePackages ordering
  • Fixed sync duplicates, stuck loading state, and various copy tweaks
  • Suppress auto-scroll to new slides during sync; stop polling on unmount
  • Fixed workspace selector race condition on navigation
  • Fixed null revision crash in Sync Analysis modal
  • Clean Room Studio polish — richer AI context, base R graphics support, UX tweaks
  • Fixed DPI mismatch between preview and publish in Clean Room Studio
  • Updated bundled gofigr wheel to v2.2.0 (short_id watermarks, consistent image sizing)
  • WebR Clean Room runtime — in-browser R execution with JS-side publishing and watermarking
  • WebR polish: package preloading, cache invalidation, DataFrame preview, UI fixes
  • Real-time capture wizard: hide API key when using gfconfig, upgrade pip command
  • Switched Pyodide QR code library from pyqrcodeng+pypng to qrcode

  • Workspace link in revision view — workspace selector now syncs on navigation
  • Real-time capture wizard examples — added data tracking and Clean Room examples
  • Added raw JSON toggle and formatValue helper to the Clean Room manifest viewer
  • Auto-save story config before refine and recreate
  • Fixed Auth0 registration and invitation flows
  • Fixed jsToPythonLiteral to handle arrays and objects with correct Python syntax
  • Show logout button instead of retry on account conflict errors
  • Handle Auth0 email verification and account conflict errors gracefully

Frontend Auth0 migration:

  • Auth0 login — full switch to Auth0 with dual-mode support; legacy auth UI removed
  • Live MFA enrollment status on the user profile page
  • User settings refresh for Auth0 — password change, logout fix, and claim-based fields
  • Real-time capture wizard improvements; activity deduplication moved server-side
  • Auto-assign title polling — Revision view shows a shimmer placeholder with countdown while AI assigns a figure title, then updates in place when complete
  • Friendlier AI assistant wording — Interactive AI chat uses approachable language (“Ask a question or describe a change…” instead of “Describe a code change…”)
  • Improved analysis breadcrumb — Larger, darker text with “Analysis:” prefix for better visibility in revision view
  • Story generation progress — Rolodex-style content scroller and task detail progress in story generation view
  • Clean Room badge — Badge indicator and lazy descriptions for Clean Room figures
  • Fixed unwanted page scroll when opening AI chat in Clean Room
  • Fixed AI chat messages causing page overscroll
  • Fixed stale descriptions in figure table after in-place refresh
  • Fixed cache race condition causing duplicate API calls
  • Fixed stale workspace data after cache invalidation
  • Fixed navigation loop in create entity view
  • Fixed back-navigation not refreshing analyses list and home dashboard
  • Short ID resolution — Shared revision URLs now support compact short IDs
  • Modernized analysis view — Visual consistency with analyses list, card styling
  • Redesigned Data Files tab — ModernFileListItem cards with skeleton loading
  • Inline image toolbar — Replaced floating toolbar with inline toolbar above figure
  • Restyled source line with left-accent bar and tinted background
  • Fixed UI stuck in loading state after cancelling story generation
  • Fixed image MIME type for Chrome compatibility — replaced bare data:image;base64 with data:image/png;base64 for thumbnails and dynamic format from metadata for full images
  • Asset list analysis filter — Searchable autocomplete dropdown with analyses grouped by “With files” (showing count) and “No files”, sorted by most recent
  • Analysis filtering on assets — Filter assets by analysis; show analysis badge on asset cards/rows; “View analysis” link on asset detail
  • Sticky header — Changed header from fixed to sticky positioning, eliminating top offset hacks
  • Fixed analysis view tab margins and card background
  • Async story generation — Stories now generate in the background with phase-aware progress tracking (figure analysis, overview generation, refinement)
  • Code snippets in data slides — Dataset slides now display inline code snippets when no URL is available
  • Figure reordering from overviews — LLM-suggested narrative flow reorders figure slides automatically
  • Updated Claude model registry — Removed Claude 3, added Claude 4.6 and Haiku 4.5
  • Redirect presentation mode to editor when story generation is in progress
  • Removed deprecated promptData system (content generation is now fully server-side)
  • Fixed Pyodide runtime resetting when description updates
  • Fixed model persistence and selection across story UI
  • Fixed PowerPoint footer logo aspect ratio
  • Refresh JWT before publish in Pyodide Studio
  • Fixed null analysis crash when viewing link-shared figures as logged-in user
  • AI chat panel for agentic code editing in Studio
  • Improved AI Figure Assistant empty state and placeholder contrast
  • Moved AI chat to right sidebar in full Studio
  • Fixed split height bug
  • Pass current code to PyodidePublisher on publish
  • Added unified UserDataTable component for user-uploaded tabular data
  • Show collapsible stack trace on error page
  • Removed opacity on Clean Room fallback image

Major release introducing Clean Room Studio:

  • Pyodide execution — Run Python in the browser with interactive widgets
  • Studio IDE — Mini IDE with code editor, environment tab, and memory display
  • Figure publication — Debounced Pyodide publishing with countdown timer
  • Parameter panel — Helper panel for parameter variables above code editor
  • Publish flow — Error modals, stale content UX, and publish parameter management
  • Stabilized figure size across publish/unpublish states
  • Clean Room badge/link UI and fallback image
  • SVG image format support for Pyodide

  • Release and infrastructure updates
  • Merge updates from develop
  • Handle paginated response from admin user analytics endpoint
  • Added anonymous user activity logging support
  • Enabled anonymous Deep Insight access
  • Fixed asset revision links
  • Added Dockerfile healthcheck to prevent premature routing
  • Unified Jupyter notebook preview components

  • Enabled evidence in presentation mode
  • Fixed modal sizing
  • Editable story titles
  • Fixed spacing in edit mode
  • Fixed slide re-ordering not updating positions
  • Handle /story/{uuid} without /p suffix for crawlers
  • Fixed: Preserve X-Forwarded-* headers from upstream proxy (AWS ALB)
  • Added nginx crawler detection for server-side OG tags
  • Removed broken /workspace/api_id links
  • Shareable revision presentation view with Open Graph meta tags
  • Evidence finder feature for Story Mode
  • Added analysis navigation link below figure title
  • Figure-level actions and section headers in actions menu
  • Restored missing revision view features (actions menu, source info, alerts)
  • Fixed mobile UI issues in revision view
  • Fixed watermark toggle and description persistence in presentation view
  • Fixed infinite scroll bug in Recent Figures
  • Performance optimizations
    • Optimize home screen loading
    • Add story thumbnail support
  • Added infinite scroll for Recent Figures section
  • Enable anonymous AI access for public stories
  • Fixed thumbnail size handling
  • AI Story Mode improvements
    • Added custom slides support
    • Added Figure Quick View modal for presentations
    • Added generation progress indicator
    • Enable re-adding sections to stories
    • Fixed slide height issues
  • Fixed error handling in story orchestrator
  • Bug fixes and stability improvements

Major release introducing:

  • AI-Powered Story Mode — Transform figures into presentations
  • Comments & Collaboration — Team feedback with @mentions
  • Git Repository Import — Import notebooks from GitHub/GitLab
  • Document Import — Extract figures from PowerPoint & Word
  • Enhanced Search — Text and visual similarity search

See January 2026 Feature Summary for detailed descriptions.

  • Initial Deep Insight integration
  • Workspace management improvements
  • Document assistant enhancements