Commit Graph

512 Commits

Author SHA1 Message Date
Shadowfacts 47dc00ab8f Fix sometimes broken masking of text view link preview animations 2020-07-03 18:52:23 -04:00
Shadowfacts f86d3a0ed1 Fix sometimes broken masking of text view link preview animations 2020-07-01 00:01:36 -04:00
Shadowfacts 78da04162f Fix missing file from project.pbxproj 2020-06-29 21:47:11 -04:00
Shadowfacts 6cf6db6a8d Add sidebar on iPadOS 14 2020-06-24 16:40:45 -04:00
Shadowfacts 01d765fa45 Enable Catalyst 2020-06-23 19:32:04 -04:00
Shadowfacts 04aad1252a Use SwiftSoup from SPM instead of Git submodule 2020-06-23 19:31:32 -04:00
Shadowfacts 0e5aab75df
Bump build number 2020-06-21 19:32:47 -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 6adcad63b3
Add crash report helper 2020-06-20 23:11:35 -04:00
Shadowfacts 1f40cc9928
Show controls/description for gifv attachments
See #98
2020-06-17 23:33:48 -04:00
Shadowfacts f2a8b91769
Provide metadata to UIActivityViewController
Closes #56
2020-05-14 22:43:56 -04:00
Shadowfacts ce464dfb9f
Add mute/unmute conversation status activities
Closes #70
2020-05-14 22:43:47 -04:00
Shadowfacts cf48e4e973
Bump build number 2020-05-13 21:21:57 -04:00
Shadowfacts 1c9b1b9ac3
Add support (sort of) for gifv attachments
See #98
2020-05-12 21:46:08 -04:00
Shadowfacts 866edc472d
Show avatar and instance domain in account list in Preferences 2020-05-10 14:54:20 -04:00
Shadowfacts 4fdafa893e
Add drawing attachments using PencilKit 2020-05-09 22:14:48 -04:00
Shadowfacts 02088b1f55
Remove MastodonCache 🎉 2020-05-06 23:29:57 -04:00
Shadowfacts 90bc9b91de
Add AccountProtocol and StatusProtocol
Provides a single interfaces for API and CoreData statuses and accounts
2020-05-06 18:40:12 -04:00
Shadowfacts f53474ac90
Use CoreData for notifications screen 2020-04-27 19:20:09 -04:00
Shadowfacts 7deb4fc5b4
Add LazilyDecoding for CoreData embedded objects 2020-04-11 15:35:00 -04:00
Shadowfacts 2a419eb87c
Add basic Status/Account CoreData model 2020-04-11 15:32:25 -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 c9c001d403
Improve attachment previewing
- Set correct preview size
- Don't show controls
2020-03-20 22:13:04 -04:00
Shadowfacts 4ce8de280e
Bump build number 2020-03-17 21:58:14 -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 64a8f6d733
Reorganize code 2020-03-15 11:43:41 -04:00
Shadowfacts ca76568c79
Remove old code 2020-03-15 11:40:28 -04:00
Shadowfacts 34dccf1f37
Extract compose attachments into separate VC 2020-03-14 15:47:15 -04:00
Shadowfacts b61418e062
Bump build 2020-03-02 19:45:14 -05:00
Shadowfacts c7746d3084
Add unknown notification fallback
Closes #90
2020-03-02 19:44:10 -05:00
Shadowfacts 53707593a6
Show custom emojis in display names (where possible) 2020-03-01 19:40:32 -05:00
Shadowfacts d4ca39761e
Change version, disable UI test web server temporarily 2020-03-01 18:23:10 -05:00
Shadowfacts 387623a309
Remove old code 2020-02-28 19:24:14 -05:00
Shadowfacts 1a8e84f5fa
Reorganize behavior preferences 2020-02-22 13:19:31 -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 8be7480755
Change bundle identifier and signing account 2020-02-08 17:54:04 -05:00
Shadowfacts 62408fc4bd
Merge branch 'master' into multiple-accounts 2020-01-22 22:30:30 -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 26f1aafa15
Unify SavedHashtagsManager and SavedInstancesManager 2020-01-20 11:20:39 -05:00
Shadowfacts 6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -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 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 29e0128a55
Fix broken file paths 2020-01-06 20:27:58 -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 ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
Closes #64
2020-01-04 23:13:23 -05:00
Shadowfacts 05cc3fd6d9
Add pinning/unpinning statuses
Closes #69
2020-01-04 19:31:35 -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 18c3c3c434
More UI testing setup and API mocks 2019-12-31 11:40:56 -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 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 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 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 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 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 5076aec54e
Use ObservedObject for binding to prefs in SwiftUI instead of custom property wrappers 2019-11-14 19:53:00 -05: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 f0c0376f80
Add home screen shortcuts 2019-09-19 16:55:15 -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 88344c67e8 Merge timeline tabs
Closes #46
2019-09-14 15:59:32 -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 9522509f8f
Remove unnecessary XIBs 2019-09-06 17:45:49 -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 e53b14c729
Reorganize Pachyderm code 2019-09-05 14:40:35 -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 84cfa923ca
Use Notification for updating view appearance on preferences change 2019-08-02 18:05:47 -06:00
Shadowfacts 51a03553a9
Add preference for how reply CWs are copied 2019-07-31 21:25:44 -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 5f5ff68b80
Merge branch 'swiftui-preferences' 2019-07-27 21:59:21 -04:00
Shadowfacts 50d641eb59
Block gab.* domains from logging in 2019-06-19 19:12:42 -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 f2e3870850
Start rewriting preferences in SwiftUI 2019-06-13 17:53:17 -07:00
Shadowfacts 9d4782c63c
Add SF Symbols icons 2019-06-11 10:21:22 -07: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 9c0624b79e
Clean up warnings 2019-04-01 17:58:44 -04:00
Shadowfacts 2a11a09c91
Convert to Swift 5 2019-04-01 17:51:40 -04:00
Shadowfacts 779f04b62f
Add README 2019-02-10 10:41:54 -05:00
Shadowfacts 07ce3d41a8
Remove old tab customization code 2019-02-10 10:32:13 -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 fe85e3c1d6
Redo app navigation/tab bar 2019-01-05 12:59:55 -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 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 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 fda4ca4d11
Target iOS 12.0 2018-10-19 19:54:43 -04:00
Shadowfacts 0b6459a806
Add 3d touch peek/pop navigation 2018-10-11 21:52:41 -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 57cbebecbd
Merge branch 'master' of github.com:shadowfacts/Tusker 2018-10-02 18:28:38 -04:00
Shadowfacts 697873c045
Xcode suggested changes 2018-10-02 08:34:41 -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 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 d1b45ddf7b
Pachyderm: Add CharacterCounter 2018-09-29 21:57:10 -04:00
Shadowfacts 813ed27d29
Refactor XCB actions code, add JSON responses 2018-09-25 21:41:12 -04:00
Shadowfacts 9a41d44e9f
Add getCurrentUser XCB action, refactor XCB support some more 2018-09-23 21:35:33 -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 d74f86418e
Add initial x-callback-url implementation 2018-09-23 12:01:23 -04:00
Shadowfacts 0d902f7d37
Xcode suggestions 2018-09-23 12:00:30 -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 6ec0ae5489
Refactor swipe actions into TableViewSwipeActionProvider 2018-09-15 13:11:58 -04:00
Shadowfacts 6f424666d8
Add post progress view 2018-09-12 09:19:51 -04:00
Shadowfacts 17d072c5b2
Fix upload media 2018-09-11 13:45:48 -04:00
Shadowfacts c59a2b32a2
Merge branch 'progress-view' 2018-09-11 12:52:01 -04:00
Shadowfacts 1119a861d8
Replace MastodonKit with Pachyderm 2018-09-11 10:52:21 -04:00
Shadowfacts a1cd9496e9
Start progress view 2018-09-11 08:15:10 -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 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 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 fc69b9684b
Initial implementation Compose UI 2018-08-30 22:30:19 -04:00
Shadowfacts 7fda5ae9fe
Add option to strip custom emoji from display names 2018-08-28 21:18:58 -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 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 b655c20e3d
Move StatusTableViewCell to separate nib 2018-08-27 16:32:59 -04:00
Shadowfacts 62bc57e169
Fix link detection 2018-08-26 14:49:22 -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 8d268fad18
Start OAuth 2018-08-19 16:14:04 -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 f59b16cc9d
Initial commit 2018-08-16 07:46:19 -04:00
Shadowfacts 232a2106d9
Initial Commit 2018-08-15 22:27:48 -04:00