1128 Commits

Author SHA1 Message Date
6bb1f3b7dc Finish converting profiles to collection views 2022-10-28 21:31:18 -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
bb3e1b44b1 Hide live text controls when other gallery controls are hidden
Closes #189
2022-10-28 19:16:00 -04:00
868df25417 Disable pruning offscreen rows in new timelines
I don't think this is actually necessary, the system should kill us
often enough that the amount of items in the data source doesn't become
unmanageable.

Making modifications to the data source in viewDidDisappear was causing
the collection view's contentOffset to change to be scrolled to top
(roughly) when the view became visible again.

Disabling it also fixes several issues caused by updating the data
source even when there were no changes.

Closes #193
Closes #192
Closes #187
Closes #186
2022-10-28 19:05:07 -04:00
2801f65e67 Fix reblog labels in new cells not being tappable
Closes #197
2022-10-28 18:48:30 -04:00
cccde29e6c Fix crash when long-pressing Send Report button on iPad
Closes #190
2022-10-27 23:11:21 -04:00
aa0629d202 Don't dismiss issue reporter when email is cancelled
Closes #191
2022-10-27 23:10:00 -04:00
ba209fa4d2 Protect DiskCache.fileStates with a lock
Closes #194
2022-10-27 23:06:50 -04:00
d224f47b8c Fix long content warnings getting truncated in new status cells
Closes #185
2022-10-11 17:04:31 -04:00
ffb0ceba20 Remove old XCB code 2022-10-11 10:10:55 -04:00
1ac72bc363 Fix collection view cells not deselecting in split nav controller on iPad 2022-10-10 18:58:07 -04:00
dcc8f38f3d Fix key commands not working inside split nav controller on iPad
Fixes #179
2022-10-10 18:58:07 -04:00
8cf217d2ba Fix crash when trying to prune rows before statuses have loaded 2022-10-10 16:21:08 -04:00
7d66117fab Fix mentions from Misskey opening browser instead of profile view 2022-10-10 14:31:26 -04:00
9c0c1f87f8 Fix links/mentions/hashtags in timeline statuses not being tappable 2022-10-10 14:26:47 -04:00
7a2d8e78eb Attempt the third at making debug logging work in TestFlight 2022-10-10 14:25:25 -04:00
c15a5fc90f Fix reblog statuses being selected in timeline 2022-10-10 14:23:27 -04:00
212ce69ffd Log when status unexpectedly doesn't have URL 2022-10-10 14:21:12 -04:00
d1b4b39e86 Fix MultiThreadDictionary crash on iOS 15 due to using existential types
See #178
2022-10-09 21:53:58 -04:00
035034430e Fix crash when hovering with the cursor over certain text views
Closes #183
2022-10-09 20:49:08 -04:00
a703b7cc0a Prune offscreen rows on new timeline 2022-10-09 20:11:00 -04:00
e78bec8409 Fix sensitive attachments not being hidden in new timeline 2022-10-09 19:15:41 -04:00
412e4a4dc5 Fix public timeline descriptions not working
Closes #182
2022-10-09 19:11:34 -04:00
81e10326d3 Add logging to persistent store 2022-10-09 17:09:55 -04:00
20f88ef161 Fix debug logs not working
Apparently only values in Info.plist do substitution
2022-10-09 16:46:40 -04:00
d661870401 Include log data in issue/crash reports 2022-10-09 14:26:44 -04:00
1b186725ce Re-add timeline context menus 2022-10-08 23:47:42 -04:00
164a8e26c4 Fix not being able to press attachments in new status cells 2022-10-08 19:10:21 -04:00
cadcc1a92a Don't navigate to profile when tapping name stack in timeline status
Otherwise it's too difficult to open short posts
2022-10-08 16:53:48 -04:00
bcb3c24027 Fix context menu presentation animation getting clipped in new status cells 2022-10-08 16:53:48 -04:00
fd6a4ba41c Fix update timestamp work item firing too frequently
A reconfiguration would schedule a new work item without cancelling the
old one, resulting in the timestamp updating multiple times in quick
succession (noticeable for statuses <60s old).
2022-10-08 16:53:48 -04:00
3ab82b2dbb Fix attachments/cards flickering in new cells on reconfiguration 2022-10-08 16:53:48 -04:00
1ed218d5e3 Fix new status cells not showing meta indicators or reblog button visibility 2022-10-08 16:53:48 -04:00
0fee770411 Fix crash when displaying new status cells with polls 2022-10-08 15:12:17 -04:00
5b116c0d4e More logging! 2022-10-08 15:12:10 -04:00
b7a4f7e30f Make tapping content warning label toggle expand/collapse 2022-10-08 15:03:50 -04:00
ba1300b1b7 Re-add status cell dragging 2022-10-08 15:01:23 -04:00
817ef0c2cc New timeline key commands 2022-10-08 14:53:21 -04:00
18ee621489 Status cell swipe actions 2022-10-08 14:33:07 -04:00
ddf5094acf Only show collapse button on collapsible statuses 2022-10-08 13:21:01 -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
b30f149dc9 Use mutex on iOS 15 instead of os_unfair_lock
See #178
2022-10-08 10:57:59 -04:00
9b83566482 Fix TuskerTests not compiling 2022-10-08 10:55:55 -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
a38c89a17f Re-add public timeline descriptions 2022-10-01 15:32:06 -04:00
253fb8d27d Extract more things to TimelineLikeCollectionViewController 2022-10-01 15:08:51 -04:00
a682c8f5cc Extract a bunch of timeline view controller stuff to separate protocol 2022-09-24 11:39:12 -04:00
d18a4b3c42 Fixing loadInitial happening multiple times 2022-09-24 11:31:52 -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
b560bcd8dc Prevent loading indicator from potentially being added multiple times
Not sure how this could happen, but it's caused 1 crash in the wild so w/e
2022-09-19 22:35:27 -04:00
5ac76ef9c4 Revert "Maybe fix timeline discontinuities"
This reverts commit 43b4976ed7a7e2d94e61cd12147888f304f1fc43.

That commit reintroduced #166
2022-09-18 22:37:18 -04:00
d141ed7d03 Enable reblog with visibility on Pleroma 2022-09-18 22:01:57 -04:00
95e120afd6 Fix large image controls not being hidden on iPhone 14 Pro 2022-09-18 11:30:50 -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
c6c8f63e39 Fix compose reply view not working after ContentTextView refactor, use named CoordinateSpace for calculating scroll offset in reply avatar view 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
f2ab1778c5 Replace expanded emoji picker with SwiftUI 2022-09-15 21:49:50 -04:00
0f71d61b88 Fix crash when there are duplicate emojis
Closes #164
2022-09-15 21:10:52 -04:00
80c4fcce82 Use AnyAccount instead of EitherAccount for compose autocomplete 2022-09-15 21:05:18 -04:00
43b4976ed7 Maybe fix timeline discontinuities
See #174
2022-09-15 20:54:28 -04:00
ff3681627b Fix reblog status cell not showing selection background in spacer
Closes #175
2022-09-15 20:45:45 -04:00
35d21fb725 Switch to stable, hash-based account IDs
#160
2022-09-12 23:05:35 -04:00
bbfb3b0a7a Add loading indicator to DiffableTimelineLikeTableViewController 2022-09-12 22:05:19 -04:00
8b78a5e7ad Don't parent background managed object contexts to view context
Otherwise, certain operations require the background contexts to
interact with the view context, which can block the main thread from
accessing the view context (potentially causing hitches if the view
context access is in a critical path, like cell fetching).
2022-09-11 23:00:51 -04:00
66c17006d1 Fix poll votes displaying random number
i have no idea where the number was coming from
2022-09-11 22:35:09 -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
c2d1fe45d8 Update for iPhone 14 series 2022-09-07 18:43:46 -04:00
24591cee05 Improve account switching animation 2022-08-01 21:29:24 -04:00
50dd785ef8 ContentTextView cleanup 2022-07-31 19:39:14 -04:00
af2e95ea39 Fix apparent crash when tapping tab bar item of selected tab 2022-07-11 15:07:11 -04:00
4fa1bd7268 Fix crash due to nested navigation controllers 2022-07-11 14:59:01 -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
5a5364ad3b Use iOS 16 API for disabling compose attachment list scrolling 2022-07-09 11:02:01 -04:00
5b70c713b2 Two column navigation on iPad 2022-07-06 17:47:40 -04:00
efb96eddf3 Fix compiling for Catalyst 2022-07-02 11:33:15 -07: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
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
f9c3ad5921 Bring back interactive keyboard dismissal on compose screen 2022-06-28 17:30:04 -07:00
0960699699 Fix building for iOS 14 2022-06-28 17:29:46 -07:00
c6e06fe9f3 Use SwiftUI for sheet presentation detents on iOS 16 2022-06-28 17:29:46 -07:00
10f6a68065 Use new-style self-sizing cells on iOS 16 2022-06-28 17:29:46 -07:00
037b717e60 Include filename extension for attachments
Fixes posting attachments on pleroma resulting in them served as
application/octet-stream, even though we're sending the mime type as well
2022-06-28 17:29:46 -07:00
9fa352d4f8 Fix retain cycle in DiffableTimelineLikeTableViewController 2022-06-28 17:29:46 -07:00
73345bb927 Always used stacked search field in instance selector 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
46fbbdc99a Always use stacked search bar placement on iPadOS 16 2022-06-10 23:44:52 -04:00
08b7cf013b Use browser-style navigation bars on iPad 2022-06-10 23:44:52 -04:00
f702df2f15 Add context menu action for deleting draft so it's accessible by cursor 2022-06-10 23:44:52 -04:00
92efee6f46 Fix crash when loading older/newer notifications on Pixelfed
Damn Pixelfed returning nonsensical pagination links

Closes #166
2022-06-10 23:44:52 -04:00
facf039f97 Live text in gallery view 2022-06-10 23:44:52 -04:00
d7f35cd1e4 Bring back interactive keyboard dismissal on Compose screen 2022-06-10 23:44:52 -04:00
332637e0d9 Add edit menu actions 2022-06-10 23:44:52 -04:00
6d6fd3d49d Maybe fix crash in sceneDidEnterBackground 2022-06-10 23:44:52 -04:00
b4675a97c7 Add missing awaits due to changed overload resolution 2022-06-10 23:44:52 -04:00
02e3417c27 Full size attachment previews on Compose screen (iOS 16)
Closes #110
2022-06-10 23:44:44 -04:00
f5ac2616ad Disable unnecessary UIAppearance hacks on iOS 16 2022-06-07 09:42:33 -04:00
01bb37b0f6 Fix warning 2022-06-06 23:58:43 -04:00
a4d43889ce Fix crash when opening conversations in new windows 2022-06-06 23:00:57 -04:00
4991da1622 Add favorite/reblog menu actions on iOS 16 2022-06-06 22:58:14 -04: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
65e75afa8b Fix using -[NSObject description] instead of attachmentDescription field 2022-05-16 22:53:27 -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
68b03838a2 Fix saved hashtags sorting being case-sensitive 2022-05-15 10:37:38 -04:00
1f0025b101 Fix Send Message action not working on iPad/Mac 2022-05-15 10:34:39 -04:00
b46f007f64 Fix Cmd+N shortcut for Compose not working on Mac (Catalyst or Designed
for iPad)
2022-05-15 10:34:24 -04:00
ecab33bdce Better generics for LazilyDecoding 2022-05-13 17:33:07 -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
2f75510889 Disable transparent nav bar in conversation vc 2022-05-11 19:15:56 -04:00
46332cd1b9 Jump to statuses below parent when expanding subthread in conversation 2022-05-11 19:12:28 -04:00
21e9ca990d Use async/await for conversation loading 2022-05-11 19:10:38 -04:00
1a02319894 Fix using old style for show all statuses bar button item when showing a
conversation that initially expands all statuses
2022-05-11 11:33:18 -04:00
4a95ccccdb Show expand thread indicator when there are additional replies to an
intermediate post in thread authored by a single person
2022-05-11 11:20:01 -04:00
d3187ce2c4 Move saved instances and hashtags to CoreData 2022-05-10 22:58:30 -04:00
ed0643c4ad Change explore swipe action titles 2022-05-10 22:58:30 -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
3e5c441b24 Fix crash when refreshing polls 2022-05-09 15:54:27 -04:00
0b6c16b0a6 Fix newly created statuses/accounts not having lastFetchedAt set
awakeFromFetch is only called on existing objects
2022-05-06 10:24:50 -04:00
5f566724bb Fix compose CW field overflowing 2022-05-03 20:14:55 -04:00
4a89ae3cfe Don't cache state of follow menu action
Fixes #151
2022-05-02 17:59:03 -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
a22059a1a1 Show current user avatar in sidebar 2022-04-30 13:05:20 -04:00
2cfefc9432 Add "Add Account" placeholder to fast account switcher 2022-04-30 11:46:14 -04:00
2f7c7bae5e Extract status posting to separate class, convert to async/await 2022-04-30 11:11:22 -04:00