PODCAST
mantequilla-soft 3Speak Podcast
by Mantequilla Soft
Listen and watch the latest videos from mantequilla-soft. Hosted by 3Speak.tv. The free speech video platform on the HIVE blockchain.
-
10
Mantequilla-Soft – Weekly Progress Report #10
https://3speak.tv/watch?v=mantequilla-soft/6ac7cae1 Welcome to another Mantequilla-Soft Weekly Report! This week, we are excited to announce the launch of a brand new app: Hive Hangouts (temporary name). Think of it like Twitter Spaces, but for the Hive blockchain. It lets people create and join live audio rooms using their Hive account, with no signups or passwords needed. We actually used it this week to record our Mantequilla-Soft weekly hangout, and it worked great. This was mostly built by @meno, and we will keep improving it in the coming weeks. On other fronts, @eddiespino made progress on the ManteCurated Live curation dashboard, and we now have the 3Speak embed upload system available for Ecency to use. More details below. Summary of updates by contributors: @meno Hive Hangouts (New App) @meno built and launched Hive Hangouts, a new open source app that brings Twitter Spaces-style audio rooms to the Hive blockchain. Anyone with a Hive account can host or join live audio conversations, authenticating via Hive Keychain with no new accounts or passwords required. The architecture is clean and lightweight: a LiveKit SFU (self hosted, open source WebRTC server) handles real time audio routing and participant management, a Fastify API (~250 lines) acts as a thin auth gateway that verifies Hive signatures and issues LiveKit tokens, and a React SPA provides the UI with a Spaces style layout featuring a speaker stage and audience grid. Features include room creation, hand raising for listeners who want to speak, speaker promotion and demotion by the host, moderation tools (mute, kick, end room), and Hive avatars pulled from on chain metadata. The server API exposes endpoints for challenge response auth, room listing and creation, joining rooms, and managing participant permissions. We used Hangouts this week to record our own Mantequilla-Soft weekly meeting, and it worked well. GitHub Repo: https://github.com/Mantequilla-Soft/hangouts You can test this app on snapie.io. It should also work from the Hive Keychain internal browser. Remember that this is still an MVP, so many features are missing. Kindly share any feedback or ideas on the Snapie Discord server (link at the bottom of the post). And if you have a cool idea for the name of the app, please let us know in the comments. Hangouts is a temporary name. @eddiespino ManteCurated Live @eddiespino made significant progress on ManteCurated Live, a real-time Hive blockchain curation dashboard built with Next.js 14, TypeScript, and Tailwind CSS. The dashboard provides analytics for the @mantecurated account's curation activities. Key features delivered this week include a voting power gauge with full weight vote value display and VP regeneration info, an account stats card focused on delegation tracking (own HP, total HP, incoming and outgoing delegations), a top authors chart showing the 10 most voted authors, and a recent votes feed with estimated USD values per vote, pagination (10 per page), clickable PeakD links, and local timezone display. The dashboard also got a complete Mantequilla-Soft rebrand (gold/yellow color scheme replacing the old red), dynamic URL routing so anyone can view stats for any account via /@username, mobile optimization, lowercase username handling, number formatting with thousand separators, and a favicon. Vote value calculations were calibrated to match actual Hive values using CoinGecko pricing. GitHub Repo: https://github.com/Mantequilla-Soft/mantecurated-live Check the app here: https://mantecurated.3speak.tv/ 3Speak Embed Upload System on Ecency The 3Speak Embed Video Upload Service is now available for Ecency to use. This is the system that allows any Hive frontend to incorporate video uploads with TUS resumable uploads, instant embed URLs, IPFS storage, multi-encoder support, and real-time encoding progress tracking. The service supports two auth methods: direct API key for server-to-server integrations, and short-lived upload tokens for secure client-side uploads in web apps. Ecency can now offer its users the ability to upload videos that are encoded and served through the 3Speak infrastructure. GitHub Repo: https://github.com/Mantequilla-Soft/embedvideos YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/i7W41pw9vnQ" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
9
Mantequilla-Soft – Weekly Progress Report #9
https://3speak.tv/watch?v=mantequilla-soft/d7934262 Welcome to another Mantequilla Soft Report! This week was a smaller team. Just @meno and @eddiespino, but the updates are significant. The biggest highlight is the launch of My Own Page, a website builder powered by Snapie that lets anyone on Hive create their own site without writing a single line of code. On the infrastructure side, we set up wildcard SSL and Nginx routing for snapie.io subdomains, and fixed a bug in the legacy 3Speak publish scripts that was permanently marking videos as failed when they shouldn't have been. Summary of updates by contributors: @meno My Own Page — Powered by Snapie This was @meno's biggest focus this week. My Own Page is a multi-tenant website builder for the Hive blockchain, now live at snapie.io. Users log in with Hive Keychain — no passwords, no signup forms — pick from 10 starter templates, and build their site using a GrapesJS drag-and-drop visual editor. Each user gets their own subdomain (yourname.snapie.io) with 50MB of storage for images. The platform comes with templates for a wide range of use cases: Blogger, Portfolio, Musician, Photographer, Vlogger, Small Business, Personal/CV, Restaurant, Community/DAO, and Link-in-Bio. There are also native Hive components — users can embed their blog feed, posts, comments, witness info, and tag feeds directly into their pages as web components. A highlight of this release is the Butter Board — a delegation-based support system. Snapie is free for everyone, but users who delegate HP to @mantequilla-soft get their "Powered by Snapie" banner replaced with a pride badge and a spot on the leaderboard. Tiers range from Butterino (100 HP) all the way up to Butterist Lord (5,001+ HP). Delegators can undelegate at any time — no pages are ever deleted. The tech stack is Node.js + Express with SQLite, Hive Keychain challenge-response auth, Lit web components for blockchain data, and a complete admin panel with dashboard, visual builder, inline editor, media manager, and onboarding flow. Five tenant websites are already live. GitHub Repo: https://github.com/Mantequilla-Soft/myownpage Check the website here: https://myownpage.snapie.io/ Hive Master Skill @meno also published the Hive Master Skill, a comprehensive Claude Code skill that gives Claude deep expertise in Hive blockchain development. We already covered this in a dedicated post, so check that out for the full details. DeFi Wallet @meno continues working on a DeFi Wallet — it will be a public repo soon. More details coming in future updates. @eddiespino Nginx + SSL Setup for Snapie.io @eddiespino configured the full Nginx and SSL infrastructure for snapie.io on the server, enabling HTTPS for all subdomains. The setup uses a wildcard SSL certificate obtained via Certbot's Cloudflare DNS challenge, so every user subdomain (username.snapie.io) is automatically covered — no per-user certificates needed. The Nginx config routes myownpage.snapie.io to the landing page, dynamically routes any other subdomain to the correct tenant via regex, and blocks reserved subdomains (www, api, mail, about) with a map block. All HTTP traffic is 301-redirected to HTTPS, security headers are in place (HSTS, X-Frame-Options, etc.), and the proxy is WebSocket-ready. Certificate renewal is automatic via Certbot's systemd timer. 3Speak Legacy Publish Fix Eddie fixed two files in the 3Speak legacy publish scripts to prevent videos from being permanently marked as failed due to transient rate limiting from Hive RPC nodes. The tryPublish() function in helper.js now treats 403 Forbidden the same as 429 — it rotates to the next RPC node and retries instead of throwing immediately. The outer catch block in publish_normal.js also recognizes 403 and forbidden as transient errors, so even if all nodes fail, the video is left for retry on the next run instead of being permanently flagged. Sovraniche Feedback Eddie reviewed Sovraniche, a platform by developer @adesojisouljay, and was able to integrate it into aliento.blog. He recorded a video with his feedback for the developer. YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/Yc1ehA_Ihzo" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
8
Mantequilla-Soft – Weekly Progress Report #8
https://3speak.tv/watch?v=mantequilla-soft/fd3eeafe 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: https://3speak.tv/ 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: <iframe width="640" height="480" src="https://www.youtube.com/embed/sfnM77SSvIE" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
7
Mantequilla-Soft – Weekly Progress Report #7
https://3speak.tv/watch?v=mantequilla-soft/2c0bb988 Welcome to another Mantequilla-Soft Weekly Report! This week is also full of updates. And this week's meeting was one of the longest ones, we talked for over an hour and a half, but there was an issue... Only the first hour was recorded. After minute 64, the audio had an issue, and we had to cut that last part from the hangout. But don't worry, @meno will talk more about the project he is working on with his brother in future posts, so be sure to follow him. One of the biggest things this week is the update on the mobile version of 3Speak. This was part of @tibfox's update. More on this below. By the way, don't forget to check the new version of 3Speak at: https://3speak.tv/ Summary of updates by contributors: @tibfox @tibfox had a packed week touching uploads, search, mobile, and a bunch of fixes across the board. Custom Schedule Picker The native datetime input for scheduling video uploads has been replaced with a fully custom component. It features a dual-month calendar, a time spinner with AM/PM toggle, a clickable manual entry, a DD.MM.YYYY input format, and a UTC publish time display. It also warns users if they pick a date in the past and auto-selects a sensible default. Along with this, a scheduling bug was fixed — LegacyUploadContext.uploadVideoTo3Speak was missing publish_type and publish_data, which meant scheduled videos were publishing immediately through the auto-check flow. Both finalize paths now include the scheduling parameters with past-time validation. Title Validation & Embed Thumbnails Video titles now enforce a 5–250 character limit with an inline hint, and the Proceed button stays disabled when the title is invalid, empty, there are no tags, or the schedule is in the past. On the embed side, a new uploadThumbnail utility uploads thumbnails via images.3speak.tv and is integrated into the embed flow with Hive metadata and embed service linking. Embed metadata was also fixed (threespeak community, reward options). Desktop & Mobile Search A major new feature: NavSearch on desktop brings an autocomplete search component to the nav bar, with suggestions grouped by users, tags, communities, and titles (as badges), plus a full results panel with sidebar filters for content type, date range, tag, community, and a boost-recent option. On mobile, a new Discover page offers full-text search with the same suggestion UX, debounced autocomplete, and filter controls. Title suggestions navigate directly to the watch/shorts page, while user/tag/community suggestions open the results panel. The search panel keeps the term editable in its header, persists when clearing input, and supports "/" hotkey and Escape to close. Example of searching for "Mantequilla" Preview: After hitting enter or going into full search mode: Mobile Improvements The mobile experience got several upgrades: bottom nav, pull-to-refresh, a mini player, scroll position memory, improved skeleton loading, and auto-hide nav on scroll. In the screenshots below, you can see the difference between the previous version and the new one. Old Version:New Version: Fixes & Polish Watch page resilience: fixed the loading flash between GraphQL and Hive fallback — network errors no longer block the fallback path Portrait thumbnail support for stories Duration badge hidden on the shorts grid MarkdownComposer now respects max-height (closing #192) Studio inputs use CSS variables for dark mode Early TUS upload on the Details page Fixed shorts container size on profile pages 404 page now shows for non-existing user profiles Fixed community search in video upload Added beneficiary list on the watch page Fixed voters list on the watch page Cleaned up env vars @meno HiveSnaps — v1.2.1 Release & Ongoing Work @meno and his brother José released HiveSnaps v1.2.1 early in the week, which included iCloud video handling on iPhone, the multi-account storage service, 3Speak image upload fallback (removing dead Cloudinary code), and an updated Android download link. A total of 36 commits across 61 files changed (~7,300 lines added, ~1,946 removed) were pushed this week, with 6 PRs opened and 2 merged. After the release, an ActionSheet safe area fix was merged — the cancel button was being hidden behind the home indicator on iPhones without a physical home button. This was resolved by adding safe area insets and removing redundant static padding. In progress — iOS Image Upload Compatibility: iOS Photo Library returns ph:// URIs that expo-file-system can't read directly, causing image uploads to fail silently. The fix introduces URI detection, a two-tier normalization strategy (preserving GIF animation), smart per-format handling (HEIC→JPEG conversion, PNG/GIF-specific paths), and 21 unit tests. Currently in its third review round. In progress — Hive Node Failover: dhive's built-in node fallback hangs indefinitely on React Native instead of rotating nodes. The replacement is a custom failover system with a centralized HiveClient.ts, PeakD beacon API integration for dynamic node discovery, a recursive Proxy wrapper that adds automatic timeout (8s) and node rotation to all calls, and lazy beacon refresh (no polling — refreshes only when stale). 27 files were updated to use the centralized client. Currently in its third review round. In progress — Ecency Chat: A new real-time chat feature using Ecency's WebSocket API, with auto-reconnect, a conversation list, and message threads. Currently under initial review. Be sure to check out the video so you can learn more about the ambitious project that @meno and his brother are working on. @eddiespino This week, @eddiespino focused heavily on testing, going through the platform, breaking things, and reporting what needs fixing. He also drafted and published the blog post about the recent 3Speak upgrades. A big focus this week was starting to integrate GitHub Issues as the team's primary way to track bugs and new features. Eddie reported several issues, some of which are already in progress: Community selector doesn't reliably fetch all communities during video details entry Implement edit video functionality (thumbnail, title, description, tags) Limit character count on Short video descriptions We also got our first community-reported issue from @jza: Display payment breakdown. The beneficiaries were already added to the watch page (thanks @tibfox), but we still need to add the full payout breakdown. Images with the progress: We invite the community to report issues and suggestions directly on our GitHub: https://github.com/Mantequilla-Soft/new-3speak-tv/issues YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/mWXnmVyFSkc" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
6
Mantequilla-Soft – Weekly Progress Report #6
https://3speak.tv/watch?v=mantequilla-soft/099fb412 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_url field 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 https module, 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: <iframe width="640" height="480" src="https://www.youtube.com/embed/slCAyl-lRzw" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
5
Mantequilla-Soft – Weekly Progress Report #5
https://3speak.tv/watch?v=mantequilla-soft/0569933a Welcome to another Mantequilla-Soft Weekly Report! Another week full of updates. This report might be shorter this time, but that doesn't mean that we have slowed down. We are making good progress, and we keep adding more butter (mantequilla) so everything is smoother. There are still many things to do, but we are getting there. This week, @tibfox was not able to join us as he took a well-deserved vacation. But he was one of the main contributors this week, so we will briefly discuss some of the achievements, as I think that it's fair that he makes a vlog to show what he has accomplished in detail. This, of course, will depend on his availability. But long story short, new 3Speak videos and shorts will be able to have caption in in different languages. On the other hand, @kesolink is making good progress with the audio uploads via 3Speak. In the video, you can see the UI elements he has built. There is a feed of audio from the Snapie apps, and the idea is that this way, people can upload music, podcasts, etc., without having to upload a video. There are still things to define, but we are getting there. This week, @meno has been active, working on improvements on @snapie. He has built a React-based video player that enables him to better adapt and customize it for Snapie. He has also been working to make Snapie more complete and to make the necessary changes so the keys are saved and encrypted the same way Keychain does it. This will enable newbies and normies to do more blockchain actions inside Snapie, and they won't be forced to download other apps. Therfore lowering the learning curve. Last but not least, @eddiespino, aka the guy who writes these reports, was busy helping @tibfox with the deployment of the translation app. It was challenging, but Eddie was able to deploy the app on one of the 3Speak servers, and it all worked. Also, Eddie worked this week to improve the gateway monitor by adding UI and UX changes. The above is a brief summary of this week's achievements. If you want more details, check out the contributions below. 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 3Speak Translator and Subtitles Generator 3Speak Translator: A self-hosted translation and subtitle serving service built with Docker. It runs two components: a LibreTranslate instance that powers real-time comment translation across the 3speak.tv frontend (supporting 34 languages with auto language detection), and a lightweight Node.js API that serves video subtitle files stored in MongoDB by author and permlink. The frontend connects to it via the VITE_TRANSLATE_API_URL environment variable. GitHub Repo: https://github.com/Mantequilla-Soft/3speak-translator 3Speak Subtitle Generator: An AI-powered pipeline that automatically generates and translates subtitles for 3Speak videos. It uses OpenAI's Whisper for speech-to-text transcription, the NLLB-200 model for translation into 21+ languages, and a zero-shot classification model for automatic content tagging. Videos are fetched directly from IPFS, processed on CPU (12–19 min per video), and the resulting SRT files, along with metadata, are stored in MongoDB. Fully Dockerized and configurable via a YAML file. GitHub Repo: https://github.com/Mantequilla-Soft/3speak-subtitle-generator @kesolink 3Speak Audio Platform — Weekly Development Report (Feb 17–23, 2026) This week's @kesolink's development focused entirely on the frontend of the 3Speak Audio Platform, with five major areas completed and shipped. Audio Player received several important fixes. Playback was previously slow because the audio file only started loading when the user pressed play — this has been resolved by preloading the file as soon as the page opens, making playback feel near-instant. An automatic IPFS gateway fallback was also added, meaning if one gateway fails to serve the file, the player silently switches to another without interrupting the experience. Two additional bugs were fixed: the play button was getting out of sync with the actual playback state, and the track duration was being pulled from the API (which could be inaccurate) rather than read directly from the audio file itself. Upload Selection underwent a significant rebuild. The component was converted from a plain HTML and Tailwind setup into a proper React component with SCSS styling. Icons were migrated from Iconify to Lucide via react-icons for better consistency. The interface is now fully responsive across mobile, tablet, and desktop. An authentication check was also added — previously, logged-out users might have been redirected to the studio or encountered unexpected behavior; now they see a clear error message instead. Audio Feed now supports pagination through a "Load More" button, allowing users to progressively browse content without overwhelming the initial load. All edge cases are handled gracefully, including loading states, error states, and an empty state when no content is available. A subtle detail was also addressed: the header is hidden during the initial load to prevent a layout flicker before content appears. Audio Card is a new reusable component that displays individual audio tracks. It features an animated waveform visual, the creator's avatar, play and like counts, and the upload time. It also supports a compact mode, designed specifically for use in tighter spaces like sidebars. Sidebar is a new "More Audios" panel that appears on the player page. It fetches the 12 most recent tracks, automatically filters out the one currently playing so there's no duplication, and displays the results using the Audio Card component in its compact mode — a good example of component reuse keeping the codebase clean. @meno Snapie Player — Mobile API Update The Snapie HTML5 Video Player server got a new feature that makes it easier for the mobile app to play videos without doing extra work on the client side. What was added: A new info=true parameter you can append to existing API endpoints (/api/watch and /api/embed). When called, it returns a lightweight JSON response with just four fields — the CDN video URL, the thumbnail URL, whether it's a short, and the view count. All URLs come back pre-resolved and ready to use. Why it matters: Previously, the mobile app would have had to handle IPFS-to-CDN conversion, fallback URL chains, and gateway logic itself. Now Snapie handles all of that server-side, so the mobile team can just pass the cid URL directly to the native video player. No extra logic needed. Key wins: Faster startup on mobile, lower memory footprint on low-end devices, and a single source of truth for video state management (deleted, processing, failed videos are all handled). Existing web API endpoints are completely unchanged. Status: Feature complete, documented in MOBILE_API_SPEC.md, and ready for the mobile team to integrate. The feature branch feature/mobile-api-info-endpoint is ready for production deployment. Snapie.io — Recent Fixes Report Two pull requests are open addressing UX consistency and a frustrating session bug. Fix #1: Interaction Bar Refactor The app had duplicated voting/interaction logic spread across multiple components. Snaps already had a clean, isolated pattern, but blog posts (PostCard and PostDetails) each had their own copy of the voting state, handlers, and UI — about 60-70 redundant lines per component. The fix creates a single shared InteractionBar component that handles everything — votes, slider, comment count, share, payout — and both blog components now just drop in one line. PostCard went from 220 to 133 lines, PostDetails from 270 to 138. Net result: ~186 lines removed, one place to maintain, consistent UX across the whole app. Fix #2: Logout Race Condition Users were getting logged out on page refresh even with a valid session cookie. The root cause was a race condition — on page load, the app was checking whether the Hive Keychain browser extension was available before the extension had finished injecting into the page. Since it wasn't ready yet, the session check failed and the user got booted. The fix decouples session restoration from extension availability. Now the app restores the session from the cookie immediately, and checks for the extension only when it's actually needed (e.g. to sign a transaction). A lightweight pub/sub event (hiveuser-saved) was also added so the user context updates reactively when account data arrives asynchronously. Only 10 lines changed, false logouts eliminated. HiveSnaps — Multi-Account Management Feature This is a substantial feature shipping to production, adding full multi-account support to the HiveSnaps mobile app — about 2,750 lines of new code across 4 new screens, 2 services, and various hooks. What it does Users can now store, switch between, and manage multiple Hive blockchain accounts from a single app. Each account shows an avatar and a badge indicating whether it has Full Access (active key stored) or Posting Only. Accounts are sorted by most recently used, and a long-press opens management options like adding an active key or deleting the account. Security model All private keys are encrypted at rest using AES-256-CBC with PBKDF2 key derivation (100,000 iterations) — the user's PIN is the only thing that unlocks them. Keys are only held in memory during an active session, which auto-expires after 5 minutes of inactivity. Every account switch requires PIN re-entry. Secure storage uses iOS Keychain and Android EncryptedSharedPreferences under the hood. Auth & session flow A new useAuth() hook centralizes everything — login, logout, account switching, JWT management for the backend API, and session validation. When a session expires, the user is redirected to the account selection screen and must re-enter their PIN to continue. Migration Users upgrading from the old single-account system are guided through a migration screen that explains the new PIN and multi-account system, migrates their existing credentials seamlessly, and cleans up legacy storage afterward. Status Fully tested on iOS and Android, edge cases covered, and pushed to GitHub. Biometric unlock (Face ID/Touch ID) is flagged as the most likely next enhancement. @eddiespino Monitor 3Speak TV — PR #3 Summary A broad cleanup PR touching the dashboard, jobs page, analytics, and a couple of backend bugs. Dashboard got a layout tidy-up — the Available Jobs card was removed and the remaining cards were reorganized into a clean 3+2 grid. The manual refresh button now shows a loading spinner while it works. Jobs page now shows Hive profile pictures in the encoder column, got a useMemo for filtering performance, a fix for a column breakpoint mismatch, and a Tooltip for truncated DID keys that were being cut off. Job Details drawer also picks up the Hive profile picture in the encoder section, keeping it consistent with the jobs page. Analytics had two meaningful fixes — the 30D and 90D job count filters were broken because the MongoDB query was hardcoded to 7 days regardless of what you selected. The encoder jobs dialog was also overhauled: Job ID and Quality columns removed, video links made clickable, and pagination added. Backend had two bugs fixed — hive_account wasn't being returned in the encoder stats response, and the /auth/check endpoint was referencing the wrong config keys (config.auth.* instead of config.admin.*), which meant admin login always failed in the UI no matter what credentials you entered. YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/Yww-LWflQPI" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
4
Mantequilla-Soft – Weekly Progress Report #4
https://3speak.tv/watch?v=mantequilla-soft/4d78ea40 Welcome to another Mantequilla-Soft Weekly Report! Oh boy, oh boy. We said we were going to slow down because we need to find more income sources, but this week the Mantequilla Soft team doubled down and pushed harder, aka, added more butter to the apps and tools to make them even smoother. Special mention to @tibfox, who absolutely crushed it with the 3Speak Shorts this week. The whole team is super grateful and super excited about this new feature. More details below. He also worked on a new video player to fix some issues, and the whole team is very excited about what he is doing on the shorts, playlist, video editor, and other awesome features in 3Speak. Having said that, we would also like to mention the efforts and contributions of @meno. This week, he had a bunch of sleepless nights and troubleshooted like never before. He decided to fix the encoder's code and the encoding gateway, and while there are still things to improve, there are already significant improvements. More details below, but long story short, encoding job assignments are going to be more fair, and the user experience will improve. Another thing he tackled was the IPFS servers that host the 3Speak videos. Together with @tibfox, he added a second Hot Node. Isn't that cool? Or should we say hot? Another valuable member of Mantequilla Soft is @kesolink. This week, he has been very busy working on the audio side of things. Soon, we will be able to show more, but the idea is to have a section (and a UI) on the site where people can upload audio. These audios could be music, podcasts, or whatever, all using the embed technology that you can find on audio.3speak.tv. Last but not least, @eddiespino. Yes, me. The person in charge of writing these reports and some other management stuff. Well, this week I was focused on Search Engine Optimization. This is in preparation for all the people we want to onboard to 3Speak (and to Hive). At the moment, the SEO of 3Speak is not great. We found some critical bugs and have already fixed some of them. Also, this week, @eddiespino (I'm not sure why I'm talking in third person here) helped @tibfox troubleshoot some bugs in the 3Speak shorts. You can check the 3Speak Preview at: https://preview.3speak.tv/ (This is like a beta version of 3Speak) Summary of updates by contributors: Below you can find a technical summary or report of what each contributor did this week. This includes a short description of each task or milestone and its impact. @eddiespino SEO Improvements for 3Speak.tv A full SEO foundation overhaul for the 3Speak frontend is in progress. This will help make the platform visible to search engines and improve link previews across social platforms. This work will introduce core SEO infrastructure, including robots.txt, sitemap indexes, and dynamic sitemaps for videos and channels powered by the Pancreas API. Static and dynamic metadata support was added using a reusable SEO component, enabling per-page titles, descriptions, Open Graph tags, Twitter cards, and canonical URLs. Structured data was also implemented using JSON-LD: VideoObject schema on watch pages for rich video search results Organization and Website schema on the homepage Additionally, serverless sitemap generators were added via Vercel functions, allowing continuously updated video and channel sitemaps without manual maintenance. Impact: With this, 3Speak will be properly discoverable by search engines. This will support rich previews when sharing videos and will have a scalable SEO foundation for future indexing and growth. Other contributions by @eddiespino this week: Tested the 3Speak shorts on iPhone Found a critical error on an encoded video and reported the issue here @tibfox Snapie Video Player: This week, @tibfox continued improving the Snapie (3Speak) player with several enhancements focused on embedding flexibility and playback reliability. New events and parameters were added to the player API, including orientation lock controls and iframe URL parameters such as mute and loop for richer embedding options. Picture-in-Picture support was also expanded with a new toggle command. Internally, mute handling was made more reliable by tracking the intended mute state independently from the Video.js player state. This prevents unintended unmuting during source initialization and ensures mute behavior is correctly enforced before playback. Additional state reporting and debugging improvements were also added for better integration and troubleshooting. Impact: These updates make the Snapie player more robust and easier to integrate, improving embedded playback control while reducing edge-case issues around mute state and player behavior. New 3Speak Player SDK - GitHub Repo NPM Package: @mantequilla-soft/3speak-player. This week, @tibfox also created the official Mantequilla-Soft npm presence and published the first public package: npmjs.com/package/@mantequilla-soft/3speak-player. The package is a framework-agnostic HLS video player SDK for 3Speak that removes the need for iframes and enables native <video> playback using hls.js on desktop browsers and native HLS on Safari/iOS. It supports vanilla JavaScript as well as React, Vue, and Svelte integrations. Key features include lightweight playback, automatic CDN fallback handling, iOS-optimized playback strategies, TypeScript support, and a rich player API with events, controls, and multi-player pooling for feeds and shorts-style experiences. Impact: This introduces a reusable developer SDK for 3Speak video playback, enabling external apps and integrations to embed 3Speak content more reliably while avoiding iframe limitations, especially on iOS. Additional 3Speak Improvements by @tibfox This week included a wide range of product improvements across reactions, shorts UX, playback controls, and overall platform polish. A major addition was the introduction of video reactions and reaction chains, allowing users to upload or record reaction videos directly as Hive comments. The system builds a visual breadcrumb chain from the original video through intermediate reactions, with overlays in Shorts and a dedicated ReactionPlayer on the watch page for browsing and interacting with reaction threads. The Shorts experience received significant upgrades, including gesture controls (tap, double-tap, long press), keyboard shortcuts, improved mute handling, smarter preloading and iframe cleanup, comment rendering improvements, and better navigation stability. A user-specific shorts feed and enhanced pagination logic were also introduced. Voting UX was redesigned into a more responsive modal system with improved performance and smoother interaction. At the same time, a mobile-first FAB speed-dial added quick actions like vote, tip, playlist, and share. Additional improvements included: User-specific Shorts feeds and better Shorts history tracking Reaction and reshare systems, including counts and UI indicators Playback enhancements like Picture-in-Picture support and player resize modes Watch page resilience improvements with Hive fallbacks and better error handling Low-reputation comment handling and reputation utilities UI consistency improvements across badges, thumbnails, overlays, and navigation Performance optimizations in API access and caching Authentication and provider improvements, including HiveSigner support via AIOHA General polish across profiles, playlists, history, and mobile navigation Impact: These changes significantly expand interactivity on 3Speak, introducing social video reactions, improving Shorts usability, strengthening playback controls, and delivering broad UX and performance improvements across both mobile and desktop experiences. Please test the 3peak Shorts here: https://preview.3speak.tv/shorts. Send us as much feedback as you can. More contributions by @tibfox this week: 3Speak Playlists Follow feed on 3Speak Video editor inside of 3Speak A new HotNode called "hinode" Replaced the temporary YouTube Shorts logo with a personalized 3Speak Shorts logo @meno Infrastructure and Gateway Improvements by @meno This week focused heavily on reliability and scalability across the encoding pipeline, IPFS integration, and job distribution systems. A major change was the introduction of a round-robin auto-assignment system in the encoder gateway. Jobs are now pre-assigned to active workers based on current load, eliminating race conditions where multiple encoders compete for the same job. This also improves fairness and reduces wasted retries, while faster reassignment logic shortens recovery time for stalled jobs. Several gateway reliability fixes were also implemented, including: Preventing duplicate job creation using atomic database constraints Switching IPFS size checks to the local gateway to avoid external timeouts Improved heartbeat tracking so idle encoders remain visible to the scheduler Encoder timing adjustments to align with the new gateway behavior On the infrastructure side, groundwork began for decoupling hotnodes from the supernode, including CID resolution checks and improved pin handling. This work supports moving thumbnail handling away from the supernode and toward more reliable external hosting (Hive image server), reducing thumbnail failure risk. Impact: These changes significantly improve encoding reliability, eliminate job distribution race conditions, and strengthen the overall stability of the video processing pipeline while laying the foundation for more resilient storage. Additional contributions by @meno: Updates on the Pancreas API to fix the fetching of data on the 3speak frontend Helped @tibfox with his new Hot Node @kesolink 3Speak Audio Platform – Frontend Progress This week, @kesolink made strong progress on the upcoming audio experience for 3Speak, covering both upload and discovery. On the Audio Studio side, the foundation for a full upload flow was implemented, including drag-and-drop support for common audio formats, improved macOS compatibility, upload progress tracking, and a built-in waveform player with seek support. The interface is designed to auto-detect audio metadata and support a complete publishing flow with title, Markdown description, and shareable output details. The Audio Feed also moved closer to a real browsing experience, transitioning away from placeholder data toward live API integration. It is being built to support pagination, loading, and error states, and a responsive grid layout, where each track will have its own dedicated player page. Impact: This work lays the groundwork for audio on 3Speak, establishing the core frontend architecture for uploads and discovery. Future steps include blockchain login, engagement features, and deeper audio interactivity before full release. Additional contributions by @kesolink: Fixed the routes for logins and user profiles. This helped fix some of the SEO errors. YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/6iWFH0zqoaE" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
3
Mantequilla-Soft – Weekly Progress Report #3
https://3speak.tv/watch?v=mantequilla-soft/5a4b4144 Welcome to another Mantequilla-Soft Weekly Report! This week, we made many updates, especially on 3Speak, both on the backend and the frontend. You can preview the changes at https://preview.3speak.tv/. We are still testing and gathering feedback before pushing to production. Below is a detailed report summarizing all the changes and updates. If you are interested, we invite you to read it, but better yet, we invite you to test it on the apps. Some of the new features include shorts and playlists, along with UI improvements and optimizations. @kesolink and @tibfox worked on the frontend, and @meno on the backend. We have also attached the videos and/or posts from the Mantequilla-Soft team. We invite you to ask questions and share feedback. Apps that were updated this week: 3Speak: https://preview.3speak.tv/ - https://play.3speak.tv/ - https://tv.3speak.tv/?tv=true Snapie.io (the web version): https://www.snapie.io/ The Beneficiary Rewards site: https://bene.aliento.blog/ Summary of updates by contributors: @tibfox 3Speak Video Player Improvements - https://play.3speak.tv/ Several playback and switching improvements landed in the video editor: Added fit-to-width video support with correct aspect ratio handling. Introduced iframe preloading for near-instant switching: 7 iframes on mobile 9 iframes on desktop Switched to stable iframe IDs and opacity: 0 buffering to improve HLS performance. Samsung Tizen TV Mode Support - https://tv.3speak.tv/?tv=true This release introduces full Samsung Tizen TV remote-control support for 3Speak, enabling a true lean-back TV experience with TV-first navigation, controls, and layouts. Core TV Mode Automatic TV mode detection (?tv=1 or Tizen environment). Focus management for sidebar and content areas. Exit confirmation dialog to prevent accidental app closure. Remote Navigation Full D-pad navigation throughout the app. Clear visual focus indicators for all interactive elements. Sidebar open/close behavior mapped to remote controls. Smart grid navigation on the homepage with row and column tracking. Watch Page – TV Player Controls TV-optimized controls overlay: Play/pause via Enter Seek ±10 seconds with arrow keys Progress bar with visual seek indicator Fullscreen toggle designed for remote usage. Context menu (long-press Enter or Menu key): Upvote Tip creator Toggle fullscreen Open in browser TV Social Overlays TV upvote overlay with vote weight controls. TV tipping overlay for HIVE/HBD with memo support and formatted memos. On-screen keyboard for search, memos, usernames, and comments. TV UI and Performance Dedicated TV layout (WatchTV.jsx). Larger thumbnails and fonts. TV-friendly browsing for feeds and profiles. Full remote navigation for comments, including nested replies. Playlists and Viewing Features - https://preview.3speak.tv/profile?tab=playlists Watch Later playlist with automatic creation. Watched history tracking with a paginated history page. Autoplay next video in playlist mode. Profile UI refinements (header, cover image, avatar behavior). Batch loading optimizations for performance. API URLs moved to environment variables: VITE_HIVE_API_URL VITE_PLAYLISTS_API_URL https://3speak.tv/watch?v=tibfox/346182c2 Link to the post: https://peakd.com/hive-181335/@tibfox/346182c2 UI Polish, Navigation, and Configuration Cleanup - https://preview.3speak.tv/ Additional quality-of-life improvements were made across navigation, watch pages, and configuration. Sidebar and Navigation Sidebar now defaults to closed and persists its state via localStorage. Widened the collapsed sidebar and aligned the burger menu visually. Added title tooltips to sidebar icons in collapsed mode. Watch History and Playlists Added delete controls and a tracking toggle to the Watch History page. Added a Remove from Watch Later button next to playlist controls. Visual Consistency Styled community labels as dimmed badges on the watch page. Standardized duration badges using semi-transparent white across all views. Fixed section header SVG icons to use currentColor instead of hardcoded red. Updated home section headers to use foreground color while keeping “View All” links red. Configuration Cleanup Removed development proxy fallbacks. Switched fully to environment variables. Cleaned up Vite configuration by removing commented-out proxy blocks. 3Speak Player Update Removed lazy loading to fix iframe preloading and also centered landscape videos on mobile. @kesolink Shorts UX, Navigation, and Performance (3Speak) - https://preview.3speak.tv/shorts Shorts received a significant round of refinement focused on speed, smoothness, and mobile-first usability. Full-Screen Mobile Experience Hid the navigation component on mobile for a true full-screen layout. Added a back button for clearer mobile navigation. Ensured the iframe fully covers its parent container on mobile. Loading and Playback Implemented thumbnail preloading with a loading spinner during initialization. Added video loop functionality for automatic replay. Tracked per-player ready state to hide thumbnails reactively. Preloading and Scrolling Implemented scroll direction prediction to preload relevant content. Increased preload range: 5 videos ahead by default 7 videos ahead during fast scrolling Kept 2 videos behind for smoother back navigation. Added lazy loading for non-active iframes. Pagination Improvements Increased initial load from 10 to 20 videos. Triggered data fetching earlier, when 8 videos remain. Added a floating “Loading more shorts…” indicator. https://3speak.tv/watch?v=kesolink/9f83bb37 Link to the post: https://peakd.com/hive-181335/@kesolink/9f83bb37 @meno Shorts Feed Deduplication and Randomization (Pancreas API) The /shorts feed was improved to eliminate repeated content and create a more varied browsing experience. Changes Deduplicated shorts using owner + thumbnail_url. Randomized feed order using Fisher–Yates shuffle. Tightened content filters: processed: true embed_url must exist and not be null Limited to the last 7 days Results Example dataset reduced from 448 shorts to 117 unique entries. Users see more variety and less repetition. Homepage Feeds Implementation (Pancreas API – Production) The 3Speak homepage feeds were migrated away from legacy REST and GraphQL indexers. All feeds are now served directly from MongoDB via the Pancreas API. Feeds Recommended (/feeds/recommended) – admin curated New (/feeds/new) – recent uploads from established creators Trending (/feeds/trending) – recalculated every 15 minutes First Uploads (/feeds/firstUploads) – first-time creators Trending Automation Trending scores are recalculated every 15 minutes using weighted engagement signals from the last 7 days. Dual-Daemon IPFS Architecture Migration A major infrastructure upgrade was completed to address severe memory spikes and instability caused by the legacy IPFS repository (~81.6TB). Problem Single daemon handling reads and writes caused RAM spikes exceeding 120GB. FlatFS datastore and mixed workloads were not sustainable. Solution Introduced a new “fresh” IPFS daemon using pebbleds for new uploads. Retained the old daemon as a tamed, read-only archive with: Limited connections DHT disabled Reduced background overhead Routed all traffic through Nginx to prevent direct daemon access. Resolved follow-up issues related to stuck disk operations, GC flags, and bitswap flooding. Results RAM usage stabilized (example: 90GB spike reduced to ~21GB). Correct upload routing restored. Playback and hot node backups stabilized. Node Banning System Fix An issue allowing banned nodes to receive encoding jobs was resolved. Fixes Moved ban checks earlier in the job assignment flow. Added a second ban validation inside acceptJob as a fail-safe. Posts and videos by Meno related to these topics: https://3speak.tv/watch?v=meno/3aeabc21 Link to the post: https://peakd.com/hive-178315/@meno/3aeabc21 https://3speak.tv/watch?v=meno/ec4fb06f Link to the post: https://peakd.com/hive-178315/@meno/ec4fb06f https://3speak.tv/watch?v=meno/af2b5f7b Link to the post: https://peakd.com/hive-178315/@meno/af2b5f7b Link to the post: https://peakd.com/hive-178315/@meno/decentralized-videos-finding-the-sweet-spot @eddiespino Admin Panel Updates (Internal Tooling) The internal Admin Hub was updated to improve safety, stability, and day-to-day usability. Connected and secured the repository for internal use. Wired the UI to the CSV workflow; the admin hub now reads 3SpeakAdminHub.csv via /api/tools. Added MongoDB-based category filtering. Improved UI stability with better animations and stable list keys. Hardened the repository against secret leaks: Added .gitignore and .env.example Implemented a password gate using ADMIN_PASSWORD Updated the README for internal usage and pushed changes to GitHub. Update on the beneficiary rewards website - https://bene.aliento.blog/ Goal: Users needed to see their liquid HIVE rewards. Fix/Solution: Implemented functionality to display liquid HIVE rewards. YouTube Mirror <iframe width="640" height="480" src="https://www.youtube.com/embed/HZUXJlC5FlY" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
2
Mantequilla-Soft – Weekly Progress Report #2
https://3speak.tv/watch?v=mantequilla-soft/0ddedf3a This second week focused heavily on stability, reliability, security, and ecosystem expansion across multiple Hive-based applications. From critical security fixes to new platform integrations, the team made steady progress toward a more robust and scalable open-source stack. Updates by Contributor @meno Critical Bug Fix & Security Enforcement Fixed a critical security issue that allowed uploads without proper posting authority on the new 3Speak frontend. The system now forces users to explicitly grant posting authority, preventing unauthorized or malformed uploads. Resolved a database issue that previously prevented faulty encoding nodes from being properly banned. Reinforced authentication and authorization checks across the upload pipeline. Impact: Stronger platform security, improved trust in the upload flow, and better governance for encoding nodes. Video Embed Worker Service (Production Deployment) Developed and deployed a background worker service that enriches video embed records using Hive blockchain data. Automatically detects where videos are embedded (posts, snaps, waves, comments) and links them with permalinks and titles. Built using TypeScript, MongoDB, HAFSQL, and systemd for production reliability. Fully resume-safe, configurable, and resilient to network or database failures. Deployed as a hardened system service with proper security constraints. Impact: Enables accurate video analytics, usage tracking, and content mapping across Hive with zero manual intervention. Shorts API Endpoint Enhancement Enhanced the /shorts endpoint to return: Thumbnail URL Embed URL Embed title Added filtering so only fully processed and playable videos are returned. Impact: Improves frontend performance, prevents incomplete content from appearing, and reduces unnecessary API calls. Infrastructure Resilience (Gateway & Encoding) Added explicit handling for HTTP 503 / 504 gateway timeouts, marking them as retryable. Implemented a Gateway Aid rescue fallback when primary gateway completion fails. Ensures videos that were successfully encoded are not lost due to temporary gateway issues. Impact: Significantly improves reliability for community encoders and prevents failed jobs when videos are already processed correctly. @kesolink Frontend & UX Improvements (3Speak) Added consistent loading states and error handling across: User profiles Followers Blogs Comments Video pages Prevented redundant data fetching and improved polling logic for in-progress uploads. Improved performance using memoization and optimized React hooks. Added browser polyfills to ensure compatibility when using Node.js modules in frontend builds. Refactored feed and config usage for better maintainability. Impact: Smoother user experience, fewer UI glitches, better performance, and more predictable data loading. 3Speak Shorts Feature (Web) 3Speak Shorts is now ~95% complete on 3Speak.tv. The only remaining task is adapting the time-frame logic. A detailed breakdown will be published in a separate post by @kesolink. Watch the development overview at minute 1:06:00 of the video (timestamp to be added). Impact: Brings TikTok-style short-form video consumption to Hive, opening new engagement and discovery flows. @tibfox 3Speak App for Samsung TV Developed a Samsung TV application for 3Speak, allowing users to watch Hive videos directly on their TVs. Expands 3Speak’s reach beyond desktop and mobile into the living room. Watch the demo at minute 20:20 of the video (timestamp to be added). Impact: Improves accessibility and mainstream usability of Hive video content. Smart Contracts on @magi.network (formerly @vsc.network) Continued development and updates on smart contracts for magic.eco. Focused on infrastructure improvements and contract evolution. Watch the technical update at minute 36:30 of the video (timestamp to be added). Impact: Strengthens the foundation for smart-contract-driven applications in the Hive ecosystem. @eddiespino Snapie Landing Page (New) Launched a new landing page for Snapie. Improved structure, clarity, and project presentation. https://about.snapie.io/ Impact: Clearer messaging, better onboarding, and improved visibility for the Snapie project. Mantequilla-Soft Landing Page Improvements Updated team section with new members and standardized roles. Added a clear “Join Us” call-to-action linked to the GitHub organization. Reorganized and updated featured projects. Fixed React hydration issues. Improved SEO through enhanced metadata and JSON-LD schema. https://www.mantequilla-soft.com/ Impact: Better discoverability, clearer project identity, and smoother contributor onboarding. Overall Summary This week delivered: Critical security and authorization fixes Major reliability improvements for video processing and gateways A production-ready worker service for video embed analytics Significant frontend UX and performance enhancements New platform extensions (Shorts, Samsung TV app) Improved project visibility and onboarding Steady progress toward a more robust, maintainable, and scalable open-source ecosystem for Hive. YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/BUCHlKCibls" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak • Snapie • Proyecto Aliento Support our Witnesses: Threespeak • Snapie • Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
-
1
Mantequilla-Soft – Weekly Progress Report #1
https://3speak.tv/watch?v=mantequilla-soft/fd9ef87a >## What is Mantequilla Soft? Mantequilla Soft is an open-source Hive initiative focused on building the tooling that makes Hive apps smoother, faster, and easier to work with. We believe great infrastructure should feel invisible—quietly doing its job, letting developers build, and users enjoy the experience, like butter melting into the workflow. This report summarizes the development, infrastructure, and integration work completed this week by the Mantequilla-Soft team across Snapie, 3Speak, and Hive ecosystem tooling. Snapie Player Improvements - @tibfox Added autoplay support with sound-first fallback to muted Displays an info button when muted Autoplay is skipped on Chrome due to unreliable autoplay policies Fixed pillarboxing issues for vertical videos rendered inside 16:9 desktop containers Added a local testing page covering all player layout modes Implemented play / pause / seek controls via postMessage for iframe embeds Cleaned up logging by replacing console.log with a centralized debugLog utility Hive Frontend Embed Fixes (3Speak) - @eddiespino & @meno Coordinated with multiple Hive frontends to restore and improve 3Speak video embeds: Contacted PeakD (Asgarth) Coordinated with Ecency (Good-karma) Submitted a Merge Request for Hive.blog Shared and maintained centralized embed documentation: https://play.3speak.tv/embed-demo-local.html 3Speak Preview Environment - @eddiespino Created a dedicated preview branch and deployment at preview.3speak.tv Purpose: Test new features safely Reduce the risk of breaking production Improve QA and release confidence before merging into main Frontend Improvements & Cleanup - @kesolink Added moment.js for improved and consistent date handling Improved vote estimation logic: Better handling of user voting power More accurate effective vesting share calculations Updated estimate logic in hiveUtils.js using dynamic blockchain properties Refactored community navigation in the video player to support direct community links Improved loading states and error handling in tooltip components Updated the NotFound page to use proper internal navigation links Removed unused code and comments across the codebase for readability Feed & Config Refactoring - @kesolink Updated Feed component to consistently use FEED_URL from config Added TAG_FEED_URL and centralized API endpoints in config.js Updated TagFeed and Trending pages to use the new endpoints Removed unnecessary debug logs from: Feed UserProfilePage Modal components Improved maintainability and consistency across frontend API calls MacOS SourceBuffer Quota Fix (Critical Playback Issue) - @meno Problem Videos failed with MEDIA_ERR_DECODE (code 3) on macOS Issue occurred across Safari, Chrome, Firefox, and Edge Linux browsers were unaffected Root Cause macOS enforces a strict SourceBuffer memory quota (~150 MB) Player exceeded this quota during playback due to aggressive buffering Solution (macOS-wide) Reduced buffer size to 20s / ~20MB (from 30s / 30MB) Implemented aggressive buffer cleanup: Removes old buffered segments on stalls Keeps only ~10 seconds behind the playhead Periodic cleanup every 5 seconds during playback Reduced initial bandwidth selection on macOS: Starts at 3 Mbps instead of 5 Mbps Applies to all browsers on macOS, not Safari-specific Result Memory usage stays well below system limits Videos now play reliably across all macOS browsers SnapieVideoPlayer Backend Updates Status-Based Placeholder System - @meno Implemented a unified placeholder system for the videos collection, matching existing embed-video behavior. Status Handling Overview Deleted videos → show deletion placeholder Processing videos → show processing placeholder Failed videos → show failure placeholder Published / Scheduled videos → serve real video Key Improvements Added status and isPlaceholder fields to API responses Verified and normalized all known video status values Maintains the full 4-tier CDN fallback system: BunnyCDN → Supernode → Hotnode → Audionode Codebase Refactor & Best Practices - @meno Introduced constants for all video statuses (no magic strings) Added shared helper functions for: Parameter validation Placeholder URL generation Status-based video resolution Reduced code duplication by ~40% Enforced consistent error handling and HTTP responses Added JSDoc documentation throughout View Count Protection Fixed /api/view endpoint so views are only counted for playable videos Views are incremented only for: published scheduled publish_later publish_manual Prevents analytics inflation from: Deleted Processing Failed videos API now clearly reports whether a view was counted Deployment & Metrics Repository: snapievideoplayer Commit: 04f976d Files changed: 1 Insertions: +230 Deletions: −78 Status: ✅ Deployed and production-ready Weekly Summary This week focused on: Improving video and audio playback reliability across Hive frontends Hardening infrastructure against platform-specific issues (macOS) Cleaning up and modernizing frontend and backend code Establishing safer release workflows via preview environments Improving long-term maintainability and analytics integrity YouTube Mirror: <iframe width="640" height="480" src="https://www.youtube.com/embed/9H-_-YTkx-M" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" frameborder="0" > Join our Discord Communities: 3Speak - Snapie - Proyecto Aliento Support our Wintesses: Threespeak - Snapie - Aliento https://www.mantequilla-soft.com/ https://github.com/orgs/Mantequilla-Soft/repositories
We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.
No matches for "" in this podcast's transcripts.
No topics indexed yet for this podcast.
Loading reviews...
ABOUT THIS SHOW
Listen and watch the latest videos from mantequilla-soft. Hosted by 3Speak.tv. The free speech video platform on the HIVE blockchain.
HOSTED BY
Mantequilla Soft
Loading similar podcasts...