280 Commits

Author SHA1 Message Date
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
8178a1f339
Fix crash when tapping more actions buttons on iPad
Fixes #78
2020-01-17 21:29:53 -05:00
0255483f97
Make MastodonCache specific to each API controller
See #16
2020-01-05 19:54:28 -05:00
e3be424f5a
Fix instance public timelines not loading 2020-01-05 19:45:12 -05:00
2bdcb9b7f8
Replace global shared MastodonController instance with (mostly)
dependency injection

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

See #16
2020-01-05 15:25:07 -05:00
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
ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
Closes #64
2020-01-04 23:13:23 -05:00
b70256c525
Remove old icons 2020-01-04 19:22:16 -05:00
3ecbb1895c
Replace GMImagePicker with custom asset picker based on SheetController
Fixes #23
Closes #50
2020-01-04 16:25:15 -05:00
49f58cf955
Initial UI testing setup 2019-12-30 16:00:14 -05:00
ae6a0513e4
Add local saved hashtags
Closes #66
2019-12-19 21:20:29 -05:00
afc2bfcf6b
Add list editing 2019-12-17 22:56:53 -05:00