Skip to content

Merging changes to master#390

Merged
Dharp02 merged 78 commits into
masterfrom
main
Jun 28, 2026
Merged

Merging changes to master#390
Dharp02 merged 78 commits into
masterfrom
main

Conversation

@Dharp02

@Dharp02 Dharp02 commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

mfisher31 and others added 30 commits June 11, 2026 13:06
Fix org-scoped team and ticket creation
Fix: Video upload from the device is fixed in browser
- Migrate Tailwind CSS 4 class names (bg-gradient-to-br → bg-linear-to-br, etc.)
- Remove unused Haptics/ImpactStyle imports from AppLayout
- Fix tsconfig.json syntax and ignoreDeprecations value
- Apply Prettier formatting to all files
- Format backend timer.service.ts

All checks now pass: lint, format, typecheck, test
timer: don't prompt to clock in if already clocked in
…p-link

Notifications do not properly deep link
ui: consistently round durations and time stamps
- Add SeederPage with CodeMirror YAML editor and preset cards (Team, Org+Team, Single User)
- Seeder route accepts optional orgId to add top-level teams to the selected org
- Top-level teams in YAML land in the session's current org via useTeam()
- Remove full-enterprise preset; replace with 5-member Team preset
- Rename seed-import files to seeder for consistency
- Link seeded orgs to the default enterprise so they appear in the org selector

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
mfisher31 and others added 29 commits June 18, 2026 00:37
…to-the-reported-issues-on-huddle

Replaced the report a bug modal with a pollenate feedback page modal
…change-to-unassigned

Fix: Tickets when unassigned will remove all the users to whom tickets get assigned
Remove TodayStatusCard component from WorkPage to eliminate duplicate
display of clock-in status and active ticket. The component remains
available for use in ProfilePage and other locations.

Fixes #360
Remove @capacitor/local-notifications from iOS and npm dependencies
as it is not used anywhere in the codebase.
Implement a team join request system where invited users are added as pending members until approved by team admins.

Backend changes:
- Add TeamJoinRequest model and collection
- Add team-join-request controller and service
- Add notification routes for join request preview and response
- Update team service to handle pending member status
- Add migration for team join request indexes
- Update push notification service for join request types

Frontend changes:
- Add PendingJoinRequests component to display pending requests
- Update NotificationsPage with join request handling
- Update TeamMembersView to show pending members
- Update TeamsPage to include pending requests section
- Update API types and client for join request endpoints
- Update TeamContext to handle pending members
- Update push notification client for new notification types

This feature ensures team admins can review and approve user access before they can fully participate in the team.
…admins-when-inviting-user-to-teams

Pending status until accepted by admins when inviting user to teams
- Add like toggle functionality for huddle posts
- Implement comment system with mentions support
- Add migration for likes and commentCount fields
- Create HuddleComment model with Mongoose
- Add controller methods for toggleLike, addComment, getComments, deleteComment
- Add REST API routes for likes and comments
- Implement real-time comment updates via WebSocket
- Add HuddleComments UI component with comment list and composer
- Update PostCard to show like/comment counts and toggle UI
- Add API client methods for likes and comments
- Update AppLayout with comment event listener
- Add framer-motion dependency for UI animations
Resolved conflicts:
- backend/src/models/index.ts: Include both HuddlePost/HuddleComment and TeamJoinRequest imports
- backend/src/server.ts: Merge bodyLimit and trustProxy Fastify options
- package.json: Include all dependencies from both branches (@capacitor/share, @codemirror packages, katex, mermaid, date-fns)
- src/ui/AppLayout.tsx: Handle both huddle notifications and team join request notifications
- package-lock.json: Regenerated via npm install
Applied automatic formatting to resolve CI failures:
- Backend huddle files (controller, routes, services)
- Frontend huddle components
- Documentation files
- API integration files
Fixes TS2339 error where teamApi.getTeams() returns an object with teams property,
not a Team array directly. Using getTeamsOnly() which returns Team[] directly.
Added Newsfeed, likes and comments functionality to huddle posts
clock: avoid duplicate/overlapping clocks.
Implement comprehensive user blocking functionality with organization-level
granularity and intelligent blocking logic that handles multi-org scenarios.

Backend Changes:
- Add Better Auth hooks to prevent blocked users from signing in (all auth methods)
- Add session.create hook to block users blocked from ALL their orgs
- Add user.create hook to prevent signup with blocked email addresses
- Auto-cleanup stale blocking records when user is re-added to org
- Auto-readd users as members when unblocking
- Add block/unblock endpoints with reason tracking
- Add migration for user.blocked field (array of org-level blocks)
- Add activity log events for blocking/unblocking

Frontend Changes:
- Add blockMessage to session context to expose blocking errors
- Display user-friendly blocking messages in LoginForm
- Add Block/Unblock UI in OrganizationMembersPage with reason dialog
- Handle blocking errors for both email and GitHub OAuth sign-in
- Prevent blocked emails from creating new accounts

Blocking Behavior:
- User blocked from SOME orgs → can sign in, blocked orgs invisible
- User blocked from ALL orgs → cannot sign in at all, clear error message
- Stale blocks (user re-added manually) → ignored and cleaned up automatically
- GitHub OAuth → blocked via same session hook as email auth
- Unblocking → automatically restores org membership

Tests:
- All 26 organization tests pass including enhanced unblock verification
Add User Blocking System with Smart Session Management
@Dharp02 Dharp02 merged commit 8ed3a4d into master Jun 28, 2026
9 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants