CreatureSurvive

joined 1 year ago
MODERATOR OF
[–] [email protected] 0 points 2 weeks ago

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

[–] [email protected] 0 points 2 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


[–] [email protected] 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

[–] [email protected] 0 points 8 months ago (1 children)

You can view instance and community modlogs with [email protected]

 

It’s been a very busy couple of weeks for me since the AppStore release. I have not had much time to keep up with new beta posts, so this post aims to cover all the changes in v0.4.0.x updates.


As I am sure most of you have noticed, Arctic finally has a new default icon. I’m super excited about this. The original icon was only ever meant to be a placeholder, and it ended up sticking around far longer than I had intended. With the new icon, I’ve set up a full set of branding resources that I will be open-sourcing later this week to enable community icon contests in the future.

Widgets are here! I’ve added the first set of widgets finally. This set is fully configurable so you can set up feeds based on specific accounts, communities, instances, sorting, etc. I have a lot more widgets planned, and I will try and roll out a new set every couple of updates.

Crosspost rendering has been improved. Crossposts will now embed the original post and display it inline, this helps with following the original thread and it looks a lot better than a long blockquote. I’ve also added a crosspost indicator to post views, so even from the original post, you can browse all the crossposts for the original link.

Link peeking has been enabled. You can now long-press any link and peek at its content just like in Safari. With this addition, I’ve also added some convenience options for opening YouTube links in Piped or opening them in the YouTube app.

Full-screen scrolling has been added. You can enable Hide Bars On Scroll and the top and bottom bars will be hidden while scrolling to enable full-screen viewing.

The markdown editor has several new improvements. Inserting links and images has gotten smarter, when inserting, the selected text will automatically be added as the link title or URL if applicable. Lists will now automatically continue when pressing return while composing a list. Special markdown characters will now render in a muted color while editing. I’ve also added actions for changing indentation (tabs).

There are too many changes to write about each one individually, but as always you can find the full change-logs below. If you encounter any issues in the latest release, please let me know. I am hoping to submit a new update to the AppStore this weekend.

Thank you, to everyone for all the feedback and suggestions. It’s been a huge help in improving Arctic!

Changelogs

v0.4.0.3


  • Added 2 new icons Mystic Globe and Outline
  • Added context actions for youtube links to open in Piped, or open in the YouTube app
  • Added option to preview posts when long-pressing a post cell
  • Fixed an issue that could cause a crash when long-pressing a link preview
  • Fixed a crash that could occur when pressing return while composing a comment or post
  • Fixed an issue where forward navigation could show an incorrect font size
  • Fixed an issue that could cause a zooming transition when using forward navigation
  • Organized sketch projects for open-source release of branding

v0.4.0.2


  • Added a new default icon for Arctic
  • Added support for OpticID on iOS 17+
  • Added a new changelog controller
  • Added option to embed crossposts in post views
  • Added crosspost indicator, and browser to open post views
  • Added support for peeking URLs in markdown by long-pressing links
  • Added options to upload images from the Account and Community settings page
  • Added option to set the matrix user ID in account settings
  • Added swipe actions to profile view cells
  • Added long-press actions to profile view cells
  • Added toolbar actions for indentation in the markdown editor
  • Added support for automatic list continuation when pressing return in the markdown editor
  • Fixed crash when editing blocked communities
  • Fixed some warnings during the initial layout of post-feeds
  • Fixed an issue that could prevent post cells from updating when needed
  • Fixed a UI glitch that could happen when swiping cells in some views
  • Fixed comment swipe actions not displaying "Unvote" option for voted comments
  • Fixed indentation for root comment cells being larger than needed
  • Fixed video controls not working in link previews
  • Updated the Lights-Out icon
  • Updated special character detection in the markdown editor
  • Updated post-composer layout to improve keyboard handling
  • Updated rendering of app icons in the settings menu
  • Improved handling of videos in the media viewer

v0.4.0.1


  • Added the first set of Widgets, This widget set allows configuring your own post feed
  • Added support for removing drafts from the draft history
  • Added option to disable comment listing modes, this is enabled by default.
  • Added scaled and controversial sort types to the default post sorting options
  • Added option to insert image from a URL in the markdown editor
  • Improved markdown editor to handle link and image insertion better. highlighted text will now pre-populate the link entry
  • Fixed jumpy behavior when selecting context text in comment replies
  • Fixed crash on first launch when opening an external url
  • Fixed voting in post feeds with vote buttons disabled, this will now update the cell appearance
  • Removed post feed action for opening Experimental SwiftUI view

v0.4.0


  • Added option to set the vote display style (separate, combined, none)
  • Added option to disable voting buttons in post cells
  • Added option to hide top and bottom bars while scrolling
  • Added the Mod Zone to the inbox view
    • The unread badge will now include any unread reports and applications
  • Updated the markdown editor to render special markdown characters as muted
  • Updated the community selector to default to listing all communities when in guest mode
  • Fixed a crash that could occur when changing accounts
  • Fixed an issue with markdown badges where they could be wrapped over multiple lines
  • Fixed Lemmy user and community links not working after v0.3.0

Links

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

I’m not sure about Avelon specifically, but I am the developer of Arctic and since I’ve seen several posts about this issue in several clients with no developer responses, I thought I would chime in.

Most clients (mine included) rely heavily on opengraph metadata for generating link previews, and presenting in-line content. This includes information like titles, descriptions, direct image/video links, etc. RedGifs serves opengraph data on all of their webpages and this is how (i’d assume) most clients retrieve the video link for displaying the media in-app.

Well recently (in the last few weeks) RedGifs made some changes. They still serve all the same metadata, however the video link they provide will not load unless accessed via their API. Well this is kind of silly, why provide the link if it cannot be used. Anyway, due to these changes, I decided to apply for a client key for their API. They do have some restrictions as to what type of clients can use their API, but Lemmy apps on apple/google storefronts should fit their guidelines. However it has been several weeks since I applied for the API key, and I have received no response. I’m not sure if other clients have had similar issues or not, but I though I’d share my own experience with attempting to resolve this in my client.

[–] [email protected] 0 points 8 months ago

My app Arctic falls into the free, closed source, privacy respecting category. I see what your going for as far as a direction for the community, but it is limiting for apps such as mine. Just because software is free, and doesn’t track its users does not necessarily mean it needs to be open source. Closed source software also does not equate to being nefarious or tracking users.

I’m a big fan of FOSS, and am working towards open sourcing components of Arctic, but I haven’t decided whether I want to fully open source the project.

What I’d prefer to see is requirements for post formatting. So all submissions need to include information about the client

  • pricing (free) (paid) (freemium) (IAP)
  • source (closed-source) (open-source)
  • tracking (ads) (crashlitics) (anonymous) (etc)
  • platforms (web) (windows) (linux) (iOS) (android) (cross)

I’m a fan of this community because it is the only one I’ve found that is targeted specifically at providing information about lemmy clients, and with the proposed changes, I see that information becoming more fragmented. I’d rather see changes along the lines of what I suggested, or similar, and then maybe a new community could be born (FOSSLemmyApps) which could be advertised in a stickied post here, and included in the sidebar.

Ultimately, it is up to you as the moderator, but I do hope you’ll consider feedback from the existing subscribers. Perhaps an open discussion, or a poll would be good for getting feedback about the proposed changes.

[–] [email protected] 0 points 9 months ago

I like the idea. I feel that it would need a bit more to be used as branding for Arctic. The three dots on their own are not all that recognizable. I think they need a bit more to offer context as to what they represent, and to fill the blank space between. I am definitely a fan of the simplicity, and abstract idea though.

I may play around with that and see what I can come 7p with.

[–] [email protected] 0 points 9 months ago (1 children)

This would be quite simple to add. The issue I have with it is that most of the app is heavily text based, and it would be difficult to add font sizing support for individual locations.

What I have thought about was font settings for different font styles. All of the fonts in Arctic follow The iOS design guidelines, so it would be fairly easy to add options to customize the size of the 8 different font sizes used in arctic.

In the mean time, as that may take some time to implement, I might add an option for increase headline size for enlarging just headline text.

[–] [email protected] 0 points 9 months ago

Yeah, that’s where the idea came from was I noticed while testing that the data was merged instead of replaced. For settings such as name and bio, etc, it is replaced, but lists like subscriptions, are merged.

[–] [email protected] 0 points 9 months ago (2 children)

Yes, this is a feature that was added to Lemmy recently in v0.19. Basically it allows you to export all your subscriptions, blocked communities, blocked instances, saved posts, saved comments, and account settings such as display name, bio, avatar, etc. It was added to offer support for migrating your account from one instance to another.

I just added support for this feature a couple of days ago, before that I had an option to import/export just your subscriptions, which I replaced with this.

In the next release I will add support for importing selected fields. So basically you’ll be able to export your settings from one instance, and when importing on another, you can select what you want to import, for instance if you only want to import subscriptions, and blocks, you can disable the rest of the fields.

[–] [email protected] 0 points 9 months ago (3 children)

That’s fare, I’m currently working on an update to add more customization options to the post feed cells, and improve the layout of compact styles. If you have any suggestions I’m happy hear them.

That’s a good point, I just really hadn’t received the feedback I needed to improve the mod tools ui until now. Thanks for the suggestions!

[–] [email protected] 0 points 9 months ago (5 children)

No problem at all. This is exactly the kind of feedback in need. I have a few moderators in the TestFlight that have given really helpful feedback, but I only moderator the Arctic community which doesn’t require much interaction. I definitely like the idea of moving the mod-zone to the inbox tab as that is a way more appropriate spot for it, and I will have it update the inbox unread badge as well.

If you want to join the TestFlight I could probably have these suggestions added in the next day or two.

 

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

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 9 months ago* (last edited 9 months ago) by [email protected] to c/[email protected]
 

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

0
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

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

After a few delays, Arctic is has finally been submitted to TestFlight and got the green light. For those of you who don’t know what Arctic is, it’s a Lemmy client for iOS 15+ built in pure Swift.

Arctic began as just a little side project for me. As an avid Apollo user I was missing a feature rich and familiar client for IOS. So I started working on Arctic. My primary goal with the project has been creating a native UI appearance, and content presentation, focusing on putting the important content directly in the feed without feeling cluttered. I’m finally at a point where I feel Arctic is stable enough, and houses enough features to go forward with beta testing.

I’m currently testing out Reimplementing the UI in SwiftUI as it allows for quicker iteration, and less boilerplate code. Though I’m not sure about performance yet. SwiftUI seems to be lacking in certain areas such as prefetching APIs for heavy feeds etc. you can find an experimental post feed in settings that uses SwiftUI.

As of right now, I have not set up an issue tracker for Arctic. The reason for this is that I don’t know for sure if I will be Open Sourcing the project yet. I’d like to keep the issues/project in the same repository, and I’m unable to have a private repo with public issues. I’ll be deciding what route I would like to take over the next week or so.

While on the subject of open source, I’d like to mention that Arctic does not collect any information from users devices. The only user specific information that is stored is the Lemmy account JWT Auth token for communication with the Lemmy api. Absolutely no personal information is collected, or leaves your device. Currently I have no plans to implement any analytics in Arctic, and if I ever do, it will be on an opt-in basis, and be completely anonymous only tracking information relevant to Arctic support.


Development

I feel the need to point out that I work a full time job, and am often busy outside of working. With that said Arctic development may be a bit slow compared to some of the other projects out there. I do however plan to release at leas one update every week for now. I will try to push out more frequently as my time permits, even if that means smaller hot-fix type releases. I do plan to support Arctic long term, as I’m already quite invested in the project and have really enjoyed working on it.

Anyways, please don’t hesitate to reach out and ask questions, or offer feedback/suggestions . I’m quite busy most days, but I will do my best to respond as soon as possible.

Almost forgot the most important part, here is the link to Arctic TestFlight


Current Features

  • Submitting / Editing Posts
  • Submitting / Editing Comments
  • Voting on Posts / Comments
  • Blocking Communities / Users / Instances
  • Subscribing to Communities
  • Search (URLs, communities, comments, posts, users)
  • Rich link previews
  • Uploading images
  • Rich Markdown Editor
  • Community browser
  • Basic guest (anonymous) mode
  • Multiple accounts, and quick switcher
  • Integrated Media Viewer
  • Upload manager manage previous media uploads)
  • In-line YouTube videos (experimental, this seems to have broken with recent changes to the YouTube api)

Known Issues:

  • Some in-line links do not recognize taps, I’m looking into overhauling the Markdown rendering and may be switching to swift UI for this, as it is better suited for that task instead of UIKit
  • State Sync, The UI does not update in all cases to reflect changes such as voting on a post, and then viewing it in the post feed
  • Some media fails to load and is unhandled by the UI
  • Scrolling performance needs improvement
  • Long usernames/community names can overlap action buttons
  • Fast scrolling can result in user/community icons showing in the wrong cell
  • Videos do not display in image gallery previews
  • YouTube videos fail to load at times
  • No spoiler support at the moment
  • No in-line images Yet
  • Private Messages are not currently supported, they will be coming soon

Previews

Preview 1

Preview 2

Preview 3

view more: next ›