53707593a6
Show custom emojis in display names (where possible)
2020-03-01 19:40:32 -05:00
af821081b0
Temporary fix for crash that occurs when switching accounts immediately
...
after adding a new one
2020-02-29 17:36:54 -05:00
804636dcbb
Don't show warning when loading draft on top of for empty statuses
...
Closes #87
2020-02-28 19:50:04 -05:00
d9bae42f81
Prevent empty drafts from being saved
2020-02-22 15:43:17 -05:00
a814ee37cc
Update SheetController
...
Fixes image picker losing velocity during dismiss animation
2020-02-22 15:29:42 -05:00
1a8e84f5fa
Reorganize behavior preferences
2020-02-22 13:19:31 -05:00
1f56823a17
Add preference to disable gif animation in timelines
2020-02-22 13:12:28 -05:00
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
d7953470e3
Add rudimentary support for audio attachments
...
Closes #7
2020-01-26 18:50:45 -05:00
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
20c602f911
Disable row insertion animations
2020-01-26 18:23:18 -05:00
f2e08e96f3
Improve large image/gallery animation handling when images aren't loaded
2020-01-25 22:29:12 -05:00
d1913d7e69
Change white background when loading attachment to black
2020-01-25 22:09:00 -05:00
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
6757031dcb
Hide context menus and swipe actions on instance public timelines
2020-01-25 10:44:31 -05:00
81256b7a96
Only show local posts on public instance timelines
2020-01-25 10:37:22 -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
4abda02b76
Only show drafts from current account
2020-01-22 22:27:58 -05:00
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
08086f1b18
Fix compose reply view missing MastodonController instance
2020-01-20 15:25:23 -05:00
12b6623113
Merge branch 'master' into multiple-accounts
2020-01-20 12:16:11 -05:00
ff97b0f76d
Change saved hashtags/instances to be per-account
...
See #16
2020-01-20 11:48:47 -05:00
26f1aafa15
Unify SavedHashtagsManager and SavedInstancesManager
2020-01-20 11:20:39 -05:00
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
f7421d83ef
Add preference to mention reblogger when replying to a reblogged status
2020-01-19 23:48:36 -05:00
7934bc15ac
Split Composing prefs into Composing and Replying
2020-01-19 23:23:31 -05:00
3aa5aa1bc0
Fix weird crashes when switching accounts
2020-01-19 23:16:36 -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
c45dd99088
Clean up account switching code
2020-01-19 11:52:06 -05:00
863867c522
Add logging in to additional accounts and switching accounts via Preferences
...
See #16
2020-01-18 22:45:06 -05:00
6421d4dc12
Merge branch 'master' into multiple-accounts
2020-01-18 18:56:36 -05:00
23de131290
Add preference to require attachment descriptions before posting
...
Closes #76
2020-01-17 21:55:21 -05:00
8178a1f339
Fix crash when tapping more actions buttons on iPad
...
Fixes #78
2020-01-17 21:29:53 -05:00
53702a8324
Add pinned status refreshing
...
Closes #82
2020-01-17 21:13:17 -05:00
bb86e1aafd
Allow rotaion in the attachment gallery
...
Closes #77
2020-01-07 22:19:38 -05:00
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
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
ec2062ad42
Fix not being able to sign into Mastodon instances not in the
...
recommended list
2020-01-06 22:14:17 -05:00
0255483f97
Make MastodonCache specific to each API controller
...
See #16
2020-01-05 19:54:28 -05:00
e3be424f5a
Fix instance public timelines not loading
2020-01-05 19:45:12 -05:00
2bdcb9b7f8
Replace global shared MastodonController instance with (mostly)
...
dependency injection
The places still using the .shared property are cases where there is no
view controller from which to (easily) get the appropriate instance,
such as user activity and X-Callback-URL handling. These uses will need
to be revisited once there are multiple MastodonControllers.
See #16
2020-01-05 15:25:07 -05:00
a18bcac8b8
Pachyderm: Change Client request methods to be static, like all other
...
models
Tusker: Add run method to MastodonController and no-longer expose API
client object
2020-01-05 14:00:39 -05:00
ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
...
Closes #64
2020-01-04 23:13:23 -05:00
c31916d67e
Remove references to old images
2020-01-04 23:04:45 -05:00
3ecbb1895c
Replace GMImagePicker with custom asset picker based on SheetController
...
Fixes #23
Closes #50
2020-01-04 16:25:15 -05:00
b2956b6118
Convert HEIC images to JPEG before upload
...
Fixes #60
2019-12-31 16:41:56 -05:00
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
18c3c3c434
More UI testing setup and API mocks
2019-12-31 11:40:56 -05:00
b9e359ba83
Fix custom instance domains not being parsed correctly
2019-12-31 00:13:09 -05:00
edb86fc503
Add theme toggle separate from system appearance
...
Closes #67
2019-12-31 00:12:18 -05:00
49f58cf955
Initial UI testing setup
2019-12-30 16:00:14 -05:00
377b5f5c85
Add ability to save and view instance public timelines
2019-12-19 22:55:41 -05:00
f92a2acc97
Show list edit screen immediately upon creation
2019-12-19 21:37:47 -05:00
ae6a0513e4
Add local saved hashtags
...
Closes #66
2019-12-19 21:20:29 -05:00
afc2bfcf6b
Add list editing
2019-12-17 22:56:53 -05:00
76a7c5bdf8
Add list deletion
2019-12-17 21:40:08 -05:00
19f15d8fa9
Add list creation
2019-12-17 21:18:32 -05:00
270cbc2a6c
Add lists to Explore tab
...
Closes #63
2019-12-17 21:10:30 -05:00
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
382decd7da
Fix search section titles
2019-12-16 22:23:12 -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
0c78af7d4f
Store in reply to status in drafts
2019-12-14 11:30:35 -05:00
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
06442b5629
Fix controls in large image/gallery not hiding/showing on zoom
...
Closes #58
2019-11-28 21:51:24 -05:00
7140590ccf
Fix covnerstaion expand/collapse button not working on all statuses
2019-11-28 18:58:47 -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
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
a92d9ddc6f
Automatically collapse long (> 500 chars) statuses
...
Closes #12
2019-11-17 18:36:19 -05:00
d4fa2f36e3
Remove send message from profile share menu
2019-11-17 15:19:20 -05:00
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
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
af65aa88e0
Don't use suggested actions in context menus
2019-11-17 10:19:50 -05:00
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
5076aec54e
Use ObservedObject for binding to prefs in SwiftUI instead of custom property wrappers
2019-11-14 19:53:00 -05:00
b4d41ac9b7
Fix crash in compose screen
2019-09-28 00:37:43 -04:00
1808aaa3e8
A bunch of VoiceOver/Voice Control stuff
2019-09-26 22:32:51 -04:00
adef4840de
Don't crash on login cancelled
2019-09-24 14:45:29 -04:00
682d68fd81
Change order of notification dismissal swipe action
2019-09-19 22:09:17 -04:00
d0c49144c4
Add notification dismissal swipe action
...
#49
2019-09-16 16:09:13 -04:00
911e73c78f
Add haptic feedback to switching segmented pages
2019-09-16 13:14:58 -04:00
65ceb83d2d
Add logout button to preferences
2019-09-16 13:12:23 -04:00
bc2e3c37a0
Add NSUserActivity for search
2019-09-15 21:20:50 -04:00
d08789bfab
Add NSUserActivity for checking mentions
2019-09-15 21:15:40 -04:00
9f818328ee
Cleanup user activity and XCB action handling code
2019-09-15 21:15:40 -04:00
32d6756762
Add NSUserActivity's for timelines
2019-09-15 21:15:40 -04:00
df8e0dedd4
Add instance selector
2019-09-15 15:01:35 -04:00
fc2aea04c3
Add hashtags to search
2019-09-14 21:24:43 -04:00
e121dd37b8
Add Search tab
...
Closes #31
2019-09-14 20:47:08 -04:00
dfb72edbd8
Fix opening context menu previews
...
Closes #43
2019-09-14 16:48:43 -04:00
d3e31541cf
Don't allow swiping in SegmentedPageViewController
2019-09-14 15:59:32 -04:00
88344c67e8
Merge timeline tabs
...
Closes #46
2019-09-14 15:59:32 -04:00
84a07fc718
Add preference to disable showing favorite/reblog counts
2019-09-14 15:00:52 -04:00
905b6a0a21
Add preference for default notifications display mode
2019-09-14 13:02:33 -04:00
8bb6e9403d
Add toggle to control whether Notifications tab shows all or just mentions
...
Closes #45
2019-09-14 12:04:20 -04:00
d52875cf25
Allow Pleroma instances to exceed Mastodon attachment limits
...
Closes #35
2019-09-11 16:57:42 -04:00
6e4f89df4a
Add support for video attachments
...
#7
2019-09-10 12:25:50 -04:00
befcc18e4d
Collapse statuses with content warnings
...
Closes #11
2019-09-09 18:40:23 -04:00
2e6f7d8878
Store CW in drafts
2019-09-08 17:57:11 -04:00
2edb65d302
Show favorite, reblog, and full timestamp in conversation main status
2019-09-07 17:10:58 -04:00
818c0afec6
Cleanup draft attachment loading and handle missing attachments
...
#4
2019-09-06 18:50:18 -04:00
8723921cec
Add context menu for status action notifications
2019-09-06 17:56:45 -04:00
9522509f8f
Remove unnecessary XIBs
2019-09-06 17:45:49 -04:00
006af1ab79
Save status draft while posting to prevent data loss due to crashes
...
Closes #33
2019-09-06 17:09:28 -04:00
d9abf3ec09
Show list of accounts based on grouped notifications
2019-09-05 23:16:45 -04:00
76bc6a665c
Show list of accounts for grouped follow notifications
2019-09-05 22:30:58 -04:00
a363308147
Follow notification grouping
...
Closes #28
2019-09-05 19:35:19 -04:00
1618313742
Fav/reblog notification grouping
...
#28
2019-09-05 17:45:45 -04:00
ad0bbe0ab2
Remove old code
2019-09-05 14:04:05 -04:00
b60688f4b8
Show share sheet with custom activities instead of alert controller for account actions
2019-09-05 12:49:17 -04:00
e07bc4e51a
Fix crash when viewing profiles
2019-08-21 23:22:14 -04:00
7064ae950e
Changes for iOS 13 beta 5
2019-08-05 21:08:00 -06:00
abd73fbe3b
Use timeline segments for profile view controller
2019-08-02 18:23:45 -06: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
51a03553a9
Add preference for how reply CWs are copied
2019-07-31 21:25:44 -06:00
9dfaa9e023
Use timeline segments for notifications
2019-07-31 20:09:38 -06:00
82c56d2bd1
Use MastodonCache for notifications
...
In preparation for using timeline segments for notifications
2019-07-31 20:01:00 -06:00
d9b21a0196
Represent timelines internally as segments
...
Primarily in preparation for timeline position persistence and split
timelines
2019-07-31 17:42:19 -06:00
9a6723a895
Fix some images scrolling unnecesarily in LargeImageViewController
2019-07-29 11:38:57 -04:00
5f5ff68b80
Merge branch 'swiftui-preferences'
2019-07-27 21:59:21 -04:00
1e8ba5000b
Cleanup code
2019-07-27 21:43:08 -04:00
2afe98cf77
Remove old Preferences view code
2019-07-27 21:43:02 -04:00
a1c6a34f54
Preferences Picker titles
2019-07-27 21:34:20 -04:00
7d7b457575
Fix context menu actions in beta 4
2019-07-27 18:53:07 -04:00
e269e23527
Fix main thread checker warning on login
2019-07-27 18:31:55 -04:00
8bdfa7f09f
Use monospace digit font for character counter
...
Fixes #29
2019-07-27 18:27:47 -04:00
319c76f60a
Updates for beta 4
2019-07-18 18:44:35 -04:00
1da5af9b37
Compose screen: Fix long display names overlapping character count
2019-06-25 09:19:29 -04:00
50d641eb59
Block gab.* domains from logging in
2019-06-19 19:12:42 -04:00
bc5067d3b0
Temporarily disable UIMenu stuff due to missing creation method in iOS 13 DB2
2019-06-18 09:51:46 -04:00
85ed53b990
Fix multi-attachment layout issues
2019-06-16 22:39:46 -04:00
e6c6293c10
Add multi-image gallery
...
Closes #18
2019-06-14 17:23:40 -07:00
0abc28900c
Large Image VC: Show share sheet instead of downloading
2019-06-14 17:10:17 -07:00
bd8e16cacb
Large Image VC: Don't let image overlap top controls when zoomed out
2019-06-14 15:27:17 -07:00
ea143ea0dd
Large Image VC: Hide home indicator when controls hidden
2019-06-14 14:46:19 -07:00
940ba6d6cb
Fix swipe actions on iOS 13
2019-06-13 19:31:36 -07:00
2232bb8fb7
Copy content warning on reply
...
Closes #21
2019-06-13 18:12:29 -07:00
f2e3870850
Start rewriting preferences in SwiftUI
2019-06-13 17:53:17 -07:00
d3aa2eff5a
Use inset grouped style for preferences
2019-06-13 13:28:12 -07:00
fccdd0a9bd
Use SF Symbol icon for add attachment button
2019-06-13 13:13:53 -07:00
1997aaf915
Add visiblity and formatting icons
2019-06-13 12:38:40 -07:00
ee848d6284
Support iOS 13 interactive dismissal of compose screen
2019-06-13 12:15:49 -07:00
9d4782c63c
Add SF Symbols icons
2019-06-11 10:21:22 -07:00
6ecad62b94
More dark mode fixes
2019-06-04 17:58:35 -04:00
a89fb56a60
Add support for iOS 13 previewing and actions
2019-06-04 17:04:37 -04:00
2c452b08e8
Fix deprecation warning
2019-06-04 13:37:31 -04:00
03f89c752e
Fix logging in on iOS 13
2019-06-04 13:31:12 -04:00
b3b9d566b7
iOS 13 Dark Mode Support
2019-06-04 13:31:05 -04:00
d94a0050b7
Show fields in profiles
...
Closes #19
2019-04-01 19:34:50 -04:00
8b24457d96
Store attachments in post drafts
2019-02-22 13:53:38 -05:00
9efc58225c
Allow drafts to be deleted
2019-02-22 11:30:38 -05:00
3366b16c96
Add option to attempt to open links in their respective apps
2019-02-22 10:24:20 -05:00
07ce3d41a8
Remove old tab customization code
2019-02-10 10:32:13 -05:00
7f3128c958
Add prefetching for images in table views
2019-02-09 21:15:15 -05:00
55ed2f5d26
Get rid of AppRouter
2019-01-19 14:31:31 -05:00
b8430be00c
Initial rewrite/redesign of compose screen
...
Still pending:
- Posting videos
- Image resizing
- Attachment drawer thing
2019-01-14 21:59:42 -05:00
fe85e3c1d6
Redo app navigation/tab bar
2019-01-05 12:59:55 -05:00
9f423e0c40
Remove old debug print
2018-11-24 16:30:06 -05:00
e3d27e0720
Add undo scroll-to-top
2018-11-10 11:48:09 -05:00
f684591888
Use Gifu for GIF playback
2018-11-09 15:48:08 -05:00
5cd68cf774
Fix crash when My Profile is first tab loaded
...
Closes #5
2018-10-30 22:18:10 -04:00
4bf49211fd
Fix large images being offset on some devices
...
Closes #6
2018-10-30 22:14:02 -04:00
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
82d4fe22cf
Cleanup visibility selection
2018-10-25 21:54:07 -04:00
ba55540712
Add Behavior preferences section
2018-10-25 21:29:13 -04:00
df6976df2f
Add post drafts
2018-10-22 22:09:11 -04:00
7e8f22c471
Refactor view controller creation/navigation into AppRouter
2018-10-20 22:07:04 -04:00
35de20fe40
Cleanup
2018-10-20 15:38:17 -04:00
d9fa189848
Fix Safari VCs being presented incorrectly from peek/pop, cleanup VC previewing code
2018-10-20 15:35:56 -04:00
eb9e1276df
Replace most storyboards with XIBs
2018-10-20 12:13:41 -04:00
9e7e16b3fc
Start adding Siri Shortcuts
2018-10-20 10:55:01 -04:00
21d10fdf7d
Add 3d touch to profiles
2018-10-18 13:30:19 -04:00
0462e57635
Add 3d touch preview actions
2018-10-11 21:52:41 -04:00
0b6459a806
Add 3d touch peek/pop navigation
2018-10-11 21:52:41 -04:00
5f503cafb0
Make ConversationViewController a UITableViewController
2018-10-11 21:10:25 -04:00
57b4e67cc2
Allow tabs to be enabled/disabled and reordered
2018-10-06 11:03:55 -04:00
0f37843a5b
Fix crash on follow notification
2018-10-05 19:25:48 -04:00
b796f288c8
Merge branch 'image-caching'
2018-10-03 08:53:17 -04:00
982e42ca2f
Refactor AvatarCache to ImageCache
...
Use Cache library (https://github.com/hyperoslo/Cache ) for caching
2018-10-03 08:45:03 -04:00
a6373f7e10
Extract Appearance preferences into separate controller
2018-10-02 19:39:39 -04:00
225c7e30fc
Remove MastodonController.shared
2018-10-02 19:31:00 -04:00
05e747a6f4
Add my account tab
2018-10-02 19:23:50 -04:00
f7a2576842
Use child view controller for loading
2018-10-01 21:25:10 -04:00
adffe41c95
Add tapping hashtags to show tag timeline
2018-09-30 21:28:22 -04:00
96953cf235
Add tapping mentions to show profiles
2018-09-30 21:12:23 -04:00
139a214d2f
Move StatusTableViewCellDelegate methods to TuskerNavigationDelegate
2018-09-30 19:29:52 -04:00
728a5a4ff1
Add preferences UI for silent XCB actions
2018-09-30 19:05:06 -04:00
db1be505e0
Switch to new text view placeholder implementation
2018-09-30 19:04:58 -04:00
3da1a7badd
Add character counter
2018-09-29 22:20:17 -04:00
3ff80b238e
Merge branch 'master' of github.com:shadowfacts/Tusker
2018-09-24 08:51:20 -04:00
d345cd5372
Add following/unfollowing accounts
2018-09-24 08:49:39 -04:00
68300f930b
Cleanup silent XCB actions code
2018-09-23 21:10:45 -04:00
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
6c3ae9ab14
Change ComposeViewController.xcbSession to be weak
2018-09-23 18:45:56 -04:00
7af64f8e5a
Add x-callback-url response data
2018-09-23 18:43:33 -04:00
d74f86418e
Add initial x-callback-url implementation
2018-09-23 12:01:23 -04:00