Jim Dovey
d1209e6704
Updated to resolve all possible Sendability warnings from Swift 6 compatibility mode. ( #1072 )
...
Co-authored-by: Jim Dovey <jimdovey@apple.com>
2023-02-27 06:39:07 +01:00
Thomas Ricouard
347335f770
Move userMentioned outside of Status
2023-02-26 09:38:26 +01:00
Thomas Ricouard
83e4e74329
Swiftformat
2023-02-26 06:45:57 +01:00
Paul Schuetz
06629cc397
Enhance the context menu for private messages ( #1053 )
...
* Enhance the message context menu
A direct message can now directly be bookmarked, the author can be publicly
mentioned and reported.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Add options to the conversation list context menu
Since the latest message is shown in the conversation list, the user can now
interact with this message via the context menu similar to the messages in the
conversation history.
The "conversation" class had to be modified since
bookmarking and liking a message would have led to a race condition (depending
on the server) when fetching the conversations afterwards, so the only affected
the message is now immediately updated.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Remove child view models
The child views models are removed, and the list row now only uses the conversation
object managed by the list view model.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
* Make unmodified var let
The last state-var of a conversation isn't modified, instead, a new conversation
is created. Therefore, the var is now a let.
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
---------
Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
2023-02-26 06:45:31 +01:00
Thomas Ricouard
63ff87f640
Move languages into Models
2023-02-24 08:24:51 +01:00
Thomas Ricouard
096e42b1c2
Profile edit: Add metadata editing
2023-02-24 07:55:24 +01:00
Thomas Ricouard
a4910037b8
Swiftformat .
2023-02-22 19:09:39 +01:00
Alex Grebenyuk
37a69650ef
Remove capture mode for images ( #996 )
...
* Remove capture mode for images
* Simplify how processor is created in StatusRowMediaPreviewView
* Optimize StatusViewId further
2023-02-22 07:09:56 +01:00
Thomas Ricouard
5d3b378373
Fix Equatable impl for Status and Account (thanks class)
2023-02-21 12:35:07 +01:00
Thomas Ricouard
b259b6739e
Swiftformat
2023-02-21 07:23:42 +01:00
Peter-Josef Meisch
6aeb25885c
Fix display of multiple vote polls ( #967 )
...
Closes #952
2023-02-21 07:05:21 +01:00
Alex Grebenyuk
5faf793fe2
Optimize viewId ( #942 )
2023-02-19 07:25:27 +01:00
Thomas Ricouard
4000dc3650
Switch to targeted Swift concurrency warnings + fix them
2023-02-18 22:51:44 +01:00
Thomas Ricouard
b1424aadd0
Fix two crashes
2023-02-18 17:08:32 +01:00
Yusuke Arakawa
8d8955ee13
Fix leak memory (Thread 1: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)) ( #917 )
...
Closes : #829
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-18 08:53:11 +01:00
Thomas Ricouard
ca4e80101f
Swiftformat
2023-02-18 07:26:48 +01:00
Alex Grebenyuk
dcf03b0f88
Status as class (performance improvement) ( #925 )
...
* Status as class (performance improvement)
* Also make account class
---------
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 07:15:57 +01:00
Gareth Simpson
c1205036a2
This simplifies the parser. Having read the spec more closely as part of investigating bug 855, I was overcomplicating it. The server promises to send html so we should render it that way, not with heuristics. ( #900 )
...
This puts in line breaks exclusively where there are <br>s and takes out other line breaks that are in the body text.
*Doesn't* fix bug 855
2023-02-17 06:31:24 +01:00
Thomas Ricouard
ac32410200
Proper threading UI
2023-02-16 17:07:52 +01:00
Yusuke Arakawa
7bbe3cbc41
Fixed non-existing Json key decoding error ( #832 )
...
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-14 12:19:23 +01:00
Thomas Ricouard
3d96d6997d
Better handling of notifications
2023-02-13 22:30:06 +01:00
Thomas Ricouard
eb6050a38f
Swiftformat
2023-02-12 16:29:41 +01:00
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