Commit Graph

830 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 4abda02b76
Only show drafts from current account 2020-01-22 22:27:58 -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 59277ec64f
Change drafts to store which accounts was used to create them
When loading a draft:

If the draft was created from a different account than the current one:
    If the draft was in reply to a status, don't allow it to be loaded.
    If the draft was not in reply to a status, prompt the user whether
    or not to load the draft.
If the draft was in reply to a different status than the current one:
    Prompt the user whether or not to load the draft.
Otherwise, load the draft.

Draft replies created from other accounts can't be loaded from different
accounts because the status for inReplyToID of the draft will have a
different instance-local ID if the two accounts are on different
instances.

See #16
2020-01-20 15:26:25 -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 ff97b0f76d
Change saved hashtags/instances to be per-account
See #16
2020-01-20 11:48:47 -05:00
Shadowfacts 26f1aafa15
Unify SavedHashtagsManager and SavedInstancesManager 2020-01-20 11:20:39 -05:00
Shadowfacts c99a724bf3
Fix instance public timelines crashing
The instance timeline controller needs to store a strong reference to
the instance-specific MastodonController since the timeline VC only
holds a weak reference, and unlike normal screens, the scene session
doesn't hold onto the MastodonController for other instances.
2020-01-20 11:18:55 -05:00
Shadowfacts f7421d83ef
Add preference to mention reblogger when replying to a reblogged status 2020-01-19 23:48:36 -05:00
Shadowfacts 7934bc15ac
Split Composing prefs into Composing and Replying 2020-01-19 23:23:31 -05:00
Shadowfacts 3aa5aa1bc0
Fix weird crashes when switching accounts 2020-01-19 23:16: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 2f630f2f8f
Fix retain cycle between MastodonController/MastodonCache
The cache should only store a weak reference to the controller, so that
when the controller is deinit'd the cache is as well.
2020-01-19 23:14:13 -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 c45dd99088
Clean up account switching code 2020-01-19 11:52:06 -05:00
Shadowfacts 863867c522
Add logging in to additional accounts and switching accounts via Preferences
See #16
2020-01-18 22:45:06 -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 53702a8324
Add pinned status refreshing
Closes #82
2020-01-17 21:13:17 -05:00
Shadowfacts bb86e1aafd
Allow rotaion in the attachment gallery
Closes #77
2020-01-07 22:19:38 -05:00
Shadowfacts db4312ee34
Fix refreshing multiple times with no new data not working
When the requested range has no results, no pagination data is returned,
so the existing `newer` request range is replaced with nil. As there
was no new data, the existing request range is still correct and should
not be replaced.

Fixes #75
2020-01-07 21:54:19 -05:00
Shadowfacts 3928b2e88a
Store an array of logged-in accounts internally, get the active
MastodonController from the current UIScene

See #16
2020-01-07 21:29:15 -05:00
Shadowfacts 8dba15ca17
Switch to scene-based lifecycle events
See #16
2020-01-07 18:39:19 -05:00
Shadowfacts ec2062ad42
Fix not being able to sign into Mastodon instances not in the
recommended list
2020-01-06 22:14:17 -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 c31916d67e
Remove references to old images 2020-01-04 23:04:45 -05:00
Shadowfacts 05cc3fd6d9
Add pinning/unpinning statuses
Closes #69
2020-01-04 19:31:35 -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 b2956b6118
Convert HEIC images to JPEG before upload
Fixes #60
2019-12-31 16:41:56 -05:00
Shadowfacts 6ef643e374
Fix custom instances not showing up when typed into the instance
selector search field

With Combine Cancellables are automatically cancelled on deinit, so the
instance selector needs to hold on to a reference to pipeline
cancellable for its lifetime, otherwise it's cancelled immediately after
creation.

Closes #59
2019-12-31 11:45:34 -05:00
Shadowfacts 18c3c3c434
More UI testing setup and API mocks 2019-12-31 11:40:56 -05:00
Shadowfacts b9e359ba83
Fix custom instance domains not being parsed correctly 2019-12-31 00:13:09 -05:00
Shadowfacts edb86fc503
Add theme toggle separate from system appearance
Closes #67
2019-12-31 00:12:18 -05:00
Shadowfacts 49f58cf955
Initial UI testing setup 2019-12-30 16:00:14 -05:00
Shadowfacts 377b5f5c85
Add ability to save and view instance public timelines 2019-12-19 22:55:41 -05:00
Shadowfacts f92a2acc97
Show list edit screen immediately upon creation 2019-12-19 21:37:47 -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 76a7c5bdf8
Add list deletion 2019-12-17 21:40:08 -05:00
Shadowfacts 19f15d8fa9
Add list creation 2019-12-17 21:18:32 -05:00
Shadowfacts 270cbc2a6c
Add lists to Explore tab
Closes #63
2019-12-17 21:10:30 -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 382decd7da
Fix search section titles 2019-12-16 22:23:12 -05:00
Shadowfacts 05d79d5d03
Use same nav delegate more options for context menu share sheet 2019-12-14 13:36:05 -05:00
Shadowfacts 4c0607af79
Add (un)bookmarking to status more options 2019-12-14 12:40:50 -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 c26657bafa
Use synchronized MastodonCache to prevent race condition crashes 2019-12-14 11:31:14 -05:00
Shadowfacts 0c78af7d4f
Store in reply to status in drafts 2019-12-14 11:30:35 -05:00
Shadowfacts 681cdb8bb5
Fix automatically created drafts not being deleted after successful post
The newly created draft needs to be set to the compose VC's currentDraft
so that it gets removed after the status is successfully created.

Also, save the drafts to disk after saving a draft so that crashes don't
cause draft loss.
2019-11-28 22:26:37 -05:00
Shadowfacts 06442b5629
Fix controls in large image/gallery not hiding/showing on zoom
Closes #58
2019-11-28 21:51:24 -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 7140590ccf
Fix covnerstaion expand/collapse button not working on all statuses 2019-11-28 18:58:47 -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 d4fa2f36e3
Remove send message from profile share menu 2019-11-17 15:19:20 -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 150adeb581
Use custom navigation controller for preferences to override
viewWillDisappear method and send preferences changed notification

Workaround for #36
2019-11-17 14:31:07 -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 af65aa88e0
Don't use suggested actions in context menus 2019-11-17 10:19:50 -05:00
Shadowfacts c85836eda6
Add preferences for using in-app vs out of app Safari and using Reader Mode for in-app 2019-11-14 19:53:27 -05:00
Shadowfacts 5076aec54e
Use ObservedObject for binding to prefs in SwiftUI instead of custom property wrappers 2019-11-14 19:53:00 -05:00
Shadowfacts b4d41ac9b7
Fix crash in compose screen 2019-09-28 00:37:43 -04: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 adef4840de
Don't crash on login cancelled 2019-09-24 14:45:29 -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 682d68fd81
Change order of notification dismissal swipe action 2019-09-19 22:09:17 -04:00
Shadowfacts f0c0376f80
Add home screen shortcuts 2019-09-19 16:55:15 -04:00
Shadowfacts d0c49144c4 Add notification dismissal swipe action
#49
2019-09-16 16:09:13 -04:00
Shadowfacts 911e73c78f
Add haptic feedback to switching segmented pages 2019-09-16 13:14:58 -04:00
Shadowfacts 65ceb83d2d
Add logout button to preferences 2019-09-16 13:12:23 -04:00
Shadowfacts bc2e3c37a0
Add NSUserActivity for search 2019-09-15 21:20:50 -04:00
Shadowfacts d08789bfab Add NSUserActivity for checking mentions 2019-09-15 21:15:40 -04:00
Shadowfacts 9f818328ee Cleanup user activity and XCB action handling code 2019-09-15 21:15:40 -04:00
Shadowfacts 32d6756762 Add NSUserActivity's for timelines 2019-09-15 21:15:40 -04:00
Shadowfacts e17e00583f
Add X-Callback-URL for search 2019-09-15 18:12:49 -04:00
Shadowfacts 078f9e076d
Allow searching for posts/users by opening URL with the tusker:// protocol 2019-09-15 16:13:18 -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 e121dd37b8
Add Search tab
Closes #31
2019-09-14 20:47:08 -04:00
Shadowfacts dfb72edbd8
Fix opening context menu previews
Closes #43
2019-09-14 16:48:43 -04:00
Shadowfacts d3e31541cf Don't allow swiping in SegmentedPageViewController 2019-09-14 15:59:32 -04:00
Shadowfacts 88344c67e8 Merge timeline tabs
Closes #46
2019-09-14 15:59:32 -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 905b6a0a21
Add preference for default notifications display mode 2019-09-14 13:02:33 -04:00
Shadowfacts 6ab8f99cc2
Use @Published for preferences and manually encode/decode 2019-09-14 12:15:40 -04:00
Shadowfacts 8bb6e9403d Add toggle to control whether Notifications tab shows all or just mentions
Closes #45
2019-09-14 12:04:20 -04:00
Shadowfacts d52875cf25 Allow Pleroma instances to exceed Mastodon attachment limits
Closes #35
2019-09-11 16:57:42 -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 2e6f7d8878
Store CW in drafts 2019-09-08 17:57:11 -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 9522509f8f
Remove unnecessary XIBs 2019-09-06 17:45:49 -04:00
Shadowfacts 006af1ab79
Save status draft while posting to prevent data loss due to crashes
Closes #33
2019-09-06 17:09:28 -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 ad0bbe0ab2
Remove old code 2019-09-05 14:04:05 -04:00
Shadowfacts f4b0b9b70a
Use share sheet instead of alert controller for status options 2019-09-05 13:40:10 -04:00
Shadowfacts b60688f4b8
Show share sheet with custom activities instead of alert controller for account actions 2019-09-05 12:49:17 -04:00
Shadowfacts 6a09c7e1e8
Tweak profile headers to better support long display names 2019-09-05 11:34:41 -04:00
Shadowfacts e07bc4e51a
Fix crash when viewing profiles 2019-08-21 23:22:14 -04:00
Shadowfacts 0df8ada3d6
Changes for iOS 13 beta 6 2019-08-07 16:59:11 -04:00
Shadowfacts 7064ae950e
Changes for iOS 13 beta 5 2019-08-05 21:08:00 -06:00
Shadowfacts abd73fbe3b
Use timeline segments for profile view controller 2019-08-02 18:23:45 -06: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 51a03553a9
Add preference for how reply CWs are copied 2019-07-31 21:25:44 -06:00
Shadowfacts 9dfaa9e023
Use timeline segments for notifications 2019-07-31 20:09:38 -06:00
Shadowfacts 82c56d2bd1
Use MastodonCache for notifications
In preparation for using timeline segments for notifications
2019-07-31 20:01:00 -06:00
Shadowfacts d9b21a0196
Represent timelines internally as segments
Primarily in preparation for timeline position persistence and split
timelines
2019-07-31 17:42:19 -06:00
Shadowfacts 83d5731f3a
Fix broken shortcuts 2019-07-29 12:15:33 -04: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 9a6723a895
Fix some images scrolling unnecesarily in LargeImageViewController 2019-07-29 11:38:57 -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 5f5ff68b80
Merge branch 'swiftui-preferences' 2019-07-27 21:59:21 -04:00
Shadowfacts 1e8ba5000b
Cleanup code 2019-07-27 21:43:08 -04:00
Shadowfacts 2afe98cf77
Remove old Preferences view code 2019-07-27 21:43:02 -04:00
Shadowfacts a1c6a34f54
Preferences Picker titles 2019-07-27 21:34:20 -04:00
Shadowfacts 7d7b457575
Fix context menu actions in beta 4 2019-07-27 18:53:07 -04:00
Shadowfacts e269e23527
Fix main thread checker warning on login 2019-07-27 18:31:55 -04:00
Shadowfacts 8bdfa7f09f
Use monospace digit font for character counter
Fixes #29
2019-07-27 18:27:47 -04:00
Shadowfacts 319c76f60a
Updates for beta 4 2019-07-18 18:44:35 -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 50d641eb59
Block gab.* domains from logging in 2019-06-19 19:12:42 -04:00
Shadowfacts bc5067d3b0
Temporarily disable UIMenu stuff due to missing creation method in iOS 13 DB2 2019-06-18 09:51:46 -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 0abc28900c
Large Image VC: Show share sheet instead of downloading 2019-06-14 17:10:17 -07:00
Shadowfacts bd8e16cacb
Large Image VC: Don't let image overlap top controls when zoomed out 2019-06-14 15:27:17 -07:00
Shadowfacts ea143ea0dd
Large Image VC: Hide home indicator when controls hidden 2019-06-14 14:46:19 -07:00
Shadowfacts 730308df3f
Re-add custom LargeImageViewController presentation/dismissal animations 2019-06-14 00:00:53 -07:00
Shadowfacts 940ba6d6cb
Fix swipe actions on iOS 13 2019-06-13 19:31:36 -07:00
Shadowfacts 2232bb8fb7
Copy content warning on reply
Closes #21
2019-06-13 18:12:29 -07:00
Shadowfacts f2e3870850
Start rewriting preferences in SwiftUI 2019-06-13 17:53:17 -07:00
Shadowfacts b478f6e982
Fix interactive dismissal for reply screen 2019-06-13 14:54:55 -07:00
Shadowfacts d3aa2eff5a
Use inset grouped style for preferences 2019-06-13 13:28:12 -07:00
Shadowfacts fccdd0a9bd
Use SF Symbol icon for add attachment button 2019-06-13 13:13:53 -07:00
Shadowfacts 1997aaf915
Add visiblity and formatting icons 2019-06-13 12:38:40 -07:00
Shadowfacts ee848d6284
Support iOS 13 interactive dismissal of compose screen 2019-06-13 12:15:49 -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 2c452b08e8
Fix deprecation warning 2019-06-04 13:37:31 -04:00
Shadowfacts 03f89c752e
Fix logging in on iOS 13 2019-06-04 13:31:12 -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 8b24457d96
Store attachments in post drafts 2019-02-22 13:53:38 -05:00
Shadowfacts 9efc58225c
Allow drafts to be deleted 2019-02-22 11:30:38 -05:00
Shadowfacts 3366b16c96
Add option to attempt to open links in their respective apps 2019-02-22 10:24:20 -05:00
Shadowfacts 07ce3d41a8
Remove old tab customization code 2019-02-10 10:32:13 -05:00
Shadowfacts 7f3128c958
Add prefetching for images in table views 2019-02-09 21:15:15 -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
Shadowfacts 5b3a3d9729
Fix UIKit methods being invoked off main thread 2019-01-14 16:58:23 -05:00
Shadowfacts 07a79657a7
Fix crash on attachment-only statuses posted from pleromafe 2019-01-13 19:46:32 -05:00
Shadowfacts fe85e3c1d6
Redo app navigation/tab bar 2019-01-05 12:59:55 -05:00
Shadowfacts 656cc1d3ef
Fix tapping mentions not working in reblogs 2018-11-24 16:32:21 -05:00
Shadowfacts 9f423e0c40
Remove old debug print 2018-11-24 16:30:06 -05:00
Shadowfacts e3d27e0720
Add undo scroll-to-top 2018-11-10 11:48:09 -05:00
Shadowfacts f684591888
Use Gifu for GIF playback 2018-11-09 15:48:08 -05:00
Shadowfacts 86d064dc6e
Don't cache attachments to disk, only avatars and headers 2018-11-07 19:24:52 -05:00
Shadowfacts ff91cca843
Fix long display names crushing timestamp label 2018-11-02 21:39:23 -04:00
Shadowfacts 29964a4cee
Add peek/pop to profile headers 2018-10-30 22:24:49 -04:00
Shadowfacts 5cd68cf774
Fix crash when My Profile is first tab loaded
Closes #5
2018-10-30 22:18:10 -04:00
Shadowfacts 4bf49211fd
Fix large images being offset on some devices
Closes #6
2018-10-30 22:14:02 -04:00
Shadowfacts aaddae1ecb
Fix bugs with reblogged statuses
Including: Attachments not showing up, 3d touch peek/pop not working,
favorite/reblog not working
2018-10-30 22:07:54 -04:00
Shadowfacts 7eb377ec6b
Fix strange large image VC presentation animation
Workaround for using XIB instead of storyboard

Closes #4
2018-10-29 19:56:05 -04:00
Shadowfacts 82d4fe22cf
Cleanup visibility selection 2018-10-25 21:54:07 -04:00
Shadowfacts ba55540712
Add Behavior preferences section 2018-10-25 21:29:13 -04:00
Shadowfacts df6976df2f
Add post drafts 2018-10-22 22:09:11 -04:00
Shadowfacts c1bfc6d3d9
Fix presenting nested modal view controllers through AppRouter 2018-10-22 20:37:12 -04:00
Shadowfacts 7e8f22c471
Refactor view controller creation/navigation into AppRouter 2018-10-20 22:07:04 -04:00
Shadowfacts 35de20fe40
Cleanup 2018-10-20 15:38:17 -04:00
Shadowfacts d9fa189848
Fix Safari VCs being presented incorrectly from peek/pop, cleanup VC previewing code 2018-10-20 15:35:56 -04:00
Shadowfacts eb9e1276df
Replace most storyboards with XIBs 2018-10-20 12:13:41 -04:00
Shadowfacts 9e7e16b3fc
Start adding Siri Shortcuts 2018-10-20 10:55:01 -04:00
Shadowfacts 21d10fdf7d
Add 3d touch to profiles 2018-10-18 13:30:19 -04:00
Shadowfacts 6fbd826371
Add link long press actions 2018-10-11 22:04:32 -04:00
Shadowfacts 0462e57635
Add 3d touch preview actions 2018-10-11 21:52:41 -04:00
Shadowfacts 0b6459a806
Add 3d touch peek/pop navigation 2018-10-11 21:52:41 -04:00
Shadowfacts 5f503cafb0
Make ConversationViewController a UITableViewController 2018-10-11 21:10:25 -04:00
Shadowfacts 57b4e67cc2
Allow tabs to be enabled/disabled and reordered 2018-10-06 11:03:55 -04:00
Shadowfacts 0f37843a5b
Fix crash on follow notification 2018-10-05 19:25:48 -04:00
Shadowfacts b796f288c8
Merge branch 'image-caching' 2018-10-03 08:53:17 -04:00
Shadowfacts 82e351465e
Cache image attachments 2018-10-03 08:53:05 -04:00
Shadowfacts fd611d1f04
Cache profile header images 2018-10-03 08:45:13 -04:00
Shadowfacts 982e42ca2f
Refactor AvatarCache to ImageCache
Use Cache library (https://github.com/hyperoslo/Cache) for caching
2018-10-03 08:45:03 -04:00
Shadowfacts ed6c371967
Don't show relationship label for the user's own account 2018-10-02 20:04:41 -04:00
Shadowfacts a6373f7e10
Extract Appearance preferences into separate controller 2018-10-02 19:39:39 -04:00
Shadowfacts 225c7e30fc
Remove MastodonController.shared 2018-10-02 19:31:00 -04:00
Shadowfacts 05e747a6f4
Add my account tab 2018-10-02 19:23:50 -04:00
Shadowfacts 57cbebecbd
Merge branch 'master' of github.com:shadowfacts/Tusker 2018-10-02 18:28:38 -04:00
Shadowfacts 589af9782d
Fix timestamps not being displayed for conversation main status 2018-10-02 08:37:04 -04:00
Shadowfacts f7a2576842
Use child view controller for loading 2018-10-01 21:25:10 -04:00
Shadowfacts 3d39087980
Replace ActiveLabel-based implementation with TTTAttributedLabel 2018-10-01 19:50:03 -04:00
Shadowfacts adffe41c95
Add tapping hashtags to show tag timeline 2018-09-30 21:28:22 -04:00
Shadowfacts a4eb862e3a
Use light text for usernames and timestamps 2018-09-30 21:15:18 -04:00
Shadowfacts 96953cf235
Add tapping mentions to show profiles 2018-09-30 21:12:23 -04:00
Shadowfacts 139a214d2f
Move StatusTableViewCellDelegate methods to TuskerNavigationDelegate 2018-09-30 19:29:52 -04:00
Shadowfacts 728a5a4ff1
Add preferences UI for silent XCB actions 2018-09-30 19:05:06 -04:00
Shadowfacts 81a67ee76b
Minor UI tweaks 2018-09-30 19:05:06 -04:00
Shadowfacts db1be505e0
Switch to new text view placeholder implementation 2018-09-30 19:04:58 -04:00
Shadowfacts 3da1a7badd
Add character counter 2018-09-29 22:20:17 -04:00
Shadowfacts 813ed27d29
Refactor XCB actions code, add JSON responses 2018-09-25 21:41:12 -04:00
Shadowfacts 0bfc96fe38
Add getAccount XCB action 2018-09-25 21:20:34 -04:00
Shadowfacts e082076a23
Add getStatus XCB action 2018-09-25 21:13:51 -04:00
Shadowfacts bea052a06d
Add show account and show status XCB actions 2018-09-25 08:39:27 -04:00
Shadowfacts 0d004186c1
Add initial X-Callback-URL documentation 2018-09-24 21:58:44 -04:00
Shadowfacts 348a5ba241
Add reblog XCB action 2018-09-24 19:56:27 -04:00
Shadowfacts 4b2071af6a
Add follow user XCB action 2018-09-24 14:41:28 -04:00
Shadowfacts 3ff80b238e
Merge branch 'master' of github.com:shadowfacts/Tusker 2018-09-24 08:51:20 -04:00
Shadowfacts d345cd5372
Add following/unfollowing accounts 2018-09-24 08:49:39 -04:00
Shadowfacts c6008bc7c0
Add favorite status XCB action 2018-09-23 22:16:25 -04:00
Shadowfacts 9a41d44e9f
Add getCurrentUser XCB action, refactor XCB support some more 2018-09-23 21:35:33 -04:00
Shadowfacts 68300f930b
Cleanup silent XCB actions code 2018-09-23 21:10:45 -04:00
Shadowfacts af0d0612ba
Add silent x-callback-url actions
User confirmation is required the first time a source app attempts to
run an action silently. Rejecting will always display the UI for the
given action (as if the silent parameter had been false).
2018-09-23 19:04:45 -04:00
Shadowfacts 6c3ae9ab14
Change ComposeViewController.xcbSession to be weak 2018-09-23 18:45:56 -04:00
Shadowfacts 7af64f8e5a
Add x-callback-url response data 2018-09-23 18:43:33 -04:00
Shadowfacts d74f86418e
Add initial x-callback-url implementation 2018-09-23 12:01:23 -04:00
Shadowfacts a10b990073
Cache accounts 2018-09-18 12:59:07 -04:00
Shadowfacts a6d23d12eb
Add shared status cache 2018-09-17 21:57:46 -04:00
Shadowfacts a5579ce0e3
Change client requests to match others 2018-09-17 20:58:05 -04:00
Shadowfacts 266ebddd43
Merge branch 'pachyderm-immutable' 2018-09-17 19:37:58 -04:00
Shadowfacts bf09b80a5a
Change Pachyderm models to be immutable 2018-09-17 19:33:44 -04:00
Shadowfacts fb47708508
Merge branch 'swipe-actions' 2018-09-15 13:18:23 -04:00
Shadowfacts 6ec0ae5489
Refactor swipe actions into TableViewSwipeActionProvider 2018-09-15 13:11:58 -04:00
Shadowfacts 4c9be91162
More swipe actions 2018-09-15 12:39:50 -04:00
Shadowfacts 22dfec0483
Start work on swipe actions 2018-09-15 10:56:27 -04:00
Shadowfacts 76972237ba
Fix large image view top controls on iPhone Xs Max & Xr 2018-09-12 22:29:58 -04:00
Shadowfacts 6f424666d8
Add post progress view 2018-09-12 09:19:51 -04:00
Shadowfacts e75b03f28d
Add more button to status 2018-09-11 18:17:48 -04:00
Shadowfacts 1119a861d8
Replace MastodonKit with Pachyderm 2018-09-11 10:52:21 -04:00
Shadowfacts d4a451fadb
Favorites and reblogs 2018-09-08 21:35:40 -04:00
Shadowfacts 186e2d7520
Add reply icon 2018-09-06 20:42:41 -04:00
Shadowfacts b340fb9df7
Add default post visibility preference UI 2018-09-03 21:44:44 -04:00
Shadowfacts cd5d0c4a95
Change how view controller delegate extensions work 2018-09-03 18:46:20 -04:00
Shadowfacts bd1f8fa20a
Reorganize sources 2018-09-03 17:10:26 -04:00
Shadowfacts db54922040
Add notifications screen 2018-09-03 16:54:03 -04:00
Shadowfacts 889151dcc2
Preserve vector data for all icons 2018-09-03 15:20:50 -04:00
Shadowfacts aa194543d2
Add ability to expand profile avatar & header images 2018-09-02 18:22:29 -04:00
Shadowfacts 8fd39a6ca2
Copy inReplyTo CW & visibility to response post 2018-09-02 18:11:00 -04:00
Shadowfacts 761b320ca6
Fix timestamp label sometimes not being right-aligned 2018-09-02 18:01:37 -04:00
Shadowfacts 1f52054107
Show images in conversation main status view 2018-09-02 17:51:36 -04:00
Shadowfacts e523d69e33
Large image view 2018-09-02 16:59:20 -04:00
Shadowfacts 834b6cfc42
Show timestampts on statuses 2018-08-31 13:46:33 -04:00
Shadowfacts 3170b83b82
Add image descriptions 2018-08-31 12:39:39 -04:00
Shadowfacts fc69b9684b
Initial implementation Compose UI 2018-08-30 22:30:19 -04:00
Shadowfacts 481f493a9c
Fix posts with multiple <p> tags being handled incorrectly 2018-08-29 21:51:04 -04:00
Shadowfacts 9b07dd98bf
Fix rows from being deselected when back button is pressed 2018-08-28 21:46:57 -04:00
Shadowfacts 7fda5ae9fe
Add option to strip custom emoji from display names 2018-08-28 21:18:58 -04:00
Shadowfacts 310ebe588e
Add reblog label 2018-08-28 20:11:31 -04:00
Shadowfacts 9d70018508
Add avatar style preference 2018-08-28 19:49:31 -04:00
Shadowfacts 093820ae9d
Start preferences 2018-08-28 19:16:17 -04:00
Shadowfacts c319ae5ce9
Add more options to profile view 2018-08-28 18:04:45 -04:00
Shadowfacts b85894b198
Don't open redundant VCs 2018-08-28 16:22:49 -04:00
Shadowfacts 0f1a13d2a7
Conversation view 2018-08-28 14:29:06 -04:00
Shadowfacts 05c895db88
Profile pages 2018-08-27 21:27:34 -04:00
Shadowfacts 4b3d186a2e
Show title on timeline VCs 2018-08-27 16:46:19 -04:00
Shadowfacts b655c20e3d
Move StatusTableViewCell to separate nib 2018-08-27 16:32:59 -04:00
Shadowfacts 02fcea8675
Add opening URLs in SFSafariViewController 2018-08-27 15:23:59 -04:00
Shadowfacts 03c87105d3
Add StatusContentLabel entity detection 2018-08-27 12:40:22 -04:00
Shadowfacts 6af5bae335
More StatusContentLabel cleanup 2018-08-26 15:19:54 -04:00
Shadowfacts 078e73b161
StatusContentLabel: remove unnecessary height correction 2018-08-26 15:07:03 -04:00
Shadowfacts 62bc57e169
Fix link detection 2018-08-26 14:49:22 -04:00
Shadowfacts f28e73442b
Fix link ranges being stored incorrectly 2018-08-21 21:43:43 -04:00
Shadowfacts 65530dbfd0
Fix display names sometimes being truncated in favor of full names 2018-08-21 21:14:04 -04:00
Shadowfacts 4adc501073
Initial avatars implementation 2018-08-21 19:23:27 -04:00
Shadowfacts c42f5ee396
Multiple timeline views 2018-08-21 17:17:25 -04:00
Shadowfacts 2be0b119ff
Finish OAuth (kind of) 2018-08-20 17:23:35 -04:00
Shadowfacts 8d268fad18
Start OAuth 2018-08-19 16:14:04 -04:00
Shadowfacts 8526613189
Add infinite scrolling and pull to refresh to timeline 2018-08-18 17:46:28 -04:00
Shadowfacts a6f8565ab3
Fix crash on invalid URL 2018-08-18 16:07:34 -04:00
Shadowfacts 354b3469a8
Initial pass at message content rendering 2018-08-17 23:09:59 -04:00
Shadowfacts 5dacb787a6
Remove old API test code 2018-08-17 23:09:48 -04:00
Shadowfacts 24d30d36b7
Start home timeline 2018-08-16 22:39:16 -04:00
Shadowfacts 7ad6f65891
Fix password auth 2018-08-16 20:11:56 -04:00
Shadowfacts 85f7e0be10
Start work on MastodonController 2018-08-16 18:55:40 -04:00
Shadowfacts f59b16cc9d
Initial commit 2018-08-16 07:46:19 -04:00
Shadowfacts 232a2106d9
Initial Commit 2018-08-15 22:27:48 -04:00