Shadowfacts
4d654358d7
Extract a bunch of common stuff to StatusCollectionViewCell protocol
2022-10-05 23:19:30 -04:00
Shadowfacts
24e90de672
Status cell interaction
2022-10-05 22:28:10 -04:00
Shadowfacts
780e8b09b7
Status cell UI
2022-10-05 21:39:58 -04:00
Shadowfacts
2196663d94
Make StatusContentContainer play nice with hiding subviews
2022-10-04 22:48:42 -04:00
Shadowfacts
7085ac01cb
Timeline status collection view cell collapsing
2022-10-04 00:02:41 -04:00
Shadowfacts
81671d73c7
Start converting timeline status to UICollectionViewCell
2022-10-04 00:01:16 -04:00
Shadowfacts
426b31d46c
Initial TimelineLikeController + TimelineViewController implementation
2022-09-24 10:49:06 -04:00
Shadowfacts
ca8a214cf6
Add reblog with visibility menu to reblog confirmation alert
2022-09-18 11:28:33 -04:00
Shadowfacts
7161861d36
Add API param for reblog visibility
2022-09-18 11:28:33 -04:00
Shadowfacts
e9962997a6
Show preview of status in reblog confirmation alert
...
Closes #121
2022-09-17 20:27:36 -04:00
Shadowfacts
80c4fcce82
Use AnyAccount instead of EitherAccount for compose autocomplete
2022-09-15 21:05:18 -04:00
Shadowfacts
ff3681627b
Fix reblog status cell not showing selection background in spacer
...
Closes #175
2022-09-15 20:45:45 -04:00
Shadowfacts
bbfb3b0a7a
Add loading indicator to DiffableTimelineLikeTableViewController
2022-09-12 22:05:19 -04:00
Shadowfacts
8a911f238b
Fix emojis getting set without setting emoji identifier
2022-09-11 22:20:46 -04:00
Shadowfacts
77c44c323f
Use os_unfair_lock for MultiThreadDictionary instead of DispatchQueue
2022-09-11 22:20:46 -04:00
Shadowfacts
50dd785ef8
ContentTextView cleanup
2022-07-31 19:39:14 -04:00
Shadowfacts
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
Shadowfacts
9b3cc61dcb
Update WebURL to version with IDNA support
...
Closes #163
2022-07-09 11:45:27 -04:00
Shadowfacts
0c37b99a68
i don't even remember
2022-07-09 11:26:37 -04:00
Shadowfacts
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
Shadowfacts
a9e0bffe5f
Bump deployment target to iOS 15
2022-06-30 19:04:08 -07:00
Shadowfacts
512e0e9053
Fix passing invalid points to CoreGraphics when building trend history graph
2022-06-30 18:15:13 -07:00
Shadowfacts
b842389449
Convert trending hashtags to collection view
2022-06-30 18:15:13 -07:00
Shadowfacts
cc10a13785
TextKit 2, baby
2022-06-29 00:12:45 -07:00
Shadowfacts
10f6a68065
Use new-style self-sizing cells on iOS 16
2022-06-28 17:29:46 -07:00
Shadowfacts
9fa352d4f8
Fix retain cycle in DiffableTimelineLikeTableViewController
2022-06-28 17:29:46 -07:00
Shadowfacts
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
Shadowfacts
54ff3893a6
Slightly improve ActionNotificationGroupTableViewCell layout
2022-05-17 10:19:04 -04:00
Shadowfacts
90809811c1
Clean up ActionNotificationGroupTableViewCell avatar fetching code
2022-05-16 22:52:04 -04:00
Shadowfacts
98516e3802
Fix multiple lines of emojis (e.g., wordle) getting smushed together
2022-05-15 15:42:48 -04:00
Shadowfacts
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
Shadowfacts
a2868739c2
Fix crash when poll voting fails
2022-05-13 10:00:11 -04:00
Shadowfacts
21e9ca990d
Use async/await for conversation loading
2022-05-11 19:10:38 -04:00
Shadowfacts
1e2947ceba
Fix crash when accept/reject follow request fails
2022-05-10 22:58:30 -04:00
Shadowfacts
c71bf3ba23
Fix displaying toasts from non-main queue
2022-05-09 15:55:35 -04:00
Shadowfacts
56a0518c80
Add toast error messages to menu actions
2022-05-01 23:06:59 -04:00
Shadowfacts
bf8a294676
Split MenuActionProvider from MenuPreviewProvider
2022-05-01 23:05:23 -04:00
Shadowfacts
d04957ba41
Remove reference counting system
...
Delete statuses/accounts that haven't been fetched in a week
2022-05-01 21:50:16 -04:00
Shadowfacts
8cc08cf4c0
Fix crash when displaying polls on Catalyst in Optimize for Mac
...
Closes #152
2022-05-01 21:50:11 -04:00
Shadowfacts
514e569bd5
Fast account switching on iPad
2022-05-01 11:53:12 -04:00
Shadowfacts
2f7c7bae5e
Extract status posting to separate class, convert to async/await
2022-04-30 11:11:22 -04:00
Shadowfacts
4e105e0fbc
Fix table view cell gesture blocking toast long-press
...
Fixes #149
2022-04-26 13:29:22 -04:00
Shadowfacts
d2f1d78aa2
Fix crash when preferences are changed before own account is loaded
2022-04-25 18:53:51 -04:00
Shadowfacts
98bb230817
Fix crash when disabling hide status actions in timeline
2022-04-09 15:05:49 -04:00
Shadowfacts
3d6d9b2a91
Fix crash due to empty html element
2022-04-09 15:05:39 -04:00
Shadowfacts
4f99d3c6e1
Add preference to disable status action buttons in timelines
...
Closes #145
2022-04-08 18:42:15 -04:00
Shadowfacts
8473f32781
Add Trending Links
2022-04-02 12:03:11 -04:00
Shadowfacts
cab78a4aa4
Remove unnecessary IssueReporterDelegate
2022-03-30 09:58:50 -04:00
Shadowfacts
7da139be4d
Redact request paths in error reporter
2022-03-29 22:37:39 -04:00
Shadowfacts
2444783edf
Add error reporter to Client.Error toast on long-press
2022-03-29 22:37:26 -04:00
Shadowfacts
6e3089f025
Use WebURL for parsing links in HTML
2022-03-29 12:40:16 -04:00
Shadowfacts
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
Shadowfacts
de93d6e171
Make Account.avatar optional for gotosocial
2022-02-16 22:12:47 -05:00
Shadowfacts
9b33059089
Fix crash when ProfileHeaderView leaks
2022-02-06 10:20:06 -05:00
Shadowfacts
6ba5f70615
Fix pinned statuses from foreign instances not showing on Mastodon
2022-02-03 23:16:31 -05:00
Shadowfacts
54c01be7ff
Use WebURL for more lenient parsing of external URLs
...
Fixes #136
2022-02-03 23:11:29 -05:00
Shadowfacts
41a31c23b7
Allow posting local-only from Glitch instances
...
See #130
2022-01-24 22:49:51 -05:00
Shadowfacts
6879acbe02
Add local-only post icon
2022-01-23 23:22:34 -05:00
Shadowfacts
ace503ad3d
Use username on compose screen when there is no display name
2022-01-23 11:06:23 -05:00
Shadowfacts
e12a82b476
Show local only posts on hometown instances
...
#130
2022-01-23 10:58:36 -05:00
Shadowfacts
6138fc7748
Add select more photos option to asset picker
2022-01-23 10:55:07 -05:00
Shadowfacts
e65ed3e773
Fix crash when ProfileHeaderView leaks
2022-01-21 11:09:55 -05:00
Shadowfacts
eca7f31e82
Use stringsdict for favorites/reblogs count
2021-11-25 12:38:05 -05:00
Shadowfacts
777d1f378c
Fix hashtag history view background being opaque
2021-11-24 15:15:34 -05:00
Shadowfacts
d1083116e0
Use a single disptach queue for attachment/card thumbnails
2021-11-24 15:02:35 -05:00
Shadowfacts
ca5ac8b826
Fix crash due to leaked ProfileHeaderView not having a
...
mastodonController
2021-11-22 21:38:00 -05:00
Shadowfacts
9768097488
Match gif playback progress through animation
...
Closes #8
2021-11-13 14:52:02 -05:00
Shadowfacts
9f8b14d180
Replace Gifu with CGImageAnimation
...
Closes #44
2021-11-11 13:26:11 -05:00
Shadowfacts
10a3cbbe9c
Improve padding on multi-line poll options
2021-11-10 17:25:13 -05:00
Shadowfacts
b917120f17
Fix crash when conversation loading fails
2021-11-10 17:25:05 -05:00
Shadowfacts
2df703ab71
Add haptic feedback to header view tab switcher to match home/notifications
2021-11-07 18:22:21 -05:00
Shadowfacts
1ec85ca095
Use video thumbnails from API when possible
2021-11-07 15:10:18 -05:00
Shadowfacts
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
Shadowfacts
1c0291b1dd
Unify emoji replacement code
2021-11-07 13:11:49 -05:00
Shadowfacts
f109253bba
Show toast when there are no new posts
2021-08-15 18:27:30 -04:00
Shadowfacts
7f4bf52050
Add toast system
2021-08-15 10:37:20 -04:00
Shadowfacts
7edf0fdb93
Fix crash when replying to post with preformatted text
2021-08-12 21:03:11 -04:00
Shadowfacts
b781b56efd
Add public timeline descriptions
2021-08-08 10:09:28 -04:00
Shadowfacts
0a16a2e261
Fix potential data races
2021-06-26 16:51:54 -04:00
Shadowfacts
5f9fe505d5
Add pref to disable infinite scrolling on timelines
...
Closes #125
2021-06-25 23:28:43 -04:00
Shadowfacts
4f2f8d517f
Don't initiate table view cell drag while user is selecting poll options
2021-06-12 19:22:51 -04:00
Shadowfacts
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
Shadowfacts
9417872790
Don't show Reply action in menu button on statuses
2021-06-09 17:10:44 -04:00
Shadowfacts
ef1db466b9
Fix VoiceOver reading profile field names/values in incorrect order
2021-06-06 22:35:15 -04:00
Shadowfacts
0566f0ddfa
Fix More button in profile header not being VoiceOver accessible
2021-06-06 22:35:03 -04:00
Shadowfacts
f54d4d757f
Make status attachments VoiceOver accessible
2021-06-06 22:31:11 -04:00
Shadowfacts
fbc5d6eed9
Make timeline status cells single accessibility elements
2021-06-06 22:16:44 -04:00
Shadowfacts
2c4d2ce551
Make polls in statuses accessible
2021-06-06 22:11:29 -04:00
Shadowfacts
2fe19a5abe
Add fast account switching indicator to tab bar item
2021-06-06 18:30:46 -04:00
Shadowfacts
ffe6450b26
Xcode recommendations, use AnyObject instead of class in protocol requirements
2021-05-22 13:44:58 -04:00
Shadowfacts
b51c1c03cb
Fix poll option percentages getting cut off
...
Closes #120
2021-05-22 11:44:50 -04:00
Shadowfacts
e745d78d67
Fix polls not being collapsed inside CW
...
Closes #119
2021-05-22 11:30:56 -04:00
Shadowfacts
421881d461
Remove dead code
2021-05-13 22:42:26 -04:00
Shadowfacts
dabcae0905
Fix being unable to commit previewed profile from timeline status
2021-05-13 22:25:28 -04:00
Shadowfacts
f7127b84d8
Show vote percentages on completed polls
2021-05-06 21:41:41 -04:00
Shadowfacts
9f0c1eece8
Add haptic feedback to poll voting
2021-05-05 17:46:41 -04:00
Shadowfacts
e18a09f4ac
Don't show Voted button for polls that you authored
2021-05-03 23:18:15 -04:00
Shadowfacts
698b045f86
Add poll finished notifications
2021-04-28 21:47:38 -04:00
Shadowfacts
654f84363a
Fix polls displaying incorrectly in dark mode
2021-04-28 20:52:57 -04:00
Shadowfacts
4dd510f3af
Only attach profile context menu interaction to correct views in statuses
2021-04-28 19:11:41 -04:00
Shadowfacts
1c36dfcc5f
Add displaying and voting on polls in statuses
2021-04-28 19:00:17 -04:00
Shadowfacts
8ea15d3bab
Add preference for requiring confirmation before reblogging
2021-04-05 18:31:00 -04:00
Shadowfacts
eba2e17479
Fix wrong content mode for profile header avatar image
2021-02-06 22:30:28 -05:00
Shadowfacts
9d5c004ec4
Add Trending Hashtags screen
2021-02-06 14:54:35 -05:00
Shadowfacts
669d55500a
Remove unused pre-iOS 14 code
2021-02-06 13:47:45 -05:00
Shadowfacts
f44d127110
Bump deployment target to iOS 14.1
2021-02-05 23:46:31 -05:00
Shadowfacts
bcc023a127
Show threads on Conversation screen
2021-01-31 17:42:29 -05:00
Shadowfacts
4ed862120c
Add trending hashtags to add saved hashtag controller
2021-01-28 23:20:25 -05:00
Shadowfacts
d1c45a87e6
Fix low resolution avatars being shown on profile
2021-01-20 18:31:30 -05:00
Shadowfacts
c12d2db258
Cache UIImage objects to avoid re-decoding images unnecessarily
2021-01-17 11:28:50 -05:00
Shadowfacts
d7aa3f1617
Fix crash when updating timestamp of removed status
2021-01-12 22:17:30 -05:00
Shadowfacts
a7b2a7df71
Don't try to re-replace emojis unnecessarily
2020-12-29 11:56:40 -05:00
Shadowfacts
e67f6b2ad8
Avoid redundant database lookups
2020-12-25 12:01:35 -05:00
Shadowfacts
30297c2390
Add multi-window drag and drop to all the things
2020-12-14 18:44:48 -05:00
Shadowfacts
522c9b2b03
Add multi-window support and auxiliary windows
2020-12-13 22:37:37 -05:00
Shadowfacts
fc888b168c
Add fast account switching on iPhone
2020-11-09 19:39:42 -05:00
Shadowfacts
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
Shadowfacts
0a11d2de47
Fix playing gifs from a background thread
2020-11-03 15:49:30 -05:00
Shadowfacts
4ac76ab672
Add opposite collapse keywords preference
2020-11-03 15:39:02 -05:00
Shadowfacts
eb4e6e32f7
Add Grayscale Images preference
2020-11-01 13:59:58 -05:00
Shadowfacts
93828830a9
Fix logging in to PixelFed instances
...
See #68
2020-10-25 23:07:41 -04:00
Shadowfacts
39b244384b
Show link cards on statuses
2020-10-25 16:05:28 -04:00
Shadowfacts
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
Shadowfacts
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
Shadowfacts
5125cc3397
Show custom emojis in display names in follow/favorite/reblog
...
notifications
2020-10-18 12:22:12 -04:00
Shadowfacts
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
Shadowfacts
a805da9faa
Enable picture-in-picture playback for video attachments
2020-10-17 12:56:13 -04:00
Shadowfacts
1a4517c43a
Cache account relationships in CoreData
2020-10-12 18:20:57 -04:00
Shadowfacts
2cfc0cf28a
Add Compose screen mention, hashtag, emoji completion
...
Closes #10
2020-10-11 22:14:45 -04:00
Shadowfacts
6965a4c374
Remove no longer necessary iOS 13.4 availability checks
2020-09-20 11:34:46 -04:00
Shadowfacts
b6c0c02028
Remove no longer necessary conditional compilation directives
2020-09-20 11:34:09 -04:00
Shadowfacts
42f9d19ee9
Fix memory leak in attachment container view
2020-09-20 11:28:18 -04:00
Shadowfacts
0d972d987c
Remove old Compose screen cold
2020-09-20 10:46:51 -04:00
Shadowfacts
3822d536c8
Reduce redundant status database lookups when updating cell UI
2020-09-17 21:53:47 -04:00
Shadowfacts
6df5f7fb08
Add preferences for auto-expanding CW'd posts and disabling long post
...
collapsing
See #105
2020-09-15 21:37:08 -04:00
Shadowfacts
911e66a159
Allow more browsing of instance public timelines
...
Closes #74
2020-09-13 15:51:08 -04:00
Shadowfacts
b94bfca406
Fix crash tapping attachments on instance public timelines
2020-09-13 13:55:33 -04:00
Shadowfacts
acd01a81cc
More UI tests for onboarding/my profile
2020-09-12 22:16:58 -04:00
Shadowfacts
9534f19262
Show BlurHash previews of attachments
2020-09-12 12:01:08 -04:00
Shadowfacts
479ca23e00
Tweak follow request notification cells
2020-09-10 22:54:01 -04:00
Shadowfacts
5b03e0cf12
Fix follow notifications not showing names for users without explicit
...
display names
2020-09-09 18:45:38 -04:00
Shadowfacts
7c4bbfd730
Improve compose posting error messages
2020-09-09 18:33:59 -04:00
Shadowfacts
f5110c773a
Tweak default font sizes
2020-09-07 18:49:25 -04:00
Shadowfacts
dd8a196630
Show custom emoji in display names on Compose screen
2020-09-07 15:22:06 -04:00
Shadowfacts
3d13df87f0
Add pointer interaction to main status favorites/reblogs buttons
2020-08-31 21:40:18 -04:00
Shadowfacts
4c82b1a341
Rewrite Compose screen in SwiftUI
2020-08-31 19:28:50 -04:00
Shadowfacts
95ebca04d2
Disable automatic GIF playback in low-power mode
2020-08-16 19:14:32 -04:00
Shadowfacts
0986fa285e
Fix crash due to leaked table view cell
2020-08-16 15:07:59 -04:00
Shadowfacts
1cd3e6adf9
Show custom emoji in profile field names
2020-08-16 15:07:55 -04:00
Shadowfacts
ee20c95a5d
Prevent link activation when outside character
2020-08-16 14:52:08 -04:00
Shadowfacts
be81ffb61f
Allow display names to shrink to fit available width
2020-08-16 14:49:44 -04:00
Shadowfacts
08e0c3769f
Make link preview background opaque
2020-08-16 14:45:01 -04:00
Shadowfacts
6d7c9fd553
Make tap targets on status action buttons larger
2020-08-16 14:41:30 -04:00
Shadowfacts
ae055f1ffd
Remove debug code
2020-08-15 18:00:47 -04:00
Shadowfacts
29aed65b99
Fix crash if profile header view outlives VC
2020-08-15 17:59:14 -04:00
Shadowfacts
60565f9625
Fix crash if status table view cell outlives VC
2020-08-15 17:37:56 -04:00
Shadowfacts
eaefa366b7
Fix displaying images on iOS 14
2020-08-15 17:03:02 -04:00
Shadowfacts
1c708732f2
Exclude iOS 14-specific code from compilation on Xcode 11 to allow building for TestFlight
2020-07-06 00:00:51 -04:00
Shadowfacts
2825345c7e
Add switching between Posts, Posts and Replies, and Media pages of user profiles
...
Closes #103
2020-07-05 16:17:56 -04:00
Shadowfacts
1d815d6cd6
More link context menu preview tweaks
2020-07-03 17:01:52 -04:00
Shadowfacts
f86d3a0ed1
Fix sometimes broken masking of text view link preview animations
2020-07-01 00:01:36 -04:00
Shadowfacts
40a742139b
Fix menu state getting out of sync with bookmarked/muted state
2020-06-27 13:13:04 -04:00
Shadowfacts
8bbc572fa7
Replace more with share button for timeline status swipe actions
2020-06-27 10:47:31 -04:00
Shadowfacts
2a8e970738
Use context menus as primary actions for 'More Actions' buttons on >= iOS 14
2020-06-27 00:22:14 -04:00
Shadowfacts
3abb5972b9
Limit context menu previews in ContentTextView to link's text line rects
2020-06-25 10:42:46 -04:00
Shadowfacts
0c06d91f6b
Fix showing instance public timeline
2020-06-24 16:41:01 -04:00
Shadowfacts
a5a2cd147e
Fix attachment blur view missing corner radius
2020-06-22 21:03:08 -04:00
Shadowfacts
8010e86711
Change attachment views to be 16:9
2020-06-21 16:01:34 -04:00
Shadowfacts
a41d27f18c
Move status action buttons back below attachments
2020-06-21 16:01:34 -04:00
Shadowfacts
083add273b
Prevent audio from other apps pausing when showing gifv attachments
...
Fixes #101
2020-06-21 16:01:29 -04:00
Shadowfacts
ba3e9e7491
Fix compose attachment description text view not expanding to fit text
2020-06-19 19:46:08 -04:00
Shadowfacts
920f926b48
Add text recognition image description for image attachments
2020-06-19 19:14:24 -04:00
Shadowfacts
c3c19b1994
Fix pin image still showing on statuses after cell reuse
2020-06-18 22:23:19 -04:00
Shadowfacts
1f40cc9928
Show controls/description for gifv attachments
...
See #98
2020-06-17 23:33:48 -04:00
Shadowfacts
66020b7847
Add preference for always showing status visiblity icon
2020-06-17 18:00:13 -04:00
Shadowfacts
00bf99334f
Add preference for status reply icons
2020-06-17 17:45:34 -04:00
Shadowfacts
056346cee9
Add reply indicator to statuses in timelines
2020-06-16 23:06:36 -04:00
Shadowfacts
30c04b49e7
Add visibility indicator to statuses
2020-06-16 23:00:39 -04:00
Shadowfacts
848022ec6e
Disable reblog button for private posts
2020-06-16 22:47:30 -04:00
Shadowfacts
39e847bda8
Fix reblog label showing incorrect account
2020-06-16 22:47:04 -04:00
Shadowfacts
5d751cd994
Prevent redundant status database lookups
2020-06-15 23:22:45 -04:00
Shadowfacts
6b7904ed52
Improve profile field layout
2020-06-15 19:02:09 -04:00
Shadowfacts
61c6d63c67
Fix profile fields not displaying
...
Closes #96
2020-06-15 18:36:04 -04:00
Shadowfacts
803ba50f53
Add pointer interaction to remove attachment, large image share/dismiss buttons
2020-06-15 18:26:56 -04:00
Shadowfacts
2eaeaf3277
Fix previewing gifv attacments
2020-05-13 21:20:22 -04:00
Shadowfacts
1c9b1b9ac3
Add support (sort of) for gifv attachments
...
See #98
2020-05-12 21:46:08 -04:00
Shadowfacts
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
Shadowfacts
4fdafa893e
Add drawing attachments using PencilKit
2020-05-09 22:14:48 -04:00
Shadowfacts
bbd7d82620
Fix test in ContentTextView not being de-selectable
2020-05-07 21:46:59 -04:00
Shadowfacts
02088b1f55
Remove MastodonCache 🎉
2020-05-06 23:29:57 -04:00
Shadowfacts
aa625a41f5
Merge branch 'develop' into coredata
2020-05-06 19:18:58 -04:00
Shadowfacts
7fb92c9ce3
Prevent avatars in action notification group cell from overflowing
2020-05-06 19:18:47 -04:00
Shadowfacts
90bc9b91de
Add AccountProtocol and StatusProtocol
...
Provides a single interfaces for API and CoreData statuses and accounts
2020-05-06 18:40:12 -04:00
Shadowfacts
d6c506488b
Replace a bunch of MastodonCache uses with CoreData
2020-05-02 19:52:35 -04:00
Shadowfacts
5786c24846
Fix statuses/accounts updating
2020-05-02 12:45:28 -04:00
Shadowfacts
2cba168804
Fix account cells using old cache
2020-04-27 19:33:36 -04:00
Shadowfacts
49d00bb1b0
Fix swipe actions not showing up
2020-04-27 19:32:16 -04:00
Shadowfacts
f53474ac90
Use CoreData for notifications screen
2020-04-27 19:20:09 -04:00
Shadowfacts
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
Shadowfacts
030bee1948
Convert conversation VC to use CoreData models
2020-04-13 22:51:15 -04:00
Shadowfacts
2c8ba878b7
Start converting UI to use CoreData backed objects instead of API
...
objects directly
2020-04-12 12:54:27 -04:00
Shadowfacts
8a513186aa
Add pointer interactions status buttons and profile header more button
2020-03-24 23:02:40 -04:00
Shadowfacts
d9517047d7
Fix previewing video/audio attachments
2020-03-20 22:48:28 -04:00
Shadowfacts
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
Shadowfacts
2e8241d734
Move attachment context menu interaction to AttachmentView
2020-03-20 22:28:23 -04:00
Shadowfacts
c9c001d403
Improve attachment previewing
...
- Set correct preview size
- Don't show controls
2020-03-20 22:13:04 -04:00
Shadowfacts
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
Shadowfacts
5e9caf9179
Use LoadingLargeImageViewController for account avatar/header
...
Prevents crash when tapping unloaded avatar/header images
2020-03-17 21:42:09 -04:00
Shadowfacts
64f41ea2b7
Fix crash when updating timeline status cell timestamp
2020-03-15 12:17:19 -04:00
Shadowfacts
9af4118dfc
Show truncated note in account cell
2020-03-15 11:56:41 -04:00
Shadowfacts
64a8f6d733
Reorganize code
2020-03-15 11:43:41 -04:00
Shadowfacts
ca76568c79
Remove old code
2020-03-15 11:40:28 -04:00
Shadowfacts
34dccf1f37
Extract compose attachments into separate VC
2020-03-14 15:47:15 -04:00
Shadowfacts
d15fa2199e
Fix attachments container more view not beign removed on cell reuse
...
Closes #92
2020-03-11 22:49:53 -04:00
Shadowfacts
b232bec80f
Show custom emojis in content warnings
...
Closes #95
2020-03-11 21:56:35 -04:00
Shadowfacts
cd5b4c1145
Remove old code
2020-03-02 22:31:37 -05:00
Shadowfacts
c7746d3084
Add unknown notification fallback
...
Closes #90
2020-03-02 19:44:10 -05:00
Shadowfacts
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
Shadowfacts
53707593a6
Show custom emojis in display names (where possible)
2020-03-01 19:40:32 -05:00
Shadowfacts
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
Shadowfacts
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
Shadowfacts
56de0ab359
Update profile header to always reflect most recently cached data
2020-02-28 19:47:31 -05:00
Shadowfacts
1f56823a17
Add preference to disable gif animation in timelines
2020-02-22 13:12:28 -05:00
Shadowfacts
d7953470e3
Add rudimentary support for audio attachments
...
Closes #7
2020-01-26 18:50:45 -05:00
Shadowfacts
7c207efa07
Tweak More swipe action to be in-line with system appearance
2020-01-25 10:44:12 -05:00
Shadowfacts
5a6c12c5a7
Fix missing context menu actions on follow notifications for only one person
2020-01-25 10:30:04 -05:00
Shadowfacts
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
Shadowfacts
62408fc4bd
Merge branch 'master' into multiple-accounts
2020-01-22 22:30:30 -05:00
Shadowfacts
1d169bec67
Fix statuses showing incorrect timestamps when switching accounts
2020-01-22 22:30:05 -05:00
Shadowfacts
e9db3fa0ac
Collapse whitespace according to CSS spec after converting HTML to
...
attributed string
Fixes #27
2020-01-21 21:28:14 -05:00
Shadowfacts
08086f1b18
Fix compose reply view missing MastodonController instance
2020-01-20 15:25:23 -05:00
Shadowfacts
12b6623113
Merge branch 'master' into multiple-accounts
2020-01-20 12:16:11 -05:00
Shadowfacts
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
Shadowfacts
f7421d83ef
Add preference to mention reblogger when replying to a reblogged status
2020-01-19 23:48:36 -05:00
Shadowfacts
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
Shadowfacts
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
Shadowfacts
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
Shadowfacts
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
Shadowfacts
66fe861442
Merge branch 'master' into multiple-accounts
2020-01-18 19:33:01 -05:00
Shadowfacts
11f9642cba
Actually fix link interaction
2020-01-18 19:32:39 -05:00
Shadowfacts
6421d4dc12
Merge branch 'master' into multiple-accounts
2020-01-18 18:56:36 -05:00
Shadowfacts
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
Shadowfacts
e19364abdf
Fix content text view text color in dark mode
2020-01-18 18:21:01 -05:00
Shadowfacts
fa358a3e97
Remove xtra padding from content text view
2020-01-18 16:27:18 -05:00
Shadowfacts
5d86b35672
Enable text selection in conversation main status
2020-01-18 16:18:32 -05:00
Shadowfacts
784c71342d
Fix preformatted text not being displayed correctly
2020-01-18 16:05:44 -05:00
Shadowfacts
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
Shadowfacts
23de131290
Add preference to require attachment descriptions before posting
...
Closes #76
2020-01-17 21:55:21 -05:00
Shadowfacts
8178a1f339
Fix crash when tapping more actions buttons on iPad
...
Fixes #78
2020-01-17 21:29:53 -05:00
Shadowfacts
0255483f97
Make MastodonCache specific to each API controller
...
See #16
2020-01-05 19:54:28 -05:00
Shadowfacts
e3be424f5a
Fix instance public timelines not loading
2020-01-05 19:45:12 -05:00
Shadowfacts
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
Shadowfacts
a18bcac8b8
Pachyderm: Change Client request methods to be static, like all other
...
models
Tusker: Add run method to MastodonController and no-longer expose API
client object
2020-01-05 14:00:39 -05:00
Shadowfacts
ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
...
Closes #64
2020-01-04 23:13:23 -05:00
Shadowfacts
b70256c525
Remove old icons
2020-01-04 19:22:16 -05:00
Shadowfacts
3ecbb1895c
Replace GMImagePicker with custom asset picker based on SheetController
...
Fixes #23
Closes #50
2020-01-04 16:25:15 -05:00
Shadowfacts
49f58cf955
Initial UI testing setup
2019-12-30 16:00:14 -05:00
Shadowfacts
ae6a0513e4
Add local saved hashtags
...
Closes #66
2019-12-19 21:20:29 -05:00
Shadowfacts
afc2bfcf6b
Add list editing
2019-12-17 22:56:53 -05:00
Shadowfacts
036791bd39
Replace Search tab with Explore tab
...
- Search controller (functionally the same, presents results on top of
explore menu)
- Add bookmarks screen
See #63
2019-12-17 00:22:25 -05:00
Shadowfacts
05d79d5d03
Use same nav delegate more options for context menu share sheet
2019-12-14 13:36:05 -05:00
Shadowfacts
eb6cfba9aa
Fix tablel view cells being re-selected on aborted nav swipe back
2019-12-14 11:59:31 -05:00
Shadowfacts
d5232c0b03
Fix content warning label always showing in conversation main status
...
When the conversation was opened, the status state of the main status
would already be known, so the CW label wasn't getting updated or
hidden/shown.
2019-11-28 21:22:13 -05:00
Shadowfacts
b47b08fa95
Store status collapse state in containing view controller
...
Also, copy the state between screens, so e.g. expanding a status in the
timeline and then opening that conversation already has that status
expanded.
This intentionally doesn't store the sensitive attachment visibility
state, since showing text when not necessary is less dangerous than for
images. (Possibly a preference for this in the future?)
Closes #55
2019-11-28 18:36:58 -05:00
Shadowfacts
24a1e7ceb9
Unify most of TimelineStatus and ConverastionMainStatus cell code
...
Closes #54
2019-11-19 12:08:11 -05:00
Shadowfacts
8fb3b211b6
Add button to conversation table view to collapse/expand all posts
...
This needs a refactor once StatusTableViewCell and
ConversationMainStatusTableViewCell are merged. See #54
2019-11-18 22:28:47 -05:00
Shadowfacts
da6ff67a51
Add notification dismissal context menu actions
...
Closes #49
This is a workaround for UIKit's built-in suggested context menu actions
not working as expected, and should be replaced with the system thing if
it becomes possible.
2019-11-17 18:49:48 -05:00
Shadowfacts
a92d9ddc6f
Automatically collapse long (> 500 chars) statuses
...
Closes #12
2019-11-17 18:36:19 -05:00
Shadowfacts
eb8afdaab8
Change how pin icon is displayed on statuses
2019-11-17 15:28:58 -05:00
Shadowfacts
4cfe5e0fa5
Change action notification line limit to 3
2019-11-17 15:16:58 -05:00
Shadowfacts
975fb23292
Possibly fix crash when reblogger account is cached
2019-11-17 14:46:14 -05:00
Shadowfacts
85812d774d
Fix crash when trying to open context menu for attachment that hasn't yet loaded
2019-11-17 14:45:38 -05:00
Shadowfacts
81a5fce602
Add preference to always blur media
2019-11-17 12:52:42 -05:00
Shadowfacts
6ce96764f3
Use visual effect views for sensitive media hide button so the button is
...
visible regardless of the image color
2019-11-17 12:28:21 -05:00
Shadowfacts
42a0a8890c
Tweak profile header more button appearance
2019-11-17 11:33:49 -05:00
Shadowfacts
56d4a6690f
Fix crash when displaying posts with more than 4 attachments
2019-11-17 11:32:35 -05:00
Shadowfacts
c91a7baaa6
Show pinned posts on profiles
...
Closes #53
2019-11-17 11:14:33 -05:00
Shadowfacts
1808aaa3e8
A bunch of VoiceOver/Voice Control stuff
2019-09-26 22:32:51 -04:00
Shadowfacts
6225b2a02f
Use aspect fit for instance thumbnail
2019-09-24 14:45:47 -04:00
Shadowfacts
268aca9d7e
Fix a couple warnings
2019-09-23 11:07:32 -04:00
Shadowfacts
c84b042c33
Modify font descriptor traits when applying bold/italic formatting
...
instead of replacing font entirely.
Fixes #51
2019-09-22 19:30:15 -04:00
Shadowfacts
4b70b9d8b6
Fix attached media in compose view being displayed incorrectly
2019-09-22 19:02:19 -04:00
Shadowfacts
df8e0dedd4
Add instance selector
2019-09-15 15:01:35 -04:00
Shadowfacts
fc2aea04c3
Add hashtags to search
2019-09-14 21:24:43 -04:00
Shadowfacts
84a07fc718
Add preference to disable showing favorite/reblog counts
2019-09-14 15:00:52 -04:00
Shadowfacts
eb58a46ab7
Change how favorite/reblog counts are displayed
2019-09-14 14:55:09 -04:00
Shadowfacts
6e4f89df4a
Add support for video attachments
...
#7
2019-09-10 12:25:50 -04:00
Shadowfacts
befcc18e4d
Collapse statuses with content warnings
...
Closes #11
2019-09-09 18:40:23 -04:00
Shadowfacts
2edb65d302
Show favorite, reblog, and full timestamp in conversation main status
2019-09-07 17:10:58 -04:00
Shadowfacts
818c0afec6
Cleanup draft attachment loading and handle missing attachments
...
#4
2019-09-06 18:50:18 -04:00
Shadowfacts
49380692f3
Add context menu for follow notifications
2019-09-06 17:59:57 -04:00
Shadowfacts
8723921cec
Add context menu for status action notifications
2019-09-06 17:56:45 -04:00
Shadowfacts
817ebcb7eb
Add context menu for account cell
2019-09-06 17:50:27 -04:00
Shadowfacts
d9abf3ec09
Show list of accounts based on grouped notifications
2019-09-05 23:16:45 -04:00
Shadowfacts
76bc6a665c
Show list of accounts for grouped follow notifications
2019-09-05 22:30:58 -04:00
Shadowfacts
a8ae559c9d
Add timestamp to follow notifications
2019-09-05 19:53:08 -04:00
Shadowfacts
a363308147
Follow notification grouping
...
Closes #28
2019-09-05 19:35:19 -04:00
Shadowfacts
1618313742
Fav/reblog notification grouping
...
#28
2019-09-05 17:45:45 -04:00
Shadowfacts
1bc598691f
Fix a slew of bugs related to reblogs
...
Fixes #37
Fixes #38
Fixes #39
2019-09-05 14:24:13 -04:00
Shadowfacts
6a09c7e1e8
Tweak profile headers to better support long display names
2019-09-05 11:34:41 -04:00
Shadowfacts
84cfa923ca
Use Notification for updating view appearance on preferences change
2019-08-02 18:05:47 -06:00
Shadowfacts
199f95c465
Update cells when statuses/accounts change from other sources
2019-08-02 17:40:32 -06:00
Shadowfacts
44cfd44651
Fix faving/reblogging statuses by tapping buttons
2019-08-01 18:03:49 -06:00
Shadowfacts
917771a79a
Shrink display name font size in profile to accomodate long names
...
Fixes #30
2019-07-29 12:11:20 -04:00
Shadowfacts
509e013380
Add support for posts with more than four attachments
2019-07-27 22:45:11 -04:00
Shadowfacts
c29ebbb6a0
Start adding sensitive media hiding
2019-07-27 22:01:08 -04:00
Shadowfacts
e287142e4c
Fix attachments overlapping avatar when status doesn't have any content
...
Closes #25
2019-06-26 09:13:58 -04:00
Shadowfacts
1da5af9b37
Compose screen: Fix long display names overlapping character count
2019-06-25 09:19:29 -04:00
Shadowfacts
cd5b593199
Show gallery from conversation main status cell
2019-06-16 22:40:07 -04:00
Shadowfacts
85ed53b990
Fix multi-attachment layout issues
2019-06-16 22:39:46 -04:00
Shadowfacts
55fc032f36
Extract attachment layout to it's own view
...
Use AutoLayout + stack views instead of manual frames, fixes attachments
sometimes not using the whole width
2019-06-16 19:02:18 -04:00
Shadowfacts
e6c6293c10
Add multi-image gallery
...
Closes #18
2019-06-14 17:23:40 -07:00
Shadowfacts
940ba6d6cb
Fix swipe actions on iOS 13
2019-06-13 19:31:36 -07:00
Shadowfacts
bf48603deb
Temporarily disable LargeImageViewController animation
2019-06-12 22:44:23 -07:00
Shadowfacts
9d4782c63c
Add SF Symbols icons
2019-06-11 10:21:22 -07:00
Shadowfacts
6ecad62b94
More dark mode fixes
2019-06-04 17:58:35 -04:00
Shadowfacts
a89fb56a60
Add support for iOS 13 previewing and actions
2019-06-04 17:04:37 -04:00
Shadowfacts
b3b9d566b7
iOS 13 Dark Mode Support
2019-06-04 13:31:05 -04:00
Shadowfacts
66bb1050a5
Add support for additional formatting
...
Italics, bold, strikethrough, monospace, and (un)ordered lists
2019-04-04 21:45:48 -04:00
Shadowfacts
d94a0050b7
Show fields in profiles
...
Closes #19
2019-04-01 19:34:50 -04:00
Shadowfacts
9c0624b79e
Clean up warnings
2019-04-01 17:58:44 -04:00
Shadowfacts
07ce3d41a8
Remove old tab customization code
2019-02-10 10:32:13 -05:00
Shadowfacts
37f6a0b4c8
Add custom emojis
...
Closes #6
2019-02-09 21:15:15 -05:00
Shadowfacts
71bfd1513a
Fix links not getting cleared on cell reuse
2019-02-07 21:26:16 -05:00
Shadowfacts
ef6047fcb1
Replace TTTAttributedLabel with custom LinkLabel
2019-02-03 11:39:27 -05:00
Shadowfacts
55ed2f5d26
Get rid of AppRouter
2019-01-19 14:31:31 -05:00
Shadowfacts
b8430be00c
Initial rewrite/redesign of compose screen
...
Still pending:
- Posting videos
- Image resizing
- Attachment drawer thing
2019-01-14 21:59:42 -05:00
Shadowfacts
5b3a3d9729
Fix UIKit methods being invoked off main thread
2019-01-14 16:58:23 -05:00
Shadowfacts
07a79657a7
Fix crash on attachment-only statuses posted from pleromafe
2019-01-13 19:46:32 -05:00
Shadowfacts
656cc1d3ef
Fix tapping mentions not working in reblogs
2018-11-24 16:32:21 -05:00
Shadowfacts
f684591888
Use Gifu for GIF playback
2018-11-09 15:48:08 -05:00
Shadowfacts
ff91cca843
Fix long display names crushing timestamp label
2018-11-02 21:39:23 -04:00
Shadowfacts
29964a4cee
Add peek/pop to profile headers
2018-10-30 22:24:49 -04:00
Shadowfacts
aaddae1ecb
Fix bugs with reblogged statuses
...
Including: Attachments not showing up, 3d touch peek/pop not working,
favorite/reblog not working
2018-10-30 22:07:54 -04:00
Shadowfacts
7e8f22c471
Refactor view controller creation/navigation into AppRouter
2018-10-20 22:07:04 -04:00
Shadowfacts
35de20fe40
Cleanup
2018-10-20 15:38:17 -04:00
Shadowfacts
6fbd826371
Add link long press actions
2018-10-11 22:04:32 -04:00
Shadowfacts
0b6459a806
Add 3d touch peek/pop navigation
2018-10-11 21:52:41 -04:00
Shadowfacts
57b4e67cc2
Allow tabs to be enabled/disabled and reordered
2018-10-06 11:03:55 -04:00
Shadowfacts
b796f288c8
Merge branch 'image-caching'
2018-10-03 08:53:17 -04:00
Shadowfacts
82e351465e
Cache image attachments
2018-10-03 08:53:05 -04:00
Shadowfacts
fd611d1f04
Cache profile header images
2018-10-03 08:45:13 -04:00
Shadowfacts
982e42ca2f
Refactor AvatarCache to ImageCache
...
Use Cache library (https://github.com/hyperoslo/Cache ) for caching
2018-10-03 08:45:03 -04:00
Shadowfacts
ed6c371967
Don't show relationship label for the user's own account
2018-10-02 20:04:41 -04:00
Shadowfacts
225c7e30fc
Remove MastodonController.shared
2018-10-02 19:31:00 -04:00
Shadowfacts
589af9782d
Fix timestamps not being displayed for conversation main status
2018-10-02 08:37:04 -04:00
Shadowfacts
3d39087980
Replace ActiveLabel-based implementation with TTTAttributedLabel
2018-10-01 19:50:03 -04:00
Shadowfacts
a4eb862e3a
Use light text for usernames and timestamps
2018-09-30 21:15:18 -04:00
Shadowfacts
139a214d2f
Move StatusTableViewCellDelegate methods to TuskerNavigationDelegate
2018-09-30 19:29:52 -04:00
Shadowfacts
728a5a4ff1
Add preferences UI for silent XCB actions
2018-09-30 19:05:06 -04:00