Commit graph

235 commits

Author SHA1 Message Date
Thomas Ricouard
41058919bd Reworked translate: Use Mastodon API when available + always show the action in the post context menu 2023-02-12 13:22:36 +01:00
Thomas Ricouard
dbdcf4c2d6 Fix reblog 2023-02-10 18:25:38 +01:00
Thomas Ricouard
feefb02456 Status detail: Switch to List container + refactor to something much better 2023-02-10 18:21:05 +01:00
Thomas Ricouard
195ab4cd65 Faster viewID for Status 2023-02-10 07:26:41 +01:00
Thomas Ricouard
22b4044dfd Fix relative date 2023-02-09 19:25:12 +01:00
Yusuke Arakawa
dae7b85d3d
Timeline: restore the selected timeline at the next startup (#694)
* Timeline: restore the selected timeline at the next startup

Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>

* Rename: UserDefaultas label name

Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>

* Timeline: RawRepresentable of TimelineFilter

Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>

* Cleanup code

* Supports RemoteTimelineFilter

* Cleanup code

* Safe saves last viewed status

---------

Signed-off-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-09 12:27:59 +01:00
Thomas Ricouard
013410a80e Faster / Cached ServerDate decoding 2023-02-09 09:12:44 +01:00
Gareth Simpson
a43a657f1e
Add translate button to the preview post in settings (#724)
* Add translate button to the preview post in settings

* Accidental outdent.

* Add share button to placeholder status and also preview status in settings.
2023-02-09 07:38:04 +01:00
Gareth Simpson
8f6e6853aa
Add a preview toot to the top of the display settings page. (#716)
* Add a preview toot tot the top of the display settings page.

* DisplayModel doesn't need to be @State

* Disable hitTest

* Example Post

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-08 19:09:24 +01:00
Sean Goldin
0c359f2b79
Add direct status highlighting (#720) 2023-02-08 18:47:09 +01:00
Thomas Ricouard
eb0b1043c7 Fix instance suggestions not loading 2023-02-08 07:25:05 +01:00
Peter-Josef Meisch
1c8fabbe59
Fix Conversation.lastStatus nullability issue (#709) close #696
* Fix Conversation.lastStatus nullability issue

* Fix UI

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-08 06:27:44 +01:00
Gareth Simpson
7ef4b8eda7
Fix custom emoji with underscores (#687)
* Potential fix

* explainer :)
2023-02-07 07:06:30 +01:00
Thomas Ricouard
0af60c4b1e Faster HTML String disk cache 2023-02-05 21:23:47 +01:00
Thomas Ricouard
6b285cdbcf Cleanup 2023-02-04 17:17:38 +01:00
Thomas Ricouard
508b180a1d Remove extra line break from spoiler text 2023-02-04 13:36:56 +01:00
Thomas Ricouard
3c0ffdb1ae Prepare disk cache for Timeline 2023-02-04 12:17:16 +01:00
Thomas Ricouard
86937e65fe Compose: Fix editing, now keep line breaks and link close #602 2023-02-04 11:21:30 +01:00
Gareth Simpson
624d4766fa
Newer, better, faster HTML to Markdown converter (#610)
* This is a more correct html to markdown implementation.

It removes all the hacks and just uses the SwiftSoup parser correctly

It will fix issue #576 and also an unlogged issue with the old implementation that could corrupt urls with underscores in them.

* Better <br> / linefeed handling

* Cleanup

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-04 08:16:19 +01:00
Thomas Ricouard
4de46610e0 Handle dynamic streaming URL 2023-02-03 19:44:55 +01:00
Sean Goldin
10946fef10
Timeline highlight mentions (#595)
* Introduce fetchPages

* Set up highlighting

* Implement highlighting stage 1

* Implement highlighting stage 2

* Implement highlighting.

* Fix merge

* Add protocol

* Remove debug prints
2023-02-02 06:39:03 +01:00
Thomas Ricouard
4e77669181 Swiftformat 2023-02-01 12:49:59 +01:00
Jérôme Danthinne
f3e21a714c
Consolidate new notifications with the latest one (#563) 2023-01-31 17:43:52 +01:00
Gareth Simpson
0a0e985e33
match intended mastodon presentation (#557)
strip out <span="invisible">blah</span>
append ellipsis to <span="ellipsis">blah</span>
2023-01-31 09:02:01 +01:00
Thomas Ricouard
16636b12a9 Swift format 2023-01-30 07:27:06 +01:00
Thomas Durand
c6c066564d
Better profile header (#526)
* Prevent opening quicklook for missing avatar or header. Fixes #127

* Using theme for missing header background in profile

* fix

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-30 07:15:18 +01:00
Thomas Ricouard
426d2e15b2 Change timeline icon + move OpenAI icon to the accessory bar 2023-01-29 15:08:41 +01:00
Jérôme Danthinne
2360c5f4db
Fix french localizations (#476)
* Fix french plurals

* Fix english

* More French translations fixes

* Switching relative date formatter

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-28 18:40:23 +01:00
Gareth Simpson
1983ae0f48
This is a more conservative fix for #328 (#462) close #328
Having checked the markdown -> attributedtext conversion, lots of things I was escaping before are actually ingored.

This change only escapes things that are definitely rendered and as far as I can tell doesn't break anything now.

Test post to look at with maximal Markdown: https://mas.to/@elbrux/109743775703438333
2023-01-28 09:01:37 +01:00
Roberto Pastor
4cdd0214f4
Spanish update 27-01 (#450)
* - Updated spanish localization with new keys
- Added missing NSLocalizedString for filters

* Fixed unresolved conflict

---------

Co-authored-by: Roberto Pastor <roberto.pastor@cabify.com>
2023-01-28 06:33:58 +01:00
Thomas Ricouard
b89221a535 Code cleanup / format / lint 2023-01-27 20:36:40 +01:00
Jérôme Danthinne
bec9ab8792
Consolidated notifications (#443) close #231
* Group favorite and boost notifications

* Group notifications per page, not globally
2023-01-27 16:58:04 +01:00
Thomas Ricouard
e811d5dd39 Bump version to 1.1.2 + More fixes for iPad logged out 2023-01-26 22:07:21 +01:00
Thomas Ricouard
72fbcff1dd DM: Various UX fixes 2023-01-26 18:27:53 +01:00
Thomas Ricouard
5cd9ddd945 New account settings + create / edit server side filters 2023-01-25 21:18:34 +01:00
Jérôme Danthinne
9b3b3692ee
Support for follow requests (#376) close #321
* Support for follow requests (#321)

* Run SwiftFormat

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-25 13:02:28 +01:00
Gareth Simpson
ab4ac1b004
Local content settings close #338 (#362)
* Local settings for sensitive content.

* Local sensitive content settings

* Added the posting settings as well as the reading ones.

* Menu item / nav title mismatch

* Fixes

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-25 06:28:16 +01:00
Thomas Ricouard
5b3afc72de Fix some polls crashing at decoding 2023-01-24 21:19:14 +01:00
Thomas Ricouard
b1520c549e Various fixes due to recent merges 2023-01-24 07:19:09 +01:00
Thomas Ricouard
dd5e6b91c0 oops 2023-01-24 06:56:28 +01:00
Gareth Simpson
ffe1a1dba0
Escape markdown markup characters on their way into HTMLToMarkdown to prevent them being rendered as styled text after they come out. (#329) 2023-01-24 06:38:38 +01:00
Steve Kalkwarf
a7c7dfd24e
Make spelling of "favorite" consistent (#327)
"Favorite" was spelled using both UK English and US English variations:
113 favourite
64 favorite

I made them consistent, using the US spelling.
2023-01-24 06:35:43 +01:00
Thomas Ricouard
11a7ade82d Fix handling of Twitter link 2023-01-23 21:34:45 +01:00
Sean Goldin
6aea60b644
Fix twitter links (#316) 2023-01-23 20:51:16 +01:00
Thomas Ricouard
2a635eda21 Optimise Status models for SwiftUI 2023-01-22 20:23:41 +01:00
Thomas Ricouard
ce41e6b000 Always display relative date in the timeline 2023-01-22 20:14:05 +01:00
Thomas Ricouard
d6aa99eb57 New direct messages view close #122 2023-01-22 16:55:03 +01:00
Thomas Ricouard
eec5637c1c Composer / Share sheet: add video upload support close #154 2023-01-22 09:09:35 +01:00
Thomas Ricouard
a79c5691e0 Run SwiftFormat 2023-01-22 06:38:30 +01:00
Thomas Ricouard
77c94e940a Fix timeline failing to load because status card URL is invalid Fix #209 2023-01-21 12:13:20 +01:00
Thomas Ricouard
87471ed9c8 Safer HTML String decode 2023-01-21 11:32:47 +01:00
Thomas Ricouard
7b25240f59 Search: Completely revamp it! close #78 #90 2023-01-21 07:51:15 +01:00
Thomas Ricouard
0eaf2ebc60 Add a rate on the App Store button in the settings 2023-01-21 07:16:20 +01:00
Thomas Ricouard
d1034cd9a3 Do string manipulation at the decode time to keep the UI smooth fix #178 2023-01-20 18:27:00 +01:00
Renan Guilherme
3b0d26bab2
Make vapidKey in InstanceApp model optional (#135) 2023-01-20 06:42:18 +01:00
Thomas Ricouard
e05734fe1a Added edit history 2023-01-19 21:19:19 +01:00
Thomas
980b9a5dd6
Implement Localization (#80)
* Implement localization

* Fix some localization keys

* Adapt to recent changes
2023-01-19 18:14:08 +01:00
Thomas Ricouard
8921e6c8df Support more instances 2023-01-18 19:10:45 +01:00
Thomas Ricouard
d737b429b4 Support instance with malformed statuses URL 2023-01-18 13:36:00 +01:00
Romain Vincens
bb72327f52
Fixed typos & misspells (#88)
* Fixed typos and misspells

* Other typos
2023-01-17 15:14:50 +01:00
Thomas Ricouard
7f6419ebae Swiftformat 2023-01-17 11:36:01 +01:00
Thomas
382ebcf8f7
Implement language selection for new posts (#83) close #76
* Implement language selection in status editor

* Apply the correct language on replies and edits

* Use sheet for language selector

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-17 07:07:26 +01:00
Thomas Ricouard
9e569df417 Fix featuredTags weird decode 2023-01-15 14:21:08 +01:00
Thomas Ricouard
2fdf5fe239 Fix markdown rendering for statuses 2023-01-13 14:11:21 +01:00
Thomas Ricouard
66efedbbda AppAccounts: Move to its own package to prepare widget work 2023-01-12 18:17:21 +01:00
Thomas Ricouard
6f7c576c3a Add notify next to follow button if following 2023-01-12 07:36:19 +01:00
David Walter
3acd5aced4
Support Custom Emojis (#61)
* Support Custom Emojis

* Update EmojiText

* Update EmojiText

* Use EmojiText in StatusEditorAutoCompleteView

* Update EmojiText

* Display Account displayName without emojis in navigation title

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-12 06:58:04 +01:00
Thomas Ricouard
71ec57f915 Support edit profile 2023-01-10 08:24:05 +01:00
Thomas Ricouard
dc223171b3 Support hide sensitive medias / hide all medias 2023-01-09 20:39:42 +01:00
Thomas Ricouard
33634a16aa Fetch server side preferences 2023-01-09 19:47:54 +01:00
Thomas Ricouard
662f4be29d Bookmarks support close #48 2023-01-09 19:26:56 +01:00
Thomas Ricouard
a9db49e5df Support audio attachement + better push keys flow 2023-01-08 16:18:38 +01:00
Thomas Ricouard
ed8208857a Cleanup + Polish push notifications 2023-01-08 14:16:43 +01:00
Thomas Ricouard
424cd475ad Add push notifications support 2023-01-08 10:22:52 +01:00
Thomas Ricouard
75fda4b709 Tip jar + New display name 2023-01-07 13:44:13 +01:00
Sean Goldin
79febd92e7
Fix loading local time line (#34) 2023-01-06 21:19:29 +01:00
Thomas Ricouard
7f5330f284 Redesigned settings tab 2023-01-06 17:14:34 +01:00
Thomas Ricouard
770fcfd62b iPad max column width on some screens 2023-01-05 14:11:55 +01:00
Thomas Ricouard
997d82047e Make Meta.original optional 2023-01-05 13:27:04 +01:00
Thomas Ricouard
e1ad5efd80 Direct message + empty screen for notifications and messages 2023-01-05 12:21:54 +01:00
Thomas Ricouard
dcdd8402e9 Timeline: Add filter for followed tags 2023-01-04 18:37:58 +01:00
Thomas Ricouard
8a8c7a7e5e Better filter for notifications 2023-01-04 08:14:37 +01:00
Thomas Ricouard
5fe72e36d2 make votes and ownVotes optional 2023-01-03 15:51:36 +01:00
prajeet
1c827d1f7e
Made filtered key optional (#25) 2023-01-03 15:15:08 +01:00
Thomas Ricouard
f4f8b81f6c Support filters in statuses 2023-01-03 12:24:15 +01:00
Thomas Ricouard
e0253fb439 Added lists support + bunch of bug fixes 2023-01-02 19:23:44 +01:00
Thomas Ricouard
b2d4d151e5 Add video type support for media attachement (reading) 2022-12-30 18:40:10 +01:00
Thomas Ricouard
f215298917 Embed + tap on statuses link from any instances 2022-12-30 16:55:13 +01:00
Thomas Ricouard
d61ce04dac Convert status to local URL when quoting 2022-12-30 10:11:05 +01:00
Thomas Ricouard
03a5dd9f54 New Sign In flow & instances browser 2022-12-29 14:07:58 +01:00
Thomas Ricouard
5bc262da33 Clear notifications on list view appear 2022-12-29 09:10:49 +01:00
Thomas Ricouard
2b733e6b10 Timeline: Fetch up to 10 new pages on pull to refresh 2022-12-28 19:10:13 +01:00
Thomas Ricouard
80c2086a8e Status: Spoiler support 2022-12-28 10:45:05 +01:00
Thomas Ricouard
3b8772c5da Status: View & votes on polls 2022-12-28 10:08:41 +01:00
Thomas Ricouard
5b9f91abd1 Editor character count + settings instance rules 2022-12-28 08:06:46 +01:00
Thomas Ricouard
03e5a960d2 Better status editor 2022-12-27 19:10:31 +01:00
Thomas Ricouard
627173989e WIP Media upload 2022-12-27 16:16:25 +01:00
Thomas Ricouard
afbdd45e48 Status visibility 2022-12-27 14:20:00 +01:00
Thomas Ricouard
816e1d5e7d Explore: Search 2022-12-27 10:04:39 +01:00
Thomas Ricouard
e5fb3acd07 Quote status + embed status 2022-12-27 07:51:44 +01:00
Thomas Ricouard
dcd686a44b Media meta 2022-12-27 06:44:40 +01:00
Thomas Ricouard
bda77571b6 Editor: Simple edit 2022-12-26 08:24:55 +01:00
Thomas Ricouard
fded30bb76 Refactor live timeline + handle more events 2022-12-26 07:36:54 +01:00
Thomas Ricouard
b1f81dbe2f Fix build 2022-12-25 13:11:51 +01:00
Thomas Ricouard
93543cad6b Post / Delete a status and watch main timeline 2022-12-25 12:46:42 +01:00
Thomas Ricouard
e569bb1d74 Use Nuke where relevant 2022-12-25 07:43:02 +01:00
Thomas Ricouard
840461caeb Display reply to in status 2022-12-24 07:32:20 +01:00
Thomas Ricouard
e4e2b2ab8b Following / Followers page 1 2022-12-23 18:47:19 +01:00
Thomas Ricouard
7068ad90bb Share + Fixed logged out mode 2022-12-23 15:53:02 +01:00
Thomas Ricouard
189037b53d Explore + Account polish + Status editor WIP 2022-12-23 10:41:55 +01:00
Thomas Ricouard
fc77dd14fe Account detail: Add also followed by section 2022-12-22 12:26:11 +01:00
Thomas Ricouard
6144e2ba6a Fix video player 2022-12-22 07:00:35 +01:00
Thomas Ricouard
cff6f3a843 Fix space between mentions in status 2022-12-22 07:00:22 +01:00
Thomas Ricouard
05b5951ee1 Account about fields 2022-12-21 20:53:23 +01:00
Thomas Ricouard
0f2c2df624 Featured tags 2022-12-21 20:26:38 +01:00
Thomas Ricouard
07188a6818 Status detail + context 2022-12-21 18:28:21 +01:00
Thomas Ricouard
c2a2fe1f86 Custom emojis in display name 2022-12-21 17:39:48 +01:00
Thomas Ricouard
2cd28c13f3 Follow tags + various enhancements 2022-12-21 12:39:29 +01:00
Thomas Ricouard
effa895eac See your followed tags on account screen 2022-12-21 09:42:05 +01:00
Thomas Ricouard
024d325291 Favourite / Unfavourite status 2022-12-20 20:33:45 +01:00
Thomas Ricouard
60a963441c Follow / Unfollow 2022-12-20 17:11:12 +01:00
Thomas Ricouard
8def548913 Account tab + brand color 2022-12-20 16:08:09 +01:00
Thomas Ricouard
029b625acd Readme and better Markdown 2022-12-20 14:35:47 +01:00
Thomas Ricouard
d995b7c996 Focus on selected media in viewer 2022-12-19 19:04:07 +01:00
Thomas Ricouard
00b5e07acd Image Meta can be nil 2022-12-19 17:40:07 +01:00
Thomas Ricouard
4cc5c8ff86 Status: Support card 2022-12-19 16:34:57 +01:00
Thomas Ricouard
103db56ea4 Status actions count 2022-12-19 16:17:25 +01:00
Thomas Ricouard
ac1b739bf3 WIP Video support in attachement 2022-12-19 16:01:23 +01:00
Thomas Ricouard
b47df4605d Handle mentions tap in status 2022-12-19 15:51:25 +01:00
Thomas Ricouard
cab21c137b Notification tab 2022-12-19 12:28:55 +01:00
Thomas Ricouard
70d28e697c Begin profile + media preview 2022-12-17 13:37:46 +01:00
Thomas Ricouard
eb4dc011b6 A bit better timeline UI 2022-12-16 13:16:48 +01:00
Thomas Ricouard
846184ae58 Add icons + icon selector 2022-12-04 09:50:25 +01:00
Thomas Ricouard
df2d383b8a OAuth + Home timeline 2022-12-01 09:05:26 +01:00
Thomas Ricouard
202bf06dc6 Split Models from Network package 2022-11-29 09:28:17 +01:00