8caf93bf0a
Add ScrollingSegmentedControl, and home/notifs/profiles to use it
2022-12-12 20:57:38 -05:00
9c4b68b09e
Reorganize gestures
2022-12-12 20:56:14 -05:00
71a57e9859
Fix images copied from Safari pasting as URLs
...
Closes #301
2022-12-11 12:54:25 -05:00
081ef16e5e
Fix My Profile item in sidebar not updating when avatar style changes
...
Closes #298
2022-12-10 19:41:45 -05:00
b3ec259ce9
Fix status bar scroll to top not working in single-column navigation on iPad
...
Closes #296
2022-12-10 19:40:05 -05:00
4f48514d1a
Actually only restore existing statuses
2022-12-08 20:15:12 -05:00
f96acd33f2
Tweak timeline status VO labels to only include attachment text when not blurred
2022-12-06 22:29:03 -05:00
cde061c77a
Fix custom emoji not being stripped from usernames in VoiceOver labels
2022-12-06 22:26:08 -05:00
a79b3cfd70
Fix gallery controls not being accessible, fix escape gesture not working
...
Closes #292
2022-12-06 22:21:59 -05:00
9a35f96c75
VoiceOver: Include attachment descriptions in timeline statuses
...
Closes #291
2022-12-06 22:14:23 -05:00
60767c6a7e
Profile Directory screen VoiceOver improvements
...
Add label to filter button (and change icon to match other filters)
Make each profile a single accessibility element
2022-12-06 21:54:17 -05:00
57668886b2
Fix crash when scrolling through Local/Federated timeline with VoiceOver
...
It seems that the accessibility scroll mechanism does something like:
1. Find the next IndexPath to focus
2. Scroll to make it visible
3. Focus that cell
But because the timeline description cell is removed during the scroll,
the IndexPath that the accessibility system wants to focus becomes
invalid between steps 2 and 3, causing a crash when trying to focus it.
As a workaround, only remove the timeline description _item_ rather than
the header section so that section indices aren't affected.
Closes #290
2022-12-06 21:46:32 -05:00
ffb5c76f7c
Add preference to never blur attachments
2022-12-06 21:12:58 -05:00
00e8dd6345
Fix crash when previeiwng non-HTTP(S) link
2022-12-06 10:58:13 -05:00
7904462920
Fix serializing the nodeinfo version instead of the software version in breadcrumb
2022-12-05 22:24:33 -05:00
bebe563e8f
Further tweak persistent store migration
2022-12-05 19:32:59 -05:00
4be2258882
Fix saving expired filters not reenabling them
...
Closes #289
2022-12-05 19:01:32 -05:00
40ff8d0a2a
VoiceOver: improve description of gap cell, add actions to specify direction
2022-12-05 18:43:32 -05:00
0dcb7e71c4
Also perform jump to present check when the timeline VC reappears onscreen
2022-12-05 18:27:23 -05:00
08878f2fb9
Re-add tusker:// scheme
...
Apparently it was accidentally removed in d661870401
Closes #287
2022-12-05 17:28:28 -05:00
3ea7e1057b
Add preference to disable timeline state restoration
2022-12-05 17:24:01 -05:00
fc8fcb76fd
Fix crash when TimelineViewController tries to apply snapshot while not visible
2022-12-05 17:17:34 -05:00
eac2a9b19f
Move VoiceOver Jump to Present action to timeline pages segmented control
2022-12-05 17:13:45 -05:00
0ce57d1308
More fiddling with how Jump to Present works
...
Now, when loading present items, they're inserted into the data source
immediately along with a gap. If the user taps Jump to Present, then a
new snapshot _with only the present items_ will be applied (which allows
infinite scrolling to work properly when they scroll back down) and the
view scrolled-to-top. Tapping Go Back, then, applies the original
snapshot (i.e., the current one from when Jump to Present was tapped)
and restores the scroll position.
2022-12-05 17:09:11 -05:00
97dec0f9d2
Add accessibility hint for segmented controls
2022-12-05 16:25:16 -05:00
b64c748b73
Add Jump to Present VoiceOver action
...
Closes #288
2022-12-04 22:06:04 -05:00
77ab2c3753
Fix Trending Posts reloading on every appearance
2022-12-04 22:03:48 -05:00
b90262bfd0
Tweak fav/reblog counts pref text
2022-12-04 19:50:15 -05:00
581f4b24bd
Add Sentry breadcrumb for instance software/version
2022-12-04 18:26:06 -05:00
5f3d9da9f8
Only try to restore statuses that exist in the cache
...
This could result in discontinuities in the restored timeline, but I'm
not sure there's anything better we could do.
2022-12-04 17:34:28 -05:00
41775e5d19
Actually migrate to new persistent store locations
2022-12-04 17:33:09 -05:00
f1b1732e5c
Fix filter HTML to attributed string conversion optimization not being applied 🤦♂️
2022-12-04 15:36:26 -05:00
1da2b17a76
Fix dynamic type not applying to timeline status content
2022-12-04 15:35:54 -05:00
669404d6f8
Copy local-only status from replied-to post
...
Closes #280
2022-12-04 14:03:12 -05:00
2e21742264
Add Cmd+Enter keyboard shortcut for sending post
...
Closes #283
2022-12-04 14:01:09 -05:00
7763d08816
VoiceOver: Fix not being able to select account from conversation main status cell
2022-12-04 13:51:05 -05:00
726be85223
VoiceOver: Fix profile relationship label not being read
2022-12-04 13:51:05 -05:00
19bf6cbf18
VoiceOver: Add show profile rotor action to timeline statuses
...
Closes #285
2022-12-04 13:51:05 -05:00
df07fa85d5
Fix unsatisfiable constraints warning for ZeroHeightCollectionViewCell
2022-12-04 12:17:31 -05:00
e3e55de55b
Fix hide filter action not working on profiles
2022-12-04 12:11:52 -05:00
54857a3bf3
Avoid converting HTML to attributed string twice when displaying a status cell for the first time
...
Now, when Filterer performs the conversion, the status cell can reuse
the attributed string.
2022-12-04 12:08:22 -05:00
b28f616e85
Don't apply expired filters
2022-12-04 11:55:46 -05:00
97c7104dbc
Don't update constraints in StatusContentContainer.setCollapsed unless the state actually changes
2022-12-04 11:14:19 -05:00
6501343f24
Reapply filters on when they change
2022-12-04 10:54:02 -05:00
fabe339215
VoiceOver: Indicate filtered posts, make double tapping expand them
2022-12-03 23:20:19 -05:00
e1886509d3
Filter statuses on profiles
2022-12-03 23:11:09 -05:00
75e9c9f986
Fix home/list filters not applying to lists
2022-12-03 23:11:09 -05:00
a17afe247c
Better filter cell and animation for showing filtered post
2022-12-03 23:11:09 -05:00
81abcfcf7b
Timeline filtering!
2022-12-03 22:16:43 -05:00
7e5d8675c2
Extract HTML to attributed string converter to separate helper
2022-12-03 18:58:19 -05:00
cde3109203
Rename StatusState to CollapseState
2022-12-03 18:21:49 -05:00
fcf95ba8c1
Filters view UI tweaks
2022-12-03 15:22:10 -05:00
f71804f094
Extract filter create/update/delete logic into separate services
2022-12-03 14:40:12 -05:00
83ca7f1321
Creating filters UI
2022-12-03 14:40:12 -05:00
16a1e4008b
V2 filters API, CoreData, and editing UI
2022-12-03 12:29:11 -05:00
518a8eba0a
Start doing filters UI
2022-12-02 22:03:28 -05:00
8d56a6450e
Fix mute account time not being 1 week
2022-12-02 21:39:05 -05:00
8896bfbc59
Consistent "OK" capitalization
2022-12-02 18:06:15 -05:00
4ca57f8c76
Better case-insensitive sorting for lists
2022-12-01 18:26:48 -05:00
c9fa11cc3b
Fetch filters and store in CoreData
2022-11-30 22:16:33 -05:00
0247c50650
Fix invalid names being used for persistent store
2022-11-30 21:35:52 -05:00
eca06cb14a
Fix too much space on profile header view above description
2022-11-30 21:13:48 -05:00
c07e2cfdd8
Add more possibilities to relationship label on profile header
2022-11-30 17:05:18 -05:00
db7615d26f
Fix Edit List Accounts search field being jammed in the corner on iPad
2022-11-30 16:53:11 -05:00
2f0acad866
Return to previous item when the selected list/hashtag/instance is removed from the sidebar
2022-11-30 16:47:06 -05:00
a2b3fc0628
Fix saved/followed hashtag lookups being case-sensitive
2022-11-30 16:46:18 -05:00
e005b70071
Fix creating list on iPad not showing Edit List screen immediately
2022-11-30 16:34:12 -05:00
b515664db3
Fix creating list on iPad overwriting previous item navigation stack
2022-11-30 16:34:05 -05:00
948eff1f7e
Workaround for crash when pressing Cmd+1/2/... on macOS
...
See #253
The actions won't work, but it's better than crashing :/
2022-11-29 23:19:19 -05:00
f1a39c2faa
Add follow/unfollow hashtag actions
2022-11-29 23:14:36 -05:00
ab8e498cee
Refactor menu actions to allow presenting from menu bar items
2022-11-29 23:14:36 -05:00
c6da754875
Indicate when a followed hashtag caused a post to appear in the home timeline
2022-11-29 23:14:36 -05:00
97d5b955a0
Store followed hashtags
...
The followed hashtags may not load until after the timeline request
completes, and we want to be able to show the hashtag indicator (or at
least make a best effort attempt) immediately.
2022-11-29 23:14:36 -05:00
80f9800fd6
Completely replace all items when jumping to present
2022-11-29 20:53:00 -05:00
0485400c1f
Tweak how InstanceFeatures is updated
2022-11-29 20:52:39 -05:00
811aac35d7
Fix timeline statuses not getting deselected when entering split nav
...
Closes #275
2022-11-29 10:29:40 -05:00
a77b090435
Fix mute screen layout on iPad
...
Closes #276
2022-11-29 10:23:00 -05:00
21874b0966
Organize expanded custom emoji picker by category
...
Closes #223
2022-11-28 22:13:06 -05:00
08c63a2f84
Add indicator for locked profiles
2022-11-28 21:53:45 -05:00
97f00e9d6f
Indicate pending follow requests, feedback on successful async menu actions
...
Closes #265
2022-11-28 21:41:56 -05:00
a97a7e0aea
Fix attachments disappearing from status cells in certain circumstances
2022-11-28 20:40:24 -05:00
cf870916c9
Fix links in conversation main status not being activatable with VoiceOver
...
Closes #272
2022-11-28 19:14:08 -05:00
7297566060
Fix some swipe actions getting called off the main thread
2022-11-28 19:14:08 -05:00
4f28fec62a
Add links/mentions/hashtag to VoiceOver rotor in timelines
...
Closes #231
2022-11-28 19:14:08 -05:00
c01bc4d840
Compose screen VoiceOver improvements
2022-11-28 18:40:35 -05:00
ea6698a2d8
State restoration for non-home timeline pages
2022-11-28 16:33:19 -05:00
1e950b5ccb
State restoration for presented and edited drafts
...
Closes #270
2022-11-28 16:09:29 -05:00
3e5a3c81b5
Add cache size info to Advanced prefs
2022-11-28 14:05:35 -05:00
a5506aeab6
Add more tracing for notifications missing statuses
...
See #274
2022-11-27 21:54:58 -05:00
23b76a7276
Better crash messages for sidebar collapse/expand failures
2022-11-27 21:46:21 -05:00
d8f503351b
Limit edit list accounts search to accounts the user follows
2022-11-27 21:44:17 -05:00
d5887f1f02
Add post edited notifications
...
Closes #238
2022-11-27 11:50:14 -05:00
e04cdd16d6
Add preferences for status cell swipe actions
...
Closes #249
2022-11-26 20:26:26 -05:00
c256fb4cbd
When refreshing timeline, hide activity indicator as soon as loadNewer completes
2022-11-26 17:33:58 -05:00
21299c8eb8
Fix error when refreshing timeline with no items
2022-11-26 17:33:07 -05:00
527706154a
Fix long status table view cells not getting collapsed
2022-11-26 17:28:55 -05:00
07c86b6949
Fix gifv attachments not being centered
...
Closes #271
2022-11-25 13:20:31 -05:00
92cf938e99
Fix cells not being deselected in account list and status action account list
2022-11-24 12:30:56 -05:00
23f9e200dc
Fix potential crash when trying to save timeline state
2022-11-24 12:14:19 -05:00
366834e2e4
Tweak timeline state restoration to maintain scroll position of center item
2022-11-24 11:05:56 -05:00
d409d26478
Fix pressing CW button in Compose not toggling field visibility
...
Bring back the wrapper view, turn's out it was load bearing. We need to
be able to observe both the ui state and the draft object, while also
updating the observed draft object when the ui state's draft changes,
and this seems like the most straightforward way of doing that.
2022-11-23 14:07:03 -05:00
40800f964d
Fix jump to present not scrolling all the way to the top
2022-11-23 11:58:52 -05:00
9f7d16a70e
Don't show duplicate actions in status cell more actions menu
2022-11-23 11:47:00 -05:00
c2cb0a0c5a
Timeline state restoration
2022-11-23 11:35:25 -05:00
272f35417b
Rewrite account list VC using UICollectionView
2022-11-22 15:38:40 -05:00
848c3dd950
Rewrite status action account list to use UICollectionView
2022-11-22 15:29:17 -05:00
dfeb39b31f
Fix selecting draft not working
...
Closes #263
2022-11-22 14:00:41 -05:00
bab5226f2a
Fix albums in asset picker not being sorted by name
2022-11-22 13:57:56 -05:00
88cfbfb1f3
Improve reblog indicator on statuses
...
Closes #225
2022-11-22 11:48:59 -05:00
49f1d6339f
Fix crash when toggling collapse in Trending Posts
...
Closes #262
2022-11-22 11:47:57 -05:00
3e7cb443fa
Correct post content type warning
...
Hometown does not support formatting
2022-11-22 11:39:47 -05:00
b5c8a38b9b
Add preference for using twitter-style keyboard
2022-11-22 11:06:21 -05:00
ab19922530
Indicate verified profile links
...
Closes #241
2022-11-22 11:00:52 -05:00
45c844b065
Separate Shared Albums section in asset picker
...
Closes #244
2022-11-21 23:21:21 -05:00
47b838a386
Change timeline gap-filling to do a proper job of maintaining the bottom-relative scroll position
2022-11-21 22:47:44 -05:00
276691efbf
Embiggen gallery share/close buttons
...
Closes #257
2022-11-20 21:37:57 -05:00
0a8d50cc27
Fix double-tap to zoom in gallery not working
...
Closes #256
2022-11-20 15:48:29 -05:00
11e81acbc1
Fix toasts not adjusting font for Dynamic Type
2022-11-20 14:15:21 -05:00
fb2c9b341c
Fix custom alert action icon getting squished when Dynamic Type is on
...
Closes #254
2022-11-20 14:12:00 -05:00
810ae71832
Make poll options in Compose reorderable with drag/drop
2022-11-20 14:06:45 -05:00
001a73af3c
Workaround for profile header changing size when statuses are loaded in the background
...
Closes #250
2022-11-20 13:57:51 -05:00
c8375b742a
Make more actions button on profiles more prominent
2022-11-19 14:29:21 -05:00
9feef054fc
Fix list timeline VC presenting edit screen repeatedly
2022-11-19 14:22:26 -05:00
bf87ae7a7d
Add Add to List menu action to accounts
...
Closes #247
2022-11-19 14:22:26 -05:00
f8de6f9e10
Fix follow/block/mute actions showing up on user's own account
2022-11-19 14:10:19 -05:00
ab47fa776e
Store lists on MastodonController
2022-11-19 14:08:39 -05:00
7178473f34
Fix compose toolbar being hidden by software keyboard on iPadOS 15
...
Closes #252
2022-11-19 13:35:34 -05:00
c8319d8af2
Remove old and debug code
2022-11-19 13:11:29 -05:00
9ff1452c68
Show jump to present toast if necessary when scene re-appears
2022-11-19 13:09:37 -05:00
ce534c4a05
Actual gap cell implementation
2022-11-19 11:15:14 -05:00
0fddf94292
Timeline jump to present
2022-11-18 20:49:15 -05:00
8276e99d27
Timeline gaps and gap filling
2022-11-18 17:29:55 -05:00
a5ad8e43b1
Disable attachment colorspace conversion on Mastodon v4
2022-11-15 21:45:42 -05:00
ce7ce3ac92
Fix crash when requests race with own account
...
If the notifications/etc load first, and the table view cells are
created, mastodonController.account may still be nil
2022-11-14 21:38:24 -05:00
99a1c76cb1
Clean up instance type/feature detection
...
Add akkoma detection
2022-11-14 21:17:08 -05:00
af2d9e7eb8
Fix pleroma version detection
2022-11-13 18:24:46 -05:00
06ad46e639
Fix confirm reblog alert not adjusting to Dynamic Type
...
Closes #246
2022-11-13 17:15:06 -05:00
71f97d41c4
Fix certain instance features not being detected properly
2022-11-13 17:08:15 -05:00
df131f32c6
Fix reblog visibility dropdown displaying even when unsupported
2022-11-13 17:07:57 -05:00
77dece36d0
Fix Hometown versions not being parsed correctly
2022-11-13 17:05:08 -05:00
1a767ff910
Fix crash when opening My Profile on iPad
2022-11-13 14:30:00 -05:00
220c8050b1
Re-add pointer effects to Compose toolbar buttons
2022-11-13 14:15:44 -05:00
d4fa9c96e8
Add context menu action to delete draft
2022-11-13 14:03:51 -05:00
22b5d62ba1
Make GIF attachments animate in the Compose screen
2022-11-13 14:01:54 -05:00
b9bdd29986
Fix GIFs dragged from Finder posting as static images
...
Closes #239
2022-11-13 13:46:19 -05:00
f848bbf7c4
Remove unneeded ComposeContainerView
2022-11-12 22:59:11 -05:00
0fe9edfdbc
Fix crash when opening Drafts screen on macOS
2022-11-12 22:59:11 -05:00
6d2830cf78
Rewrite Compose toolbar with SwiftUI
...
Fixes buttons not being accessible with VoiceOver
Fixes content overflowing on small devices
Closes #232
Closes #218
2022-11-12 22:59:11 -05:00
7294ff6e1a
Status VoiceOver improvements
...
Closes #229
Closes #230
2022-11-12 15:17:30 -05:00
3fd62552b3
Hide redundant info from VoiceOver in mute screen
2022-11-12 14:45:30 -05:00
fa5abc27f7
Make profile fields view VoiceOver accessible
2022-11-12 14:43:47 -05:00
ccc47e204d
Fix InstanceFeatures not correctly using pleroma version
2022-11-12 14:34:57 -05:00
bf3f735062
Focus CW field immediately when CW enabled, move focus to main text view when return key pressed
...
Closes #226
2022-11-12 14:16:05 -05:00
de0198946e
Fix keyboard reappearing after pressing Post button on Compose screen
2022-11-12 13:52:36 -05:00
072a77b58e
Cleanup previewing actions code
2022-11-11 23:35:30 -05:00
eb7fe22863
Add mute action to profiles
...
Closes #201
2022-11-11 23:35:30 -05:00
f1511039ef
Add domain block action to profiles
2022-11-11 22:44:58 -05:00
5c479e3bf0
Convert wide-gamut images to sRGB before uploading
2022-11-11 21:02:38 -05:00
0413f326a0
Add block action to accounts
...
Closes #208
2022-11-11 19:09:34 -05:00
802a0ac9ba
Fix scope selector in Profile Directory being flipped
2022-11-11 18:30:09 -05:00
9da986e3b8
Tweak heuristic for showing profile fields in single column
2022-11-11 18:26:59 -05:00
e6a5b899be
Add context menu action for deleting lists on iPad
2022-11-11 18:20:16 -05:00
60bf3b2e33
Fix potential crash when deleting list
2022-11-11 18:16:44 -05:00
b465838b71
Fix renaming list not updating UI
...
Closes #213
2022-11-11 18:08:44 -05:00
21bd716844
Fix crash when creating list fails
...
Closes #212
2022-11-11 17:54:25 -05:00
523fb91b21
Add scope to search following accounts when editing list
...
Also fixes crash when loading or editing list
Closes #216
Closes #221
2022-11-11 17:33:48 -05:00
d8bf770902
Instance selector tweaks
...
Closes #234
Closes #237
2022-11-10 17:05:51 -05:00
10aa32d9cc
Don't use UIPageViewController for profiles
...
Closes #228
2022-11-10 17:00:46 -05:00
7474969969
Workaround for AVPlayerViewController controls not respecting safe area
...
Closes #176
2022-11-09 21:46:52 -05:00
319b5458fc
Fix refreshing not loading initial when previous attempt failed
...
Closes #214
2022-11-09 19:15:08 -05:00
f7304a011c
Fix images not being cached
...
Fixes #219
2022-11-09 18:56:59 -05:00
94dc5d3177
Fix not being able to tap links in profile fields
...
Closes #211
2022-11-09 18:51:27 -05:00
6d692c2730
Rewrite Drafts screen with SwiftUI
2022-11-09 18:18:31 -05:00
d0f8691560
Fix draft cells become untappably small
2022-11-09 17:20:56 -05:00
9a43ab5a13
Fix caret not scrolling into view when focusing compose text views
...
Closes #233
2022-11-09 17:18:17 -05:00
01124b76a3
Add Duckable package, make Compose screen duckable
2022-11-08 22:17:01 -05:00
7600954f4b
Refactor ComposeView to use a single List for everything
2022-11-07 22:58:01 -05:00
5a5c67e445
Try to prevent pruning accounts that still have statuses referencing them
2022-11-07 18:47:46 -05:00
e40f4faa8e
Rewrite TrendingStatusesViewController to use collection view
2022-11-05 15:13:20 -04:00
b56c6c37ec
Fix crash when ProfileHeaderView tries to create observers after ProfileVC is deinit'd
...
Can happen if the network is slow and the user closes the profile screen before the header loads
2022-11-05 14:42:40 -04:00
999118798c
Fix inserting pinned items that already exist when refreshing profile
2022-11-05 14:38:08 -04:00
84cf755332
Fix drawing VC background flickering in dark mode
...
Closes #199
2022-11-05 14:29:45 -04:00
5bd7c0ad2b
Add preference to prevent blurring media behind CW
...
Closes #203
2022-11-05 13:20:55 -04:00
7fe06d42ce
Consider content height, not just char count, when collapsing posts
...
Closes #205
2022-11-05 13:11:36 -04:00
20986ba3f0
Add preference for default reply visibility
...
Closes #207
2022-11-05 12:20:30 -04:00
97a95c435e
Improve performance when displaying posts with many custom emojis
...
Closes #204
2022-11-05 11:00:14 -04:00
b9555cf7dd
Dynamic type support in assorted places
2022-11-04 22:32:40 -04:00
590b9f0bcc
Dynamic type support on notifications screen
2022-11-04 22:32:34 -04:00
ca2ceaea56
Remove now-unused confirm load more table view cell
2022-11-04 22:32:34 -04:00
96d8a79d42
Dynamic type support in Explore screen
2022-11-04 21:47:42 -04:00
11233f7d25
Dyanmic type support in profile header view
2022-11-04 21:39:47 -04:00
a991e0f429
Dynamic Type support in status cells
2022-11-04 16:52:37 -04:00
bfdce07d81
Fix compose reply avatar being wrongly aligned for 1-line statuses
2022-11-03 19:14:52 -04:00
f5953655c5
Set merge policy on managed object contexts and maybe fix some CoreData errors?
2022-11-03 18:56:06 -04:00
6bc4993d81
Fix favorite/reblog menu actions not working
2022-11-03 18:48:39 -04:00
68646c4b4d
Fix objc associated objects not working in release builds
2022-11-03 18:37:32 -04:00
38b0d57118
Improve CoreData error reporting
2022-11-03 10:27:45 -04:00
7bdbd9f71a
Handle task cancellation in MastodonController.run
2022-11-02 23:00:29 -04:00
b47876dc3d
Fix retain cycle due to account follow action workaround
2022-11-02 22:59:44 -04:00
4644475bc7
Fix crashes when ProfileStatusesVC doesn't finish loading until ProfileVC is deinit'd
2022-11-02 22:53:07 -04:00