Topic: Tails – e621 browsing app for iOS [v2.2.1 – June Update and Patch]

Posted under e621 Tools and Applications

Tails is an e621/e926 browser app for iPhones and iPads.

The home screen of the app is a listing top posts grouped by day. From there you can quickly navigate to always fresh content, and start exploring. Moving from one date to the next is done by tapping the left arrow and right arrow in the navigation bar.

The posts open by tapping to a side-by-side (horizontally) scrolling view, with a zoomable, animated image, and tags and possible pools below that. By tapping the tags in the posts, you'll navigate to a search with that tag. Subscribe to any tag by long pressing on it, and it will be periodically updated for new content, when you're using the app.

In the top right corner of the home view is the search. The search view contains a listing of your subscribed tags and it'll highlight the updated ones. Above those is the search bar, which will start autocompleting the tags as you type in the first couple of letters.

In the top left corner in home are the settings and next to that, pools. If you're interested in seeing adult content in the app, visit the settings and scroll all the way down to disable the safe mode, which limits all searches to rating:s by default.

Screenshots and more detailed information about Tails are available on its website at https://tails.safo.fi.

All features
  • Searching and tag autocompletion
  • Full-res file downloads
  • WebM player with looping videos
  • Animated GIFs and PNGs
  • SFW/NSFW toggle
  • Blacklist (if logged in)
  • Voting and favoriting (if logged in)
  • Local tag subscriptions
  • Infinite scrolling
  • Slideshow with selectable interval
  • Hi-res images
  • iPhone and iPad support
  • Multiple light and dark themes
  • Passcode lock
Installing

Tails isn't in Apple's App Store as they have a strict "no adult content" policy. Instead, I suggest installing it with AltStore, which is a setup for installing freely distributed apps using a computer, though only PC and Mac are supported at the moment.

Install the app by starting here, or if you're already familiar with the process, grab the .ipa file for version 2.2.1 here. (Requires iOS 14 or newer.)

Tails is and always will be free to download, and doesn't and will never contain any sort of user tracking or 3rd party analytics.

I'm happy to answer any questions here, or you can get in touch with me by email (tails at safo.fi) or Telegram. I'll keep this thread updated with the app's updates, and you can get update notifications by joining either the new Telegram Channel or the new Chat Group.

Updated

Looks great, I will attempt to install it and check it out!

I'm working on a MacOS app that works roughly the same way as this app and I'm curious how you handled voting. As far as I can tell there is no way to know wether you have previously voted on a post and what the vote was. To get around this I am storing votes locally but I'm curious if you found a better way to do it.

Hey, thanks! I'm looking forward to checking out your Mac app too.

The voting is rough, there's indeed no way to know what your current vote is from the posts API. I discussed the lack of the voted statuses as one of the major pain points in the API (from an app developer's point of view anyway) during the new e621's beta period and I suggested adding an own_vote field, but I didn't consider the performance implications of it, and that was rejected.

My workaround is the same as yours, I save the lists of voted posts locally, reference them when showing the vote buttons in a post, and update them when a vote action is taken. I know this next part sucks, but to keep the app's first load time short I only load the 320 largest ids per vote type (320 upvoted posts, 320 downvoted), which is the maximum amount of posts for one request. Of the available sorting options, I felt like the largest ids (= the newest posts) was the most relevant, but I'd switch to sorting by the latest added vote in a heartbeat if that ever becomes available.

For adding votes I use the no_unvote=true parameter so that it doesn't accidentally remove the vote when the local list is out of sync. Unfortunately there's no inverse option like "no_vote" for the vote removal. There is a post votes controller in the source code with dedicated create and destroy actions, which would be called from under /post_votes, but I've never managed to get anything other than errors from there.

Ah I was hoping you had some magic workaround that I wasn't able to figure out!

The no_unvote=true thing works fine for me but it appears to be bugged in that the response value of what your current vote is appears to be incorrect. This isn't all that important because I can just assume the vote succeeded but it makes things frustrating!

Thanks for the reply, I'll post again when I get a chance to check out Tails

There's a new version of Tails, 1.1, available for download now. You can also install the update from AltStore if you have the source installed, or from the settings menu inside the app.

General improvements in this version:

  • Improved Cloudflare captcha handling
  • Built-in support for proxying
  • Support for manually changing the web endpoint the app connects to
  • Option to force low data mode on, regardless of device’s setting
  • The app should load even less secondary information in low data mode
  • Better error messages when a search or a pool doesn’t have any posts

Changes to viewing pools:

  • Tapping an image in a pool view zooms it in instead of opening the post’s details, to match the detail view behavior. Details can now be opened from the image’s long press menu.
  • Improvements to the pool navigation to keep the navigational hierarchy flat
  • Fixed downloading posts from a pool

Other resolved issues:

  • Reduced memory usage overall, making the app less likely to crash after browsing a lot of posts
  • Fixed the app showing a wrong post after returning from a WebM player app
  • Fixed a crash when opening certain posts

Updated

blackhealthycat said:
You are a great person for doing this. No one seems to be doing any iOS development of a app anymore.

Thanks for your kind words, it really means a lot to hear the positive feedback!

This app is absolutely amazing. It’s so polished. You deserve much more Recognization for it. It’s sad that Apple doesn’t allow independent sideloading and requires a lengthy work around to install applications.Like what the person above said, no one wants to develop these types of iOS applications anymore because most people

Updated

Thanks for all of the feedback that you've sent me here and elsewhere! It means a lot to me.

A big update of Tails, version 2.0, is now available for download. You can install the update from the settings menu inside the app, or from AltStore if you have the source installed. Version 2.0 requires iOS 14 or newer.

WebM's playing natively in app:

  • If you've previously used an external WebM player (VLC or Infuse), the setting will automatically default to the new in-app player

New search view:

  • Supports multiple tags in one search, just like it works on the web page
  • Last typed word will autocomplete (taking into account the special "-" and "~" prefixes too)
  • Supports (but won't autocomplete) all meta searches, like date:, order:, pool:, and so on
  • Long pressing on tags in a post detail view has two new search options: add to current search and filter from current search

Passcode lock when app is launched:

  • Choose between a 6-digit and alphanumeric passcode that will be required to open the app
  • Hides the app screenshot from multitasking menu when enabled
  • Supports face recognition and fingerprint reading too on most devices

Alternative web browsers:

  • Browser can be changed from Safari to Firefox, Brave or Chrome
  • Tails will also honor the systemwide default browser

Other resolved issues:

  • Improved dark mode text visibility
  • Fixed infinite scrolling in pools
  • Fixed a visual glitch with the image moving upwards when zooming images in
  • Fixed a subscribed tag to no longer show as updated if the new posts are blacklisted
  • Fixed incorrect colors when automatic light/dark mode switching is used
  • Fixed posts appearing as zoomed after navigation
  • Fixed incorrect content overlapping on devices with a camera notch in the screen

Updated

Version 2.1 of Tails adds compatibility with iOS 15 and fixes the other known bugs with the app.

Full release notes for 2.1:

  • Adds iOS 15 compatibility in addition to iOS 14
  • Allows playing WebM videos fullscreen
  • Fixes updating and caching issues with favorited tags
  • Improves the performance of thumbnail lists and fixes visual glitches with updating them

Updated

In version 2.2.1:

  • Fixed a visual glitch where the pincode screen would show a pixel's width of previous content

Version 2.2 of Tails brings useful new features such as image scaling, searching for pools, new themes and icons, and some performance improvements.

Full release notes for 2.2:

  • Four new quirky themes (two light and two dark)
  • Also a pretty large overhaul to the theming system making it easier to create new themes in the future - suggestions/inspiration welcome!
  • Multiple new icons, including a couple of "incognito" icons to blend in with your regular apps
  • Icon ideas, concepts and suggestions are also much appreciated, and they'll always be credited to you in the app's settings.
  • Image scaling modes in Behavior settings:
  • Always fill screen horizontally (current default option),
  • Scale to fit in landscape mode (possibly a future default option),
  • Always scale image to fit screen

And these usability improvements:

  • A slideshow option for images (available from the long press menu when viewing them in the horizontal detail view)
  • Added a search for pools
  • Redesigned pool list and pool indicator in the posts' detail view
  • Post relationships: parent/child posts are listed below the post's tags like the pools that the post belongs to
  • Post filters in the sorting menu: hide still images, hide animations, or hide child posts
  • Date range shortcuts in the sorting menu: quick filters for searching posts within the last day, month, week, year or decade

Bug fixes:

  • Fixes a crash when updating favorited/subscribed tags
  • Fixed an issue where a manually searched tag, that was also favorited, would change its color to gray
  • Fixes high CPU usage after scrolling quickly through a long list of posts
  • A post's detail view will no longer flicker visually when scrolling when the view was scrolled all the way to the top or bottom

You can update the app from the Settings screen in the app, or use these links directly: [ Download .ipa ] [ AltStore source ]

Updated

app’s really good, cheers dude

is there ever gonna be comment support? ended up missing those and i’m kinda half-and-half about using the site or this app

despite that, good shit man

tinfoil said:
app’s really good, cheers dude

is there ever gonna be comment support? ended up missing those and i’m kinda half-and-half about using the site or this app

despite that, good shit man

Thank you!

I'll open source the app eventually and I'll leave comment support to be made as a joined effort with anyone who wants to contribute, because I'm not super into the idea of programming the DText parser (which is necessary to display links, bolded text, etc. correctly) myself.

Is there a way to turn off/configure blacklist from the app? Some works are not showing up in app that I would usually be able to see on the web.

  • 1