Commit Graph

819 Commits

Author SHA1 Message Date
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
Thomas Ricouard 288a0eac9f Save / Restore latest seen statuses 2023-02-04 14:42:10 +01:00
Thomas Ricouard b57df4a9d7 Scroll to latest pending post on button tap 2023-02-04 14:05:30 +01:00
Thomas Ricouard 508b180a1d Remove extra line break from spoiler text 2023-02-04 13:36:56 +01:00
Thomas Ricouard 4c40adc195 Fix double swipe actions close #615 2023-02-04 13:30:07 +01:00
Thomas Ricouard aae6b12666 Replace memory cache with Boutique SQLite cache 2023-02-04 12:33:28 +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
Thomas Ricouard f3a84c35d2 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-02-04 09:02:20 +01:00
Thomas Ricouard 46cc7a6849 Fix a crash in notification stream 2023-02-04 09:02:16 +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 1bf36670e2 Fix auto play video settings close #636 2023-02-04 07:53:03 +01:00
Thomas Ricouard 95aade3795 Fix Client 2023-02-03 19:48:57 +01:00
Thomas Ricouard 4de46610e0 Handle dynamic streaming URL 2023-02-03 19:44:55 +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 Ricouard 4104fdf4f5 Fix the crash once and for all by using Introspect 2023-02-03 16:24:09 +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 eb80225bb0 Mitigate #623 2023-02-03 08:06:16 +01:00
Thomas Ricouard 3615c396dd FIx open link in profile close #624 2023-02-03 07:15:19 +01:00
Peter-Josef Meisch e79b39f952
Add option to start in-app browser in reader view. (#619)
* Add option to start in-app browser in reader view

localizations

* Disable toggle instead of hiding it
2023-02-03 07:04:00 +01:00
Thomas Ricouard fcb7ddcbdb Fix crash when trying to cache an empty timeline 2023-02-02 21:21:07 +01:00
Thomas Ricouard e278eae144 Reset pending statuses when reaching top 2023-02-02 17:47:35 +01:00
Thomas Ricouard bb6910cd83 Centralize haptic feedbacks 2023-02-02 16:56:42 +01:00
Thomas Ricouard 262f7288ad Fix the crash while restoring position? 2023-02-02 16:38:19 +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 43d975a27b Better caching 2023-02-01 13:41:28 +01:00
Thomas Ricouard ed80895fcd Cache streamed status 2023-02-01 13:28:04 +01:00
Thomas Ricouard 4e77669181 Swiftformat 2023-02-01 12:49:59 +01:00
Thomas Ricouard 383eb84e98 Fix import 2023-02-01 12:49:47 +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 9bf40b262f Various optimizations for the new timeline 2023-02-01 09:22:08 +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 Ricouard d8a5e39606 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-01-31 19:43:09 +01:00
Thomas Ricouard 2e850e9643 Bump to 1.3.2 + workaround List crash? 2023-01-31 19:43:07 +01:00
Jérôme Danthinne f3e21a714c
Consolidate new notifications with the latest one (#563) 2023-01-31 17:43:52 +01:00
Thomas Ricouard ed0bfb7d94 Even better refresh / timeline position management 2023-01-31 17:43:06 +01:00
Thomas Ricouard dd4ca27a5b Remove bogus flag 2023-01-31 13:43:27 +01:00
Thomas Ricouard 62b26fdbb7 Timeline: Do nothing if no new statuses 2023-01-31 13:19:32 +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 c88ef750f0 Fix multiple timeline refresh on launch close #555 2023-01-31 12:17:03 +01:00
Thomas Ricouard 22af2db36c Enable font scaling on iOS 2023-01-31 12:16:11 +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 0695fd5733 Isolate pending statuses observer for smoother scrolling 2023-01-31 09:01:26 +01:00
Thomas Ricouard 0f98337a13 Remove test value 2023-01-31 08:20:20 +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 d64d674389 Make appending new statuses safer 2023-01-30 22:11:55 +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
Paul 392b1bd01a
Add the ability to set a custom font (#519)
* Add the ability to set a custom font

* Small fixes

* Indent

* Add missing localization

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-30 07:25:55 +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
Matthias Buchetics d9546d92d9
Improved stretchy account header (#518) 2023-01-30 07:13:38 +01:00
Thomas Ricouard aff0c943f8 Bump to 1.2.3 2023-01-30 07:13:21 +01:00
Thomas Ricouard 3a3ae87502 Run notifications panel stream in a Task + animations 2023-01-29 18:05:00 +01:00
Thomas Ricouard d2c520d306 Add code code to the notifications icons 2023-01-29 17:45:46 +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 e33def60a3 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-01-29 14:48:39 +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
David Walter 329e21f43c
Fix Theme not overriding UserInterfaceStyle when not following system theme (#508) 2023-01-29 13:24:51 +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
Greg Gardner 59ef1b2909
Retain original ordering of media URLs (#503)
Co-authored-by: Greg <greg@cromulentlabs.com>
2023-01-29 07:35:59 +01:00
Thomas Ricouard 6c22fc9383 Fix upgrade path for custom colors 2023-01-28 19:49:08 +01:00
Roman Mirzoyan 5c1a567c04
Fixed parameter (#488)
Co-authored-by: Roman Mirzoyan <h500p1a@s-mxs.net>
2023-01-28 19:29:16 +01:00
Thomas Ricouard dc5d15a455 Adjust neon dark secondary color 2023-01-28 18:51:25 +01:00
David Walter 3ce5b95171
Fix: background color transparency isn't saving (#468) close #441 2023-01-28 18:41:27 +01:00
David Walter 11d4a84bd8
Fix hasConnection (#470) close #375 2023-01-28 18:41:04 +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
Thomas Ricouard e67ae9eb33 Avoid one useless status row change 2023-01-28 11:09:35 +01:00
Jérôme Danthinne 5b310842a4
Fix french plurals (#464)
* Fix french plurals

* Fix english

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-28 10:14:07 +01:00
Jérôme Danthinne ffcb0574cc
Fix: consolidated notifications (#461)
* Fix consolidated notifications pagination

* Only group followers on All notifications screen
2023-01-28 09:04:35 +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
prajeet 525321cfa4
Stopped calling authenticated endpoints if authtoken is does not exist for currentClient. (#463) 2023-01-28 09:01:12 +01:00
Thomas Ricouard 0fb9e60c3f Fix a few issues with search 2023-01-28 08:29:49 +01:00
Thomas Ricouard a52f0f9fbe StatusRow: Reuse context menu + disable avatar image processor for smoother scrolling 2023-01-28 07:05:26 +01:00
Greg Gardner b1b9e658c9
Work-around issue with QLPreviewController not supporting swipe-to-dismiss and pinch-to-dismiss when presented from SwiftUI by creating a transparent UIViewController wrapper around QLPreviewController that presents it using UIKit instead. (#452) close #106
Co-authored-by: Greg <greg@cromulentlabs.com>
2023-01-28 06:45:15 +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
Thomas Durand 8cac9df8c6
Action extension that would open a deep link in the app (#423)
* Early version of an action that would open a deeplink in the app

* Extend routeur support + catch deeplinks

* Cleaning extension code, using what local packages has to offer

* Removed useless stuff from the extension

* Added action icon ; Thanks Dall-E for the icon

* Added the action name within a localizable file

* Fix routeur

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-27 20:35:16 +01:00
Thomas Ricouard 1dd536c8e7 Keep a shadow copy of notifications so the streamed notifications can be reconsolidated 2023-01-27 17:23:41 +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 42160b08c0 Remove some shimmering to make the scrolling performances better 2023-01-27 16:51:45 +01:00
Thomas Ricouard 418e9545ba Completely clear duplicated push notifications issue 2023-01-27 16:51:29 +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 de4346c47e Add push notification settings in profile context menu 2023-01-27 12:18:17 +01:00
Thomas Ricouard 0f4fccf1a5 Disable keychain group on simulator 2023-01-27 12:06:44 +01:00
Thomas Ricouard 7f7a967d87 Videos: Compress them before upload + error handling close #430 2023-01-27 08:54:41 +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 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
Thomas Ricouard 8236029432 DM: Show the full status text 2023-01-26 18:28:08 +01:00
Thomas Ricouard 72fbcff1dd DM: Various UX fixes 2023-01-26 18:27:53 +01:00
Thomas Ricouard d1ed8e962b Push notifications: Per account settings 2023-01-26 13:21:35 +01:00
Gareth Simpson 36a9eefe21
Make the Show/Hide Spoiler button less prominant. (#387) 2023-01-26 09:04:35 +01:00
Thomas Ricouard 43ac56302e Move settings tab and profile tab around 2023-01-26 07:34:29 +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 d0f16c84f7
Move notification and reboosts actions into account menu (#382) 2023-01-25 21:15:32 +01:00
Thomas Ricouard 4705500dc4 DM: Add vertical padding between messages 2023-01-25 13:09:43 +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
Gareth Simpson 6e58bb8e3e
Better fix for #317 & #339 (#365) 2023-01-25 06:14:55 +01:00
Thomas Ricouard 5fa4c7e4f4 Fix App Group 2023-01-24 23:03:25 +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 d05afd93c4 Push notifications: display account name if multi account fix #344 2023-01-24 13:38:26 +01:00
Thomas Ricouard 4927b12e90 Fix haptic feedback for account selector 2023-01-24 11:40:18 +01:00
Thomas Ricouard fbf1c30b7c Add haptic feedback on more buttons fix #315 2023-01-24 09:19:53 +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
Gareth Simpson d0854d0107
This is a fix for #317 (#318)
* This is a fix for #317
Well more of an improvement than a fix.
Instead of looking for tags anywhere, we now look for /tags/TagName exactly.  This can still fail if it happens to be a link to somewhere not on the post creator's home server that follows that pattern but by the time the parsing is done the post creator isn't available without a lot of re-plumbing.
But anyway, this should be better.

* No force unwrap
2023-01-24 06:37:15 +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 8fe6eddead Settings: Add a button to hide OpenAI button in the composer 2023-01-23 20:45:18 +01:00
Jérôme Danthinne 94ab5766a1
Allow hiding or showing user boosts (#305)
* allow hiding or showing user boosts

* move notify and reboosts buttons below follow button

* move the account joined date below the name

* fix join date padding

Co-authored-by: Jérôme Danthinne <jerome.danthinne@smile.eu>
2023-01-23 18:50:59 +01:00
Thomas Ricouard a51e81102e Handle links in direct message 2023-01-23 18:43:57 +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
Thomas Ricouard 5c7cc5803f Fix crash on Twitter link #102 2023-01-23 13:54:41 +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 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
Steve Kalkwarf fb6b2b39fa
Adjusted file names to match content (#286) 2023-01-22 19:59:22 +01:00
Sean Goldin 0ad5f17b5a
Include spoiler text count when applicable (#281) 2023-01-22 18:50:45 +01:00
Thomas Ricouard 23fd0af2c3 Fix title scaling for DM 2023-01-22 17:53:41 +01:00
Thomas Ricouard 1a8626896a Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-01-22 17:50:32 +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
Sean Goldin f4d5195f4c
Localisation for conversation detail (#278) 2023-01-22 17:36:57 +01:00
Thomas Ricouard 8680d2b83a Few keyboard fixes 2023-01-22 17:17:33 +01:00
Thomas Ricouard d6aa99eb57 New direct messages view close #122 2023-01-22 16:55:03 +01:00
Thomas Ricouard fc4524cef8 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-01-22 15:58:49 +01:00
Sean Goldin 97f8dfd74d
Add localisation plurals (#239)
* Add localisation plurals

* Add more languages to plurals

* Remove unused localised keys

* Update per #225
2023-01-22 15:47:44 +01:00
Thomas Ricouard a2abdfede1 Fix account open in browser 2023-01-22 12:26:33 +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 c95f65ea59 Switch to DeepL Pro API 2023-01-22 10:45:07 +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
Thomas Ricouard a0ad701f52 Add Neon (OLED) Dark and Light themes 2023-01-21 18:40:35 +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 691b3f2667 Theme: Refresh theme on launch if following color scheme 2023-01-21 15:54:15 +01:00
Thomas Ricouard 9f7eb4361a Fix polls not showing results to author fix #211 2023-01-21 15:38:31 +01:00
Thomas Ricouard d0d969d52c Private messages: Add pagination 2023-01-21 15:31:27 +01:00
Thomas Ricouard 2a31fd7ef5 Make notifications more compact 2023-01-21 15:16:52 +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 87471ed9c8 Safer HTML String decode 2023-01-21 11:32:47 +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 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 5321b2b8d8 Add a follow system colors option close #128 2023-01-20 21:58:57 +01:00
Rafael Carício cd05a75ab9
Remove duplicate options Block/Mute (#200) 2023-01-20 21:17:24 +01:00
Thomas Ricouard 997a33df69 Instantly show lists options in the user context menu when following him close #143 2023-01-20 18:53:07 +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 7a0b635033 Add joined date info on user profile close #158 2023-01-20 18:25:27 +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
Renan Guilherme 3b0d26bab2
Make vapidKey in InstanceApp model optional (#135) 2023-01-20 06:42:18 +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
Rafael Carício 1fb4eb2bef
Allow to block/unblock and mute/unmute accounts (#120)
* Allow to block and unblock accounts

* Mute and unmute accounts

* Implement Localization (#80)

* Implement localization

* Fix some localization keys

* Adapt to recent changes

* Allow to block and unblock accounts

* Mute and unmute accounts

* Add localization

Co-authored-by: Thomas <38211057+vollkorntomate@users.noreply.github.com>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-01-19 18:22:31 +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 e519e9cdff Use Safari Controller for auth 2023-01-19 11:59:40 +01:00
Thomas Ricouard 09c09d5ea9 Composer: Trim attachement characters 2023-01-19 11:58:58 +01:00
Thomas Ricouard 47004d00c1 Add Medium Light & Dark theme 2023-01-19 11:58:38 +01:00
Thomas Ricouard 7506c33482 Various fixes 2023-01-19 08:41:45 +01:00