522 Commits

Author SHA1 Message Date
60b182ac18 Sync timeline position using iCloud 2022-12-23 16:37:42 -05:00
f815d4e2e4 Replace VisualEffectImageButton with ProfileHeaderButton 2022-12-22 18:47:53 -05:00
9f86158bb7 Add About screen 2022-12-22 13:59:39 -05:00
231b0ea830 Add Acknowledgements page 2022-12-21 11:59:40 -05:00
4dc108f782 Add pinned timeline customization 2022-12-20 23:37:12 -05:00
1f37a5e7eb Bump build number and update changelog 2022-12-14 22:04:48 -05:00
d4b9f71fd3 Remove old, unused code 2022-12-14 20:54:41 -05:00
cacc8a51cc Remove unused code 2022-12-14 10:15:15 -05:00
89ca0629b3 Move bundle ID prefix to xcconfig 2022-12-14 10:04:25 -05:00
f55a870964 Move development team setting to xcconfig
Closes #308
2022-12-13 23:58:44 -05:00
5ee140cdab Bump build number and update changelog 2022-12-13 21:26:28 -05:00
ba2c34fdd6 Persist timeline state using CoreData, rather than NSUserActivity
This allows persisting state for all the primary timelines, and across
all accounts.

Closes #297
Closes #293
2022-12-13 13:31:34 -05:00
8caf93bf0a Add ScrollingSegmentedControl, and home/notifs/profiles to use it 2022-12-12 20:57:38 -05:00
9c4b68b09e Reorganize gestures 2022-12-12 20:56:14 -05:00
b49e8d0279 Move Pachyderm to Packages folder 2022-12-11 14:25:25 -05:00
13d649bace Bump build number and update changelog 2022-12-05 22:24:10 -05:00
044d34d20f Bump build number and update changelog 2022-12-04 15:40:00 -05:00
e49725e06d Bump build number and update changelog 2022-12-04 14:57:22 -05:00
54857a3bf3 Avoid converting HTML to attributed string twice when displaying a status cell for the first time
Now, when Filterer performs the conversion, the status cell can reuse
the attributed string.
2022-12-04 12:08:22 -05:00
81abcfcf7b Timeline filtering! 2022-12-03 22:16:43 -05:00
7e5d8675c2 Extract HTML to attributed string converter to separate helper 2022-12-03 18:58:19 -05:00
f71804f094 Extract filter create/update/delete logic into separate services 2022-12-03 14:40:12 -05:00
16a1e4008b V2 filters API, CoreData, and editing UI 2022-12-03 12:29:11 -05:00
518a8eba0a Start doing filters UI 2022-12-02 22:03:28 -05:00
4ca57f8c76 Better case-insensitive sorting for lists 2022-12-01 18:26:48 -05:00
c9fa11cc3b Fetch filters and store in CoreData 2022-11-30 22:16:33 -05:00
f1a39c2faa Add follow/unfollow hashtag actions 2022-11-29 23:14:36 -05:00
ab8e498cee Refactor menu actions to allow presenting from menu bar items 2022-11-29 23:14:36 -05:00
97d5b955a0 Store followed hashtags
The followed hashtags may not load until after the timeline request
completes, and we want to be able to show the hashtag indicator (or at
least make a best effort attempt) immediately.
2022-11-29 23:14:36 -05:00
811aac35d7 Fix timeline statuses not getting deselected when entering split nav
Closes #275
2022-11-29 10:29:40 -05:00
3e5a3c81b5 Add cache size info to Advanced prefs 2022-11-28 14:05:35 -05:00
d8f503351b Limit edit list accounts search to accounts the user follows 2022-11-27 21:44:17 -05:00
d5887f1f02 Add post edited notifications
Closes #238
2022-11-27 11:50:14 -05:00
e04cdd16d6 Add preferences for status cell swipe actions
Closes #249
2022-11-26 20:26:26 -05:00
f23d3dfa3f Bump build number and update changelog 2022-11-24 12:24:38 -05:00
76fc73de95 Bump build number and update changelog 2022-11-23 12:25:27 -05:00
272f35417b Rewrite account list VC using UICollectionView 2022-11-22 15:38:40 -05:00
848c3dd950 Rewrite status action account list to use UICollectionView 2022-11-22 15:29:17 -05:00
001a73af3c Workaround for profile header changing size when statuses are loaded in the background
Closes #250
2022-11-20 13:57:51 -05:00
ce534c4a05 Actual gap cell implementation 2022-11-19 11:15:14 -05:00
8276e99d27 Timeline gaps and gap filling 2022-11-18 17:29:55 -05:00
dd82283341 Bump build number and update changelog 2022-11-13 18:40:40 -05:00
f848bbf7c4 Remove unneeded ComposeContainerView 2022-11-12 22:59:11 -05:00
6d2830cf78 Rewrite Compose toolbar with SwiftUI
Fixes buttons not being accessible with VoiceOver
Fixes content overflowing on small devices

Closes #232
Closes #218
2022-11-12 22:59:11 -05:00
eb7fe22863 Add mute action to profiles
Closes #201
2022-11-11 23:35:30 -05:00
60bf3b2e33 Fix potential crash when deleting list 2022-11-11 18:16:44 -05:00
b465838b71 Fix renaming list not updating UI
Closes #213
2022-11-11 18:08:44 -05:00
21bd716844 Fix crash when creating list fails
Closes #212
2022-11-11 17:54:25 -05:00
523fb91b21 Add scope to search following accounts when editing list
Also fixes crash when loading or editing list

Closes #216
Closes #221
2022-11-11 17:33:48 -05:00
6d692c2730 Rewrite Drafts screen with SwiftUI 2022-11-09 18:18:31 -05:00
01124b76a3 Add Duckable package, make Compose screen duckable 2022-11-08 22:17:01 -05:00
7600954f4b Refactor ComposeView to use a single List for everything 2022-11-07 22:58:01 -05:00
68c3affacf Bump build number and update changelog 2022-11-05 18:31:22 -04:00
ca2ceaea56 Remove now-unused confirm load more table view cell 2022-11-04 22:32:34 -04:00
11233f7d25 Dyanmic type support in profile header view 2022-11-04 21:39:47 -04:00
b38c24b347 Bump build number and update changelog 2022-11-02 23:48:53 -04:00
a6d51cee3c More fiddling with the sentry script 2022-11-02 23:47:14 -04:00
5de0c034f4 Remove old TimelineTableViewController 2022-11-01 21:11:13 -04:00
658c08010d Re-add undo scroll-to-top to timelines/profiles 2022-11-01 20:49:07 -04:00
bca7bd3586 Tweak sentry upload script and fix using dist build config in debug 2022-10-31 12:25:54 -04:00
9978e392a2 Bump build number and update changelog 2022-10-31 12:25:37 -04:00
91450ced7c Use Sentry for crash reporting 2022-10-30 17:10:58 -04:00
c907b7257a Bump build number and update changelog 2022-10-29 18:27:12 -04:00
2344275ff9 Enable blurhash in debug
Capping the size at 32x32 means this is fast enough even in un-optimized builds
2022-10-29 14:19:43 -04:00
67718d8fe4 Fix wrong logs getting sent with crash reports 2022-10-29 14:19:43 -04:00
71a2029752 Switch everything to new profile view controller 2022-10-28 21:38:56 -04:00
2469d285bc Initial implementation of profile switching with collection views 2022-10-28 19:17:33 -04:00
5f410213e2 Start converting profile statuses to collection view 2022-10-28 19:17:33 -04:00
ffb0ceba20 Remove old XCB code 2022-10-11 10:10:55 -04:00
22022f5ef6 Bump build number and update changelog 2022-10-10 19:04:26 -04:00
212ce69ffd Log when status unexpectedly doesn't have URL 2022-10-10 14:21:12 -04:00
7470b053c6 Bump build number and update changelog 2022-10-09 22:02:17 -04:00
b43f0d5bd9 Bump build number and update changelog 2022-10-09 20:53:45 -04:00
bce0f8ef18 Bump build number and update changelog 2022-10-09 14:46:48 -04:00
133921848d Extract favoriting/reblogging to separate services
Allows displaying error popups and retrying
2022-10-08 13:19:32 -04:00
46db70d58b Fix building in release mode
When handleEvent dispatches to the other methods, it crashes the compiler
during an optimization pass. Seems to be related to:
https://github.com/apple/swift/issues/61350
2022-10-08 11:45:02 -04:00
21958eb77f Merge branch 'develop' into collection-timelines 2022-10-08 11:01:19 -04:00
9b83566482 Fix TuskerTests not compiling 2022-10-08 10:55:55 -04:00
4d654358d7 Extract a bunch of common stuff to StatusCollectionViewCell protocol 2022-10-05 23:19:30 -04:00
780e8b09b7 Status cell UI 2022-10-05 21:39:58 -04:00
7085ac01cb Timeline status collection view cell collapsing 2022-10-04 00:02:41 -04:00
81671d73c7 Start converting timeline status to UICollectionViewCell 2022-10-04 00:01:16 -04:00
a38c89a17f Re-add public timeline descriptions 2022-10-01 15:32:06 -04:00
a682c8f5cc Extract a bunch of timeline view controller stuff to separate protocol 2022-09-24 11:39:12 -04:00
426b31d46c Initial TimelineLikeController + TimelineViewController implementation 2022-09-24 10:49:06 -04:00
5c09b1910f Cleanup/reorganize some things 2022-09-19 22:52:52 -04:00
fe72d8faec Remove x-callback-url support
Closes #1
2022-09-19 22:44:27 -04:00
85ced7ff5f Bump build number and update changelog 2022-09-19 15:05:10 -04:00
123a512d3c Bump build number and update changelog 2022-09-18 22:14:54 -04:00
e9962997a6 Show preview of status in reblog confirmation alert
Closes #121
2022-09-17 20:27:36 -04:00
f2ab1778c5 Replace expanded emoji picker with SwiftUI 2022-09-15 21:49:50 -04:00
bbfb3b0a7a Add loading indicator to DiffableTimelineLikeTableViewController 2022-09-12 22:05:19 -04:00
24591cee05 Improve account switching animation 2022-08-01 21:29:24 -04:00
5e7a1e5974 Bump build number and update changelog 2022-07-09 12:05:17 -04:00
5b70c713b2 Two column navigation on iPad 2022-07-06 17:47:40 -04:00
5cb25c8c1f Move trending hashtags/links to Explore tab on iPad 2022-06-30 19:53:40 -07:00
700cc2c67c temp env var 2022-06-30 19:24:49 -07:00
a9e0bffe5f Bump deployment target to iOS 15 2022-06-30 19:04:08 -07:00
b842389449 Convert trending hashtags to collection view 2022-06-30 18:15:13 -07:00
0960699699 Fix building for iOS 14 2022-06-28 17:29:46 -07:00
f5385b0a1d Use context menu for filter/sort on profile directory 2022-06-28 17:29:46 -07:00
6ef8c92d09 Update to recommended Xcode settings 2022-06-10 23:44:52 -04:00
08b7cf013b Use browser-style navigation bars on iPad 2022-06-10 23:44:52 -04:00
dbdf1d39bd Bump build number and update changelog 2022-05-17 10:31:56 -04:00
0f6e9c97cc Bump build number and update changelog 2022-05-15 17:40:01 -04:00
d3187ce2c4 Move saved instances and hashtags to CoreData 2022-05-10 22:58:30 -04:00
c069712c22 Don't include Open in Tusker on Catalyst 2022-05-01 21:50:16 -04:00
8cc08cf4c0 Fix crash when displaying polls on Catalyst in Optimize for Mac
Closes #152
2022-05-01 21:50:11 -04:00
a22059a1a1 Show current user avatar in sidebar 2022-04-30 13:05:20 -04:00
2f7c7bae5e Extract status posting to separate class, convert to async/await 2022-04-30 11:11:22 -04:00
eb9a5aeb42 Perform grouping with existing notifications when refreshing
Closes #88
2022-04-26 22:57:46 -04:00
8c888906c9 Bump build number and update changelog 2022-04-25 16:30:52 -04:00
dc818524b2 Bump build number and update changelog 2022-04-06 22:05:13 -04:00
0a7709526f Bump build number and update changelog 2022-04-02 20:24:02 -04:00
9ec821f6b3 Nix the xcworkspace, convert Pachyderm to a Swift package
Closes #138
2022-04-02 19:28:10 -04:00
5c4474dc87 Only show Trending Posts/Links on new enough Mastodon versions 2022-04-02 13:18:14 -04:00
8473f32781 Add Trending Links 2022-04-02 12:03:11 -04:00
240ccf23a4 Add Trending Posts 2022-04-02 12:03:11 -04:00
7da139be4d Redact request paths in error reporter 2022-03-29 22:37:39 -04:00
2444783edf Add error reporter to Client.Error toast on long-press 2022-03-29 22:37:26 -04:00
80c79ded3b Bump build number and update changelog, fix building weburl 2022-02-16 22:11:24 -05:00
54c01be7ff Use WebURL for more lenient parsing of external URLs
Fixes #136
2022-02-03 23:11:29 -05:00
41a31c23b7 Allow posting local-only from Glitch instances
See #130
2022-01-24 22:49:51 -05:00
072e68e97b Add nodeinfo request and InstanceFeatures 2022-01-23 23:26:49 -05:00
e12a82b476 Show local only posts on hometown instances
#130
2022-01-23 10:58:36 -05:00
2198e2bf3e Allow development against local instances with self-signed certificates 2022-01-23 10:56:36 -05:00
6138fc7748 Add select more photos option to asset picker 2022-01-23 10:55:07 -05:00
2b22180191 Remove TimelineLikeTableViewController
Everything now uses DiffableTimelineLike
2021-11-25 12:29:35 -05:00
d1083116e0 Use a single disptach queue for attachment/card thumbnails 2021-11-24 15:02:35 -05:00
eccb1043db Bump build number and update changelog 2021-11-13 22:40:26 -05:00
9f8b14d180 Replace Gifu with CGImageAnimation
Closes #44
2021-11-11 13:26:11 -05:00
30ef9cc6d0 Extract compose image into separate view 2021-11-10 16:57:27 -05:00
5a26739b78 Remove old compilation condition 2021-11-07 14:35:14 -05:00
aced0a63c9
Bump build number and update changelog 2021-08-15 22:43:32 -04:00
7f4bf52050 Add toast system 2021-08-15 10:37:20 -04:00
71b6f1bdf0 Alphabetize things in Xcode 2021-08-14 18:27:22 -04:00
b781b56efd
Add public timeline descriptions 2021-08-08 10:09:28 -04:00
10a8a85bfc
Enable object lifetime optimization 2021-08-07 11:06:07 -04:00
6d8a014cc7 Bump build number and update changelog 2021-06-27 19:02:51 -04:00
f8b79ef34f Fix app extension build number 2021-06-27 10:37:03 -04:00
9b30b48016 Bump build number and update changelog 2021-06-26 18:28:38 -04:00
5f9fe505d5 Add pref to disable infinite scrolling on timelines
Closes #125
2021-06-25 23:28:43 -04:00
49572c1fec Add DiffableTimelineLikeTableViewController 2021-06-20 22:27:29 -04:00
27e05cc72d Enable focus loop debugging in debug 2021-06-12 22:17:59 -04:00
4ca48a5f50 Add iOS 15 compilation condition 2021-06-12 22:17:41 -04:00
2fe19a5abe
Add fast account switching indicator to tab bar item 2021-06-06 18:30:46 -04:00
806591f5b7
Remove old framework from Xcode project 2021-05-24 19:30:20 -04:00
18ce21c2c6
Add Open in Tusker action extension 2021-05-24 19:30:11 -04:00
47fb0ea868
Update PLCrashReporter 2021-05-22 13:45:18 -04:00
ffe6450b26
Xcode recommendations, use AnyObject instead of class in protocol requirements 2021-05-22 13:44:58 -04:00
e7e141bd1e
Bump build number and update changelog 2021-05-09 21:58:28 -04:00
9ab95dfc43
Bump build number and update changelog 2021-05-06 22:28:34 -04:00
005001b081
Add authoring polls
Closes #48
2021-05-03 23:12:59 -04:00
698b045f86
Add poll finished notifications 2021-04-28 21:47:38 -04:00
1c36dfcc5f
Add displaying and voting on polls in statuses 2021-04-28 19:00:17 -04:00
1e7bfac13c Bump build number and update changelog 2021-02-15 10:56:36 -05:00
bbb8707cb7 Add Profile Directory 2021-02-07 19:39:22 -05:00
9d5c004ec4 Add Trending Hashtags screen 2021-02-06 14:54:35 -05:00
73aceda97f Convert Explore screen to use list-style collection view 2021-02-06 13:48:31 -05:00
669d55500a Remove unused pre-iOS 14 code 2021-02-06 13:47:45 -05:00
f44d127110 Bump deployment target to iOS 14.1 2021-02-05 23:46:31 -05:00
bcc023a127 Show threads on Conversation screen 2021-01-31 17:42:29 -05:00
4ed862120c Add trending hashtags to add saved hashtag controller 2021-01-28 23:20:25 -05:00
f9411d706b Bump build number and update changelog 2021-01-20 20:55:50 -05:00
2761c05a01 Remove Cache library 2021-01-20 18:31:14 -05:00
2e88b266d9 Prefetch on a background queue to avoid blocking main queue with
CoreData lookups
2021-01-18 14:29:32 -05:00
0b008489f7 Add CachingDiskStorage 2021-01-18 14:17:20 -05:00
c12d2db258 Cache UIImage objects to avoid re-decoding images unnecessarily 2021-01-17 11:28:50 -05:00
3fdeb51353 Bump build number and update changelog 2020-12-31 11:13:47 -05:00
30297c2390 Add multi-window drag and drop to all the things 2020-12-14 18:44:48 -05:00
522c9b2b03 Add multi-window support and auxiliary windows 2020-12-13 22:37:37 -05:00
dfad8740eb
Extract common functionality into TimelineLikeTableViewController 2020-11-15 15:48:49 -05:00
2b5ab90cd8
Add key commands for prev/next sub tab 2020-11-14 22:26:02 -05:00
9e15a84006
Add refresh key command 2020-11-14 11:22:47 -05:00
75d26e613b
Add account switching animation 2020-11-11 15:28:17 -05:00
366378f267
Scroll attachment description views to ensure caret is always visible 2020-11-11 12:44:39 -05:00
fc888b168c
Add fast account switching on iPhone 2020-11-09 19:39:42 -05:00
348c306858
Add tapping CW to expand/collapse status
Expand status collapse button tap area to cover stack view spacing
2020-11-03 15:58:08 -05:00
4ac76ab672
Add opposite collapse keywords preference 2020-11-03 15:39:02 -05:00
eb4e6e32f7
Add Grayscale Images preference 2020-11-01 13:59:58 -05:00
89b35fab6d
Move pruning of offscreen rows to when the VC disappears, instead of
during scrolling

Prevents race when removing and adding cells in the willDisplay table
view delegate method.
2020-10-26 22:55:58 -04:00
39b244384b
Show link cards on statuses 2020-10-25 16:05:28 -04:00
5d9f4b8ea8
Bump build number and update changelog 2020-10-24 16:00:11 -04:00
e763d48bf3
Bump build number and update changelog 2020-10-22 23:18:15 -04:00
1c871a12a1
Bump build number and update changelog 2020-10-21 18:08:20 -04:00
5125cc3397
Show custom emojis in display names in follow/favorite/reblog
notifications
2020-10-18 12:22:12 -04:00
9b949af390
Add complete emoji list to Compose emoji autocomplete 2020-10-18 11:17:58 -04:00
3ff9fdabdb
Use MultiThreadedDictionary for ImageCache request groups
Prevents a crash due a race condition if multiple requets complete
simultaneously and attempt to modify the dictionary
2020-10-18 11:03:56 -04:00
ae272582ac
Autocomplete custom emojis in CW field 2020-10-12 19:17:57 -04:00
1a4517c43a
Cache account relationships in CoreData 2020-10-12 18:20:57 -04:00
2cfc0cf28a
Add Compose screen mention, hashtag, emoji completion
Closes #10
2020-10-11 22:14:45 -04:00
9b85090884
Add debug environment variable to disable image caching 2020-09-21 18:03:51 -04:00
0d972d987c
Remove old Compose screen cold 2020-09-20 10:46:51 -04:00
14e8c11f02
Bump build number and update changelog 2020-09-16 19:19:40 -04:00
4719342a06
Bump build number and update changelog 2020-09-15 22:22:20 -04:00
6df5f7fb08
Add preferences for auto-expanding CW'd posts and disabling long post
collapsing

See #105
2020-09-15 21:37:08 -04:00
1c6e464a4c
Start Compose screen tests 2020-09-13 13:19:56 -04:00
acd01a81cc
More UI tests for onboarding/my profile 2020-09-12 22:16:58 -04:00
5e9cc430c6
Use cross fade transitions for displaying gallery and asset picker if
Reduce Motion/Prefer Cross Fade is enabled

Closes #108
2020-09-12 13:25:59 -04:00
9534f19262
Show BlurHash previews of attachments 2020-09-12 12:01:08 -04:00