Skip to content

Feature/tags and subtasks#24346

Merged
raycastbot merged 14 commits intoraycast:mainfrom
abcd-ca:feature/tags-and-subtasks
Jan 23, 2026
Merged

Feature/tags and subtasks#24346
raycastbot merged 14 commits intoraycast:mainfrom
abcd-ca:feature/tags-and-subtasks

Conversation

@abcd-ca
Copy link
Copy Markdown
Contributor

@abcd-ca abcd-ca commented Jan 9, 2026

Description

  1. Tag Management - Add/remove tags from tasks
  2. Subtasks Support - View, create subtasks; convert tasks to/from subtasks
  3. Task Renaming - Rename tasks and subtasks

Screencast

https://youtu.be/fc_1RrHIHto

Checklist

Add a "Change Tags" submenu to task actions that allows users to add or    remove existing workspace tags from tasks.
subtasks have same actions as tasks
Add three new actions:
1. "Convert to Subtask" - For tasks only, pick a parent task
2. "Convert to Task" - For subtasks only, remove parent relationship
3. "Add Subtask" - For tasks only, create subtask with inherited project/section and assignee option
@raycastbot raycastbot added extension fix / improvement Label for PRs with extension's fix improvements extension: asana Issues related to the asana extension platform: macOS platform: Windows OP is contributor The OP of the PR is a contributor of the extension labels Jan 9, 2026
@raycastbot
Copy link
Copy Markdown
Collaborator

raycastbot commented Jan 9, 2026

Thank you for your contribution! 🎉

🔔 @thomaslombart @spaceDolph1n @tuzemec @xmok @abcd-ca you might want to have a look.

You can use this guide to learn how to check out the Pull Request locally in order to test it.

📋 Quick checkout commands
BRANCH="feature/tags-and-subtasks"
FORK_URL="https://github.com/abcd-ca/ray-cast-extension-asana.git"
EXTENSION_NAME="asana"
REPO_NAME="ray-cast-extension-asana"

git clone -n --depth=1 --filter=tree:0 -b $BRANCH $FORK_URL
cd $REPO_NAME
git sparse-checkout set --no-cone "extensions/$EXTENSION_NAME"
git checkout
cd "extensions/$EXTENSION_NAME"
npm install && npm run dev

Due to our current reduced availability, the initial review may take up to 10-15 business days.

@abcd-ca abcd-ca marked this pull request as ready for review January 9, 2026 23:00
@abcd-ca abcd-ca marked this pull request as draft January 9, 2026 23:04
Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Overview

Greptile Summary

This PR adds three significant features to the Asana extension:

  1. Subtasks Support: Users can now view, create, and manage subtasks. The implementation includes:

    • Viewing subtasks in task detail view with a checklist display
    • Creating new subtasks with assignee, description, and due date
    • Converting tasks to subtasks and vice versa
    • Preventing circular dependencies by filtering subtasks from parent selection
  2. Tag Management: Users can add and remove tags from existing tasks through a new submenu with lazy-loaded tag data.

  3. Task Renaming: A simple form to rename tasks and subtasks with optimistic updates.

The implementation follows existing patterns in the codebase with proper error handling, optimistic updates, and TypeScript typing. However, there are a few issues that need attention:

  • Keyboard shortcut conflict between "View Subtasks" and "Move to Section" actions
  • Missing cache mutation when creating subtasks from task actions, leading to stale subtask counts
  • Minor date typo in the CHANGELOG (2026 instead of 2025)

The API integration is clean, reusing the existing request infrastructure. The new components (CreateSubtaskForm, ParentTaskPicker, RenameTaskForm, SubtasksList) are well-structured and follow Raycast UI patterns.

Confidence Score: 3/5

  • This PR has solid implementation but contains logical issues that will cause UX problems
  • The code quality is generally good with proper error handling and follows existing patterns. However, the keyboard shortcut conflict will cause one action to not work as expected, and the missing mutateSubtasks prop will lead to stale data requiring manual refreshes. These are functional bugs that will impact user experience. The CHANGELOG date issue is minor but should be fixed.
  • Pay close attention to TaskActions.tsx and TaskDetail.tsx - they contain the keyboard shortcut conflict and cache mutation issues

Important Files Changed

File Analysis

Filename Score Overview
extensions/asana/CHANGELOG.md 4/5 Changelog updated with new features; minor date typo (2026 instead of 2025)
extensions/asana/src/api/tasks.ts 5/5 Added subtask APIs and parent field to Task type; clean implementation with proper typing
extensions/asana/src/components/TaskActions.tsx 3/5 Added subtask/tag actions and rename functionality; keyboard shortcut conflict and missing mutateSubtasks prop
extensions/asana/src/components/TaskDetail.tsx 3/5 Enhanced with subtasks display and actions; keyboard shortcut conflict with existing actions

@abcd-ca abcd-ca marked this pull request as ready for review January 9, 2026 23:35
@abcd-ca
Copy link
Copy Markdown
Contributor Author

abcd-ca commented Jan 9, 2026

@pernielsentikaer Hello, may I ask you to review, please?

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Jan 9, 2026

Greptile Summary

This PR adds three features to the Asana extension: tag management (add/remove tags from tasks), subtask support (view, create, and convert between tasks/subtasks), and task renaming. The implementation follows established architectural patterns with proper API endpoints, custom hooks, and component structure. The code demonstrates solid understanding of the codebase's mutation patterns and error handling.

Key Changes:

  • New tags.ts API module with add/remove tag operations
  • Extended tasks.ts with subtask creation, parent management, and search functionality
  • New hooks: useTags, useSubtasks, and useSearchTasks
  • New components: CreateSubtaskForm, SubtasksList, ParentTaskPicker, RenameTaskForm
  • Enhanced TaskActions with tag management and subtask creation
  • Enhanced TaskDetail to display subtasks and integrate with new features

Issues Found:

  1. CHANGELOG.md uses future date instead of {PR_MERGE_DATE} placeholder (violates changelog policy)
  2. Keyboard shortcut conflict: "View Subtasks" uses Cmd+Shift+S which conflicts with "Move to Section" action

Confidence Score: 3/5

  • This PR is safe to merge after fixing the changelog date format and resolving the keyboard shortcut conflict.
  • The implementation quality is high with proper API integration, component structure, and mutation handling. However, the score is reduced due to two concrete issues: (1) CHANGELOG.md violates the required {PR_MERGE_DATE} placeholder format as per custom rule, which must be fixed before merge, and (2) a keyboard shortcut conflict that creates confusing UX when both "View Subtasks" and "Move to Section" actions are available in TaskDetail. These are blockers that need resolution.
  • extensions/asana/CHANGELOG.md (date format issue) and extensions/asana/src/components/TaskDetail.tsx (keyboard shortcut conflict)

Important Files Changed

Filename Overview
extensions/asana/CHANGELOG.md Changelog entry uses future date "2026-01-09" instead of {PR_MERGE_DATE} placeholder, violating changelog formatting standards.
extensions/asana/src/api/tasks.ts Task API updates are correct. Adds subtask operations and parent management. Field selections are consistent with existing patterns.
extensions/asana/src/components/CreateSubtaskForm.tsx Subtask creation form is well-structured with proper payload construction, membership handling, and mutation support.
extensions/asana/src/components/TaskDetail.tsx TaskDetail properly integrates subtask support and displays them. However, "View Subtasks" action uses Cmd+Shift+S which conflicts with "Move to Section" action keyboard shortcut.
extensions/asana/src/components/TaskActions.tsx TaskActions component correctly implements tag management, subtask creation, and parent conversion features with proper mutations and error handling. All required mutation functions are properly passed through.

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@@ -1,5 +1,13 @@
# Asana Changelog

## [Add subtasks support and tag management] - 2026-01-09
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the date "2026-01-09" is in the future. This should likely be "2025-01-09" (current year).

Suggested change
## [Add subtasks support and tag management] - 2026-01-09
## [Add subtasks support and tag management] - 2025-01-09

abcd-ca and others added 7 commits January 9, 2026 20:34
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
…st-extension-asana into feature/tags-and-subtasks
putting < and > characters in the description field would result in a 400
@0xdhrv 0xdhrv assigned 0xdhrv and unassigned pernielsentikaer Jan 20, 2026
@0xdhrv
Copy link
Copy Markdown
Contributor

0xdhrv commented Jan 20, 2026

@greptileai, could you please do a fresh review of this PR?

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

14 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@pernielsentikaer pernielsentikaer self-assigned this Jan 23, 2026
Copy link
Copy Markdown
Collaborator

@pernielsentikaer pernielsentikaer left a comment

Choose a reason for hiding this comment

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

Looks good to me, approved 🔥

@raycastbot raycastbot merged commit d970c4b into raycast:main Jan 23, 2026
2 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

Published to the Raycast Store:
https://raycast.com/raycast/asana

@raycastbot
Copy link
Copy Markdown
Collaborator

🎉 🎉 🎉

Such a great contribution deserves a reward, but unfortunately we couldn't find your Raycast account based on your GitHub username (@abcd-ca).

Please link your GitHub account to your Raycast account to receive your credits and soon be able to exchange them for some swag.

@abcd-ca abcd-ca deleted the feature/tags-and-subtasks branch January 23, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

extension: asana Issues related to the asana extension extension fix / improvement Label for PRs with extension's fix improvements OP is contributor The OP of the PR is a contributor of the extension platform: macOS platform: Windows