mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-28 05:12:33 +00:00
* chore: bump version to 0.34.0 [skip ci] * chore: bump version to 0.35.0 [skip ci] * feat: add .mcp.json for MCP server configuration - Introduced `.mcp.json` with server details for managing MCP integrations - Defines `readme` server with HTTP type and URL endpoint configuration * chore: bump version to 0.36.0 [skip ci] * feat: implement complete team management flow with role-based access control - Add comprehensive team management system with proper role handling - Create TeamManagementPanel for team-specific management hub - Fix role case sensitivity issues (API returns lowercase, UI expects uppercase) - Implement proper team context routing for members and invites panels - Add teams API reference documentation for development reference - Update navigation hooks to support team management routing - Apply consistent max-w-md width constraints across all team panels - Support team switching, creation, joining, and leaving functionality 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: resolve role dropdown case sensitivity issue in TeamMembersPanel - Fix dropdown showing incorrect default role due to case mismatch - API returns lowercase roles ("admin", "member") but UI expects uppercase - Normalize member.role to uppercase in dropdown value and badge display - Ensures dropdown correctly shows actual member role instead of defaulting to first option 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: correct navigation flow from team management members/invites back to team management - Fix route detection to prioritize team management paths over regular team paths - Ensure back button from /team/manage/{id}/members goes to /team/manage/{id} instead of /team - Ensure back button from /team/manage/{id}/invites goes to /team/manage/{id} instead of /team - Replace unreliable document.referrer with proper URL path pattern matching - Add proper hierarchical navigation for team management flow 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add loading states for team members and invites pages - Add separate loading states (isLoadingMembers, isLoadingInvites) to team slice - Display spinner with "Loading members..." message while fetching team members - Display spinner with "Loading invites..." message while fetching team invites - Hide member count and show loading UI during fetch operations - Improve user experience by providing visual feedback during API calls - Ensure proper loading state management in Redux reducers 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * improve: enhance loading UX for team members and invites - Show existing data during refresh instead of hiding everything - Add subtle "Refreshing members..." indicator when data exists - Add subtle "Refreshing invites..." indicator when data exists - Only show full loading screen when no existing data (first load) - Use amber color for refresh indicators to distinguish from main loading - Maintain member/invite count visibility during refresh operations - Significantly better user experience with non-blocking refresh states 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: implement complete team edit and delete functionality - Add Team Settings button with modal to edit team name using updateTeam() API - Add Delete Team button with confirmation modal using deleteTeam() API - Prevent deletion of personal teams (safety check) - Include proper error handling with user-friendly messages - Add loading states for update/delete operations - Modal overlays with proper styling and responsive design - Navigate back to teams list after successful deletion - Refresh teams data after successful name update - Complete the remaining team management API integrations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add confirmation modals for all critical team management actions - Add confirmation modal for removing team members with impact explanation - Add confirmation modal for changing member roles with permission details - Add confirmation modal for revoking invite codes with validation info - Include specific warnings for admin role changes (granting/removing admin rights) - Display invite codes in confirmation modal for clarity - Maintain loading states during confirmation flow - Enhance user safety by preventing accidental critical actions - Follow consistent modal design patterns across all confirmations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add visual indicators for used/expired invite codes - Add status detection for expired and used up invites - Implement visual styling with reduced opacity for inactive invites - Add status badges (Expired/Used Up) next to invite codes - Disable copy button for inactive invites with visual feedback - Restrict revoke button to active invites only - Improve invite code styling based on status 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add confirmation modal for leaving teams - Add confirmation modal for team leave action matching other critical actions - Update handleLeaveTeam to show confirmation instead of immediate action - Add new confirmLeaveTeam function for actual leave operation - Include loading states and proper error handling in leave button - Show warning about losing access and needing new invite to rejoin 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
91 lines
3.0 KiB
JSON
91 lines
3.0 KiB
JSON
{
|
|
"name": "alphahuman",
|
|
"private": true,
|
|
"version": "0.36.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"dev:web": "vite",
|
|
"dev:app": "source scripts/load-dotenv.sh && tauri dev",
|
|
"build": "tsc && vite build",
|
|
"build:app": "yarn skills:build && tsc && vite build",
|
|
"compile": "tsc --noEmit",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"macos:build:debug": "yarn macos:build:release --debug",
|
|
"macos:build:release": "source scripts/load-dotenv.sh && tauri build --bundles app dmg",
|
|
"macos:build:sign:release": "source scripts/load-env.sh && tauri build --bundles app dmg",
|
|
"macos:run": "open 'src-tauri/target/debug/bundle/macos/AlphaHuman.app'",
|
|
"macos:dev": "yarn macos:build:debug && open 'src-tauri/target/debug/bundle/macos/AlphaHuman.app'",
|
|
"android:dev": "tauri android dev",
|
|
"android:build": "tauri android build",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"lint": "eslint . --ext .ts,.tsx",
|
|
"lint:fix": "eslint . --ext .ts,.tsx --fix",
|
|
"skills:build": "cd skills && yarn build",
|
|
"skills:watch": "cd skills && yarn build:watch",
|
|
"prepare": "husky"
|
|
},
|
|
"dependencies": {
|
|
"@reduxjs/toolkit": "^2.11.2",
|
|
"@sentry/react": "^10.38.0",
|
|
"@tauri-apps/api": "^2",
|
|
"@tauri-apps/plugin-deep-link": "^2",
|
|
"@tauri-apps/plugin-opener": "^2",
|
|
"@tauri-apps/plugin-os": "^2.3.2",
|
|
"@tauri-apps/plugin-shell": "~2",
|
|
"@types/react-router-dom": "^5.3.3",
|
|
"buffer": "^6.0.3",
|
|
"debug": "^4.4.3",
|
|
"immer": "^11.1.3",
|
|
"lottie-react": "^2.4.1",
|
|
"os-browserify": "^0.3.0",
|
|
"process": "^0.11.10",
|
|
"qrcode.react": "^4.2.0",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-redux": "^9.2.0",
|
|
"react-router-dom": "^7.13.0",
|
|
"redux-logger": "^3.0.6",
|
|
"redux-persist": "^6.0.0",
|
|
"socket.io-client": "^4.8.3",
|
|
"telegram": "^2.26.22",
|
|
"util": "^0.12.5",
|
|
"zustand": "^5.0.10"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.2",
|
|
"@tailwindcss/forms": "^0.5.11",
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@tauri-apps/cli": "^2",
|
|
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
"@types/debug": "^4.1.12",
|
|
"@types/node": "^25.0.10",
|
|
"@types/react": "^19.1.8",
|
|
"@types/react-dom": "^19.1.6",
|
|
"@types/redux-logger": "^3.0.13",
|
|
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
"@typescript-eslint/parser": "^8.54.0",
|
|
"@vitejs/plugin-react": "^4.6.0",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"autoprefixer": "^10.4.23",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"husky": "^9.1.7",
|
|
"postcss": "^8.5.6",
|
|
"prettier": "^3.8.1",
|
|
"tailwindcss": "^3.4.19",
|
|
"typescript": "~5.8.3",
|
|
"vite": "^7.0.4",
|
|
"vite-plugin-node-polyfills": "^0.25.0",
|
|
"vitest": "^4.0.18"
|
|
}
|
|
}
|