217 Commits

Author SHA1 Message Date
59c00b01dc
Fix not being able to compile for Catalyst 2020-11-14 10:45:27 -05:00
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
911e66a159
Allow more browsing of instance public timelines
Closes #74
2020-09-13 15:51:08 -04:00
9b04b75949
Prevent potential race condition when loading additional statuses 2020-08-16 10:29:31 -04:00
79b23127e9
Fix crash on refreshing 2020-08-15 14:15:38 -04:00
794594805c Prevent needlessly prefetching non-image attachments 2020-07-06 00:00:55 -04:00
db30471011 Fix not being able to refresh timelines 2020-07-05 16:30:16 -04:00
056346cee9
Add reply indicator to statuses in timelines 2020-06-16 23:06:36 -04:00
36326e4469
Make network requests in viewWillAppear instead of viewDidLoad 2020-06-15 19:41:51 -04:00
35a510e8ed
Add cache reset button to Advanced Preferences 2020-05-13 18:58:11 -04:00
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
98529ca5af
Remove notifications from the bottom when scrolling up notifications list 2020-05-10 12:56:03 -04:00
6d8c5f632c
Fix scroll-to-top sometimes not scrolling all the way to the top 2020-05-10 12:56:01 -04:00
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
2c8ba878b7
Start converting UI to use CoreData backed objects instead of API
objects directly
2020-04-12 12:54:27 -04:00
20c602f911
Disable row insertion animations 2020-01-26 18:23:18 -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
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
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
6421d4dc12
Merge branch 'master' into multiple-accounts 2020-01-18 18:56:36 -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
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
c31916d67e
Remove references to old images 2020-01-04 23:04:45 -05:00
377b5f5c85
Add ability to save and view instance public timelines 2019-12-19 22:55:41 -05:00
afc2bfcf6b
Add list editing 2019-12-17 22:56:53 -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
32d6756762 Add NSUserActivity's for timelines 2019-09-15 21:15:40 -04:00
88344c67e8 Merge timeline tabs
Closes #46
2019-09-14 15:59:32 -04:00
befcc18e4d
Collapse statuses with content warnings
Closes #11
2019-09-09 18:40:23 -04: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
d9b21a0196
Represent timelines internally as segments
Primarily in preparation for timeline position persistence and split
timelines
2019-07-31 17:42:19 -06:00
940ba6d6cb
Fix swipe actions on iOS 13 2019-06-13 19:31:36 -07:00
9d4782c63c
Add SF Symbols icons 2019-06-11 10:21:22 -07:00
a89fb56a60
Add support for iOS 13 previewing and actions 2019-06-04 17:04:37 -04:00
b3b9d566b7
iOS 13 Dark Mode Support 2019-06-04 13:31:05 -04: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
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
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
0b6459a806
Add 3d touch peek/pop navigation 2018-10-11 21:52:41 -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
adffe41c95
Add tapping hashtags to show tag timeline 2018-09-30 21:28:22 -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
a5579ce0e3
Change client requests to match others 2018-09-17 20:58:05 -04:00
6ec0ae5489
Refactor swipe actions into TableViewSwipeActionProvider 2018-09-15 13:11:58 -04:00
4c9be91162
More swipe actions 2018-09-15 12:39:50 -04:00
22dfec0483
Start work on swipe actions 2018-09-15 10:56:27 -04:00
1119a861d8
Replace MastodonKit with Pachyderm 2018-09-11 10:52:21 -04:00
d4a451fadb
Favorites and reblogs 2018-09-08 21:35:40 -04:00
cd5d0c4a95
Change how view controller delegate extensions work 2018-09-03 18:46:20 -04:00
bd1f8fa20a
Reorganize sources 2018-09-03 17:10:26 -04:00