115 Commits

Author SHA1 Message Date
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
90bc9b91de
Add AccountProtocol and StatusProtocol
Provides a single interfaces for API and CoreData statuses and accounts
2020-05-06 18:40:12 -04:00
49d00bb1b0
Fix swipe actions not showing up 2020-04-27 19:32:16 -04:00
ee5e049355
Use CoreData for bookmarks and search results 2020-04-27 19:25:41 -04:00
f53474ac90
Use CoreData for notifications screen 2020-04-27 19:20:09 -04:00
030bee1948
Convert conversation VC to use CoreData models 2020-04-13 22:51:15 -04:00
a0e95d4577
Remove unnecessary attachment decoding code
For some reason, creating a URL from a string decoded from the container
was producing URL objects that could not be round-tripped through
PropertyListEncoder/Decoder. Decoding a URL directly from the container
works correctly.
2020-04-12 12:52:51 -04:00
7deb4fc5b4
Add LazilyDecoding for CoreData embedded objects 2020-04-11 15:35:00 -04:00
e3cc0df283
Remove unnecessary URL escaping 2020-03-15 21:09:11 -04:00
1b19a13b05
Decode status cards 2020-03-04 21:14:58 -05:00
c7746d3084
Add unknown notification fallback
Closes #90
2020-03-02 19:44:10 -05:00
387623a309
Remove old code 2020-02-28 19:24:14 -05:00
70bca052c4
Tweak notification grouping
Notifications that are of the same type but are separated by a groupable
notification of a different type are now considered groupable. For
example:

favorite 1 (status 1)
reblog 1 (status 1)
favorite 2 (status 1)
reblog 2 (status 1)
mention 1
reblog 3 (status 1)

will be grouped into:

favorite 1, 2 (status 1)
reblog 1, 2 (status 1)
mention 1
reblog 3 (status 1)
2020-02-28 19:21:39 -05:00
81256b7a96
Only show local posts on public instance timelines 2020-01-25 10:37:22 -05:00
12b6623113
Merge branch 'master' into multiple-accounts 2020-01-20 12:16:11 -05:00
cece8825ad
Fix decoding Account.moved on Mastodon 2020-01-20 12:10:10 -05:00
f9ffb240ef
Fix decoding Hashtag.History on Mastodon 2020-01-20 12:07:30 -05:00
79f44c9b58
Change recommended instance selector to store categories as strings
instead of enum

Additional categories can be added, which would cause a crash when
decoding.
As the category isn't used for anything, storing it as an enum value is
not necessary.
2020-01-20 11:56:43 -05:00
08c84688cf
Change recommended instance selector to store categories as strings
instead of enum

Additional categories can be added, which would cause a crash when
decoding.
As the category isn't used for anything, storing it as an enum value is
not necessary.
2020-01-18 22:42:20 -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
787dc9f24f
Fix crash decoding statuses sent from certain applications
If an application provides its URL as an empty string, decoding it would
cause throw an error because Foundation's URL class does not accept
empty strings. Instead, during parsing, consume the invalid URL and
replace it with a `nil` app URL.
2020-01-04 23:13:55 -05:00
ad09e36907
Show follow requsts in notifications w/ accept/reject buttons
Closes #64
2020-01-04 23:13:23 -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
6831ab5385
Pachyderm: Fix request bodies form parameters not being percent-escaped
Fixes #65
2019-12-18 21:59:08 -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
4c0607af79
Add (un)bookmarking to status more options 2019-12-14 12:40:50 -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
5ebf651f76
Revert "Use correct ISO 8601 date decoder"
This reverts commit 5da357ee9cc12d5f59a5f89bdb166d0f9b29f893.
2019-09-26 18:39:48 -04:00
5da357ee9c
Use correct ISO 8601 date decoder 2019-09-24 14:53:35 -04:00
b81e4d0a9e
Tweaks to support decoding Pixelfed instance response 2019-09-22 18:57:33 -04:00
9502944e62
Revert "Fix pagination links not being parsed correctly for some URLs"
This reverts commit 60aa6eca3604bd6f1fd511cf722bff0dd572ae1e.
2019-09-19 18:57:35 -04:00
d0c49144c4 Add notification dismissal swipe action
#49
2019-09-16 16:09:13 -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
60aa6eca36
Fix pagination links not being parsed correctly for some URLs
Fixes an issue where Mentions notifications wouldn't load past the first page.

URLComponents(string:) fails when the string contains some characters, such as [ or ]
URL(string:) and then URLComponents(url:resolvingAgainstBaseURL:) does not fail
See FB7271340
2019-09-14 15:32:20 -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
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
d3848b356b
Remove old custom Identifiable type 2019-09-05 14:40:06 -04: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
8a45837918
Fix loading attachments from Pleroma
Unlike Mastodon, Pleroma includes a URL query component in attachment URLs.
The URL(lenient:) initializer did not count query parameters (e.g. '?') as valid URL characters
and incorrectly escaped them resulting in image requests that 404'd.
2019-06-13 23:48:21 -07:00
d94a0050b7
Show fields in profiles
Closes #19
2019-04-01 19:34:50 -04:00
37f6a0b4c8
Add custom emojis
Closes #6
2019-02-09 21:15:15 -05:00
882f03a94b
Better lenient URL parsing 2019-01-14 13:45:33 -05:00
30cd8991e8
Pachyderm: Add StatusContentType 2019-01-13 19:46:51 -05:00
db68b9dee0
Fix crash when decoding status attachments with non-percent encoded spaces in URLs 2019-01-13 19:45:57 -05:00
3da1a7badd
Add character counter 2018-09-29 22:20:17 -04:00
d1b45ddf7b
Pachyderm: Add CharacterCounter 2018-09-29 21:57:10 -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
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
bf09b80a5a
Change Pachyderm models to be immutable 2018-09-17 19:33:44 -04:00
22dfec0483
Start work on swipe actions 2018-09-15 10:56:27 -04:00
d46b61595e
Pachyderm: Fix pagination 2018-09-14 11:35:00 -04:00
17d072c5b2
Fix upload media 2018-09-11 13:45:48 -04:00
1119a861d8
Replace MastodonKit with Pachyderm 2018-09-11 10:52:21 -04:00