Implements a checkbox option for kinds 30041 and 30818 that allows users to display all loaded content events instead of being limited by the number input.
Changes:
- Added showAll property to EventKindConfig interface
- Added toggleShowAllContent method to visualization store
- Updated EventTypeConfig UI to show "All" checkbox for content kinds
- Modified display filtering to respect showAll setting
- Disabled number input when showAll is checked
This improves the user experience by making it easy to show all content when working with publications and wiki pages.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add profileStats reactive state to track total fetched profiles and display limit
- Pass profileStats through EventNetwork -> Settings -> EventTypeConfig
- Update EventTypeConfig UI to show 'X of Y fetched' format for kind 0 profiles
- Profile fetching now extracts all pubkeys from loaded events first
- Display limit for profiles controls visualization, not fetching
This completes Phase 4 of the event types panel redesign.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add hasInitializedPersons flag to track first-time initialization
- Only auto-disable person nodes on first show, not on every update
- Clear disabled persons when person visualizer is hidden
- Update EventTypeConfig to show profile stats in format: [limit] of [total] fetched
This fixes the issue where person nodes would immediately disable after being toggled on when navigating from a publication page.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit represents a checkpoint in implementing a sophisticated event
configuration system with people tag anchors. The implementation has grown
complex and needs reimplementation in a smarter way.
## Major Changes:
### Event Configuration System Overhaul
- Replaced simple allowed/disabled kinds with EventKindConfig objects
- Each event kind now has individual limits and type-specific settings:
- Kind 0 (profiles): Controls max profiles to fetch
- Kind 3 (follow lists): Has depth setting and complex fetch logic
- Kind 30040: Has nestedLevels setting
- Created new EventTypeConfig component replacing EventKindFilter
### Follow List Fetching Logic
- Kind 3 limit=1: Fetches only user's follow list
- Kind 3 limit>1: Fetches user's + (limit-1) follow lists from follows
- Added depth traversal (0=direct, 1=2 degrees, 2=3 degrees)
- Attempted to implement "addFollowLists" toggle (later simplified)
### Profile Fetching Changes
- Modified to be more selective about which profiles to fetch
- Attempted to limit based on follow lists and event authors
- Added progress indicators for profile loading
### People Tag Anchors Implementation
- Complex logic to create "p" tag anchors from follow lists
- Synthetic event creation to connect people to visualization
- "Only show people with publications" checkbox
- Attempted to connect people to:
- Events they authored (pubkey match)
- Events where they're tagged with "p"
- Display limiting based on kind 0 limit
### UI/UX Changes
- Tag anchors legend now scrollable when >20 items
- Auto-disable functionality when >20 tag anchors
- Added various UI controls that proved confusing
- Multiple iterations on settings panel layout
## Problems with Current Implementation:
1. **Overly Complex Logic**: The synthetic event creation and connection
logic for people tag anchors became convoluted
2. **Confusing UI**: Too many interdependent settings that aren't intuitive:
- Limit inputs control different things for different event types
- The relationship between kind 3 and kind 0 limits is unclear
- "addFollowLists" checkbox functionality was confusing
3. **Performance Concerns**: Fetching all profiles then limiting display
may not be optimal
4. **Unclear Requirements**: The exact behavior for people tag anchors
connections needs clarification
## Next Steps:
Need to revert and reimplement with:
- Clearer separation of concerns
- Simpler UI that's more intuitive
- Better defined behavior for people tag anchors
- More efficient profile fetching strategy
## Files Changed:
- EventTypeConfig.svelte: New component for event configuration
- visualizationConfig.ts: Major overhaul for EventKindConfig
- profileCache.ts: Added selective fetching logic
- visualize/+page.svelte: Complex follow list and profile fetching
- EventNetwork components: People tag anchor implementation
- settings_panel.org: Documentation of intended behavior
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Visual indicators: Event kind badges now have colored borders:
- Green border = Events loaded (with count shown)
- Red border = Not loaded yet
2. Hint text: Added explanations below the badges explaining what the colors mean
3. Event counts: Shows the number of loaded events for each kind in parentheses
- A sidebar variant is meant for integration within a sidebar. This is used in the current Publication component.
- An accordion variant is intended for standalone use.