Skip to content

Comments

[WEB-2589] Chore: inbox issue permissions#5763

Merged
pushya22 merged 4 commits intopreviewfrom
chore/inbox-issue-permissions
Oct 9, 2024
Merged

[WEB-2589] Chore: inbox issue permissions#5763
pushya22 merged 4 commits intopreviewfrom
chore/inbox-issue-permissions

Conversation

@gakshita
Copy link
Collaborator

@gakshita gakshita commented Oct 7, 2024

Summary

  • Only admin will be able to edit intake issue other that he intake issue creator
  • Only admin will be able to accept, deny, snooze , mark duplicate for an intake issue

[WEB-2589]

Summary by CodeRabbit

Release Notes

  • New Features

    • Enhanced permission handling for inbox issue actions, restricting certain functionalities to project admins only.
    • Added toast notifications for users attempting actions without the necessary permissions.
  • Bug Fixes

    • Improved error handling and standardized messages for permission-related actions.
  • Refactor

    • Streamlined logic for creating and updating inbox issues to improve maintainability.
    • Updated permission logic for editing inbox issues, requiring higher role thresholds for certain actions.

These updates ensure a more secure and user-friendly experience when managing inbox issues.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 7, 2024

Warning

Rate limit exceeded

@gakshita has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 1 minutes and 45 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Files that changed from the base of the PR and between d4b9544 and 7feafba.

Walkthrough

The changes in this pull request primarily focus on enhancing user permission controls and state management for inbox issues across several components and API endpoints. Key modifications include tightening access for editing inbox issues based on user roles, refining state transition logic, standardizing error handling, and implementing permission checks in UI components. These updates ensure that only authorized users can perform specific actions related to inbox issues, thereby improving overall control flow and user feedback.

Changes

File Path Change Summary
apiserver/plane/api/views/inbox.py Updated InboxIssueAPIEndpoint to modify permission logic (role threshold changed from > 5 to > 15), refined state management for issue acceptance, standardized error messages, and adjusted activity logging conditions.
apiserver/plane/app/views/inbox/base.py Modified InboxIssueViewSet to restrict partial_update permissions to ADMIN only, updated role check to > 15, retained activity logging, and preserved error handling logic.
web/core/components/inbox/content/inbox-issue-header.tsx Enhanced InboxIssueActionsHeader with isProjectAdmin check for actions like accept/decline, added toast notifications for permission denial, and modified action handlers accordingly.
web/core/components/inbox/content/inbox-issue-mobile-header.tsx Updated InboxIssueActionsMobileHeader to include isProjectAdmin in props, implemented permission checks for actions, and added toast notifications for non-admin users.
web/core/components/inbox/content/root.tsx Adjusted InboxContentRoot to restrict isEditable state to ADMIN permissions or issue creator, maintained existing data fetching and rendering logic.
web/core/store/inbox/project-inbox.store.ts Modified fetchInboxIssueById to replace direct assignment with createOrUpdateInboxIssue method for better maintainability and batch processing of inbox issues.

Possibly related PRs

Suggested labels

🐛bug, 🌐frontend, ⚙️backend, 🧹chore

Suggested reviewers

  • sriramveeraghanta
  • SatishGandham
  • rahulramesha
  • pablohashescobar

Poem

In the inbox where issues play,
Permissions guard the light of day.
Admins reign with roles so bright,
While others watch, their hopes in sight.
A toast for those who strive and try,
To manage issues as they fly! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@gakshita gakshita requested a review from rahulramesha October 7, 2024 11:56
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Outside diff range and nitpick comments (1)
web/core/components/inbox/content/inbox-issue-header.tsx (1)

Line range hint 1-448: Overall assessment: Well-implemented permission checks

The changes in this file consistently implement permission checks for various inbox issue actions, aligning well with the PR objectives. The use of the isProjectAdmin variable and toast notifications for feedback is a good approach. However, clarification is needed regarding the inclusion of the snooze functionality in the admin-only actions, as it wasn't explicitly mentioned in the PR objectives.

Some suggestions for further improvement:

  1. Consider extracting the permission check and toast notification logic into a separate function to reduce code duplication.
  2. Update the PR description to include the snooze functionality restriction if it was intentionally added to the scope.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between c92fe61 and f14fd33.

📒 Files selected for processing (6)
  • apiserver/plane/api/views/inbox.py (1 hunks)
  • apiserver/plane/app/views/inbox/base.py (2 hunks)
  • web/core/components/inbox/content/inbox-issue-header.tsx (6 hunks)
  • web/core/components/inbox/content/inbox-issue-mobile-header.tsx (4 hunks)
  • web/core/components/inbox/content/root.tsx (1 hunks)
  • web/core/store/inbox/project-inbox.store.ts (1 hunks)
🧰 Additional context used
🔇 Additional comments (11)
web/core/components/inbox/content/root.tsx (2)

65-67: Consider UX implications and edge cases

While the permission changes are correctly implemented, consider the following:

  1. Ensure the UI clearly reflects these new permission restrictions to avoid user confusion.
  2. Update any relevant documentation or user guides to explain the new permission model.
  3. Consider adding a comment explaining the permission logic for future maintainability.

To address point 1, let's check if there are any UI components that need updating:

This will help identify any UI components that might need to be updated to reflect the new permission model.


65-67: LGTM: Permission logic updated as per requirements.

The changes to the isEditable logic correctly implement the new permission requirements. Only admin users or the creator of the inbox issue can now edit it, which aligns with the PR objectives.

To ensure consistency, let's verify if similar permission checks are implemented elsewhere in the codebase:

This will help us identify if the same permission logic is applied consistently across the application.

✅ Verification successful

To address the errors in the previous script, here's a corrected version to search for similar permission checks:


To successfully search for similar permission checks, please run the following corrected script:


Verified: Permission logic is consistent across the codebase.

The changes to the isEditable logic align with existing permission checks throughout the codebase, ensuring only admin users or the issue creator can edit inbox issues.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for similar permission checks in other files

# Test: Look for similar permission checks
rg --type typescript --type javascript -e "allowPermissions\(\[.*ADMIN.*\].*\)" -e "created_by.*===.*currentUser.*id"

Length of output: 213


Script:

#!/bin/bash
# Description: Search for similar permission checks in other files

# Test: Look for similar permission checks
rg --type=typescript --type=javascript -e "allowPermissions\\(\\[.*ADMIN.*\\].*\\)" -e "created_by\\s*===\\s*currentUser\\s*\\.id"

Length of output: 159


Script:

#!/bin/bash
# Description: Search for similar permission checks in TypeScript and JavaScript files

# Find all .ts and .tsx files and search for the permission patterns
fd -e ts -e tsx -e js -e jsx | xargs rg -e "allowPermissions\(\[.*ADMIN.*\].*\)" -e "created_by\s*===\s*currentUser\s*\.id"

Length of output: 7117

web/core/components/inbox/content/inbox-issue-header.tsx (5)

92-97: LGTM: Addition of isProjectAdmin variable

The introduction of the isProjectAdmin variable is a good approach to centralize the admin permission check. This aligns well with the PR objectives of restricting certain actions to admin users only.


302-310: LGTM: Permission check for accepting issues

The implementation of the permission check for accepting issues is correct and aligns with the PR objectives. The use of a toast notification for non-admin users provides clear feedback, enhancing the user experience.


324-332: LGTM: Permission check for declining issues

The implementation of the permission check for declining issues is correct and consistent with the changes made for accepting issues. This ensures that only admin users can decline issues, as specified in the PR objectives.


386-396: LGTM: Permission check for marking issues as duplicates

The implementation of the permission check for marking issues as duplicates is correct and aligns with the PR objectives. This ensures that only admin users can perform this action, as specified. The consistent use of toast notifications for feedback is a good practice.


366-376: LGTM with a question: Permission check for snoozing issues

The implementation of the permission check for snoozing issues is consistent with other changes and provides appropriate user feedback. However, the PR objectives didn't explicitly mention restricting the snooze functionality to admin users. Could you clarify if this was an intentional addition to the scope of the PR?

web/core/store/inbox/project-inbox.store.ts (1)

426-426: Excellent refactoring to improve code maintainability

The change to use this.createOrUpdateInboxIssue([inboxIssue], workspaceSlug, projectId) instead of directly assigning a new InboxIssueStore instance is a great improvement. This refactoring:

  1. Consolidates the logic for creating or updating inbox issues into a single method.
  2. Reduces code duplication, adhering to the DRY principle.
  3. Provides a consistent interface for handling both single and multiple issues.

These changes enhance the overall maintainability and readability of the codebase.

web/core/components/inbox/content/inbox-issue-mobile-header.tsx (2)

18-18: Import of TOAST_TYPE and setToast is appropriate

The addition of TOAST_TYPE and setToast from @plane/ui enables the display of toast notifications, which is necessary for informing users about permission issues.


50-50: Addition of isProjectAdmin prop for permission checks

Introducing the isProjectAdmin: boolean prop and destructuring it from props is appropriate. This allows the component to conditionally render actions based on the user's admin status.

Also applies to: 74-74

apiserver/plane/api/views/inbox.py (1)

Line range hint 288-332: Ensure role permissions accurately reflect admin access

The condition if project_member.role > 15: is intended to allow only admin users to edit inbox issue attributes. However, depending on how roles are defined in your system, this comparison may not correctly restrict access to admins.

Assuming role values are:

  • Guest: 5
  • Member: 15
  • Admin: 20

Using project_member.role > 15 would allow roles with values 16 and above to have access, which might include roles that are not admins. To ensure that only admins can edit inbox issues, consider updating the condition to check for admin roles explicitly.

Apply this diff to correct the role check:

-if project_member.role > 15:
+if project_member.role >= 20:

Run the following script to confirm the role values defined for ProjectMember:

✅ Verification successful

Role permission check is correctly implemented

The condition if project_member.role > 15: appropriately restricts access to only admin users based on the defined role values.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the numerical values assigned to different roles.

# Expected: Find definitions or mappings of role values to role names.

rg --type python 'ROLE_' -A 2 -B 2

Length of output: 65


Script:

#!/bin/bash
# Description: Verify the numerical values assigned to different roles by searching for ROLE_ definitions in Python files.

# Expected: Find definitions or mappings of role values to role names.

rg 'ROLE_' --glob '*.py' -A 2 -B 2

Length of output: 2980

Comment on lines 203 to 206
type: TOAST_TYPE.ERROR,
title: "Permission denied",
message: "Only project admins can deny issues",
})
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Ensure consistent terminology: Use "decline" instead of "deny"

In the error message on line 205, the term "deny" is used, whereas the corresponding action is labeled "Decline" elsewhere in the code and UI. For consistency and to avoid confusion, replace "deny" with "decline" in the error message.

Apply this diff to correct the terminology:

             type: TOAST_TYPE.ERROR,
             title: "Permission denied",
-            message: "Only project admins can deny issues",
+            message: "Only project admins can decline issues",
           })
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
type: TOAST_TYPE.ERROR,
title: "Permission denied",
message: "Only project admins can deny issues",
})
type: TOAST_TYPE.ERROR,
title: "Permission denied",
message: "Only project admins can decline issues",
})

Comment on lines +326 to 329
@allow_permission(allowed_roles=[ROLE.ADMIN], creator=True, model=Issue)
def partial_update(self, request, slug, project_id, pk):
inbox_id = Inbox.objects.filter(
workspace__slug=slug, project_id=project_id
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Incorrect role check in access control logic

The condition in the partial_update method may not correctly enforce the intended access control. The current condition:

if project_member.role <= 5 and str(inbox_issue.created_by_id) != str(request.user.id):
    return Response(
        {"error": "You cannot edit inbox issues"},
        status=status.HTTP_400_BAD_REQUEST,
    )

Given that roles with lower numerical values indicate higher privileges (e.g., ROLE.ADMIN = 5, ROLE.MEMBER = 15, ROLE.GUEST = 20), this condition will deny access to admins who are not the creator, which might not be intended. The comment suggests that only project admins and the creator should access this endpoint.

Consider adjusting the condition to allow admins and the creator to proceed:

-if project_member.role <= 5 and str(inbox_issue.created_by_id) != str(request.user.id):
+if project_member.role > 5 and str(inbox_issue.created_by_id) != str(request.user.id):
    return Response(
        {"error": "You cannot edit inbox issues"},
        status=status.HTTP_400_BAD_REQUEST,
    )

This change ensures that users who are not admins (role > 5) and are not the creator are denied access, aligning with the intended access control logic.

Comment on lines +421 to 423
if project_member.role > 15:
serializer = InboxIssueSerializer(
inbox_issue, data=request.data, partial=True
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Role condition may incorrectly restrict member access

At line 421, the condition:

if project_member.role > 15:
    serializer = InboxIssueSerializer(
        inbox_issue, data=request.data, partial=True
    )
    # Additional logic...

This condition allows only users with a role greater than 15 (typically guests) to edit inbox issue attributes. According to the comment:

# Only project admins and members can edit inbox issue attributes

Adjust the condition to include admins and members by changing the comparison operator:

-if project_member.role > 15:
+if project_member.role <= 15:
    serializer = InboxIssueSerializer(
        inbox_issue, data=request.data, partial=True
    )

This modification ensures that users with roles of admin (role <= 5) and member (5 < role <= 15) can edit inbox issue attributes, adhering to the intended permission structure.

@sriramveeraghanta sriramveeraghanta added this to the v0.24.0 milestone Oct 8, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Outside diff range and nitpick comments (2)
web/core/components/inbox/content/inbox-issue-mobile-header.tsx (1)

151-152: Standardize terminology: Use "Unsnooze" without a hyphen

Consider using "Unsnooze" instead of "Un-snooze" to maintain consistency and adhere to standard spelling conventions.

web/core/components/inbox/content/inbox-issue-header.tsx (1)

208-218: Rename handleActionWithPermission for clarity

The function handleActionWithPermission executes an action based on admin permissions. To enhance readability and adhere to naming conventions, consider renaming it to something more descriptive, such as executeIfAdmin or executeWithAdminCheck.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between f14fd33 and d4b9544.

📒 Files selected for processing (2)
  • web/core/components/inbox/content/inbox-issue-header.tsx (7 hunks)
  • web/core/components/inbox/content/inbox-issue-mobile-header.tsx (4 hunks)
🧰 Additional context used
🔇 Additional comments (4)
web/core/components/inbox/content/inbox-issue-mobile-header.tsx (3)

146-154: Good use of helper function to reduce code duplication

Replacing repeated permission checks with handleActionWithPermission enhances code readability and adheres to the DRY principle.


162-170: Consistent application of handleActionWithPermission

Utilizing the helper function here maintains consistency across permission checks and improves maintainability.


178-186: Consistent application of handleActionWithPermission

Using the helper function for permission checks enhances code clarity and adheres to best practices.

web/core/components/inbox/content/inbox-issue-header.tsx (1)

449-450: Verify mobile header enforces admin permissions

By passing isProjectAdmin and handleActionWithPermission to InboxIssueActionsMobileHeader, you're aiming to enforce permission checks in the mobile view. Ensure that this component correctly utilizes these props to restrict admin-only actions and hides or disables them for non-admin users.

Run the following script to verify the usage:

Expected Result:

The output should show that InboxIssueActionsMobileHeader uses isProjectAdmin and handleActionWithPermission to enforce admin-only actions appropriately.

Comment on lines +92 to +97
const isProjectAdmin = allowPermissions(
[EUserPermissions.ADMIN],
EUserPermissionsLevel.PROJECT,
workspaceSlug,
projectId
);
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Standardize permission variables for consistency

You have introduced isProjectAdmin to specifically check for admin permissions. However, earlier in the code, permission checks use isAllowed, which includes both admin and member levels. Since the actions like accepting, declining, snoozing, and marking as duplicate are now intended for admins only, consider updating the related permission variables to use isProjectAdmin directly. This will ensure consistency and reduce the risk of permission mismatches.

Comment on lines +313 to +319
onClick={() =>
handleActionWithPermission(
isProjectAdmin,
() => setAcceptIssueModal(true),
"Only project admins can accept issues"
)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Synchronize button enablement with admin permissions

The "Accept" button's onClick handler correctly checks for admin permissions using isProjectAdmin. However, the button's availability is determined by canMarkAsAccepted, which is based on isAllowed and might include non-admin users. This could lead to non-admin users seeing the button enabled but encountering a permission error upon clicking. To prevent this confusion, update canMarkAsAccepted to utilize isProjectAdmin.

Apply this diff to update canMarkAsAccepted:

- const canMarkAsAccepted = isAllowed && (inboxIssue?.status === 0 || inboxIssue?.status === -2);
+ const canMarkAsAccepted = isProjectAdmin && (inboxIssue?.status === 0 || inboxIssue?.status === -2);

Committable suggestion was skipped due to low confidence.

Comment on lines +391 to +399
<CustomMenu.MenuItem
onClick={() =>
handleActionWithPermission(
isProjectAdmin,
() => setSelectDuplicateIssue(true),
"Only project admins can mark issues as duplicate"
)
}
>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Ensure "Mark as duplicate" action is admin-only

The "Mark as duplicate" action should be accessible only to project admins. Currently, non-admin users might see this option due to the condition based on canMarkAsDuplicate, which uses isAllowed. Update the condition to include isProjectAdmin to restrict this action appropriately.

Apply this diff to update the visibility condition:

- {canMarkAsDuplicate && (
+ {isProjectAdmin && canMarkAsDuplicate && (

Committable suggestion was skipped due to low confidence.

Comment on lines +373 to +381
<CustomMenu.MenuItem
onClick={() =>
handleActionWithPermission(
isProjectAdmin,
handleIssueSnoozeAction,
"Only project admins can snooze/Un-snooze issues"
)
}
>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Restrict "Snooze" action to admins in the menu

The "Snooze" menu item's onClick handler checks for admin permissions using isProjectAdmin, but the menu item is displayed based on canMarkAsAccepted, which might include non-admin users. To ensure consistency and prevent non-admin users from seeing actions they cannot perform, update the condition to display the "Snooze" menu item only for admins.

Apply this diff to adjust the menu item's visibility:

- {canMarkAsAccepted && (
+ {isProjectAdmin && canMarkAsAccepted && (

Committable suggestion was skipped due to low confidence.

Comment on lines +333 to +339
onClick={() =>
handleActionWithPermission(
isProjectAdmin,
() => setDeclineIssueModal(true),
"Only project admins can deny issues"
)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Align "Decline" button availability with admin permissions

Similarly, the "Decline" button should reflect admin-only permissions in both its availability and action handling. Update canMarkAsDeclined to use isProjectAdmin to ensure the button is only enabled for admins, preventing non-admin users from accessing this action.

Apply this diff to update canMarkAsDeclined:

- const canMarkAsDeclined = isAllowed && (inboxIssue?.status === 0 || inboxIssue?.status === -2);
+ const canMarkAsDeclined = isProjectAdmin && (inboxIssue?.status === 0 || inboxIssue?.status === -2);

Committable suggestion was skipped due to low confidence.

@pushya22 pushya22 merged commit 45880b3 into preview Oct 9, 2024
@pushya22 pushya22 deleted the chore/inbox-issue-permissions branch October 9, 2024 12:18
sriramveeraghanta pushed a commit that referenced this pull request Oct 10, 2024
* chore: changed permission in inbox issue

* chore: fixed permissions for intake

* fix: refactoring

* fix: lint

---------

Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
@sriramveeraghanta sriramveeraghanta modified the milestones: v0.24.0, v0.23.1 Oct 10, 2024
@coderabbitai coderabbitai bot mentioned this pull request Nov 7, 2024
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.

5 participants