From e5e812310cdce2fd9984ccfb8f128989faf8ba63 Mon Sep 17 00:00:00 2001 From: Sergey Kurdin Date: Thu, 12 Jun 2025 00:56:40 -0400 Subject: [PATCH] chore: added changeset --- .changeset/calm-bags-learn.md | 5 + .changeset/tasty-walls-pull.md | 5 + FEATURE_REQUESTS.md | 674 --------------------------------- 3 files changed, 10 insertions(+), 674 deletions(-) create mode 100644 .changeset/calm-bags-learn.md create mode 100644 .changeset/tasty-walls-pull.md delete mode 100644 FEATURE_REQUESTS.md diff --git a/.changeset/calm-bags-learn.md b/.changeset/calm-bags-learn.md new file mode 100644 index 00000000..0b619c3b --- /dev/null +++ b/.changeset/calm-bags-learn.md @@ -0,0 +1,5 @@ +--- +'pastebar-app-ui': patch +--- + +Added option to disable capturing and storing images from clipboard diff --git a/.changeset/tasty-walls-pull.md b/.changeset/tasty-walls-pull.md new file mode 100644 index 00000000..89d23103 --- /dev/null +++ b/.changeset/tasty-walls-pull.md @@ -0,0 +1,5 @@ +--- +'pastebar-app-ui': minor +--- + +Added custom data location to store application data in a folder of your choice instead of the default location. diff --git a/FEATURE_REQUESTS.md b/FEATURE_REQUESTS.md deleted file mode 100644 index d82080f5..00000000 --- a/FEATURE_REQUESTS.md +++ /dev/null @@ -1,674 +0,0 @@ -# PasteBar Feature Requests & Implementation Plan - -This document outlines the comprehensive feature requests for PasteBar based on community feedback and GitHub issues analysis. Features are prioritized by user demand, implementation complexity, and impact on user experience. - -## 📊 Implementation Overview - -| Phase | Duration | Features | Focus | -|-------|----------|----------|-------| -| **Phase 1** | 1-2 months | Quick Wins | High-impact, low-complexity features | -| **Phase 2** | 2-3 months | Core Features | Medium complexity, high user value | -| **Phase 3** | 3-6 months | Advanced Features | Complex features requiring significant development | -| **Phase 4** | Ongoing | Polish & Enhancement | Nice-to-have features and improvements | - ---- - -## 🚀 Phase 1: Quick Wins (1-2 months) - -### 1. Custom Database Storage Location -**Issues:** [#163](https://github.com/PasteBar/PasteBarApp/issues/163), [#230](https://github.com/PasteBar/PasteBarApp/pull/230) -**Priority:** HIGH | **Complexity:** MEDIUM | **Time:** 1-2 weeks -**Status:** 🟡 In Progress - -**Description:** -Allow users to customize where PasteBar stores its database file (`pastebar-db.data`). This enables users to: -- Store data on different drives for space management -- Use cloud-synced folders for manual backup -- Organize data according to their file system preferences - -**Technical Requirements:** -- Add settings UI for database path selection -- Implement database migration functionality -- Handle file permissions and access validation -- Provide clear error messages for invalid paths -- Ensure backward compatibility with existing installations - -**User Benefits:** -- Greater control over data storage location -- Enables manual cloud backup strategies -- Better integration with existing file organization systems - ---- - -### 2. Export/Import Functionality for Clips and Boards -**Issues:** [#201](https://github.com/PasteBar/PasteBarApp/issues/201), [#196](https://github.com/PasteBar/PasteBarApp/issues/196) -**Priority:** HIGH | **Complexity:** MEDIUM | **Time:** 2-3 weeks -**Status:** 🟡 Assigned to Owner - -**Description:** -Implement comprehensive export and import functionality for saved clips and boards to enable data portability and sharing. - -**Export Features:** -- Select multiple clips or entire boards for export -- Export in standard JSON format with metadata -- Include creation dates, tags, categories, and content -- Progress indication for large exports -- Clear success/error feedback - -**Import Features:** -- Import previously exported clipboard data -- Validate data structure and format integrity -- Handle duplicate detection with user options (skip, replace, rename) -- Progress indication for large imports -- Merge or replace existing data options - -**Technical Requirements:** -- Design robust JSON schema for data interchange -- Implement data validation and sanitization -- Create intuitive UI for selection and options -- Handle large datasets efficiently -- Provide comprehensive error handling - -**User Benefits:** -- Share collections with team members -- Backup and restore specific data sets -- Migrate data between installations -- Create templates for common workflows - ---- - -### 3. Enhanced Keyboard Navigation & Accessibility -**Issues:** [#218](https://github.com/PasteBar/PasteBarApp/issues/218), [#219](https://github.com/PasteBar/PasteBarApp/issues/219), [#221](https://github.com/PasteBar/PasteBarApp/issues/221) -**Priority:** HIGH | **Complexity:** EASY-MEDIUM | **Time:** 1-2 weeks - -**Description:** -Implement comprehensive keyboard navigation throughout the application to support accessibility and keyboard-only workflows. - -**Main Window Navigation:** -- Arrow keys to navigate between clipboard items and collections -- Enter key to paste selected item -- Tab/Shift+Tab to move between panes -- Delete key to remove items (with confirmation) -- Escape to close windows or cancel operations - -**Quick Paste Window:** -- Arrow keys for item navigation -- Enter to paste and close -- Delete to remove items -- Escape to close without pasting - -**Collections Navigation:** -- Navigate between collections with Left/Right arrows -- Navigate items within collections with Up/Down arrows -- Quick access to frequently used collections with number keys - -**Technical Requirements:** -- Implement focus management system -- Add keyboard event handlers throughout UI -- Ensure proper ARIA labels for screen readers -- Visual focus indicators for current selection -- Consistent keyboard shortcuts across all windows - -**User Benefits:** -- Accessibility for users with mobility limitations -- Faster workflow for power users -- Reduced reliance on mouse interaction -- Better integration with keyboard-centric workflows - ---- - -### 4. UI Customization Options -**Issues:** [#224](https://github.com/PasteBar/PasteBarApp/issues/224), [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** HIGH | **Complexity:** EASY | **Time:** 1 week - -**Description:** -Provide users with options to customize the UI layout and hide unnecessary components based on their workflow preferences. - -**Customization Options:** -- Hide/show clipboard history pane -- Toggle collection tabs visibility -- Show/hide global search bar -- Configure pinned items display -- Customize help menu visibility -- Toggle paste menu options - -**Layout Presets:** -- **Minimal Mode:** Only collections, no history -- **History Focus:** Emphasize clipboard history -- **Collections Focus:** Emphasize saved clips and boards -- **Power User:** All features visible -- **Custom:** User-defined combination - -**Technical Requirements:** -- Add UI preferences to settings -- Implement responsive layout system -- Save user preferences persistently -- Provide layout preview options -- Ensure proper element hiding/showing - -**User Benefits:** -- Cleaner interface for specific use cases -- Reduced visual clutter -- Better focus on preferred features -- Personalized user experience - ---- - -### 5. Quick Paste Window Improvements -**Issues:** [#186](https://github.com/PasteBar/PasteBarApp/issues/186), [#190](https://github.com/PasteBar/PasteBarApp/issues/190), [#221](https://github.com/PasteBar/PasteBarApp/issues/221) -**Priority:** HIGH | **Complexity:** EASY-MEDIUM | **Time:** 1-2 weeks - -**Description:** -Enhance the Quick Paste window with better positioning, interaction options, and user experience improvements. - -**Positioning Options:** -- Default position (center screen) -- Last opened position (remember location) -- Near mouse cursor -- Custom fixed position -- Smart positioning (avoid screen edges) - -**Interaction Improvements:** -- Single-click paste option (configurable) -- Auto-close on focus loss (optional) -- Configurable number of visible lines per item -- Auto-close after paste (with delay option) -- Click-outside-to-close behavior - -**Window Behavior:** -- Optional header removal for minimal interface -- Resizable window with size memory -- Opacity/transparency options -- Always on top setting for Quick Paste - -**Technical Requirements:** -- Window positioning API integration -- Mouse cursor position detection -- Focus management system -- User preference storage -- Cross-platform window behavior handling - -**User Benefits:** -- Faster clipboard access workflow -- Reduced interruption to current tasks -- More natural interaction patterns -- Customizable to individual preferences - ---- - -## 🔧 Phase 2: Core Features (2-3 months) - -### 6. Text Editing Capabilities -**Issues:** [#219](https://github.com/PasteBar/PasteBarApp/issues/219), [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** MEDIUM | **Complexity:** MEDIUM | **Time:** 1-2 weeks - -**Description:** -Add the ability to edit clipboard text content before pasting, enabling users to make quick modifications without external editors. - -**Editing Features:** -- Inline text editing for saved clips -- Quick edit popup for clipboard history items -- Basic text formatting options -- Find and replace functionality -- Undo/redo support -- Word wrap and line number options - -**Edit Modes:** -- **Quick Edit:** Simple text box for minor changes -- **Advanced Edit:** Full editor with syntax highlighting -- **Template Edit:** Support for placeholder variables -- **Format Edit:** Text transformation options - -**Technical Requirements:** -- Integrate text editor component (Monaco/CodeMirror) -- Implement change tracking and validation -- Add keyboard shortcuts for editing operations -- Save edit history for clips -- Handle different text encodings - -**User Benefits:** -- Fix typos without external tools -- Modify content for different contexts -- Create variations of existing clips -- Quick content adjustments - ---- - -### 7. Enhanced Global Search -**Issues:** [#205](https://github.com/PasteBar/PasteBarApp/issues/205), [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** MEDIUM | **Complexity:** MEDIUM | **Time:** 1-2 weeks -**Status:** 🟡 Assigned to Owner - -**Description:** -Expand search capabilities to include all content types and provide more sophisticated search options. - -**Search Enhancements:** -- Include clip notes in search results -- Search within file attachments (if applicable) -- Search image OCR text (future enhancement) -- Search metadata (creation date, source app, etc.) -- Search tags and categories - -**Search Features:** -- **Fuzzy Search:** Find items with partial matches -- **Boolean Search:** AND, OR, NOT operators -- **Regex Search:** Pattern-based searching -- **Date Range:** Search by creation/modification date -- **Content Type:** Filter by text, images, files, etc. - -**Search UI:** -- Advanced search filters panel -- Search suggestions and autocomplete -- Search history for repeated queries -- Saved search presets -- Real-time search as you type - -**Technical Requirements:** -- Implement full-text search indexing -- Add search result ranking algorithm -- Create advanced search UI components -- Optimize search performance for large datasets -- Support search across all data types - -**User Benefits:** -- Find content faster and more accurately -- Discover forgotten clips through comprehensive search -- Advanced filtering for large collections -- Professional search capabilities - ---- - -### 8. Multi-Select Functionality -**Issues:** [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** MEDIUM | **Complexity:** MEDIUM | **Time:** 1-2 weeks - -**Description:** -Implement standard multi-select functionality throughout the application using familiar keyboard shortcuts. - -**Multi-Select Features:** -- **Ctrl+Click** (Windows) / **Cmd+Click** (Mac) for individual selection -- **Shift+Click** for range selection -- **Ctrl+A** / **Cmd+A** for select all -- Visual selection indicators -- Selection counter display - -**Bulk Operations:** -- Delete multiple items simultaneously -- Move multiple items between collections -- Export selected items -- Apply tags to multiple items -- Bulk text transformations - -**Selection Context:** -- Maintain selection state during navigation -- Clear selection on escape or click empty space -- Selection persistence during window switching -- Smart selection behavior in different views - -**Technical Requirements:** -- Implement selection state management -- Add visual selection indicators -- Create bulk operation confirmation dialogs -- Handle selection across different data types -- Optimize performance for large selections - -**User Benefits:** -- Efficient management of multiple items -- Standard interaction patterns -- Faster bulk operations -- Better organization capabilities - ---- - -### 9. Backup and Sync Settings -**Issues:** [#182](https://github.com/PasteBar/PasteBarApp/issues/182), [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** MEDIUM | **Complexity:** MEDIUM | **Time:** 1-2 weeks - -**Description:** -Provide options for backing up PasteBar data and settings to cloud services for data safety and portability. - -**Backup Options:** -- **Manual Backup:** One-time backup to chosen location -- **Scheduled Backup:** Automatic backups at set intervals -- **Cloud Integration:** Google Drive, Dropbox, OneDrive support -- **Local Backup:** Backup to external drives or network locations - -**Backup Content:** -- Full database backup -- Settings and preferences export -- Collections and clips data -- User configurations and customizations -- Selective backup of specific collections - -**Backup Management:** -- Backup history and versioning -- Restore from backup functionality -- Backup verification and integrity checks -- Compression options for storage efficiency -- Encryption options for sensitive data - -**Technical Requirements:** -- Cloud service API integration -- File compression and encryption -- Backup scheduling system -- Progress indicators for backup operations -- Error handling and retry mechanisms - -**User Benefits:** -- Protection against data loss -- Easy migration between devices -- Peace of mind for important data -- Automated data management - ---- - -## 🚀 Phase 3: Advanced Features (3-6 months) - -### 10. Cross-Device Synchronization -**Issues:** [#116](https://github.com/PasteBar/PasteBarApp/issues/116), [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** CRITICAL | **Complexity:** VERY HARD | **Time:** 2-3 months - -**Description:** -Implement secure synchronization of clipboard content across multiple devices (Windows/Mac) with end-to-end encryption. - -**Sync Features:** -- Real-time clipboard synchronization -- Cross-platform compatibility (Windows ↔ Mac) -- Selective sync for specific collections -- Conflict resolution for simultaneous edits -- Offline support with sync queue - -**Security Requirements:** -- **End-to-End Encryption** using open-source libraries -- Client-side key generation and management -- Zero-knowledge architecture (server cannot decrypt data) -- Secure key exchange between devices -- Data integrity verification - -**Cloud Integration Options:** -- Google Drive integration -- Dropbox integration -- Microsoft OneDrive integration -- iCloud integration (Mac-specific) -- Custom WebDAV server support - -**Sync Management:** -- Device management and authorization -- Sync status indicators -- Bandwidth and frequency controls -- Sync history and conflict logs -- Emergency sync disable options - -**Technical Requirements:** -- Implement robust encryption (AES-256) -- Create secure key management system -- Build cloud service integrations -- Design conflict resolution algorithms -- Cross-platform networking code -- Comprehensive error handling - -**User Benefits:** -- Seamless workflow across devices -- Always have access to important clips -- Professional cross-device productivity -- Secure data synchronization - -**⚠️ Important Notes:** -- Requires cryptography expertise for secure implementation -- Must maintain local-first privacy principles -- Should be opt-in and disabled by default -- Needs thorough security audit before release - ---- - -### 11. Text Transformation System -**Issues:** [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** MEDIUM | **Complexity:** MEDIUM | **Time:** 2-3 weeks - -**Description:** -Implement a powerful text transformation system allowing users to modify clipboard content before pasting. - -**Built-in Transformations:** -- **Case Transformations:** UPPERCASE, lowercase, Title Case, camelCase, snake_case -- **Formatting:** Remove extra spaces, trim whitespace, normalize line endings -- **Encoding:** URL encode/decode, HTML encode/decode, Base64 encode/decode -- **Text Processing:** Remove duplicates, sort lines, reverse text, word count - -**Custom Transformations:** -- JavaScript-based custom transformations -- Regular expression find and replace -- Template-based transformations with variables -- Chained transformations for complex operations -- User-defined transformation library - -**Transformation UI:** -- Preview before applying transformations -- Transformation history and favorites -- Quick access toolbar for common transforms -- Batch transformation for multiple items -- Keyboard shortcuts for frequent transforms - -**Advanced Features:** -- Conditional transformations based on content type -- Context-aware transformations (email addresses, URLs, etc.) -- Integration with external transformation services -- Macro recording for complex transformation sequences - -**Technical Requirements:** -- JavaScript engine integration for custom transforms -- Safe execution environment for user scripts -- Comprehensive transformation library -- Preview system with diff highlighting -- Performance optimization for large text - -**User Benefits:** -- Powerful text processing without external tools -- Customizable workflows for specific needs -- Time-saving automation for repetitive tasks -- Professional text manipulation capabilities - ---- - -### 12. Advanced Tagging and Organization System -**Issues:** [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** MEDIUM | **Complexity:** MEDIUM | **Time:** 2-3 weeks - -**Description:** -Implement a comprehensive tagging system for better organization and categorization of clipboard content. - -**Tagging Features:** -- **Multi-Tag Support:** Multiple tags per item -- **Hierarchical Tags:** Parent/child tag relationships -- **Smart Tags:** Auto-tagging based on content analysis -- **Tag Suggestions:** AI-powered tag recommendations -- **Tag Inheritance:** New items inherit tags from collections - -**Tag Management:** -- Tag creation and editing interface -- Tag color coding and icons -- Tag usage statistics and analytics -- Bulk tag operations -- Tag import/export functionality - -**Organization Features:** -- **Smart Collections:** Auto-populated based on tags -- **Tag-Based Filters:** Quick filtering by tag combinations -- **Tag Cloud View:** Visual representation of tag usage -- **Related Items:** Find items with similar tags -- **Tag Search:** Advanced search using tag combinations - -**Advanced Organization:** -- **Tag Rules:** Automated tagging based on rules -- **Content Analysis:** Extract tags from text content -- **Source App Tagging:** Auto-tag based on source application -- **Time-Based Tags:** Auto-tag by creation time periods -- **Location Tags:** Tag based on geographical context (if available) - -**Technical Requirements:** -- Tag database schema design -- Search index optimization for tags -- Content analysis algorithms -- Rule engine for automated tagging -- Performance optimization for large tag sets - -**User Benefits:** -- Professional-level content organization -- Faster content discovery and retrieval -- Automated workflow organization -- Scalable system for large clip collections - ---- - -## 🎯 Phase 4: Polish & Enhancement (Ongoing) - -### 13. Always On Top Option -**Issues:** [#204](https://github.com/PasteBar/PasteBarApp/issues/204) -**Priority:** LOW | **Complexity:** EASY | **Time:** 3-5 days -**Status:** 🟡 Assigned to Owner - -**Description:** -Add option to keep the main PasteBar window always on top of other applications. - -**Features:** -- Toggle always-on-top from settings or window menu -- Keyboard shortcut to toggle (e.g., Ctrl+Alt+T) -- Visual indicator when always-on-top is active -- Per-window settings (main window vs Quick Paste) -- Remember setting between sessions - ---- - -### 14. Disable Auto-Paste Option -**Issues:** [#202](https://github.com/PasteBar/PasteBarApp/issues/202), [#196](https://github.com/PasteBar/PasteBarApp/issues/196) -**Priority:** MEDIUM | **Complexity:** EASY | **Time:** 3-5 days -**Status:** 🟡 Assigned to Owner - -**Description:** -Provide option to disable automatic pasting when selecting items from tray menu, allowing manual paste with Ctrl+V. - -**Features:** -- Setting to disable auto-paste on item selection -- Copy-only mode for tray menu interactions -- Visual feedback showing item was copied to clipboard -- Option to show notification when item is copied -- Per-collection auto-paste settings - ---- - -### 15. Startup and Launch Options -**Issues:** [#132](https://github.com/PasteBar/PasteBarApp/issues/132) -**Priority:** LOW | **Complexity:** EASY | **Time:** 3-5 days - -**Description:** -Configure how PasteBar launches and behaves at system startup. - -**Features:** -- Launch at Windows/Mac startup -- Start in hidden/minimized mode -- Delay startup to avoid system load -- Auto-start with specific collections open -- Silent startup option - ---- - -### 16. Persistent Note Icons Display -**Issues:** [#206](https://github.com/PasteBar/PasteBarApp/issues/206) -**Priority:** MEDIUM | **Complexity:** EASY | **Time:** 3-5 days -**Status:** 🟡 Assigned to Owner - -**Description:** -Always display note icons for clips that have associated notes, improving visual organization. - -**Features:** -- Persistent note icon display -- Different icons for different note types -- Icon customization options -- Note preview on hover -- Quick note editing access - ---- - -### 17. Language Auto-Detection -**Issues:** [#190](https://github.com/PasteBar/PasteBarApp/issues/190) -**Priority:** LOW | **Complexity:** EASY | **Time:** 1-2 days - -**Description:** -Automatically detect and set the system language during installation. - -**Features:** -- Detect system locale during installation -- Set appropriate language automatically -- Option to override auto-detection -- Support for regional language variants -- Fallback to English if language not supported - ---- - -### 18. Collections Layout Consistency -**Issues:** [#211](https://github.com/PasteBar/PasteBarApp/issues/211) -**Priority:** LOW | **Complexity:** EASY | **Time:** 2-3 days - -**Description:** -Make collections expandable and resizable similar to the history column for consistent UI behavior. - -**Features:** -- Resizable collection panels -- Expand/collapse functionality -- Remember panel sizes between sessions -- Consistent resize handles across UI -- Proportional resizing behavior - ---- - -## 🔄 Implementation Guidelines - -### Development Priorities -1. **User Impact:** Features with high user demand get priority -2. **Technical Feasibility:** Balance complexity with available resources -3. **Platform Consistency:** Ensure features work well on both Windows and Mac -4. **Security First:** Any data handling must prioritize user privacy -5. **Accessibility:** All features should support keyboard navigation and screen readers - -### Quality Standards -- **Testing:** Comprehensive testing on both Windows and Mac -- **Documentation:** Clear user documentation for new features -- **Backwards Compatibility:** Ensure existing data and settings migrate properly -- **Performance:** Features should not significantly impact application performance -- **Localization:** New UI elements should support multiple languages - -### Community Involvement -- Regular updates on implementation progress -- Beta testing opportunities for complex features -- Community feedback integration -- Open source contribution guidelines -- Feature request voting system - ---- - -## 📝 Contributing to Feature Development - -We welcome community contributions to help implement these features. Here's how you can help: - -### For Developers -- Check the [GitHub Issues](https://github.com/PasteBar/PasteBarApp/issues) for features marked as `good first issue` -- Review the technical requirements and implementation notes -- Submit pull requests with proper testing and documentation -- Follow the existing code style and architecture patterns - -### For Users -- Test beta versions and provide feedback -- Submit detailed feature requests with use cases -- Help with translations and localization -- Report bugs and usability issues -- Vote on feature priorities through GitHub reactions - -### For Designers -- Contribute UI/UX improvements -- Create mockups for new features -- Improve accessibility and usability -- Design icons and visual elements - ---- - -*Last Updated: June 11, 2025* -*This document is actively maintained and updated based on community feedback and development progress.*