Major WHOOSH system refactoring and feature enhancements
- Migrated from HIVE branding to WHOOSH across all components - Enhanced backend API with new services: AI models, BZZZ integration, templates, members - Added comprehensive testing suite with security, performance, and integration tests - Improved frontend with new components for project setup, AI models, and team management - Updated MCP server implementation with WHOOSH-specific tools and resources - Enhanced deployment configurations with production-ready Docker setups - Added comprehensive documentation and setup guides - Implemented age encryption service and UCXL integration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -65,8 +65,8 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
||||
useEffect(() => {
|
||||
const initializeAuth = async () => {
|
||||
try {
|
||||
const storedTokens = localStorage.getItem('hive_tokens');
|
||||
const storedUser = localStorage.getItem('hive_user');
|
||||
const storedTokens = localStorage.getItem('whoosh_tokens');
|
||||
const storedUser = localStorage.getItem('whoosh_user');
|
||||
|
||||
if (storedTokens && storedUser) {
|
||||
const parsedTokens: AuthTokens = JSON.parse(storedTokens);
|
||||
@@ -132,8 +132,8 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
||||
setTokens(newTokens);
|
||||
setUser(data.user);
|
||||
|
||||
localStorage.setItem('hive_tokens', JSON.stringify(newTokens));
|
||||
localStorage.setItem('hive_user', JSON.stringify(data.user));
|
||||
localStorage.setItem('whoosh_tokens', JSON.stringify(newTokens));
|
||||
localStorage.setItem('whoosh_user', JSON.stringify(data.user));
|
||||
localStorage.setItem('token', newTokens.access_token);
|
||||
|
||||
return true;
|
||||
@@ -174,8 +174,8 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
||||
setUser(data.user);
|
||||
|
||||
// Store in localStorage
|
||||
localStorage.setItem('hive_tokens', JSON.stringify(newTokens));
|
||||
localStorage.setItem('hive_user', JSON.stringify(data.user));
|
||||
localStorage.setItem('whoosh_tokens', JSON.stringify(newTokens));
|
||||
localStorage.setItem('whoosh_user', JSON.stringify(data.user));
|
||||
localStorage.setItem('token', newTokens.access_token);
|
||||
|
||||
} catch (error: any) {
|
||||
@@ -210,8 +210,8 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
||||
setUser(data.user);
|
||||
|
||||
// Store in localStorage
|
||||
localStorage.setItem('hive_tokens', JSON.stringify(newTokens));
|
||||
localStorage.setItem('hive_user', JSON.stringify(data.user));
|
||||
localStorage.setItem('whoosh_tokens', JSON.stringify(newTokens));
|
||||
localStorage.setItem('whoosh_user', JSON.stringify(data.user));
|
||||
localStorage.setItem('token', newTokens.access_token);
|
||||
} catch (error) {
|
||||
console.error('Registration failed:', error);
|
||||
@@ -249,15 +249,15 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({ children }) => {
|
||||
if (user) {
|
||||
const updatedUser = { ...user, ...userData };
|
||||
setUser(updatedUser);
|
||||
localStorage.setItem('hive_user', JSON.stringify(updatedUser));
|
||||
localStorage.setItem('whoosh_user', JSON.stringify(updatedUser));
|
||||
}
|
||||
};
|
||||
|
||||
const clearAuthData = (): void => {
|
||||
setUser(null);
|
||||
setTokens(null);
|
||||
localStorage.removeItem('hive_tokens');
|
||||
localStorage.removeItem('hive_user');
|
||||
localStorage.removeItem('whoosh_tokens');
|
||||
localStorage.removeItem('whoosh_user');
|
||||
localStorage.removeItem('token');
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ interface SocketIOProviderProps {
|
||||
|
||||
export const SocketIOProvider: React.FC<SocketIOProviderProps> = ({
|
||||
children,
|
||||
url = import.meta.env.VITE_WS_BASE_URL || 'https://hive.home.deepblack.cloud'
|
||||
url = import.meta.env.VITE_WS_BASE_URL || 'https://whoosh.home.deepblack.cloud'
|
||||
}) => {
|
||||
// Allow disabling SocketIO completely via environment variable
|
||||
const socketIODisabled = import.meta.env.VITE_DISABLE_SOCKETIO === 'true';
|
||||
@@ -75,7 +75,7 @@ export const SocketIOProvider: React.FC<SocketIOProviderProps> = ({
|
||||
}
|
||||
},
|
||||
onConnect: () => {
|
||||
console.log('✅ Socket.IO connected to Hive backend');
|
||||
console.log('✅ Socket.IO connected to WHOOSH backend');
|
||||
|
||||
// Join general room and subscribe to common events
|
||||
if (socket) {
|
||||
@@ -87,7 +87,7 @@ export const SocketIOProvider: React.FC<SocketIOProviderProps> = ({
|
||||
}
|
||||
},
|
||||
onDisconnect: () => {
|
||||
console.log('🔌 Socket.IO disconnected from Hive backend');
|
||||
console.log('🔌 Socket.IO disconnected from WHOOSH backend');
|
||||
},
|
||||
onError: (error) => {
|
||||
// Errors are already logged in the hook, don't duplicate
|
||||
|
||||
@@ -27,8 +27,8 @@ export const ThemeProvider: React.FC<ThemeProviderProps> = ({ children }) => {
|
||||
if (saved !== null) {
|
||||
return JSON.parse(saved);
|
||||
}
|
||||
// Default to system preference
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
// Default to dark mode as requested by user
|
||||
return true;
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -19,7 +19,7 @@ interface WebSocketProviderProps {
|
||||
|
||||
export const WebSocketProvider: React.FC<WebSocketProviderProps> = ({
|
||||
children,
|
||||
url = import.meta.env.VITE_WS_BASE_URL || 'wss://hive.home.deepblack.cloud'
|
||||
url = import.meta.env.VITE_WS_BASE_URL || 'wss://whoosh.home.deepblack.cloud'
|
||||
}) => {
|
||||
const [subscriptions, setSubscriptions] = useState<Map<string, Set<(data: any) => void>>>(new Map());
|
||||
|
||||
@@ -47,14 +47,14 @@ export const WebSocketProvider: React.FC<WebSocketProviderProps> = ({
|
||||
}
|
||||
},
|
||||
onConnect: () => {
|
||||
console.log('WebSocket connected to Hive backend');
|
||||
console.log('WebSocket connected to WHOOSH backend');
|
||||
// Subscribe to general system events
|
||||
sendMessage('subscribe', {
|
||||
events: ['agent_status_changed', 'execution_started', 'execution_completed', 'metrics_updated']
|
||||
});
|
||||
},
|
||||
onDisconnect: () => {
|
||||
console.log('WebSocket disconnected from Hive backend');
|
||||
console.log('WebSocket disconnected from WHOOSH backend');
|
||||
},
|
||||
onError: (error) => {
|
||||
console.error('WebSocket error:', error);
|
||||
|
||||
Reference in New Issue
Block a user