Skip to content

Comments

Team invitation and notificaton for members#218

Merged
jankapunkt merged 23 commits intomainfrom
fix/team-invitation
Dec 15, 2025
Merged

Team invitation and notificaton for members#218
jankapunkt merged 23 commits intomainfrom
fix/team-invitation

Conversation

@jankapunkt
Copy link
Member

This PR introduces a config for .env files to optionally switch between two modes:

  • invitation mode - new team members receive an invitation and must explicitly accept
  • notification mode - new members are immediately added but receive a notifcation (which team, by whom, link to project)

@jankapunkt jankapunkt requested a review from Copilot December 2, 2025 11:43
@jankapunkt jankapunkt self-assigned this Dec 2, 2025
@jankapunkt jankapunkt added the enhancement New feature or request label Dec 2, 2025
@jankapunkt jankapunkt added this to the 1.1.0 milestone Dec 2, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces configurable team member management modes - invitation mode (requiring explicit acceptance) and notification mode (immediate addition with notification). The implementation includes email notifications, null-safe handling for optional source data in the coding interface, and various UI improvements.

Key changes:

  • Added TEAM_INVITATION_REQUIRED environment configuration to toggle between invitation and notification modes
  • Implemented notification email functionality when team members are added directly
  • Enhanced coding page to handle scenarios where no source is available

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
web/.env.example Added TEAM_INVITATION_REQUIRED configuration option
web/config/jetstream.php Configured team features based on invitation requirement setting
web/app/Mail/TeamMemberAddedNotification.php New mailable class for notifying users when added to teams
web/resources/views/emails/team-added.blade.php Email template for team member added notifications
web/app/Actions/Jetstream/AddTeamMember.php Added email notification when members are directly added to teams
web/app/Actions/Jetstream/InviteTeamMember.php Added validation requiring users to exist before invitation
web/app/Http/Controllers/CodingController.php Refactored to handle cases where no locked source exists
web/resources/js/Pages/CodingPage.vue Added fallback UI and messaging when no source is available
web/resources/js/domain/codes/useCodes.js Added null-safe access for source properties
web/resources/js/Pages/coding/selections/useSelections.js Added null-safe access for source ID
web/resources/js/form/InputField.vue Adjusted placeholder opacity for better visibility
web/resources/js/Pages/Teams/Partials/TeamMemberManager.vue Updated cancel invitation button styling and improved leave team dialog message
web/resources/js/Pages/Projects/ProjectsListMenu.vue Enhanced project list icons to distinguish between owners and collaborators

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Dec 2, 2025

@jankapunkt I've opened a new pull request, #219, to work on those changes. Once the pull request is ready, I'll request review from you.

@jankapunkt jankapunkt requested review from hohse and kadewe December 4, 2025 07:48
@jankapunkt jankapunkt added live (staging) This is live and ready to be field-tested on our staging system and removed live (staging) This is live and ready to be field-tested on our staging system labels Dec 4, 2025
…ontroller (#219)

* Initial plan

* fix: add path validation to prevent arbitrary file read in CodingController and SourceController

Co-authored-by: jankapunkt <[email protected]>

* refactor: extract validateStoragePath to trait and improve path validation security

Co-authored-by: jankapunkt <[email protected]>

* fix: create test file in test_update_source_content to pass path validation

Co-authored-by: jankapunkt <[email protected]>

---------

Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: jankapunkt <[email protected]>
@jankapunkt jankapunkt added the live (staging) This is live and ready to be field-tested on our staging system label Dec 9, 2025
Copy link
Contributor

@kadewe kadewe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ok for me for now to have this option configured in an .env file for deployment. We may have to keep this in mind when we have a more out of a box deployment installer and an SITE_ADMIN role for running an instance

@jankapunkt jankapunkt merged commit c64dc3d into main Dec 15, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request live (staging) This is live and ready to be field-tested on our staging system

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants