Commit graph

716 commits

Author SHA1 Message Date
Thomas Ricouard
65e63c4586 Remove Sendable conformance on Client as it's not needed 2023-02-19 07:51:16 +01:00
Alex Grebenyuk
03d60d2236
Update Nuke (#940) 2023-02-19 07:25:57 +01:00
Alex Grebenyuk
5faf793fe2
Optimize viewId (#942) 2023-02-19 07:25:27 +01:00
David Davies-Payne
159bd74566
Sort lists alphabetically in ListAddAccountView (#943) 2023-02-19 07:25:09 +01:00
Thomas Ricouard
5436e8d3f9 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-02-18 22:51:47 +01:00
Thomas Ricouard
4000dc3650 Switch to targeted Swift concurrency warnings + fix them 2023-02-18 22:51:44 +01:00
Sean Goldin
274d36eec7
Fix 1 line note in centre (#938) 2023-02-18 21:25:45 +01:00
Alex Grebenyuk
a8459638e9
Add image prefetch to the timeline + resize close #931 (#930)
* Add image prefectch to the timeline

* Use preview url for post with multiple attachements

* Add image resize

* Prefetch link cards

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 18:44:43 +01:00
Peter-Josef Meisch
7cc1ca44b5
Display and edit notes on profiles (#929)
Closes #165
2023-02-18 18:28:16 +01:00
Thomas Ricouard
7112e6515b Timeline: wrap datasource in an actor for safety and perforamances 2023-02-18 18:04:46 +01:00
Thomas Ricouard
b1424aadd0 Fix two crashes 2023-02-18 17:08:32 +01:00
Thomas Ricouard
bfce92d71e Per account notifications count close #894 2023-02-18 15:36:18 +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
9281e72e8c Fix status context menu mention for boost 2023-02-18 08:02:50 +01:00
Thomas Ricouard
9bc65d5563 Enable landscape on iOS 2023-02-18 07:42:35 +01:00
Thomas Ricouard
ca4e80101f Swiftformat 2023-02-18 07:26:48 +01:00
Alex Grebenyuk
425a4eef4f
Update to Nuke 12 (Beta 1) (#924)
* Install Nuke from nuke-12 branch

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 07:25:10 +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
Thomas Ricouard
88fdeec100 Fix link preview image size 2023-02-17 19:11:09 +01:00
Thomas Ricouard
c02cbde72e Fix translate button on boost 2023-02-17 19:11:01 +01:00
Thomas Ricouard
f09781582f Various optimizations to views & images rendering 2023-02-17 18:17:51 +01:00
Thomas Ricouard
881816730c Composer: Disable in app account switching 2023-02-17 14:02:05 +01:00
Thomas Ricouard
a3744525df StatusRow: Split into proper view struct 2023-02-17 13:30:56 +01:00
Thomas Ricouard
b7e7ee0736 Composer: Fix account switcher in share sheet 2023-02-17 13:30:45 +01:00
Thomas Ricouard
59d8346bc8 Composer: Fix sharing an UIImage directly 2023-02-17 08:33:56 +01:00
Thomas Ricouard
ea702e1101 Composer: Fix to account switcher + display full acct name close #906 2023-02-17 08:09:26 +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
c3ae101df2 More fix to detail screen 2023-02-16 21:06:45 +01:00
Thomas Ricouard
4304977924 Fix status detail 2023-02-16 18:46:25 +01:00
Thomas Ricouard
ac32410200 Proper threading UI 2023-02-16 17:07:52 +01:00
Peter-Josef Meisch
0b5ad32a92
add 12 hour duration to poll duration menu (#892) 2023-02-16 13:22:48 +01:00
Thomas Ricouard
ef7d75d3d5 Fix requestReview crash on macOS 2023-02-16 13:22:04 +01:00
Thomas Ricouard
f1919305ab Show threading / reply to UI in post detail 2023-02-16 12:15:13 +01:00
Thomas Ricouard
ab0b207596 Request store rating when publishing a post 2023-02-16 12:14:57 +01:00
Thomas Ricouard
41fdb3adde Various timeline fixes for smoother scrolling 2023-02-16 08:52:11 +01:00
Thomas Ricouard
64bee206b9 Fix account switcher 2023-02-16 08:38:34 +01:00
Thomas Ricouard
9f894858ae Don't load new pages if the timeline changed 2023-02-16 07:28:52 +01:00
Thomas Ricouard
3843d18f2f Fix trending timeline resetting to first page 2023-02-16 07:22:26 +01:00
Thomas Ricouard
40ca3940f6 Reworked account management / selection UI 2023-02-16 07:19:20 +01:00
Thomas Ricouard
6c6d25fc63 Add a setting to use SF Rounded font close #890 2023-02-15 20:03:31 +01:00
Thomas Ricouard
ba7b76f5a1 Various optimizations for StatusRow 2023-02-15 19:27:26 +01:00
Thomas Ricouard
c40ca6eb4d Fix filtered / hidden view for status 2023-02-15 19:10:34 +01:00
Quin
43b32ca3f7
Add accessibility labels to timeline headers. (#880) 2023-02-15 18:47:42 +01:00
Thomas Ricouard
f544d65862 Remove some Env Object from NotificationRowView 2023-02-15 09:04:35 +01:00
Thomas Ricouard
d958d10036 Remove Client and RouterPath from StatusRowView env object 2023-02-15 08:46:14 +01:00
Yusuke Arakawa
c09543b9de
Fix an empty dialog would appear if the selected language was empty (#873)
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-15 08:20:45 +01:00
Thomas Ricouard
0526c1025f Fix pasting screenshot close #864 2023-02-15 06:49:53 +01:00
Thomas Ricouard
b707749558 Composer: Remove unavailable features when editing close #868 2023-02-15 06:44:51 +01:00
Thomas Ricouard
c4b9e74bcd Escape characters when editing close #811 2023-02-15 06:41:28 +01:00
Yusuke Arakawa
1b47419458
Ignore the report button on my post (#856)
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-15 06:35:11 +01:00
Peter-Josef Meisch
fc21a3721a
Add setting to disable display of alt texts for media (#854) 2023-02-14 22:13:48 +01:00
Thomas Ricouard
498c2129fb oops 2023-02-14 14:15:31 +01:00
Thomas Ricouard
79c9ef4153 Make keychain account accessible after first unlock 2023-02-14 14:15:12 +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
dbbd33ba88 Reworked social notifications 2023-02-14 12:17:27 +01:00
Thomas Ricouard
1f14311c2c Better sharing for status and account close #837 2023-02-14 07:26:57 +01:00
Thomas Ricouard
df98e0f987 Revert "Use semver library for version checks (#843)"
This reverts commit 380a6acfd1.
2023-02-14 07:03:49 +01:00
Chanhwi Joo
af61ff7914
Improve swipe actions (#825)
* Remove icons from settings

* Add new toggle for using the theme tint

* Localizations

* Add icon style picker

* Localizations

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-14 07:01:55 +01:00
Joe Barbere
380a6acfd1
Use semver library for version checks (#843)
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-14 07:00:32 +01:00
Keita Watanabe
f0c2cfc08c
fix build error for env package (#844) 2023-02-14 06:59:44 +01:00
Thomas Ricouard
3d96d6997d Better handling of notifications 2023-02-13 22:30:06 +01:00
Thomas Ricouard
90199fc88b Route to push notifications on selection 2023-02-13 21:50:44 +01:00
Thomas Ricouard
50f6f1b007 Report status 2023-02-13 21:12:18 +01:00
Ico Davids
853d70f12a
Use previously unused LocalizedStringKey in language selector (#833) 2023-02-13 18:13:33 +01:00
Chanhwi Joo
6cf99613c0
Add a missing string (#834) 2023-02-13 18:12:34 +01:00
Thomas Ricouard
86aad4145a Notifications: When multiple follow, open list of users instead of just one user 2023-02-13 07:00:42 +01:00
Thomas Ricouard
9867faa6de Show inline actions for remote local timeline + fetch remote status 2023-02-13 06:48:29 +01:00
Thomas Ricouard
ef37db496c Swiftformat 2023-02-12 18:24:09 +01:00
Paul Schuetz
cd3c50e151
Automatically detect language of posts, improve language detection when posting (#800)
* Use language detection to translate posts

The source language of a post is now determined via Apples internal language
detection, translation from the transmitted language is still possible.

* Make language detection posting more accessible

Language recognition is now always applied before posting, even if the user has
explicitly selected a different language. However, the user is always asked in
which of the two languages he wants to post.

* Add localizations

* Remove language detection in the timeline for now

The language detection in the timeline is for now removed to increase
timeline-performance.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Show translate button even if no language is sent

The translate-button is shown even if no language is sent with the post.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

* Adjust to new commits on main

Adjustments are made in regards to new developments on main.

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>

---------

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-12 18:23:29 +01:00
Thomas Ricouard
aab397f2bb Fix profile pinned post UI 2023-02-12 18:14:34 +01:00
Thomas Ricouard
eb6050a38f Swiftformat 2023-02-12 16:29:41 +01:00
Thomas Ricouard
9fd1b4ef73 Cleanup 2023-02-12 16:29:27 +01:00
Thomas Ricouard
a959ea3606 Transition profile to List container 2023-02-12 16:13:57 +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
0449120684 Status media: Fix video size 2023-02-12 10:53:59 +01:00
Chanhwi Joo
0b3319c2e1
Improve swipe actions and settings (#808)
* Remove an unnecessary space from string

settings.swipeactions.status.trailing

* Make SwipeActionsSettingsView to be consistent with others

* Divide none as another section

* Add icons

* Make hollow icons work

* Show different button label by its status

* Use different colors by actions

* Fix swapped icons in settings

* Refactor
2023-02-12 10:37:09 +01:00
Thomas Ricouard
e6c5f2a9ca Fix instance version check 2023-02-12 09:58:21 +01:00
Chanhwi Joo
a32e4f98bb
Fix AppAccountView touch area (#807) 2023-02-12 06:47:22 +01:00
Thomas Ricouard
503dc3b3ee Fix UserPreferences making timeline laggy 2023-02-11 22:48:07 +01:00
Thomas Ricouard
9b21ac3e95 Fix 2023-02-11 22:17:46 +01:00
Peter-Josef Meisch
124aeef7fb
swipe actions improvements (#785)
* swipe actions improvements

* use old values as default settings

* Polish swipe actions settings

* Fix background color

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-11 21:48:08 +01:00
Joe Barbere
fcf20b1675
Allow editing of alt-text for media (#796)
* Allow editing of alt-text for media

* Fix

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-11 21:38:33 +01:00
Thomas Ricouard
2b2d042085 Fix pasting image from clipboard on iOS + reduce JPEG further 2023-02-11 20:39:56 +01:00
Andrzej Rózga
2363424aef
Localization update (#792)
- new string status.editor.emojis.navigation-title for hardcoded "Custom Emojis"
2023-02-11 20:21:12 +01:00
Thomas Ricouard
ffda5fe6f0 Force update status detail 2023-02-11 20:20:25 +01:00
Quin
e192135f37
Add accessibility labels to buttons in compose screen. (#776)
* Add accessibility labels to buttons in compose screen.

* Localize accessibility labels.

* Put them in all files.
2023-02-11 07:21:22 +01:00
Peter-Josef Meisch
fe1248fec6
Fix refresh of empty conversations (#778) 2023-02-10 22:16:03 +01:00
Thomas Ricouard
4e2d15eff6 Fixed on post detail 2023-02-10 20:57:09 +01:00
Thomas Ricouard
a32014991c Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-02-10 18:49:05 +01:00
Thomas Ricouard
e261e3a904 Set better video default setting 2023-02-10 18:49:03 +01:00
Yusuke Arakawa
6219f4c446
Clarify the difference between screen name and username (#769)
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-10 18:30:59 +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
2083f72b2b Better view separation for StatusRowView 2023-02-10 12:12:22 +01:00
Thomas Ricouard
b963a74dc4 Menu is back close #757 2023-02-10 08:10:10 +01:00
Thomas Ricouard
dedc7af49c Close #758 2023-02-10 07:59:14 +01:00
Thomas Ricouard
195ab4cd65 Faster viewID for Status 2023-02-10 07:26:41 +01:00
Paul Schuetz
368b2b2c5e
Update to the newest version of nuke (#759)
Static gifs as avatars are now rendered correctly.
2023-02-10 06:39:23 +01:00
David Davies-Payne
11167c35c3
Also sort tags and lists in profile view (#764)
* Add CurrentAccount.sortedLists and .sortedTags

Sorts alphabetically, ascending, lowercased on title and name respectively.

* TimelineTab uses CurrentAccount.sortedLists and .sortedTags

* Account detail sorts tags and lists

Alphabetically, ascending, lowercased via CurrentAccount.sortedTags, .sortedLists
2023-02-10 06:38:18 +01:00
Thomas Ricouard
22b4044dfd Fix relative date 2023-02-09 19:25:12 +01:00
Thomas Ricouard
5ab9566ca5 Ensure account and tab switching is done without animations 2023-02-09 18:48:31 +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
5b7bfba444 More optimizations to StatusRowView 2023-02-09 12:24:18 +01:00
Thomas Ricouard
013410a80e Faster / Cached ServerDate decoding 2023-02-09 09:12:44 +01:00
Thomas Ricouard
76c0c843cd Profile: Add a gap between pinned posts and other posts 2023-02-09 07:49:15 +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
Thomas Ricouard
abff7091cb Add avatar in account selector menu 2023-02-09 07:36:23 +01:00
Peter-Josef Meisch
70dce60b95
Fix handling of polls (#723)
* Fix handling of polls

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-09 06:35:19 +01:00
Yusuke Arakawa
11c5da05c2
Remove tab string from iOS app (#669)
* Remove tab string from iOS app

* Added tab string display setting

* Fixes

---------

Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-09 06:28:16 +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
eb5733a90b Handle Task Cancelling in the timeline 2023-02-08 18:46:09 +01:00
Thomas Ricouard
970305210b Bump cache to 600 posts 2023-02-08 08:48:18 +01:00
Thomas Ricouard
eb0b1043c7 Fix instance suggestions not loading 2023-02-08 07:25:05 +01:00
Thomas Ricouard
49791d2c86 Fix timeline cache caching something else than home Fix #710 2023-02-08 06:52:15 +01:00
Thomas Ricouard
b30b96c48d Fix range jumping while editing text 2023-02-08 06:33:50 +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
Yusuke Arakawa
e953c243cc
Show confirmation dialog when deleting post (#713) close #712
* Show confirmation dialog when deleting post

* Localization

* Fixes

---------

Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-08 06:24:09 +01:00
Thomas Ricouard
0496727b6f Composer: Rework TextView for faster / smoother editing 2023-02-07 18:42:56 +01:00
Thomas Ricouard
3b5f2e823a Support GIF + Better copy / pasting in the UITextView 2023-02-07 16:26:27 +01:00
Thomas Ricouard
ff3fb534c5 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-02-07 07:40:48 +01:00
Thomas Ricouard
3425b9c9ad Fixed notifications main label being cut 2023-02-07 07:40:43 +01:00
Gareth Simpson
7ef4b8eda7
Fix custom emoji with underscores (#687)
* Potential fix

* explainer :)
2023-02-07 07:06:30 +01:00
Thomas Ricouard
cf6a2f845f Notifications: Load more newer pages 2023-02-06 20:08:29 +01:00
Thomas Ricouard
c5e43394c8 Add a setting to disable secondary column on iPad / macOS 2023-02-06 18:53:37 +01:00
Thomas Ricouard
d7c2e65479 Fix copy text action for boost 2023-02-06 18:41:12 +01:00
Thomas Ricouard
e0e3ec3625 Replying now follow the content warning close #684 2023-02-06 18:31:35 +01:00
Thomas Ricouard
ff570e214c Properly support OpenDyslexic and HyperLegible Fix #677 2023-02-06 18:15:08 +01:00
Sean Goldin
90ec3d419c
Clean up HapticManager (#678)
* Check for haptic capabilities

* Make manager do most of work

* ABC enum

* Fix spelling 😊

* Small tweak
2023-02-06 17:53:27 +01:00
Jérôme Danthinne
2f5e170983
Follow requests improvements (#679)
* fix: when accepting/rejecting followers, only disable the current request button

* fix: fetch followers request when updating notifications
2023-02-06 17:52:36 +01:00
Mackenzie
f1fd18a04f
make share and copy links translatable (#551)
* make share and copy links translatable

* add placeholders to other files
2023-02-06 12:29:18 +01:00
Peter-Josef Meisch
c7f22d5022
Add muting duration submenu (#662)
* Add muting duration submenu

* set japanese localizations
2023-02-06 12:25:51 +01:00
Thomas Ricouard
730e471718 Composer: Internalize TextView + fix a lot of lag when editing 2023-02-06 12:24:57 +01:00
Thomas Ricouard
5f76a8057c Filter remote local timeline 2023-02-06 12:24:48 +01:00
Thomas Ricouard
b598434648 Fix action on notify menu in account detail 2023-02-05 21:46:21 +01:00
Thomas Ricouard
0af60c4b1e Faster HTML String disk cache 2023-02-05 21:23:47 +01:00
Thomas Ricouard
2bd5c26c6f Add inline account badge for status context favorites / boosts 2023-02-05 10:07:45 +01:00
Thomas Ricouard
fedfa1f1c7 Various fixes 2023-02-05 09:13:28 +01:00
Thomas Ricouard
b0630ae9c3 Add more safety to scroll to 2023-02-05 08:13:38 +01:00
Thomas Ricouard
f53cfd89fe Ensure all pages are loaded when resuming session 2023-02-05 07:44:05 +01:00
Thomas Ricouard
f73bac9ae7 Revert "Cleanup logout code"
This reverts commit f54db5a43e.
2023-02-04 21:53:13 +01:00
Thomas Ricouard
09371f77c5 Fix notifications error view 2023-02-04 21:30:50 +01:00
Thomas Ricouard
5afd2dc73c Add Jump to Latest to clear out cache and reload home timeline 2023-02-04 21:21:36 +01:00
Thomas Ricouard
f4a2d4fcc3 Fix notifications empty screen 2023-02-04 20:43:56 +01:00
Thomas Ricouard
f54db5a43e Cleanup logout code 2023-02-04 20:42:51 +01:00
Thomas Ricouard
e96c1c5da7 Fix next page state 2023-02-04 20:37:22 +01:00
Thomas Ricouard
65ed2d871c Add settings for haptic feedbacks 2023-02-04 17:38:48 +01:00
Thomas Ricouard
6b285cdbcf Cleanup 2023-02-04 17:17:38 +01:00
Thomas Ricouard
427452db30 Don't update the timeline is the tab is not visible 2023-02-04 16:54:03 +01:00
Thomas Ricouard
8c7efb7df5 Add settings to clear the cache 2023-02-04 15:08:54 +01:00