Feature: Persistent Task List (Work Orders) #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
Implement a Persistent Task List for work orders and maintenance tasks that remain visible until explicitly completed. Unlike the current date-based scheduled tasks (NIP-52 Calendar Events), these tasks are not tied to specific dates and persist in a dedicated list until someone completes them.
Use Case Example
Feature Requirements
1. Core Persistent Task Model
Task Properties:
title- Brief description of what needs to be donedescription- Detailed instructions or context (optional)urgency- Priority level (see below)location- Where the task needs to be performed (optional)createdBy- Task author (Nostr pubkey)claimedBy- Who is currently working on it (Nostr pubkey, nullable)status- Current state:open|claimed|in-progress|completedcreatedAt- When the task was createdcompletedAt- When the task was finished (nullable)completedBy- Who completed the task (Nostr pubkey, nullable)2. Urgency Levels
Implement a visual priority system:
3. Task Lifecycle / Workflow
Note: Users can also:
4. UI Components
4.1 Task List View
4.2 Task Card
Claim,Claim & StartStart,Complete,UnclaimComplete,Unclaim4.3 Create Task Form
5. Nostr Event Specification
Consider using a dedicated event kind or extending NIP-52 with a task-specific variant. Options to evaluate:
Option A: New Event Kind
Option B: Extend NIP-52
ttag like["t", "work-order"]start/endtags to indicate it's not date-boundRecommendation: Option A provides cleaner separation and avoids confusion with date-based events.
Technical Implementation Notes
Current Architecture
The existing task system in
nostr-feedmodule uses:Suggested Approach
PersistentTaskService.tsin the nostr-feed module (or new module)FeedService.tsPersistentTaskCard.vuecomponentNostrFeed.vueFiles to Modify/Create
src/modules/nostr-feed/services/PersistentTaskService.ts(new)src/modules/nostr-feed/components/PersistentTaskCard.vue(new)src/modules/nostr-feed/components/PersistentTaskList.vue(new)src/modules/nostr-feed/components/CreatePersistentTaskDialog.vue(new)src/modules/nostr-feed/services/FeedService.ts(modify)src/modules/nostr-feed/composables/usePersistentTasks.ts(new)Acceptance Criteria
Future Enhancements (Out of Scope)