342 Commits

Author SHA1 Message Date
89b35fab6d
Move pruning of offscreen rows to when the VC disappears, instead of
during scrolling

Prevents race when removing and adding cells in the willDisplay table
view delegate method.
2020-10-26 22:55:58 -04:00
39b244384b
Show link cards on statuses 2020-10-25 16:05:28 -04:00
5d9f4b8ea8
Bump build number and update changelog 2020-10-24 16:00:11 -04:00
e763d48bf3
Bump build number and update changelog 2020-10-22 23:18:15 -04:00
1c871a12a1
Bump build number and update changelog 2020-10-21 18:08:20 -04:00
5125cc3397
Show custom emojis in display names in follow/favorite/reblog
notifications
2020-10-18 12:22:12 -04:00
9b949af390
Add complete emoji list to Compose emoji autocomplete 2020-10-18 11:17:58 -04:00
3ff9fdabdb
Use MultiThreadedDictionary for ImageCache request groups
Prevents a crash due a race condition if multiple requets complete
simultaneously and attempt to modify the dictionary
2020-10-18 11:03:56 -04:00
ae272582ac
Autocomplete custom emojis in CW field 2020-10-12 19:17:57 -04:00
1a4517c43a
Cache account relationships in CoreData 2020-10-12 18:20:57 -04:00
2cfc0cf28a
Add Compose screen mention, hashtag, emoji completion
Closes #10
2020-10-11 22:14:45 -04:00
9b85090884
Add debug environment variable to disable image caching 2020-09-21 18:03:51 -04:00
0d972d987c
Remove old Compose screen cold 2020-09-20 10:46:51 -04:00
14e8c11f02
Bump build number and update changelog 2020-09-16 19:19:40 -04:00
4719342a06
Bump build number and update changelog 2020-09-15 22:22:20 -04:00
6df5f7fb08
Add preferences for auto-expanding CW'd posts and disabling long post
collapsing

See #105
2020-09-15 21:37:08 -04:00
1c6e464a4c
Start Compose screen tests 2020-09-13 13:19:56 -04:00
acd01a81cc
More UI tests for onboarding/my profile 2020-09-12 22:16:58 -04:00
5e9cc430c6
Use cross fade transitions for displaying gallery and asset picker if
Reduce Motion/Prefer Cross Fade is enabled

Closes #108
2020-09-12 13:25:59 -04:00
9534f19262
Show BlurHash previews of attachments 2020-09-12 12:01:08 -04:00
dd8a196630
Show custom emoji in display names on Compose screen 2020-09-07 15:22:06 -04:00
4c82b1a341
Rewrite Compose screen in SwiftUI 2020-08-31 19:28:50 -04:00
77ac8cbe40
Bump deployment target to iOS 13.4 2020-08-30 19:28:11 -04:00
e026c9a6c6
Bump build number and update changelog 2020-08-17 19:06:56 -04:00
273b74ddfb
Bump build number and update changelog 2020-08-15 22:10:44 -04:00
1c708732f2 Exclude iOS 14-specific code from compilation on Xcode 11 to allow building for TestFlight 2020-07-06 00:00:51 -04:00
2825345c7e Add switching between Posts, Posts and Replies, and Media pages of user profiles
Closes #103
2020-07-05 16:17:56 -04:00
f3d01c47c3 Merge branch 'develop-xcode-12' into ios-14 2020-07-04 11:21:00 -04:00
2916d7a72d Add tapping the active tab bar item to scroll to top
Closes #106
2020-07-03 19:36:52 -04:00
4e4701ead5 Use SwiftSoup from SPM instead of Git submodule 2020-07-03 19:09:58 -04:00
47dc00ab8f Fix sometimes broken masking of text view link preview animations 2020-07-03 18:52:23 -04:00
f86d3a0ed1 Fix sometimes broken masking of text view link preview animations 2020-07-01 00:01:36 -04:00
78da04162f Fix missing file from project.pbxproj 2020-06-29 21:47:11 -04:00
6cf6db6a8d Add sidebar on iPadOS 14 2020-06-24 16:40:45 -04:00
01d765fa45 Enable Catalyst 2020-06-23 19:32:04 -04:00
04aad1252a Use SwiftSoup from SPM instead of Git submodule 2020-06-23 19:31:32 -04:00
0e5aab75df
Bump build number 2020-06-21 19:32:47 -04:00
083add273b
Prevent audio from other apps pausing when showing gifv attachments
Fixes #101
2020-06-21 16:01:29 -04:00
6adcad63b3
Add crash report helper 2020-06-20 23:11:35 -04:00
1f40cc9928
Show controls/description for gifv attachments
See #98
2020-06-17 23:33:48 -04:00
f2a8b91769
Provide metadata to UIActivityViewController
Closes #56
2020-05-14 22:43:56 -04:00
ce464dfb9f
Add mute/unmute conversation status activities
Closes #70
2020-05-14 22:43:47 -04:00
cf48e4e973
Bump build number 2020-05-13 21:21:57 -04:00
1c9b1b9ac3
Add support (sort of) for gifv attachments
See #98
2020-05-12 21:46:08 -04:00
866edc472d
Show avatar and instance domain in account list in Preferences 2020-05-10 14:54:20 -04:00
4fdafa893e
Add drawing attachments using PencilKit 2020-05-09 22:14:48 -04:00
02088b1f55
Remove MastodonCache 🎉 2020-05-06 23:29:57 -04:00
90bc9b91de
Add AccountProtocol and StatusProtocol
Provides a single interfaces for API and CoreData statuses and accounts
2020-05-06 18:40:12 -04:00
f53474ac90
Use CoreData for notifications screen 2020-04-27 19:20:09 -04:00
7deb4fc5b4
Add LazilyDecoding for CoreData embedded objects 2020-04-11 15:35:00 -04:00
2a419eb87c
Add basic Status/Account CoreData model 2020-04-11 15:32:25 -04:00
fcab6818b0
Hide large image source view during expand/shrink animation 2020-03-25 23:10:48 -04:00
80cf1850dd
Add trackpad/magic mouse support for navigation controller interactive push gesture 2020-03-25 22:29:32 -04:00
c9c001d403
Improve attachment previewing
- Set correct preview size
- Don't show controls
2020-03-20 22:13:04 -04:00
4ce8de280e
Bump build number 2020-03-17 21:58:14 -04:00
3bbbb05083
Rename AttachmentsViewController to LoadingLargeImageViewController and
make non-specific to attachments
2020-03-17 21:24:15 -04:00
bd3e74c611
Remove unnecessary XIB 2020-03-17 21:07:44 -04:00
2e8c416e04
Merge gallery and large image animations 2020-03-17 21:05:45 -04:00
64a8f6d733
Reorganize code 2020-03-15 11:43:41 -04:00
ca76568c79
Remove old code 2020-03-15 11:40:28 -04:00
34dccf1f37
Extract compose attachments into separate VC 2020-03-14 15:47:15 -04:00
b61418e062
Bump build 2020-03-02 19:45:14 -05:00
c7746d3084
Add unknown notification fallback
Closes #90
2020-03-02 19:44:10 -05:00
53707593a6
Show custom emojis in display names (where possible) 2020-03-01 19:40:32 -05:00
d4ca39761e
Change version, disable UI test web server temporarily 2020-03-01 18:23:10 -05:00
387623a309
Remove old code 2020-02-28 19:24:14 -05:00
1a8e84f5fa
Reorganize behavior preferences 2020-02-22 13:19:31 -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
8be7480755
Change bundle identifier and signing account 2020-02-08 17:54:04 -05:00
62408fc4bd
Merge branch 'master' into multiple-accounts 2020-01-22 22:30:30 -05:00
e9db3fa0ac
Collapse whitespace according to CSS spec after converting HTML to
attributed string

Fixes #27
2020-01-21 21:28:14 -05:00
26f1aafa15
Unify SavedHashtagsManager and SavedInstancesManager 2020-01-20 11:20:39 -05:00
6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -05:00
b5a41badcc
Replace content labels with text views
UITextView uses TextKit internally, unlike UILabel, so no additional
code is needed to keep the TextKit and view representations of the text
in sync since they are one and the same. This means that detecting which
character was tapped in a content text view is much more accurate, which
means link handling is substantially imrpoved.

Fixes #20
2020-01-18 16:05:00 -05:00
23de131290
Add preference to require attachment descriptions before posting
Closes #76
2020-01-17 21:55:21 -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
8dba15ca17
Switch to scene-based lifecycle events
See #16
2020-01-07 18:39:19 -05:00
29e0128a55
Fix broken file paths 2020-01-06 20:27:58 -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
ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
Closes #64
2020-01-04 23:13:23 -05:00
05cc3fd6d9
Add pinning/unpinning statuses
Closes #69
2020-01-04 19:31:35 -05:00
3ecbb1895c
Replace GMImagePicker with custom asset picker based on SheetController
Fixes #23
Closes #50
2020-01-04 16:25:15 -05:00
18c3c3c434
More UI testing setup and API mocks 2019-12-31 11:40:56 -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
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
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
05d79d5d03
Use same nav delegate more options for context menu share sheet 2019-12-14 13:36:05 -05:00
4c0607af79
Add (un)bookmarking to status more options 2019-12-14 12:40:50 -05:00
eb6cfba9aa
Fix tablel view cells being re-selected on aborted nav swipe back 2019-12-14 11:59:31 -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
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
5076aec54e
Use ObservedObject for binding to prefs in SwiftUI instead of custom property wrappers 2019-11-14 19:53:00 -05:00
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
f0c0376f80
Add home screen shortcuts 2019-09-19 16:55:15 -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
88344c67e8 Merge timeline tabs
Closes #46
2019-09-14 15:59:32 -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
9522509f8f
Remove unnecessary XIBs 2019-09-06 17:45:49 -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
e53b14c729
Reorganize Pachyderm code 2019-09-05 14:40:35 -04:00
b60688f4b8
Show share sheet with custom activities instead of alert controller for account actions 2019-09-05 12:49:17 -04:00
84cfa923ca
Use Notification for updating view appearance on preferences change 2019-08-02 18:05:47 -06:00
51a03553a9
Add preference for how reply CWs are copied 2019-07-31 21:25:44 -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
5f5ff68b80
Merge branch 'swiftui-preferences' 2019-07-27 21:59:21 -04:00
50d641eb59
Block gab.* domains from logging in 2019-06-19 19:12:42 -04:00
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
e6c6293c10
Add multi-image gallery
Closes #18
2019-06-14 17:23:40 -07:00
f2e3870850
Start rewriting preferences in SwiftUI 2019-06-13 17:53:17 -07:00
9d4782c63c
Add SF Symbols icons 2019-06-11 10:21:22 -07:00
b3b9d566b7
iOS 13 Dark Mode Support 2019-06-04 13:31:05 -04:00
66bb1050a5
Add support for additional formatting
Italics, bold, strikethrough, monospace, and (un)ordered lists
2019-04-04 21:45:48 -04:00
9c0624b79e
Clean up warnings 2019-04-01 17:58:44 -04:00
2a11a09c91
Convert to Swift 5 2019-04-01 17:51:40 -04:00
779f04b62f
Add README 2019-02-10 10:41:54 -05:00
07ce3d41a8
Remove old tab customization code 2019-02-10 10:32:13 -05:00
ef6047fcb1
Replace TTTAttributedLabel with custom LinkLabel 2019-02-03 11:39:27 -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
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
86d064dc6e
Don't cache attachments to disk, only avatars and headers 2018-11-07 19:24:52 -05: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
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
fda4ca4d11
Target iOS 12.0 2018-10-19 19:54:43 -04:00
0b6459a806
Add 3d touch peek/pop navigation 2018-10-11 21:52:41 -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
57cbebecbd
Merge branch 'master' of github.com:shadowfacts/Tusker 2018-10-02 18:28:38 -04:00
697873c045
Xcode suggested changes 2018-10-02 08:34:41 -04:00
f7a2576842
Use child view controller for loading 2018-10-01 21:25:10 -04:00
3d39087980
Replace ActiveLabel-based implementation with TTTAttributedLabel 2018-10-01 19:50:03 -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
d1b45ddf7b
Pachyderm: Add CharacterCounter 2018-09-29 21:57:10 -04:00
813ed27d29
Refactor XCB actions code, add JSON responses 2018-09-25 21:41:12 -04:00
9a41d44e9f
Add getCurrentUser XCB action, refactor XCB support some more 2018-09-23 21:35:33 -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
d74f86418e
Add initial x-callback-url implementation 2018-09-23 12:01:23 -04:00
0d902f7d37
Xcode suggestions 2018-09-23 12:00:30 -04:00
a10b990073
Cache accounts 2018-09-18 12:59:07 -04:00
a6d23d12eb
Add shared status cache 2018-09-17 21:57:46 -04:00
6ec0ae5489
Refactor swipe actions into TableViewSwipeActionProvider 2018-09-15 13:11:58 -04:00
6f424666d8
Add post progress view 2018-09-12 09:19:51 -04:00
17d072c5b2
Fix upload media 2018-09-11 13:45:48 -04:00
c59a2b32a2
Merge branch 'progress-view' 2018-09-11 12:52:01 -04:00
1119a861d8
Replace MastodonKit with Pachyderm 2018-09-11 10:52:21 -04:00
a1cd9496e9
Start progress view 2018-09-11 08:15:10 -04:00
d4a451fadb
Favorites and reblogs 2018-09-08 21:35:40 -04:00
b340fb9df7
Add default post visibility preference UI 2018-09-03 21:44:44 -04:00
bd1f8fa20a
Reorganize sources 2018-09-03 17:10:26 -04:00
db54922040
Add notifications screen 2018-09-03 16:54:03 -04:00
e523d69e33
Large image view 2018-09-02 16:59:20 -04:00
834b6cfc42
Show timestampts on statuses 2018-08-31 13:46:33 -04:00
fc69b9684b
Initial implementation Compose UI 2018-08-30 22:30:19 -04:00
7fda5ae9fe
Add option to strip custom emoji from display names 2018-08-28 21:18:58 -04:00
9d70018508
Add avatar style preference 2018-08-28 19:49:31 -04:00
093820ae9d
Start preferences 2018-08-28 19:16:17 -04:00
b85894b198
Don't open redundant VCs 2018-08-28 16:22:49 -04:00
0f1a13d2a7
Conversation view 2018-08-28 14:29:06 -04:00
05c895db88
Profile pages 2018-08-27 21:27:34 -04:00
b655c20e3d
Move StatusTableViewCell to separate nib 2018-08-27 16:32:59 -04:00
62bc57e169
Fix link detection 2018-08-26 14:49:22 -04:00
4adc501073
Initial avatars implementation 2018-08-21 19:23:27 -04:00
c42f5ee396
Multiple timeline views 2018-08-21 17:17:25 -04:00
8d268fad18
Start OAuth 2018-08-19 16:14:04 -04:00
24d30d36b7
Start home timeline 2018-08-16 22:39:16 -04:00
7ad6f65891
Fix password auth 2018-08-16 20:11:56 -04:00
f59b16cc9d
Initial commit 2018-08-16 07:46:19 -04:00
232a2106d9
Initial Commit 2018-08-15 22:27:48 -04:00