Commit graph

368 commits

Author SHA1 Message Date
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
Gareth Simpson 36a9eefe21
Make the Show/Hide Spoiler button less prominant. (#387) 2023-01-26 09:04:35 +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 1aadb0ce3a Add a setting for disabling social keyboard close #355 2023-01-24 21:44:33 +01:00
Pascal Batty a1218e1488
Prepend language list with recently used languages (#353)
* Add new preference entry for recently used languages

Exposes a function to keep the language array clean: no more than 3 items, starting with the most recently used iso code

* Add the preferences to the status editor ViewModel

* Add language selector handling of most recent languages

Only when the user has explicitly selected a language, when the posting was successful, add the selected language to the preferences array.

- Makes Language a local private struct for clarity
- Ensures all available languages are only fetched once
- Separates recently used, other and search result section contents using specific vars/funcs

* Copy new key in all localization files

Co-authored-by: Pascal Batty <pascal@zen.ly>
2023-01-24 21:34:16 +01:00
Thomas Ricouard 5b3afc72de Fix some polls crashing at decoding 2023-01-24 21:19:14 +01:00
Thomas Ricouard d9cf9ea59a Fix leading avatar incorrect position close #249 2023-01-24 19:07:55 +01:00
Hidemune Takahashi ae3d190799
Added marked text range support (#345)
* 👍 Added markedTextRangeSupport.

* 👍 ignore when markedTextRange is non-nil.

* Update TextView revision

Co-authored-by: Hidemune Takahashi <h1d3mun3.74k4h45h1@gmail.com>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-24 17:26:56 +01:00
Thomas Ricouard dd5e6b91c0 oops 2023-01-24 06:56:28 +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 8fe6eddead Settings: Add a button to hide OpenAI button in the composer 2023-01-23 20:45:18 +01:00
Thomas Ricouard f718755120 Refactor iPad / macOS layout for medias in order to make the timeline smoother fix #282 2023-01-23 18:43:48 +01:00
Sean Goldin fe1d886b62
URLS can only take 23 characters (#296)
* URLS can only take 23 characters

* Remove hardcoded length of URL
2023-01-23 06:35:26 +01:00
Thomas Ricouard ce41e6b000 Always display relative date in the timeline 2023-01-22 20:14:05 +01:00
Sean Goldin 0ad5f17b5a
Include spoiler text count when applicable (#281) 2023-01-22 18:50:45 +01:00
Thomas Ricouard b527fafd37 Few fixes for the field in DM + fix async upload for images 2023-01-22 17:49:47 +01:00
Thomas Ricouard d6aa99eb57 New direct messages view close #122 2023-01-22 16:55:03 +01:00
Sean Goldin 1c679186b0
Only ask for draft when text entered by user (#251) 2023-01-22 11:28:23 +01:00
orenro a37d059026
Display statuses with appropriate alignment for right-to-left languages (#256) 2023-01-22 11:17:27 +01:00
Thomas Ricouard 34b6525b37 Fix translation on RT 2023-01-22 10:24:19 +01:00
Thomas Ricouard 2df40ff543 Restore / Fix embed status view 2023-01-22 09:51:43 +01:00
Thomas Ricouard 987f259130 Add a translate entry on the status context menu Fix #258 2023-01-22 09:31:29 +01:00
Thomas Ricouard 921d28a57a Add setting to hide translate button close #252 2023-01-22 09:15:01 +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
richkolasa d9307748ca
Timeline VoiceOver Improvements (#241)
* status row view voiceover updates

* formatting?
2023-01-22 06:35:13 +01:00
Sean Goldin 50bd01e8b4
Poll results UI update (#233)
* Update constant to use CGFloat extension

* Fill full width when 100%

* Remove space
2023-01-21 16:50:38 +01:00
Thomas Ricouard 9f7eb4361a Fix polls not showing results to author fix #211 2023-01-21 15:38:31 +01:00
Sean Goldin 4d96e6ea80
Scale text for polls options (#226) close #99 2023-01-21 14:40:56 +01:00
Thomas 2bcdb75f97
Fix bookmark/unbookmark text in context menu (#214) 2023-01-21 12:19:04 +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 523cb48cd1 Translate Toot using DeepL close #153 2023-01-21 09:58:38 +01:00
Thomas Ricouard 5cb010b216 Composer: Better autocomplete fix #146 2023-01-21 07:57:52 +01:00
Thomas Ricouard 85e09faab1 Add option to open user profile in browser fix #163 2023-01-20 18:36:24 +01:00
Thomas Ricouard 307ea75f43 Fix status embed showing the wrong name close #160 2023-01-20 18:32:10 +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
Thomas Ricouard 2ac2e0ce53 Fix compact media for single image 2023-01-20 06:56:02 +01:00
Thomas aff5de1429
Add localizations for German (#124)
* Add German localization

* Add missing localization keys
2023-01-20 06:42:40 +01:00
Gareth Simpson 0f45a8d1ff
Small images cropping text (#137)
* Fixes for #136, small images cropping text / videos missing re-hide button

* Accidentally unlocalised some text.
2023-01-20 06:41:47 +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 09c09d5ea9 Composer: Trim attachement characters 2023-01-19 11:58:58 +01:00
Thomas Ricouard 987a655227 Add context menu for image fix #113 2023-01-19 07:56:24 +01:00
Thomas Ricouard e81ea4ee81 Fixes 2023-01-19 07:45:42 +01:00
Thomas Ricouard f743adb1df Add context menu for link / card view 2023-01-19 07:45:37 +01:00
Thomas Ricouard 22c9d51941 Fix #95 2023-01-19 07:14:38 +01:00
Thomas Ricouard 9c532d9448 Add support for custom emojis in the composer close #98 2023-01-18 19:11:52 +01:00
Thomas Ricouard d737b429b4 Support instance with malformed statuses URL 2023-01-18 13:36:00 +01:00
Thomas Ricouard 1b9d4e0247 Add some macOS menu & shortcuts 2023-01-18 08:27:42 +01:00
Thomas Ricouard 5ff0330fb7 Composer: Fix account switching not posting on the correct account 2023-01-18 08:07:09 +01:00
Thomas Ricouard 02aa91f432 Composer: Scale input font on macOS 2023-01-18 08:04:52 +01:00
Thomas Ricouard 504f93fab0 Speedup status context load 2023-01-17 19:46:04 +01:00
Thomas Ricouard 4143e82fbc Multi account sidebar + scaled font size on macOS + better iPad / macOS app UX 2023-01-17 19:41:46 +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 899ccd8ad7 macOS / iPad app fixes + support drop in the editor + global new post button 2023-01-17 13:02:05 +01:00
Thomas Ricouard 7f6419ebae Swiftformat 2023-01-17 11:36:01 +01:00
Jierong Li 96344e2815
Fix two issues related to share extension (#85)
* Share sheet: fix EnvironmentObject related crash

* Editor: fix the logic of canPost
2023-01-17 09:09:46 +01:00
Thomas Ricouard 1715122113 Fix async image upload 2023-01-17 08:11:37 +01:00
Thomas Ricouard 0c071e7ad5 Activities list: UI improvements 2023-01-17 07:54:59 +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 ce2f8620ed Editor: Fix cancel confirmation position 2023-01-16 22:03:04 +01:00
Thomas Ricouard c05768c793 The Mac App 2023-01-16 14:40:23 +01:00
Thomas Ricouard 6a7db8714d Fix build 2023-01-16 13:52:56 +01:00
Thomas Ricouard 05053c661d Editor: Allow to select account 2023-01-16 13:39:35 +01:00
Sean Goldin 75e9516089
Less chatty api calling (#79)
* Limit API calls for instance searching

* Limit api calls

* Fix empty/initial state

* Limit API calls

* Delegate empty view logic to viewmodel

* When you boosted, display You boosted
2023-01-16 06:43:53 +01:00
Thomas Ricouard a49175fe69 Share extension: Support plain text 2023-01-15 18:30:25 +01:00
Thomas Ricouard 596f920603 Share sheet extension 2023-01-15 16:39:08 +01:00
Thomas Ricouard 4fc6944360 Fix editing status dropping mentions / account name 2023-01-15 15:02:32 +01:00
Thomas Ricouard d05d9fbfff Fix not posting status special characters or dropping part of it (Post in JSON now) 2023-01-15 14:51:09 +01:00
Thomas Ricouard 6b210aec4f Add OpenAI pipeline + some prompts 2023-01-13 18:43:02 +01:00
Thomas Ricouard 2fdf5fe239 Fix markdown rendering for statuses 2023-01-13 14:11:21 +01:00
Thomas Ricouard 1eb3dfb5a5 Editor: Fixes to the first time sizing + paste images 2023-01-13 12:23:48 +01:00
Sean Goldin ba64015f18
Polls (#70)
* Add poll options

* Add the poll view

* Disable adding attachments when showing polls

* Update to post poll info

* Wire up poll view

* Remove debug code

* Use VM for showing poll

* Rename PollView to something better!

* Move file location

* Disable poll button if media is attached.

* Don't refocus on delete option to avoid index out of range crash

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-13 07:30:15 +01:00
Thomas Ricouard 7d053592c9 Scrolling optimizations with the new emojis 2023-01-12 21:12:47 +01:00
Thomas Ricouard abca429844 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-01-12 19:12:36 +01:00
Thomas Ricouard e69fcee9fb Various small UI fixes 2023-01-12 19:12:23 +01:00
Dariusz Rybicki 032a92bb75
Navigate to status details when tapped empty space (#72) 2023-01-12 19:10:40 +01:00