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

feat: Add Reminders fields and Notifications #1925

Draft
wants to merge 97 commits into
base: main
Choose a base branch
from

Conversation

Erik-Handeland
Copy link

@Erik-Handeland Erik-Handeland commented Apr 30, 2023

Description

Adds native reminder support to tasks without the need of a plugin.

Motivation and Context

Had some issues with existing external plugin and figured a built-in solutions would help solve some of those issues and simplify things.

Fixes #1854

How has this been tested?

Tests have been created for the new fields and for some query filters. More tests are need for notifications

Screenshots (if appropriate)

Screenshot 2023-04-30 at 1 28 10 PM

Screenshot 2023-04-30 at 1 28 58 PM

Types of changes

Changes visible to users:

  • Bug fix (prefix: fix - non-breaking change which fixes an issue)
  • New feature (prefix: feat - non-breaking change which adds functionality)
  • Breaking change (prefix: feat!! or fix!! - fix or feature that would cause existing functionality to not work as expected)
  • Documentation (prefix: docs - improvements to any documentation content for users)
  • Sample vault (prefix: vault - improvements to the Tasks-Demo sample vault)
  • Contributing Guidelines (prefix: contrib - any improvements to documentation content for contributors - see Contributing to Tasks)

Internal changes:

  • Refactor (prefix: refactor - non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
  • Tests (prefix: test - additions and improvements to unit tests and the smoke tests)
  • Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Checklist

Terms

Left To-do

  • add more unit tests around notifications and queries
  • Update notification modal css
  • Test Dateview Serializer, just copied over from default

…tings.

It is now the only allowed value in settings anyway.
…tings.

It is now the only allowed value in settings anyway.
Code now uses TIME_FORMATS.twentyFourHour directly instead.

This is part of moving towards compatibility with the Reminders plugin
For more detailed output on failure.
This definitely needs more work. Users will be confused and miss out on
tasks they will probably think should match.
I will have to document that it's not possible to search for tasks
with reminders at a particular time of day.
@Erik-Handeland
Copy link
Author

  • Use the same date format as Reminders plugin (which is 24-hour...)

    • I totally understand that this won't work for you - sorry about that.

In reminders settings you can set a custom format like so. It's what I was using, but not sure how much of it working is on purpose or as a result of how forgiving moment.js is with parsing.
image

Also, I think I remember reading that reminders requires the emoji to be the first one? In order to parse it correctly.

The presence and absence ones remain, for consistency with the other date fields.
As one reminder, at most, is now supported
As only at most one value is now supported.
# Conflicts:
#	src/Config/SettingsTab.ts
#	src/Task.ts
#	src/TaskLineRenderer.ts
#	tests/Query.test.ts
#	tests/TestingTools/TaskBuilder.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: filters Additions and modifications to the search filters scope: reminders Showing a reminder to do a task
Projects
Status: 🔖 Ready
Development

Successfully merging this pull request may close these issues.

Native reminder support
2 participants