docs(tasks): expand documentation a bit

This commit is contained in:
xeruf 2024-10-03 13:39:52 +02:00
parent 617b1ea6d1
commit c2f775e891
2 changed files with 34 additions and 17 deletions

View File

@ -162,27 +162,21 @@ Considering to use Calendar: https://github.com/nostr-protocol/nips/blob/master/
## Plans ## Plans
- Handle event sending rejections (e.g. permissions)
- Local Database Cache, Negentropy Reconciliation - Local Database Cache, Negentropy Reconciliation
-> Offline Use! -> Offline Use!
- Scheduling
- Remove status filter when moving up? - Remove status filter when moving up?
- Task markdown support? - colored - Task markdown support? - colored
- Time tracking: Ability to postpone task and add planned timestamps (calendar entry) - Calendar Events - make future time-tracking editable -> parametrised replaceable events
- Speedup: Offline caching & Expiry (no need to fetch potential years of history) - Speedup: Offline caching & Expiry (no need to fetch potential years of history)
+ Fetch most recent tasks first + Fetch most recent tasks first
+ Relay: compress tracked time for old tasks, filter closed tasks + Relay: compress tracked time for old tasks, filter closed tasks
+ Relay: filter out task status updates within few seconds, also on client side + Relay: filter out task status updates within few seconds, also on client side
### Fixes ### Commands
- Handle event sending rejections (e.g. permissions)
- Recursive filter handling
### Command
- Open Command characters: `_^\=$%~'"`, `{}[]` - Open Command characters: `_^\=$%~'"`, `{}[]`
- Remove colon from task creation syntax - Remove colon from task creation syntax
- reassign undo to `&` and use `@` for people
### Conceptual ### Conceptual
@ -212,7 +206,7 @@ Suggestions welcome!
- n8n node - n8n node
- Caldav Feed: Scheduled (planning) / Tracked (events, timetracking) with args for how far back/forward - Caldav Feed: Scheduled (planning) / Tracked (events, timetracking) with args for how far back/forward
## Exemplary Workflows ## Exemplary Workflows - User Stories
- Freelancer - Freelancer
- Family Chore Management - Family Chore Management
@ -223,6 +217,29 @@ Suggestions welcome!
+ Schedule for multiple people + Schedule for multiple people
- Tracking Daily Routines / Habits - Tracking Daily Routines / Habits
### Freelancer
For a Freelancer, mostr can help structure work times
across different projects
because it can connect to multiple clients,
using their mental state effectively (Mind Management not Time Management).
It also enables transparency for clients
by sharing the tracked time -
but alternatively the freelancer
can track times on their own auxiliary relay
without problems.
### Family
With a mobile client implemented,
mostr can track shopping lists and other chores for a family,
and provide them context-dependently -
allowing you to batch shopping and activities without mental effort.
### Project Team
sharing, assigning, stand-ups, communication
### Contexts ### Contexts
A context is a custom set of filters such as status, tags, assignee A context is a custom set of filters such as status, tags, assignee

View File

@ -52,7 +52,7 @@ pub(crate) struct TasksRelay {
tasks: TaskMap, tasks: TaskMap,
/// History of active tasks by PubKey /// History of active tasks by PubKey
history: HashMap<PublicKey, BTreeMap<Timestamp, Event>>, history: HashMap<PublicKey, BTreeMap<Timestamp, Event>>,
/// Index of found users with metadata /// Index of known users with metadata
users: HashMap<PublicKey, Metadata>, users: HashMap<PublicKey, Metadata>,
/// Own pinned tasks /// Own pinned tasks
bookmarks: Vec<EventId>, bookmarks: Vec<EventId>,
@ -62,15 +62,15 @@ pub(crate) struct TasksRelay {
/// The task properties sorted by /// The task properties sorted by
sorting: VecDeque<String>, sorting: VecDeque<String>,
/// A filtered view of the current tasks /// A filtered view of the current tasks.
/// Would like this to be Task references but that doesn't work /// Would like this to be Task references
/// unless I start meddling with Rc everywhere. /// but that doesn't work unless I start meddling with Rc everywhere.
view: Vec<EventId>, view: Vec<EventId>,
depth: usize, depth: usize,
/// Currently active tags /// Currently active tags
tags: BTreeSet<Tag>, tags: BTreeSet<Tag>,
/// Tags filtered out /// Tags filtered out from view
tags_excluded: BTreeSet<Tag>, tags_excluded: BTreeSet<Tag>,
/// Current active state /// Current active state
state: StateFilter, state: StateFilter,
@ -993,10 +993,10 @@ impl TasksRelay {
t.props.insert(event.clone()); t.props.insert(event.clone());
}); });
if !found { if !found {
if event.kind.as_u16() == 1 { if event.kind == Kind::TextNote {
self.add_task(event); self.add_task(event);
} else { } else {
return Some(event) return Some(event);
} }
} }
None None