Commit Graph

212 Commits

Author SHA1 Message Date
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