Welcome to another @mantequilla-soft report.
This week, we made progress on several fronts. New features and optimizations were added to 3Speak, including search, PWA improvements, and playlist management. The video encoder got a major update focused on mobile playback compatibility. On the Snapie side, bugs were fixed on Snapie.io, and @meno has been working on a new Hive-integrated website builder; more on that in future posts.

Don't forget to check the new version of 3Speak at:
Summary of updates by contributors:
@tibfox
@tibfox split his time this week between new features, quality-of-life improvements, and PWA work.
New Features
An NSFW content toggle was added, accessible from both the navigation and the user menu. Watch Later and Watch History shortcuts now appear in the sidebar playlists menu. Watch History itself got a major upgrade with a grid layout, pagination, and date-based video filtering. Playlists now support drag-and-drop reordering along with date filtering.
A tip nudge prompt now appears at around 90% of video playback, encouraging viewers to tip creators. The payout breakdown is now displayed in the video details section — this was also a community-requested feature (issue #213 by @jza).
PWA Improvements
The 3Speak Progressive Web App got several improvements: safe area handling on iPhone, an install button on the profile icon (only for Safari and Chrome), performance enhancements (bigger cache, prebuilt JS, increased image cache), and PWA shortcuts via long-press on the app icon for quick access to common routes.
Improvements & Fixes
Navigation now auto-hides in landscape mode on watch pages. The Watch History view was refined with better browsing controls. On the bug fix side: media playback state was fixed when navigating to the upload editor, tooltip closing behavior on scroll was corrected, and the fullscreen mobile play control button position was fixed. He also fixed community search in the video upload flow and cleaned up environment variables.
@meno
@meno had a wide-ranging week covering the 3Speak encoder, HiveSnaps, Snapie.io, and a brand-new project.
3Speak Encoder — v1.1.0
A major update focused on mobile playback compatibility and encoding quality. Four critical issues were identified and resolved:
Silent audio track injection — Videos without audio tracks caused ExoPlayer to stall indefinitely on mobile. The encoder now detects audio-less videos during the probe phase and injects a silent AAC track so mobile hardware decoders can play them without freezing.
Color range enforcement — Software-encoded videos were displaying washed-out colors on mobile devices. The fix enforces limited-range color space (yuv420p) in software encoding paths so hardware decoders render correct color levels.
Rotated video profile selection — Mobile videos recorded in portrait mode (90°/270° rotation) were being assigned the wrong quality tier because ffprobe reports stored dimensions rather than effective post-rotation dimensions. Profile selection now uses the effective resolution.
16px resolution alignment — Mobile hardware decoders require dimensions to be multiples of 16px. The encoder now uses a ceil-aligned scale formula across all four codec paths (VP9, H.264, NVENC, QSV) and logs warnings for misaligned source videos.
On top of those fixes, skip-upscaling logic was implemented — the encoder no longer wastes resources generating quality tiers higher than the source resolution (e.g., a 720p source only generates 720p and 480p, skipping 1080p). A premium tier was also added for direct API jobs: by default they encode at 480p only, but passing premium: true unlocks all quality tiers.
HiveSnaps
Two critical PRs were merged this week:
Hive Node Failover — dhive's built-in failover hangs indefinitely on React Native instead of rotating nodes. @meno replaced it with a custom system: a centralized HiveClient.ts with 8-second timeouts, PeakD beacon API integration for dynamic node discovery, and a recursive Proxy wrapper that gives every Hive call automatic timeout and node rotation. Broadcast operations use single-attempt to prevent duplicate transactions. 27 files were updated, and 26 duplicate HIVE_NODES definitions across the codebase were replaced with a single source of truth.
iOS Image Upload Fix — iOS Photo Library returns ph:// URIs that expo-file-system can't read directly, causing image uploads to fail silently. The fix introduces URI normalization with a two-tier strategy (copy first to preserve GIF animation, ImageManipulator fallback), smart per-format handling (HEIC→JPEG, PNG/GIF-specific paths), and 242 lines of tests covering all branches and error paths.
@meno also wrote comprehensive multi-account documentation — three documents totaling ~1,559 lines covering an extraction guide, implementation plan, and status tracker for the upcoming multi-account feature.
Snapie.io
Two PRs were merged on Snapie.io: a muted accounts performance overhaul that consolidated duplicated mute list logic into a single module (removing 154 lines of duplicate code), fixed nested reply filtering, prevented empty cache poisoning on API failures, and added retry logic. The second PR fixed layout and video rendering issues — optimizing layout constraints for better screen utilization and fixing video rendering in post details.
My Own Page (Snapie Pages)
@meno has been building a multi-tenant website builder that integrates with the Hive blockchain. Users log in with Hive Keychain, pick from 11 professional templates (blogger, portfolio, musician, vlogger, restaurant, community/DAO, and more), and customize their site using a GrapesJS drag-and-drop visual editor. Each user gets their own subdomain (e.g., username.snapie.io) with isolated storage (50MB per tenant), a media manager, and a contact form system with email notifications. The platform already has 5 live tenant websites deployed. This is the project @meno will talk about more in future posts.
@kesolink
@kesolink added an RSS feed endpoint to 3Speak with podcast-compliant metadata and episode entries, making it possible for channels to have proper podcast feeds. He also built a styled HTML view for the RSS/podcast pages with episode actions (play/download) and metadata display. New environment variables were added for CDN and media delivery configuration (RSS feed base URL, video/image/CDN hosts), along with an XML processing dependency for RSS generation.
On the audio side, @kesolink continues working on the 3Speak Audio Platform — it's almost done.
@eddiespino
This week @eddiespino worked on a new feature for bene.aliento.blog: a comprehensive voting activity tracking page that shows which accounts a user votes for, or who votes for them, with stake-weighted value analysis. It includes a value-based pie chart showing the top 7 accounts by impact, a paginated table with vote counts, weights, and USD values, batch account fetching for performance (100 accounts per request), and warning messages for potentially slow queries (1000+ voters). The vote value calculation was also calibrated to match actual Hive values — a 100% vote now correctly shows ~$0.63 instead of the previously inflated $10.04. This feature still needs some more work before it's fully ready.
Eddie also gave feedback to @tibfox on the new curation panel and on the safe zone behavior on iPhone.

YouTube Mirror:
https://www.mantequilla-soft.com/
https://github.com/orgs/Mantequilla-Soft/repositories
▶️ 3Speak