mirror of
https://github.com/dergigi/boris.git
synced 2025-12-16 22:24:25 +01:00
2257 lines
63 KiB
Markdown
2257 lines
63 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to this project will be documented in this file.
|
||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
|
||
## [Unreleased]
|
||
|
||
## [0.11.1] - 2025-11-22
|
||
|
||
### Added
|
||
|
||
- Three-dot menu to profile view
|
||
- Clickable quote text in highlights to navigate to article
|
||
- Profile navigation from highlight author cards
|
||
- Improved relay hint selection to exclude non-content relays
|
||
|
||
### Fixed
|
||
|
||
- Profile header horizontal padding matches tabs width
|
||
- Profile menu positioning inside card
|
||
- Highlight quote button navigation reliability
|
||
- Highlight menu cutoff when only one highlight
|
||
- Article loading reuses Explore article events for immediate display
|
||
- Removed unused variables and imports
|
||
|
||
### Refactored
|
||
|
||
- Unified relay configuration with typed registry
|
||
- Improved relay hint selection and relay management
|
||
|
||
## [0.11.0] - 2025-11-07
|
||
|
||
### Added
|
||
|
||
- Configurable link color setting for article links
|
||
- Basic markdown syntax test files for testing
|
||
- Article tags and image alt text to OpenGraph metadata
|
||
- Storage-backed OpenGraph previews with Upstash Redis
|
||
- Always render OpenGraph meta for `/a/:naddr` routes with redirect script for browsers
|
||
- Script to publish markdown test files to Nostr using nak
|
||
- npm script for publishing test markdown files
|
||
|
||
### Changed
|
||
|
||
- Default link color changed to Sky Blue (#38bdf8)
|
||
- Link color setting renamed to `--color-link` with dark/light theme support
|
||
- Use single link color setting with theme-aware palette
|
||
- Increased paragraph spacing in reader view to 1.5rem
|
||
- Increased top margin on headlines in reader view
|
||
- Improved link visibility in dark mode with lighter indigo-400 color
|
||
- Default Nostr gateway changed to njump.to
|
||
- Node runtime pinned to 22.x via package.json engines
|
||
- Simplified OpenGraph fetch by removing timeout wrapper and background refresh
|
||
|
||
### Fixed
|
||
|
||
- Use sentinel query param for OpenGraph redirect to preserve `/a/:naddr` paths
|
||
- Gate `/a/:naddr` rewrite to crawlers to prevent refresh redirect
|
||
- Update preview link color when link color setting changes
|
||
- Store separate link colors for dark and light themes
|
||
- Remove unused LINK_COLORS import from ColorPicker
|
||
- Increase relay fetch timeout from 3s to 5s for better reliability
|
||
- Improve Redis initialization and add debugging for metadata fetch
|
||
- Add .js extensions to ESM imports for Vercel compatibility
|
||
- Move OpenGraph service files to api/services for Vercel compatibility
|
||
- Resolve linting and type errors
|
||
- Remove user-agent restriction from article OpenGraph rewrite
|
||
- Inline profile display name helper to avoid src import in serverless
|
||
- Move profile helpers to lib and import from API and src to fix serverless import resolution
|
||
|
||
### Performance
|
||
|
||
- Implement early-return article fetch with micro-wait author
|
||
- Increase relay request timeouts (7s article, 5s profile) to improve reliability
|
||
- Remove gateway fetch, use relays with short timeout
|
||
|
||
### Refactored
|
||
|
||
- Use relative path for preview link to work on localhost
|
||
- Move link to 3rd paragraph and remove 4th paragraph from preview
|
||
- Update preview link to use real article link instead of sample text
|
||
- Move profile helpers to shared lib module to keep code DRY
|
||
|
||
### Documentation
|
||
|
||
- Remove Development section from README
|
||
- Update source links to point to specific files
|
||
- Add source links to basic markdown test files
|
||
- Add footnotes explaining Bitcoin frequency notation
|
||
- Add explanatory paragraphs to each test table
|
||
- Add test account npub and profile link to .env.example
|
||
- Add comprehensive documentation for publish-markdown script
|
||
|
||
## [0.10.33] - 2025-11-05
|
||
|
||
### Fixed
|
||
|
||
- Mobile text selection detection for highlight button using selectionchange event
|
||
- Normalized index mapping algorithm for whitespace handling in highlights
|
||
|
||
### Changed
|
||
|
||
- Allow nested mark elements for overlapping highlights
|
||
- Remove unused React import from VideoEmbedProcessor
|
||
|
||
### Performance
|
||
|
||
- Optimize highlight application by collecting text nodes once instead of per highlight (O(n×m) -> O(n+m))
|
||
- Add caching for highlighted HTML results with TTL and size limits
|
||
|
||
## [0.10.32] - 2025-11-02
|
||
|
||
### Added
|
||
|
||
- Loading states with shimmer effect for profile lookups in articles
|
||
- localStorage caching for profile resolution with LRU eviction
|
||
- Progressive profile resolution that updates from fallback to resolved names
|
||
|
||
### Changed
|
||
|
||
- Standardized applesauce helpers for npub/nprofile detection and display
|
||
- Standardized profile display name fallbacks across codebase
|
||
- Removed 'npub1' prefix from shortened npub displays
|
||
- Improved @ prefix handling for profile mentions
|
||
- Profile fetching is now reactive (removed timeouts)
|
||
- Profile label updates are batched to prevent UI flickering
|
||
|
||
### Fixed
|
||
|
||
- Profile label updates now work correctly and preserve pending updates
|
||
- Race condition in profile label updates resolved
|
||
- React hooks exhaustive-deps warnings resolved
|
||
- Rules of Hooks violation in profile mapping
|
||
- Syntax error in RichContent try-catch structure
|
||
- Profile fetching re-checks eventStore for async profile arrivals
|
||
- LRU cache eviction handles QuotaExceededError
|
||
- Reduced markdown reprocessing to prevent flicker
|
||
- TypeScript errors in nostrUriResolver resolved
|
||
- Profile labels initialize synchronously from cache for instant display
|
||
|
||
### Performance
|
||
|
||
- Added timing metrics for profile resolution performance
|
||
- Increased remote relay timeout for profile fetches
|
||
- Batch profile label updates to prevent UI flickering
|
||
- Ensure purplepag.es relay is used for profile lookups
|
||
|
||
### Refactored
|
||
|
||
- Replaced custom NIP-19 parsing with applesauce helpers
|
||
- Standardized profile name extraction and code quality
|
||
- Standardized npub/nprofile display implementation
|
||
- Use pubkey (hex) as Map key instead of encoded nprofile/npub strings
|
||
- Standardized profile display name fallbacks
|
||
|
||
## [0.10.31] - 2025-11-02
|
||
|
||
### Changed
|
||
|
||
- Moved add bookmark button to filter bar and aligned with filter buttons
|
||
|
||
## [0.10.30] - 2025-11-01
|
||
|
||
### Added
|
||
|
||
- Navigate to author's writings page from article author card
|
||
|
||
### Fixed
|
||
|
||
- Reset scroll to top when navigating to profile pages
|
||
- Preserve image aspect ratio when full-width images setting is enabled
|
||
|
||
## [0.10.29] - 2025-11-01
|
||
|
||
### Fixed
|
||
|
||
- Full-width images setting uses width instead of max-width
|
||
|
||
## [0.10.28] - 2025-11-01
|
||
|
||
### Fixed
|
||
|
||
- Nostr URI processing in markdown links
|
||
|
||
### Removed
|
||
|
||
- Debug console.log statements from nostrUriResolver
|
||
|
||
## [0.10.27] - 2025-10-31
|
||
|
||
### Added
|
||
|
||
- Refresh button to highlights sidebar header
|
||
- Image preloading for blog posts and user profiles (offline caching)
|
||
- Development Service Worker for testing image caching
|
||
|
||
### Fixed
|
||
|
||
- Service Worker registration and error handling
|
||
- Article loading race conditions
|
||
- Scroll position management
|
||
- React hook ordering issues
|
||
- TypeScript and linting issues
|
||
|
||
## [0.10.26] - 2025-10-31
|
||
|
||
### Added
|
||
|
||
- Persist highlight metadata and offline events to localStorage
|
||
- Proper relay response tracking for flight mode
|
||
|
||
### Changed
|
||
|
||
- Improved flight mode detection and tracking for highlights
|
||
- Refactored to use isLocalOnly flag instead of isOfflineCreated
|
||
|
||
### Fixed
|
||
|
||
- Flight mode highlights now properly show airplane icon and track status
|
||
- Preserve highlight metadata across event conversions and EventStore
|
||
- Prevent duplicate highlights
|
||
- Publish only to connected relays to avoid timeouts
|
||
- Prevent unnecessary relay queries when content is cached
|
||
- Various TypeScript, linting, and React hook dependency issues
|
||
|
||
## [0.10.25] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Reading progress bar for all bookmark types across all view modes
|
||
- Title display for regular bookmarks/links
|
||
|
||
### Changed
|
||
|
||
- Redesigned medium-sized bookmark cards with left-side thumbnails
|
||
- Made bookmark cards significantly more compact
|
||
- Moved bookmark type icon to bottom right footer
|
||
- Enhanced card layout with author positioning in bottom-left corner
|
||
|
||
### Fixed
|
||
|
||
- Reading progress bar display and consistency across view modes
|
||
- Timestamp and icon alignment issues
|
||
- TypeScript and linting errors
|
||
|
||
### Removed
|
||
|
||
- Type icon from medium-sized bookmark cards
|
||
- Text expansion mechanic from medium-sized cards
|
||
- URL display from medium-sized bookmark cards
|
||
|
||
## [0.10.24] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Dynamic browser title based on content
|
||
- Enhanced web bookmarks with OpenGraph data (using fetch-opengraph library)
|
||
|
||
### Fixed
|
||
|
||
- Description extraction from web bookmark content field
|
||
- Linting and TypeScript issues
|
||
|
||
## [0.10.23] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Video thumbnail support for cover images
|
||
- Note content support for direct video URLs
|
||
- Smart highlight clearing for articles
|
||
- Robust highlight loading with fallback mechanisms
|
||
|
||
### Changed
|
||
|
||
- Home button alignment moved to left next to profile button
|
||
- Video functionality extracted into dedicated VideoView component
|
||
|
||
### Fixed
|
||
|
||
- Article loading performance and error handling
|
||
- Highlight loading for articles
|
||
- Skeleton loader display
|
||
- Video metadata extraction
|
||
|
||
## [0.10.22] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Mobile-optimized tab interface for `/my` and `/p/` pages
|
||
|
||
### Changed
|
||
|
||
- Updated brand tagline from "Nostr Bookmarks" to "Read, Highlight, Explore"
|
||
- Reordered bookmarks bar navigation buttons
|
||
- Moved highlight button higher up on screen
|
||
|
||
### Fixed
|
||
|
||
- Mobile sidebar not closing when navigating to profile sections
|
||
- Removed unnecessary versioning from reading progress implementation
|
||
|
||
## [0.10.21] - 2025-10-23
|
||
|
||
### Fixed
|
||
|
||
- Reading position tracking for internal event URLs
|
||
- Compact bookmark view display
|
||
- Bookmark deduplication in profile view
|
||
|
||
## [0.10.20] - 2025-10-23
|
||
|
||
### Added
|
||
|
||
- Web Bookmarks section appears first when bookmarks are grouped by source
|
||
|
||
### Fixed
|
||
|
||
- Mobile scroll position preservation when toggling highlights panel
|
||
- Infinite loop in reading position tracking
|
||
- Skeleton loading state for articles with zero highlights
|
||
- Navigation to bookmarked articles
|
||
|
||
## [0.10.19] - 2025-10-23
|
||
|
||
### Added
|
||
|
||
- Profile dropdown menu in sidebar header
|
||
|
||
### Changed
|
||
|
||
- Profile picture interaction updated
|
||
- Collapse buttons repositioned for symmetry
|
||
- Grouping toggle button repositioned
|
||
- Collapse button styling standardized
|
||
|
||
### Removed
|
||
|
||
- Redundant logout button from sidebar header
|
||
- Refresh buttons from sidebars
|
||
|
||
### Fixed
|
||
|
||
- Cleaned up unused component props and parameters
|
||
|
||
## [0.10.18] - 2025-10-23
|
||
|
||
### Changed
|
||
|
||
- User profile routes renamed from `/me` to `/my`
|
||
|
||
### Fixed
|
||
|
||
- `/my/writings` displays all user writings
|
||
- `/my/highlights` displays all user highlights
|
||
|
||
### Refactored
|
||
|
||
- Centralized data fetching in controllers
|
||
|
||
## [0.10.17] - 2025-10-23
|
||
|
||
### Added
|
||
|
||
- Setting to control auto-scroll to reading position
|
||
|
||
### Fixed
|
||
|
||
- Blockquote styling on mobile devices
|
||
- Timestamp clicks in highlight cards navigate within app
|
||
- Hero images properly extend edge-to-edge on mobile
|
||
- Article relay links open via `/a/` path instead of `/r/`
|
||
|
||
### Changed
|
||
|
||
- Mobile reader padding increased for better readability
|
||
- Reading position save interval reduced from 3s to 1s
|
||
|
||
## [0.10.16] - 2025-10-22
|
||
|
||
### Fixed
|
||
|
||
- Reading position auto-save works correctly during continuous scrolling
|
||
- Reading position tracking stability improved
|
||
|
||
### Changed
|
||
|
||
- Reading position save mechanism changed from debounce to throttle
|
||
- Simplified reading position logic by removing unused complexity
|
||
|
||
### Fixed
|
||
|
||
- Highlights scroll into view when clicked from `/my/highlights` page
|
||
|
||
## [0.10.15] - 2025-01-22
|
||
|
||
### Changed
|
||
|
||
- Reading position restore uses pre-loaded data from controller
|
||
- Reading position scroll animation restored to smooth behavior
|
||
|
||
### Fixed
|
||
|
||
- Reading position no longer saves 0% during back navigation on mobile
|
||
|
||
## [0.10.14] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Third relay education article link in PWA settings
|
||
|
||
### Changed
|
||
|
||
- Timestamp links in bookmark cards navigate within app
|
||
- Relay article links punctuation improved for better readability
|
||
|
||
### Fixed
|
||
|
||
- Duplicate video embeds and stray HTML artifacts eliminated
|
||
- Highlights loading spinner no longer spins forever when article has zero highlights
|
||
|
||
## [0.10.13] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Instant article preview when navigating from blog post cards
|
||
- Reliable relay fallback for article fetching
|
||
|
||
### Changed
|
||
|
||
- Article loading follows local-first controller pattern
|
||
- Service Worker only registers in production builds
|
||
- Article fetching queries union of naddr relay hints and configured relays
|
||
|
||
### Fixed
|
||
|
||
- Article loading race conditions eliminated
|
||
- Content/title mismatch when switching articles resolved
|
||
- Article re-fetching on settings changes prevented
|
||
- Explore writings tab shows skeletons instead of spinner when loading
|
||
|
||
## [0.10.12] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Person hiking icon (fa-person-hiking) for explore navigation
|
||
|
||
### Changed
|
||
|
||
- Explore icon changed from newspaper to person hiking for better semantic meaning
|
||
- Settings button moved before explore button in sidebar navigation
|
||
- Profile avatar button uses 44px touch target on mobile
|
||
|
||
### Fixed
|
||
|
||
- Web bookmarks (kind:39701) properly deduplicate by d-tag
|
||
- Same URL bookmarked multiple times only appears once
|
||
- Web bookmark IDs use coordinate format (kind
|
||
- Profile avatar button sizing on mobile matches other IconButton components
|
||
- Removed all console.log statements from bookmarkController and bookmarkProcessing
|
||
|
||
## [0.10.11] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Clock icon for chronological bookmark view
|
||
- Clickable highlight count to open highlights sidebar
|
||
- Dynamic bookmark filter titles based on selected filter
|
||
- Profile picture moved to first position (left-aligned) with consistent sizing
|
||
|
||
### Changed
|
||
|
||
- Default bookmark view changed to flat chronological list
|
||
- Bookmark URL changed from `/my/reading-list` to `/my/bookmarks`
|
||
- Router updated to handle `/my/reading-list` → `/my/bookmarks` redirect
|
||
- Me.tsx bookmarks tab uses dynamic filter titles and chronological sorting
|
||
- Me.tsx updated to use faClock icon instead of faBars
|
||
- Removed bookmark count from section headings for cleaner display
|
||
- Hide close/collapse sidebar buttons on mobile for better UX
|
||
|
||
### Fixed
|
||
|
||
- Bookmark sorting now uses proper timestamps (created_at || listUpdatedAt, nulls last)
|
||
- Bookmark timestamps display correctly with fallbacks
|
||
- Chronological sorting consistency
|
||
|
||
### Refactored
|
||
|
||
- Removed excessive debug logging for cleaner console output
|
||
- Bookmark timestamp handling never defaults to "now", allows nulls and sorts nulls last
|
||
- Renders empty when timestamp is missing instead of showing invalid dates
|
||
|
||
## [0.10.10] - 2025-10-22
|
||
|
||
### Changed
|
||
|
||
- Version bump for consistency
|
||
|
||
## [0.10.9] - 2025-10-21
|
||
|
||
### Fixed
|
||
|
||
- Event fetching reliability with exponential backoff in eventManager
|
||
- Bookmark timestamp handling
|
||
|
||
### Changed
|
||
|
||
- Removed all debug console logs
|
||
|
||
## [0.10.8] - 2025-10-21
|
||
|
||
### Added
|
||
|
||
- Individual event rendering via `/e/:eventId` path
|
||
- Centralized event fetching via new `eventManager` singleton
|
||
|
||
### Fixed
|
||
|
||
- Bookmark hydration efficiency
|
||
- Search button behavior for notes
|
||
- Author profile resolution
|
||
|
||
## [0.10.7] - 2025-10-21
|
||
|
||
### Fixed
|
||
|
||
- Profile pages display all writings correctly
|
||
|
||
### Changed
|
||
|
||
- Simplified profile background fetching logic for better maintainability
|
||
|
||
## [0.10.6] - 2025-10-21
|
||
|
||
### Added
|
||
|
||
- Text-to-speech reliability improvements
|
||
|
||
### Fixed
|
||
|
||
- Tab switching regression on `/my` page
|
||
- Explore page data loading patterns
|
||
- Text-to-speech handler cleanup
|
||
|
||
## [0.10.4] - 2025-10-21
|
||
|
||
### Added
|
||
|
||
- Web Share Target support for PWA
|
||
|
||
### Changed
|
||
|
||
- Manifest includes `share_target` configuration for system share menu integration
|
||
- Service worker handles POST requests to `/share-target` endpoint
|
||
- Added `/share-target` route for processing incoming shared content
|
||
|
||
## [0.10.3] - 2025-10-21
|
||
|
||
### Added
|
||
|
||
- Content filtering setting to hide articles posted by bots
|
||
|
||
### Fixed
|
||
|
||
- Resolved all linting and type checking issues
|
||
|
||
## [0.10.2] - 2025-10-20
|
||
|
||
### Added
|
||
|
||
- Text-to-speech (TTS) speaker language selection mode
|
||
- TTS example text section in settings
|
||
|
||
### Changed
|
||
|
||
- TTS language selection uses "Speaker language" terminology
|
||
|
||
### Fixed
|
||
|
||
- TTS voice detection and selection logic
|
||
|
||
## [0.10.0] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Centralized bookmark loading with streaming and auto-decrypt
|
||
- Enhanced debug page with comprehensive diagnostics
|
||
- Bunker (NIP-46) authentication support
|
||
|
||
### Changed
|
||
|
||
- Improved bookmark loading performance
|
||
- Enhanced bunker error messages
|
||
- Centralized bookmark loading architecture
|
||
|
||
### Fixed
|
||
|
||
- NIP-46 bunker signing and decryption
|
||
- Bookmark loading and decryption
|
||
- TypeScript and linting errors throughout
|
||
|
||
### Performance
|
||
|
||
- Non-blocking NIP-46 operations
|
||
- Optimized bookmark loading
|
||
|
||
### Refactored
|
||
|
||
- Centralized bookmark controller architecture
|
||
- Debug page organization
|
||
- Simplified bunker implementation following applesauce patterns
|
||
|
||
### Documentation
|
||
|
||
- Comprehensive Amber.md documentation
|
||
|
||
## [0.9.1] - 2025-10-20
|
||
|
||
### Added
|
||
|
||
- Video embedding for nostr-native content
|
||
- Media display settings
|
||
- Article view improvements
|
||
|
||
### Changed
|
||
|
||
- Enable media display options by default for a better out‑of‑the‑box experience
|
||
- Constrain video player to reader width to prevent horizontal overflow
|
||
|
||
### Fixed
|
||
|
||
- Prevent double video player rendering when both processor and panel attempted to embed
|
||
- Remove text artifacts and broken tags when converting markdown image/video URLs
|
||
- Resolved remaining ESLint and TypeScript issues
|
||
|
||
### Performance
|
||
|
||
- Optimized Support page loading with instant display and skeletons
|
||
|
||
## [0.9.0] - 2025-01-20
|
||
|
||
### Added
|
||
|
||
- User relay list integration
|
||
- Relay list debug section in Debug component
|
||
|
||
### Changed
|
||
|
||
- Improved relay list loading performance
|
||
- Enhanced relay URL handling
|
||
|
||
### Fixed
|
||
|
||
- Resolved all linting issues across the codebase
|
||
- Fixed TypeScript type issues in relayListService
|
||
- Cleaned up temporary test relays from hardcoded list
|
||
- Removed non-relay console.log statements and debug output
|
||
|
||
### Technical
|
||
|
||
- Enhanced relay initialization logging for better diagnostics
|
||
- Improved error handling and timeout management for relay queries
|
||
- Better separation of concerns between relay loading and application startup
|
||
|
||
## [0.8.6] - 2025-10-20
|
||
|
||
### Fixed
|
||
|
||
- React Hooks violations in NostrMentionLink component
|
||
|
||
## [0.8.4] - 2024-10-20
|
||
|
||
### Added
|
||
|
||
- Progressive article hydration for reads tab
|
||
|
||
### Fixed
|
||
|
||
- Fixed React type imports in useArticleLoader
|
||
|
||
## [0.8.3] - 2025-01-19
|
||
|
||
### Fixed
|
||
|
||
- Highlight creation shows immediate UI feedback without page refresh
|
||
|
||
### Changed
|
||
|
||
- Improved highlight creation user experience
|
||
|
||
## [0.8.2] - 2025-10-19
|
||
|
||
### Added
|
||
|
||
- Reading progress indicator in compact bookmark cards
|
||
|
||
### Changed
|
||
|
||
- Compact cards layout optimizations for more space-efficient display
|
||
- Reading progress bar styling for compact view
|
||
|
||
### Fixed
|
||
|
||
- Removed borders from compact bookmarks in bookmarks sidebar
|
||
|
||
## [0.8.0] - 2025-10-19
|
||
|
||
### Added
|
||
|
||
- Centralized reading progress controller for non-blocking reading position sync
|
||
- Reading progress indicators on blog post cards
|
||
|
||
### Changed
|
||
|
||
- Reading position sync enabled by default in runtime paths
|
||
- Improved auto-mark-as-read behavior with reliable completion detection
|
||
- Reading progress events use proper NIP-85 specification
|
||
|
||
### Fixed
|
||
|
||
- Reading position saves with proper validation and event store integration
|
||
- Profile page writings loading fetches all writings without limits
|
||
- Consistent reading progress calculation and event publishing
|
||
|
||
### Performance
|
||
|
||
- Non-blocking reading progress controller with streaming updates
|
||
- Cache-first loading strategy with local event store before relay queries
|
||
- Efficient progress merging and deduplication
|
||
|
||
## [0.7.4] - 2025-10-18
|
||
|
||
### Added
|
||
|
||
- Profile page data preloading for instant tab switching
|
||
|
||
### Changed
|
||
|
||
- `/my/bookmarks` tab displays in cards view only
|
||
- Highlights sidebar filters simplified when logged out
|
||
|
||
### Fixed
|
||
|
||
- Profile page tabs display cached content instantly
|
||
|
||
### Performance
|
||
|
||
- Cache-first profile loading strategy
|
||
|
||
## [0.7.3] - 2025-10-18
|
||
|
||
### Added
|
||
|
||
- Centralized nostrverse writings controller for kind 30023 content
|
||
- Centralized nostrverse highlights controller
|
||
- Writings loading debug section on `/debug` page
|
||
|
||
### Changed
|
||
|
||
- Explore page uses centralized `writingsController` for user's own writings
|
||
- Explore page loading strategy optimized
|
||
- User's own writings included in Explore when enabled
|
||
|
||
### Fixed
|
||
|
||
- Explore page works correctly in logged-out mode
|
||
- Explore page no longer allows disabling all scope filters
|
||
- Explore page reflects default scope setting immediately
|
||
- Explore page highlights properly scoped
|
||
- Article-specific highlights properly filtered
|
||
- Explore writings properly deduplicated
|
||
- Debug page writings loading section added
|
||
|
||
### Performance
|
||
|
||
- Non-blocking explore page loading
|
||
- Lazy-loading for content filters
|
||
- Streaming callbacks for progressive updates
|
||
|
||
## [0.7.2] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Cached-first loading with EventStore across the app
|
||
- Default explore scope setting for controlling content visibility
|
||
|
||
### Changed
|
||
|
||
- Highlights and writings load from cache first, then stream from relays
|
||
- Explore page shows cached content instantly before network updates
|
||
- Article-specific highlights stored in centralized event store for faster access
|
||
- Nostrverse content cached locally for improved performance
|
||
|
||
### Fixed
|
||
|
||
- Prevent "No highlights yet" flash on `/my/highlights` page
|
||
- Force React to remount tab content when switching tabs for proper state management
|
||
- Deduplicate blog posts by author:d-tag instead of event ID for better accuracy
|
||
- Show skeleton placeholders while highlights are loading for better UX
|
||
|
||
### Performance
|
||
|
||
- Local-first loading strategy reduces perceived loading times
|
||
- Cached content displays immediately while background sync occurs
|
||
- Centralized event storage eliminates redundant network requests
|
||
|
||
## [0.7.0] - 2025-10-18
|
||
|
||
### Added
|
||
|
||
- Login with Bunker (NIP-46) authentication support
|
||
- Debug page (`/debug`) for diagnostics and testing
|
||
- Progressive bookmark loading with streaming updates
|
||
- Bookmark grouping toggle
|
||
|
||
### Changed
|
||
|
||
- Improved login UI with better copy and modern design
|
||
- Enhanced bunker error messages
|
||
- Centralized bookmark loading architecture
|
||
- Renamed UI elements for clarity
|
||
- Settings version footer improvements
|
||
|
||
### Fixed
|
||
|
||
- NIP-46 bunker signing and decryption
|
||
- Bookmark loading and decryption
|
||
- PWA cache limit increased to 3 MiB for larger bundles
|
||
- Extension login error messages with nos2x link
|
||
- TypeScript and linting errors throughout
|
||
|
||
### Performance
|
||
|
||
- Non-blocking NIP-46 operations
|
||
- Optimized bookmark loading
|
||
|
||
### Refactored
|
||
|
||
- Centralized bookmark controller architecture
|
||
- Debug page organization
|
||
- Simplified bunker implementation following applesauce patterns
|
||
|
||
### Documentation
|
||
|
||
- Comprehensive Amber.md documentation
|
||
|
||
## [0.6.24] - 2025-01-16
|
||
|
||
### Fixed
|
||
|
||
- TypeScript global declarations for build-time defines
|
||
|
||
## [0.6.23] - 2025-01-16
|
||
|
||
### Fixed
|
||
|
||
- Deep-link refresh redirect issue for nostr-native articles
|
||
|
||
### Added
|
||
|
||
- Version and git commit information in Settings footer
|
||
|
||
### Changed
|
||
|
||
- Article OG handler uses proper RelayPool.request() API
|
||
|
||
### Technical
|
||
|
||
- Added debug logging for route state and article OG handler
|
||
|
||
## [0.6.22] - 2025-10-16
|
||
|
||
### Added
|
||
|
||
- Dynamic OpenGraph and Twitter Card meta tags for article deep-links
|
||
- Social preview image for homepage and article links
|
||
|
||
### Changed
|
||
|
||
- Article deep-links properly preserve URL when loading in browser
|
||
|
||
### Fixed
|
||
|
||
- Vercel rewrite configuration for article routes
|
||
|
||
## [0.6.21] - 2025-10-16
|
||
|
||
### Added
|
||
|
||
- Reading position sync across devices using Nostr Kind 30078
|
||
- Reading progress filters for organizing articles
|
||
- Reads and Links tabs on `/my` page
|
||
- Auto-mark as read at 100% reading progress
|
||
- Click-to-open article navigation on highlights
|
||
|
||
### Changed
|
||
|
||
- Renamed Archive to Reads with expanded functionality
|
||
- Merged 'Completed' and 'Marked as Read' filters into one unified filter
|
||
- Simplified filter icon colors to blue
|
||
- Started reading progress state (0-10%) uses neutral text color
|
||
- Replace spinners with skeleton placeholders during refresh in Archive/Reads/Links tabs
|
||
- Removed unused IEventStore import in ContentPanel
|
||
|
||
### Fixed
|
||
|
||
- Reading position calculation accurately reaches 100%
|
||
- Reading position filters work correctly in bookmarks sidebar
|
||
- Filter out reads without timestamps or 'Untitled' items
|
||
- Show skeleton placeholders correctly during initial tab load
|
||
- External URLs in Reads tab only shown if they have reading progress
|
||
- Reading progress merges even when timestamp is older than bookmark
|
||
- Resolved all linter errors and TypeScript type issues
|
||
|
||
### Refactored
|
||
|
||
- Renamed ArchiveFilters component to ReadingProgressFilters
|
||
- Extracted shared utilities from readsFromBookmarks for DRY code
|
||
- Use setState callback pattern for background enrichment
|
||
- Use naddr format for article IDs to match reading positions
|
||
- Extract article titles, images, summaries from bookmark tags using applesauce helpers
|
||
|
||
## [0.6.20] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- Bookmark filter buttons by content type
|
||
- Private Bookmarks section for encrypted legacy bookmarks
|
||
|
||
### Changed
|
||
|
||
- Bookmark section labels improved for clarity
|
||
- Bookmark filter button styling refined
|
||
- Lock icon removed from individual bookmarks
|
||
- External article icon changed to link icon
|
||
|
||
### Fixed
|
||
|
||
- Highlight button positioning and visibility
|
||
|
||
## [0.6.19] - 2025-10-15
|
||
|
||
### Fixed
|
||
|
||
- Highlights disappearing on external URLs after a few seconds
|
||
|
||
## [0.6.18] - 2025-10-15
|
||
|
||
### Changed
|
||
|
||
- Zap split labels simplified and terminology updated
|
||
- Zap preset buttons on desktop expand to match slider width
|
||
- PWA install section always visible in settings
|
||
|
||
### Fixed
|
||
|
||
- PWA install button properly disabled when installation is not possible on device
|
||
- App & Airplane Mode section always visible regardless of PWA status
|
||
|
||
## [0.6.17] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- PWA settings illustration (`pwa.svg`) displayed on right side of section
|
||
- Zaps illustration (`zaps.svg`) displayed on right side of Zap Splits section
|
||
- Visual 50% indicators on zap split sliders
|
||
- Lightning bolt icons as slider thumbs for zap splits
|
||
- Offline-first description paragraph at beginning of App & Airplane Mode section
|
||
- Settings page width constraint
|
||
|
||
### Changed
|
||
|
||
- Settings section reorganization
|
||
- PWA settings section restructure
|
||
- Zap split sliders styling
|
||
- Zap split description text styling
|
||
- Clear cache button styling
|
||
- Font Size buttons alignment
|
||
- Default Highlight Visibility position
|
||
- Spacing adjustments in App & Airplane Mode section
|
||
|
||
### Fixed
|
||
|
||
- PWA settings paragraph wrapping
|
||
- Font Size buttons alignment issues
|
||
- Slider thumb icon centering
|
||
|
||
## [0.6.16] - 2025-10-15
|
||
|
||
### Changed
|
||
|
||
- Replaced delete dialog popup with inline confirmation UI
|
||
- Reordered Reading & Display settings for better organization
|
||
- Setting buttons align vertically with fixed label width
|
||
|
||
### Fixed
|
||
|
||
- Removed unused `handleCancelDelete` function after dialog removal
|
||
|
||
## [0.6.15] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- Paragraph alignment setting with left-aligned and justified text options
|
||
|
||
### Changed
|
||
|
||
- Default paragraph alignment changed to justified for improved reading experience
|
||
|
||
## [0.6.14] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- Support for bookmark sets
|
||
- Content type icons for bookmarks
|
||
- Bookmark grouping and sections
|
||
- Adaptive text color for publication date over hero images
|
||
|
||
### Changed
|
||
|
||
- Renamed "Amethyst-style bookmarks" to "Old Bookmarks (Legacy)"
|
||
- Hide cover images in compact view for cleaner layout
|
||
- Support button improvements
|
||
- Section headings improved with better typography
|
||
- Icon changed from book to file-lines for default bookmarks
|
||
- Use regular (outlined) icon variants for lighter, more refined appearance
|
||
- Add bookmark button moved to web bookmarks section
|
||
- Empty state messages replaced with loading spinners
|
||
- Section dividers made more subtle
|
||
- Simplified bookmark filtering to only exclude empty content
|
||
|
||
### Fixed
|
||
|
||
- Removed borders from compact bookmark cards for cleaner look
|
||
- Removed duplicate type indicator icons from bookmark cards
|
||
- Reduced section heading bottom padding for better spacing
|
||
- Aligned add bookmark button with section heading
|
||
- Removed redundant loading spinner above tabs
|
||
- Resolved linter and type errors
|
||
- Include kind:30003 in default bookmark list detection
|
||
- Removed text shadows from publication date for cleaner look
|
||
- Improved shadow contrast without background overlay
|
||
- Corrected async handling in adaptive color detection
|
||
- Corrected FastAverageColor import to use named export
|
||
- Section heading styles properly override with `!important`
|
||
- Removed unused articleImage prop from CompactView
|
||
|
||
## [0.6.13] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- Support for `nprofile` identifiers on `/p/` profile pages
|
||
- Gradient placeholder images for articles without cover images
|
||
|
||
### Changed
|
||
|
||
- PWA install section styling in settings
|
||
|
||
### Fixed
|
||
|
||
- Mobile bookmark button visibility across all pages
|
||
- Mobile highlights button behavior at page top
|
||
|
||
## [0.6.12] - 2025-10-15
|
||
|
||
### Changed
|
||
|
||
- Horizontal dividers (`<hr>`) in blog posts display with more subtle styling
|
||
|
||
## [0.6.11] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- Colored borders to blog post and highlight cards based on relationship
|
||
- Mobile sidebar toggle buttons on explore page
|
||
|
||
### Fixed
|
||
|
||
- Mobile bookmarks sidebar opening and closing immediately
|
||
|
||
## [0.6.10] - 2025-10-15
|
||
|
||
### Added
|
||
|
||
- Support page (`/support`) displaying zappers with avatar grid
|
||
- Refresh button to explore page
|
||
- Unified event publishing and querying services
|
||
- FEATURES.md documentation file
|
||
- MIT License
|
||
|
||
### Changed
|
||
|
||
- Explore page improvements
|
||
- Pull-to-refresh library
|
||
- Loading states show progressive loading with skeletons instead of blocking error screens
|
||
- All event fetching services migrated to unified `queryEvents` helper
|
||
- Contact streaming with extended timeout and partial results
|
||
|
||
### Fixed
|
||
|
||
- All ESLint and TypeScript linting errors
|
||
- Explore page refresh loop and false empty-follows error
|
||
- Zap receipt scanning with applesauce helpers and more relays
|
||
- Support page theme colors for proper readability
|
||
|
||
### Refactored
|
||
|
||
- Event publishing to use unified `publishEvent` service
|
||
- Event fetching to use unified `queryEvents` helper
|
||
- Image cache and bookmark components
|
||
- Support page spacing and visual hierarchy
|
||
|
||
## [0.6.9] - 2025-10-14
|
||
|
||
### Documentation
|
||
|
||
- Minor changelog formatting updates
|
||
|
||
## [0.6.8] - 2025-10-14
|
||
|
||
### Changed
|
||
|
||
- Updated favicon and app icons to purple theme
|
||
|
||
## [0.6.7] - 2025-10-14
|
||
|
||
### Added
|
||
|
||
- Skeleton loading placeholders using `react-loading-skeleton` package
|
||
- Nostr identifier parsing and rendering in highlight comments
|
||
- Visibility filters for explore page content
|
||
|
||
### Changed
|
||
|
||
- Loading states use skeleton placeholders instead of spinners for more polished UX
|
||
- Removed incremental loading spinner from explore page refresh
|
||
|
||
### Fixed
|
||
|
||
- Type error in `HighlightItem.tsx` using `React.ReactElement` instead of `JSX.Element`
|
||
- Me page skeleton loading handles undefined `viewingPubkey` gracefully
|
||
|
||
### Documentation
|
||
|
||
- Updated FontAwesome rule to prefer skeleton placeholders over loading text or spinners
|
||
|
||
## [0.6.6] - 2025-10-14
|
||
|
||
### Added
|
||
|
||
- Profile fetching and caching for explore page
|
||
- Rich content rendering in highlight comments
|
||
|
||
### Changed
|
||
|
||
- Hide citation in highlights sidebar when viewing article
|
||
|
||
### Fixed
|
||
|
||
- Blog posts with far-future publication dates no longer appear in explore
|
||
- Layout breaks from long URLs in highlight comments
|
||
- Profile fetching implementation
|
||
|
||
## [0.6.5] - 2025-10-14
|
||
|
||
### Added
|
||
|
||
- Highlights tab on `/explore` page
|
||
- Citation attribution on highlight items
|
||
- Comment icon (fa-comments) for highlights with comments
|
||
- Click timestamp to open highlight in native Nostr app
|
||
|
||
### Changed
|
||
|
||
- Highlight counter text color matches article text
|
||
- Highlight level colors applied to explore page highlights
|
||
- Explore page tab order: Highlights first, Writings second
|
||
- Explore page tabs extend full width to match content grid
|
||
|
||
### Fixed
|
||
|
||
- Highlight counter readability in light mode
|
||
- Scroll-to-highlight reliability in article view
|
||
- Author attribution in highlight citations
|
||
- Explore page grid layout
|
||
|
||
### Style
|
||
|
||
- Replaced server icon with highlighter icon in highlight items
|
||
- Switch from solid comment icon to outlined comments icon
|
||
- Removed background from highlight comments for cleaner appearance
|
||
- Removed extra left margin from comments
|
||
- Comment icon colored by highlight level with no opacity
|
||
|
||
### Dependencies
|
||
|
||
- Added @fortawesome/free-regular-svg-icons package for outlined icons
|
||
|
||
## [0.6.4] - 2025-10-14
|
||
|
||
### Added
|
||
|
||
- Color theme variants for light and dark modes
|
||
- Playful empty state message for other users' profiles
|
||
- Profile links open within app instead of external portals
|
||
|
||
### Changed
|
||
|
||
- Default light theme changed to sepia for better readability
|
||
- Theme setting labels renamed from 'Colors' to 'Theme'
|
||
- Highlight text aligns properly with footer icons
|
||
- Increased spacing between highlight cards for better visual separation
|
||
- Increased bottom padding in highlight cards
|
||
- Simplified Me page tab labels for cleaner UI
|
||
- Highlight marker style applied to active Highlights tab
|
||
- All profile links open internally instead of via external Nostr portals
|
||
- Match highlight comment color to highlight level color
|
||
|
||
### Fixed
|
||
|
||
- Consistent yellow-300 highlight color across all themes
|
||
- Highlight contrast improved in light themes
|
||
- Text contrast improved in dark color themes
|
||
- Darker background for app body in dark themes
|
||
- Reading progress indicator uses theme colors
|
||
- Highlights tab readability improved in light mode with proper background
|
||
- Empty state text color changed from red to gray for better aesthetics
|
||
- Replaced 'any' types with proper type definitions for better type safety
|
||
|
||
### Refactored
|
||
|
||
- Migrated entire codebase to semantic token system
|
||
- Removed localStorage for theme persistence, using only Nostr
|
||
- Theme colors applied to body element for consistent theming
|
||
|
||
## [0.6.3] - 2025-10-14
|
||
|
||
### Added
|
||
|
||
- Ants link to empty writings state for other users
|
||
|
||
### Changed
|
||
|
||
- Empty state text color from red to gray
|
||
|
||
### Fixed
|
||
|
||
- Match highlight comment color to highlight level color
|
||
- Open all profile links within app instead of external portals
|
||
- Playful empty state message for other users' profiles
|
||
|
||
## [0.6.2] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- Pull-to-refresh gesture on mobile for all scrollable views
|
||
- Three-dot menu for external URLs in reader
|
||
|
||
### Changed
|
||
|
||
- Bookmark refresh button moved to footer alongside view mode controls
|
||
- Unified button styles across left and right sidebars
|
||
|
||
### Fixed
|
||
|
||
- Reader content alignment on desktop
|
||
- Highlight text matching with multiple improvements
|
||
|
||
## [0.6.1] - 2025-10-13
|
||
|
||
### Added
|
||
|
||
- Writings tab on `/my` page to display user's published articles
|
||
- Comprehensive headline styling (h1-h6) with Tailwind typography
|
||
- List styling for ordered and unordered lists in articles
|
||
- Blockquote styling with indentation and italics
|
||
- Vertical padding to blockquotes for better readability
|
||
- Horizontal padding for reader text content on desktop
|
||
- Drop-shadows to sidebars for visual depth
|
||
- MutationObserver for tracking highlight DOM changes
|
||
|
||
### Changed
|
||
|
||
- Article titles larger and more prominent
|
||
- Article summaries display properly in reader header
|
||
- Zap splits settings UI with preset buttons and full-width sliders
|
||
- Sidebars extend to 100vh height
|
||
- Blockquote styling simplified to minimal indent and italic
|
||
- Improved zap splits settings visual design
|
||
|
||
### Fixed
|
||
|
||
- Horizontal overflow from code blocks and wide content on mobile
|
||
- Settings view mobile-friendly with proper width constraints
|
||
- Long relay URLs no longer cause horizontal overflow on mobile
|
||
- Sidebar/highlights toggle buttons hidden on settings/explore/my pages
|
||
- Video titles show filename instead of 'Error Loading Content'
|
||
- AddBookmarkModal z-index issue fixed using React Portal
|
||
- Highlight matching for text spanning multiple DOM nodes/inline elements
|
||
- Highlights appear as single continuous element across DOM nodes
|
||
- Highlights display immediately after creation with synchronous render
|
||
- Scroll-to-highlight functionality restored after DOM updates
|
||
- Padding gaps around sidebars removed
|
||
- TypeScript errors in video-meta.ts resolved
|
||
|
||
### Refactored
|
||
|
||
- Migrated entire color system to Tailwind v4 color palette
|
||
- Migrated all CSS files (sidebar, highlights, cards, forms, reader, etc.) to Tailwind colors
|
||
- Updated default highlight colors to yellow-400 for markers and yellow-300 for other contexts
|
||
- Added comprehensive color system documentation
|
||
- Cleaned up legacy.css removing unused debugging styles
|
||
|
||
## [0.6.0] - 2025-10-13
|
||
|
||
### Added
|
||
|
||
- Tailwind CSS v4 integration with preflight enabled
|
||
- Reading position tracking with visual progress indicator
|
||
- Document-level scrolling with sticky sidebars on desktop
|
||
- Dedicated legacy styles file for better organization
|
||
|
||
### Changed
|
||
|
||
- Refactored layout system to use document scroll instead of pane scroll
|
||
- Migrated reading progress indicator to Tailwind utilities
|
||
- Migrated mobile buttons to Tailwind utilities
|
||
- Simplified global CSS to work with Tailwind preflight
|
||
- Updated PostCSS configuration for Tailwind v4
|
||
- Reconciled base styles with Tailwind preflight
|
||
- Reorganized and cleaned up duplicate styles in index.css
|
||
- Made reading progress indicator smaller and more subtle
|
||
|
||
### Fixed
|
||
|
||
- Reading position indicator always visible at bottom of screen
|
||
- Progress tracking accurately reflects reading position
|
||
- Scroll behavior consistent across desktop and mobile
|
||
- Removed padding on mobile main pane for edge-to-edge content
|
||
- Removed mobile content pane gap for better layout
|
||
- Document scroll with important overrides for consistent behavior
|
||
|
||
## [0.5.7] - 2025-01-14
|
||
|
||
### Added
|
||
|
||
- Vimeo video metadata extraction support
|
||
- YouTube video metadata extraction with title, description, and captions
|
||
- Responsive video player with aspect ratio support
|
||
- Thumbnail images in compact view
|
||
- URL routing for /my page tabs
|
||
- Bookmark navigation in reading list
|
||
- Video duration display for video URLs
|
||
- Three-dot menu for videos with open/native/copy/share actions
|
||
- External video embedding in reader using react-player
|
||
- Video detection for Vimeo, Dailymotion, and other platforms
|
||
|
||
### Changed
|
||
|
||
- Enhanced borders for reading list cards
|
||
- Reading list tab colored blue to match bookmarks icon
|
||
- Left-aligned text in reading list elements
|
||
- Increased spacing between mobile buttons and profile element
|
||
- Main pane full width when displaying videos
|
||
- Video container breaks out of reader padding for full width
|
||
- Simplified video container layout
|
||
|
||
### Fixed
|
||
|
||
- Video player edge-to-edge display with negative margins
|
||
- Prevent profile element from bleeding off screen on mobile
|
||
- Resolved TypeScript errors in youtube-meta.ts
|
||
- Improved type safety in youtube-meta handler
|
||
- More lenient YouTube description extraction
|
||
- Corrected setTimeout ref type in Settings
|
||
- Proper react-player responsive pattern implementation
|
||
- Removed unused getIconForUrlType in CompactView
|
||
|
||
### Style
|
||
|
||
- Hide tab counts on mobile for /my page
|
||
- Remove max-width on main pane, constrain reader instead
|
||
- Full width layout for videos
|
||
- Reader-video specific styles
|
||
|
||
## [0.5.6] - 2025-10-13
|
||
|
||
### Added
|
||
|
||
- Three-dot menu for articles and enhanced highlight menus
|
||
- Prism.js syntax highlighting for code blocks
|
||
- Inline image rendering in nostr-native blog posts
|
||
- Image placeholders on blog post cards in `/explore`
|
||
- Caching on `/my` page for faster loading
|
||
|
||
### Changed
|
||
|
||
- Reading List on `/my` uses the same components as the bookmarks sidebar
|
||
- Improve bookmarks sidebar visual design
|
||
- Make article menu button more subtle by removing border
|
||
|
||
### Fixed
|
||
|
||
- Use round checkmark icon (faCheckCircle) for Mark as Read button
|
||
- Remove extra horizontal divider above article menu
|
||
- Ensure code blocks consistently use monospace fonts
|
||
- Preserve reading font settings in markdown images
|
||
|
||
### Style
|
||
|
||
- Remove horizontal divider above Mark as Read button
|
||
- Remove horizontal divider below article menu button
|
||
|
||
## [0.5.5] - 2025-01-27
|
||
|
||
### Added
|
||
|
||
- `/my` page with tabbed layout featuring Highlights, Reading List, and Library tabs
|
||
- Two-pane layout for `/my` page with article sources and highlights
|
||
- Custom FontAwesome Pro books icon for Archive tab
|
||
- CompactButton component for highlight cards
|
||
- Instant mark-as-read functionality with checkmark animation and read status checking
|
||
|
||
### Changed
|
||
|
||
- Rename Library tab to Archive
|
||
- Move highlight timestamp to top-right corner of cards
|
||
- Replace username with AuthorCard component on `/my` page
|
||
- Use user's custom highlight color for Highlights tab
|
||
- Render library articles using BlogPostCard component for consistency
|
||
- Use faBooks icon for Mark as Read button
|
||
- Make quote icon a CompactButton in top-left corner
|
||
|
||
### Fixed
|
||
|
||
- Include currentArticle in useEffect deps to satisfy lint
|
||
- Deduplicate article events in library to prevent showing duplicates
|
||
- Remove incorrect useSettings hook usage in Me component
|
||
- Correct fetchBookmarks usage with callback pattern in Me component
|
||
- Add padding to prevent quote text from overlapping timestamp
|
||
- Improve spacing and alignment of highlight card elements
|
||
- Align corner elements symmetrically with proper margins
|
||
- Group relay icon and author in footer-left for consistent alignment
|
||
- Position relay indicator in bottom-left corner to prevent overlap with author
|
||
|
||
### Style
|
||
|
||
- Match `/my` profile card width to highlight cards
|
||
- Improve My page mobile tabs and avoid overlap with sidebar buttons
|
||
- Reduce margins/paddings to make highlight cards more compact
|
||
- Tighten vertical spacing on highlight cards
|
||
- Left-align text inside author card
|
||
- Constrain `/my` page content width to match author card
|
||
- Improve tab border styling for dark theme
|
||
- Make relay indicator match CompactButton
|
||
- Align relay indicator within footer with symmetric spacing
|
||
- Make header and footer full-width with borders and corners
|
||
|
||
## [0.5.4] - 2025-10-13
|
||
|
||
### Changed
|
||
|
||
- Refactor CSS into modular structure
|
||
|
||
### Fixed
|
||
|
||
- Mobile button positioning uses safe area insets for symmetrical layout on notched devices
|
||
|
||
## [0.5.3] - 2025-10-13
|
||
|
||
### Changed
|
||
|
||
- Relay status indicator is more compact
|
||
|
||
### Fixed
|
||
|
||
- Invalid bookmarks without IDs no longer appear in bookmark list
|
||
- Profile icon size when logged out matches other icon buttons in sidebar header
|
||
|
||
## [0.5.2] - 2025-10-12
|
||
|
||
### Added
|
||
|
||
- Three-dot menu to highlight cards for more compact UI
|
||
|
||
### Changed
|
||
|
||
- Switch Nostr gateway from njump.me/search.dergigi.com to ants.sh
|
||
- Remove loading text from Explore and Me pages
|
||
- "Open on Nostr" links to the highlight event itself instead of the article
|
||
|
||
### Fixed
|
||
|
||
- Gateway URL routing for ants.sh requirements
|
||
- Linting errors in HighlightItem component
|
||
|
||
## [0.5.1] - 2025-10-12
|
||
|
||
### Added
|
||
|
||
- Highlight color customization to UI elements
|
||
|
||
### Fixed
|
||
|
||
- Highlight count indicator styling to match reading-time element
|
||
- Brightness and border styling for highlight count indicator
|
||
- User highlight color applies to both marker and arrow icons
|
||
- Highlight group color properly applied to count indicator background
|
||
|
||
### Removed
|
||
|
||
- MOBILE_IMPLEMENTATION.md documentation file
|
||
|
||
## [0.5.0] - 2025-10-12
|
||
|
||
### Added
|
||
|
||
- Upgrade to full PWA with `vite-plugin-pwa`
|
||
- Replace placeholder icons with branded favicons
|
||
- Author info card for nostr-native articles
|
||
|
||
### Changed
|
||
|
||
- Explore: shrink refresh spinner footprint; inline-sized loading row
|
||
- Explore: preserve posts across navigations; seed from cache; merge streamed and final results
|
||
- Explore: keep posts visible during refresh; inline spinner; no list wipe
|
||
- Bookmarks: keep list visible during refresh; show spinner only; no wipe
|
||
- Bookmarks: avoid clearing list when no new events; decouple refetch from route changes
|
||
- Highlights: split service into smaller modules to keep files under 210 lines
|
||
- Lint/TypeScript: satisfy react-hooks dependencies; fix worker typings; clear ESLint/TS issues
|
||
|
||
### Fixed
|
||
|
||
- Highlights: merge remote results after local for article/url
|
||
- Explore: always query remote relays after local; stream merge into UI
|
||
- Improve mobile touch targets for highlight icons
|
||
- Color `/my` highlights with "my highlights" color setting
|
||
|
||
### Performance
|
||
|
||
- Local-first then remote follow-up across services
|
||
- Run local and remote fetches concurrently; stream and dedupe results
|
||
- Stream contacts and early posts from local; merge remote later
|
||
- Relay queries use local-first with short timeouts; fallback to remote when needed
|
||
- Stream results to UI; display cached/local immediately
|
||
|
||
### Documentation
|
||
|
||
- PWA implementation summary and launch checklist updates
|
||
- Update docs to reflect branded icons and final steps
|
||
- Remove temporary PWA launch checklist and implementation summary
|
||
|
||
## [0.4.3] - 2025-10-11
|
||
|
||
### Added
|
||
|
||
- Mark as read functionality for articles
|
||
- Highlight deletion with confirmation dialog
|
||
- `/my` page showing user's recent highlights
|
||
- Confirmation dialog component
|
||
|
||
### Changed
|
||
|
||
- Relay status indicator on mobile displays in compact mode
|
||
|
||
## [0.4.2] - 2025-10-11
|
||
|
||
### Added
|
||
|
||
- NIP-19 identifier resolution in article content
|
||
- Auto-hide mobile UI buttons on scroll down
|
||
- Scroll direction detection hook
|
||
|
||
### Changed
|
||
|
||
- Article references (`naddr`) link internally to `/a/{naddr}` instead of external njump.me
|
||
- Sidebar auto-closes on mobile when navigating to content via routes
|
||
- Markdown processing async to support article title resolution
|
||
- Article title resolution fetches titles in parallel for better performance
|
||
|
||
### Fixed
|
||
|
||
- Mobile button scroll detection correctly monitors main pane element
|
||
- All ESLint warnings and TypeScript type errors resolved
|
||
|
||
## [0.4.1] - 2025-10-10
|
||
|
||
### Fixed
|
||
|
||
- Long article summaries overlapping with hero image content on mobile devices
|
||
- Article summary moves below hero image on mobile when longer than 150 characters
|
||
- Article summary line clamp reduced from 3 to 2 lines on mobile for better space utilization
|
||
|
||
### Changed
|
||
|
||
- Hero image rendering on mobile uses zoom-to-fit approach with viewport-based sizing
|
||
- Hero image height on mobile set to 50vh
|
||
- Improved image cropping with center positioning for better visual presentation
|
||
- Optimized reader header overlay padding and title sizing on mobile
|
||
|
||
## [0.4.0] - 2025-10-10
|
||
|
||
### Added
|
||
|
||
- Mobile-responsive design with overlay sidebar drawer
|
||
- Media query hooks for responsive behavior
|
||
- Auto-collapse sidebar setting for mobile devices
|
||
- Touch-optimized UI with 44x44px minimum touch targets
|
||
- Safe area inset support for notched devices
|
||
- Mobile hamburger menu and backdrop
|
||
- Focus trap in mobile sidebar with ESC key support
|
||
- Body scroll locking when mobile sidebar is open
|
||
- Mobile-optimized modals
|
||
- Mobile-optimized toast notifications
|
||
- Dynamic viewport height support
|
||
- Mobile highlights panel as overlay with toggle button
|
||
|
||
### Changed
|
||
|
||
- Sidebar displays as overlay drawer on mobile
|
||
- Highlights panel hidden on mobile for better content focus
|
||
- Sidebar auto-closes when selecting content on mobile
|
||
- Hover effects disabled on touch devices
|
||
- Replace hamburger icon with bookmark icon on mobile
|
||
|
||
### Fixed
|
||
|
||
- Ensure bookmarks container fills mobile sidepane properly
|
||
- Restore desktop grid layout for highlights panel
|
||
- Improve empty state and loading visibility in mobile sidepanes
|
||
- Add flex properties to mobile bookmark containers for proper filling
|
||
- Force bookmarks pane expanded on mobile and ensure highlights pane sits above content on desktop
|
||
- Reduce mobile backdrop opacity and ensure sidepanes appear above it
|
||
- Replace any type with proper bookmark interface for linter compliance
|
||
|
||
## [0.3.8] - 2025-10-10
|
||
|
||
### Fixed
|
||
|
||
- Add vercel.json configuration to properly handle SPA routing on Vercel deployments
|
||
|
||
## [0.3.7] - 2025-10-10
|
||
|
||
### Fixed
|
||
|
||
- Logout button functionality
|
||
|
||
## [0.3.6] - 2025-10-10
|
||
|
||
### Added
|
||
|
||
- Compact date format for highlights
|
||
- Ultra-compact date format for bookmarks sidebar
|
||
- Encode event links as nevent/naddr per NIP-19 for better client compatibility
|
||
- Render /explore within ThreePaneLayout to keep side panels visible
|
||
|
||
### Fixed
|
||
|
||
- Remove incorrect padding-right from highlights container
|
||
- Reduce font size of highlight metadata for cleaner look
|
||
- Position highlight FAB button relative to article pane instead of viewport
|
||
- Adjust relay indicator position for better visual alignment
|
||
- Ensure highlight metadata elements align on single visual line with consistent line-height
|
||
- Prevent bookmark icons from being cut off in compact view
|
||
- Clean up nested borders in bookmark items and sidebar view mode controls
|
||
- Align highlight metadata elements on single line in sidebar
|
||
- Change explore header icon from compass to newspaper
|
||
|
||
### Changed
|
||
|
||
- Make connecting notification more subtle with muted blue background
|
||
- Update Boris pubkey for zap splits to npub19802see0gnk3vjlus0dnmfdagusqrtmsxpl5yfmkwn9uvnfnqylqduhr0x
|
||
- Update domain references to read.withboris.com
|
||
|
||
## [0.3.5] - 2025-10-09
|
||
|
||
### Fixed
|
||
|
||
- Ensure connecting state shows for minimum 15 seconds to prevent premature offline display
|
||
- Add Cloudflare Pages routing config for SPA paths
|
||
|
||
### Changed
|
||
|
||
- Extend connecting state duration and remove subtitle text for cleaner UI
|
||
|
||
## [0.3.4] - 2025-10-09
|
||
|
||
### Fixed
|
||
|
||
- Add p tag (author tag) to highlights of nostr-native content for proper attribution
|
||
|
||
## [0.3.3] - 2025-10-09
|
||
|
||
### Added
|
||
|
||
- Service Worker for robust offline image caching
|
||
- /explore route to discover blog posts from friends on Nostr
|
||
- Explore button (newspaper icon) in bookmarks header
|
||
- "Connecting" status indicator on page load
|
||
- Last fetch time display with relative timestamps in bookmarks list
|
||
|
||
### Changed
|
||
|
||
- Simplify image caching to use Service Worker transparently
|
||
- Move refresh button from top bar to end of bookmarks list
|
||
- Make explore page article cards proper links
|
||
- Reorganize bookmarks UI for better UX
|
||
|
||
### Fixed
|
||
|
||
- Improve image cache resilience for offline viewing and hard reloads
|
||
- Correct TypeScript types for cache stats state
|
||
- Resolve linter errors for unused parameters
|
||
- Import useEventModel from applesauce-react/hooks for proper type safety
|
||
- Import Models from applesauce-core instead of applesauce-react
|
||
- Use correct useEventModel hook for profile loading in BlogPostCard
|
||
|
||
## [0.3.0] - 2025-10-09
|
||
|
||
### Added
|
||
|
||
- Flight Mode with offline highlight creation and local relay support
|
||
- Automatic offline sync
|
||
- Relay indicator icon on highlight items showing sync status
|
||
- Click-to-rebroadcast functionality for highlights
|
||
- Flight mode indicator (plane icon) on offline-created highlights
|
||
- Relay rebroadcast settings for caching and propagation
|
||
- Local relay status indicator for local-only/offline mode
|
||
- Second local relay support
|
||
- Relay connection status tracking and display
|
||
- 6th font size option for better UI scaling
|
||
|
||
### Fixed
|
||
|
||
- Highlight creation resilient to offline/flight mode
|
||
- TypeScript type errors in offline sync
|
||
- Relay indicator tooltip accuracy and reliability
|
||
- Always show relay indicator icon on highlights
|
||
- Show remote relay list for fetched highlights
|
||
- Publish highlights to all connected relays instead of just one
|
||
- Keep all relay connections alive, not just local ones
|
||
- Check actual relay connection status instead of pool membership
|
||
- Skip rebroadcasting when in flight mode
|
||
- Update relay info after automatic sync completes
|
||
- Only show successfully reachable relays in flight mode
|
||
- Include local relays in relay indicator tooltip
|
||
|
||
### Changed
|
||
|
||
- Rename 'Offline Mode' to 'Flight Mode' throughout UI
|
||
- Move publication date to top-right corner with subtle border styling
|
||
- Consolidate relay/status indicators into single unified icon
|
||
- Simplify relay indicator tooltip to show relay list
|
||
- Move rebroadcast settings to dedicated Flight Mode section
|
||
- Place Reading Font and Font Size settings side-by-side
|
||
- Improve font size scale and default value
|
||
- Use wifi icon for disconnected remote relays
|
||
- Use airplane icons for local relay indicators
|
||
- Make Relays heading same level as Flight Mode in settings
|
||
- Simplify rebroadcast settings UI with consistent checkbox style
|
||
|
||
### Performance
|
||
|
||
- Make highlight creation instant with non-blocking relay publish
|
||
- Reduce relay status polling interval to 20 seconds
|
||
- Show sync progress and hide indicator after successful sync
|
||
|
||
## [0.2.10] - 2025-10-09
|
||
|
||
### Added
|
||
|
||
- URL-based settings navigation with /settings route
|
||
- Active zap split preset highlighting
|
||
- Educational links about relays in reader view
|
||
- Article publication date display in reader
|
||
- Local relay recommendations in settings
|
||
- Relays section showing active and recently connected relays
|
||
|
||
### Fixed
|
||
|
||
- Remove trailing slash from relay URLs
|
||
- Constrain Reading Font dropdown width
|
||
|
||
### Changed
|
||
|
||
- Rename 'Default View Mode' to 'Default Bookmark View' in settings
|
||
- Reorganize settings layout for better UX
|
||
- Use sidebar-style colored buttons for highlight visibility
|
||
- Simplify Relays section presentation
|
||
|
||
## [0.2.9] - 2025-10-09
|
||
|
||
### Fixed
|
||
|
||
- Deduplicate highlights in streaming callbacks
|
||
|
||
## [0.2.8] - 2025-10-09
|
||
|
||
### Added
|
||
|
||
- Display article summary in header
|
||
- Overlay title and metadata on hero images
|
||
- Apply reading font to article titles
|
||
|
||
### Fixed
|
||
|
||
- Pass article summary through to ReadableContent
|
||
- Correct Jina AI Reader proxy URL format
|
||
|
||
### Changed
|
||
|
||
- Update homepage URL to read.withboris.com
|
||
- Reorder toolbar buttons for better UX
|
||
|
||
## [0.2.7] - 2025-10-08
|
||
|
||
### Added
|
||
|
||
- Web bookmark creation
|
||
- Tags support for web bookmarks per NIP-B0
|
||
- Auto-fetch title and description when URL is pasted
|
||
- Prioritize OpenGraph tags for metadata extraction
|
||
- Auto-extract tags from metadata with boris as default tag
|
||
- Zap split preset buttons
|
||
- Boris support percentage to zap splits
|
||
- Respect existing zap tags in source content when creating highlights
|
||
|
||
### Fixed
|
||
|
||
- Revert to fetchReadableContent to avoid CORS issues
|
||
- Improve modal spacing with proper box-sizing
|
||
- Prevent sliders from jumping when resetting settings
|
||
- Pass relayPool as prop instead of using non-existent hook
|
||
- Correct type signature for addZapTags function
|
||
|
||
### Changed
|
||
|
||
- Reorder toolbar buttons for better UX
|
||
- DRY up tag extraction with normalizeTags helper
|
||
- Use url-metadata package for robust metadata extraction
|
||
- Make zap split sliders independent using weights
|
||
- Move zap splits to dedicated settings section
|
||
- Publish bookmarks to relays in background for better performance
|
||
|
||
## [0.2.6] - 2025-10-08
|
||
|
||
### Added
|
||
|
||
- Home button to bookmark bar
|
||
- Configurable zap split for highlights on nostr-native content
|
||
|
||
## [0.2.5] - 2025-10-07
|
||
|
||
### Fixed
|
||
|
||
- Wire preview ref to markdown conversion hook
|
||
- Add missing useEffect dependencies for article loading
|
||
|
||
### Changed
|
||
|
||
- DRY up highlight classification and URL normalization
|
||
- Split highlighting utilities into modules
|
||
- Extract highlights panel components
|
||
- Extract content rendering hooks
|
||
- Split Settings into section components
|
||
- Extract event processing utilities
|
||
- Split Bookmarks.tsx into smaller hooks and components
|
||
|
||
## [0.2.4] - 2025-10-07
|
||
|
||
### Added
|
||
|
||
- Domain configuration for <https://xn--bris-v0b.com/>
|
||
- Public assets and deployment configuration
|
||
- Hide bookmarks without content or URL
|
||
|
||
### Fixed
|
||
|
||
- Encode/decode URLs in /r/ route to preserve special characters
|
||
|
||
### Changed
|
||
|
||
- Cleanup after build fixes
|
||
- Stop tracking node_modules/dist
|
||
- Update dependencies and dedupe
|
||
- Add .gitignore for node_modules and dist
|
||
|
||
## [0.2.3] - 2025-10-07
|
||
|
||
### Added
|
||
|
||
- Parse and display summary tag for nostr articles
|
||
- Merge and flatten bookmarks from multiple lists
|
||
- Update URL path when opening bookmarks from sidebar
|
||
|
||
### Fixed
|
||
|
||
- Ensure bookmarks are sorted newest first after merging lists
|
||
- Hide empty bookmarks without content
|
||
- Remove encrypted cyphertext display from bookmark list
|
||
|
||
### Changed
|
||
|
||
- Remove created date from bookmark list display
|
||
|
||
## [0.2.2] - 2025-10-06
|
||
|
||
### Added
|
||
|
||
- Support for web bookmarks
|
||
- Default highlight visibility settings
|
||
- Proxy.nostr-relay.app relay to configuration
|
||
- Comprehensive logging to settings service
|
||
|
||
### Fixed
|
||
|
||
- Handle web bookmarks with URLs in d tag and prevent crash
|
||
- Load settings from local cache first to eliminate FOUT
|
||
- Ensure fonts are fully loaded before applying styles
|
||
- Improve highlight rendering pipeline with comprehensive debugging
|
||
|
||
### Changed
|
||
|
||
- Use icon toggle buttons for highlight visibility settings
|
||
- Change nostrverse icon from fa-globe to fa-network-wired
|
||
|
||
## [0.2.1] - 2025-10-05
|
||
|
||
### Added
|
||
|
||
- Local relay support and centralize relay configuration
|
||
- Optimistic updates for highlight creation
|
||
- Enable highlight creation from external URLs
|
||
- Add routing support for external URLs
|
||
- Add context to highlights
|
||
- Boris branding to highlight alt tag
|
||
|
||
### Fixed
|
||
|
||
- Properly await account loading from localStorage on refresh
|
||
- Add protected routes to prevent logout on page refresh
|
||
- Use undo icon for reset to defaults button
|
||
- Update local relay port to 10547
|
||
|
||
### Changed
|
||
|
||
- Remove dedicated login page, handle login through main UI
|
||
- Simplify to single RELAYS constant
|
||
|
||
## [0.2.0] - 2025-10-05
|
||
|
||
### Added
|
||
|
||
- Simple highlight creation feature
|
||
- Reset to defaults button in settings
|
||
- Load and apply settings upon login
|
||
|
||
### Fixed
|
||
|
||
- Replace any types with proper NostrEvent types
|
||
- Move FAB to Bookmarks component for proper floating
|
||
- Highlight button positioning with scroll
|
||
|
||
### Changed
|
||
|
||
- Update color palette to include default friends/nostrverse colors
|
||
- Show author name in highlight cards
|
||
- Sync highlight level toggles between sidebar and main article text
|
||
- Rename 'underlines' to 'highlights' throughout codebase
|
||
|
||
## [0.1.11] - 2025-10-05
|
||
|
||
### Added
|
||
|
||
- Stream highlights progressively as they arrive from relays
|
||
|
||
### Fixed
|
||
|
||
- Display article immediately without waiting for highlights to load
|
||
- Show highlights immediately when opening panel if already loaded
|
||
- Prevent bookmark text from being cut off in compact view
|
||
- Correct default highlight color for 'mine' to yellow
|
||
|
||
### Changed
|
||
|
||
- Reduce padding between bookmark items and panel edge
|
||
- Update default highlight colors to orange for friends and purple for nostrverse
|
||
|
||
## [0.1.10] - 2025-10-05
|
||
|
||
### Added
|
||
|
||
- Three-level highlight system
|
||
|
||
### Fixed
|
||
|
||
- Ensure highlights always render on markdown content
|
||
- Classify highlights before passing to ContentPanel
|
||
- Position toggle buttons directly adjacent to main panel
|
||
- Remove redundant setReaderLoading call in error handler
|
||
|
||
### Changed
|
||
|
||
- Always show friends and user highlight buttons
|
||
- Remove Highlights title and count from panel
|
||
|
||
## [0.1.9] - 2025-10-05
|
||
|
||
### Fixed
|
||
|
||
- Show markdown content immediately when finalHtml is empty
|
||
- Prevent highlight bleeding into sidebar
|
||
|
||
## [0.1.8] - 2025-10-05
|
||
|
||
### Fixed
|
||
|
||
- Prevent 'No readable content' flash for markdown articles
|
||
- Enable highlights display and scroll-to for markdown content
|
||
|
||
### Added
|
||
|
||
- Persist accounts to localStorage
|
||
|
||
### Changed
|
||
|
||
- Simplify login by handling it directly in sidebar
|
||
|
||
## [0.1.7] - 2025-10-05
|
||
|
||
### Added
|
||
|
||
- Show highlights in article content and add mode toggle
|
||
|
||
### Fixed
|
||
|
||
- Show highlights for nostr articles by skipping URL filter
|
||
- Refresh button works without login for article highlights
|
||
- Query highlights using both a-tag and e-tag
|
||
|
||
### Changed
|
||
|
||
- Keep Bookmarks.tsx under 210 lines by extracting logic
|
||
|
||
## [0.1.6] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- Native support for rendering Nostr long-form articles
|
||
- Display article titles for kind:30023 bookmarks
|
||
- Enable clicking on kind:30023 articles to open in reader
|
||
- Display article hero images in bookmark views and reader
|
||
- Configurable highlight colors
|
||
- Highlight style setting
|
||
|
||
### Fixed
|
||
|
||
- Use bookmark pubkey for article author instead of tag lookup
|
||
- Ensure highlight color CSS variable inherits from parent
|
||
|
||
### Changed
|
||
|
||
- Integrate long-form article rendering into existing reader view
|
||
- Extract components to keep files under 210 lines
|
||
- Make font size and color buttons match icon button size
|
||
|
||
## [0.1.5] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- Settings panel with NIP-78 storage
|
||
- Auto-save for settings with toast notifications
|
||
- Reading time estimate to articles
|
||
- Font size setting
|
||
- Configurable reading font using Bunny Fonts
|
||
- Live preview of reading font in settings
|
||
- Settings subscription to watch for Nostr updates
|
||
|
||
### Fixed
|
||
|
||
- Prevent settings from saving unnecessarily
|
||
- Prevent save settings button from being cut off
|
||
- Replace custom reading time with reading-time-estimator package
|
||
- Update originalHtmlRef when content changes
|
||
|
||
### Changed
|
||
|
||
- Reduce file sizes to meet 210 line limit
|
||
- Extract settings logic into custom hook
|
||
- Consolidate settings initialization on login
|
||
- Remove debounce from settings auto-save
|
||
|
||
## [0.1.4] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- Inline highlight annotations in content panel
|
||
- NIP-84 highlights panel with three-pane layout
|
||
- Toggle button to show/hide highlight underlines
|
||
- Click-to-scroll for highlights
|
||
- Pulsing animation when scrolling to highlight
|
||
|
||
### Fixed
|
||
|
||
- Apply highlights to markdown content as well as HTML
|
||
- Use requestAnimationFrame for highlight DOM manipulation
|
||
- Improve HTML highlight matching with DOM manipulation
|
||
- Filter highlights panel to show only current article
|
||
|
||
### Changed
|
||
|
||
- Use applesauce helpers for highlight parsing
|
||
- DRY up highlightMatching to stay under 210 lines
|
||
- Change highlights to fluorescent marker style
|
||
- Deduplicate highlight events by ID
|
||
|
||
## [0.1.3] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- View mode switching for bookmarks with compact list view
|
||
- Large preview view mode
|
||
- Image preview for large view cards
|
||
- Hero images using free CORS proxy
|
||
|
||
### Changed
|
||
|
||
- Make entire compact list row clickable to open reader
|
||
- Make card view timestamp clickable to open event
|
||
- Enhance card view design with modern styling
|
||
|
||
## [0.1.2] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- Open bookmark URLs in reader instead of new window
|
||
- localStorage caching for fetched articles
|
||
- Collapsible bookmarks sidebar
|
||
|
||
### Fixed
|
||
|
||
- Make sidebar and reader scroll independently
|
||
- Replace relative-time with date-fns for timestamp formatting
|
||
|
||
### Changed
|
||
|
||
- Display timestamps as relative time
|
||
- Replace user text with profile image in sidebar header
|
||
- Move user info and logout to sidebar header bar
|
||
- Reduce IconButton size by 25%
|
||
|
||
## [0.1.1] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- Classify URLs by type and adjust action buttons
|
||
- Collapse/expand functionality for bookmarks sidebar
|
||
- IconButton component with square styling
|
||
- Resolve nprofile/npub mentions to names in content
|
||
|
||
### Fixed
|
||
|
||
- Enforce 210-char truncation for both plain and parsed content
|
||
- Use Rules of Hooks correctly
|
||
|
||
### Changed
|
||
|
||
- Use IconButton for all icon-only actions to enforce square sizing
|
||
- Sort bookmarks by added_at
|
||
- Make kind icon square to match IconButton sizing
|
||
- Remove colored borders and gradients; keep neutral cards
|
||
|
||
## [0.1.0] - 2025-10-03
|
||
|
||
### Added
|
||
|
||
- Two-pane layout and content fetching pipeline
|
||
- ContentPanel component to render readable HTML
|
||
- Lightweight readability fetcher via r.jina.ai proxy
|
||
- Markdown rendering support with react-markdown and remark-gfm
|
||
- READ button to bookmark cards
|
||
- Spinner to content loading state
|
||
- FontAwesome icons for event kinds
|
||
|
||
### Fixed
|
||
|
||
- Show bookmarked event author instead of list signer
|
||
- Enable reactive profile fetch via address loader
|
||
- Left-align content and constrain images in content panel
|
||
|
||
### Changed
|
||
|
||
- Resolve author names using applesauce ProfileModel
|
||
- Propagate URL selection through BookmarkList to parent
|
||
- Display URLs clearly in individual bookmarks
|
||
|
||
## [0.0.3] - 2025-10-02
|
||
|
||
### Added
|
||
|
||
- Manual decryption for unrecognized event kinds
|
||
- Try NIP-44 then NIP-04 for manual decryption
|
||
- Detailed debugging for decryption process
|
||
- Support for hidden bookmarks decryption
|
||
|
||
### Fixed
|
||
|
||
- Surface manually decrypted hidden tags in UI
|
||
- Dedupe individual bookmarks by id
|
||
|
||
### Changed
|
||
|
||
- Sort individual bookmarks by timestamp
|
||
- Increase bookmark loading timeout by 2x
|
||
- Extract helpers and event processing
|
||
|
||
## [0.0.2] - 2025-10-02
|
||
|
||
### Added
|
||
|
||
- Fetch all NIP-51 events
|
||
- Unlock private bookmarks via applesauce helpers
|
||
- Copy-to-clipboard icons for event id and author pubkey
|
||
- FontAwesome globe/lock icons
|
||
- Display content identically for private/public bookmarks
|
||
|
||
### Fixed
|
||
|
||
- Properly configure browser extension signer
|
||
- Aggregate list
|
||
- Handle applesauce bookmark structure correctly
|
||
- Resolve loading state stuck issue
|
||
|
||
### Changed
|
||
|
||
- Change bookmarks display from grid to social feed list layout
|
||
- Simplify bookmark service using applesauce helpers
|
||
- Extract components and utilities to keep files under 210 lines
|
||
|
||
## [0.0.1] - 2025-10-02
|
||
|
||
### Added
|
||
|
||
- Initial release
|
||
- Browser extension login support
|
||
- NIP-51 bookmark fetching from nostr relays
|
||
- User profile display
|
||
- Relay pool configuration
|
||
- Basic UI with profile resolution
|
||
|
||
### Changed
|
||
|
||
- Migrate to applesauce-accounts for proper account management
|
||
- Use proper applesauce-loaders for NIP-51 bookmark fetching
|
||
- Optimize relay usage following applesauce-relay best practices
|
||
- Use applesauce-react event models for better profile handling |