Commit graph

446 commits

Author SHA1 Message Date
Thomas Ricouard 2828550531 Support medium display mode for card view 2023-02-22 18:49:00 +01:00
Chanhwi Joo 40386d6312
Make boost swipe buttons consistent with ones from inline & context menu (#999)
* Show different label and icon for boosting my followers-only post

* Disable boost swipe actions on posts that can't be boosted

* Remove unnecessary function calls
2023-02-22 12:49:36 +01:00
Pascal Batty 50b8c93787
Add flair to status action buttons (#1005)
* Add flair to status action buttons

- makes tintColor viewModel independent in Action
- adds isOn function to Action
- moves actionButton to its own function for clarity (and help compilo)
- moves the counter outside the button
- creates StatusActionButtonStyle that defines how an action button behaves when tapped and toggled
- adds nested SparklesView that animates sparkles when the action button is tapped

Sidenote : couldn't get the "bouncy" scale effect I wanted. It wouldn't work on an iOS device, but did on the simulator.

* Fix private boost action icon regression

---------

Co-authored-by: Pascal Batty <pascal@zen.ly>
2023-02-22 12:48:51 +01:00
Thomas Ricouard 5ca0180c4c Show full username for leading avatar position 2023-02-22 07:31:14 +01:00
Thomas Ricouard 4576507225 Added a new Medium media style 2023-02-22 07:26:32 +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 Durand 2c174ab72e
Fixed compact layout for video tip when video autoplay is disabled (#989) 2023-02-22 07:06:01 +01:00
Julian Kahnert 0011b25a1c
fixes 965 (#991) 2023-02-22 07:04:02 +01:00
Thomas Ricouard ed9b2a37a7 Fixes for composer and DM 2023-02-21 19:38:35 +01:00
Louis Lac bf49a4558c
Singularize enum type names (#978) 2023-02-21 18:52:30 +01:00
Thomas Ricouard 255af8c482 Composer: Better ALT editing UI 2023-02-21 18:50:56 +01:00
Thomas Ricouard 263ecbb715 Composer: Fix swipe to dismiss 2023-02-21 18:50:45 +01:00
Thomas Ricouard e758df04a8 Bigger secondary column width 2023-02-21 18:46:28 +01:00
Thomas Ricouard 7a997ebd8a Make secondary column available on any size + add a toggle + faster macOS window resize 2023-02-21 13:37:31 +01:00
Thomas Ricouard 533558eb81 Fix a localization + make the ... menu zone bigger 2023-02-21 08:09:27 +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
Chanhwi Joo f04c15b8fe
Fix status actions on boosting posts (#974)
* Fix context menus for boosts

* Allow my boost of my followers-only post

* Disable boost context menu on posts can't be boosted and show different string for boosting my own private post

* Localizations

* CR

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-21 06:59:47 +01:00
Thomas Ricouard 88173adc9e Add indicator for bots accounts 2023-02-20 18:15:45 +01:00
Thomas Ricouard e7fffa07d4 Fix theme not being applied live on status row close #961 2023-02-20 13:00:50 +01:00
Thomas Ricouard aa63dd5ab7 Fix threading UI 2023-02-19 20:56:56 +01:00
Thomas Ricouard 052586022d Fix post header 2023-02-19 20:56:50 +01:00
Thomas Ricouard a74f292696 Show post header thread icon more consistently 2023-02-19 20:12:31 +01:00
Thomas Ricouard b64b21be20 Further improvement to the post header 2023-02-19 19:57:17 +01:00
Thomas Ricouard ed583a937d Better header spacing 2023-02-19 19:51:37 +01:00
Thomas Ricouard 0d6eff391b Reworked post header view + add option to hide server name from username 2023-02-19 19:16:39 +01:00
Thomas Ricouard e48260f309 More tweak to capture mode 2023-02-19 16:03:27 +01:00
Thomas Ricouard a965386a1e Fix threading UI 2023-02-19 15:44:09 +01:00
Thomas Ricouard ccc504fc6f Share post as image close #885 2023-02-19 15:29:07 +01:00
Thomas Durand dd2ebe5506
Added a tip that it's a video, and not an image when autoplay is off (#939)
* Added a tip that it's a video, and not an image when autoplay is off

* Centered - bigger version of the video tip
2023-02-19 11:44:18 +01:00
Alex Grebenyuk 03d60d2236
Update Nuke (#940) 2023-02-19 07:25:57 +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
Thomas Ricouard b1424aadd0 Fix two crashes 2023-02-18 17:08:32 +01:00
Thomas Ricouard 9281e72e8c Fix status context menu mention for boost 2023-02-18 08:02:50 +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
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
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
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 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
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 1f14311c2c Better sharing for status and account close #837 2023-02-14 07:26:57 +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
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
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 eb6050a38f Swiftformat 2023-02-12 16:29:41 +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 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
Thomas Ricouard 4e2d15eff6 Fixed on post detail 2023-02-10 20:57:09 +01:00
Thomas Ricouard e261e3a904 Set better video default setting 2023-02-10 18:49:03 +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 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
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
Sean Goldin 0c359f2b79
Add direct status highlighting (#720) 2023-02-08 18:47:09 +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
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 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
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
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
Thomas Ricouard 730e471718 Composer: Internalize TextView + fix a lot of lag when editing 2023-02-06 12:24:57 +01:00
Thomas Ricouard 2bd5c26c6f Add inline account badge for status context favorites / boosts 2023-02-05 10:07:45 +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 4c40adc195 Fix double swipe actions close #615 2023-02-04 13:30:07 +01:00
Thomas Ricouard 86937e65fe Compose: Fix editing, now keep line breaks and link close #602 2023-02-04 11:21:30 +01:00
Thomas Ricouard 1bf36670e2 Fix auto play video settings close #636 2023-02-04 07:53:03 +01:00
Thomas Ricouard 816eae2d40 Remove the ... button and replace it with a thread indicator close #634 2023-02-03 17:50:20 +01:00
Thomas Durand 2a1d1fc697
Trying to recognize the language of the Toot to set it correctly if none is provided (#633)
Probability threshold arbitrary set to 85%.
Seems to work enough for French, English and Spanish.
Also tested and with only a few words, probability is low unless there is a very language specific word
2023-02-03 15:45:59 +01:00
Thomas 4e69401b6c
Fix translate button for boosts (#629) 2023-02-03 15:43:38 +01:00
Thomas Ricouard bbca24a364 Composer: Don't apply language to reply 2023-02-03 09:19:40 +01:00
Thomas Ricouard bb6910cd83 Centralize haptic feedbacks 2023-02-02 16:56:42 +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 d5b81dab5c Add swipe actions on timeline 2023-02-01 21:51:03 +01:00
Thomas Ricouard 12f3e48b05 Composer: Fix performances issues 2023-02-01 19:17:03 +01:00
Gareth Simpson fdb402a065
Boost deduplicating (#524)
* Trying something with caching boosts

* Use an actual cache for caching

* Persist cache to documents folder

* Stray debugging variable

* Unpublish seen variable in the ViewModel

* Settings for deduplicating boosts.

* Changes from review / merge conflicts
2023-02-01 18:56:06 +01:00
Thomas Durand 06e219597b
More fixes for #568 - Open Url in browser (#585)
* More fixes for #568

I saw the fix for StatusRowContextMenu, so this is a complement for this same bug accros the app

* Let it be just a clean up then ;)
2023-02-01 18:55:18 +01:00
Thomas Ricouard 4e77669181 Swiftformat 2023-02-01 12:49:59 +01:00
Thomas Ricouard cdf45fa58c Refactor Timeline position management + add thin cache layer + fix crashes 2023-02-01 12:43:11 +01:00
Thomas Ricouard 83049517c0 Make the poll tappable in the List timeline 2023-02-01 09:21:52 +01:00
Thomas Ricouard b9f79bb859 Close #568 2023-02-01 07:09:41 +01:00
Thomas Durand e512453cfe
Fixed "you boosted" when boosted by same username in different instance (#560)
Fixes #558
2023-01-31 12:20:52 +01:00
Thomas Ricouard 52eff96ab4 Iron out timeline issues with the new behaviour 2023-01-31 12:17:35 +01:00
Thomas Ricouard d9b166339d Fixes for iPad layout 2023-01-31 08:16:36 +01:00
Thomas Ricouard 1a351eaa7c Smoother scrolling up in the Timeline 2023-01-31 08:04:35 +01:00
Thomas Durand bef45d8621
Fixed typo variable name introduced with #455 (#542) 2023-01-31 06:58:06 +01:00
Paul 1c61d3908f
Fix for 'space added before first line of self-reply' (#546) 2023-01-31 06:57:57 +01:00
Thomas Ricouard f638197a08 Add maxWidth for link card 2023-01-30 22:19:10 +01:00
Thomas Ricouard d88d9db1dc Transition Timeline to List + stream post automatically + keep position + new counter UI 2023-01-30 21:41:42 +01:00
Thomas Ricouard 24504e3bc2 Various optimizations to speed things up 2023-01-30 19:14:43 +01:00
Thomas Ricouard 16636b12a9 Swift format 2023-01-30 07:27:06 +01:00
Thomas 5871d13eee
Add indicator which language is translated (#455) 2023-01-30 07:26:43 +01:00
Thomas Ricouard aff0c943f8 Bump to 1.2.3 2023-01-30 07:13:21 +01:00
Thomas Ricouard e0d6340a9d Adapt medias view to secondary column 2023-01-29 17:37:15 +01:00
Thomas Ricouard 497c2a1fe1 Add secondary column when screen is wide enough 2023-01-29 16:45:58 +01:00
Thomas Ricouard 243cbcbc41 Notifications: Swap container for a List + make mentions more prominent 2023-01-29 16:06:46 +01:00
Thomas Ricouard 426d2e15b2 Change timeline icon + move OpenAI icon to the accessory bar 2023-01-29 15:08:41 +01:00
Thomas Ricouard dbb8bd2a3d Fix out of bounds composer in the share sheet and in the app Fix #507 2023-01-29 14:48:32 +01:00
Thomas Ricouard e84a57ed7f Display loading when fetching remote user on status row 2023-01-29 11:17:43 +01:00
Thomas Ricouard 62c3f6e04a Add a new settings to disable video auto playing 2023-01-29 10:19:59 +01:00
Thomas Ricouard 127d3d65fd Clear more text attachements on paste fix #94 2023-01-29 09:00:26 +01:00
Thomas Ricouard 32777a88ba Disable boost for follower only status close #266 2023-01-29 08:34:12 +01:00
Thomas Ricouard 6ea2d9cb78 Make max width more consistent on iPad fix #236 2023-01-29 08:14:08 +01:00
Thomas Ricouard e67ae9eb33 Avoid one useless status row change 2023-01-28 11:09:35 +01:00
Thomas Ricouard a52f0f9fbe StatusRow: Reuse context menu + disable avatar image processor for smoother scrolling 2023-01-28 07:05:26 +01:00
Thomas Ricouard b89221a535 Code cleanup / format / lint 2023-01-27 20:36:40 +01:00
Thomas Ricouard 42160b08c0 Remove some shimmering to make the scrolling performances better 2023-01-27 16:51:45 +01:00
Thomas Ricouard 7ac8333912 Quote Toot rendering fixes 2023-01-27 13:38:24 +01:00
Thomas Ricouard aff318b0ca Don't render filtered status fix #431 2023-01-27 13:38:07 +01:00
Thomas Ricouard 7f7a967d87 Videos: Compress them before upload + error handling close #430 2023-01-27 08:54:41 +01:00
Thomas Ricouard f96ec217ae Add support for .mov in the composer 2023-01-26 18:50:05 +01:00
Thomas Ricouard dc47f93ca4 Status editor: Vertical image alt 2023-01-26 18:28:26 +01:00