Documentation updates.
410
Advanced-Features.md
Normal file
410
Advanced-Features.md
Normal file
@ -0,0 +1,410 @@
|
|||||||
|
# Advanced Features
|
||||||
|
|
||||||
|
TTYverse offers powerful features for experienced users, including customization options, advanced posting features, automation capabilities, and system integration.
|
||||||
|
|
||||||
|
## Advanced Posting Features
|
||||||
|
|
||||||
|
### Visibility Control
|
||||||
|
|
||||||
|
TTYverse supports all fediverse visibility levels with indicators:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Posts show visibility in metadata line:
|
||||||
|
a0> {,POST_ID} <username> (2h ago) via TTYverse [Public]
|
||||||
|
a1> {,POST_ID} <username> (1h ago) via TTYverse [Unlisted]
|
||||||
|
a2> {,POST_ID} <username> (30m ago) via TTYverse [Followers]
|
||||||
|
a3> {,POST_ID} <username> (5m ago) via TTYverse [Direct]
|
||||||
|
```
|
||||||
|
|
||||||
|
**Visibility levels:**
|
||||||
|
- **[Public]** - Visible to everyone, appears in local/federated timelines
|
||||||
|
- **[Unlisted]** - Public but not in discovery timelines
|
||||||
|
- **[Followers]** - Only visible to your followers
|
||||||
|
- **[Direct]** - Only visible to mentioned users (like DMs)
|
||||||
|
|
||||||
|
### Advanced Media Features
|
||||||
|
|
||||||
|
**Media attachment with post text:**
|
||||||
|
```bash
|
||||||
|
/media /path/to/image.jpg Check out this amazing sunset from my hike today!
|
||||||
|
```
|
||||||
|
|
||||||
|
**Multiple media formats supported:**
|
||||||
|
- **Images:** JPEG, PNG, GIF, WebP (alt-text required)
|
||||||
|
- **Audio:** MP3, OGG, WAV, FLAC, M4A
|
||||||
|
- **Video:** MP4, WebM, MOV
|
||||||
|
|
||||||
|
**Accessibility enforcement:**
|
||||||
|
TTYverse requires alt-text for images and cancels uploads without descriptions:
|
||||||
|
```
|
||||||
|
-- Upload cancelled: Alt-text is required for images
|
||||||
|
-- If you're going to use a client maintained by a blind guy, you can damn well describe your images!
|
||||||
|
```
|
||||||
|
|
||||||
|
### Content Warnings
|
||||||
|
|
||||||
|
Posts with content warnings display in brackets on the metadata line:
|
||||||
|
|
||||||
|
```
|
||||||
|
a5> {,POST_ID} <username> (1h ago) via Web [Public] [CW: Politics]
|
||||||
|
[Content warning text appears here] Click to show content...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Thread Navigation
|
||||||
|
|
||||||
|
**View conversation threads:**
|
||||||
|
```bash
|
||||||
|
/thread a3 # View the full conversation thread for post a3
|
||||||
|
```
|
||||||
|
|
||||||
|
Shows the complete conversation context with proper threading.
|
||||||
|
|
||||||
|
## Advanced Timeline Features
|
||||||
|
|
||||||
|
### Multiple Timeline Types
|
||||||
|
|
||||||
|
Access different content streams:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/timeline home # Your personalized feed (default)
|
||||||
|
/timeline local # Local instance posts
|
||||||
|
/timeline federated # Federated timeline
|
||||||
|
/timeline public # Same as local
|
||||||
|
/timeline notifications # Your notifications
|
||||||
|
/timeline bookmarks # Your bookmarked posts
|
||||||
|
/timeline favourites # Your favorite posts
|
||||||
|
```
|
||||||
|
|
||||||
|
### Timeline Filtering and Management
|
||||||
|
|
||||||
|
**Historical timeline access:**
|
||||||
|
```bash
|
||||||
|
/last 20 # Show last 20 cached posts
|
||||||
|
/again # Load more posts from current timeline
|
||||||
|
/refresh # Force refresh current timeline
|
||||||
|
```
|
||||||
|
|
||||||
|
**User-specific timelines:**
|
||||||
|
```bash
|
||||||
|
/again @username # View recent posts from specific user
|
||||||
|
/wagain @username # View all recent activity from user
|
||||||
|
```
|
||||||
|
|
||||||
|
## Advanced Search Features
|
||||||
|
|
||||||
|
### Comprehensive Search Options
|
||||||
|
|
||||||
|
**Search types:**
|
||||||
|
```bash
|
||||||
|
/search #hashtag # Search hashtags
|
||||||
|
/search @user@instance.com # Find specific users
|
||||||
|
/search "exact phrase" # Search post content
|
||||||
|
/search keyword # General content search
|
||||||
|
```
|
||||||
|
|
||||||
|
**Advanced search operators:**
|
||||||
|
- Use quotes for exact phrases
|
||||||
|
- Include instance names for cross-server user searches
|
||||||
|
- Combine terms for refined results
|
||||||
|
|
||||||
|
## Extensions and Customization
|
||||||
|
|
||||||
|
### Sound Notification System
|
||||||
|
|
||||||
|
TTYverse includes 11 distinct notification types:
|
||||||
|
|
||||||
|
**Notification categories:**
|
||||||
|
- **default** - General timeline posts
|
||||||
|
- **mention** - Posts that mention you
|
||||||
|
- **dm** - Direct messages
|
||||||
|
- **me** - Your own posts appearing in timeline
|
||||||
|
- **search** - Search result notifications
|
||||||
|
- **follow** - New follower notifications
|
||||||
|
- **boost** - When someone boosts your posts
|
||||||
|
- **favourite** - When someone favorites your posts
|
||||||
|
- **poll** - Poll-related notifications
|
||||||
|
- **edit** - Post edit notifications
|
||||||
|
- **announcement** - Instance announcements
|
||||||
|
|
||||||
|
**Configuration:**
|
||||||
|
```bash
|
||||||
|
# In ~/.config/ttyverse/ttyverserc
|
||||||
|
notifytype=soundpack
|
||||||
|
notifies=mention,dm,boost,favourite,follow
|
||||||
|
extpref_sound_command=paplay
|
||||||
|
```
|
||||||
|
|
||||||
|
### Extension Loading
|
||||||
|
|
||||||
|
**Available core extensions:**
|
||||||
|
- **soundpack** - Audio notifications with 11 sound categories
|
||||||
|
- **timestamp** - Enhanced timestamp display with time gaps
|
||||||
|
- **tts** - Text-to-speech for accessibility
|
||||||
|
- **libnotifyperl** - Desktop notification bubbles
|
||||||
|
- **r2a** - Additional automation features
|
||||||
|
|
||||||
|
**Load extensions at startup:**
|
||||||
|
```bash
|
||||||
|
./ttyverse.pl -exts=soundpack,tts,timestamp
|
||||||
|
```
|
||||||
|
|
||||||
|
**Runtime extension management:**
|
||||||
|
```bash
|
||||||
|
# Extensions are loaded from:
|
||||||
|
~/.local/share/ttyverse/extensions/
|
||||||
|
|
||||||
|
# Sound files stored in:
|
||||||
|
~/.local/share/ttyverse/sounds/default/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Advanced Configuration
|
||||||
|
|
||||||
|
### Runtime Configuration Changes
|
||||||
|
|
||||||
|
**Modify settings while running:**
|
||||||
|
```bash
|
||||||
|
/set effpause 300 # Change refresh interval to 5 minutes
|
||||||
|
/set gui_browser firefox # Set preferred GUI browser
|
||||||
|
/set cli_browser w3m # Set preferred CLI browser
|
||||||
|
|
||||||
|
/get effpause # Check current setting
|
||||||
|
```
|
||||||
|
|
||||||
|
**Common advanced settings:**
|
||||||
|
- `effpause` - Timeline refresh interval (seconds)
|
||||||
|
- `dmpause` - Direct message refresh interval
|
||||||
|
- `notificationpause` - Notification refresh interval
|
||||||
|
- `ansi` - Color/formatting support
|
||||||
|
- `verbose` - Detailed output mode
|
||||||
|
- `superverbose` - Debug-level output
|
||||||
|
|
||||||
|
### Configuration File Management
|
||||||
|
|
||||||
|
**XDG-compliant storage:**
|
||||||
|
- **Config:** `~/.config/ttyverse/ttyverserc`
|
||||||
|
- **Data:** `~/.local/share/ttyverse/`
|
||||||
|
- **Extensions:** `~/.local/share/ttyverse/extensions/`
|
||||||
|
- **Sounds:** `~/.local/share/ttyverse/sounds/`
|
||||||
|
|
||||||
|
**Create default config:**
|
||||||
|
```bash
|
||||||
|
./ttyverse.pl -createrc
|
||||||
|
```
|
||||||
|
|
||||||
|
## Multi-Process Architecture
|
||||||
|
|
||||||
|
### Background Process Management
|
||||||
|
|
||||||
|
TTYverse uses a sophisticated multi-process design:
|
||||||
|
|
||||||
|
**Foreground process:**
|
||||||
|
- Handles user interaction
|
||||||
|
- Displays posts and responses
|
||||||
|
- Processes commands
|
||||||
|
|
||||||
|
**Background process:**
|
||||||
|
- Monitors timelines
|
||||||
|
- Fetches new posts
|
||||||
|
- Handles notifications
|
||||||
|
- Manages DM updates
|
||||||
|
|
||||||
|
**Inter-Process Communication (IPC):**
|
||||||
|
- Uses pipes and signals (`SIGUSR2`)
|
||||||
|
- Coordinates between processes
|
||||||
|
- Ensures smooth user experience
|
||||||
|
|
||||||
|
### Process Control
|
||||||
|
|
||||||
|
**System integration:**
|
||||||
|
- Proper signal handling for POSIX compatibility
|
||||||
|
- Clean shutdown and restart procedures
|
||||||
|
- Background monitoring without blocking UI
|
||||||
|
|
||||||
|
## Advanced URL Handling
|
||||||
|
|
||||||
|
### Smart Browser Detection
|
||||||
|
|
||||||
|
TTYverse automatically detects your environment:
|
||||||
|
|
||||||
|
**GUI environment (DISPLAY set):**
|
||||||
|
- Firefox, Chrome, Chromium
|
||||||
|
- System default browser
|
||||||
|
- User-configured GUI browser
|
||||||
|
|
||||||
|
**Terminal environment:**
|
||||||
|
- w3m, elinks, lynx
|
||||||
|
- User-configured CLI browser
|
||||||
|
|
||||||
|
**URL extraction priorities:**
|
||||||
|
1. Mastodon media_attachments with URLs
|
||||||
|
2. Explicit URLs in post content
|
||||||
|
3. Card URLs from link previews
|
||||||
|
4. Entity URLs from structured data
|
||||||
|
5. Plain text URL parsing (fallback)
|
||||||
|
|
||||||
|
### URL Command Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/url a3 # Open URL from post a3
|
||||||
|
```
|
||||||
|
|
||||||
|
Opens the most relevant URL from the post using your environment's optimal browser.
|
||||||
|
|
||||||
|
## Network and API Features
|
||||||
|
|
||||||
|
### Rate Limit Management
|
||||||
|
|
||||||
|
**Monitor API usage:**
|
||||||
|
```bash
|
||||||
|
/rate # Show current rate limit status
|
||||||
|
```
|
||||||
|
|
||||||
|
TTYverse automatically handles rate limiting and provides notifications when limits are approached.
|
||||||
|
|
||||||
|
### OAuth 2.0 Authentication
|
||||||
|
|
||||||
|
**Secure authentication:**
|
||||||
|
- Modern OAuth 2.0 flow (OAuth 1.0a removed)
|
||||||
|
- Server-side token storage
|
||||||
|
- Automatic token refresh
|
||||||
|
- Cross-instance compatibility
|
||||||
|
|
||||||
|
**Troubleshooting authentication:**
|
||||||
|
```bash
|
||||||
|
# Remove and recreate authentication
|
||||||
|
rm ~/.config/ttyverse/*
|
||||||
|
./ttyverse.pl # Will prompt for re-authentication
|
||||||
|
```
|
||||||
|
|
||||||
|
## Advanced Interaction Features
|
||||||
|
|
||||||
|
### Comprehensive User Management
|
||||||
|
|
||||||
|
**User information and interaction:**
|
||||||
|
```bash
|
||||||
|
/whois @user@instance.com # Detailed user information
|
||||||
|
/follow @user # Follow user
|
||||||
|
/unfollow @user # Unfollow user
|
||||||
|
/block @user # Block user
|
||||||
|
/unblock @user # Unblock user
|
||||||
|
/mute @user # Mute user
|
||||||
|
/unmute @user # Unmute user
|
||||||
|
```
|
||||||
|
|
||||||
|
**Follower/following management:**
|
||||||
|
```bash
|
||||||
|
/followers # Your followers
|
||||||
|
/followers @user # User's followers
|
||||||
|
/followers +50 # Show up to 50 followers
|
||||||
|
/following # Who you follow
|
||||||
|
/following @user +30 # Show 30 accounts user follows
|
||||||
|
```
|
||||||
|
|
||||||
|
### Advanced Poll Features
|
||||||
|
|
||||||
|
**Poll creation with custom durations:**
|
||||||
|
```bash
|
||||||
|
/poll Question text
|
||||||
|
# Supports: 90m, 12h, 3d, 1w formats
|
||||||
|
```
|
||||||
|
|
||||||
|
**Complex voting patterns:**
|
||||||
|
```bash
|
||||||
|
/vote a3 1,3,5 # Vote multiple options
|
||||||
|
/vote a3 1-4 # Vote range of options
|
||||||
|
/vote a3 2,5-7,9 # Vote mixed patterns
|
||||||
|
```
|
||||||
|
|
||||||
|
## Performance Optimization
|
||||||
|
|
||||||
|
### Memory and Network Efficiency
|
||||||
|
|
||||||
|
**Optimized caching:**
|
||||||
|
- Post caching for `/last` command
|
||||||
|
- Smart timeline refresh logic
|
||||||
|
- Efficient IPC communication
|
||||||
|
|
||||||
|
**Network optimization:**
|
||||||
|
- Conditional requests where supported
|
||||||
|
- Minimal API calls for routine operations
|
||||||
|
- Background fetch without blocking UI
|
||||||
|
|
||||||
|
### Resource Management
|
||||||
|
|
||||||
|
**Long-running session optimization:**
|
||||||
|
- Memory usage monitoring
|
||||||
|
- Proper cleanup of temporary data
|
||||||
|
- Signal handling for clean shutdown
|
||||||
|
|
||||||
|
## Debugging and Troubleshooting
|
||||||
|
|
||||||
|
### Debug Modes
|
||||||
|
|
||||||
|
**Verbose output:**
|
||||||
|
```bash
|
||||||
|
/verbose # Toggle detailed output
|
||||||
|
/debug # Toggle debug information
|
||||||
|
./ttyverse.pl -verbose # Start with verbose mode
|
||||||
|
```
|
||||||
|
|
||||||
|
**Debug information includes:**
|
||||||
|
- API request/response details
|
||||||
|
- Extension loading status
|
||||||
|
- IPC communication logging
|
||||||
|
- Network connection status
|
||||||
|
|
||||||
|
### System Integration Debugging
|
||||||
|
|
||||||
|
**Test system components:**
|
||||||
|
```bash
|
||||||
|
# Test audio system
|
||||||
|
paplay ~/.local/share/ttyverse/sounds/default/default.ogg
|
||||||
|
|
||||||
|
# Test browser integration
|
||||||
|
echo $DISPLAY # Check GUI environment
|
||||||
|
which w3m elinks lynx # Check CLI browsers
|
||||||
|
|
||||||
|
# Test authentication
|
||||||
|
/refresh # Test API access
|
||||||
|
```
|
||||||
|
|
||||||
|
## Accessibility Features
|
||||||
|
|
||||||
|
### Screen Reader Compatibility
|
||||||
|
|
||||||
|
**Design principles:**
|
||||||
|
- All output is plain text
|
||||||
|
- Consistent post formatting
|
||||||
|
- Logical tab order and navigation
|
||||||
|
- Audio feedback for events
|
||||||
|
|
||||||
|
**Alt-text enforcement:**
|
||||||
|
TTYverse prioritizes accessibility by requiring image descriptions, supporting screen readers through consistent formatting, and providing audio notifications.
|
||||||
|
|
||||||
|
### Keyboard-Only Operation
|
||||||
|
|
||||||
|
**Complete keyboard navigation:**
|
||||||
|
- No mouse required anywhere
|
||||||
|
- Command history with arrow keys
|
||||||
|
- Tab completion for commands
|
||||||
|
- Accessible menu code system
|
||||||
|
|
||||||
|
## Integration with Fediverse Ecosystem
|
||||||
|
|
||||||
|
### Cross-Instance Features
|
||||||
|
|
||||||
|
**Multi-server compatibility:**
|
||||||
|
- Works with Mastodon, GoToSocial, Pleroma
|
||||||
|
- Handles different API implementations
|
||||||
|
- Adapts to server-specific features
|
||||||
|
- Cross-instance user lookup and interaction
|
||||||
|
|
||||||
|
**Server feature detection:**
|
||||||
|
- Polls (varies by server)
|
||||||
|
- Media limits (server-dependent)
|
||||||
|
- Timeline types (server-specific)
|
||||||
|
- API extensions (optional features)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**See also:** [Configuration](Configuration) | [Extensions](Extensions) | [Troubleshooting](Troubleshooting)
|
@ -403,6 +403,4 @@ Sound files are stored in `~/.local/share/ttyverse/sounds/default/`
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**See also:** [Getting Started](Getting-Started) | [Commands Reference](Commands-Reference) | [Media Uploads](Media-Uploads)
|
**See also:** [Getting Started](Getting-Started) | [Commands Reference](Commands-Reference) | [Media Uploads](Media-Uploads)
|
||||||
|
|
||||||
*Last updated: 2025-07-28*
|
|
385
Direct-Messages.md
Normal file
385
Direct-Messages.md
Normal file
@ -0,0 +1,385 @@
|
|||||||
|
# Direct Messages
|
||||||
|
|
||||||
|
TTYverse provides comprehensive direct message (DM) support, allowing private conversations with other fediverse users through an intuitive interface with proper HTML sanitization and background monitoring.
|
||||||
|
|
||||||
|
## Understanding Direct Messages
|
||||||
|
|
||||||
|
### What are Direct Messages?
|
||||||
|
|
||||||
|
Direct messages in the fediverse are posts with "Direct" visibility that only mentioned users can see. They're private conversations between specific users.
|
||||||
|
|
||||||
|
**DM characteristics:**
|
||||||
|
- Private communication between users
|
||||||
|
- Only mentioned participants can see the content
|
||||||
|
- Appear with `[Direct]` visibility indicator
|
||||||
|
- Grouped into conversations by TTYverse
|
||||||
|
- Support all standard post features (media, links, etc.)
|
||||||
|
|
||||||
|
### DM vs. Regular Posts
|
||||||
|
|
||||||
|
**Direct message:**
|
||||||
|
```
|
||||||
|
[DM da0][friend@instance.org] (1h ago)
|
||||||
|
Hey, saw your post about TTYverse - is it really that accessible?
|
||||||
|
```
|
||||||
|
|
||||||
|
**Regular post with Direct visibility:**
|
||||||
|
```
|
||||||
|
a3> {,POST_ID} <username> (30m ago) via TTYverse [Direct]
|
||||||
|
@friend This is a direct message using post format
|
||||||
|
```
|
||||||
|
|
||||||
|
TTYverse handles both formats seamlessly.
|
||||||
|
|
||||||
|
## Viewing Direct Messages
|
||||||
|
|
||||||
|
### Basic DM Commands
|
||||||
|
|
||||||
|
**View recent direct messages:**
|
||||||
|
```bash
|
||||||
|
/dms # Show recent DM conversations
|
||||||
|
/dm # Same as /dms
|
||||||
|
/dmagain # Refresh and show DMs
|
||||||
|
```
|
||||||
|
|
||||||
|
**DM display format:**
|
||||||
|
```
|
||||||
|
-- checking for direct messages:
|
||||||
|
[DM da0][alice@mastodon.social] (2h ago)
|
||||||
|
Thanks for the TTYverse recommendation! How do I set up the extensions?
|
||||||
|
|
||||||
|
[DM da1][bob@social.example.com] (4h ago)
|
||||||
|
Quick question about the poll feature - can I edit options after posting?
|
||||||
|
|
||||||
|
[DM da2][charlie@pixelfed.social] (1d ago)
|
||||||
|
Love the accessibility focus of TTYverse. Any plans for image description templates?
|
||||||
|
```
|
||||||
|
|
||||||
|
### DM Menu Codes
|
||||||
|
|
||||||
|
TTYverse assigns special menu codes to DMs:
|
||||||
|
|
||||||
|
**Code format:**
|
||||||
|
- **da0, da1, da2...** - DM conversation codes
|
||||||
|
- **db0, db1, db2...** - Next set of DM codes
|
||||||
|
- **dc0, dc1, dc2...** - Continues as needed
|
||||||
|
|
||||||
|
**Code usage:**
|
||||||
|
```bash
|
||||||
|
/reply da0 Extensions are easy! Use -exts=soundpack,tts when starting TTYverse
|
||||||
|
/reply da1 Unfortunately, poll options can't be edited after posting
|
||||||
|
```
|
||||||
|
|
||||||
|
## Sending Direct Messages
|
||||||
|
|
||||||
|
### Reply to Existing DMs
|
||||||
|
|
||||||
|
**Reply to conversations:**
|
||||||
|
```bash
|
||||||
|
/reply da0 <message> # Reply to DM conversation da0
|
||||||
|
/reply db3 <message> # Reply to DM conversation db3
|
||||||
|
```
|
||||||
|
|
||||||
|
**Reply examples:**
|
||||||
|
```bash
|
||||||
|
/reply da0 The extensions are loaded from ~/.local/share/ttyverse/extensions/
|
||||||
|
/reply da1 You can create new polls with /poll or /mpoll commands
|
||||||
|
/reply da2 Image templates are a great idea - I'll add it to the todo list!
|
||||||
|
```
|
||||||
|
|
||||||
|
### Start New DM Conversations
|
||||||
|
|
||||||
|
**Create direct messages:**
|
||||||
|
```bash
|
||||||
|
# Method 1: Post with Direct visibility and mention users
|
||||||
|
/post @user@instance.com This is a private message
|
||||||
|
|
||||||
|
# Method 2: Reply to public posts privately (creates DM thread)
|
||||||
|
/reply a3 @user@instance.com Thanks! Let me send you the details privately
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** Starting new DM conversations typically requires posting with `@mentions` and Direct visibility.
|
||||||
|
|
||||||
|
## DM Management Features
|
||||||
|
|
||||||
|
### Conversation Threading
|
||||||
|
|
||||||
|
TTYverse groups DMs into conversations:
|
||||||
|
|
||||||
|
**Conversation display:**
|
||||||
|
- Shows most recent message from each conversation
|
||||||
|
- Maintains conversation context
|
||||||
|
- Groups messages by participants
|
||||||
|
- Updates with new messages automatically
|
||||||
|
|
||||||
|
### Background DM Monitoring
|
||||||
|
|
||||||
|
**Automatic DM checking:**
|
||||||
|
- Background process monitors for new DMs
|
||||||
|
- Configurable refresh intervals
|
||||||
|
- Sound notifications for new messages
|
||||||
|
- No user intervention required
|
||||||
|
|
||||||
|
**DM refresh configuration:**
|
||||||
|
```bash
|
||||||
|
# In ~/.config/ttyverse/ttyverserc
|
||||||
|
dmpause=60 # Check DMs every 60 seconds
|
||||||
|
```
|
||||||
|
|
||||||
|
**Manual DM refresh:**
|
||||||
|
```bash
|
||||||
|
/dmagain # Force DM refresh
|
||||||
|
/dms # View DMs (triggers refresh)
|
||||||
|
```
|
||||||
|
|
||||||
|
### DM Notifications
|
||||||
|
|
||||||
|
**Sound notifications:**
|
||||||
|
TTYverse plays distinct sounds for:
|
||||||
|
- New DM arrivals
|
||||||
|
- Your outgoing DMs (confirmation)
|
||||||
|
- Different notification categories
|
||||||
|
|
||||||
|
**Notification configuration:**
|
||||||
|
```bash
|
||||||
|
# In ~/.config/ttyverse/ttyverserc
|
||||||
|
notifies=dm # Enable DM sound notifications
|
||||||
|
extpref_sound_command=paplay
|
||||||
|
```
|
||||||
|
|
||||||
|
## Advanced DM Features
|
||||||
|
|
||||||
|
### HTML Content Handling
|
||||||
|
|
||||||
|
**Automatic HTML sanitization:**
|
||||||
|
- Converts HTML to plain text
|
||||||
|
- Preserves links and formatting context
|
||||||
|
- Removes HTML tags for clean display
|
||||||
|
- Maintains readability in terminal
|
||||||
|
|
||||||
|
**Example HTML conversion:**
|
||||||
|
```
|
||||||
|
Original HTML: "<p>Check out <a href='https://example.com'>this link</a></p>"
|
||||||
|
TTYverse display: "Check out this link (https://example.com)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### DM Media Support
|
||||||
|
|
||||||
|
**Media in direct messages:**
|
||||||
|
```bash
|
||||||
|
# Send image in DM (reply to existing conversation)
|
||||||
|
/reply da0 Here's the screenshot you requested
|
||||||
|
/media /path/to/screenshot.png
|
||||||
|
```
|
||||||
|
|
||||||
|
**Media DM features:**
|
||||||
|
- Alt-text required for images (accessibility)
|
||||||
|
- Audio and video support
|
||||||
|
- Same media features as public posts
|
||||||
|
- Private media sharing
|
||||||
|
|
||||||
|
### Cross-Instance DMs
|
||||||
|
|
||||||
|
**Messaging across instances:**
|
||||||
|
- Works with any fediverse server
|
||||||
|
- Automatic formatting for different servers
|
||||||
|
- Handles various DM implementations
|
||||||
|
- Maintains conversation threading
|
||||||
|
|
||||||
|
## DM Privacy and Security
|
||||||
|
|
||||||
|
### Privacy Considerations
|
||||||
|
|
||||||
|
**DM privacy features:**
|
||||||
|
- Messages only visible to participants
|
||||||
|
- Not indexed by search engines
|
||||||
|
- Don't appear in public timelines
|
||||||
|
- Server admins may have access (standard fediverse limitation)
|
||||||
|
|
||||||
|
**Best practices:**
|
||||||
|
- Remember that instance admins can potentially see DMs
|
||||||
|
- Use encrypted messaging for highly sensitive content
|
||||||
|
- Be aware of which instance stores your messages
|
||||||
|
- Consider the recipient's instance privacy policies
|
||||||
|
|
||||||
|
### DM Visibility
|
||||||
|
|
||||||
|
**Who can see DMs:**
|
||||||
|
- ✅ You and mentioned participants
|
||||||
|
- ✅ Your instance administrators (potentially)
|
||||||
|
- ✅ Recipients' instance administrators (potentially)
|
||||||
|
- ❌ Other users
|
||||||
|
- ❌ Public timelines
|
||||||
|
- ❌ Search results
|
||||||
|
|
||||||
|
## DM Workflow Examples
|
||||||
|
|
||||||
|
### Customer Support Workflow
|
||||||
|
|
||||||
|
**Helping users with TTYverse:**
|
||||||
|
```bash
|
||||||
|
# User asks public question
|
||||||
|
a3> <user> "How do I set up TTYverse extensions?"
|
||||||
|
|
||||||
|
# Offer to help privately
|
||||||
|
/reply a3 I can help with extensions! Let me send you the details.
|
||||||
|
|
||||||
|
# User sends DM
|
||||||
|
[DM da0][user@instance.com] (now)
|
||||||
|
Thanks! I'm having trouble with the soundpack extension.
|
||||||
|
|
||||||
|
# Provide detailed help
|
||||||
|
/reply da0 First, make sure you have pulseaudio-utils installed...
|
||||||
|
/reply da0 Then load the extension with -exts=soundpack
|
||||||
|
/reply da0 Sound files go in ~/.local/share/ttyverse/sounds/default/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Collaborative Discussion
|
||||||
|
|
||||||
|
**Project planning:**
|
||||||
|
```bash
|
||||||
|
# DM conversation with collaborator
|
||||||
|
[DM da1][collaborator@project.org] (5m ago)
|
||||||
|
Ready to review the wiki updates?
|
||||||
|
|
||||||
|
/reply da1 Yes! I've finished the Polls and Search pages
|
||||||
|
/reply da1 Still working on Timeline-Navigation and Advanced-Features
|
||||||
|
|
||||||
|
[DM da1][collaborator@project.org] (now)
|
||||||
|
Great! Can you send me the draft links?
|
||||||
|
|
||||||
|
/reply da1 They're in the ttyverse.wiki/ directory
|
||||||
|
/media /path/to/screenshot.png Screenshot of current progress
|
||||||
|
```
|
||||||
|
|
||||||
|
### Community Moderation
|
||||||
|
|
||||||
|
**Private moderation discussions:**
|
||||||
|
```bash
|
||||||
|
# Sensitive moderation topic
|
||||||
|
[DM da2][moderator@instance.org] (10m ago)
|
||||||
|
We need to discuss the recent spam issue privately
|
||||||
|
|
||||||
|
/reply da2 Agreed. I've noticed the pattern too
|
||||||
|
/reply da2 Should we implement keyword filtering?
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting DMs
|
||||||
|
|
||||||
|
### Common DM Issues
|
||||||
|
|
||||||
|
**DMs not appearing:**
|
||||||
|
1. Check if DM refresh is enabled: `/dms`
|
||||||
|
2. Verify `dmpause` setting in config
|
||||||
|
3. Test with `/dmagain` to force refresh
|
||||||
|
4. Check network connectivity
|
||||||
|
|
||||||
|
**Can't reply to DMs:**
|
||||||
|
1. Verify menu code is current (da0, da1, etc.)
|
||||||
|
2. Check that conversation still exists
|
||||||
|
3. Ensure recipient hasn't blocked you
|
||||||
|
4. Try refreshing DMs with `/dmagain`
|
||||||
|
|
||||||
|
**DM notifications not working:**
|
||||||
|
1. Check sound files exist in `~/.local/share/ttyverse/sounds/default/`
|
||||||
|
2. Test audio system: `paplay /path/to/sound.ogg`
|
||||||
|
3. Verify `notifies=dm` in configuration
|
||||||
|
4. Check extension loading: `-exts=soundpack`
|
||||||
|
|
||||||
|
**HTML display issues:**
|
||||||
|
1. TTYverse automatically sanitizes HTML
|
||||||
|
2. Links are extracted and displayed cleanly
|
||||||
|
3. Formatting is converted to plain text
|
||||||
|
4. No additional configuration needed
|
||||||
|
|
||||||
|
### Debug DM Problems
|
||||||
|
|
||||||
|
**Enable verbose DM debugging:**
|
||||||
|
```bash
|
||||||
|
/verbose # Enable detailed output
|
||||||
|
/dms # Check DMs with debugging
|
||||||
|
```
|
||||||
|
|
||||||
|
**Check DM configuration:**
|
||||||
|
```bash
|
||||||
|
/get dmpause # Check DM refresh interval
|
||||||
|
cat ~/.config/ttyverse/ttyverserc | grep dm
|
||||||
|
```
|
||||||
|
|
||||||
|
**Test DM functionality:**
|
||||||
|
```bash
|
||||||
|
/dmagain # Force DM refresh
|
||||||
|
/reply da0 test # Test reply functionality
|
||||||
|
```
|
||||||
|
|
||||||
|
## DM Configuration
|
||||||
|
|
||||||
|
### DM Settings
|
||||||
|
|
||||||
|
**Configuration options:**
|
||||||
|
```bash
|
||||||
|
# In ~/.config/ttyverse/ttyverserc
|
||||||
|
dmpause=60 # DM check interval (seconds, 0=disabled)
|
||||||
|
dmmarkread=1 # Mark DMs as read (default: enabled)
|
||||||
|
notifies=dm # Enable DM sound notifications
|
||||||
|
```
|
||||||
|
|
||||||
|
**Runtime configuration:**
|
||||||
|
```bash
|
||||||
|
/set dmpause 120 # Change DM refresh to 2 minutes
|
||||||
|
/get dmpause # Check current DM refresh setting
|
||||||
|
```
|
||||||
|
|
||||||
|
### DM Sound Configuration
|
||||||
|
|
||||||
|
**Sound notification setup:**
|
||||||
|
```bash
|
||||||
|
# In ~/.config/ttyverse/ttyverserc
|
||||||
|
exts=soundpack # Load sound extension
|
||||||
|
notifytype=soundpack # Enable sound notifications
|
||||||
|
notifies=dm,mention,boost # Enable DM sounds plus others
|
||||||
|
extpref_sound_command=paplay
|
||||||
|
```
|
||||||
|
|
||||||
|
**DM sound files:**
|
||||||
|
- Location: `~/.local/share/ttyverse/sounds/default/dm.ogg`
|
||||||
|
- Format: OGG Vorbis recommended
|
||||||
|
- Fallback: Other audio formats supported
|
||||||
|
|
||||||
|
## Integration with Other Features
|
||||||
|
|
||||||
|
### DMs and Timeline Navigation
|
||||||
|
|
||||||
|
**DM workflow with timelines:**
|
||||||
|
```bash
|
||||||
|
/timeline # Check home timeline
|
||||||
|
/dms # Check direct messages
|
||||||
|
/timeline notifications # Check mentions
|
||||||
|
```
|
||||||
|
|
||||||
|
### DMs and Search
|
||||||
|
|
||||||
|
**Finding DM participants:**
|
||||||
|
```bash
|
||||||
|
/search @username # Find public posts from DM contact
|
||||||
|
/whois @username # Get user information
|
||||||
|
/follow @username # Follow DM participant
|
||||||
|
```
|
||||||
|
|
||||||
|
### DMs and Media
|
||||||
|
|
||||||
|
**Sharing media privately:**
|
||||||
|
```bash
|
||||||
|
/reply da0 Here's the file you requested
|
||||||
|
/media /path/to/document.pdf Private document share
|
||||||
|
```
|
||||||
|
|
||||||
|
**Media in DMs follows same rules:**
|
||||||
|
- Images require alt-text
|
||||||
|
- Audio/video supported
|
||||||
|
- File size limits apply
|
||||||
|
- Accessibility enforcement maintained
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**See also:** [Basic Usage](Basic-Usage) | [Commands Reference](Commands-Reference) | [Privacy](Privacy)
|
@ -4,26 +4,31 @@ TTYverse supports extensions that add functionality like sound notifications, te
|
|||||||
|
|
||||||
## Available Extensions
|
## Available Extensions
|
||||||
|
|
||||||
TTYverse includes several optional extensions in the ttyverse-extensions submodule:
|
TTYverse includes four core extensions that enhance functionality:
|
||||||
|
|
||||||
### Sound Pack Extension
|
### Sound Pack Extension (soundpack)
|
||||||
- **Purpose**: Audio notifications for different types of posts and events
|
- **Purpose**: Audio notifications for 11 different event types
|
||||||
- **Sounds**: Default timeline, mentions, DMs, boosts, follows, polls, announcements
|
- **Notification types**: default, mention, dm, me, search, follow, boost, favourite, poll, edit, announcement
|
||||||
- **Configuration**: Customizable sound packs and audio commands
|
- **Sound files**: Stored in `~/.local/share/ttyverse/sounds/default/`
|
||||||
|
- **Audio formats**: OGG Vorbis recommended, MP3 and WAV supported
|
||||||
|
- **Configuration**: Customizable sound commands and notification categories
|
||||||
|
|
||||||
### Text-to-Speech Extension
|
### Text-to-Speech Extension (tts)
|
||||||
- **Purpose**: Speak posts and notifications aloud for accessibility
|
- **Purpose**: Speak posts and notifications aloud for accessibility
|
||||||
- **Engines**: espeak, festival, pico, cepstral, macOS say
|
- **Engines**: espeak (recommended), festival, pico2wave, cepstral, macOS say
|
||||||
- **Features**: Configurable voice, speed, and language settings
|
- **Features**: Configurable voice, speed, and language settings
|
||||||
|
- **Commands**: `/tts` to toggle, `/tts help` for options
|
||||||
|
|
||||||
### Desktop Notifications Extension
|
### Desktop Notifications Extension (libnotifyperl)
|
||||||
- **Purpose**: Visual notification bubbles on Linux/Unix desktops
|
- **Purpose**: Visual notification bubbles on Linux/Unix desktops
|
||||||
- **Requirements**: libnotify and Gtk2::Notify Perl module
|
- **Requirements**: libnotify and Gtk2::Notify Perl module
|
||||||
- **Integration**: Works with GNOME, KDE, and other desktop environments
|
- **Integration**: Works with GNOME, KDE, XFCE, and other desktop environments
|
||||||
|
- **Features**: Shows notification bubbles for mentions, DMs, and other events
|
||||||
|
|
||||||
### Timestamp Extension
|
### Timestamp Extension (timestamp)
|
||||||
- **Purpose**: Enhanced timestamp display with time gaps
|
- **Purpose**: Enhanced timestamp display with intelligent time gap detection
|
||||||
- **Features**: Shows timestamps when 5+ minutes pass between posts
|
- **Features**: Shows timestamps when significant time passes between posts
|
||||||
|
- **Display**: Automatic timestamp insertion for better timeline readability
|
||||||
|
|
||||||
## Installing Extensions
|
## Installing Extensions
|
||||||
|
|
||||||
@ -63,12 +68,12 @@ Load extensions when starting TTYverse:
|
|||||||
Configure extensions in your TTYverse RC file (`~/.config/ttyverse/ttyverserc`):
|
Configure extensions in your TTYverse RC file (`~/.config/ttyverse/ttyverserc`):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Load extensions automatically
|
# Load extensions automatically at startup
|
||||||
exts=soundpack,tts
|
exts=soundpack,tts,timestamp,libnotifyperl
|
||||||
|
|
||||||
# Enable sound notifications
|
# Enable sound notifications
|
||||||
notifytype=soundpack
|
notifytype=soundpack
|
||||||
notifies=default,mention,dm,me,follow,boost,favourite
|
notifies=boost,favourite,favorite,mention,dm,follow
|
||||||
|
|
||||||
# Sound pack settings
|
# Sound pack settings
|
||||||
extpref_sound_command=paplay
|
extpref_sound_command=paplay
|
||||||
@ -78,6 +83,9 @@ extpref_soundpack=default
|
|||||||
extpref_tts_synthesizer=espeak
|
extpref_tts_synthesizer=espeak
|
||||||
extpref_tts_language=en-US
|
extpref_tts_language=en-US
|
||||||
extpref_tts_rate=175
|
extpref_tts_rate=175
|
||||||
|
|
||||||
|
# Notification settings
|
||||||
|
notificationpause=6 # Notification refresh rate (0=use main pause)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Runtime Configuration
|
### Runtime Configuration
|
||||||
|
@ -51,7 +51,7 @@ TTYverse will:
|
|||||||
After setup, you'll see the TTYverse prompt:
|
After setup, you'll see the TTYverse prompt:
|
||||||
|
|
||||||
```
|
```
|
||||||
TTYverse 2025.07.28 (c)2025 Storm Dragon
|
TTYverse (c)2025 Storm Dragon
|
||||||
fediverse client for Mastodon/GoToSocial/etc
|
fediverse client for Mastodon/GoToSocial/etc
|
||||||
|
|
||||||
when ready, hit RETURN/ENTER for a prompt.
|
when ready, hit RETURN/ENTER for a prompt.
|
||||||
@ -227,6 +227,4 @@ chmod 600 ~/.config/ttyverse/*
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Next:** [Basic Usage](Basic-Usage) | [Commands Reference](Commands-Reference)
|
**Next:** [Basic Usage](Basic-Usage) | [Commands Reference](Commands-Reference)
|
||||||
|
|
||||||
*Last updated: 2025-07-28*
|
|
7
Home.md
7
Home.md
@ -79,7 +79,6 @@
|
|||||||
|
|
||||||
## About TTYverse
|
## About TTYverse
|
||||||
|
|
||||||
**Current Version:** 2025.07.28
|
|
||||||
**License:** Floodgap Free Software License
|
**License:** Floodgap Free Software License
|
||||||
**Original:** Forked from TTYtter by Cameron Kaiser
|
**Original:** Forked from TTYtter by Cameron Kaiser
|
||||||
**Maintainer:** Storm Dragon
|
**Maintainer:** Storm Dragon
|
||||||
@ -95,8 +94,4 @@ TTYverse prioritizes accessibility, usability, and the principles of the open fe
|
|||||||
- **Commands:** Type `/help` in TTYverse for command list
|
- **Commands:** Type `/help` in TTYverse for command list
|
||||||
- **Issues:** Report bugs at https://git.stormux.org/storm/ttyverse/issues
|
- **Issues:** Report bugs at https://git.stormux.org/storm/ttyverse/issues
|
||||||
- **Wiki:** This wiki for comprehensive documentation
|
- **Wiki:** This wiki for comprehensive documentation
|
||||||
- **Community:** Find support in the fediverse community
|
- **Community:** Find support in the fediverse community
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
*Last updated: 2025-07-28*
|
|
@ -239,6 +239,4 @@ TTYverse uploads happen in the foreground process while background monitoring co
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**See also:** [Commands Reference](Commands-Reference) | [Accessibility](Accessibility) | [Server Compatibility](Server-Compatibility)
|
**See also:** [Commands Reference](Commands-Reference) | [Advanced Features](Advanced-Features) | [Basic Usage](Basic-Usage)
|
||||||
|
|
||||||
*Last updated: 2025-07-28*
|
|
347
Polls.md
Normal file
347
Polls.md
Normal file
@ -0,0 +1,347 @@
|
|||||||
|
# Polls
|
||||||
|
|
||||||
|
TTYverse provides comprehensive poll support, allowing you to create both single-choice and multiple-choice polls, and vote on polls created by others.
|
||||||
|
|
||||||
|
## Creating Polls
|
||||||
|
|
||||||
|
### Single Choice Polls
|
||||||
|
|
||||||
|
Create polls where users can select only one option:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/poll What's your favorite programming language?
|
||||||
|
```
|
||||||
|
|
||||||
|
**Interactive creation process:**
|
||||||
|
```
|
||||||
|
TTYverse> /poll What's your favorite programming language?
|
||||||
|
Creating single choice poll: What's your favorite programming language?
|
||||||
|
Poll duration (default 24h): 3d
|
||||||
|
Enter options (press Enter with no text to finish):
|
||||||
|
Option 1: Python
|
||||||
|
Option 2: JavaScript
|
||||||
|
Option 3: Rust
|
||||||
|
Option 4: Go
|
||||||
|
Option 5: [press Enter to finish]
|
||||||
|
-- Poll posted successfully
|
||||||
|
```
|
||||||
|
|
||||||
|
### Multiple Choice Polls
|
||||||
|
|
||||||
|
Create polls where users can select multiple options:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/mpoll Which TTYverse features do you use most? (select all that apply)
|
||||||
|
```
|
||||||
|
|
||||||
|
The creation process is identical to single choice polls, but voters can select multiple options.
|
||||||
|
|
||||||
|
### Poll Duration Options
|
||||||
|
|
||||||
|
Set how long your poll remains open for voting:
|
||||||
|
|
||||||
|
**Duration formats:**
|
||||||
|
- `24h` - 24 hours (default)
|
||||||
|
- `3d` - 3 days
|
||||||
|
- `90m` - 90 minutes
|
||||||
|
- `1w` - 1 week
|
||||||
|
- Empty - Defaults to 24 hours
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
```bash
|
||||||
|
Poll duration (default 24h): 2d # 2 days
|
||||||
|
Poll duration (default 24h): 12h # 12 hours
|
||||||
|
Poll duration (default 24h): 180m # 3 hours
|
||||||
|
Poll duration (default 24h): [Enter] # 24 hours (default)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Poll Options
|
||||||
|
|
||||||
|
**Guidelines for poll options:**
|
||||||
|
- **Minimum:** 2 options required
|
||||||
|
- **Maximum:** 10 options supported (most instances limit to 4)
|
||||||
|
- **Length:** Each option limited to 50 characters
|
||||||
|
- **Entry:** Press Enter with no text to complete the poll
|
||||||
|
|
||||||
|
**Example with maximum options:**
|
||||||
|
```
|
||||||
|
Option 1: Red
|
||||||
|
Option 2: Blue
|
||||||
|
Option 3: Green
|
||||||
|
Option 4: Yellow
|
||||||
|
Option 5: Purple
|
||||||
|
Option 6: Orange
|
||||||
|
Option 7: Pink
|
||||||
|
Option 8: Brown
|
||||||
|
Option 9: Black
|
||||||
|
Option 10: White
|
||||||
|
Option 11: [press Enter to finish]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Voting on Polls
|
||||||
|
|
||||||
|
### Finding Polls
|
||||||
|
|
||||||
|
Polls appear in timelines with a distinctive format:
|
||||||
|
|
||||||
|
```
|
||||||
|
b3> {,POST_ID} <username> (30m ago) via Web [Public] [Poll]
|
||||||
|
What's your favorite terminal editor?
|
||||||
|
|
||||||
|
Poll:
|
||||||
|
1. vim (8 votes)
|
||||||
|
2. emacs (4 votes)
|
||||||
|
3. nano (3 votes)
|
||||||
|
Total: 15 votes (single choice) - expires in 2 days, 6 hours
|
||||||
|
Use /vote to participate
|
||||||
|
```
|
||||||
|
|
||||||
|
**Poll indicators:**
|
||||||
|
- **[Poll]** appears on the metadata line
|
||||||
|
- **Poll:** section shows numbered options with vote counts
|
||||||
|
- **Expiration time** and voting status displayed
|
||||||
|
- **Vote instructions** provided
|
||||||
|
|
||||||
|
### Single Choice Voting
|
||||||
|
|
||||||
|
Vote for one option using menu code and option number:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Vote for option 1 (vim)
|
||||||
|
/vote b3 1
|
||||||
|
|
||||||
|
# Vote for option 2 (emacs)
|
||||||
|
/vote b3 2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Multiple Choice Voting
|
||||||
|
|
||||||
|
Vote for multiple options using various formats:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Vote for options 1 and 3
|
||||||
|
/vote b3 1,3
|
||||||
|
|
||||||
|
# Vote for options 2, 4, and 5
|
||||||
|
/vote b3 2,4,5
|
||||||
|
|
||||||
|
# Vote for range of options (1 through 3)
|
||||||
|
/vote b3 1-3
|
||||||
|
|
||||||
|
# Vote for mixed range and individual options
|
||||||
|
/vote b3 1,3-5,7
|
||||||
|
```
|
||||||
|
|
||||||
|
**Multiple choice examples:**
|
||||||
|
```bash
|
||||||
|
/vote a1 1,2 # Options 1 and 2
|
||||||
|
/vote a1 1-4 # Options 1, 2, 3, and 4
|
||||||
|
/vote a1 1,3,5 # Options 1, 3, and 5
|
||||||
|
/vote a1 2-4,7 # Options 2, 3, 4, and 7
|
||||||
|
```
|
||||||
|
|
||||||
|
### Vote Confirmation
|
||||||
|
|
||||||
|
After voting, TTYverse provides confirmation:
|
||||||
|
|
||||||
|
```
|
||||||
|
-- submitting vote on poll...
|
||||||
|
-- vote submitted successfully
|
||||||
|
-- voted for: 1. vim
|
||||||
|
```
|
||||||
|
|
||||||
|
For multiple choice votes:
|
||||||
|
```
|
||||||
|
-- vote submitted successfully
|
||||||
|
-- voted for: 1. Python, 3. Rust, 4. Go
|
||||||
|
```
|
||||||
|
|
||||||
|
## Poll Display Features
|
||||||
|
|
||||||
|
### Poll Status Indicators
|
||||||
|
|
||||||
|
**Active polls:**
|
||||||
|
```
|
||||||
|
Poll:
|
||||||
|
1. Option A (5 votes)
|
||||||
|
2. Option B (3 votes)
|
||||||
|
Total: 8 votes (single choice) - expires in 1 day, 12 hours
|
||||||
|
Use /vote to participate
|
||||||
|
```
|
||||||
|
|
||||||
|
**Expired polls:**
|
||||||
|
```
|
||||||
|
Poll:
|
||||||
|
1. Option A (15 votes)
|
||||||
|
2. Option B (8 votes)
|
||||||
|
Total: 23 votes (single choice) - EXPIRED
|
||||||
|
```
|
||||||
|
|
||||||
|
**Already voted:**
|
||||||
|
```
|
||||||
|
Poll:
|
||||||
|
1. Option A (12 votes)
|
||||||
|
2. Option B (7 votes)
|
||||||
|
Total: 19 votes (multiple choice) - expires in 6 hours
|
||||||
|
Already voted
|
||||||
|
```
|
||||||
|
|
||||||
|
### Poll Metadata
|
||||||
|
|
||||||
|
Polls show comprehensive information:
|
||||||
|
- **Vote counts** for each option
|
||||||
|
- **Total votes** cast
|
||||||
|
- **Poll type** (single choice or multiple choice)
|
||||||
|
- **Expiration time** (if active) or "EXPIRED" status
|
||||||
|
- **Voting status** (can vote, already voted, or expired)
|
||||||
|
- **Usage instructions** for active polls
|
||||||
|
|
||||||
|
## Advanced Poll Features
|
||||||
|
|
||||||
|
### Poll in Boosted Posts
|
||||||
|
|
||||||
|
TTYverse correctly handles polls in boosted content:
|
||||||
|
|
||||||
|
```
|
||||||
|
a5> {,POST_ID} <booster> boosted <original_author> (1h ago) [Public] [Poll]
|
||||||
|
What's the best fediverse client?
|
||||||
|
|
||||||
|
Poll:
|
||||||
|
1. TTYverse (25 votes)
|
||||||
|
2. Mastodon Web (12 votes)
|
||||||
|
3. Tusky (8 votes)
|
||||||
|
Total: 45 votes (single choice) - expires in 18 hours
|
||||||
|
Use /vote to participate
|
||||||
|
```
|
||||||
|
|
||||||
|
The poll functionality works on the original post even when viewing through a boost.
|
||||||
|
|
||||||
|
### Poll Creation with Media
|
||||||
|
|
||||||
|
Polls can be created with the same visibility settings as regular posts:
|
||||||
|
|
||||||
|
- Posts default to your current visibility setting
|
||||||
|
- Poll visibility follows normal post visibility rules
|
||||||
|
- All fediverse visibility levels supported: Public, Unlisted, Followers, Direct
|
||||||
|
|
||||||
|
### Server Compatibility
|
||||||
|
|
||||||
|
**Poll support varies by fediverse server:**
|
||||||
|
- **Mastodon:** Full poll support, typically 4 option limit
|
||||||
|
- **GoToSocial:** Full poll support, admin-configurable limits
|
||||||
|
- **Pleroma:** Basic poll support, check instance features
|
||||||
|
- **Other servers:** Poll features vary by implementation
|
||||||
|
|
||||||
|
TTYverse supports up to 10 options, but your server may impose lower limits.
|
||||||
|
|
||||||
|
## Error Handling
|
||||||
|
|
||||||
|
### Common Poll Errors
|
||||||
|
|
||||||
|
**Poll creation errors:**
|
||||||
|
```
|
||||||
|
-- ERROR: Failed to create poll
|
||||||
|
-- This instance may limit polls to 4 options or fewer.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Voting errors:**
|
||||||
|
```
|
||||||
|
-- poll has expired
|
||||||
|
-- you have already voted on this poll
|
||||||
|
-- this poll only allows single choice
|
||||||
|
```
|
||||||
|
|
||||||
|
**Invalid vote format:**
|
||||||
|
```
|
||||||
|
-- post a3 does not have a poll
|
||||||
|
-- invalid menu code
|
||||||
|
```
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
|
||||||
|
**Poll not appearing:**
|
||||||
|
1. Check if post has [Poll] indicator
|
||||||
|
2. Verify poll hasn't expired
|
||||||
|
3. Refresh timeline: `/refresh`
|
||||||
|
|
||||||
|
**Can't vote:**
|
||||||
|
1. Check if poll is expired
|
||||||
|
2. Verify you haven't already voted
|
||||||
|
3. For single choice polls, vote for only one option
|
||||||
|
4. Use current menu codes (they change as timeline updates)
|
||||||
|
|
||||||
|
**Poll creation fails:**
|
||||||
|
1. Check option count (your server may limit to 4)
|
||||||
|
2. Verify option length (50 character limit)
|
||||||
|
3. Ensure minimum 2 options provided
|
||||||
|
4. Check authentication: `/refresh` to test API access
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Creating Effective Polls
|
||||||
|
|
||||||
|
**Question design:**
|
||||||
|
- Be clear and specific in your question
|
||||||
|
- Avoid leading or biased questions
|
||||||
|
- Consider if single or multiple choice is appropriate
|
||||||
|
- Test question clarity with a friend first
|
||||||
|
|
||||||
|
**Option design:**
|
||||||
|
- Keep options concise (50 character limit)
|
||||||
|
- Make options mutually exclusive for single choice polls
|
||||||
|
- Provide comprehensive coverage of likely answers
|
||||||
|
- Consider adding "Other" option for completeness
|
||||||
|
|
||||||
|
**Duration selection:**
|
||||||
|
- **1-6 hours:** Quick pulse checks, urgent decisions
|
||||||
|
- **24 hours:** General interest, broad participation
|
||||||
|
- **2-3 days:** Community discussions, important decisions
|
||||||
|
- **1 week:** Major surveys, comprehensive feedback
|
||||||
|
|
||||||
|
### Voting Thoughtfully
|
||||||
|
|
||||||
|
**Before voting:**
|
||||||
|
- Read all options carefully
|
||||||
|
- Consider the question context
|
||||||
|
- Check if multiple selections are allowed
|
||||||
|
- Think about the implications of your choices
|
||||||
|
|
||||||
|
**Participation tips:**
|
||||||
|
- Vote on polls from accounts you follow
|
||||||
|
- Share interesting polls (boost) to increase participation
|
||||||
|
- Comment on poll results to continue the conversation
|
||||||
|
- Respect poll creators' intentions and question framing
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
### Simple Preference Poll
|
||||||
|
```bash
|
||||||
|
/poll Coffee or tea?
|
||||||
|
# Options: Coffee, Tea
|
||||||
|
# Duration: 24h (default)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Technical Survey
|
||||||
|
```bash
|
||||||
|
/mpoll Which programming languages do you use professionally? (select all)
|
||||||
|
# Options: Python, JavaScript, Java, C++, Go, Rust, PHP, C#
|
||||||
|
# Duration: 3d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Community Decision
|
||||||
|
```bash
|
||||||
|
/poll Should we have a weekly community meetup?
|
||||||
|
# Options: Yes - same time each week, Yes - rotating times, No - keep it informal
|
||||||
|
# Duration: 1w
|
||||||
|
```
|
||||||
|
|
||||||
|
### Event Planning
|
||||||
|
```bash
|
||||||
|
/mpoll What topics interest you for the next meetup? (choose up to 3)
|
||||||
|
# Options: Accessibility, CLI tools, Fediverse, Privacy, Security, Programming
|
||||||
|
# Duration: 5d
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**See also:** [Commands Reference](Commands-Reference) | [Basic Usage](Basic-Usage) | [Posting](Posting)
|
445
Posting.md
Normal file
445
Posting.md
Normal file
@ -0,0 +1,445 @@
|
|||||||
|
# Posting
|
||||||
|
|
||||||
|
TTYverse provides comprehensive posting features, supporting text posts, media uploads, polls, replies, and all fediverse visibility levels with accessibility-first design principles.
|
||||||
|
|
||||||
|
## Basic Text Posts
|
||||||
|
|
||||||
|
### Simple Posts
|
||||||
|
|
||||||
|
Create public posts with the `/post` command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/post Hello fediverse! Just discovered TTYverse and loving the accessibility focus.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Post result:**
|
||||||
|
- Creates a public post visible to everyone
|
||||||
|
- Appears in local and federated timelines
|
||||||
|
- Uses your default visibility setting
|
||||||
|
- Includes post confirmation
|
||||||
|
|
||||||
|
### Multi-line Posts
|
||||||
|
|
||||||
|
For longer content, TTYverse handles multi-line text naturally:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/post This is a longer post that spans multiple concepts.
|
||||||
|
|
||||||
|
I can discuss accessibility, command-line interfaces, and the importance of inclusive design in fediverse clients.
|
||||||
|
|
||||||
|
#accessibility #commandline #fediverse
|
||||||
|
```
|
||||||
|
|
||||||
|
**Tips for multi-line posts:**
|
||||||
|
- Natural line breaks are preserved
|
||||||
|
- Hashtags work anywhere in the post
|
||||||
|
- Links are automatically detected
|
||||||
|
- Character limits depend on your server (usually 500-1000 characters)
|
||||||
|
|
||||||
|
## Visibility Levels
|
||||||
|
|
||||||
|
### Understanding Visibility
|
||||||
|
|
||||||
|
TTYverse supports all fediverse visibility levels:
|
||||||
|
|
||||||
|
**Public [Public]:**
|
||||||
|
- Visible to everyone
|
||||||
|
- Appears in local and federated timelines
|
||||||
|
- Discoverable through search
|
||||||
|
- Default for most posts
|
||||||
|
|
||||||
|
**Unlisted [Unlisted]:**
|
||||||
|
- Public but not in timelines
|
||||||
|
- Viewable by direct link
|
||||||
|
- Appears on your profile
|
||||||
|
- Good for replies and casual posts
|
||||||
|
|
||||||
|
**Followers-only [Followers]:**
|
||||||
|
- Only visible to your followers
|
||||||
|
- Private but not direct
|
||||||
|
- Good for personal updates
|
||||||
|
- Won't appear in public timelines
|
||||||
|
|
||||||
|
**Direct [Direct]:**
|
||||||
|
- Only visible to mentioned users
|
||||||
|
- Functions like direct messages
|
||||||
|
- Private communication
|
||||||
|
- Requires @mentions to specific users
|
||||||
|
|
||||||
|
### Setting Visibility
|
||||||
|
|
||||||
|
**Current visibility system:**
|
||||||
|
- Posts use your account's default visibility
|
||||||
|
- Check your server settings for default visibility
|
||||||
|
- Individual post visibility may be adjusted by server
|
||||||
|
|
||||||
|
**Future visibility control:**
|
||||||
|
- TTYverse may add per-post visibility controls
|
||||||
|
- Server-dependent feature implementation
|
||||||
|
- Check your instance's post visibility options
|
||||||
|
|
||||||
|
## Replying to Posts
|
||||||
|
|
||||||
|
### Basic Replies
|
||||||
|
|
||||||
|
Reply to any post using its menu code:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/reply a3 Great point about accessibility! TTYverse really does make the fediverse more inclusive.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Reply features:**
|
||||||
|
- Maintains conversation threading
|
||||||
|
- Notifies the original poster
|
||||||
|
- Inherits appropriate visibility
|
||||||
|
- Preserves conversation context
|
||||||
|
|
||||||
|
### Reply All
|
||||||
|
|
||||||
|
Reply to all participants in a conversation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/replyall a3 Thanks everyone for this discussion! The accessibility insights are really valuable.
|
||||||
|
```
|
||||||
|
|
||||||
|
**Reply all behavior:**
|
||||||
|
- Mentions all users in the original post
|
||||||
|
- Creates inclusive conversation
|
||||||
|
- Useful for group discussions
|
||||||
|
- Respects privacy settings
|
||||||
|
|
||||||
|
### Reply with Media
|
||||||
|
|
||||||
|
Combine replies with media attachments:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/reply a3 Here's a screenshot showing the accessibility feature you mentioned
|
||||||
|
/media /path/to/screenshot.png
|
||||||
|
```
|
||||||
|
|
||||||
|
## Media Posts
|
||||||
|
|
||||||
|
### Image Posts
|
||||||
|
|
||||||
|
Upload images with required alt-text:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/media /path/to/photo.jpg Beautiful sunset from today's hike
|
||||||
|
```
|
||||||
|
|
||||||
|
**Image posting process:**
|
||||||
|
1. TTYverse detects image file type
|
||||||
|
2. Prompts for alt-text description (required)
|
||||||
|
3. Prompts for optional post message
|
||||||
|
4. Uploads media and creates post
|
||||||
|
|
||||||
|
**Alt-text requirements:**
|
||||||
|
- Required for all images (enforced)
|
||||||
|
- Upload cancelled without alt-text
|
||||||
|
- Promotes accessibility
|
||||||
|
- Helps screen reader users
|
||||||
|
|
||||||
|
**Example interaction:**
|
||||||
|
```
|
||||||
|
TTYverse> /media ~/photos/garden.jpg
|
||||||
|
-- Detected file type: image/jpeg
|
||||||
|
-- Images require alt-text for accessibility
|
||||||
|
Enter alt text for garden.jpg: Tomatoes ripening on vines in a backyard garden
|
||||||
|
Enter post message (optional): Finally seeing some red tomatoes! #gardening
|
||||||
|
-- Uploading media file...
|
||||||
|
-- Media uploaded successfully
|
||||||
|
-- Post created successfully!
|
||||||
|
```
|
||||||
|
|
||||||
|
### Audio and Video Posts
|
||||||
|
|
||||||
|
Share audio and video content:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/media /path/to/recording.mp3 Morning birdsong from the park
|
||||||
|
/media /path/to/video.mp4 Time-lapse of sunset over the mountains
|
||||||
|
```
|
||||||
|
|
||||||
|
**Audio/video features:**
|
||||||
|
- No alt-text required (but consider descriptive post text)
|
||||||
|
- Supports MP3, OGG, WAV, FLAC, M4A audio formats
|
||||||
|
- Supports MP4, WebM, MOV video formats
|
||||||
|
- File size limits depend on your server
|
||||||
|
|
||||||
|
### Media with Text
|
||||||
|
|
||||||
|
Combine media with descriptive text:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/media /path/to/diagram.png Check out this accessibility flowchart I created for TTYverse users
|
||||||
|
```
|
||||||
|
|
||||||
|
**Best practices:**
|
||||||
|
- Use post text to provide context
|
||||||
|
- Describe video content for accessibility
|
||||||
|
- Include relevant hashtags
|
||||||
|
- Consider screen reader users
|
||||||
|
|
||||||
|
## Poll Posts
|
||||||
|
|
||||||
|
### Single Choice Polls
|
||||||
|
|
||||||
|
Create polls where users select one option:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/poll What's your favorite fediverse client feature?
|
||||||
|
```
|
||||||
|
|
||||||
|
**Poll creation process:**
|
||||||
|
```
|
||||||
|
Creating single choice poll: What's your favorite fediverse client feature?
|
||||||
|
Poll duration (default 24h): 2d
|
||||||
|
Enter options (press Enter with no text to finish):
|
||||||
|
Option 1: Accessibility features
|
||||||
|
Option 2: Command-line interface
|
||||||
|
Option 3: Cross-instance support
|
||||||
|
Option 4: Media handling
|
||||||
|
Option 5: [press Enter to finish]
|
||||||
|
-- Poll posted successfully
|
||||||
|
```
|
||||||
|
|
||||||
|
### Multiple Choice Polls
|
||||||
|
|
||||||
|
Create polls allowing multiple selections:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/mpoll Which TTYverse features do you use most? (select all that apply)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Poll options:**
|
||||||
|
- Minimum 2 options required
|
||||||
|
- Maximum 10 options (server may limit to 4)
|
||||||
|
- Each option limited to 50 characters
|
||||||
|
- Duration: minutes, hours, days, or weeks
|
||||||
|
|
||||||
|
### Poll Best Practices
|
||||||
|
|
||||||
|
**Effective poll design:**
|
||||||
|
- Clear, specific questions
|
||||||
|
- Comprehensive option coverage
|
||||||
|
- Appropriate duration for topic
|
||||||
|
- Consider your audience's time zones
|
||||||
|
|
||||||
|
**Poll duration guidelines:**
|
||||||
|
- **1-6 hours:** Quick decisions, urgent feedback
|
||||||
|
- **24 hours:** General interest, broad participation
|
||||||
|
- **2-3 days:** Community discussions, important decisions
|
||||||
|
- **1 week:** Major surveys, comprehensive feedback
|
||||||
|
|
||||||
|
## Advanced Posting Features
|
||||||
|
|
||||||
|
### Content Warnings
|
||||||
|
|
||||||
|
Posts with content warnings display special formatting:
|
||||||
|
|
||||||
|
```
|
||||||
|
a5> {,POST_ID} <username> (1h ago) via Web [Public] [CW: Politics]
|
||||||
|
[Content warning text] Political discussion about recent legislation...
|
||||||
|
```
|
||||||
|
|
||||||
|
**Content warning usage:**
|
||||||
|
- Server-dependent feature
|
||||||
|
- Hides sensitive content behind warnings
|
||||||
|
- User choice to expand content
|
||||||
|
- Common for sensitive topics
|
||||||
|
|
||||||
|
### Hashtag Usage
|
||||||
|
|
||||||
|
Effective hashtag strategies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/post Just released a new accessibility guide for fediverse clients!
|
||||||
|
|
||||||
|
#accessibility #fediverse #inclusion #screenreader #commandline #ttyverse
|
||||||
|
```
|
||||||
|
|
||||||
|
**Hashtag best practices:**
|
||||||
|
- Use relevant, specific tags
|
||||||
|
- Mix broad and niche hashtags
|
||||||
|
- Research community conventions
|
||||||
|
- Avoid excessive hashtag spam
|
||||||
|
|
||||||
|
### Mention Handling
|
||||||
|
|
||||||
|
Mention other users in posts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/post Thanks @storm@stormux.org for creating such an accessible fediverse client!
|
||||||
|
```
|
||||||
|
|
||||||
|
**Mention features:**
|
||||||
|
- Notifies mentioned users
|
||||||
|
- Works across instances
|
||||||
|
- Use full @username@domain format for remote users
|
||||||
|
- Creates conversation opportunities
|
||||||
|
|
||||||
|
## Posting Workflow Examples
|
||||||
|
|
||||||
|
### Daily Updates
|
||||||
|
|
||||||
|
**Personal sharing:**
|
||||||
|
```bash
|
||||||
|
/post Starting the day with some TTYverse timeline reading. Love how accessible this client makes the fediverse! #morningroutine
|
||||||
|
|
||||||
|
/media ~/photos/coffee.jpg
|
||||||
|
# Alt-text: "Steam rising from a dark coffee mug on a wooden desk"
|
||||||
|
# Message: Perfect morning fuel for productivity
|
||||||
|
```
|
||||||
|
|
||||||
|
### Technical Discussions
|
||||||
|
|
||||||
|
**Educational content:**
|
||||||
|
```bash
|
||||||
|
/post New blog post: "Why Command-Line Fediverse Clients Matter for Accessibility"
|
||||||
|
|
||||||
|
Key points:
|
||||||
|
- Screen reader compatibility
|
||||||
|
- Keyboard-only navigation
|
||||||
|
- Consistent text formatting
|
||||||
|
- Audio notification support
|
||||||
|
|
||||||
|
#accessibility #fediverse #inclusion
|
||||||
|
|
||||||
|
Link: https://myblog.example.com/cli-fediverse-accessibility
|
||||||
|
```
|
||||||
|
|
||||||
|
### Community Engagement
|
||||||
|
|
||||||
|
**Interactive content:**
|
||||||
|
```bash
|
||||||
|
/poll What accessibility feature would you most like to see improved in fediverse clients?
|
||||||
|
|
||||||
|
# Options:
|
||||||
|
# 1. Better alt-text enforcement
|
||||||
|
# 2. Enhanced screen reader support
|
||||||
|
# 3. Audio notifications
|
||||||
|
# 4. Keyboard navigation
|
||||||
|
# 5. High contrast themes
|
||||||
|
|
||||||
|
Duration: 3d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Media Sharing
|
||||||
|
|
||||||
|
**Creative content:**
|
||||||
|
```bash
|
||||||
|
/media ~/recordings/bird-song.mp3 Recorded this beautiful dawn chorus during my morning walk. The robins were particularly active today!
|
||||||
|
|
||||||
|
#nature #birds #morningwalk #audio
|
||||||
|
```
|
||||||
|
|
||||||
|
## Post Management
|
||||||
|
|
||||||
|
### Post Engagement
|
||||||
|
|
||||||
|
Monitor your post performance:
|
||||||
|
|
||||||
|
**Engagement indicators:**
|
||||||
|
- Posts show boost and favorite counts when > 0
|
||||||
|
- Format: `boosts: 5, favorites: 12` on metadata line
|
||||||
|
- Helps gauge content resonance
|
||||||
|
- Appears in timeline display
|
||||||
|
|
||||||
|
### Post Interactions
|
||||||
|
|
||||||
|
Interact with your own posts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/url a3 # Open URL from your post
|
||||||
|
/thread a3 # View conversation thread
|
||||||
|
/boost a3 # Boost your own post (if supported)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Post Visibility
|
||||||
|
|
||||||
|
Understanding post reach:
|
||||||
|
|
||||||
|
**Public posts:**
|
||||||
|
- Appear in follower timelines
|
||||||
|
- Visible in local/federated timelines
|
||||||
|
- Discoverable through search
|
||||||
|
- Cross-instance federation
|
||||||
|
|
||||||
|
**Unlisted posts:**
|
||||||
|
- Visible to followers
|
||||||
|
- Not in public timelines
|
||||||
|
- Accessible by direct link
|
||||||
|
- Good for casual updates
|
||||||
|
|
||||||
|
## Troubleshooting Posting
|
||||||
|
|
||||||
|
### Common Post Issues
|
||||||
|
|
||||||
|
**Post failed to send:**
|
||||||
|
1. Check network connectivity: `/refresh`
|
||||||
|
2. Verify authentication: `/rate`
|
||||||
|
3. Check character limits (server-dependent)
|
||||||
|
4. Retry posting: repeat `/post` command
|
||||||
|
|
||||||
|
**Media upload failures:**
|
||||||
|
1. Check file exists and is readable
|
||||||
|
2. Verify file size limits (typically 8MB for images)
|
||||||
|
3. Ensure alt-text provided for images
|
||||||
|
4. Check supported file formats
|
||||||
|
|
||||||
|
**Polls not working:**
|
||||||
|
1. Verify server supports polls
|
||||||
|
2. Check option count (many servers limit to 4)
|
||||||
|
3. Ensure minimum 2 options provided
|
||||||
|
4. Verify option length (50 character limit)
|
||||||
|
|
||||||
|
### Debug Posting Issues
|
||||||
|
|
||||||
|
**Enable verbose mode:**
|
||||||
|
```bash
|
||||||
|
/verbose # Enable detailed output
|
||||||
|
/post test message # Try posting with debug info
|
||||||
|
```
|
||||||
|
|
||||||
|
**Check server limits:**
|
||||||
|
```bash
|
||||||
|
/rate # Check API rate limits
|
||||||
|
```
|
||||||
|
|
||||||
|
**Test media functionality:**
|
||||||
|
```bash
|
||||||
|
/media /path/to/small-test-image.jpg
|
||||||
|
# Test with small file first
|
||||||
|
```
|
||||||
|
|
||||||
|
## Best Practices
|
||||||
|
|
||||||
|
### Accessibility-First Posting
|
||||||
|
|
||||||
|
**Essential practices:**
|
||||||
|
1. **Always provide alt-text** for images (TTYverse enforces this)
|
||||||
|
2. **Use descriptive text** for audio/video content
|
||||||
|
3. **Write clear, concise posts** for screen readers
|
||||||
|
4. **Use hashtags thoughtfully** for discovery
|
||||||
|
5. **Consider your audience** when posting
|
||||||
|
|
||||||
|
### Content Quality
|
||||||
|
|
||||||
|
**Effective posting:**
|
||||||
|
- Provide context for shared links
|
||||||
|
- Use meaningful hashtags
|
||||||
|
- Engage respectfully with others
|
||||||
|
- Share diverse, valuable content
|
||||||
|
- Respect community norms
|
||||||
|
|
||||||
|
### Privacy Considerations
|
||||||
|
|
||||||
|
**Posting privacy:**
|
||||||
|
- Consider post visibility before sharing
|
||||||
|
- Be mindful of who can see your content
|
||||||
|
- Remember that public posts are searchable
|
||||||
|
- Respect others' privacy in replies and mentions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**See also:** [Media Uploads](Media-Uploads) | [Polls](Polls) | [Basic Usage](Basic-Usage) | [Advanced Features](Advanced-Features)
|
357
Search.md
Normal file
357
Search.md
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
# Search
|
||||||
|
|
||||||
|
TTYverse provides comprehensive search functionality to help you discover posts, people, hashtags, and conversations across the fediverse.
|
||||||
|
|
||||||
|
## Basic Search Commands
|
||||||
|
|
||||||
|
### The `/search` Command
|
||||||
|
|
||||||
|
The primary search interface uses simple syntax:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search <query> # General search
|
||||||
|
/search <query> +<count> # Limit results (optional)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Examples:**
|
||||||
|
```bash
|
||||||
|
/search accessibility # Search for posts about accessibility
|
||||||
|
/search "command line" # Search exact phrase
|
||||||
|
/search #fediverse # Search hashtag
|
||||||
|
/search @storm@stormux.org # Find specific user
|
||||||
|
```
|
||||||
|
|
||||||
|
## Search Types
|
||||||
|
|
||||||
|
### Content Search
|
||||||
|
|
||||||
|
Search post content across the fediverse:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search "terminal client" # Exact phrase in posts
|
||||||
|
/search accessibility tools # Posts containing both terms
|
||||||
|
/search TTYverse # Posts mentioning TTYverse
|
||||||
|
```
|
||||||
|
|
||||||
|
**Content search finds:**
|
||||||
|
- Post text and content
|
||||||
|
- Replies and conversations
|
||||||
|
- Public posts visible to your instance
|
||||||
|
- Posts from accounts you follow
|
||||||
|
|
||||||
|
### Hashtag Search
|
||||||
|
|
||||||
|
Find posts tagged with specific hashtags:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search #accessibility # Posts tagged with #accessibility
|
||||||
|
/search #commandline # Posts about command line tools
|
||||||
|
/search #mastodon # Posts about Mastodon
|
||||||
|
/search #poll # Posts containing polls
|
||||||
|
```
|
||||||
|
|
||||||
|
**Hashtag features:**
|
||||||
|
- Case-insensitive matching
|
||||||
|
- Includes variations and related tags
|
||||||
|
- Shows both local and federated results
|
||||||
|
- Reveals trending topics
|
||||||
|
|
||||||
|
### User Search
|
||||||
|
|
||||||
|
Find people across the fediverse:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search @username # Search for username on your instance
|
||||||
|
/search @user@example.com # Search specific user on remote instance
|
||||||
|
/search "Display Name" # Search by display name
|
||||||
|
```
|
||||||
|
|
||||||
|
**User search returns:**
|
||||||
|
- Account usernames and display names
|
||||||
|
- Profile information
|
||||||
|
- Follower/following counts
|
||||||
|
- Account verification status
|
||||||
|
|
||||||
|
### Mixed Search
|
||||||
|
|
||||||
|
Combine different search types:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search storm accessibility # Posts by/about storm related to accessibility
|
||||||
|
/search @storm #ttyverse # Storm's posts tagged with #ttyverse
|
||||||
|
```
|
||||||
|
|
||||||
|
## Search Results Display
|
||||||
|
|
||||||
|
### Result Format
|
||||||
|
|
||||||
|
Search results use TTYverse's standard post display format:
|
||||||
|
|
||||||
|
```
|
||||||
|
-- searching for: accessibility tools
|
||||||
|
-- found 15 results
|
||||||
|
|
||||||
|
a0> {,POST_ID} <username> (2h ago) via TTYverse [Public]
|
||||||
|
Great article about accessibility tools for developers
|
||||||
|
|
||||||
|
a1> {,POST_ID} <username> (4h ago) via Web [Unlisted]
|
||||||
|
Just discovered TTYverse - finally an accessible command-line fediverse client!
|
||||||
|
|
||||||
|
a2> {,POST_ID} <username> (1d ago) via Mobile [Public]
|
||||||
|
#accessibility tools that every developer should know about
|
||||||
|
```
|
||||||
|
|
||||||
|
**Result features:**
|
||||||
|
- Uses standard menu codes (a0, a1, a2, etc.)
|
||||||
|
- Shows full post context
|
||||||
|
- Includes visibility indicators
|
||||||
|
- Maintains chronological order
|
||||||
|
- Allows normal interactions (reply, boost, favorite)
|
||||||
|
|
||||||
|
### No Results Handling
|
||||||
|
|
||||||
|
When searches return no results:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
TTYverse> /search "nonexistent term"
|
||||||
|
-- searching for: nonexistent term
|
||||||
|
-- sorry, no results were found.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Advanced Search Techniques
|
||||||
|
|
||||||
|
### Exact Phrase Matching
|
||||||
|
|
||||||
|
Use quotes for precise searches:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search "TTYverse client" # Finds posts with exact phrase
|
||||||
|
/search "blind accessibility" # Exact phrase matching
|
||||||
|
```
|
||||||
|
|
||||||
|
**Without quotes:** Searches for posts containing all terms
|
||||||
|
**With quotes:** Searches for posts containing the exact phrase
|
||||||
|
|
||||||
|
### User-Specific Content
|
||||||
|
|
||||||
|
Search within specific user's posts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/again @username # Show recent posts from user
|
||||||
|
/wagain @username # Show all recent activity from user
|
||||||
|
```
|
||||||
|
|
||||||
|
These commands complement search by focusing on specific accounts.
|
||||||
|
|
||||||
|
### Cross-Instance Search
|
||||||
|
|
||||||
|
Search for users on remote instances:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/search @user@mastodon.social # Find user on Mastodon.social
|
||||||
|
/search @admin@pixelfed.social # Find user on Pixelfed
|
||||||
|
/search @bot@botsin.space # Find bot accounts
|
||||||
|
```
|
||||||
|
|
||||||
|
**Cross-instance format:** Always use `@username@instance.domain`
|
||||||
|
|
||||||
|
## Search Result Interaction
|
||||||
|
|
||||||
|
### Standard Interactions
|
||||||
|
|
||||||
|
Search results support all normal TTYverse interactions:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# After search results appear with menu codes
|
||||||
|
/reply a2 Thanks for sharing this resource!
|
||||||
|
/boost a0 # Share interesting result
|
||||||
|
/fav a1 # Favorite helpful post
|
||||||
|
/url a2 # Open URL from search result
|
||||||
|
```
|
||||||
|
|
||||||
|
### Following from Search
|
||||||
|
|
||||||
|
Discover and follow new accounts:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Search for interesting users
|
||||||
|
/search @expert@domain.com
|
||||||
|
|
||||||
|
# Follow them if you like their content
|
||||||
|
/follow @expert@domain.com
|
||||||
|
```
|
||||||
|
|
||||||
|
### Bookmarking Search Results
|
||||||
|
|
||||||
|
Save interesting findings for later:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/bookmark a3 # Save search result
|
||||||
|
/timeline bookmarks # View saved posts later
|
||||||
|
```
|
||||||
|
|
||||||
|
## Search Limitations and Considerations
|
||||||
|
|
||||||
|
### Instance-Specific Results
|
||||||
|
|
||||||
|
**What you can search:**
|
||||||
|
- Public posts visible to your instance
|
||||||
|
- Posts from accounts you follow
|
||||||
|
- Posts that have federated to your server
|
||||||
|
- Local instance content
|
||||||
|
|
||||||
|
**What you might miss:**
|
||||||
|
- Posts from blocked instances
|
||||||
|
- Private/followers-only posts (unless you follow the account)
|
||||||
|
- Posts that haven't federated to your server
|
||||||
|
- Very recent posts (federation delay)
|
||||||
|
|
||||||
|
### Server-Dependent Features
|
||||||
|
|
||||||
|
**Search capabilities vary by server:**
|
||||||
|
- **Mastodon:** Full-text search varies by instance configuration
|
||||||
|
- **GoToSocial:** Search features depend on admin settings
|
||||||
|
- **Pleroma:** Different search algorithm and capabilities
|
||||||
|
- **Other servers:** Varying levels of search support
|
||||||
|
|
||||||
|
### Rate Limiting
|
||||||
|
|
||||||
|
Search commands consume API requests:
|
||||||
|
- Frequent searches may hit rate limits
|
||||||
|
- Use `/rate` to check current limit status
|
||||||
|
- Space out searches if you hit limits
|
||||||
|
|
||||||
|
## Search Strategies
|
||||||
|
|
||||||
|
### Finding Communities
|
||||||
|
|
||||||
|
**Discover topic-based communities:**
|
||||||
|
```bash
|
||||||
|
/search #linux # Linux community posts
|
||||||
|
/search #accessibility # Accessibility community
|
||||||
|
/search #programming # Programming discussions
|
||||||
|
/timeline local # See your instance's community
|
||||||
|
/timeline federated # Broader fediverse conversations
|
||||||
|
```
|
||||||
|
|
||||||
|
### Following Conversations
|
||||||
|
|
||||||
|
**Track ongoing discussions:**
|
||||||
|
```bash
|
||||||
|
/search "controversial topic" # Find current discussions
|
||||||
|
/thread a3 # View full conversation thread
|
||||||
|
/bookmark a5 # Save interesting threads
|
||||||
|
```
|
||||||
|
|
||||||
|
### Finding Expertise
|
||||||
|
|
||||||
|
**Locate knowledgeable users:**
|
||||||
|
```bash
|
||||||
|
/search @expert accessibility # Find accessibility experts
|
||||||
|
/search #programming help # Find programming assistance
|
||||||
|
/whois @username # Get detailed user information
|
||||||
|
```
|
||||||
|
|
||||||
|
### Content Discovery
|
||||||
|
|
||||||
|
**Explore new content:**
|
||||||
|
```bash
|
||||||
|
/search #photography # Visual content
|
||||||
|
/search "book recommendation" # Recommendations
|
||||||
|
/search #music # Music discussions
|
||||||
|
/search "tutorial" # Educational content
|
||||||
|
```
|
||||||
|
|
||||||
|
## Troubleshooting Search
|
||||||
|
|
||||||
|
### Common Search Issues
|
||||||
|
|
||||||
|
**No results found:**
|
||||||
|
1. Check spelling and try alternative terms
|
||||||
|
2. Remove quotes to broaden search
|
||||||
|
3. Try searching hashtags instead of content
|
||||||
|
4. Check if the content exists on your instance
|
||||||
|
|
||||||
|
**Search taking too long:**
|
||||||
|
1. Check network connection
|
||||||
|
2. Try simpler search terms
|
||||||
|
3. Use `/rate` to check API limits
|
||||||
|
4. Try again in a few minutes
|
||||||
|
|
||||||
|
**Missing expected results:**
|
||||||
|
1. Content may not have federated to your instance
|
||||||
|
2. Posts might be private/followers-only
|
||||||
|
3. Search indexing may be delayed
|
||||||
|
4. Try cross-instance user search format
|
||||||
|
|
||||||
|
### Authentication Issues
|
||||||
|
|
||||||
|
**Search not working:**
|
||||||
|
1. Test basic connectivity: `/refresh`
|
||||||
|
2. Check OAuth setup: `ls ~/.config/ttyverse/`
|
||||||
|
3. Re-authenticate if needed: remove config and restart
|
||||||
|
4. Verify server supports search features
|
||||||
|
|
||||||
|
## Search Best Practices
|
||||||
|
|
||||||
|
### Effective Search Queries
|
||||||
|
|
||||||
|
**Be specific but not too narrow:**
|
||||||
|
- Good: `accessibility tools`
|
||||||
|
- Too broad: `tools`
|
||||||
|
- Too narrow: `"accessibility tools for blind developers using TTYverse"`
|
||||||
|
|
||||||
|
**Use appropriate search types:**
|
||||||
|
- User search: `@username@domain`
|
||||||
|
- Hashtag search: `#hashtag`
|
||||||
|
- Content search: `"exact phrase"` or `keyword`
|
||||||
|
|
||||||
|
### Privacy Considerations
|
||||||
|
|
||||||
|
**Search visibility:**
|
||||||
|
- Your searches are not visible to others
|
||||||
|
- Search results respect post visibility
|
||||||
|
- Following users from search results is visible to them
|
||||||
|
- Interactions with search results follow normal privacy rules
|
||||||
|
|
||||||
|
### Discovery Ethics
|
||||||
|
|
||||||
|
**Respectful discovery:**
|
||||||
|
- Don't mass-follow from search results
|
||||||
|
- Respect conversation context when joining threads
|
||||||
|
- Read user profiles before following
|
||||||
|
- Consider if your participation adds value
|
||||||
|
|
||||||
|
## Integration with Other Features
|
||||||
|
|
||||||
|
### Search and Timelines
|
||||||
|
|
||||||
|
**Combine search with timeline browsing:**
|
||||||
|
```bash
|
||||||
|
/search #topic # Find interesting topic
|
||||||
|
/timeline local # See local discussion
|
||||||
|
/timeline federated # See broader conversation
|
||||||
|
```
|
||||||
|
|
||||||
|
### Search and Bookmarks
|
||||||
|
|
||||||
|
**Build a research collection:**
|
||||||
|
```bash
|
||||||
|
/search "important topic" # Find relevant posts
|
||||||
|
/bookmark a3 # Save important findings
|
||||||
|
/bookmark a7 # Build reference collection
|
||||||
|
/timeline bookmarks # Review saved research
|
||||||
|
```
|
||||||
|
|
||||||
|
### Search and Notifications
|
||||||
|
|
||||||
|
**Track mentions and discussions:**
|
||||||
|
```bash
|
||||||
|
/search @yourusername # See mentions of yourself
|
||||||
|
/timeline notifications # Check direct mentions
|
||||||
|
/search "topic you posted" # See responses to your topics
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**See also:** [Commands Reference](Commands-Reference) | [Basic Usage](Basic-Usage) | [Advanced Features](Advanced-Features)
|
430
Timeline-Navigation.md
Normal file
430
Timeline-Navigation.md
Normal file
@ -0,0 +1,430 @@
|
|||||||
|
# Timeline Navigation
|
||||||
|
|
||||||
|
TTYverse provides powerful timeline navigation features, allowing you to browse different content streams, understand post formatting, and efficiently navigate through conversations.
|
||||||
|
|
||||||
|
## Timeline Types
|
||||||
|
|
||||||
|
### Home Timeline (Default)
|
||||||
|
|
||||||
|
Your personalized feed from accounts you follow:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/timeline # Show home timeline (default)
|
||||||
|
/timeline home # Explicit home timeline
|
||||||
|
```
|
||||||
|
|
||||||
|
**Home timeline features:**
|
||||||
|
- Posts from accounts you follow
|
||||||
|
- Your own posts
|
||||||
|
- Boosts from people you follow
|
||||||
|
- Replies in conversations you're part of
|
||||||
|
- Chronological order (newest first)
|
||||||
|
|
||||||
|
### Local Timeline
|
||||||
|
|
||||||
|
Posts from your instance/server community:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/timeline local # Local instance posts
|
||||||
|
/timeline public # Same as local
|
||||||
|
```
|
||||||
|
|
||||||
|
**Local timeline shows:**
|
||||||
|
- Public posts from users on your instance
|
||||||
|
- Community discussions
|
||||||
|
- Local announcements
|
||||||
|
- Instance-specific content
|
||||||
|
|
||||||
|
### Federated Timeline
|
||||||
|
|
||||||
|
Posts from across the fediverse:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/timeline federated # Federated timeline
|
||||||
|
```
|
||||||
|
|
||||||
|
**Federated timeline includes:**
|
||||||
|
- Public posts from remote instances
|
||||||
|
- Posts that have federated to your server
|
||||||
|
- Broader fediverse conversations
|
||||||
|
- Cross-instance discussions
|
||||||
|
|
||||||
|
### Specialized Timelines
|
||||||
|
|
||||||
|
**Notifications:**
|
||||||
|
```bash
|
||||||
|
/timeline notifications # Your mentions, boosts, favorites, follows
|
||||||
|
```
|
||||||
|
|
||||||
|
**Bookmarks:**
|
||||||
|
```bash
|
||||||
|
/timeline bookmarks # Posts you've bookmarked
|
||||||
|
```
|
||||||
|
|
||||||
|
**Favorites:**
|
||||||
|
```bash
|
||||||
|
/timeline favourites # Posts you've favorited
|
||||||
|
/timeline favorites # Same as favourites (both spellings work)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Post Display Format
|
||||||
|
|
||||||
|
### Standard Post Format
|
||||||
|
|
||||||
|
TTYverse uses a consistent two-line format for all posts:
|
||||||
|
|
||||||
|
```
|
||||||
|
a0> {,POST_ID} <username> (2h ago) via TTYverse [Public]
|
||||||
|
This is the post content with any links or hashtags
|
||||||
|
```
|
||||||
|
|
||||||
|
**Metadata line breakdown:**
|
||||||
|
- **a0>** - Menu code for referencing this post
|
||||||
|
- **{,POST_ID}** - Unique post identifier
|
||||||
|
- **<username>** - Who posted it (display name or @username)
|
||||||
|
- **(2h ago)** - Relative timestamp
|
||||||
|
- **via TTYverse** - Client application used
|
||||||
|
- **[Public]** - Visibility level
|
||||||
|
|
||||||
|
**Content line:**
|
||||||
|
- Post text content
|
||||||
|
- Links and hashtags
|
||||||
|
- Media descriptions
|
||||||
|
|
||||||
|
### Visibility Indicators
|
||||||
|
|
||||||
|
Posts display their visibility level:
|
||||||
|
|
||||||
|
- **[Public]** - Visible to everyone, appears in public timelines
|
||||||
|
- **[Unlisted]** - Public but not in local/federated timelines
|
||||||
|
- **[Followers]** - Only visible to followers
|
||||||
|
- **[Direct]** - Direct message, only visible to mentioned users
|
||||||
|
|
||||||
|
### Special Post Types
|
||||||
|
|
||||||
|
**Content Warnings:**
|
||||||
|
```
|
||||||
|
a1> {,POST_ID} <username> (1h ago) via Web [Public] [CW: Politics]
|
||||||
|
[Content behind warning - politics discussion] Click to expand...
|
||||||
|
```
|
||||||
|
|
||||||
|
**Polls:**
|
||||||
|
```
|
||||||
|
a2> {,POST_ID} <username> (30m ago) via TTYverse [Public] [Poll]
|
||||||
|
What's your favorite fediverse client?
|
||||||
|
|
||||||
|
Poll:
|
||||||
|
1. TTYverse (15 votes)
|
||||||
|
2. Mastodon Web (8 votes)
|
||||||
|
3. Tusky (5 votes)
|
||||||
|
Total: 28 votes (single choice) - expires in 1 day, 12 hours
|
||||||
|
Use /vote to participate
|
||||||
|
```
|
||||||
|
|
||||||
|
**Boosted Posts:**
|
||||||
|
```
|
||||||
|
a3> {,POST_ID} <booster> boosted <original_author> (15m ago) [Public]
|
||||||
|
Original post content appears here with proper attribution
|
||||||
|
```
|
||||||
|
|
||||||
|
**Engagement Stats:**
|
||||||
|
```
|
||||||
|
a4> {,POST_ID} <username> (45m ago) via Web [Public] boosts: 12, favorites: 8
|
||||||
|
Popular post content with engagement statistics shown
|
||||||
|
```
|
||||||
|
|
||||||
|
## Navigation Commands
|
||||||
|
|
||||||
|
### Timeline Movement
|
||||||
|
|
||||||
|
**Basic navigation:**
|
||||||
|
```bash
|
||||||
|
/again # Load more posts from current timeline
|
||||||
|
/refresh # Refresh timeline for new posts
|
||||||
|
/last 20 # Show last 20 cached posts
|
||||||
|
```
|
||||||
|
|
||||||
|
**Timeline switching:**
|
||||||
|
```bash
|
||||||
|
/timeline # Return to home timeline
|
||||||
|
/timeline local # Switch to local timeline
|
||||||
|
/timeline federated # Switch to federated timeline
|
||||||
|
```
|
||||||
|
|
||||||
|
### Historical Navigation
|
||||||
|
|
||||||
|
**Access cached content:**
|
||||||
|
```bash
|
||||||
|
/last 10 # Show last 10 posts from cache
|
||||||
|
/last 50 # Show last 50 posts from cache
|
||||||
|
```
|
||||||
|
|
||||||
|
**User-specific navigation:**
|
||||||
|
```bash
|
||||||
|
/again @username # View recent posts from specific user
|
||||||
|
/wagain @username # View all recent activity from user
|
||||||
|
```
|
||||||
|
|
||||||
|
### Menu Code System
|
||||||
|
|
||||||
|
TTYverse assigns menu codes to posts for easy reference:
|
||||||
|
|
||||||
|
**Code format:**
|
||||||
|
- First posts: `a0`, `a1`, `a2`, ... `a9`
|
||||||
|
- Next set: `b0`, `b1`, `b2`, ... `b9`
|
||||||
|
- Continues: `c0`, `c1`, etc.
|
||||||
|
|
||||||
|
**Using menu codes:**
|
||||||
|
```bash
|
||||||
|
/reply a3 Great point! # Reply to post a3
|
||||||
|
/boost b7 # Boost post b7
|
||||||
|
/fav c2 # Favorite post c2
|
||||||
|
/url a5 # Open URL from post a5
|
||||||
|
```
|
||||||
|
|
||||||
|
**Important:** Menu codes change as new posts load, so use them promptly.
|
||||||
|
|
||||||
|
## Advanced Navigation
|
||||||
|
|
||||||
|
### Thread Navigation
|
||||||
|
|
||||||
|
**View conversation threads:**
|
||||||
|
```bash
|
||||||
|
/thread a3 # Show full conversation thread for post a3
|
||||||
|
```
|
||||||
|
|
||||||
|
**Thread display:**
|
||||||
|
- Shows conversation context
|
||||||
|
- Maintains chronological order
|
||||||
|
- Displays all participants
|
||||||
|
- Uses mini-menu codes for interactions
|
||||||
|
|
||||||
|
### User Timeline Navigation
|
||||||
|
|
||||||
|
**Explore user content:**
|
||||||
|
```bash
|
||||||
|
/whois @username # Get user information
|
||||||
|
/again @username # Show user's recent posts
|
||||||
|
/wagain @username # Show all user activity
|
||||||
|
```
|
||||||
|
|
||||||
|
### Content Filtering
|
||||||
|
|
||||||
|
**Timeline-specific content:**
|
||||||
|
- Home timeline shows followed accounts only
|
||||||
|
- Local timeline shows instance community
|
||||||
|
- Federated timeline shows broader fediverse
|
||||||
|
- Notifications show direct interactions
|
||||||
|
|
||||||
|
## Timeline Management
|
||||||
|
|
||||||
|
### Refresh Behavior
|
||||||
|
|
||||||
|
**Automatic refresh:**
|
||||||
|
- Background process fetches new posts
|
||||||
|
- Timeline updates without user intervention
|
||||||
|
- Configurable refresh intervals
|
||||||
|
|
||||||
|
**Manual refresh:**
|
||||||
|
```bash
|
||||||
|
/refresh # Force immediate refresh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Refresh intervals:**
|
||||||
|
```bash
|
||||||
|
/set effpause 300 # Set refresh to 5 minutes (300 seconds)
|
||||||
|
/get effpause # Check current refresh interval
|
||||||
|
```
|
||||||
|
|
||||||
|
### Cache Management
|
||||||
|
|
||||||
|
**Local caching:**
|
||||||
|
- Posts cached for `/last` command access
|
||||||
|
- Reduces network requests
|
||||||
|
- Faster access to recent content
|
||||||
|
|
||||||
|
**Cache usage:**
|
||||||
|
```bash
|
||||||
|
/last 15 # Access cached posts without network request
|
||||||
|
```
|
||||||
|
|
||||||
|
## Timeline Interaction
|
||||||
|
|
||||||
|
### Basic Interactions
|
||||||
|
|
||||||
|
All posts support standard interactions:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/reply a3 message # Reply to post
|
||||||
|
/boost a3 # Boost/reblog post
|
||||||
|
/fav a3 # Favorite post
|
||||||
|
/bookmark a3 # Bookmark for later
|
||||||
|
/url a3 # Open URL from post
|
||||||
|
```
|
||||||
|
|
||||||
|
### Poll Interactions
|
||||||
|
|
||||||
|
**Voting in polls:**
|
||||||
|
```bash
|
||||||
|
/vote a3 2 # Vote for option 2 (single choice)
|
||||||
|
/vote a3 1,3 # Vote for options 1 and 3 (multiple choice)
|
||||||
|
/vote a3 2-4 # Vote for range of options
|
||||||
|
```
|
||||||
|
|
||||||
|
### User Interactions
|
||||||
|
|
||||||
|
**From timeline posts:**
|
||||||
|
```bash
|
||||||
|
/follow @username # Follow user from their post
|
||||||
|
/whois @username # Get user information
|
||||||
|
/again @username # See more from this user
|
||||||
|
```
|
||||||
|
|
||||||
|
## Timeline Customization
|
||||||
|
|
||||||
|
### Display Options
|
||||||
|
|
||||||
|
**Verbose mode:**
|
||||||
|
```bash
|
||||||
|
/verbose # Toggle detailed output
|
||||||
|
```
|
||||||
|
|
||||||
|
Shows additional information:
|
||||||
|
- API request details
|
||||||
|
- Post processing information
|
||||||
|
- Network status updates
|
||||||
|
|
||||||
|
**Debug mode:**
|
||||||
|
```bash
|
||||||
|
/debug # Toggle debug information
|
||||||
|
```
|
||||||
|
|
||||||
|
Provides troubleshooting information:
|
||||||
|
- API response details
|
||||||
|
- Post parsing information
|
||||||
|
- Error diagnostics
|
||||||
|
|
||||||
|
### Color and Formatting
|
||||||
|
|
||||||
|
**ANSI color support:**
|
||||||
|
- Visibility indicators in color
|
||||||
|
- User highlighting
|
||||||
|
- Engagement stats highlighting
|
||||||
|
- Menu code formatting
|
||||||
|
|
||||||
|
**Color configuration:**
|
||||||
|
```bash
|
||||||
|
# In ~/.config/ttyverse/ttyverserc
|
||||||
|
ansi=1 # Enable ANSI colors
|
||||||
|
noansi=0 # Disable colors for accessibility
|
||||||
|
```
|
||||||
|
|
||||||
|
## Multi-Timeline Workflow
|
||||||
|
|
||||||
|
### Typical Navigation Pattern
|
||||||
|
|
||||||
|
**Morning routine:**
|
||||||
|
```bash
|
||||||
|
/timeline # Check home timeline
|
||||||
|
/timeline notifications # Check mentions and interactions
|
||||||
|
/timeline local # See community activity
|
||||||
|
/dms # Check direct messages
|
||||||
|
```
|
||||||
|
|
||||||
|
**Active engagement:**
|
||||||
|
```bash
|
||||||
|
/timeline federated # Discover new content
|
||||||
|
/search #topic # Find specific discussions
|
||||||
|
/bookmark a3 # Save interesting content
|
||||||
|
/boost a5 # Share good content
|
||||||
|
```
|
||||||
|
|
||||||
|
**Content creation:**
|
||||||
|
```bash
|
||||||
|
/post message # Share thoughts
|
||||||
|
/poll question # Create community poll
|
||||||
|
/media /path/file # Share media content
|
||||||
|
```
|
||||||
|
|
||||||
|
### Timeline Combination Strategies
|
||||||
|
|
||||||
|
**Discovery workflow:**
|
||||||
|
1. Start with home timeline for familiar content
|
||||||
|
2. Check local timeline for community discussions
|
||||||
|
3. Browse federated timeline for new perspectives
|
||||||
|
4. Use search to find specific topics
|
||||||
|
5. Follow interesting users discovered
|
||||||
|
|
||||||
|
**Engagement workflow:**
|
||||||
|
1. Read and interact with home timeline posts
|
||||||
|
2. Participate in local community discussions
|
||||||
|
3. Share valuable content through boosts
|
||||||
|
4. Create original content and polls
|
||||||
|
5. Use bookmarks to save reference material
|
||||||
|
|
||||||
|
## Performance Considerations
|
||||||
|
|
||||||
|
### Network Efficiency
|
||||||
|
|
||||||
|
**Optimized loading:**
|
||||||
|
- Background refresh reduces wait times
|
||||||
|
- Cached posts available instantly with `/last`
|
||||||
|
- Smart refresh intervals preserve bandwidth
|
||||||
|
|
||||||
|
**Rate limit management:**
|
||||||
|
- Automatic rate limit detection
|
||||||
|
- Efficient API usage
|
||||||
|
- `/rate` command shows current limits
|
||||||
|
|
||||||
|
### Memory Management
|
||||||
|
|
||||||
|
**Long-running sessions:**
|
||||||
|
- Efficient post caching
|
||||||
|
- Memory cleanup between refreshes
|
||||||
|
- Background process optimization
|
||||||
|
|
||||||
|
## Troubleshooting Timeline Issues
|
||||||
|
|
||||||
|
### Common Problems
|
||||||
|
|
||||||
|
**Timeline not loading:**
|
||||||
|
1. Check network connectivity
|
||||||
|
2. Try `/refresh` to force reload
|
||||||
|
3. Verify authentication with `/rate`
|
||||||
|
4. Check server status
|
||||||
|
|
||||||
|
**Old posts showing:**
|
||||||
|
1. Use `/refresh` to get new content
|
||||||
|
2. Check if you're viewing cached posts (`/last`)
|
||||||
|
3. Ensure background refresh is working
|
||||||
|
4. Try switching timeline types
|
||||||
|
|
||||||
|
**Menu codes not working:**
|
||||||
|
1. Use current codes (they change with new posts)
|
||||||
|
2. Refresh timeline if codes are old
|
||||||
|
3. Check post still exists
|
||||||
|
4. Verify correct syntax
|
||||||
|
|
||||||
|
**Missing posts:**
|
||||||
|
1. Posts may not have federated yet
|
||||||
|
2. Check post visibility settings
|
||||||
|
3. Author may have deleted post
|
||||||
|
4. Try different timeline views
|
||||||
|
|
||||||
|
### Debug Timeline Issues
|
||||||
|
|
||||||
|
**Verbose output:**
|
||||||
|
```bash
|
||||||
|
/verbose # Enable detailed output
|
||||||
|
/refresh # Refresh with verbose info
|
||||||
|
```
|
||||||
|
|
||||||
|
**Check API status:**
|
||||||
|
```bash
|
||||||
|
/rate # Check rate limits
|
||||||
|
/debug # Enable debug mode
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**See also:** [Basic Usage](Basic-Usage) | [Commands Reference](Commands-Reference) | [Advanced Features](Advanced-Features)
|
Reference in New Issue
Block a user