CreatureSurvive

joined 1 year ago
MODERATOR OF
[–] CreatureSurvive@lemmy.world 3 points 3 weeks ago* (last edited 3 weeks ago)

Thanks, it’s been an insanely busy month, but definitely worth it!

[–] CreatureSurvive@lemmy.world 3 points 3 weeks ago

Thank you so much, it’s great to get feedback from a cross-platform user!

 

cross-posted from: https://lemmy.world/post/21042842

Well, this is no small update like I had planned after the previous update. This is by far the largest update to Arctic so far. I've packed well over a hundred fixes, improvements, and new features into this release. I'm happy I finally had the time to work on some larger features and bug fixes that I have been putting off for a long time.

Arctic Theme Support (beta)

Arctic Theme Previews

I've talked about this for a long time and finally had the chance to implement support for themes in Arctic. This took a lot of work, but it has definitely paid off. I've included 12 default themes to choose from, as well as an editor to design your own custom themes. Rather than attempting to make every color themeable individually, I tried my best to minimize the colors used while still allowing for robust customization. With that said, I am looking for feedback on the theme editor. Themes can be configured for either light or dark mode, so you can mix and match them to your liking, e.g., Sepia during the day and Dracula during the night.

Themes can be imported and exported using a simple JSON file (ATDF “Arctic Theme Definition File"). You can duplicate any theme and edit to your liking, and switch between them with a single tap. I am planning a service for sharing and browsing community themes in the future, but first I would like to get some feedback on theming to finalize the format.

Markdown Improvements

Markdown Improvments

I came across this post about Markdown support in Lemmy apps recently. It highlights many issues with Markdown rendering in a lot of the Lemmy clients that are available. Arctic seems to have scored fairly well with a 9.3/10.

Some of the issues that were highlighted about Arctic were:

  • Images not properly rendering in-line.
  • Headers not working inside spoilers
  • Tables not aligning columns correctly

Well, this motivated me to work on improving markdown support in Arctic. I took some time and fleshed out support for embedded content in Markdown. Images, Videos, Tables, Spoilers are all embedded now which has allowed for many improvements to the rendering system, and more advanced control over the appearance. I've also fixed several issues where markdown rendering did not obey the Common Mark specification.

Media Uploads

Arctic no longer requires permission for selecting media from the photo library. I've also enabled support for uploading videos, and improved error handling to better convey issues with uploading media. Arctic also has support for uploading directly to Catbox.moe, this can be useful if you have a video that is too large for Lemmy or just prefer not to host media on Lemmy. Optionally, you can log in to Catbox so files are uploaded directly to your account and can be deleted later (anonymous uploads can only be deleted by Catbox.moe's admin). As a side note, I developed Catbox-Swift for easily managing Catbox.moe uploads. Please feel free to use this in your projects.

Media APIs

Arctic finally supports playing videos hosted by Lemmy (Picts). This has been a long-time frustration for me, as videos hosted on Lemmy servers seem to have issues playing on all Apple platforms. Well, I finally had the time to track down the issue preventing playback and attributed it to server configuration and Apple oddly not handling this issue well. In addition to Lemmy video, Arctic can now stream videos on PeerTube and Streamable. I've improved support for streaming YouTube videos, and fixed several issues with Reddit, and Imgur media.

Performance and Energy

I've rewritten large portions of Arctic's backend with performance, reliability, and consistency in mind. On average, Arctic now uses about 75% less memory, and significantly less CPU. In rewriting these systems, I was able to make a lot of improvements to caching behavior to reduce network usage, and increase consistency in rendering content. When Arctic is idle, or backgrounded, systems will shut down, and memory will be freed to prevent any energy consumption while the app is not in active use.

v0.4.2.3 Changelog


Arctic Theme Support (Beta)

Theme support is in beta. Please submit any feedback related to improvements or issues

  • Added support for custom themes
  • Separate themes for light and dark mode
  • Automatic theme switching
  • Full theme editor, with live previews
  • Instant switching of themes (some issues with this)
  • Import and export themes
  • Copy themes to customize to your liking
  • 12 default themes to choose from:
    • Arctic Light
    • Arctic Dark
    • Arctic Black
    • GitHub Light
    • GitHub Dark
    • Dracula
    • Alucard
    • Crème
    • Solarized
    • Nebula
    • Verdandi Light
    • Verdandi Dark
Markdown

  • Added support for embedded videos
  • Added support for embedded images in Markdown tables
  • Added support for markdown image links
  • Added rounded corners to embedded media
  • Added optimizations for caching embedded content layout
  • Added support for additional Lemmy link formats /c/<community>@<instance> and /u/<user>@<instance>
  • Added invisible break shortcut to the markdown toolbar for inserting invisible thematic breaks using HTML comment <!-- -->
  • Updated block quote appearance to render full length margin lines for nested quotes
  • Updated markdown parsing with improvements to parsing speed
  • Updated spoiler parsing to improve reliability
  • Updated link detection and handling
  • Updated defaults to enable embedded content by default
  • Fixed HTML rendering using incorrect font and text colors
  • Fixed an issue where spoilers would be parsed inside code blocks
  • Fixed an issue where a Markdown table occurring immediately after a spoiler could break rendering of the spoiler
  • Fixed an issue where inline code may be incorrectly parsed
  • Fixed soft breaks in code blocks having incorrect indentation
  • Fixed block quotes incorrectly allowing soft breaks
  • Fixed an issue where links were not tappable when contained in an embedded Markdown table
  • Fixed some issues with inline images being positioned incorrectly
Link Previews

  • Added support for audio in link previews: e.g. for playing audio previews on Spotify links
  • Added a new network manager for improved control over network requests
  • Added support for fetching the apple-touch-icon from links instead of relying on Google for favicons
  • Rewrote open graph parser to improve reliability and performance
  • Fixed an issue where direct download links could result in Arctic loading large files into memory while attempting to provide a link preview
  • Fixed an issue where link previews could be unnecessarily be reloaded when they are already cached
Media Uploads

  • Uploads no longer require permission for selecting media from the photo library
  • Added support for selecting and uploading videos
  • Added support for uploading media directly to Catbox.moe
  • Added option to select the default upload destination (Lemmy, Catbox, ask each time)
  • Added option to log into Catbox.moe, so uploads will be added to your account
  • Improved logging of errors when uploading media
Media APIs

  • Added support for playing videos hosted on Lemmy. (Videos hosted by Picts have issues playing on Apple platforms due to server configuration, arctic will now detect this and preload the video for playback)
  • Added support for PeerTube videos
  • Added support for Streamable videos
  • Improved support for YouTube videos
  • Improved caching behavior to reduce network usage
Improvements

  • Major overhaul to memory and energy management in Arctic. On average, Arctic now uses 75% less memory, and significantly less CPU and energy. There are some cases where memory and CPU usage may spike, such as views with a high number of animated images. However, Arctic will attempt to listen to system warnings and unload resource intensive tasks when requested.
New Features

  • Added support for additional image formats such as AVIF, and SVG (shields.io)
  • Added an experimental feature to dim media when dark mode is enabled
  • Added support for fetching media from Reddit post and comment links
  • Added a new paging image gallery view, you can choose between paged, or grid appearance in settings
  • Added a new option related to the Post Image Size option to allow scaling images down to fit the full image in the view
  • Added a warning alert when attempting to submit a comment with no content
  • Added support for Haptic Touch on images and videos to allow saving/sharing media
  • Added an overlay for media that failed to load to allow attempting to reload the media
  • Added support for domain filters, You can now filter individual websites from post feeds
  • Added caching of media playback positions, media will now resume at its previous position
  • Added a close button to the changelog popup when launching Arctic
Changes

  • Updated font sizes throughout the app for better consistency.
  • Updated the new comments indicator to subtly add a green (+) icon in the center of the comments icon
  • Updated the indicator used for featured posts
  • Updated avatar image labels to improve performance
  • Updated rendering of inline code that wraps lines
  • Updated the Community Selector appearance
  • Updated link handling to attempt loading all links over HTTPS, Arctic does not allow unsecured network requests
  • Updated crosspost detection to be more lenient. Some clients have slightly different formatting for crossposts, and Arctic will now detect more of these formats
  • Updated open post views to more closely resemble post feed appearance
  • Updated image processing to improve performance and reliability in detecting image formats
  • Updated the video player with modern swift observers removing some legacy code
  • Updated the profile header appearance
  • Updated the progress bar on inline videos
  • Updated the playback controls in the media viewer with an iOS 18 esque appearance
  • Updated the preloading behavior in post feeds, this addresses several issues with inconsistent layout, content disappearing, content failing to load, high memory usage, etc. This has drastically improved performance and reliability within post feeds
  • Updated video thumbnail loading to improve reliability and performance
  • Updated image gallery layout and improved performance
  • Updated the project removing some unused legacy code
  • Updated changelog popup not to show on the first time launching Arctic
Fixes

  • Fixed issue where Arctic would request permission to send notifications on its first launch. Permissions will only be requested when enabling notifications in settings, or adding a Community Notification for the first time.
  • Fixed issue where widget insets would be too large on iOS 17+
  • Fixed issue where Reddit gallery links would not properly load content
  • Fixed issue where some links could incorrectly be treated as YouTube links
  • Fixed issue with some cells appearing clipped when using a notched device in landscape
  • Fixed an issue where changes to the unique notification token for devices would not be synchronized with the notification server
  • Fixed issue where media would not pause when dismissing an open post view
  • Fixed Bar Shadows setting not applying when blurred or default bar styles are enabled
  • Fixed several layout issues that could cause performance drops, and incorrect rendering in some cases
  • Fixed an issue where importing user settings would show a success alert even if the import was canceled
  • Fixed an issue where Arctic may crash when refreshing a profile view
  • Fixed an issue where media in comment cells could continue to play even when it is out of view
  • Fixed an issue where the mod reason composer would show full-screen rather than as a popover
  • Fixed an issue where image gallery's' could cause a crash due to invalid links
  • Fixed an issue where some pages would allow pull to refresh even though it was unused
  • Fixed an issue where widgets would display very low quality images
  • Fixed an issue in private messages where the bottom inset would be incorrect after sending a message
  • Fixed an issue where clearing the search query in the Community Selector could continue to show results for the first letter of the cleared query
  • Fixed an issue where the navigation bar might not reappear when swiping back from search results
  • Fixed an issue where the cancel button would appear on the right-hand side when inserting a link or image using the markdown toolbar
  • Fixed an issue where refreshing a profile, or scrolling would repeat some API requests when they already cached
  • Fixed an issue where multiple API requests to the same endpoint could occur at the same time, duplicate requests will now be batched into one to prevent unnecessary network traffic, and reduce server load
  • Fixed an issue where embedded crossposts could incorrectly show an empty image gallery view
  • Fixed an issue where avatar images would be fetched even if they are disabled in settings
  • Fixed an issue allowing images to be re-downloaded even if they were already cached
  • Fixed an issue where Imgur gifv links would not load, these links are now redirected to the direct media link
  • Fixed an issue where the random community button in the search tab could cause a crash, or load the home feed
  • Fixed an issue where opening a community you are not subscribed to while the listing type is set to Subscribed, would result in an empty feed
  • Fixed an issue where Arctic could crash when scrolling in post feeds, or after reopening Arctic from the background
  • Fixed an issue where video seeking could be inaccurate
  • Fixed a typo in appearance settings
  • Fixed an issue where saving HLS videos would silently fail. Saving HLS streams is unsupported, and an alert will be shown when attempting to save HLS content
iOS 18

  • Fixed a visual glitch when hiding the tab bar on iOS 18 due to an iOS bug
  • Restored tab bar appearance on iOS 18 to use the classic style
MacOS

  • Added support dismissing media previews using the trackpad
  • Added support for building as Optimized For Mac (So much left to fix with this)
  • Added better support for App Nap on Mac by pausing non-essential background activity
  • Added keyboard shortcut (Command + Return) for submitting comments, posts, messages, etc.
  • Fixed an issue where the login controller would be shown off screen when presented from the account quick switcher

Links


 

Well, this is no small update like I had planned after the previous update. This is by far the largest update to Arctic so far. I've packed well over a hundred fixes, improvements, and new features into this release. I'm happy I finally had the time to work on some larger features and bug fixes that I have been putting off for a long time.

Arctic Theme Support (beta)

Arctic Theme Previews

I've talked about this for a long time and finally had the chance to implement support for themes in Arctic. This took a lot of work, but it has definitely paid off. I've included 12 default themes to choose from, as well as an editor to design your own custom themes. Rather than attempting to make every color themeable individually, I tried my best to minimize the colors used while still allowing for robust customization. With that said, I am looking for feedback on the theme editor. Themes can be configured for either light or dark mode, so you can mix and match them to your liking, e.g., Sepia during the day and Dracula during the night.

Themes can be imported and exported using a simple JSON file (ATDF “Arctic Theme Definition File"). You can duplicate any theme and edit to your liking, and switch between them with a single tap. I am planning a service for sharing and browsing community themes in the future, but first I would like to get some feedback on theming to finalize the format.

Markdown Improvements

Markdown Improvments

I came across this post about Markdown support in Lemmy apps recently. It highlights many issues with Markdown rendering in a lot of the Lemmy clients that are available. Arctic seems to have scored fairly well with a 9.3/10.

Some of the issues that were highlighted about Arctic were:

  • Images not properly rendering in-line.
  • Headers not working inside spoilers
  • Tables not aligning columns correctly

Well, this motivated me to work on improving markdown support in Arctic. I took some time and fleshed out support for embedded content in Markdown. Images, Videos, Tables, Spoilers are all embedded now which has allowed for many improvements to the rendering system, and more advanced control over the appearance. I've also fixed several issues where markdown rendering did not obey the Common Mark specification.

Media Uploads

Arctic no longer requires permission for selecting media from the photo library. I've also enabled support for uploading videos, and improved error handling to better convey issues with uploading media. Arctic also has support for uploading directly to Catbox.moe, this can be useful if you have a video that is too large for Lemmy or just prefer not to host media on Lemmy. Optionally, you can log in to Catbox so files are uploaded directly to your account and can be deleted later (anonymous uploads can only be deleted by Catbox.moe's admin). As a side note, I developed Catbox-Swift for easily managing Catbox.moe uploads. Please feel free to use this in your projects.

Media APIs

Arctic finally supports playing videos hosted by Lemmy (Picts). This has been a long-time frustration for me, as videos hosted on Lemmy servers seem to have issues playing on all Apple platforms. Well, I finally had the time to track down the issue preventing playback and attributed it to server configuration and Apple oddly not handling this issue well. In addition to Lemmy video, Arctic can now stream videos on PeerTube and Streamable. I've improved support for streaming YouTube videos, and fixed several issues with Reddit, and Imgur media.

Performance and Energy

I've rewritten large portions of Arctic's backend with performance, reliability, and consistency in mind. On average, Arctic now uses about 75% less memory, and significantly less CPU. In rewriting these systems, I was able to make a lot of improvements to caching behavior to reduce network usage, and increase consistency in rendering content. When Arctic is idle, or backgrounded, systems will shut down, and memory will be freed to prevent any energy consumption while the app is not in active use.

v0.4.2.3 Changelog


Arctic Theme Support (Beta)

Theme support is in beta. Please submit any feedback related to improvements or issues

  • Added support for custom themes
  • Separate themes for light and dark mode
  • Automatic theme switching
  • Full theme editor, with live previews
  • Instant switching of themes (some issues with this)
  • Import and export themes
  • Copy themes to customize to your liking
  • 12 default themes to choose from:
    • Arctic Light
    • Arctic Dark
    • Arctic Black
    • GitHub Light
    • GitHub Dark
    • Dracula
    • Alucard
    • Crème
    • Solarized
    • Nebula
    • Verdandi Light
    • Verdandi Dark
Markdown

  • Added support for embedded videos
  • Added support for embedded images in Markdown tables
  • Added support for markdown image links
  • Added rounded corners to embedded media
  • Added optimizations for caching embedded content layout
  • Added support for additional Lemmy link formats /c/<community>@<instance> and /u/<user>@<instance>
  • Added invisible break shortcut to the markdown toolbar for inserting invisible thematic breaks using HTML comment <!-- -->
  • Updated block quote appearance to render full length margin lines for nested quotes
  • Updated markdown parsing with improvements to parsing speed
  • Updated spoiler parsing to improve reliability
  • Updated link detection and handling
  • Updated defaults to enable embedded content by default
  • Fixed HTML rendering using incorrect font and text colors
  • Fixed an issue where spoilers would be parsed inside code blocks
  • Fixed an issue where a Markdown table occurring immediately after a spoiler could break rendering of the spoiler
  • Fixed an issue where inline code may be incorrectly parsed
  • Fixed soft breaks in code blocks having incorrect indentation
  • Fixed block quotes incorrectly allowing soft breaks
  • Fixed an issue where links were not tappable when contained in an embedded Markdown table
  • Fixed some issues with inline images being positioned incorrectly
Link Previews

  • Added support for audio in link previews: e.g. for playing audio previews on Spotify links
  • Added a new network manager for improved control over network requests
  • Added support for fetching the apple-touch-icon from links instead of relying on Google for favicons
  • Rewrote open graph parser to improve reliability and performance
  • Fixed an issue where direct download links could result in Arctic loading large files into memory while attempting to provide a link preview
  • Fixed an issue where link previews could be unnecessarily be reloaded when they are already cached
Media Uploads

  • Uploads no longer require permission for selecting media from the photo library
  • Added support for selecting and uploading videos
  • Added support for uploading media directly to Catbox.moe
  • Added option to select the default upload destination (Lemmy, Catbox, ask each time)
  • Added option to log into Catbox.moe, so uploads will be added to your account
  • Improved logging of errors when uploading media
Media APIs

  • Added support for playing videos hosted on Lemmy. (Videos hosted by Picts have issues playing on Apple platforms due to server configuration, arctic will now detect this and preload the video for playback)
  • Added support for PeerTube videos
  • Added support for Streamable videos
  • Improved support for YouTube videos
  • Improved caching behavior to reduce network usage
Improvements

  • Major overhaul to memory and energy management in Arctic. On average, Arctic now uses 75% less memory, and significantly less CPU and energy. There are some cases where memory and CPU usage may spike, such as views with a high number of animated images. However, Arctic will attempt to listen to system warnings and unload resource intensive tasks when requested.
New Features

  • Added support for additional image formats such as AVIF, and SVG (shields.io)
  • Added an experimental feature to dim media when dark mode is enabled
  • Added support for fetching media from Reddit post and comment links
  • Added a new paging image gallery view, you can choose between paged, or grid appearance in settings
  • Added a new option related to the Post Image Size option to allow scaling images down to fit the full image in the view
  • Added a warning alert when attempting to submit a comment with no content
  • Added support for Haptic Touch on images and videos to allow saving/sharing media
  • Added an overlay for media that failed to load to allow attempting to reload the media
  • Added support for domain filters, You can now filter individual websites from post feeds
  • Added caching of media playback positions, media will now resume at its previous position
  • Added a close button to the changelog popup when launching Arctic
Changes

  • Updated font sizes throughout the app for better consistency.
  • Updated the new comments indicator to subtly add a green (+) icon in the center of the comments icon
  • Updated the indicator used for featured posts
  • Updated avatar image labels to improve performance
  • Updated rendering of inline code that wraps lines
  • Updated the Community Selector appearance
  • Updated link handling to attempt loading all links over HTTPS, Arctic does not allow unsecured network requests
  • Updated crosspost detection to be more lenient. Some clients have slightly different formatting for crossposts, and Arctic will now detect more of these formats
  • Updated open post views to more closely resemble post feed appearance
  • Updated image processing to improve performance and reliability in detecting image formats
  • Updated the video player with modern swift observers removing some legacy code
  • Updated the profile header appearance
  • Updated the progress bar on inline videos
  • Updated the playback controls in the media viewer with an iOS 18 esque appearance
  • Updated the preloading behavior in post feeds, this addresses several issues with inconsistent layout, content disappearing, content failing to load, high memory usage, etc. This has drastically improved performance and reliability within post feeds
  • Updated video thumbnail loading to improve reliability and performance
  • Updated image gallery layout and improved performance
  • Updated the project removing some unused legacy code
  • Updated changelog popup not to show on the first time launching Arctic
Fixes

  • Fixed issue where Arctic would request permission to send notifications on its first launch. Permissions will only be requested when enabling notifications in settings, or adding a Community Notification for the first time.
  • Fixed issue where widget insets would be too large on iOS 17+
  • Fixed issue where Reddit gallery links would not properly load content
  • Fixed issue where some links could incorrectly be treated as YouTube links
  • Fixed issue with some cells appearing clipped when using a notched device in landscape
  • Fixed an issue where changes to the unique notification token for devices would not be synchronized with the notification server
  • Fixed issue where media would not pause when dismissing an open post view
  • Fixed Bar Shadows setting not applying when blurred or default bar styles are enabled
  • Fixed several layout issues that could cause performance drops, and incorrect rendering in some cases
  • Fixed an issue where importing user settings would show a success alert even if the import was canceled
  • Fixed an issue where Arctic may crash when refreshing a profile view
  • Fixed an issue where media in comment cells could continue to play even when it is out of view
  • Fixed an issue where the mod reason composer would show full-screen rather than as a popover
  • Fixed an issue where image gallery's' could cause a crash due to invalid links
  • Fixed an issue where some pages would allow pull to refresh even though it was unused
  • Fixed an issue where widgets would display very low quality images
  • Fixed an issue in private messages where the bottom inset would be incorrect after sending a message
  • Fixed an issue where clearing the search query in the Community Selector could continue to show results for the first letter of the cleared query
  • Fixed an issue where the navigation bar might not reappear when swiping back from search results
  • Fixed an issue where the cancel button would appear on the right-hand side when inserting a link or image using the markdown toolbar
  • Fixed an issue where refreshing a profile, or scrolling would repeat some API requests when they already cached
  • Fixed an issue where multiple API requests to the same endpoint could occur at the same time, duplicate requests will now be batched into one to prevent unnecessary network traffic, and reduce server load
  • Fixed an issue where embedded crossposts could incorrectly show an empty image gallery view
  • Fixed an issue where avatar images would be fetched even if they are disabled in settings
  • Fixed an issue allowing images to be re-downloaded even if they were already cached
  • Fixed an issue where Imgur gifv links would not load, these links are now redirected to the direct media link
  • Fixed an issue where the random community button in the search tab could cause a crash, or load the home feed
  • Fixed an issue where opening a community you are not subscribed to while the listing type is set to Subscribed, would result in an empty feed
  • Fixed an issue where Arctic could crash when scrolling in post feeds, or after reopening Arctic from the background
  • Fixed an issue where video seeking could be inaccurate
  • Fixed a typo in appearance settings
  • Fixed an issue where saving HLS videos would silently fail. Saving HLS streams is unsupported, and an alert will be shown when attempting to save HLS content
iOS 18

  • Fixed a visual glitch when hiding the tab bar on iOS 18 due to an iOS bug
  • Restored tab bar appearance on iOS 18 to use the classic style
MacOS

  • Added support dismissing media previews using the trackpad
  • Added support for building as Optimized For Mac (So much left to fix with this)
  • Added better support for App Nap on Mac by pausing non-essential background activity
  • Added keyboard shortcut (Command + Return) for submitting comments, posts, messages, etc.
  • Fixed an issue where the login controller would be shown off screen when presented from the account quick switcher

Links


[–] CreatureSurvive@lemmy.world 9 points 1 month ago

Thanks for posting this! It helped me find a bug in my app where it would download that entire file into memory while attempting to fetch metadata for the link. Whoops.

 

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

[–] CreatureSurvive@lemmy.world 1 points 8 months ago

You can view instance and community modlogs with !arctic@lemmy.world

1
submitted 9 months ago* (last edited 9 months ago) by CreatureSurvive@lemmy.world to c/arctic@lemmy.world
 

Download Arctic on the AppStore!


I am thrilled to announce that Arctic is now available on the AppStore! Looking back, it's amazing to see how much progress Arctic has made in the last six months. Initially, I began working on Arctic as a personal project to fill the void after leaving Reddit during the API fiasco. I had no intention of releasing it publicly. Now, I have a fully-featured Lemmy client, a fantastic group of beta testers on TestFlight, and an official release on the AppStore.

However, the journey isn't over yet. I have many exciting plans for Arctic, and this is just a significant milestone. Going forward, I plan to release more targeted updates on TestFlight and create a public roadmap for AppStore releases.

I would like to thank everyone who was involved with Arctic's TestFlight for all the valuable feedback and suggestions that have helped shape Arctic!


Links

1
submitted 1 year ago* (last edited 1 year ago) by CreatureSurvive@lemmy.world to c/arctic@lemmy.world
 

I know updates have been comming slow the last few weeks, though I have been hard at work writing a push notification server for Arctic. You can now enable push notifications in settings on a per-account basis. Push notifications currently include Post and Comment replies, as well as Private Messages.

Whats to come: I’m currently working on adding support for more granular notification options. Such as disabling certain types of notifications like Private Messages. I am also working on setting up more notification types such as :

  • Username Mentions
  • Community Watchers
  • Mod Reports
  • User Applications

About the notification service. In order to provide push notifications, your account auth token (jwt) needs to be uploaded to the server. This is required in order to fetch content from your Lemmy account on your behalf. These tokens remain valid until you logout of Arctic, or change your password. No identifying data is collected for notifications, only a device token that Apple uses to forward the notifications to your device. When disabling notifications in Arctic, your auth and device token will be purged from the server.

Will push notifications be subscription based?

Running a notification server does cost money. While builing Arctic, I’ve always had the goal of keeping all features free for everyone in the spirit of the fediverse. With that said, I have been trying to come up with a modal that would allow me to add notifications without locking them behind a paywall.

I decided to offer basic notifications as a free service allowing everyone access to replies, messages, and mentions. Advanced notifications such as community watchers, Mod, and Admin notifications, there will be a small subscription fee.

I have not settled on pricing for for the subscription just yet. I’ll be offering these notifications for free during TestFlight beta testing.

v0.2.6 Release

Though this version is as primarily focused on push notifications, I also addressed a few other issues, and added a few features.

Arctic now has a Safari Extension, this extension allows you to open any Lemmy url from safari in Arctic. You can configure the extension to automatically open the page in Arctic, or add a banner to the top of the page so you can open the page in Arctic. The rest of the changes were primarily minor bug fixes.

v0.2.6.1 Release

This was simply a hotfix for a loading issue introduced in v0.2.6 that caused issues loading link previews, and scroll performance issues.

v0.2.6.1 Changelog

  • Reverted some crash fixes from v0.2.6 that would cause link loading to fail, and scroll performance degradation.

v0.2.6 Changelog

  • Added support for Account Notifications
  • Added "Open In Arctic" Safari extension
  • Fixed a bug that would cause a crash when parsing certain urls
  • Fixed Post Compose View "Post" button not restoring after an error occurred
  • Added a warning that shows when trying to submit a post without a title
  • Fixed comment Scroll To Selection not always scrolling to the correct position
  • Fixed comment separators not properly displaying on all comments
  • Fixed comment highlighting not showing
  • Fixed issue that could cause post titles to be cropped vertically when viewing an image post
  • Fixed media viewer status bar not behaving correctly in some cases
  • Fixed media viewer action buttons not showing when viewing a gallery
  • Added swipe actions for voting in the inbox
  • Fixed community feed action menu icons
  • Added App Icon selection settings (only 2 icons at the moment)
  • ~~Fixed some crashes that would occur randomly for some users due to tableview updates~~ (reverted in v0.2.6.1)
  • Fixed moderated communities view not displaying communities when viewing profiles other than your own
  • Fixed "Scroll To Top" tab bar action not always completing
 

Arctic v0.2.5 is now out on TestFlight. This is a small update with just a few fixes and new features.

I’ve added an option to convert YouTube links to Piped. YouTube has a lot of restrictions in accessing direct links to videos, thus embedding YouTube videos in-line is unreliable at best unless using Web views which I do not plan on doing. Piped on the other hand is very simple to work with and embedded videos is simple and achievable. This initial implementation does have issues, namely videos may fail to load due to cloudflair on Piped instances. For this reason I’ve added a load balancing option for attempting to distribute Piped requests across several Piped instances.

I’ve also added swipe gestures configuration options for choosing your own actions in post/comment swipe menus. I also included a fix for the new swipe gestures being unusable on some cells.

Link post images are finally fixed for compact post cells, sorry that took so long. I also included some inbox improvements, so now the inbox will properly update once you’ve replied to a message or comment. You can also manually refresh the inbox.

You can see the full list of changes below.

v0.2.5 changes

  • Comment usernames are in bold now for readability
  • Added option to convert YouTube links to Piped links (post feed only)
  • Added option to select which piped instance is used for inline video
  • Update the post feed title according to the listing type
  • Updated the elasticity of swipe action gestures
  • Updated settings icons
  • Added swipe gesture customization options
  • Fixed link images not loading when using compact post layout
  • Inbox now updates when replying to a comment
  • Added support for refreshing the inbox
 

Arctic v0.2.4 is is out on TestFlight. This update is primarily focused on new features. I’ve added a few highly requested features. Firstly, a new comment jump button, for jumping between top level comments (tap for next comment, long press for previous comment). I’ve finally taken the time to implement distance based swipe actions, rather than the native swipe drawer. If you prefer the old drawer style, this can still be enabled in settings. Another exciting feature in this version is support for piped.video links. These links will now properly display metadata previews, and I also added an option to play Piped videos in-line in the posts feed.

Some other notable changes in this version include:

  • Support for HLS video streams in the media player
  • Options to limit image height in posts for managing large image sizes

The remainder of the changes are rather minor, and you can see the full change-log below.

v0.2.4 changes

  • Added a jump button to the comments section
  • Added new swipe action design, this is consistent with other apps behavior where actions are triggered based on distance, rather than opening a drawer. This is optional, an the original style is available in settings.
  • Added image height options for post cells to constrain the maximum image height
  • Added support for loading Piped video metadata, and playing Piped videos inline
  • Added support for playing HLS (m3u8) streams
  • Added the account username in the comment composer to see which account you are composing from
  • Added auto-complete when typing an instance url in the Login view
  • Added support for reordering the account list
  • Added support for following communities from Lemmy Explorer
  • Added experimental support for saving comment drafts
  • Added prompt to login when opening the post/comment composer
  • Fixed some issues with theme colors not applying in certain areas
  • Fixed issue where swiping a post with an image would not work
  • Fixed login button issues in the login controller
  • Adjusted the colors of red posts to better distinguish between title an body
  • Sharing post, or comment urls now shares the url to the local instance rather than the remote url for the content
 

Arctic v0.2.2 and v0.2.3 has been released on TestFlight. I’m slacking a little and did not post about the v0.2.2 release. These are both smaller releases without many major changes. I’ve been trying to keep the updates a little smaller than usual, so I can release them faster.

v0.2.2

To summarize v0.2.2, this was mostly geared towards moderation tools. I redesigned the ModLog and added some convenience actions for moderators such as an Undo feature for mod actions. I fixed several crashes, and issues to do with the mod tools released in v0.2.1. For users I added support for sharing videos from the media viewer without needing to save them first. Fixed a crash when changing accounts that was introduced in the previous version. You can read more about this release in the changelog below.

v0.2.3

As for v0.2.3, this was a much smaller release that was mainly intended to fix a parsing issue with Lemmy Explorer. However I also added a couple cool new features. Finally some app theming support, you can now customize Arctics tint color, and comment colors. I also added a comment feed view for viewing your instance comments out of context similar to the web UI. You can also access this for individual communities, however several instances hav this temporary disabled due to performance issues. For mods, I added support for removing entire comment threads, I’ve seen this requested by several mods across lemmy. I also added the ability for admins to purge content from the database.

Upcoming changes

  • Refined theming support, a few areas were overlooked in the initial release.
  • A new comment jump button, for quickly navigating between top level comments
  • All new swipe action design that triggers actions based on distance rather than the current drawer style actions, of course if you prefer the current style, you can use that instead.
  • Comment and Post drafts so you can pick up where you left off if you dismiss the compose view.

v0.2.3 Changelog

  • Added App color themes
  • Added Comment color themes
  • Added Remove Thread mod action for removing entire comment threads
  • Added comment action to preview the comments parent
  • Added Comment list controller for viewing community comments
  • Fixed parsing issue when viewing Lemmy Explorer communities list
  • Added Admin purge (comment, user, post) actions to mod menu (note: for now, this is only enabled on communities moderated by the admin)

v0.2.2 Changelog

  • Added stats to Lemmy Explorer instance list
  • Added large number formatting eg: 1.2K vs 1200
  • Added support for sharing videos without needing to save them first
  • Added support for filtering by all in the Mod Log
  • Added Mod Log quick actions including an undo option for moderators
  • Added community Mod Log shortcut to community action menu
  • Added option to display user avatar as the profile tab icon
  • Added backend support for instance blocking on Lemmy v0.19
  • Added support for authentication on Lemmy v0.19
  • Open In Browser now opens links using your active instance, rather than the original instance
  • Rewrote Upload History controller
  • Redesigned Mod Log cells
  • Fixed profile comments being in incorrect order
  • Fixed Lemmy Explorer timestamps not displaying
  • Fixed a crash when refreshing the reports list
  • Fixed a crash when (un)resolving a post report
  • Fixed cell highlighting issue in the Mod Log
  • Fixed a potential crash when performing mod actions
  • Fixed a potential crash when changing accounts
  • Updated date formatting to support upcoming Lemmy v0.19
  • Updated post cell layout, and tweaked design for readability
  • Updated settings icons
  • Updated subscriptions title index to no longer require a long press to activate
 

Arctic v0.2.1 is now available for testing on TestFlight!

Sorry for the delay with this update, it took longer than I had originally planned. I’ve had a busy couple or weeks, and have not had as much time as usual to work on Arctic. Additionally this update was larger than past updates, with larger features and more commits than any of the previous updates. In the future I will try and keep the updates coming more frequently,

Notable new features

This update comes packed with some exciting new features. Arctic now has support for iPad layouts (split view, slide over, full screen). This is still a work in progress and will improve in future releases. Collapsible comment chains are finally supported, tap or swipe any comment to collapse it’s content and children. Mod tools have also joined the party! You can access mod actions when viewing content from any community you moderate. Just open the action menu for any post or comment for quick access to (ban user, remove content, speak as a mod, feature or lock a post). You can also review and resolve user reported content in the new Mod Zone accessible from the sidebar, and community action menu.

Mod tools and iPad support are still a work in progress and any feedback on theses features is more that welcome.

Less notable new features

Arctic now has Lemmy Explorer (lemmyverse.net) built in. This allows for browsing and searching thousands of instances and communities inside Arctic. Currently, you can access this through Lemmy Explorer in settings. However, I’m working on integrating lemmyverse databases directly in the Search tab, and in the Community browser to allow for better search results, and increase community discovery.

Media viewer action buttons are working now, not much to explain here. You can now vote, share, save, open in browser, etc directly from the media viewer.

Upcoming features

Better iPad support. I plan to add support for 3 column layout, and a context aware sidebar. I’m also working on adding support for multiple windows, so you can browse multiple accounts, or use mod tools while browsing etc. this may take some time and likely won’t be coming in the next release.

Mod tool improvements. Better UI support for moderation, currently the UI doesn’t properly update for all mod actions. Additional convenience actions for mods, such as speak as mod, and feature posts etc before submitting the post/comment.

Comments feed, view instance or community comments in a feed similar to the posts feed, this is to match the web UI.

Chat mode for comments. Disables hierarchical comments to view comments with absolute sorting. Additionally, child comments of deleted or removed comments are not shown.

Adaptive layout. Currently long usernames, or deep nested comments, etc cause some wonky UI, where elements will overlap. I’m working on adding better support in these cases to allow the UI to adapt.

Accessibility improvements. Voiceover should already be working fairly well, however there are a lot of areas for improvement. I’m working on going through the whole UI to ensure all elements are properly supported.

State synchronization. I know I’ve mentioned this before, and I haven’t gotten to this yet. I have a pretty good idea of. How I’m going to handle this, it’s going to take some time to implement though.

Customizable swipe actions. Adding support for user customizable swipe actions. This will also come with distance based triggers rather than the current drawer style swipe actions.

Until next time

As always, thanks to everyone for testing Arctic and providing feedback. We still have a fairly small community here, and I would like to increase engagement, so everyone feel free to post any feedback or suggestions here.


V0.2.1 changes

v0.2.1

  • Added support for collapsable comment chains
  • Added split-view iPad layout support (also supported on full size iPhones)
  • Added option to select app layout (iPhone, iPad)
  • Added Moderation options to post and comment action menus (must be a moderator for the community)
  • Added Mod Zone for viewing post/comment reports, and resolving them
  • Added Lemmy Explorer for browsing communities/instances
  • Added support for uploading images from the Files app
  • Added support for loading video thumbnails (WIP)
  • Added option to save, copy, or open in browser any media
  • Added swipe actions to the posts feed
  • Added option to select text from the detailed post view
  • Added support for refreshing the profile page
  • Added open in browser option to community feeds
  • Added alert for viewing detailed account score, and account age
  • Redesigned settings page, and organized options
  • Increased the posts feed page size
  • Optimized image loading, and memory usage
  • Refactored the profile view and added support for viewing save comments
  • Fixed posts with no comments not displaying a no comments message
  • Fixed issue that could cause community feeds not to load on certain instance
  • Fixed issue where canceling an image upload would result in an infinite loading screen
  • Fixed crash when deleting an image from the Upload Manager
  • Fixed search bars on iOS 16 to match the layout of iOS 15
  • Fixed layout issues after device rotation
  • Fixed media viewer action buttons not working
  • Fixed issue where posts would fail to load due to unencoded urls (matrix urls)
  • Fixed crash that could occur when submitting a new post/comment
  • Fixed sidebar banners displaying the icon rather than the banner
  • Fixed comment reports opening a post report
  • Fixed alerts displaying underneath the media viewer
  • Fixed moderator list in profiles always displaying your own moderator list rather than the selected user
  • Fixed crash that would occur when adding or changing accounts
  • Fixed delated/removed comments always displaying "deleted by creator"
[–] CreatureSurvive@lemmy.world 12 points 1 year ago

You can try my Lemmy app, Arctic. It’s a pure swift based iOS app, written with performance, and content presentation in mind. It’s packed full of features, and new ones are being added constantly.

You can read more about Arctic over at !arctic@lemmy.world

[–] CreatureSurvive@lemmy.world 2 points 1 year ago

My pleasure. I’m really excited for the next release. I have a bunch of new features, enhancements, and fixes in this release that should make the app as a whole, feel more polished.

[–] CreatureSurvive@lemmy.world 4 points 1 year ago

Ayyy, thanks for the shoutout! This is the first time seeing Arctic mentioned in the wild.

[–] CreatureSurvive@lemmy.world 2 points 1 year ago (2 children)

Thank you!

I implemented collapsible comment chains in v0.2.1 which should be out within the next day or two. I added settings as well to choose between (tap|swipe|both|disabled) for the feature. I’ve been testing it for a few days and it seems to be working great.

I’m also working on a feature to automatically collapse low score chains when opening a post, though that needs some work and likely won’t be included in this next release.

Thanks for the feedback!

[–] CreatureSurvive@lemmy.world 3 points 1 year ago

Thank you, much appreciated!

Yes, I’ll definitely add that option in. I actually broke a few things with the compact cells while working on some performance optimization yesterday, so I have some work to do on those anyway. I was also planning to add a medium cell option as well.

This will all be included in v0.2.1 which should be out within a couple of days.

Thank you for checking Arctic out, and for the suggestion.

1
submitted 1 year ago* (last edited 1 year ago) by CreatureSurvive@lemmy.world to c/arctic@lemmy.world
 

I just wanted to share that my progress on iPad support is going great. I should hopefully be releasing the v0.2.1 in the next couple of days. So far I believe I have all features working as intended on iPad, though there is a lot more to do in terms of improving the layout.

I’ve also added quite a few new features in this next version that I can’t wait to share with everyone.

iPad Layout

Preview

[–] CreatureSurvive@lemmy.world 25 points 1 year ago (6 children)

Here is a shameless plug for my own Lemmy app Arctic. It’s not left TestFlight just yet, but it hopefully will soon. It’s a pure Swift based app built with performance and content presentation in mind.

More information is available over at !arctic@lemmy.world

 

I’ve been tinkering with adding a proper iPad layout to Arctic, and I wanted to get some feedback. I am not an avid iPad user myself, so I would like to know what everyone would expect, or want out of an iPad layout in Arctic.

The obvious features would be:

  • A collapsible sidebar for subscriptions
  • Slide-Over and Split-Screen support
  • Less overwhelmingly large images

Please let me know if you have any iPad specific feature requests or suggestions, it would be very helpful in improving iPad support.

1
submitted 1 year ago* (last edited 1 year ago) by CreatureSurvive@lemmy.world to c/arctic@lemmy.world
 

v0.2.0 is out!

I believe I finally fixed the crashes some users were experiencing when refreshing posts feeds, if you still experience one of these crashes, please report it via TestFlight. Also, links in posts and comments are way easier to tap now, that was frustrating, I know. You can read about all the changes in this version below.

Upcoming features

Collapsible Comments has been implemented, and will be included in the next release. I’m working on integrating a Lemmyverse browser for exploring outside of your instance. I’m also working on proper a proper iPad layout. Browsing on iPad is a little off-putting at the moment, so hopefully I can fix that.

Issue Tracker

I completely forgot to include a link to the issue tracker in the last release, but if you would like to submit an issue, you can visit the GitHub Issue Tracker. I will add a Feature Request option soon.

v0.2.0 Changes

  • Fixed a crash that would often occur when refreshing a post-feed
  • Fixed pull to refresh not working in detailed post views
  • Fixed Community Settings not properly loading the icon URL
  • Fixed issue that could make links in post bodies difficult or impossible to tap
  • Fixed issue that could make links in comment bodies difficult or impossible to tap
  • Fixed a potential memory leak in the Posts Feed
  • Workaround for an unsupported KBin link type, will redirect to browser for now
  • Added ability to search posts from the posts feed, for searching limited to a single community
  • Added support for creating communities from the Moderates section
  • Added lock indicator for locked posts
  • Added a title to the report view to indicate the type of report
  • Added instance sidebars
  • Added support for composing, and replying to Private Messages
  • Added an instance browser to browse your instance's federation
  • Added instance legal information to instance sidebars
  • Added modlogs to the sidebar (WIP)
  • Added option to report posts from the detailed posts view
  • Tapping the active tabbar item will now scroll to the top, or pop to the previous view in all views
  • The Media Viewer will now allow zooming up to 30x
  • When submitting a post or comment, a progress indicator will now show to indicate it is working
  • When editing a post that has an image as the URL, the image will be loaded and displayed
[–] CreatureSurvive@lemmy.world 2 points 1 year ago

Oh wow, I thought this was a bug in the Lemmy api. I was implementing comments paging in my app the other day and noticed it would just infinity load pages with duplicate comments. I guess I should have tested with another instance before disabling the feature.

[–] CreatureSurvive@lemmy.world 3 points 1 year ago* (last edited 1 year ago) (2 children)

I’ll hopefully be adding another one to this list in the next week or so. I made some great progress in my swift based iOS app, currently codenamed Lemming (this is going to change before release). Of course I’m taking inspiration from Apollo as I will greatly miss using the app. I’ll be sharing some more details about this project soon.

Also, if anyone has any naming suggestions, I am open to feedback. I was thinking possibly naming it Arctic as in the native territory for lemmings.

Anywho, I’ll have a community setup soon with details about the project, and a TestFlight release.

Posted from lemming while at work.

view more: next ›