Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FILTER] Conditions on Custom headers #1143

Open
8 tasks
chibenwa opened this issue Jul 26, 2024 · 0 comments
Open
8 tasks

[FILTER] Conditions on Custom headers #1143

chibenwa opened this issue Jul 26, 2024 · 0 comments
Labels
good first issue Good for newcomers

Comments

@chibenwa
Copy link
Member

chibenwa commented Jul 26, 2024

Why

The condition exists in Thunderbird:

image

It allows writing advanced classification (eg mailing lists? X-GitLab-Project, X-Mailgun-Sid, etc...)

Also asked by @pvi-github

How

  • In org.apache.james.jmap.api.filtering.Rule add a comparator any that matches all supplied value - can then be used to see if a given header exists.
  • Refactor Condition to be based on a marker interface with class for each possible condition (mimic scala sealed traits)
  • Add a condition Header taking as a field the header name.
  • Modify ContentMatcher in order to handle any comparator and Header. Those should be covered by JMAPFilteringTest test suite.
  • Handle those elements onto RuleDTO in order to plug them onto internal storage based on eventSourcing. FilteringManagementContract shall cover this.
  • Modify FilterSerializer in order to enable serialization + deserialization in JMAP. Those should be covered by tests within LinagoraFilterSetMethodContract.
  • Document the TMail backend filter extension accordingly: docs/modules/ROOT/pages/tmail-backend/jmap-extensions/jmapFilters.adoc
  • Create the follow up task in order to integrate that into https://github.linagora.com/linagora/tmail-flutter
@chibenwa chibenwa added the good first issue Good for newcomers label Jul 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant