591 Commits

Author SHA1 Message Date
133921848d Extract favoriting/reblogging to separate services
Allows displaying error popups and retrying
2022-10-08 13:19:32 -04:00
b688631937 Update status cells on status changes 2022-10-06 22:36:55 -04:00
4d654358d7 Extract a bunch of common stuff to StatusCollectionViewCell protocol 2022-10-05 23:19:30 -04:00
24e90de672 Status cell interaction 2022-10-05 22:28:10 -04:00
780e8b09b7 Status cell UI 2022-10-05 21:39:58 -04:00
2196663d94 Make StatusContentContainer play nice with hiding subviews 2022-10-04 22:48:42 -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
426b31d46c Initial TimelineLikeController + TimelineViewController implementation 2022-09-24 10:49:06 -04:00
ca8a214cf6 Add reblog with visibility menu to reblog confirmation alert 2022-09-18 11:28:33 -04:00
7161861d36 Add API param for reblog visibility 2022-09-18 11:28:33 -04:00
e9962997a6 Show preview of status in reblog confirmation alert
Closes #121
2022-09-17 20:27:36 -04:00
80c4fcce82 Use AnyAccount instead of EitherAccount for compose autocomplete 2022-09-15 21:05:18 -04:00
ff3681627b Fix reblog status cell not showing selection background in spacer
Closes #175
2022-09-15 20:45:45 -04:00
bbfb3b0a7a Add loading indicator to DiffableTimelineLikeTableViewController 2022-09-12 22:05:19 -04:00
8a911f238b Fix emojis getting set without setting emoji identifier 2022-09-11 22:20:46 -04:00
77c44c323f Use os_unfair_lock for MultiThreadDictionary instead of DispatchQueue 2022-09-11 22:20:46 -04:00
50dd785ef8 ContentTextView cleanup 2022-07-31 19:39:14 -04:00
ea07e6aef6 Simplify timeline status cell layout, fix due to missing constraint
Fixes crash when re-showing timeline actions after being hidden
2022-07-11 14:42:49 -04:00
9b3cc61dcb Update WebURL to version with IDNA support
Closes #163
2022-07-09 11:45:27 -04:00
0c37b99a68 i don't even remember 2022-07-09 11:26:37 -04:00
f96d1d780c Enable data detectors on main status text view
Tapping detected items doesn't work because it conflicts with our tap
gesture recognizer, but long pressing does
2022-07-09 11:25:23 -04:00
a9e0bffe5f Bump deployment target to iOS 15 2022-06-30 19:04:08 -07:00
512e0e9053 Fix passing invalid points to CoreGraphics when building trend history graph 2022-06-30 18:15:13 -07:00
b842389449 Convert trending hashtags to collection view 2022-06-30 18:15:13 -07:00
cc10a13785 TextKit 2, baby 2022-06-29 00:12:45 -07:00
10f6a68065 Use new-style self-sizing cells on iOS 16 2022-06-28 17:29:46 -07:00
9fa352d4f8 Fix retain cycle in DiffableTimelineLikeTableViewController 2022-06-28 17:29:46 -07:00
f106cc78bb Fall back to Foundation URL if WebURL parsing fails
WebURL doesn't support Unicode domains/IDNA
2022-05-17 11:57:59 -04:00
54ff3893a6 Slightly improve ActionNotificationGroupTableViewCell layout 2022-05-17 10:19:04 -04:00
90809811c1 Clean up ActionNotificationGroupTableViewCell avatar fetching code 2022-05-16 22:52:04 -04:00
98516e3802 Fix multiple lines of emojis (e.g., wordle) getting smushed together 2022-05-15 15:42:48 -04:00
cc0da2ec54 Fix user activities not continuing when passed at launch
Fix crash when continuing user activities on iPad
2022-05-13 17:10:18 -04:00
a2868739c2 Fix crash when poll voting fails 2022-05-13 10:00:11 -04:00
21e9ca990d Use async/await for conversation loading 2022-05-11 19:10:38 -04:00
1e2947ceba Fix crash when accept/reject follow request fails 2022-05-10 22:58:30 -04:00
c71bf3ba23 Fix displaying toasts from non-main queue 2022-05-09 15:55:35 -04:00
56a0518c80 Add toast error messages to menu actions 2022-05-01 23:06:59 -04:00
bf8a294676 Split MenuActionProvider from MenuPreviewProvider 2022-05-01 23:05:23 -04:00
d04957ba41 Remove reference counting system
Delete statuses/accounts that haven't been fetched in a week
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
514e569bd5 Fast account switching on iPad 2022-05-01 11:53:12 -04:00
2f7c7bae5e Extract status posting to separate class, convert to async/await 2022-04-30 11:11:22 -04:00
4e105e0fbc Fix table view cell gesture blocking toast long-press
Fixes #149
2022-04-26 13:29:22 -04:00
d2f1d78aa2 Fix crash when preferences are changed before own account is loaded 2022-04-25 18:53:51 -04:00
98bb230817 Fix crash when disabling hide status actions in timeline 2022-04-09 15:05:49 -04:00
3d6d9b2a91 Fix crash due to empty html element 2022-04-09 15:05:39 -04:00
4f99d3c6e1 Add preference to disable status action buttons in timelines
Closes #145
2022-04-08 18:42:15 -04:00
8473f32781 Add Trending Links 2022-04-02 12:03:11 -04:00
cab78a4aa4 Remove unnecessary IssueReporterDelegate 2022-03-30 09:58:50 -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
6e3089f025 Use WebURL for parsing links in HTML 2022-03-29 12:40:16 -04:00
e09b0ff4e3 Fix crash when AccountTableViewCell is cached by a
SearchResultsTableViewController that has since decremented the
reference count of the cell's account
2022-03-29 12:34:54 -04:00
de93d6e171 Make Account.avatar optional for gotosocial 2022-02-16 22:12:47 -05:00
9b33059089 Fix crash when ProfileHeaderView leaks 2022-02-06 10:20:06 -05:00
6ba5f70615 Fix pinned statuses from foreign instances not showing on Mastodon 2022-02-03 23:16:31 -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
6879acbe02 Add local-only post icon 2022-01-23 23:22:34 -05:00
ace503ad3d Use username on compose screen when there is no display name 2022-01-23 11:06:23 -05:00
e12a82b476 Show local only posts on hometown instances
#130
2022-01-23 10:58:36 -05:00
6138fc7748 Add select more photos option to asset picker 2022-01-23 10:55:07 -05:00
e65ed3e773 Fix crash when ProfileHeaderView leaks 2022-01-21 11:09:55 -05:00
eca7f31e82 Use stringsdict for favorites/reblogs count 2021-11-25 12:38:05 -05:00
777d1f378c Fix hashtag history view background being opaque 2021-11-24 15:15:34 -05:00
d1083116e0 Use a single disptach queue for attachment/card thumbnails 2021-11-24 15:02:35 -05:00
ca5ac8b826 Fix crash due to leaked ProfileHeaderView not having a
mastodonController
2021-11-22 21:38:00 -05:00
9768097488 Match gif playback progress through animation
Closes #8
2021-11-13 14:52:02 -05:00
9f8b14d180 Replace Gifu with CGImageAnimation
Closes #44
2021-11-11 13:26:11 -05:00
10a3cbbe9c Improve padding on multi-line poll options 2021-11-10 17:25:13 -05:00
b917120f17 Fix crash when conversation loading fails 2021-11-10 17:25:05 -05:00
2df703ab71 Add haptic feedback to header view tab switcher to match home/notifications 2021-11-07 18:22:21 -05:00
1ec85ca095 Use video thumbnails from API when possible 2021-11-07 15:10:18 -05:00
36a78f1a3c Improve emoji loading behavior
Use transparent placeholders to prevent wrong initial layout when some
or all emojis aren't cached.
2021-11-07 14:23:56 -05:00
1c0291b1dd Unify emoji replacement code 2021-11-07 13:11:49 -05:00
f109253bba Show toast when there are no new posts 2021-08-15 18:27:30 -04:00
7f4bf52050 Add toast system 2021-08-15 10:37:20 -04:00
7edf0fdb93
Fix crash when replying to post with preformatted text 2021-08-12 21:03:11 -04:00
b781b56efd
Add public timeline descriptions 2021-08-08 10:09:28 -04:00
0a16a2e261 Fix potential data races 2021-06-26 16:51:54 -04:00
5f9fe505d5 Add pref to disable infinite scrolling on timelines
Closes #125
2021-06-25 23:28:43 -04:00
4f2f8d517f Don't initiate table view cell drag while user is selecting poll options 2021-06-12 19:22:51 -04:00
130da9d4cc Improve status collapse animation
Use an additional label with no content and no height to absorb the
extra space creating during collapse when the content text view
disappears immediately.
2021-06-12 11:39:15 -04:00
9417872790 Don't show Reply action in menu button on statuses 2021-06-09 17:10:44 -04:00
ef1db466b9
Fix VoiceOver reading profile field names/values in incorrect order 2021-06-06 22:35:15 -04:00
0566f0ddfa
Fix More button in profile header not being VoiceOver accessible 2021-06-06 22:35:03 -04:00
f54d4d757f
Make status attachments VoiceOver accessible 2021-06-06 22:31:11 -04:00
fbc5d6eed9
Make timeline status cells single accessibility elements 2021-06-06 22:16:44 -04:00
2c4d2ce551
Make polls in statuses accessible 2021-06-06 22:11:29 -04:00
2fe19a5abe
Add fast account switching indicator to tab bar item 2021-06-06 18:30:46 -04:00
ffe6450b26
Xcode recommendations, use AnyObject instead of class in protocol requirements 2021-05-22 13:44:58 -04:00
b51c1c03cb
Fix poll option percentages getting cut off
Closes #120
2021-05-22 11:44:50 -04:00
e745d78d67
Fix polls not being collapsed inside CW
Closes #119
2021-05-22 11:30:56 -04:00
421881d461
Remove dead code 2021-05-13 22:42:26 -04:00
dabcae0905
Fix being unable to commit previewed profile from timeline status 2021-05-13 22:25:28 -04:00
f7127b84d8
Show vote percentages on completed polls 2021-05-06 21:41:41 -04:00
9f0c1eece8
Add haptic feedback to poll voting 2021-05-05 17:46:41 -04:00
e18a09f4ac
Don't show Voted button for polls that you authored 2021-05-03 23:18:15 -04:00
698b045f86
Add poll finished notifications 2021-04-28 21:47:38 -04:00
654f84363a
Fix polls displaying incorrectly in dark mode 2021-04-28 20:52:57 -04:00
4dd510f3af
Only attach profile context menu interaction to correct views in statuses 2021-04-28 19:11:41 -04:00
1c36dfcc5f
Add displaying and voting on polls in statuses 2021-04-28 19:00:17 -04:00
8ea15d3bab Add preference for requiring confirmation before reblogging 2021-04-05 18:31:00 -04:00
eba2e17479 Fix wrong content mode for profile header avatar image 2021-02-06 22:30:28 -05:00
9d5c004ec4 Add Trending Hashtags screen 2021-02-06 14:54:35 -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
d1c45a87e6 Fix low resolution avatars being shown on profile 2021-01-20 18:31:30 -05:00
c12d2db258 Cache UIImage objects to avoid re-decoding images unnecessarily 2021-01-17 11:28:50 -05:00
d7aa3f1617 Fix crash when updating timestamp of removed status 2021-01-12 22:17:30 -05:00
a7b2a7df71 Don't try to re-replace emojis unnecessarily 2020-12-29 11:56:40 -05:00
e67f6b2ad8 Avoid redundant database lookups 2020-12-25 12:01:35 -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
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
0a11d2de47
Fix playing gifs from a background thread 2020-11-03 15:49:30 -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
93828830a9
Fix logging in to PixelFed instances
See #68
2020-10-25 23:07:41 -04:00
39b244384b
Show link cards on statuses 2020-10-25 16:05:28 -04:00
2426989161
Fix unsatisfiable constraints in timeline status action buttons
UIStackView internal constraints all have a required priority, so adding
the image constrain in TimelineStatusTableViewCell.awakeFromNib caused
an unsatisfiable constraint. Fixed by replicating the UISV constraints
manually, with the constrain on the leading edge of the first button
being made a placeholder.
2020-10-18 14:42:17 -04:00
1439c8b162
Fix unsatisfiable constraints on attachment container view
The stack view hiding constraint sets the height to 0 with a priority of
999.999, so the priority 1000 aspect ratio constraint was causing an
error and making the container view still have a height. Setting the
priority to 999 resolves the issue.
2020-10-18 13:50:52 -04:00
5125cc3397
Show custom emojis in display names in follow/favorite/reblog
notifications
2020-10-18 12:22:12 -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
a805da9faa
Enable picture-in-picture playback for video attachments 2020-10-17 12:56:13 -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
6965a4c374
Remove no longer necessary iOS 13.4 availability checks 2020-09-20 11:34:46 -04:00
b6c0c02028
Remove no longer necessary conditional compilation directives 2020-09-20 11:34:09 -04:00
42f9d19ee9
Fix memory leak in attachment container view 2020-09-20 11:28:18 -04:00
0d972d987c
Remove old Compose screen cold 2020-09-20 10:46:51 -04:00
3822d536c8
Reduce redundant status database lookups when updating cell UI 2020-09-17 21:53:47 -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
911e66a159
Allow more browsing of instance public timelines
Closes #74
2020-09-13 15:51:08 -04:00
b94bfca406
Fix crash tapping attachments on instance public timelines 2020-09-13 13:55:33 -04:00
acd01a81cc
More UI tests for onboarding/my profile 2020-09-12 22:16:58 -04:00
9534f19262
Show BlurHash previews of attachments 2020-09-12 12:01:08 -04:00
479ca23e00
Tweak follow request notification cells 2020-09-10 22:54:01 -04:00
5b03e0cf12
Fix follow notifications not showing names for users without explicit
display names
2020-09-09 18:45:38 -04:00
7c4bbfd730
Improve compose posting error messages 2020-09-09 18:33:59 -04:00
f5110c773a
Tweak default font sizes 2020-09-07 18:49:25 -04:00
dd8a196630
Show custom emoji in display names on Compose screen 2020-09-07 15:22:06 -04:00
3d13df87f0
Add pointer interaction to main status favorites/reblogs buttons 2020-08-31 21:40:18 -04:00
4c82b1a341
Rewrite Compose screen in SwiftUI 2020-08-31 19:28:50 -04:00
95ebca04d2
Disable automatic GIF playback in low-power mode 2020-08-16 19:14:32 -04:00
0986fa285e
Fix crash due to leaked table view cell 2020-08-16 15:07:59 -04:00
1cd3e6adf9
Show custom emoji in profile field names 2020-08-16 15:07:55 -04:00
ee20c95a5d
Prevent link activation when outside character 2020-08-16 14:52:08 -04:00
be81ffb61f
Allow display names to shrink to fit available width 2020-08-16 14:49:44 -04:00
08e0c3769f
Make link preview background opaque 2020-08-16 14:45:01 -04:00
6d7c9fd553
Make tap targets on status action buttons larger 2020-08-16 14:41:30 -04:00
ae055f1ffd
Remove debug code 2020-08-15 18:00:47 -04:00
29aed65b99
Fix crash if profile header view outlives VC 2020-08-15 17:59:14 -04:00
60565f9625
Fix crash if status table view cell outlives VC 2020-08-15 17:37:56 -04:00
eaefa366b7
Fix displaying images on iOS 14 2020-08-15 17:03:02 -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
1d815d6cd6 More link context menu preview tweaks 2020-07-03 17:01:52 -04:00
f86d3a0ed1 Fix sometimes broken masking of text view link preview animations 2020-07-01 00:01:36 -04:00
40a742139b Fix menu state getting out of sync with bookmarked/muted state 2020-06-27 13:13:04 -04:00
8bbc572fa7 Replace more with share button for timeline status swipe actions 2020-06-27 10:47:31 -04:00
2a8e970738 Use context menus as primary actions for 'More Actions' buttons on >= iOS 14 2020-06-27 00:22:14 -04:00
3abb5972b9 Limit context menu previews in ContentTextView to link's text line rects 2020-06-25 10:42:46 -04:00
0c06d91f6b Fix showing instance public timeline 2020-06-24 16:41:01 -04:00
a5a2cd147e
Fix attachment blur view missing corner radius 2020-06-22 21:03:08 -04:00
8010e86711
Change attachment views to be 16:9 2020-06-21 16:01:34 -04:00
a41d27f18c
Move status action buttons back below attachments 2020-06-21 16:01:34 -04:00
083add273b
Prevent audio from other apps pausing when showing gifv attachments
Fixes #101
2020-06-21 16:01:29 -04:00
ba3e9e7491
Fix compose attachment description text view not expanding to fit text 2020-06-19 19:46:08 -04:00
920f926b48
Add text recognition image description for image attachments 2020-06-19 19:14:24 -04:00
c3c19b1994
Fix pin image still showing on statuses after cell reuse 2020-06-18 22:23:19 -04:00
1f40cc9928
Show controls/description for gifv attachments
See #98
2020-06-17 23:33:48 -04:00
66020b7847
Add preference for always showing status visiblity icon 2020-06-17 18:00:13 -04:00
00bf99334f
Add preference for status reply icons 2020-06-17 17:45:34 -04:00
056346cee9
Add reply indicator to statuses in timelines 2020-06-16 23:06:36 -04:00
30c04b49e7
Add visibility indicator to statuses 2020-06-16 23:00:39 -04:00
848022ec6e
Disable reblog button for private posts 2020-06-16 22:47:30 -04:00
39e847bda8
Fix reblog label showing incorrect account 2020-06-16 22:47:04 -04:00
5d751cd994
Prevent redundant status database lookups 2020-06-15 23:22:45 -04:00
6b7904ed52
Improve profile field layout 2020-06-15 19:02:09 -04:00
61c6d63c67
Fix profile fields not displaying
Closes #96
2020-06-15 18:36:04 -04:00
803ba50f53
Add pointer interaction to remove attachment, large image share/dismiss buttons 2020-06-15 18:26:56 -04:00
2eaeaf3277
Fix previewing gifv attacments 2020-05-13 21:20:22 -04:00
1c9b1b9ac3
Add support (sort of) for gifv attachments
See #98
2020-05-12 21:46:08 -04:00
cd78287a87
Fix crash when viewing instance public timelines
Use a CoreData in-memory store for public timelines.
2020-05-11 17:57:50 -04:00
4fdafa893e
Add drawing attachments using PencilKit 2020-05-09 22:14:48 -04:00
bbd7d82620
Fix test in ContentTextView not being de-selectable 2020-05-07 21:46:59 -04:00
02088b1f55
Remove MastodonCache 🎉 2020-05-06 23:29:57 -04:00
aa625a41f5
Merge branch 'develop' into coredata 2020-05-06 19:18:58 -04:00
7fb92c9ce3
Prevent avatars in action notification group cell from overflowing 2020-05-06 19:18:47 -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
d6c506488b
Replace a bunch of MastodonCache uses with CoreData 2020-05-02 19:52:35 -04:00
5786c24846
Fix statuses/accounts updating 2020-05-02 12:45:28 -04:00
2cba168804
Fix account cells using old cache 2020-04-27 19:33:36 -04:00
49d00bb1b0
Fix swipe actions not showing up 2020-04-27 19:32:16 -04:00
f53474ac90
Use CoreData for notifications screen 2020-04-27 19:20:09 -04:00
fa1daa682f
Convert profile VC to use CoreData objects
Does not yet remove old statuses when scrolling up, like timeline VC
2020-04-13 22:51:21 -04:00
030bee1948
Convert conversation VC to use CoreData models 2020-04-13 22:51:15 -04:00
2c8ba878b7
Start converting UI to use CoreData backed objects instead of API
objects directly
2020-04-12 12:54:27 -04:00
8a513186aa
Add pointer interactions status buttons and profile header more button 2020-03-24 23:02:40 -04:00
d9517047d7
Fix previewing video/audio attachments 2020-03-20 22:48:28 -04:00
bef3388fe8
Move attachment view corner radius to individual views
Masking the container makes context menu interactions look weird
2020-03-20 22:34:50 -04:00
2e8241d734
Move attachment context menu interaction to AttachmentView 2020-03-20 22:28:23 -04:00
c9c001d403
Improve attachment previewing
- Set correct preview size
- Don't show controls
2020-03-20 22:13:04 -04:00
ae416bb604
Prevent crash if BaseStatusTableViewCell is leaked
If prefernces change and the the view controller the cell belongs to is dealloced, the
mastodonController will be nil, previously causing a crash.
2020-03-17 21:44:06 -04:00
5e9caf9179
Use LoadingLargeImageViewController for account avatar/header
Prevents crash when tapping unloaded avatar/header images
2020-03-17 21:42:09 -04:00
64f41ea2b7
Fix crash when updating timeline status cell timestamp 2020-03-15 12:17:19 -04:00
9af4118dfc
Show truncated note in account cell 2020-03-15 11:56:41 -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
d15fa2199e
Fix attachments container more view not beign removed on cell reuse
Closes #92
2020-03-11 22:49:53 -04:00
b232bec80f
Show custom emojis in content warnings
Closes #95
2020-03-11 21:56:35 -04:00
cd5b4c1145
Remove old code 2020-03-02 22:31:37 -05:00
c7746d3084
Add unknown notification fallback
Closes #90
2020-03-02 19:44:10 -05:00
fa4b5d3542
Fix custom emojis not being shown in display names when scrolling
quickly

If the emojiIdentifier didn't change, the emojis wouldn't be re-added
even after the text had been reset.
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
244659c262
Fix intermittent crash
If a status in a conversation view controller creates a work item to
update the timestamp in 1 minute, but the view controller is deinit'd
before that time elapses, the mastodonController instance will be nil,
resulting in a crash.

The DispatchWorkItems's are cancelled by the respective cell deinit
methods. But if the work item has already begun, cancelling it has no
effect, potentially leading to a crash in the conditions described above
are true. Using a weak reference to self fixes this.

Additionally, don't unnecessarily recreate the work items every time.
They don't capture any local variables, only self, so nothing changes.
2020-03-01 18:33:44 -05:00
5bed38f661
Show gallery instead of large image when previewing status attachments
Fixes crash when attempting to preview audio/video attachments
2020-02-28 19:47:38 -05:00
56de0ab359
Update profile header to always reflect most recently cached data 2020-02-28 19:47:31 -05:00
1f56823a17
Add preference to disable gif animation in timelines 2020-02-22 13:12:28 -05:00
d7953470e3
Add rudimentary support for audio attachments
Closes #7
2020-01-26 18:50:45 -05:00
7c207efa07
Tweak More swipe action to be in-line with system appearance 2020-01-25 10:44:12 -05:00
5a6c12c5a7 Fix missing context menu actions on follow notifications for only one person 2020-01-25 10:30:04 -05:00
d6ae51c02f Improve ImageCache loading
Keep track of the number of requests and only cancel the underlying
URLSessionTask if there are no concrete requsts remaining.

Closes #81
2020-01-25 10:30:04 -05:00
62408fc4bd
Merge branch 'master' into multiple-accounts 2020-01-22 22:30:30 -05:00
1d169bec67
Fix statuses showing incorrect timestamps when switching accounts 2020-01-22 22:30:05 -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
08086f1b18
Fix compose reply view missing MastodonController instance 2020-01-20 15:25:23 -05:00
12b6623113
Merge branch 'master' into multiple-accounts 2020-01-20 12:16:11 -05:00
79f44c9b58
Change recommended instance selector to store categories as strings
instead of enum

Additional categories can be added, which would cause a crash when
decoding.
As the category isn't used for anything, storing it as an enum value is
not necessary.
2020-01-20 11:56:43 -05:00
f7421d83ef
Add preference to mention reblogger when replying to a reblogged status 2020-01-19 23:48:36 -05:00
ee252c02e9
Fix retain cycle in timeline cell cache observers
The use an unowned reference to self because when the cell is deinit'd,
the Combine observers will be cancelled.
2020-01-19 23:14:51 -05:00
8eb6f6f573
Fix retain cycle in timestamp updating code
The timestamp update work item shouldn't retain a reference to the cell.
It can be unowned because when the cell is deinit'd, the work item will
be cancelled.
2020-01-19 23:10:52 -05:00
32e89f2c16
Fix retain cycles with TuskerNavigationDelegate
TuskerNavigationDelegate is now class-bound and only weak references to
it are stored.
2020-01-19 23:02:07 -05:00
08c84688cf
Change recommended instance selector to store categories as strings
instead of enum

Additional categories can be added, which would cause a crash when
decoding.
As the category isn't used for anything, storing it as an enum value is
not necessary.
2020-01-18 22:42:20 -05:00
66fe861442
Merge branch 'master' into multiple-accounts 2020-01-18 19:33:01 -05:00
11f9642cba
Actually fix link interaction 2020-01-18 19:32:39 -05:00
6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -05:00
38085eee37
Fix not being able to collapse/expand statuses
Instead of simply returning the content text view from hitTest(_:with:),
we need to call the super method so that the system still performs its
own checks.
2020-01-18 18:38:00 -05:00
e19364abdf
Fix content text view text color in dark mode 2020-01-18 18:21:01 -05:00
fa358a3e97
Remove xtra padding from content text view 2020-01-18 16:27:18 -05:00
5d86b35672
Enable text selection in conversation main status 2020-01-18 16:18:32 -05:00
784c71342d
Fix preformatted text not being displayed correctly 2020-01-18 16:05:44 -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