Commit Graph

191 Commits

Author SHA1 Message Date
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 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 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 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