Skip to content

feat(miniapp): integrate PPT Live with the shared agentic bubble - #1790

Merged
bobleer merged 7 commits into
GCWing:mainfrom
bobleer:bob/fix-ppt-live-topic-session
Jul 27, 2026
Merged

feat(miniapp): integrate PPT Live with the shared agentic bubble#1790
bobleer merged 7 commits into
GCWing:mainfrom
bobleer:bob/fix-ppt-live-topic-session

Conversation

@bobleer

@bobleer bobleer commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • move PPT Live launcher guidance to the bottom-right safe area and refine the in-app Agentic entry CTA
  • create a dedicated hidden Agent session for every new deck topic, restore the persisted session and history for existing topics, and restore the prior normal chat when the bubble closes
  • keep FloatingMiniChat as the single standard chat window: it always renders the shared ChatPane and full ChatInput
  • add a generic ChatInputRegistration extension contract for bounded placeholder/workspace/draft content and submission routing; MiniApps cannot replace or resize the composer
  • forward normalized shared-composer submissions (text, display text, contexts, composer presentation, session and workspace) to the token-scoped MiniApp runner
  • let Agentic MiniApps register host-rendered title/welcome/suggestions and use their manifest icon for the launcher while all markup, theme, attachments, model, voice, permission, stop and input state stay host-owned
  • isolate the registered input and workspace strip to the active MiniApp topic workspace so the normal project never leaks into PPT Live
  • track a MiniApp-owned hidden session independently of the globally active chat, and show a neutral rotating ring plus glow around its launcher for the full non-terminal turn lifecycle; provide a static reduced-motion fallback
  • migrate PPT Live off the removed private textarea/panel-size path and bump the built-in bundle to version 257
  • raise the shared body-portaled model selector to the semantic popover layer so it remains visible and interactive inside overlay-hosted surfaces such as FloatingMiniChat
  • document the shared-component extension boundary and add regression tests that reject any MiniApp-specific composer or panel shell

Verification

  • pnpm run type-check:web
  • focused Vitest: chatInputRegistration.test.ts, miniAppStore.test.ts, toolbarModeSessionSurface.test.ts (25 tests)
  • focused Vitest: ModelSelectorPortalLayer.test.ts, modelSelectorDropdownPosition.test.ts (4 tests)
  • focused Vitest: floatingMiniChatActivity.test.ts (10 tests)
  • node src/crates/contracts/product-domains/src/miniapp/builtin/assets/ppt-live/test/generated-file-protocol.test.mjs (50 tests)
  • cargo test -p bitfun-product-domains --features product-full ppt_live_bundle_uses_bitfun_host_capabilities
  • pnpm run theme:color-audit:all
  • targeted ESLint for the changed Web UI TypeScript/TSX files
  • git diff --check
  • browser visual QA at 1280×720 with the real FloatingMiniChat: standard panel dimensions and full shared composer rendered; the PPT example populated chat-input-textarea; MiniApp workspace strip showed ppt-live-deck; no private textarea or layout overlap
  • browser interaction QA with the real shared ModelSelector: reproduced the open menu at z-index 60 underneath the floating surface at 101; verified the fix renders it at the popover layer (360), then selecting qa-fast closes the menu and updates the trigger
  • browser activity QA with a normal chat kept globally active and a separate bound MiniApp session processing: the launcher exposed aria-busy=true, the ring transform and glow changed over time, the decoration kept pointer-events:none, clicking still opened the shared panel, and completing the turn removed the indicator, processing class, and busy state
  • earlier commits in this PR also passed Web lint, MiniApp/session Rust checks, desktop check, i18n audit, repo hygiene, and all upstream CI jobs

AI-assisted; locally verified at the levels listed above.

@bobleer bobleer changed the title fix(ppt-live): bind floating chat to deck sessions feat(miniapp): give PPT Live a dedicated agentic bubble Jul 27, 2026
@bobleer bobleer changed the title feat(miniapp): give PPT Live a dedicated agentic bubble feat(miniapp): integrate PPT Live with the shared agentic bubble Jul 27, 2026
@bobleer
bobleer merged commit 09f0e3e into GCWing:main Jul 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant