[PR #6523] feat: tag people in notes with @ symbol #6580

Closed
opened 2026-02-28 21:30:17 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/6523

State: closed
Merged: No


Resolves #3266.

This PR implements a new kind of tag that sits alongside the "normal" tag. While a normal tag begins with the "#" symbol, people tags are prefixed with the "@" symbol. The tag table is augmented to understand tag types and can delineate between normal tags and people tags.

In terms of functionality, people tags work almost identically to normal tags in all ways. The only differences are:

  • people tags default to a different color (light blue rather than light purple)
  • people tags are case-sensitive to store, but case-insensitive for uniqueness, filtering, and matching. This allows people tags to support FirstnameLastname but accept searches for firstnamelastname.
  • people tags have their own management page to manage people tags. While the page itself is separate from the tag management page, the functionality is identical.

Screenshots

The two screenshots shows basic entry of a person tag, as well as existing people tags.

Screenshot 2026-01-01 at 8 18 33 PM Screenshot 2026-01-01 at 8 19 10 PM

The next screenshot shows people tags and normal tags co-existing in the same transaction's notes field.

Screenshot 2026-01-01 at 8 23 12 PM

The following screenshot shows the people management page. Note how some people are lowercased while others are mixed case, and some are first-name only, while others are first-name last-name.

Screenshot 2026-01-01 at 8 20 19 PM

Next, we see that you may add people with a custom color and description, like normal tags in the tag management page.

Screenshot 2026-01-01 at 8 21 43 PM Screenshot 2026-01-01 at 8 21 54 PM

This screenshot shows that the filtering people works the same as normal tags.

Screenshot 2026-01-01 at 8 20 51 PM

This screenshot shows that the filter menu has a new "has people" selector.

Screenshot 2026-01-01 at 8 28 42 PM

The following screenshot shows that multiple people filters can work together, just like multiple tag filters work together.

Screenshot 2026-01-01 at 8 21 08 PM

The last two screenshots show how the theming is consistently applied to people tags.

Screenshot 2026-01-02 at 7 41 34 AM Screenshot 2026-01-02 at 7 41 40 AM

Summary by CodeRabbit

  • New Features

    • Full "People" feature: dedicated People page and management UI to add/edit/delete people, colors, and descriptions
    • Sidebar entry and navigation route for People
    • Clickable @mentions in notes that filter transactions by person
    • New "has people" filter operator supported throughout UI and rules
  • Backend

    • Server APIs and sync support for people (fetch/create/update/delete/find)
  • Tests

    • Added tests for @mention parsing
  • Style

    • New theme tokens for people styling (backgrounds, hover, text)

✏️ Tip: You can customize this high-level summary in your review settings.

**Original Pull Request:** https://github.com/actualbudget/actual/pull/6523 **State:** closed **Merged:** No --- Resolves #3266. This PR implements a new kind of tag that sits alongside the "normal" tag. While a normal tag begins with the "#" symbol, people tags are prefixed with the "@" symbol. The tag table is augmented to understand tag types and can delineate between normal tags and people tags. In terms of functionality, people tags work almost identically to normal tags in all ways. The only differences are: - people tags default to a different color (light blue rather than light purple) - people tags are case-sensitive to store, but case-insensitive for uniqueness, filtering, and matching. This allows people tags to support FirstnameLastname but accept searches for firstnamelastname. - people tags have their own management page to manage people tags. While the page itself is separate from the tag management page, the functionality is identical. ## Screenshots The two screenshots shows basic entry of a person tag, as well as existing people tags. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 18 33 PM" src="https://github.com/user-attachments/assets/c2559b65-9d44-4291-b5ae-15804d1cb533" /> <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 19 10 PM" src="https://github.com/user-attachments/assets/23cf8abd-e3c5-4033-b153-e6902c42be81" /> The next screenshot shows people tags and normal tags co-existing in the same transaction's notes field. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 23 12 PM" src="https://github.com/user-attachments/assets/8aee6464-7587-46dc-a200-69e7599a766a" /> The following screenshot shows the people management page. Note how some people are lowercased while others are mixed case, and some are first-name only, while others are first-name last-name. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 20 19 PM" src="https://github.com/user-attachments/assets/732214a9-9aa7-4ce9-a51a-a9b51ef27c64" /> Next, we see that you may add people with a custom color and description, like normal tags in the tag management page. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 21 43 PM" src="https://github.com/user-attachments/assets/c7e6a769-45b2-48b6-975f-c4cbe559a2f0" /> <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 21 54 PM" src="https://github.com/user-attachments/assets/13d1f1b7-e172-4322-8b2b-a9b96a3dcadf" /> This screenshot shows that the filtering people works the same as normal tags. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 20 51 PM" src="https://github.com/user-attachments/assets/07cb1501-f415-4af4-9aac-85746b668295" /> This screenshot shows that the filter menu has a new "has people" selector. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 28 42 PM" src="https://github.com/user-attachments/assets/ea82b3b5-b139-4f57-8b39-dd1003eeeab0" /> The following screenshot shows that multiple people filters can work together, just like multiple tag filters work together. <img width="1423" height="559" alt="Screenshot 2026-01-01 at 8 21 08 PM" src="https://github.com/user-attachments/assets/6b018b66-5892-4cc5-8a57-2c0bf16d4114" /> The last two screenshots show how the theming is consistently applied to people tags. <img width="1423" height="559" alt="Screenshot 2026-01-02 at 7 41 34 AM" src="https://github.com/user-attachments/assets/707dc141-e377-4523-a4e4-12b0e66d4915" /> <img width="1423" height="559" alt="Screenshot 2026-01-02 at 7 41 40 AM" src="https://github.com/user-attachments/assets/f9d328cd-6056-4c30-9b00-fe4065ce7e85" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Full "People" feature: dedicated People page and management UI to add/edit/delete people, colors, and descriptions * Sidebar entry and navigation route for People * Clickable @mentions in notes that filter transactions by person * New "has people" filter operator supported throughout UI and rules * **Backend** * Server APIs and sync support for people (fetch/create/update/delete/find) * **Tests** * Added tests for @mention parsing * **Style** * New theme tokens for people styling (backgrounds, hover, text) <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
GiteaMirror added the pull-request label 2026-02-28 21:30:17 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6580