Files
org-social.el/CHANGELOG.md

11 KiB

📝 Changelog

2.10

  • Org Social v1.6 Specification Support:
    • Post IDs can now be specified in the header: ** 2025-01-05T10:00:00+0100
    • New global metadata fields:
      • #+LOCATION: - User location (city, country)
      • #+BIRTHDAY: - User birthday in YYYY-MM-DD format
      • #+LANGUAGE: - Space-separated language codes (ISO 639-1) the user speaks
      • #+PINNED: - Post ID to pin to the top of the profile
    • Profile UI now displays location (📍), birthday (🎂), and languages (🗣️)
    • Pinned posts are highlighted with 📌 in profile view
  • ID Migration Tool: New org-social-migrate-ids-to-header command (M-x)

2.9

  • Feature: VISIBILITY property support (Org Social specification v1.5)
    • Posts can now have VISIBILITY:mention to restrict visibility to mentioned users
    • When creating a new post, the user is prompted to choose between "public" or "mention" visibility
    • Posts with VISIBILITY:mention are only visible to the post author and users mentioned via [[org-social:URL][name]] links
    • Posts with GROUP property ignore VISIBILITY (always visible to group members)
    • New org-social-parser--extract-mentioned-urls function to extract mentions from post body
    • New org-social-feed--should-show-post function to filter posts by visibility in timeline

2.8

  • Improvement: org-social-mention-user - Now uses async cache system that loads all users from relay without blocking Emacs. Cache updates automatically and silently after timeline is displayed
  • Feature: Real-time desktop notifications (optional, disabled by default via org-social-realtime-notifications)
  • Feature: Post preview length control with org-social-post-preview-length (default 400 characters). Long posts show truncated content with "Read more" button to open in thread view. Set to nil to disable truncation
  • Fix: Poll voting now works correctly with vfile URLs by using local cache file

2.7

  • Migration Support:
    • New org-social-new-migration command to create migration posts
    • Automatic local migration processing when opening files or viewing timeline
    • Automatic remote migration detection when downloading follower feeds. Replaces old URLs with new URLs throughout the file (FOLLOW, REPLY_TO, INCLUDE, mentions). Auto-saves social.org after applying remote migrations
  • vfile Support
  • Boost Support (Share/Repost):
    • New /interactions endpoint integration (replaces separate /reactions and /boosts calls)
    • Added boost functionality with :INCLUDE: property support
    • Visual "🔄 Boosted" indicator on boosted posts
    • Boost counter integrated in post buttons (e.g., "[ 3 🔄 ]")
    • Keyboard shortcut b to boost posts from timeline
  • Language Filter:
    • New org-social-language-filter configuration variable by language codes (e.g., '("en" "es") for English and Spanish)
  • UI Improvements:
    • Removed visual refresh button from all buffers (keyboard shortcut g still works)
    • Buttons now use emoji-only format with tooltips for cleaner appearance
    • All post buttons include :help-echo properties for better usability
    • Help text updated with boost shortcut information

2.6

  • Multi-Account Support
  • Fixed issue #25: Kill hanging HTTP processes on timeout to prevent zombie processes and 'running process' popups
  • Validator Improvements
  • Added button to donate to the project via Liberapay.

2.5

  • Groups Improvements:
    • Multi-relay support: Subscribe to groups from multiple relay servers simultaneously
    • Groups buffer now shows only subscribed groups (instead of all relay groups)
    • Fixed multi-word group names parsing (e.g., "Org Social" now parsed correctly)
    • Automatic GROUP property: When creating posts from group buffers (via button or keyboard shortcut 'c'), the :GROUP: property is automatically added with group name and relay URL
    • Fixed parser to ignore groups defined in code blocks (BEGIN_SRC/END_SRC)
  • Poll Improvements:
    • Interactive radio button UI for voting on polls directly within posts
    • Added "📊 Results" button to view poll results with visual progress bars
    • "Thread" button now correctly appears only when polls have real replies (filters out simple votes)
  • Discover Buffer Improvements: Infinite scroll pagination and random order
  • Code Cleanup:
    • Removed org-social-raw.el and org-social-timeline-raw function (unused functionality)
  • Bug Fixes:
    • Emojis now render correctly instead of showing octal sequences (e.g., \360\203...)
    • Fixed vote counting in poll results (now correctly parses relay response format)
    • Fixed Reply and Thread buttons not appearing on poll posts

2.4

  • Performance Improvements:
    • New async user queue system (org-social-user-queue.el) for parallel user info fetching
    • Improved feed downloading with better concurrency control (uses url-retrieve instead of blocking threads)
    • Better performance for Discover and user profile loading
    • Reduced concurrent download limit for user fetches to avoid rate limiting (3 concurrent requests)
  • Scheduled Posts: Posts with future dates are now ignored in timeline views
  • Validator Enhancements:
    • Optional properties support: Properties not in the known list are now ignored instead of causing validation errors
    • CONTACT field now accepts any valid URI scheme (not just mailto, xmpp, http/https)
    • Better integration with other org-mode tools and export features
  • File Structure:
    • Optional properties in org-social file format
    • Automatic space added after h2 headings in generated content
  • Documentation:
    • Fixed documentation errors and improved clarity

2.3

  • Option to install with MELPA
  • Discover Buffer: New "🌍 Discover" buffer to browse and follow users from the relay
  • Edit Button: Added "✏️ Edit" button for your own posts
  • Interactive Org Mode Support: Full interactive Org mode functionality within posts
    • Execute code blocks with C-c C-c (Python, Emacs Lisp, etc.)
    • Recalculate tables with formulas using C-c C-c or C-c *
    • Context-aware Org commands work directly in timeline and thread views
  • My Profile Button: Added "👤 My Profile" button in timeline header
  • UI Improvements:
    • Renamed "Notifications" to "Notices" throughout the interface
    • Removed "@" prefix from usernames for cleaner display
    • Better button layout and spacing
  • Poll Enhancements:
    • Added "🗳 Vote" button for polls
    • Polls now hidden from timeline view (visible in threads and profiles)
  • Performance Optimizations: New org-social-partial-fetch.el module with HTTP Range requests. Downloads only recent posts (configurable via org-social-max-post-age-days, default: 14 days)
  • Concurrent Download Control: New org-social-max-concurrent-downloads variable (default: 20)
  • UTF-8 Fix: Properly decode emojis and Unicode characters in partial downloads
  • Bug Fixes:
    • Fixed org headings promotion relative to posts (#18)
    • Fixed duplicate posts in group views
    • Improved reaction handling and display
    • Corrected keyboard shortcuts in documentation (#14)
    • Fixed MOOD emoji displaying as octal sequences instead of proper emoji rendering

2.2

  • New notification system.
  • Inline images.
  • Minor fixes.

2.1

  • Groups relay integration.
  • Added Search.
  • Timeline Enhancements.
  • Removed deprecated org-social-preview-base-url variable.

2.0

  • New Modern UI. Complete UI rewrite with modern widget-based interface
    • Completely rewritten UI using Emacs widgets for better interactivity
    • Beautiful centered layout with visual-fill-column support
    • Interactive buttons for all actions (Reply, Thread, Profile, React, Vote)
    • Real-time navigation between timeline, threads, notifications, and groups
    • Removed old org-mode based timeline (available in v1 branch)
  • Avatar Support:
    • Display user avatars in timeline and thread views
    • Automatic avatar caching and downloading
    • Fallback to emoji when avatar not available
    • Images centered vertically with text
  • Enhanced Thread Navigation:
    • Thread button shows parent post thread
    • Smart thread button visibility (only shows when post has replies or is a reply)
    • Hierarchical thread navigation with "Go to parent" button
    • Thread stack for multi-level navigation
    • Back button kills buffer when exiting threads
  • Relay Integration (now required):
    • org-social-relay is now required (default: https://org-social-relay.andros.dev/)
    • org-social-my-public-url is now required
    • Full support for relay mentions and notifications
    • Group support via relay
    • Thread/replies detection via relay
    • Automatic caching of relay queries
  • Improved Post Display:
    • Tags and mood displayed on same line
    • Better button ordering (Reply → Thread → Profile → React → Vote)
    • Enhanced formatting with colors and spacing
    • Support for post reactions and voting
  • Configuration Changes:
    • Three required variables: org-social-file, org-social-relay, org-social-my-public-url
    • Clear error messages when required configuration is missing
    • Updated keybindings for modern UI (n/p for navigation, t for thread, etc.)
  • Code Quality:
    • Removed org-social-timeline.el (legacy code)
    • All code passes linter without warnings
    • Better module organization
    • Forward declarations for all external functions

1.5

  • Added configuration option org-social-hide-post-buttons to hide Reply, Vote, and Profile buttons for cleaner timeline view.
  • Improved timeline interface with better button management.
  • Enhanced UI consistency across timeline interactions.
  • Removed redundant shortcut configurations for streamlined setup.
  • Fixed formatting issues in timeline display.

1.4

  • Input to make votes.
  • Input to make new polls.
  • Notifications: Display the voting results.
  • Button to reply
  • Button to vote on polls
  • Button to view profile
  • Updated mention source to use real nick names.

1.3

  • Split code into small files.
  • Notifications section.
  • Function to adding mentions.
  • Improved format for mentions.

1.2

  • Added timeline navigation with n (next) and p (previous) keys
  • Added reply functionality with r key in timeline
  • Enhanced timeline display to show mood, language, and tags
  • Improved cursor positioning to post content when navigating
  • Added timeline refresh functionality with g key
  • Added org-social-timeline-mode for better timeline interaction

1.1

  • Added hook org-social-after-save-file-hook to allow custom actions after saving the social file.

1.0

Initial release with basic functionality:

  • Downloading and displaying feeds
  • Creating new posts
  • Validating file structure
  • Basic keybindings