Changelog
Unreleased
Added
Publisher UI
Live build progress overlay — replaces the static spinner with a percentage counter, phase label, package install counter (
Installing packages (18 of 26)...), and elapsed timer. Source compilation phases show a shimmer animation and the C/C++ compile percentage.Source folder validation — validates
app.Rorui.R+server.Rstructure on folder select and shows an inline badge. Build button is blocked when the structure is invalid.Pre-build summary panel — appears above the Build button showing app name, app ID, package count, portable R status, and all advanced option selections before committing to a build.
Saved build profiles — save all publisher form fields as named JSON profiles in
<framework>/profiles/. Load or delete profiles from a dropdown in a new collapsible panel.Deployment health check — runs automatically after every successful build. Checks required files, directories, package completeness, portable R, and Pandoc exe presence. Color-coded results (green/amber/red).
Test launch button — appears in the success result bar after a build. Opens
LaunchApp.htafrom the output folder directly, identical to end-user experience.DATA_DIR field — new field in Advanced app features. Writes
DATA_DIR=toapp_meta.cfg. Exposed at runtime asSHAREBRIDGE_DATA_DIR.Hosted inspector mode - Connect Cloud and Hugging Face sessions can upload a local app folder through the browser, inspect dependencies, run preflight checks, and return a generated zip.
Recipes and examples - common build recipes plus simple, data, and report example apps for quick validation.
Dependency review and preflight checks - flags report/data/UI dependency hints, local-only path risks, Portable R status, Pandoc status, and visible app files before building.
Diagnostics download - creates a zip with summary notes, current logs, selected saved log, package list, preflight results, and health-check JSON when available.
Readiness score - combines preflight checks and dependency advisories into ShareBridge-ready, Needs review, or Blocked status.
Review artifacts - downloads Markdown readiness reports, IT handoff checklists, and end-user instructions for team review and distribution.
Expanded portability scanner - flags hard-coded paths,
setwd(), interactive file pickers, references outside the app folder, system dependency risks, and possible secret handling issues.
Runtime (run.R)
- R version mismatch guard — reads
RVersionMajorMinorfromVERSIONand logs a warning if the running R major.minor does not match the build R version. - DATA_DIR support — reads
DATA_DIRfromapp_meta.cfgand setsSHAREBRIDGE_DATA_DIRenvironment variable before launching the Shiny app.
Build (build_packages.R)
- Windows binary preference — installs packages using
type = "win.binary"on Windows, eliminating unnecessary source compilation for packages that have a CRAN binary available.
End-user launcher (LaunchApp.hta)
- Desktop shortcut creator — on first launch, prompts the user once with a Yes/No dialog to create a desktop shortcut pointing to
LaunchApp.hta. A.shortcut_offeredmarker file prevents the prompt from appearing again.
Startup experience (run.bat, build/splash.html)
- Startup splash page — before R starts,
run.batgenerates a per-launch loading page frombuild/splash.html, substituting the app name and loopback URL. The page polls the Shiny server every second and auto-redirects when the app is ready (up to 120 second timeout). - Crash landing page — when R exits with a non-zero code,
run.batgenerates a styled HTML error page with the last 35 log lines and opens it in the browser automatically.
Documentation
- Full Quarto documentation site with Getting Started, Publisher Guide, User Guide, Reference, and Changelog pages.
- GitHub Actions workflow for automatic deployment to GitHub Pages on push to
master.
v0.1.0 — Initial release
Added
- Publisher Shiny UI (
build/publisher_ui/app.R) with folder browsing, package detection, build options, and live log output - Background build subprocess via
processx+ VBScript hidden launcher publish_app.R— full build orchestrator (source validation, dependency detection, portable R copy, package bundling, metadata generation)build_packages.R— CRAN package installer with optional offline repo and load verificationstrip_r.R— portable R builder with doc/test/header strippingrun.bat— runtime launcher with multi-location R detection and log rotationrun.R— Shiny runtime entry point with lib path management, missing package installation, and deterministic port assignmentLaunchApp.hta— hidden HTA launcher for end usersPublishApp.hta— hidden HTA launcher for publishersbuild/run_hidden.vbs— background process launcher (no console window)- Offline CRAN repo support
- Optional Pandoc stub folder with README
- Writable app directory provisioning
- Deterministic port assignment (range 3400–4400, derived from App ID)
- Friendly loopback URL format (
sharebridge-{id}.localhost:{port}) - Publisher log management (view, preview, delete) in the UI
- Automatic log rotation (30-day publisher logs, 7-day runtime logs)
- Strip R tab in Publisher UI for creating portable R from the framework UI
R-portable-master/(cold source) vsR-portable/(live runtime) dual-folder design