Skip to content

docs: studios availability wording (in beta)#965

Merged
jaylfc merged 1 commit into
masterfrom
dev
Jun 16, 2026
Merged

docs: studios availability wording (in beta)#965
jaylfc merged 1 commit into
masterfrom
dev

Conversation

@jaylfc

@jaylfc jaylfc commented Jun 16, 2026

Copy link
Copy Markdown
Owner

Reword the live studios from 'ship today' to 'in beta', matching the product's beta status. Docs-only.

Summary by CodeRabbit

  • Documentation
    • Updated Creative Studios section to reflect that currently available studio apps are now in beta.

Summary by Gitar

  • Documentation:
    • Updated STATUS.md to reflect latest progress on Creative Studios and deployment status on the Pi.
  • Feature implementation:
    • Integrated five optional studio applications (Coding, Design, Music, App, Office) with the Store catalog and install flow.
    • Added backend support for studio installation via tinyagentos/routes/apps.py and updated app-registry.ts.
  • UI/UX components:
    • Implemented StudiosView with featured hero card, studio grid, community studio section, and shareable layout chips.
    • Added dedicated app shells and views (e.g., BuildView, DesignView, StudioView) for the new studios.
  • Testing:
    • Added unit tests for CodingStudioApp, AppStudioApp, and StudiosView to verify navigation and interaction states.

This will update automatically on new commits.

@jaylfc jaylfc merged commit 59c296d into master Jun 16, 2026
0 of 2 checks passed
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@github-actions

Copy link
Copy Markdown

👋 Thanks for the PR! This one targets master, which is our
stable branch (it's what live installs track). Please retarget it to
dev — click Edit next to the PR title and change the base
branch dropdown from master to dev. Your commits and any review
carry over, nothing is lost.

See CONTRIBUTING.md for the branch model.

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 24e01d65-7fbb-4035-b4ef-bf5266275555

📥 Commits

Reviewing files that changed from the base of the PR and between 626d9e7 and 69a60b2.

📒 Files selected for processing (1)
  • README.md

📝 Walkthrough

Walkthrough

A single word change in README.md updates the Creative Studios section to describe the currently available studio apps as "in beta" instead of "ship today." No other content or structure is modified.

Changes

README Creative Studios Status

Layer / File(s) Summary
Creative Studios beta status
README.md
Line 220 changes the availability status of two studio apps from "ship today" to "in beta."

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~1 minute

Poem

A bunny hopped by and noticed the sign,
"Ship today!" it once read, but that wasn't quite fine.
With a nibble and tweak of one tiny word,
"In beta!" now echoes — the truest thing heard.
Small change, big truth, the README shines bright! 🐇✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kilo-code-bot

kilo-code-bot Bot commented Jun 16, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (1 files)
  • README.md

onOpen: (appId: string) => void;
onInstall: (appId: string) => Promise<void>;
}) {
const isInstalled = installed.has(studio.id);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Quality: StudioHero uses studio.id directly instead of studioAppId mapping

StudioHero references the raw studio.id for the installed check (installed.has(studio.id)), install (onInstall(studio.id)), and open (onOpen(studio.id)), whereas StudioCard consistently goes through studioAppId(studio.id) (which maps images-studio -> images). This works today only because the hero is hard-coded to coding-studio (line 500), whose catalog id equals its registry/allowlist id. If the hero is ever pointed at a studio whose catalog id differs from its app id (e.g. images-studio), the install POST would 404 against the allowlist and getApp would fail to open the window. Route the hero through studioAppId to match the card and remove the latent inconsistency.

Use the same studioAppId mapping the grid card uses so the hero is robust to any featured studio.:

// in StudioHero
const appId = studioAppId(studio.id);
const isInstalled = installed.has(appId);
// ...
await onInstall(appId);
// ...
onClick={isInstalled ? () => onOpen(appId) : handleGet}
  • Apply fix

Check the box to apply the fix or reply for a change | Was this helpful? React with 👍 / 👎

Comment thread tinyagentos/routes/apps.py Outdated
Comment on lines +29 to +34
OPTIONAL_FRONTEND_APPS = {
"reddit", "youtube-library", "github-browser", "x-monitor",
# Creative Studios install the same way: a frontend-only optional app whose
# install row just flips the launcher visibility, no service spawned.
"coding-studio", "design-studio", "music-studio", "app-studio", "office-suite",
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Quality: PR labeled docs-only but adds feature code, install wiring, backend allowlist

The PR title ("docs: studios availability wording (in beta)") and description ("Docs-only.") describe a wording change, but this commit registers five new studio apps, wires Store install/launch behaviour, and extends the backend OPTIONAL_FRONTEND_APPS allowlist. The change itself looks correct, but the mismatched docs: framing will mislead release notes (CodeRabbit summary already only mentions documentation) and anyone auditing the changelog for new install-state surface area. Consider re-labeling as feat: and noting the backend allowlist expansion so the new installable endpoints are reviewed/tracked as functionality, not docs.

Was this helpful? React with 👍 / 👎

@gitar-bot

gitar-bot Bot commented Jun 16, 2026

Copy link
Copy Markdown

Note

Your trial team has used its Gitar budget, so automatic reviews are paused. Upgrade now to unlock full capacity. Comment "Gitar review" to trigger a review manually.
Learn more about usage limits

Code Review 👍 Approved with suggestions 0 resolved / 2 findings

Integrates five optional studio applications into the Store catalog and app registry. Refactor the PR title and description to accurately reflect the functional changes, and update StudioHero to utilize the studioAppId mapping instead of raw studio IDs.

💡 Quality: StudioHero uses studio.id directly instead of studioAppId mapping

📄 desktop/src/apps/StoreApp/StudiosView.tsx:235 📄 desktop/src/apps/StoreApp/StudiosView.tsx:240 📄 desktop/src/apps/StoreApp/StudiosView.tsx:283 📄 desktop/src/apps/StoreApp/StudiosView.tsx:500

StudioHero references the raw studio.id for the installed check (installed.has(studio.id)), install (onInstall(studio.id)), and open (onOpen(studio.id)), whereas StudioCard consistently goes through studioAppId(studio.id) (which maps images-studio -> images). This works today only because the hero is hard-coded to coding-studio (line 500), whose catalog id equals its registry/allowlist id. If the hero is ever pointed at a studio whose catalog id differs from its app id (e.g. images-studio), the install POST would 404 against the allowlist and getApp would fail to open the window. Route the hero through studioAppId to match the card and remove the latent inconsistency.

Use the same studioAppId mapping the grid card uses so the hero is robust to any featured studio.
// in StudioHero
const appId = studioAppId(studio.id);
const isInstalled = installed.has(appId);
// ...
await onInstall(appId);
// ...
onClick={isInstalled ? () => onOpen(appId) : handleGet}
💡 Quality: PR labeled docs-only but adds feature code, install wiring, backend allowlist

📄 tinyagentos/routes/apps.py:29-34 📄 desktop/src/apps/StoreApp/StudiosView.tsx:512-521

The PR title ("docs: studios availability wording (in beta)") and description ("Docs-only.") describe a wording change, but this commit registers five new studio apps, wires Store install/launch behaviour, and extends the backend OPTIONAL_FRONTEND_APPS allowlist. The change itself looks correct, but the mismatched docs: framing will mislead release notes (CodeRabbit summary already only mentions documentation) and anyone auditing the changelog for new install-state surface area. Consider re-labeling as feat: and noting the backend allowlist expansion so the new installable endpoints are reviewed/tracked as functionality, not docs.

🤖 Prompt for agents
Code Review: Integrates five optional studio applications into the Store catalog and app registry. Refactor the PR title and description to accurately reflect the functional changes, and update StudioHero to utilize the studioAppId mapping instead of raw studio IDs.

1. 💡 Quality: StudioHero uses studio.id directly instead of studioAppId mapping
   Files: desktop/src/apps/StoreApp/StudiosView.tsx:235, desktop/src/apps/StoreApp/StudiosView.tsx:240, desktop/src/apps/StoreApp/StudiosView.tsx:283, desktop/src/apps/StoreApp/StudiosView.tsx:500

   `StudioHero` references the raw `studio.id` for the installed check (`installed.has(studio.id)`), install (`onInstall(studio.id)`), and open (`onOpen(studio.id)`), whereas `StudioCard` consistently goes through `studioAppId(studio.id)` (which maps `images-studio` -> `images`). This works today only because the hero is hard-coded to `coding-studio` (line 500), whose catalog id equals its registry/allowlist id. If the hero is ever pointed at a studio whose catalog id differs from its app id (e.g. `images-studio`), the install POST would 404 against the allowlist and `getApp` would fail to open the window. Route the hero through `studioAppId` to match the card and remove the latent inconsistency.

   Fix (Use the same studioAppId mapping the grid card uses so the hero is robust to any featured studio.):
   // in StudioHero
   const appId = studioAppId(studio.id);
   const isInstalled = installed.has(appId);
   // ...
   await onInstall(appId);
   // ...
   onClick={isInstalled ? () => onOpen(appId) : handleGet}

2. 💡 Quality: PR labeled docs-only but adds feature code, install wiring, backend allowlist
   Files: tinyagentos/routes/apps.py:29-34, desktop/src/apps/StoreApp/StudiosView.tsx:512-521

   The PR title ("docs: studios availability wording (in beta)") and description ("Docs-only.") describe a wording change, but this commit registers five new studio apps, wires Store install/launch behaviour, and extends the backend `OPTIONAL_FRONTEND_APPS` allowlist. The change itself looks correct, but the mismatched `docs:` framing will mislead release notes (CodeRabbit summary already only mentions documentation) and anyone auditing the changelog for new install-state surface area. Consider re-labeling as `feat:` and noting the backend allowlist expansion so the new installable endpoints are reviewed/tracked as functionality, not docs.

Options

Display: compact → Showing less information.

Comment with these commands to change:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant