fix: member status visibility, team creation improvements, join approval flow

- Fix other members' status not visible due to users collection viewRule restriction
- Fix empty status treated as 'away' instead of 'idle' in membersByStatus
- Auto-set creator to 'in_team' status when creating team session
- Filter current user from idle members invite list
- Fix group store isGroupOwner using pb.authStore instead of localStorage
- Add nginx no-cache headers for index.html
- Add join_requests collection migration and join approval flow
- Update groups collection rules and add requireApproval field
- Add Memory types for Phase 2 planning

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
congsh
2026-04-18 10:42:11 +08:00
parent 4dac4bc751
commit 3ae141ba56
14 changed files with 304 additions and 8 deletions
@@ -2,6 +2,7 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useGroupStore } from '@/stores/group'
import { useUserStore } from '@/stores/user'
import type { UserStatus } from '@/types'
import { sendInvitation } from '@/api/invitations'
import { ElMessage } from 'element-plus'
@@ -15,9 +16,10 @@ const props = withDefaults(defineProps<Props>(), {
})
const groupStore = useGroupStore()
const userStore = useUserStore()
const idleMembers = computed(() =>
groupStore.currentMembers.filter(m => m.status === props.status)
groupStore.currentMembers.filter(m => m.status === props.status && m.id !== userStore.userId)
)
async function inviteMember(userId: string, username: string) {