Skip to content

Indigo 0.5.0

Choose a tag to compare

@ewanc26 ewanc26 released this 04 Oct 23:56
· 148 commits to main since this release
5c3bcaf

Added

  • Search results page in. Actor search, post search, a profile's posts,
    followers and following, lists, list members, mutes and blocks all grow
    more results as the cursor nears the end of what is held -- the same
    prefetch rule the timeline uses, so scrolling does not pause at a page
    boundary. Pages append rather than replace, a page that brings back
    nothing ends the paging, and the list stops asking at sixty entries.
    Saved feeds are the one exception: they come from the account's
    preferences in a single fetch, so there is no second page to ask for.
  • Muted words and "hide reposts" are honoured in the home timeline and custom
    feeds. The account's saved preferences are fetched once per sign-in, and a
    post whose text or tags carry a muted word is dropped from the page before
    the app ever sees it. An expiry in the past is skipped rather than honoured,
    a single alphanumeric word matches whole words only (muting "cat" does not
    hide "category"), and a phrase matches as a substring. Hide-reposts applies
    to the home timeline only, which is what the preference means. The rules are
    the same ones Cobalt settled, so the two clients do not diverge on what a
    person asked to stop seeing. A failed preferences fetch is not fatal: the
    feed is shown unfiltered and the next page tries again.
  • A full-size image viewer. With a post that has a picture selected, the
    timeline, the thread and a post in the search results grow an Image button
    in the header bar, and ZR does the same on a New 3DS. The picture is drawn on
    the top screen fitted to the whole 400x240 and centred, from the aspect ratio
    the server declared, so a portrait uses the screen's height and a panorama
    its width. The description of the picture is on the bottom screen -- the one
    with room for a sentence -- and follows the alt-text setting, and a post of
    several photographs says 1 of 4 images. rather than implying it has one.
    B, ZR or Close goes back to the screen it was opened from.

Changed

  • The image cache will decode a post's picture up to 400px, the top screen's
    width, instead of 256px. The detail band still asks only for the size it
    draws, so nothing else changes; the viewer is the screen that draws one
    across the full width, and a 256px copy of that is an enlargement.
  • The GPU texture pool is bounded by bytes as well as by count, and holds
    twelve textures rather than eight. A texture is power-of-two padded, so an
    avatar costs 128x128 and a full-size photograph 512x512: eight of the latter
    would be 32MB of texture memory, which the console does not have, while eight
    avatars is half a megabyte.

Internal

  • Opening the viewer drops the picture's cache slot so the next request decodes
    it at the size the viewer draws. First-request-wins cuts both ways: a portrait
    photograph the detail band drew 60px tall would otherwise still be 60px on a
    240px screen. The screen that wanted the smaller copy is not on screen while
    the viewer is, and the button it was drawn for is not either.
  • The header bar's status text moves to the top screen's title bar while the
    Image button is up. A status is only ever a transient "Loading...", a
    "Nothing here yet" for a list with no posts, or a fetch error, and the first
    two cannot happen while a post is selected -- so the button only ever
    displaces an error, which is worth more of the top bar's room than the
    reminder of which key reloads the list.