Skip to content

Breaking aiostreams streams results because formatter #83

Description

@EZE404

Hello, I’d like to report an issue I’m experiencing with Sootio when using aiostreams.

The problem does not occur with all content, but it consistently affects the TV show “FROM” (seasons 1 and 2). In these cases, I get no results from aiostreams at all, and there are no errors or filter statistics shown—even with debug options enabled. It behaves as if something is breaking the processing pipeline.

After testing by removing all filters and sorting options, I identified that the issue was caused by an add-on. I then re-enabled add-ons one by one and confirmed that Sootio is the source of the problem.

However, if I add Sootio directly to Stremio, it returns results normally. I also tested aiostreams’ add-on pass-through options, and the issue was resolved when I enabled formatter pass-through for Sootio.

Notes:

  • The issue is intermittent. Sootio may return results occasionally, but it fails most of the time, which can make it difficult to detect during quick tests.
  • This is not a timeout issue. It appears to break the aiostreams stream list entirely, including debug output for other add-ons.
  • The issue occurs with both built-in and manually added Sootio instances.
  • It occurs when using my custom formatter. It appears to work correctly with the bundled templates.

My custom formatter is the following:

Title:

{stream.resolution::exists["{stream.resolution::replace('2160p',` '4K')::replace('1080p', 'FHD')::replace('720p', 'HD')::replace('576p', 'SD')::replace('480p', 'SD')}"||"🤷🏻‍♂️"]}{stream.languages::exists::and::stream.languages::~Latino[" 🇲🇽"||" 💬"]}

Body:

{stream.type::replace('p2p', '🙋‍♂️ ')::replace('http', '🌐 WEB ')::replace('live', '📡 VIVO ')::replace('debrid', '🔗 DB ')}{stream.seeders::>0["{stream.seeders} "||""]}{stream.type::=p2p::and::stream.seeders::exists::isfalse["🤷‍♂️ ❔ "||""]}{stream.size::>0["🎞️ {stream.size::bytes}"||""]}{stream.season::>=0[" 📺 T"||""]}{stream.season::<=9["0"||""]}{stream.season::>0["{stream.season}"||""]}{stream.episode::>=0[" • E"||""]}{stream.episode::<=9["0"||""]}{stream.episode::>0["{stream.episode}"||""]}
{stream.quality::exists::or::stream.visualTags::exists::or::stream.encode::exists["🎥 "||""]}{stream.quality::exists["{stream.quality} "||""]}{stream.visualTags::exists["{stream.visualTags::join(' • ')} "||""]}{stream.encode::exists["{stream.encode} "||""]}{stream.audioTags::exists["🎧 {stream.audioTags::join(' • ')} "||""]}{stream.audioChannels::exists["🔊 {stream.audioChannels::join(' • ')}"||""]} {stream.languageEmojis::exists["[{stream.languageEmojis::join('][')::replace('💃🏻', '🇲🇽')}]"||""]}
{stream.indexer::exists["🔍 {addon.name} [{stream.indexer}]"||""]}{stream.proxied::istrue["[🕵️]"||""]}{service.shortName::exists["[{service.shortName}"||""]}{stream.library::istrue["☁️"||""]}{service.cached::istrue["⚡]"||""]}{service.cached::isfalse["⏳] "||""]}
{stream.filename::exists["💾 {stream.filename::truncate(117)}"||""]}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions