Welcome to another Mantequilla-Soft Weekly Report!

This week, we are a little bit late, but still, we have a lot of updates to share. Thank you to everyone who has tested the preview version of 3Speak. Big shoutout to @shiftrox, who has given us fantastic feedback. I think you are going to love the new changesin the scheduling.
By the way, don't forget to check the 3Speak Preview at:
https://preview.3speak.tv/ - (This is like a beta version of 3Speak)
Summary of updates by contributors:
@tibfox
@tibfox had a massive week on the 3Speak frontend. The biggest additions are Embed Studio, a full upload flow with its own dedicated context for details, preview, thumbnail, and upload steps, and Stories, which introduces a new ShortsStories component along with a ShortsStoryFeed page. Shorts also got a loading screen, remix integration, and player refinements.
On the layout side, there's a new Compact Sidebar mode for embedded and compact layouts, plus new speed controls and extended player controls for videos. The Editor Modal was expanded with updated styling, and the Beneficiary Modal was reworked with proper percentage calculations.
A big backend-facing change: the NewVideos and FirstUploads feeds were migrated from the old GraphQL/legacy API over to the Pancreas REST API. There's also a new dedicated FollowFeed page, ProfileNav was expanded, and the Watch/Play pages got a PlayVideo refactor with dynamic comment input sizing and visual improvements.
On the mobile side, @tibfox tackled several fixes: the CC/subtitle dropdown z-index on mobile stories now renders via a React portal, there's a landscape rotation blocker overlay for shorts/stories, ambient glow is hidden on mobile in stories mode, and all shorts loading/error/empty states now properly force a black background. A small but nice touch — the creator's unseen_count in the stories bar now decrements as you swipe through their videos.
Legacy Studio also got a styling overhaul, and minor tweaks were made to TranslateButton, ReactionPlayer, MarkdownComposer, config, and Vite config.
Pancreas (3speakchecks) — API Updates
Two additions to Pancreas: a new GET /api/video/:owner/:permlink endpoint to fetch the reusable flag from MongoDB (with an embed_url fallback for Hive permlinks), and a PATCH /api/video/:owner/:permlink/reusable auth-protected endpoint to set the flag directly. Also, all hardcoded threespeak-fixer exclusions across feeds were replaced with a configurable HIDDEN_AUTHORS environment variable.
@meno
Snapie Image Server — Production Deployment
@meno completed the development and deployment of a standalone image upload and optimization server, now live at https://images.3speak.tv. Built with Node.js, Express, Sharp, and Multer, the server accepts image uploads, automatically converts them to optimized WebP format, and serves them via a public URL. It supports JPEG, PNG, WebP, and GIF (including animated GIFs), strips EXIF metadata for privacy, auto-rotates based on orientation, and enforces a 10MB upload limit.
Security includes bearer token authentication with constant-time comparison, Helmet security headers, strict MIME type checking, and path traversal protection. The production setup runs on systemd with Nginx as a reverse proxy and SSL termination. A complete automated installation script handles port selection, domain config, API key generation, Nginx setup, and certificate installation. Documentation includes a full README and an implementation guide with code examples in JavaScript, Python, PHP, Go, Java, and Ruby.
Multi-Tier Image Upload Fallback System (3Speak Upload Service)
Together with @tibfox (who contributed the reusable field for the video schema), @meno implemented a three-tier fallback system for thumbnail uploads in the 3Speak Upload Service. The system tries Hive Image Service (images.hive.blog) first, falls back to 3Speak Image Service (images.3speak.tv), and finally to IPFS. Both the Hive and 3Speak tiers use circuit breaker patterns, retry logic with exponential backoff, and comprehensive error handling. Two new service files were created (~673 lines), along with test suites for both services (~336 lines) and extensive deployment and review documentation (~1,034 lines). All changes are backward compatible and ready for staging deployment.
SnapieAudio Player — New Features
@meno also shipped five major commits to the SnapieAudio Player:
- Thumbnail URL support: New
thumbnail_urlfield on the AudioMessage schema, a PATCH endpoint for updating thumbnails, and frontend integration in the demo page and admin panel with XSS protection. - Category system: Category field for content organization, admin controls for category management, and API support for filtering.
- Blockchain permlink & feed system: Blockchain permlink option for decentralized content referencing, a feed system with creator-based feeds, filtering, and pagination.
- Migration worker: A full migration infrastructure with a migration worker, an IPFS pin audit tool, admin UI for progress tracking, and batch controls.
- Bug fixes: Replaced axios with native Node.js
httpsmodule, fixed BigInt conversion issues, and corrected voice message migration logic.
Snapie Image Proxy Fix
A targeted fix that prevents unnecessary double-proxying of WebP thumbnails from images.3speak.tv through images.hive.blog. The proxy now correctly handles all three thumbnail sources — Hive image URLs, 3Speak WebP URLs, and IPFS CIDs — across all feeds (home, recommended, drafts, and profile pages).
@kesolink
@kesolink continued building out the 3Speak Audio Platform frontend with improvements across several areas.
Audio Feed received a bug fix for missing thumbnails in mapTrackToCard, plus a new AudioGroupFeed component with categorized horizontal scroll rows and per-row fetching. Both AudioFeed and AudioGroupFeed were migrated to React Query (useInfiniteQuery and useQuery) for better performance and caching. Routing was cleaned up so /audio shows the GroupFeed and /audio/explore shows the full feed, and tab deep-linking was added with query param support (e.g. ?tab=trending). Shared helpers like mapTrackToCard, getFeedParams, and API_BASE were refactored into reusable exports.
Audio Studio got several creator-focused enhancements: a thumbnail upload option (replacing the old broken Hive uploader), a custom permlink field so creators can define their own permlink before publishing, and a tags input field for better content discovery.
Profile Integration — an Audio tab was added to both ProfilePage and UserProfilePage, showing an AudioCard grid of user-specific audio posts with infinite query support.
Reward Tipping — a tipping system was implemented on the Audio Player page, allowing users to tip creators directly, opening up monetization for audio content.
@eddiespino
On the infrastructure side, @eddiespino paid the yearly renewal for the 3speak.tv domain and the email service, and set up a couple of new subdomains for Snapie and 3Speak. He also helped @kesolink get direct access to one of the servers so he can develop there and bypass localhost issues.
On the project management side, Eddie built a new spreadsheet to track priorities and tasks across the team, continued with video curation, and kept making progress on the Google Project Management Certificate course. He also had a one-on-one mentorship session with a community evangelist from the Torc Community.
3Speak Translator — Configuration Update
Eddie also contributed a small but useful update to the 3Speak Translator: the LibreTranslate port, supported languages, timeout, and CORS settings are now all configurable via environment variables instead of being hardcoded.

YouTube Mirror:
https://www.mantequilla-soft.com/
https://github.com/orgs/Mantequilla-Soft/repositories
▶️ 3Speak
I am very happy to help and honored by the mention! I started using 3speak again much more frequently and noticed the changes and the team's effort to deliver a better website/product with each update.
This preview version is amazing! I am loving it and already want to test the new feature for scheduling posts! Let's go for it, everyone!
!LUV !PIZZA
Oh... I forgot to set the beneficiaries. I will send the rewards to each one once the post has been paid out.
Congratulations @mantequilla-soft! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 1250 upvotes.
Your next payout target is 1000 HP.
The unit is Hive Power equivalent because post and comment rewards can be split into HP and HBD
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOPCheck out our last posts:
$PIZZA slices delivered:
@shiftrox(1/20) tipped @mantequilla-soft
Send $PIZZA tips in Discord via tip.cc!
Damn,that sucks. Thanks for sharing though— takes guts. You're not alone in this, Hive fam has your back. Hang in there,bro