mirror of
https://github.com/tanrax/org-social.el
synced 2026-01-07 05:43:32 +01:00
11 KiB
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
- Post IDs can now be specified in the header:
- ID Migration Tool: New
org-social-migrate-ids-to-headercommand (M-x)
2.9
- Feature: VISIBILITY property support (Org Social specification v1.5)
- Posts can now have
VISIBILITY:mentionto restrict visibility to mentioned users - When creating a new post, the user is prompted to choose between "public" or "mention" visibility
- Posts with
VISIBILITY:mentionare 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-urlsfunction to extract mentions from post body - New
org-social-feed--should-show-postfunction to filter posts by visibility in timeline
- Posts can now have
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 tonilto disable truncation - Fix: Poll voting now works correctly with vfile URLs by using local cache file
2.7
- Migration Support:
- New
org-social-new-migrationcommand 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
- New
- vfile Support
- Boost Support (Share/Repost):
- New
/interactionsendpoint integration (replaces separate/reactionsand/boostscalls) - Added boost functionality with
:INCLUDE:property support - Visual "🔄 Boosted" indicator on boosted posts
- Boost counter integrated in post buttons (e.g., "[ 3 🔄 ]")
- Keyboard shortcut
bto boost posts from timeline
- New
- Language Filter:
- New
org-social-language-filterconfiguration variable by language codes (e.g.,'("en" "es")for English and Spanish)
- New
- UI Improvements:
- Removed visual refresh button from all buffers (keyboard shortcut
gstill works) - Buttons now use emoji-only format with tooltips for cleaner appearance
- All post buttons include
:help-echoproperties for better usability - Help text updated with boost shortcut information
- Removed visual refresh button from all buffers (keyboard shortcut
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.elandorg-social-timeline-rawfunction (unused functionality)
- Removed
- 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
- Emojis now render correctly instead of showing octal sequences (e.g.,
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-retrieveinstead 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)
- New async user queue system (
- 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-corC-c * - Context-aware Org commands work directly in timeline and thread views
- Execute code blocks with
- 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.elmodule with HTTP Range requests. Downloads only recent posts (configurable viaorg-social-max-post-age-days, default: 14 days) - Concurrent Download Control: New
org-social-max-concurrent-downloadsvariable (default: 20) - UTF-8 Fix: Properly decode emojis and Unicode characters in partial downloads
- Bug Fixes:
2.2
- New notification system.
- Inline images.
- Minor fixes.
2.1
- Groups relay integration.
- Added Search.
- Timeline Enhancements.
- Removed deprecated
org-social-preview-base-urlvariable.
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-relayis now required (default:https://org-social-relay.andros.dev/)org-social-my-public-urlis 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.)
- Three required variables:
- 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-buttonsto 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) andp(previous) keys - Added reply functionality with
rkey in timeline - Enhanced timeline display to show mood, language, and tags
- Improved cursor positioning to post content when navigating
- Added timeline refresh functionality with
gkey - Added
org-social-timeline-modefor better timeline interaction
1.1
- Added hook
org-social-after-save-file-hookto 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