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
- Website: getarctic.app
- TestFlight: testflight.apple.com
- AppStore: apps.apple.com
- Issues: github.com
- Community: [email protected]
The new icon looks awesome! Thanks for all your work. I really enjoy using Arctic.
It’s looking great!
Congrats! An issue I see is tapping on an inbox reply doesn’t mark it as read. Neither does the mark all as read button. Going in Voyager to read the message does remove the unread status in Arctic.
It’s intentional to not mark as read when tapping an unread comment. I often don’t have the time t9 respond right away and prefer to keep them unread until I do respond. I could definitely add a setting to enable this behavior though. As for the mark all issue. I’ll have to look into this, I believe I am not using the mark all Lemmy api for this and rather marking individual posts. I do this to allow more granular control over what is marked as read. I wanted to be able to only mark mentions as read if viewing the mentions section, etc. the mark all button in the root of the inbox tab would mark everything as read though.
Either way, it sounds like it is not working correctly, so I will look into this in the next update.
A mark on message tapped option would be useful.
Wow, I must not have used Arctic in a while, but some work was definitely put into this, so thank you. It is much more polished than I remember. I love the
- jump button
- smooth UI
- text editor options
- ability to subscribe to communities
- many icon options
- open links in reader mode
- ability to cross post
- the navigation and search for communities at the top
- viewing options for compact posts
- moderator options
- holding jump button to go up a comment
Some requests I would love to see and would make it hands-down my favorite Lemmy app:
- sepia colour scheme (like pale yellow for background and dark brown text and antique white text boxes; it’s much easier on the eye balls)
- favoriting of communities
- color options for upvote/downvote
- color options for comment cascades
- swipe to collapse entire comment cascade
- option to toggle between “hold jump button for previous comment” and “hold jump button to return to top”
- default Home/Instance/All option
- on feed, three button menu, “Hide Read Posts / Unhide Read Posts”
Seriously, thank you for the time and effort. Things like this make alternatives to commercialism possible, which hopefully puts the emphasis back on sharing and interacting with people (and not just about getting clicks and money).
Thank you so much! I have definitely put a lot of work into Arctic in the last few months, I’m glad it shows and you’re enjoying it!
sepia colour scheme (like pale yellow for background and dark brown text and antique white text boxes; it’s much easier on the eye balls)
For this I am planning to add full theming support. Themes like Sepia, Dracula, Mint, Lemmy-UI etc I am planning to have presets for, but I’m also planning to add a theme editor so users can design and share their own themes. I unfortunately did not implement support for this earlier, so it will take some time to add full theme support as I now have hundreds of views to update.
favoriting of communities
I added support for favoriting communities in yesterdays update. If you have any feedback about the implementation, please let me know!
color options for upvote/downvote
This will be added in with the theming options
color options for comment cascades
There are settings to select different comment themes in Appearance Settings, but I’ll also be adding settings to add custom comment themes.
option to toggle between “hold jump button for previous comment” and “hold jump button to return to top”
I actually played with a similar feature yesterday where a double tap would jump to the top, but it added a delay to the single tap jump and made it feel laggy. I may take this suggestion and add a setting to toggle the behavior.
default Home/Instance/All option
There is actually a setting for this, however it behaves as Remember last selection I’ll add a setting to toggle between remember last, and always use default.
on feed, three button menu, “Hide Read Posts / Unhide Read Posts”
I’m planning to add this in, however it’s going to take a bit more work than one may think. Arctic does some aggressive caching for rendering feeds in order to improve performance. I need to update the caching system to support hiding content without corrupting the cache, otherwise the feed would need to be reloaded every time the toggle is switched.
Once again, thank you! I really appreciate the detailed feedback and I’m very glad you’re enjoying Arctic. I apologize for the late response, I’ve been very busy the last few weeks.
I also forgot to call out the Mod Zone. That is pretty nice, so I dont need to switch back to mobile browser every time to check for reports.
The only feedback I might suggest on the favoriting is that maybe instead of both favorite and unsubscribe in the same direction, make favorite swipe right and unsubscribe left to avoid accidentally unsubscribing.
Im especially excited for the sepia theme and additional comment cascade options. I think they really change the whole way my brain organizes the content.
Make sure to take breaks and don’t burn yourself out. Projects can be exhilarating but I’ve seen so many people push to meet all the demands and then exhaust themselves.
Regarding iOS watchers and notifications, they don’t open the specific post/comment inside the app for me when I tap them from the iOS Notification Center since a few versions.
Also, would it be possible to add the watchers to the in-app Notification Center (Inbox)?
Anyways, congrats on the new AppStore milestone release!
I did just notice that watcher notifications do not update the tab when launching the app from a notification. So if you are in the inbox section for example, and then open a notification, it will load the post in the posts tab, but not switch to that tab. Is this the issue you are having, or is it not loading the post at all?
As for showing watchers in the inbox tab, this is something I would like to do. Currently I do not keep any logs for watchers on the notification server, so it’s not something that could be queried from the server. Currently the only logging I do for watchers is tracking the total number of hits a watcher finds. I would prefer not to store more information than necessary. However I may be able to do this next n the users device when a notification in received by logging the post id.
I did attempt doing this by using the device Notification Center, but it’s a little counter intuitive since the notification is cleared as soon as the user taps it.
I will look into it and see what I can come up with. If nothing else, I could always log the post id on my server so that you can load the full history of a watcher in-app. The only real downside with any of these approaches is that Lemmy does not currently support queries for multiple posts, so I order to show a list of hits, it could mean hundreds of api calls which I’d prefer to avoid.
I have a back-log for some of your suggestions such as a favorite communities, so I may not get to this right away.
Anyways, congrats on the new AppStore milestone release!
Thanks! I haven’t had the chance to write a post about this yet. Hopefully later today!
Is this the issue you are having, or is it not loading the post at all?
It’s not loading the posts at all when Arctic is already open in the background and a community/post view is already opened, but I think they do open when the app is closed.
I am 99% sure that it’s not in a different tab, but I need to reconfirm this as I honestly haven’t thought about it opening in another tab.
I’ll try to make a screen recording next time I get a notification (I got one for your reply, but I forgot about this).
I Just got a watcher notification, and it didn’t open.
Arctic was open in the background, with the home feed opened in the posts tab. I checked all tabs, and it was not open on any tab.
Does this log help?
[2024-03-15 07:20:19 +0000] [info] [arctic] didReceiveNotification: <UNNotificationResponse: 0x300625800; actionIdentifier: com.apple.UNNotificationDefaultActionIdentifier, notification: <UNNotification: 0x30067fcf0; source: com.creaturecoding.arctic date: 2024-03-15 00:00:03 +0000, request: <UNNotificationRequest: 0x30067fdb0; identifier: Optional(B22D8A94-625B-4CF0-854E-F70096E5B408):13131211, content: <UNNotificationContent: 0x10160a360; title: <redacted>, subtitle: <redacted>, body: <redacted>, summaryArgument: (null), summaryArgumentCount: 0, categoryIdentifier: , launchImageName: , threadIdentifier: , attachments: ( ), badge: (null), sound: <UNNotificationSound: 0x302235030>, realert: 0, interruptionLevel: 1, relevanceScore: 0.00, filterCriteria: (null), screenCaptureProhibited: 0, speechLanguage: (null), trigger: <UNPushNotificationTrigger: 0x300b2c3a0; contentAvailable: NO, mutableContent: YES>>, intents: ( )>>
I pushed an update that will hopefully give me some more information about this issue. I improved the logging, so it will actually log what is needed when opening a notification. I also updated the handling a bit which may or may not resolve your issue. If nothing else, the logs should now show me what is going wrong.
Unfortunately this log does not help. The intention of this log message was for debugging issues like, however it looks like the system automatically redacts any useful information from it. I’ll update it to manually log the useful bits.
With that said there should be 1 or 2 log messages immediately after that message that mention
handleUrl()
that may be useful in determining if the post url was found, and if it is correctly formatted. I looked at this for quite a while and could not find what may be causing this issue to only happen for watcher notifications and not other notifications. I’m still looking though.
Can we have the “Migrate Subreddits” feature from Voyager?
Thanks man for this awesome app. I’ve just got some feature request:
Favorite communities: Will there be a possibility to have a list of your favorite communities before the list of all subscribed communities starts?Current TestFlight version offers this already.- Theme implementation / individualisation: are you planning to let the user choose between more Color schemes or even to individualise them completely? Some grey texts are hard to read while in light mode.
You did an amazing job and it feels like the most fluent app on iOS.
It’s my pleasure, I’m glad you’re enjoying enjoying it!
Favorite communities: Will there be a possibility to have a list of your favorite communities before the list of all subscribed communities starts?
Yes, this was finally added in yesterday’s update. If you have any feedback about the implementation, please let me know.
Theme implementation / individualisation: are you planning to let the user choose between more Color schemes or even to individualise them completely? Some grey texts are hard to read while in light mode.
This is something that I have been planning to add for a while now. I’ve unfortunately been far too busy working on other features to start working on this yet. I do intend on adding support for themes instead of just tint color options. I’m also planning to add a theme editor, so users can create and share their own themes. This is going to take some time though. I didn’t plan for this early enough, and so I’ll have hundreds of views to update with support for these features.
I have a couple of high priority features/fixes that I need to address first, but I should be able to start on this soon.
Thank you for all your work and support!
I’ve got another idea for a feature: Multi-Communities.
Right now there are like 3 - 5 active gaming communities among Lemmy. I can’t browse the category “gaming” because I have to scroll through 4 different communities.
It would be a cool feature to create a user specific multi community which would be next to the favourites. By opening this multi-community you could then just scroll through all those communities.
I’m unsure if this can be done by a client or should be implemented on the server side.
Oh and another minor feature: Can you implement opening the link of youtube links in the app directly? Or at least let me toggle it? I would love to open links in YouTube app.
Thanks!
Is this a bug?
The crossposts indicator of this post shows the previous changelog posts as crossposts:
This is not a bug. In Lemmy, crossposts are determined by the post URL. Any post using the same URL will be considered a crosspost. I’m not sure how, or if this is handled for text based posts. Personally I think these should be called ”related posts” and actual crossposts should be explicitly set as such.
I think it’s a Lemmy issue as opposed to an Arctic issue. The Thunder App shows the same thing for this post.
Good to know, thanks for the info!