Mantequilla-Soft – Weekly Progress Report #1

in Snapie2 days ago

▶️ Watch on 3Speak


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.


image.png


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

MantequillaC.png

YouTube Mirror:


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


▶️ 3Speak

Sort:  

It was a great meeting guys... I'll make sure to fix my mic volume next week!

The first of many!

Congratulations @mantequilla-soft! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You distributed more than 200 upvotes.
Your next target is to reach 300 upvotes.

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 STOP

wish you guys well in your endevours

Thank you!

Its great update, good job

Excellent.

Good stuff.... need to try 3speak in my TV...

I think the idea of "scoring" how encoders are doing... it can help newer distributions of videos via the gateway. Obviously it requires one or two first attempts for new encoders, but then it "auto balances" and it does not need to rely on hardware requirements.

Just an idea @meno @eddiespino