It’s been several months since I released any updates for Arctic except for a single hot-fix released to address an issue with API changes. I’ve had a busy summer and have not had much time or energy to put towards development. In the last few weeks, I’ve finally gotten back into working on updates, and I couldn’t be more excited. I’m currently recovering from back surgery, so I have some time off work for the next month at least. I plan to use this time to push out some updates for Arctic, and get back on a consistent release schedule.

The goal for this update was to have it ready before the last TestFlight build expired. Unfortunately, even though I managed to submit the update before the deadline, the review process took longer than usual, and the previous build expired before the update was released.

I’ve been working on this update for a couple of weeks now in my free time, and I had originally planned for it to just focus on some minor bug fixes. Well, I got a bit carried away and added a bunch of new features while I was at it. The feature I am most excited about in this update is support for embedding views in Markdown. Arctic can now load embedded images rather than appending them to the end of comments or posts. I’ve also added embedded Markdown tables, so I can add proper rendering for tables which were extremely basic in previous versions. Both of these features are still in an experimental phase and disabled by default in this release. If you’d like to try them out you can enable them in the Experimental section in settings.

Something else I’m super excited about is that Arctic is coming to MacOS soon. I’ve spent a lot of time during this update cycle working on refining the user experience on Mac. I’ve gotten nearly all the Mac specific bugs worked out, and now I’m working on refining the UI to better suit the desktop experience. With this, I am also working on the iPad layout and improving the UI on larger displays. I’m hoping that over the next month I can release a Mac build on TestFlight.

v0.4.2.0 Changelog

New Features


  • Added support for embedded markdown views:
    • Embedded images (experimental)
    • Embedded tables (experimental)
    • Embedded spoilers (stable)
  • Added support for disabling markdown features (post feeds will now display using limited features)
  • Added support for paragraphs in Markdown lists (note: this will not yet be rendered correctly in the markdown editor)
  • Added Alternate Sources for links, Haptic touch on any link to open the link using an alternate source
  • Added option for showing profile images in comment sections
  • Added support for clearing push notifications when marking them as read in Arctic
  • Added option to hide labels on the tab bar
  • Added option to adjust the thumbnail size in compact layouts
  • Added new filters to the profile tab, view liked or disliked posts and comments, as well as hidden posts
  • Added a new trending communities section to the search tab (trends are based on Lemmy suggestions, and currently they are mostly just new communities)
  • Added support for selecting multiple communities at once in the Multi-Community editor
  • Added descriptions to the Multi-Community editor to explain its usage
  • Added community icons to the Multi-Community editor
  • Added support for filtering by NSFW in Lemmy Explorer
  • Added support for tapping the search tab while it is open to focus the search bar
  • Added a settings section for migrating Subreddit subscriptions from Reddit. (Thanks to Voyager for this idea)
  • Added option to choose the default listing type in profile views
  • Added pinned section to the left side of the markdown editor toolbar for undo and redo actions
  • Added support for selection images for upload using Finder on Mac
  • Added support for swipe actions using a trackpad
  • Added option to disable swipe actions
  • Added option to use full screen navigation gestures (not compatible with swipe actions)
  • Added change log popup after updating Arctic

Bug Fixes


  • Fixed a missing close button in the community notification editor
  • Fixed issue preventing a custom guest instance from being set
  • Fixed issue causing Top sorting modes to show twice in sorting menus
  • Fixed account and community settings editors not resizing text views while typing
  • Fixed issue where media previews would be loaded from post bodies even if the post is not a media post
  • Fixed issue allowing comment tags (“ME”, “OP”, “BOT”, etc) to render incorrectly
  • Fixed an issue where the activation threshold for swipe actions was too high resulting in false swipes while scrolling
  • Fixed issue where images would fail to upload when using limited access mode for photos. (you will now be presented with an option to grant access to photos before selecting them for upload when using limited access mode. Note: For the best experience, it is recommended that you enable full access)
  • Fixed issue where links would not open in private messages and profile bios
  • Fixed authorization error when trying to delete images
  • Fixed issue where cells in the Reports section would render markdown incorrectly
  • Fixed issue that could cause crash alerts to show more than once
  • Fixed an issue making it difficult to grab cells for reordering accounts
  • Fixed highlighted cells in the subscriptions view on iPad and Mac
  • Fixed issue causing the tab bar to permanently disappear in some cases while Hide Bars On Scroll was enabled
  • Fixed positioning of labels in media previews on Mac
  • Fixed media gallery views not resizing properly on wide displays
  • Fixed issue where categories for the search tab may not show on some devices
  • Fixed layout issue with the profile header view

Arctic Push Notifications


  • Rewrote networking to improve performance and error handling
  • Improved logic to help prevent overlooking notifications, or sending duplicates
  • Updated with the latest API support
  • During these updates, you may have missed, or received duplicate notifications

Links

  • some_guy@lemmy.sdf.org
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

    It may interest you to know that this post got me to download the app. Been hanging with Memmy after their team dropped it. The features and changes persuaded me that this might be a good fit. Best of health wishes.

    • CreatureSurvive@lemmy.worldOPM
      link
      fedilink
      arrow-up
      3
      ·
      3 months ago

      That’s great to hear, and I hope you’re enjoying Arctic so far. I actually started out using Memmy as well, it was one of the first apps available with a good set of features. I hadn’t realized that support had ended for the project though, That’s a shame.

    • Gollum@feddit.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      3 months ago

      And you are able to watch videos in the feed!! I wish videos would get more attention on Lemmy in general, I am really into posting videos but they usually do not get a lot of attention.

      • CreatureSurvive@lemmy.worldOPM
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        3 months ago

        This has always been a goal for Arctic. Most direct links to videos will play in the feed without issue. There is also a setting in the Media options to embed YouTube videos, this is not very reliable and will fail on a lot of videos. There is another option to convert YouTube videos to Piped, this tends to work better, but can also fail. YouTube specifically is a struggle do to how much effort they put into preventing 3rd party access to content.

        Now for videos posted directly to lemmy, they are re-encoded as vp9 and packaged in a mp4. Now this is a big issue for Apple devices. vp9 is the same encoding used for webm, and for whatever reason, apple does not offer any decoders for this format except in Safari, or if you’re YouTube. I’ve looked into integrating VLCKit to play these videos, I may end up adding this as an option, but it’ll be bad for battery life. It would be nice if we could get videos in a different format. Even if we could get an HLS stream in the same format, apple devices have no problem playing vp9 if its in a HLS stream.

        • Gollum@feddit.org
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          3 months ago

          It would be super cool if you pull add a 3rd party upload option for videos. Currently I am always open pixelfed, upload the video, copy the link and paste it to Lemmy. This is a bit lengthy :D

          An easier solution directly added into the app, with maybe an pixelfed, or PeerTune instance of the users choice would be nice.

          Also Pixelfed does not support Apple codec as far as I understand.

          • CreatureSurvive@lemmy.worldOPM
            link
            fedilink
            arrow-up
            1
            ·
            3 months ago

            This is a great idea! I rewrote most of the image upload handling today and I added support for uploading to catbox.moe as an alternative to Lemmy.

            I’ve been planning to implement the PeerTube API to support viewing PeerTube videos in the feed, I might take it a bit further and add support for uploading there as an alternative.

            PixelFed a little fragile at the moment. I looked through their API and it seems to be completely undocumented. I think I understand how to add support for uploads there, but I’m not sure how frequently they may push breaking changes to the API. I’ll have to look into this further. On the other hand, Arctic does support playing videos on PixelFed, they are hosted as H.264 .mp4 which is fine.

            Anyway, thanks for the suggestion, I’ll be adding more hosting providers soon.

            Also, I just noticed that I disallowed selecting videos for upload in Arctic, since playback is not supported for videos hosted by Lemmy. I’ll enable selecting videos, though I suggest using Catbox or another service to host them on for now.

            • Gollum@feddit.org
              link
              fedilink
              arrow-up
              1
              ·
              3 months ago

              The future is bright 😁 I also think that an easy click and upload procedure for PeerTube would be cool, but I guess you have to add PeerTube account handling in some way…

              Could catbox.moe also be used as an alternative uploader for images? I used to have problems on one instance long time ago, and it could be beneficial to have an fallback host.

              • CreatureSurvive@lemmy.worldOPM
                link
                fedilink
                arrow-up
                1
                ·
                3 months ago

                Yeah, I’ll be adding some new settings to log into different upload services. I added an option for catbox.moe today (you can still use it without logging in, but you won’t be able to deleted the image latter). I also added an option for choosing your upload destination. So you can choose where your media is uploaded. This includes an option to ask each time so that if you want, you can choose the destination every time you upload something.

                PeerTube shouldn’t be hard to manage, they have a well documented API, so it should be simple to add support for this.

                Also, yes you can use catbox.moe for uploading images as well as videos.

                  • CreatureSurvive@lemmy.worldOPM
                    link
                    fedilink
                    arrow-up
                    2
                    ·
                    3 months ago

                    I actually just managed to fix video playback for videos hosted on Lemmy. Turns out it was not due to the video codec, but rather the server not responding correctly, so video players on Apple devices never realize the video finished downloading. Really dumb issue, but I have it fixed now.

                    Also I added support for PeerTube playback (no uploads yet). It works well, however it’s a little difficult to determine what links are PeerTube links, so it does not catch all PeerTube videos. Right now I have a large list of PeerTube instances that I check against, but that is a little impractical. I’m looking into better ways to handle this.