452 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
dd8a196630
Show custom emoji in display names on Compose screen 2020-09-07 15:22:06 -04:00
4c82b1a341
Rewrite Compose screen in SwiftUI 2020-08-31 19:28:50 -04:00
77ac8cbe40
Bump deployment target to iOS 13.4 2020-08-30 19:28:11 -04:00
e026c9a6c6
Bump build number and update changelog 2020-08-17 19:06:56 -04:00
273b74ddfb
Bump build number and update changelog 2020-08-15 22:10:44 -04:00
1c708732f2 Exclude iOS 14-specific code from compilation on Xcode 11 to allow building for TestFlight 2020-07-06 00:00:51 -04:00
2825345c7e Add switching between Posts, Posts and Replies, and Media pages of user profiles
Closes #103
2020-07-05 16:17:56 -04:00
f3d01c47c3 Merge branch 'develop-xcode-12' into ios-14 2020-07-04 11:21:00 -04:00
2916d7a72d Add tapping the active tab bar item to scroll to top
Closes #106
2020-07-03 19:36:52 -04:00
4e4701ead5 Use SwiftSoup from SPM instead of Git submodule 2020-07-03 19:09:58 -04:00
47dc00ab8f Fix sometimes broken masking of text view link preview animations 2020-07-03 18:52:23 -04:00
f86d3a0ed1 Fix sometimes broken masking of text view link preview animations 2020-07-01 00:01:36 -04:00
78da04162f Fix missing file from project.pbxproj 2020-06-29 21:47:11 -04:00
6cf6db6a8d Add sidebar on iPadOS 14 2020-06-24 16:40:45 -04:00
01d765fa45 Enable Catalyst 2020-06-23 19:32:04 -04:00
04aad1252a Use SwiftSoup from SPM instead of Git submodule 2020-06-23 19:31:32 -04:00
0e5aab75df
Bump build number 2020-06-21 19:32:47 -04:00
083add273b
Prevent audio from other apps pausing when showing gifv attachments
Fixes #101
2020-06-21 16:01:29 -04:00
6adcad63b3
Add crash report helper 2020-06-20 23:11:35 -04:00
1f40cc9928
Show controls/description for gifv attachments
See #98
2020-06-17 23:33:48 -04:00
f2a8b91769
Provide metadata to UIActivityViewController
Closes #56
2020-05-14 22:43:56 -04:00
ce464dfb9f
Add mute/unmute conversation status activities
Closes #70
2020-05-14 22:43:47 -04:00
cf48e4e973
Bump build number 2020-05-13 21:21:57 -04:00
1c9b1b9ac3
Add support (sort of) for gifv attachments
See #98
2020-05-12 21:46:08 -04:00
866edc472d
Show avatar and instance domain in account list in Preferences 2020-05-10 14:54:20 -04:00
4fdafa893e
Add drawing attachments using PencilKit 2020-05-09 22:14:48 -04:00
02088b1f55
Remove MastodonCache 🎉 2020-05-06 23:29:57 -04:00
90bc9b91de
Add AccountProtocol and StatusProtocol
Provides a single interfaces for API and CoreData statuses and accounts
2020-05-06 18:40:12 -04:00
7deb4fc5b4
Add LazilyDecoding for CoreData embedded objects 2020-04-11 15:35:00 -04:00
2a419eb87c
Add basic Status/Account CoreData model 2020-04-11 15:32:25 -04:00
fcab6818b0
Hide large image source view during expand/shrink animation 2020-03-25 23:10:48 -04:00
80cf1850dd
Add trackpad/magic mouse support for navigation controller interactive push gesture 2020-03-25 22:29:32 -04:00
c9c001d403
Improve attachment previewing
- Set correct preview size
- Don't show controls
2020-03-20 22:13:04 -04:00
4ce8de280e
Bump build number 2020-03-17 21:58:14 -04:00
3bbbb05083
Rename AttachmentsViewController to LoadingLargeImageViewController and
make non-specific to attachments
2020-03-17 21:24:15 -04:00
bd3e74c611
Remove unnecessary XIB 2020-03-17 21:07:44 -04:00
2e8c416e04
Merge gallery and large image animations 2020-03-17 21:05:45 -04:00
64a8f6d733
Reorganize code 2020-03-15 11:43:41 -04:00
ca76568c79
Remove old code 2020-03-15 11:40:28 -04:00
34dccf1f37
Extract compose attachments into separate VC 2020-03-14 15:47:15 -04:00
b61418e062
Bump build 2020-03-02 19:45:14 -05:00
c7746d3084
Add unknown notification fallback
Closes #90
2020-03-02 19:44:10 -05:00
53707593a6
Show custom emojis in display names (where possible) 2020-03-01 19:40:32 -05:00
d4ca39761e
Change version, disable UI test web server temporarily 2020-03-01 18:23:10 -05:00
387623a309
Remove old code 2020-02-28 19:24:14 -05:00
1a8e84f5fa
Reorganize behavior preferences 2020-02-22 13:19:31 -05:00
65d57df949
Add interacting pushing to navigation controllers
Allows people to move forward in the navigation stack after popping
(making popping a non-destructive action).
2020-02-19 22:07:12 -05:00
8be7480755
Change bundle identifier and signing account 2020-02-08 17:54:04 -05:00
62408fc4bd
Merge branch 'master' into multiple-accounts 2020-01-22 22:30:30 -05:00
e9db3fa0ac
Collapse whitespace according to CSS spec after converting HTML to
attributed string

Fixes #27
2020-01-21 21:28:14 -05:00
26f1aafa15
Unify SavedHashtagsManager and SavedInstancesManager 2020-01-20 11:20:39 -05:00
6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -05:00
b5a41badcc
Replace content labels with text views
UITextView uses TextKit internally, unlike UILabel, so no additional
code is needed to keep the TextKit and view representations of the text
in sync since they are one and the same. This means that detecting which
character was tapped in a content text view is much more accurate, which
means link handling is substantially imrpoved.

Fixes #20
2020-01-18 16:05:00 -05:00
23de131290
Add preference to require attachment descriptions before posting
Closes #76
2020-01-17 21:55:21 -05:00
3928b2e88a
Store an array of logged-in accounts internally, get the active
MastodonController from the current UIScene

See #16
2020-01-07 21:29:15 -05:00
8dba15ca17
Switch to scene-based lifecycle events
See #16
2020-01-07 18:39:19 -05:00
29e0128a55
Fix broken file paths 2020-01-06 20:27:58 -05:00
2bdcb9b7f8
Replace global shared MastodonController instance with (mostly)
dependency injection

The places still using the .shared property are cases where there is no
view controller from which to (easily) get the appropriate instance,
such as user activity and X-Callback-URL handling. These uses will need
to be revisited once there are multiple MastodonControllers.

See #16
2020-01-05 15:25:07 -05:00
ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
Closes #64
2020-01-04 23:13:23 -05:00
05cc3fd6d9
Add pinning/unpinning statuses
Closes #69
2020-01-04 19:31:35 -05:00
3ecbb1895c
Replace GMImagePicker with custom asset picker based on SheetController
Fixes #23
Closes #50
2020-01-04 16:25:15 -05:00
18c3c3c434
More UI testing setup and API mocks 2019-12-31 11:40:56 -05:00
49f58cf955
Initial UI testing setup 2019-12-30 16:00:14 -05:00
377b5f5c85
Add ability to save and view instance public timelines 2019-12-19 22:55:41 -05:00