feat: AI-first magic moment + safer Open + smart empty states#1555
Merged
Conversation
New-environment home now leads with the AI authoring path instead of a manual 'create app' CTA, and the hero deep-links straight into the metadata-authoring assistant — turning the magic moment into one click from first login. - HomePage empty-state: primary CTA 'Build with AI' → /ai?agent=metadata_assistant; manual create / settings demoted to secondary. - Drop the 'ObjectUI' framework-name leak from the welcome copy (was shown to end customers); reframe as 'Build your business system with AI'. - AiChatPage: support ?agent= deep-link, captured once at mount so it survives the /ai → /ai/:conversationId redirect that strips the query. Falls back gracefully to the data-query default when the authoring agent isn't available (free plan / open-source). - i18n: zh + en home copy + new buildWithAI key. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Finishes the AI-first magic-moment line:
- Authoring agent (metadata_assistant) empty-state starters are now
build prompts ('Build a CRM…', 'Create a project app…', 'Design a
ticketing system…') instead of schema-inspection questions — nudging
the user to describe a system, which is the agent's actual job.
- Populated home hero gains a primary 'Build with AI' action so the
magic moment stays one click away after the workspace has apps, not
just on the empty state.
- i18n: repurpose console.ai.suggestions.metadataAssistant.* keys (zh+en).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…t 'Open')
The custom new-tab action path in ObjectView/RecordDetailView (used by
'Open environment as admin' and any opensInNewTab action) closed the
pre-opened blank tab and returned {success:false} on failure but never
toasted — so a failed Open (e.g. the cloud minting a 503) looked like a
dead button with zero feedback. Add toast.error on both the HTTP-error
and catch branches in both renderers. sonner toast already imported.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The shared list empty state always said 'try adjusting your filters or adding new data' — wrong (and discouraging) for a brand-new user who has no filters to adjust, e.g. the cloud control plane's first screen with zero environments. Now: - No filter/search active → 'Nothing here yet / Create your first record to get started.' (first-run welcome) - Filter/search active → 'No matching records / …adjust or clear them.' Derived from searchTerm + userFilterConditions + activeQuickFilters + currentFilters in ListView; new list.firstRun*/noMatches* keys (zh+en). Benefits every empty list in the product. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Front-of-funnel UX so a brand-new environment leads with the AI authoring "magic moment" instead of manual CRUD, and so failure/empty states stop dead-ending new users. Verified end-to-end in a local cloud+objectos stack (browser walkthrough of signup → env → AI online dev).
Changes
HomePage): new-env empty state leads with Build with AI (primary) deep-linking into the metadata-authoring assistant; manual create / settings demoted to secondary. Drops theObjectUIframework-name leak from the welcome copy (was shown to end customers). Populated home also gains a Build-with-AI action so the magic moment stays one click away.AiChatPage): supports?agent=metadata_assistant, captured once at mount so it survives the/ai → /ai/:conversationIdredirect that strips the query. Falls back gracefully to the data-query default when the authoring agent isn't available (free plan / open-source).ObjectView/RecordDetailView): the customopensInNewTabaction path bypassed ActionRunner's toast-on-error, so a failed Open (e.g. a 503) looked like a dead button. Nowtoast.erroron both failure branches.ListView): distinguishes first-run ("Nothing here yet — create your first record") from filtered-to-empty ("No matching records — adjust or clear filters"). The old copy told a brand-new user with no filters to "adjust your filters". Benefits every empty list (incl. the cloud control plane's first screen).Verification
Browser-verified: hero + deep-link land on the authoring agent with build prompts; empty-state both branches. The Open error-toast is code-level only (local request-mock didn't intercept; the patch adds
toast.errorto the existing failure branches —toastalready imported).🤖 Generated with Claude Code