Tree:
a39b86adce
master
${ noResults }
1 Commits (a39b86adcebd02fb8a7df40b2c7507d1945fb664)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
a39b86adce |
WIP: Complex event configuration and people tag anchor implementation
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> |
9 months ago |