Arctic

0 readers
0 users here now

Arctic is a Lemmy client for iOS built on pure Swift. It currently supports iOS 15+ and Lemmy v0.17+

Get the latest version on TestFlight

If you would like to support Arctic’s development, feel free to Buy Me A Coffee

founded 1 year ago
MODERATORS
1
1
submitted 10 months ago* (last edited 10 months 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
2
 
 

I just learned about Arctic, but it’s a really nice iOS client for Lemmy! Thanks!
One thing I immediately missed is to vote a post or a comment by tapping on the small arrows indicating the amount of up- and downvotes. Would love to see this feature.

3
 
 

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
4
 
 

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
5
 
 

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
6
 
 

The markdown formatting in this post isn’t showing correctly: https://fry.gs/post/58416

7
 
 

There is no error or anything when you try to make a post without logging in, it simply sit there w the spinning wheel until you hit cancel. It should prompt to login before user is allowed to compose a post.

And

When logging in, visually, it appears that the instance field defaults to lemmy.world, however the field is treated as blank

And and

Had to navigate away from login page after the above issue left the page in a faulted state and wouldn’t let me press “login” again after filling out the instance field.

8
 
 

This is such an important feature to me, as a person who really likes to engage in back and forth comment conversations, timely responses are immensely helpful, and only feasible with notifications.

I’m aware there are on going costs, personally I’m happy to pay a couple of bucks a month for push notifications alone. More if other features are also included.

9
 
 

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"
10
 
 

So far, Voiceover support is great! Thank you for that. I will report anything I find.

11
1
submitted 1 year ago* (last edited 11 months 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

12
 
 

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.

13
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
14
 
 

Arctic v0.1.9 is now available for testing.

Unfortunately, I was not able to implement Private Messages the way that I had hoped due to API limitations. In the next update I’ll at least add support for composing/replying to private messages. However until the API is updated, Arctic will display messages the same way Lemmy-UI handles it, as one big feed.

Arctic will now handle expired login sessions properly, and prompt you to re-authenticate if needed. This is due to the fact that Auth-tokens can be revoked for various reasons by instance admins, and Arctic used to just display server response errors in this case, rather than stating the session had expired.

Arctic also now supports reporting content, open the menu for any post/comment and tap report.

I’ve also added experimental post keyword filtering. So far this seems to be working well, and it does support basic regex expressions. Currently filtering is disabled in the search section as it has not way to query the server with filtering options. So it would require multiple paging requests in some cases to show any results. Hopefully I can find a way around this in the future.

You can read the full change-log below, and don’t hesitate to reply or create a post here with any feedback, issues, or suggestions.

v0.1.9 Changes

  • Added community settings editor, for community moderators to update the sidebar of their communities
  • Added keyword filtering, filter posts by keyword in either the title or body of the post
  • Added option to report Posts/Comments
  • Added an option that prompts the user to log in if their login session has expired. Admins can revoke all API tokens for various reasons, and this results in errors on the client side. Arctick now handles this scenario, and asks the user to re-authenticate.
  • Added proper error message for when the login session has expired, rather than just a server status code
  • Added option to select text from posts/comments to copy rather than just copying the whole contents
  • Imgur videos should now correctly play inline
  • Animated images now pause when offscreen like videos do
  • Posts now resize when loading images without animating, this may be reverted. Let me know if scrolling feels better or worse
15
1
Arctic release notes (testflight.apple.com)
submitted 1 year ago* (last edited 1 year ago) by CreatureSurvive@lemmy.world to c/arctic@lemmy.world
 
 

I haven’t been posting here about Arctic updates, and I realize that is a little counter productive towards building an active community here. So I would like to change that and start posting about changes in each release, and about active development.

I have been trying to wrap up a release every couple of days, and keep them coming as frequently as I can manage. Each update I try and throw in a mix of bug fixes and new features or quality of life improvements. I believe at this point I have all the crashes fixed except one, which I’ve received a good number of crash reports about. The crash usually happens after refreshing the posts feed when letting the app sit in the background for a while. Unfortunately I’ve not been able to reproduce this crash which makes it difficult to resolve. However I do know where the issue originates, and I hope to have it resolved in the next update.

What’s next?

In the next update I’m planning a few new features. First and foremost, is private messages. Currently, you can view private messages with Arctic, but there is no way to reply or create messages. I’ve been putting it off because I don’t have a clear idea of how I’d like to design this. I’ve never been a fan of the Messages app-like design within an app like Arctic, so I’m thinking of implementing it more like a forum than a chat app. Im also planning to add in UI support for post and comment reporting, as this is a critical feature that should already be implemented if I’m being honest. I’ll hopefully have instance sidebars added in the next update as well.

Going forward

Within the next couple of releases I’d like to tackle some of the biggest issues within Arctic currently. First is state synchronization. Currently the app state is poorly managed: for instance you can open a post and vote or comment on it, and back-out to the feed and the UI will not depict the changes. This is rather cumbersome task as UIKit does not have proper binding like SwiftUI does. But I have a good idea of how I will manage this.

The second issue will be improvements to scrolling performance in posts feeds. This is also a tricky task as UIKit does not handle changes to cell height in tables very well. Currently, Arctic tries its best to prefetch images before they are displayed to prevent having to resize visible cells, but dependent on network conditions, this may not always happen in time and it can cause some jumpy scrolling. I may never completely negate this issue without the the lemmy API providing image dimension data in the responses. However, I have some options for improving this that I have yet to try.

Lastly, I’d like to address issues with links being un-tappable in some posts. This one is really annoying, and honestly I’m just going to throw out the current system and rewrite the system using official techniques.

Some more thoughts

Once stability and core features are a bit more polished, I’ll be focusing on design. Currently Arctic is quite static in design, but I’d like to offer a bit more user control over appearance. Things like app-wide color themes, comment color themes, customizable action/swipe menus, etc. while implementing all of this, the settings section will also get an overhaul and be a little more organized.

I’ll also be working on implementing mod/admin tools. This is likely going to take some time, as there is a lot to implement, and familiarize myself with. I’ll keep everyone up to date on my progress with this when the time comes. I may also seek out some mod/admin users to test these features in a private testing group to avoid issues


Anywho, I didn’t intend on this being such a blanketed post, so I will leave it at that. I’ve included change-logs below as I’m not sure if anyone reads release notes in TestFlight releases. I’ll be sure to make a new release post here every time I release an update going forward.

Thank you, to all of the users. You’ve all been great. Our numbers are still quite low at the moment, only 153 testers at the time of writing this. Hopefully I can bump those up with the coming releases.

v0.1.8


  • Fixed videos failing to load in the media viewer if more than one video is in the list
  • Fixed crash when trying to share a video from the media viewer (for now, only the link will be shared. I will add an option to share the video file soon)
  • Fixed videos not posing when swiping to the next page in the media viewer
  • Fixed the search bar not always showing on the initial load of the Search tab
  • Fixed issue where some community icons would fail to load
  • Fixed issue where some animated images would not animate in the full post-view
  • Fixed issue where link previews would fail to display a default icon if a site favicon is not found
  • Fixed markdown not being applied when opening the post editor
  • Added loading indicator in the media viewer when loading videos
  • Added support for cross-posting (option is available in the action menus)
  • Added a community selector to the post composer, for changing what community you are posting to
  • Added support for scrolling to the top when pressing the posts tab while it's already active
  • Added option to open the post composer when long pressing the posts tab
  • Added reply context preview to the Reply Composer, for viewing the context in which you are replying to

v0.1.7 hotfix


  • Fixed crash when pressing the cancel button in the Search view
  • Fixed placeholder text not hiding in the post editor when editing an existing post

v0.1.6


  • Redesigned Post Editor UI
  • Fixed issue that could cause the login screen not to recognize when username/password was pasted
  • Fixed crash that could occur while trying to scroll the subscriptions view before it's loaded
  • Fixed issue causing some comments to be truncated (cut short)
  • Fixed layout issue causing odd behavior with the statusbar on non-notched devices
  • Fixed an issue that could cause some animated images in the post feed not to animate
  • Added a Upload History manager for deleting previous media uploads
  • Improved error messages to be more descriptive
  • UI now depicts when an upload is in progress
  • Media in comments can now be opened in the Meia Viewer
  • Index scroller in the Subscriptions view is now easier to grab
  • Increased tappable area for user/community labels in post-cells
  • Tapping the stats section of a post cell now opens the post
  • Improved success rate for losing YouTube videos
  • Improved image-loading behavior in the post feed
  • Hopefully, TOTP tokens will now be auto-filled when using a password manager to login

v0.1.5


  • Added compact post option (work in progress)
  • Added a network monitor that will show when no network connection is available
  • Added inbox paging, inboxes will now load more content when scrolling
  • Added placeholder icon for users avatars in search view
  • Updated Search and Profile styling to match that of the post feed (spacer between cells)
  • Improved performance when scrolling posts in search and profile views
  • UI now shows when you've reached the end of a feed, or the feed is empty when browsing posts

v0.1.4


  • Fixed account switcher positioning issue that occurred after switching accounts
  • Added Guest Mode to the account switcher

v0.1.3


  • Added option to disable video scrubbing gesture
  • Added upload history tracking to manage media uploads (No UI Yet)
  • Fixed a crash that could occur while parsing username links
  • Added image upload support to the markdown editor
  • Provided default icons for communities without an icon
  • Added BOT badge to post cells for showing bot accounts
  • Community cells in the search tab now show more statistics
  • Added option to override the interface style (light/dark)
  • Added some experimental swiftUI views
16
1
submitted 1 year ago* (last edited 1 year ago) by CreatureSurvive@lemmy.world to c/arctic@lemmy.world
 
 

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

17
 
 

I just wanted to post a little update on Arctic’ development. I’m a little bit behind on my original release target. I moved to a new house last week, and have been busy with the logistics of that. I also encountered some performance issues with Arctic that took some time to resolve.

Arctic is finally reaching my original MVP (minimum viable product) goals and should be able to push the project to TestFlight this week. I have a couple of usability features I’d like to polish up/add before releasing. To name a few:

  • Improve Markdown editor for comments and posts (currently writing this from Arctic, and the editor is lacking polish)
  • Improve performance around media playback for video types (mov, mp4, hsl, etc)
  • Implement better error handling to notify the user if something does not succeed
  • Add support for spoilers

As of right now Arctic has a a fairly full feature set for the initial release. To name a few off the top of my head:

  • Subscription Feed
  • Post Feed
  • Post View
  • Inbox (Comments, Replies, Mentions, Messages)
  • Search (Posts, Comments, Communities, Users)
  • Submitting/Editing Comments
  • Submitting/Editing Posts
  • View Community Sidebars
  • (Un)Subscribe, (Un)Block, (Un)Hide Communities and Users
  • Options for making posts as read
  • Supports dynamic type for respecting system font size settings NSFW blurring/filtering
  • Basic support for handling lemmy URLs in app (WIP)

There is quite a bit more to mention, and I will try and compile a complete feature/issue list before releasing.

In the interest of submitting this post before my going back to work (I’m currently on my lunch break) I will wrap this up here. Feel free to reach out if you have any questions/suggestions. I will also try and upload more screenshots of Arctic before releasing.

Also, Arctic is still in need of a proper icon. I whipped one up in Sketch, and it’s rather pitiful.

18
 
 

Arctic

Arctic is a Lemmy client for iOS built in pure Swift. It currently supports iOS 15+ and Lemmy v0.17+

This app is still in very early development stages, and public alpha releases have not been opened yet. The first public TestFlight build will be available in the coming weeks

Arctic aims to be a fully featured Lemmy client focusing on content presentation, native UI, and intuitive controls. With Lemmy being a link aggregator, Arctic features rich link previews, and inline media placing the content right in your feed, rather than at the end of a link.

Features

  • A powerful media viewer supporting static images, gif, webp, video, and audio support coming soon
  • Matches Lemmy web search 1:1, meaning you can search users, comments, communities, and even federate with new communities using the full community address eg: !meta@lemmy.ml or https://lemmy.ml/c/meta
  • Lemmy links are also parsed and presented in app rather than opening in the browser, if the link is not federated with your instance, you have the option to federate it. This is a work in progress, but when opening a link to community that is not federated with your instance, you can also import the post history to your instance so you can view the full community, not just what’s been posted since federating.
  • Arctic also supports multiple accounts that can easily be switched between at any time.
  • Community browser, for browsing all communities federated with your instance
  • Profile viewer for viewing any users profile and traversing their content
  • Inbox for managing replies, mentions, and private messages
  • Report tools for notifying mods of content, or users
  • For a complete list of features, check back later, or feel free to reach out and ask me.

Arctic is in need of an icon, and I am not an artist. Any designers interested in helping feel free to contact me.