fix: OS release prep - bootstrap script, deps, docs
- Fix bootstrap script (.env.example.local → .env.example) - Fix @langchain/core version conflict (^1.0.1 → ^0.3.0) - Add settings:open event listener for LocalKeyGate button - Pin Next.js to 15.1.3 (was "latest") - Default runtime to 'local' mode - Remove desktop app references from UI text - Rewrite MCP docs for web-only context - Add SECURITY.md, CODE_OF_CONDUCT.md, CHANGELOG.md - Add docs/README.md, docs/TROUBLESHOOTING.md - Update README with platform support table 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
ffbd47563e
commit
0e6bf12ad3
@@ -503,7 +503,7 @@ export default function RAHChat({
|
||||
borderRadius: '6px',
|
||||
lineHeight: 1.4
|
||||
}}>
|
||||
{quotaError?.message ?? 'Your monthly allowance has been used. Upgrade your plan to keep chatting with RA-H.'}
|
||||
{quotaError?.message ?? 'Rate limit reached. Please wait a moment and try again.'}
|
||||
</div>
|
||||
)}
|
||||
<TerminalInput
|
||||
|
||||
@@ -112,6 +112,16 @@ export default function ThreePanelLayout() {
|
||||
return () => window.removeEventListener('keydown', handleKeyDown);
|
||||
}, [setNodesCollapsed, setChatCollapsed]);
|
||||
|
||||
// Listen for settings:open events (from LocalKeyGate)
|
||||
useEffect(() => {
|
||||
const handleSettingsOpen = (e: CustomEvent<{ tab?: SettingsTab }>) => {
|
||||
setSettingsInitialTab(e.detail?.tab || 'apikeys');
|
||||
setShowSettings(true);
|
||||
};
|
||||
window.addEventListener('settings:open', handleSettingsOpen as EventListener);
|
||||
return () => window.removeEventListener('settings:open', handleSettingsOpen as EventListener);
|
||||
}, []);
|
||||
|
||||
|
||||
// SSE connection for real-time updates
|
||||
useEffect(() => {
|
||||
|
||||
@@ -34,7 +34,7 @@ export default function ExternalAgentsPanel() {
|
||||
setError(null);
|
||||
} catch (err) {
|
||||
console.error('Failed to load MCP status', err);
|
||||
setError('Unable to read local MCP status. Open the desktop app to bootstrap it.');
|
||||
setError('MCP server not running. See docs/8_mcp.md for setup instructions.');
|
||||
setStatus(initialStatus);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
@@ -84,7 +84,7 @@ export default function ExternalAgentsPanel() {
|
||||
<div>
|
||||
<div style={{ fontSize: '14px', color: '#94a3b8' }}>Connector URL</div>
|
||||
<div style={{ fontSize: '18px', color: connectorUrl ? '#fff' : '#64748b', marginTop: '4px' }}>
|
||||
{loading ? 'Loading…' : connectorUrl ?? 'Unavailable (start the RA-H desktop app)'}
|
||||
{loading ? 'Loading…' : connectorUrl ?? 'Unavailable (MCP server not running)'}
|
||||
</div>
|
||||
{status.last_updated && (
|
||||
<div style={{ fontSize: '12px', color: '#475569', marginTop: '6px' }}>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const rawDeploymentMode = (process.env.NEXT_PUBLIC_DEPLOYMENT_MODE || 'cloud').toLowerCase();
|
||||
const rawDeploymentMode = (process.env.NEXT_PUBLIC_DEPLOYMENT_MODE || 'local').toLowerCase();
|
||||
const backendFlagEnabled = process.env.NEXT_PUBLIC_ENABLE_SUBSCRIPTION_BACKEND === 'true';
|
||||
|
||||
export type DeploymentMode = 'local' | 'cloud';
|
||||
|
||||
Reference in New Issue
Block a user