185 Commits

Author SHA1 Message Date
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
64f41ea2b7
Fix crash when updating timeline status cell timestamp 2020-03-15 12:17:19 -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
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
7c207efa07
Tweak More swipe action to be in-line with system appearance 2020-01-25 10:44:12 -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
1d169bec67
Fix statuses showing incorrect timestamps when switching accounts 2020-01-22 22:30:05 -05:00
12b6623113
Merge branch 'master' into multiple-accounts 2020-01-20 12:16:11 -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
6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -05:00
fa358a3e97
Remove xtra padding from content text view 2020-01-18 16:27:18 -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
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
05d79d5d03
Use same nav delegate more options for context menu share sheet 2019-12-14 13:36:05 -05:00
eb6cfba9aa
Fix tablel view cells being re-selected on aborted nav swipe back 2019-12-14 11:59:31 -05:00
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
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
24a1e7ceb9
Unify most of TimelineStatus and ConverastionMainStatus cell code
Closes #54
2019-11-19 12:08:11 -05:00
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
a92d9ddc6f
Automatically collapse long (> 500 chars) statuses
Closes #12
2019-11-17 18:36:19 -05:00
eb8afdaab8
Change how pin icon is displayed on statuses 2019-11-17 15:28:58 -05:00
975fb23292
Possibly fix crash when reblogger account is cached 2019-11-17 14:46:14 -05:00
85812d774d
Fix crash when trying to open context menu for attachment that hasn't yet loaded 2019-11-17 14:45:38 -05:00
81a5fce602
Add preference to always blur media 2019-11-17 12:52:42 -05:00
c91a7baaa6
Show pinned posts on profiles
Closes #53
2019-11-17 11:14:33 -05:00
1808aaa3e8
A bunch of VoiceOver/Voice Control stuff 2019-09-26 22:32:51 -04:00
84a07fc718
Add preference to disable showing favorite/reblog counts 2019-09-14 15:00:52 -04:00
eb58a46ab7
Change how favorite/reblog counts are displayed 2019-09-14 14:55:09 -04:00
befcc18e4d
Collapse statuses with content warnings
Closes #11
2019-09-09 18:40:23 -04:00
2edb65d302
Show favorite, reblog, and full timestamp in conversation main status 2019-09-07 17:10:58 -04:00
1618313742
Fav/reblog notification grouping
#28
2019-09-05 17:45:45 -04:00
1bc598691f
Fix a slew of bugs related to reblogs
Fixes #37
Fixes #38
Fixes #39
2019-09-05 14:24:13 -04:00
84cfa923ca
Use Notification for updating view appearance on preferences change 2019-08-02 18:05:47 -06:00
199f95c465
Update cells when statuses/accounts change from other sources 2019-08-02 17:40:32 -06:00
44cfd44651
Fix faving/reblogging statuses by tapping buttons 2019-08-01 18:03:49 -06:00
509e013380
Add support for posts with more than four attachments 2019-07-27 22:45:11 -04:00
e287142e4c
Fix attachments overlapping avatar when status doesn't have any content
Closes #25
2019-06-26 09:13:58 -04:00
cd5b593199
Show gallery from conversation main status cell 2019-06-16 22:40:07 -04:00