Commit Graph

817 Commits

Author SHA1 Message Date
Shadowfacts 1c708732f2 Exclude iOS 14-specific code from compilation on Xcode 11 to allow building for TestFlight 2020-07-06 00:00:51 -04:00
Shadowfacts db30471011 Fix not being able to refresh timelines 2020-07-05 16:30:16 -04:00
Shadowfacts 2825345c7e Add switching between Posts, Posts and Replies, and Media pages of user profiles
Closes #103
2020-07-05 16:17:56 -04:00
Shadowfacts f3d01c47c3 Merge branch 'develop-xcode-12' into ios-14 2020-07-04 11:21:00 -04:00
Shadowfacts 2916d7a72d Add tapping the active tab bar item to scroll to top
Closes #106
2020-07-03 19:36:52 -04:00
Shadowfacts d190636fbd Fix Preferences button not appearing (again) 2020-07-03 19:36:08 -04:00
Shadowfacts 19fa12391d Fix Preferences button not appearing 2020-07-03 18:53:19 -04:00
Shadowfacts 641ab765a7 Fix crash when displaying search results 2020-07-03 18:50:05 -04:00
Shadowfacts 986fc5b833 Prevent crash when displaying accounts with no pinned statuses 2020-07-03 18:49:55 -04:00
Shadowfacts cf5b97d9c8 Fix crash showing custom instance on iOS 14 2020-07-03 18:49:28 -04:00
Shadowfacts b2c7735256 Fix Preferences button not appearing 2020-07-03 18:44:38 -04:00
Shadowfacts 864fd77ecc Sync active tab and navigation stack between split view/tab bar controllers 2020-06-29 22:21:03 -04:00
Shadowfacts 2a8e970738 Use context menus as primary actions for 'More Actions' buttons on >= iOS 14 2020-06-27 00:22:14 -04:00
Shadowfacts 6cf6db6a8d Add sidebar on iPadOS 14 2020-06-24 16:40:45 -04:00
Shadowfacts fb11e36467 Fix crash when displaying search results 2020-06-24 15:42:56 -04:00
Shadowfacts 0fa87e9177 Prevent crash when displaying accounts with no pinned statuses 2020-06-23 22:21:50 -04:00
Shadowfacts 5cb84e271a Prefer ephemeral sessions in ASWebAuthneticationSession 2020-06-23 21:35:14 -04:00
Shadowfacts 50f1a9a7de Change ComposeDrawingViewController to use drawingPolicy on iOS 14 2020-06-23 19:33:14 -04:00
Shadowfacts 154fc7cd02 Fix ASWebAuthenticationSession usage in Catalyst 2020-06-23 19:32:30 -04:00
Shadowfacts 43779e42df Fix crash showing custom instance on iOS 14 2020-06-23 19:27:34 -04:00
Shadowfacts 0e91fc239d
Fix missing anchor for Compose screen visibility popover 2020-06-22 09:53:20 -04:00
Shadowfacts 083add273b
Prevent audio from other apps pausing when showing gifv attachments
Fixes #101
2020-06-21 16:01:29 -04:00
Shadowfacts 64365bdf2b
Fix compose attachments being cut off at the bottom of the safe area 2020-06-21 10:31:40 -04:00
Shadowfacts 6adcad63b3
Add crash report helper 2020-06-20 23:11:35 -04:00
Shadowfacts 393a134648
Don't show Follow activity for user's own account 2020-06-19 23:00:59 -04:00
Shadowfacts ba3e9e7491
Fix compose attachment description text view not expanding to fit text 2020-06-19 19:46:08 -04:00
Shadowfacts 920f926b48
Add text recognition image description for image attachments 2020-06-19 19:14:24 -04:00
Shadowfacts 6e27399e10
Fix loading additional statuses on profiles not working
This was a regression introduced in
d27bddb2ca which removed the didSet
handlers which called reloadData on the pinnedStatuses/timelineSegments
property without adding the appropriate insertRows calls where they were
modified.
2020-06-18 22:39:04 -04:00
Shadowfacts 1f40cc9928
Show controls/description for gifv attachments
See #98
2020-06-17 23:33:48 -04:00
Shadowfacts 66020b7847
Add preference for always showing status visiblity icon 2020-06-17 18:00:13 -04:00
Shadowfacts 00bf99334f
Add preference for status reply icons 2020-06-17 17:45:34 -04:00
Shadowfacts a901af6be9
Merge branch 'private-beta' into develop 2020-06-16 23:19:33 -04:00
Shadowfacts b623e348c2 Fix crash when opening compose screen before initial network requests completed 2020-06-16 23:13:46 -04:00
Shadowfacts 056346cee9
Add reply indicator to statuses in timelines 2020-06-16 23:06:36 -04:00
Shadowfacts d27bddb2ca Fix profile header image not showing up on first load
The issue occurred because the profile header would kick off a request
upon loading, then the profile table would request the initial set of
statuses shortly thereafter which would result in reloadData being called
which would cancel the request without removing the group, so the request
generated by the newly-reloaded header cell would attach a callback to
the cancelled request, resulting in the header image never displaying.
2020-06-15 22:34:42 -04:00
Shadowfacts 36326e4469
Make network requests in viewWillAppear instead of viewDidLoad 2020-06-15 19:41:51 -04:00
Shadowfacts c0316f55ef
Fix crash when sharing large image on iPad 2020-06-15 18:29:04 -04:00
Shadowfacts 803ba50f53
Add pointer interaction to remove attachment, large image share/dismiss buttons 2020-06-15 18:26:56 -04:00
Shadowfacts 5d0c59e863
Prompt for Photos access before showing asset picker 2020-06-15 18:15:05 -04:00
Shadowfacts c7b4d00da7
Fix race condition loading bookmarks 2020-06-15 18:02:07 -04:00
Shadowfacts f2a8b91769
Provide metadata to UIActivityViewController
Closes #56
2020-05-14 22:43:56 -04:00
Shadowfacts 35a510e8ed
Add cache reset button to Advanced Preferences 2020-05-13 18:58:11 -04:00
Shadowfacts 0582812563
Remove strong references to MastodonController 2020-05-13 18:57:04 -04:00
Shadowfacts e581f384e4
Fix account descriptions being squashed in the follows list 2020-05-12 22:24:51 -04:00
Shadowfacts 1c9b1b9ac3
Add support (sort of) for gifv attachments
See #98
2020-05-12 21:46:08 -04:00
Shadowfacts 82ad3b9fc4
Add reference counting for accounts
Closes #97
2020-05-11 22:03:17 -04:00
Shadowfacts 0a89dd3041
Don't double update accounts
Adding a status to the cache will also cache the status' account
2020-05-11 18:27:54 -04:00
Shadowfacts 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
Shadowfacts 04496aca1d
Apply avatar style to local account avatar images 2020-05-10 19:30:19 -04:00
Shadowfacts 5a098df931
Fix crash when searching 2020-05-10 15:47:50 -04:00
Shadowfacts 9812d4aff2
Prevent double-decrementing reference count for conversation main status 2020-05-10 15:08:45 -04:00
Shadowfacts f4f2a5546c
Prevent race in status action account list 2020-05-10 15:04:22 -04:00
Shadowfacts 866edc472d
Show avatar and instance domain in account list in Preferences 2020-05-10 14:54:20 -04:00
Shadowfacts 88e4f52b5d
Fix crash when adding account
Adding a UserData.LocalAccountInfo with a nil username while the
PreferencesView is on screen will cause a crash, since it triggers a
Combine publish upon which the PreferencesView expects to be able to
display the username of all accounts.
2020-05-10 14:41:07 -04:00
Shadowfacts 98529ca5af
Remove notifications from the bottom when scrolling up notifications list 2020-05-10 12:56:03 -04:00
Shadowfacts 6d8c5f632c
Fix scroll-to-top sometimes not scrolling all the way to the top 2020-05-10 12:56:01 -04:00
Shadowfacts 4fdafa893e
Add drawing attachments using PencilKit 2020-05-09 22:14:48 -04:00
Shadowfacts 1e41c8fa17
Remove MastodonCache usgae from XCBActions 2020-05-06 23:05:15 -04:00
Shadowfacts ebbfc7a132
Fix race condition on loading notifications 2020-05-06 19:32:32 -04:00
Shadowfacts d6c506488b
Replace a bunch of MastodonCache uses with CoreData 2020-05-02 19:52:35 -04:00
Shadowfacts ee5e049355
Use CoreData for bookmarks and search results 2020-04-27 19:25:41 -04:00
Shadowfacts f53474ac90
Use CoreData for notifications screen 2020-04-27 19:20:09 -04:00
Shadowfacts 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
Shadowfacts 030bee1948
Convert conversation VC to use CoreData models 2020-04-13 22:51:15 -04:00
Shadowfacts ed37b16463
Start adding CoreData-based "reference" counting for statuses
Prune old statuses that aren't likely to be shown again when scrolling
in timeline table view
2020-04-12 23:08:33 -04:00
Shadowfacts 2c8ba878b7
Start converting UI to use CoreData backed objects instead of API
objects directly
2020-04-12 12:54:27 -04:00
Shadowfacts 465aedd43f
Make account info username optional
Onboarding view controller needs to set the account info object on the
mastodon controller before calling getOwnAccount since getOwnAccount
will upsert the user's account into the persistent container, which
requires the account info to exist to create a unique-per-account
identifier.
2020-04-12 11:14:10 -04:00
Shadowfacts fcab6818b0
Hide large image source view during expand/shrink animation 2020-03-25 23:10:48 -04:00
Shadowfacts 80cf1850dd
Add trackpad/magic mouse support for navigation controller interactive push gesture 2020-03-25 22:29:32 -04:00
Shadowfacts e612964464
Allow scrolling w/ trackpad/magic mouse to dismiss gallery 2020-03-25 22:12:26 -04:00
Shadowfacts 49a437583e
Fix incorrect large image size during expand/shrink animation in some
cases
2020-03-25 22:09:00 -04:00
Shadowfacts 8a513186aa
Add pointer interactions status buttons and profile header more button 2020-03-24 23:02:40 -04:00
Shadowfacts 2e8241d734
Move attachment context menu interaction to AttachmentView 2020-03-20 22:28:23 -04:00
Shadowfacts c9c001d403
Improve attachment previewing
- Set correct preview size
- Don't show controls
2020-03-20 22:13:04 -04:00
Shadowfacts 4018d39312
Fix double gestures in attachments gallery 2020-03-17 21:56:29 -04:00
Shadowfacts 5e9caf9179
Use LoadingLargeImageViewController for account avatar/header
Prevents crash when tapping unloaded avatar/header images
2020-03-17 21:42:09 -04:00
Shadowfacts 3bbbb05083
Rename AttachmentsViewController to LoadingLargeImageViewController and
make non-specific to attachments
2020-03-17 21:24:15 -04:00
Shadowfacts bd3e74c611
Remove unnecessary XIB 2020-03-17 21:07:44 -04:00
Shadowfacts 2e8c416e04
Merge gallery and large image animations 2020-03-17 21:05:45 -04:00
Shadowfacts 955f9e5916
Fix attachment descriptions not being set correctly 2020-03-17 21:03:29 -04:00
Shadowfacts 17f15db32d
Don't round bottom corners of asset picker
Corner radius doesn't match that used on 2019 iPad Pro, so rounding the
bottom corners results in the view controller beneath the asset picker
showing through in some split-screen configurations
2020-03-16 20:50:16 -04:00
Shadowfacts 1a11dd2a69
Present asset picker as popover in regular horizontal size class 2020-03-16 20:45:51 -04:00
Shadowfacts b5fa0bceab
Fix pasting using compose app shortcut while app isn't running 2020-03-16 19:09:25 -04:00
Shadowfacts bebf47f05c
Prevent incompatible items from being pasted on compose screen 2020-03-16 17:31:43 -04:00
Shadowfacts e76b719c6a
Add context menu previews to explore VC 2020-03-15 23:54:04 -04:00
Shadowfacts 478c7b7a23
Fix crash when long-presing add attachment button 2020-03-15 22:59:43 -04:00
Shadowfacts 9ed05de3ee
Add compose attachments preview 2020-03-15 14:25:02 -04:00
Shadowfacts 64a8f6d733
Reorganize code 2020-03-15 11:43:41 -04:00
Shadowfacts 18e91feb00
Fix requires attachment descriptions preference not working 2020-03-15 11:39:35 -04:00
Shadowfacts 0691c3b9d6
Fix asset preview size 2020-03-14 23:32:54 -04:00
Shadowfacts 1ccb450477
Support dragging and dropping attachments in the compose view controller
Allos dragging in attachments from other apps and drag/dropping with the
compose VC to reorder attachments
2020-03-14 20:08:36 -04:00
Shadowfacts 7117ce6320
Support pasting images to create attachments
Closes #91
2020-03-14 16:46:50 -04:00
Shadowfacts 34dccf1f37
Extract compose attachments into separate VC 2020-03-14 15:47:15 -04:00
Shadowfacts a3303dc8fb
Use same order for status and account preview actions 2020-03-11 22:54:38 -04:00
Shadowfacts fadddeda7f
Fix crash when deleting draft
Closes #94
2020-03-11 22:18:31 -04:00
Shadowfacts cd5b4c1145
Remove old code 2020-03-02 22:31:37 -05:00
Shadowfacts c7746d3084
Add unknown notification fallback
Closes #90
2020-03-02 19:44:10 -05:00
Shadowfacts 315ea39682
Fix crash in silent action prefs 2020-03-02 19:44:10 -05:00
Shadowfacts 44fbbd6a80
Revert "Fix custom emojis in display namesnot showing in conversation main"
This reverts commit 73da828e7cec09bcfbe65295bbd2f02e3b719ff6.

Fixes #89
2020-03-02 19:44:10 -05:00
Shadowfacts de02c73957
Fix custom emojis in display namesnot showing in conversation main
statuses

Caused by the cell updating it's UI multiple times in quick succession.
As a workaround, prevent the main cell from being reloaded.
2020-03-02 19:44:10 -05:00
Shadowfacts 2cebb6bd7d
Show custom emojis in display names (where possible) 2020-03-02 19:44:09 -05:00
Shadowfacts 53707593a6
Show custom emojis in display names (where possible) 2020-03-01 19:40:32 -05:00
Shadowfacts af821081b0
Temporary fix for crash that occurs when switching accounts immediately
after adding a new one
2020-02-29 17:36:54 -05:00
Shadowfacts 804636dcbb
Don't show warning when loading draft on top of for empty statuses
Closes #87
2020-02-28 19:50:04 -05:00
Shadowfacts d9bae42f81
Prevent empty drafts from being saved 2020-02-22 15:43:17 -05:00
Shadowfacts a814ee37cc
Update SheetController
Fixes image picker losing velocity during dismiss animation
2020-02-22 15:29:42 -05:00
Shadowfacts 1a8e84f5fa
Reorganize behavior preferences 2020-02-22 13:19:31 -05:00
Shadowfacts 1f56823a17
Add preference to disable gif animation in timelines 2020-02-22 13:12:28 -05:00
Shadowfacts 65d57df949
Add interacting pushing to navigation controllers
Allows people to move forward in the navigation stack after popping
(making popping a non-destructive action).
2020-02-19 22:07:12 -05:00
Shadowfacts d7953470e3
Add rudimentary support for audio attachments
Closes #7
2020-01-26 18:50:45 -05:00
Shadowfacts 8c7bebcce8
Fix large image controls being positioned incorrectly on notched-devices
when opening via a context menu preview.

The constraints for the top controls were being set only once, but when
showing a large image in the contxt menu preview window, the top inset
safe area is 0 and didn't become 44 (the value for notched devices)
until the preview was expanded.

Fixes #86
2020-01-26 18:28:46 -05:00
Shadowfacts 20c602f911
Disable row insertion animations 2020-01-26 18:23:18 -05:00
Shadowfacts f2e08e96f3
Improve large image/gallery animation handling when images aren't loaded 2020-01-25 22:29:12 -05:00
Shadowfacts d1913d7e69
Change white background when loading attachment to black 2020-01-25 22:09:00 -05:00
Shadowfacts 26c99a1a35
Improve scroll perform when loading new rows into table views
Instead of reloading the whole table view, only insert the rows for
statuses/notifications that were added.
2020-01-25 11:11:48 -05:00
Shadowfacts 6757031dcb
Hide context menus and swipe actions on instance public timelines 2020-01-25 10:44:31 -05:00
Shadowfacts 81256b7a96
Only show local posts on public instance timelines 2020-01-25 10:37:22 -05:00
Shadowfacts 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
Shadowfacts 4abda02b76
Only show drafts from current account 2020-01-22 22:27:58 -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 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 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 6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -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 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 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 eb6cfba9aa
Fix tablel view cells being re-selected on aborted nav swipe back 2019-12-14 11:59:31 -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 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 d4fa2f36e3
Remove send message from profile share menu 2019-11-17 15:19:20 -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 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 adef4840de
Don't crash on login cancelled 2019-09-24 14:45:29 -04:00
Shadowfacts 682d68fd81
Change order of notification dismissal swipe action 2019-09-19 22:09:17 -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 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 905b6a0a21
Add preference for default notifications display mode 2019-09-14 13:02:33 -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 8723921cec
Add context menu for status action notifications 2019-09-06 17:56:45 -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 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 ad0bbe0ab2
Remove old code 2019-09-05 14:04:05 -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 e07bc4e51a
Fix crash when viewing profiles 2019-08-21 23:22:14 -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 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 9a6723a895
Fix some images scrolling unnecesarily in LargeImageViewController 2019-07-29 11:38:57 -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 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 85ed53b990
Fix multi-attachment layout issues 2019-06-16 22:39:46 -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 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 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 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 d94a0050b7
Show fields in profiles
Closes #19
2019-04-01 19:34:50 -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 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 fe85e3c1d6
Redo app navigation/tab bar 2019-01-05 12:59:55 -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 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 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 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 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 982e42ca2f
Refactor AvatarCache to ImageCache
Use Cache library (https://github.com/hyperoslo/Cache) for caching
2018-10-03 08:45:03 -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 f7a2576842
Use child view controller for loading 2018-10-01 21:25:10 -04:00
Shadowfacts adffe41c95
Add tapping hashtags to show tag timeline 2018-09-30 21:28:22 -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 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 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 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 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 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