Commit graph

226 commits

Author SHA1 Message Date
Jim Dovey
d1209e6704
Updated to resolve all possible Sendability warnings from Swift 6 compatibility mode. (#1072)
Co-authored-by: Jim Dovey <jimdovey@apple.com>
2023-02-27 06:39:07 +01:00
Peter-Josef Meisch
3a144b7792
collapse long posts (#1037) close #914
* collapse long posts

* initialize user pref setting in init(), remove onAppear and onChange(pref) from view

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-26 17:32:09 +01:00
Thomas Ricouard
83e4e74329 Swiftformat 2023-02-26 06:45:57 +01:00
Thomas Ricouard
26e09d230b QuickLook: change + cleanup cache folder on close 2023-02-23 18:57:12 +01:00
Thomas Ricouard
a4910037b8 Swiftformat . 2023-02-22 19:09:39 +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
Thomas Ricouard
c4daa73932 More accurate notifications badge 2023-02-22 12:14:57 +01:00
Louis Lac
bf49a4558c
Singularize enum type names (#978) 2023-02-21 18:52:30 +01:00
Thomas Ricouard
b259b6739e Swiftformat 2023-02-21 07:23:42 +01:00
Gareth Simpson
53f364b232
Font picker consistency (#960)
* Put SF Rounded into the popup menu with Hyperlegible & Dislexia

* Remove SF Rounded Toggle
2023-02-21 07:08:32 +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
ccc504fc6f Share post as image close #885 2023-02-19 15:29:07 +01:00
Thomas Ricouard
bfce92d71e Per account notifications count close #894 2023-02-18 15:36:18 +01:00
Thomas Ricouard
ca4e80101f Swiftformat 2023-02-18 07:26:48 +01:00
Thomas Ricouard
f09781582f Various optimizations to views & images rendering 2023-02-17 18:17:51 +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
ab0b207596 Request store rating when publishing a post 2023-02-16 12:14:57 +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
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
dbbd33ba88 Reworked social notifications 2023-02-14 12:17:27 +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
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
eb6050a38f Swiftformat 2023-02-12 16:29:41 +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
Thomas Ricouard
503dc3b3ee Fix UserPreferences making timeline laggy 2023-02-11 22:48:07 +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
feefb02456 Status detail: Switch to List container + refactor to something much better 2023-02-10 18:21:05 +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
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
Thomas Ricouard
c5e43394c8 Add a setting to disable secondary column on iPad / macOS 2023-02-06 18:53:37 +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
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
4de46610e0 Handle dynamic streaming URL 2023-02-03 19:44:55 +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
bb6910cd83 Centralize haptic feedbacks 2023-02-02 16:56:42 +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 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
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 Ricouard
e0d6340a9d Adapt medias view to secondary column 2023-01-29 17:37:15 +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
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
prajeet
525321cfa4
Stopped calling authenticated endpoints if authtoken is does not exist for currentClient. (#463) 2023-01-28 09:01:12 +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
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
418e9545ba Completely clear duplicated push notifications issue 2023-01-27 16:51:29 +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
d1ed8e962b Push notifications: Per account settings 2023-01-26 13:21: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
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
d05afd93c4 Push notifications: display account name if multi account fix #344 2023-01-24 13:38:26 +01:00
Thomas Ricouard
b1520c549e Various fixes due to recent merges 2023-01-24 07:19:09 +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
8fe6eddead Settings: Add a button to hide OpenAI button in the composer 2023-01-23 20:45:18 +01:00
Steve Kalkwarf
fb6b2b39fa
Adjusted file names to match content (#286) 2023-01-22 19:59:22 +01:00
Thomas Ricouard
d6aa99eb57 New direct messages view close #122 2023-01-22 16:55:03 +01:00
Thomas Ricouard
921d28a57a Add setting to hide translate button close #252 2023-01-22 09:15:01 +01:00
Thomas Ricouard
a79c5691e0 Run SwiftFormat 2023-01-22 06:38:30 +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
c7a832e110 Added a font scale slider on macOS 2023-01-17 21:08:05 +01:00
Romain Vincens
bb72327f52
Fixed typos & misspells (#88)
* Fixed typos and misspells

* Other typos
2023-01-17 15:14:50 +01:00
Thomas Ricouard
7f6419ebae Swiftformat 2023-01-17 11:36:01 +01:00
Thomas Ricouard
dd6483dd37 Fix EnvironmentObject related crash on macOS + iPad 2023-01-17 07:39:13 +01:00
Thomas Ricouard
b0ac1b4f57 Share latestCurrentAccountKey preference key for share extension 2023-01-15 18:18:54 +01:00
Thomas Ricouard
596f920603 Share sheet extension 2023-01-15 16:39:08 +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
David Walter
d646fef9f4
Fix Link Handling (#69) 2023-01-12 18:25:37 +01:00
Thomas Ricouard
66efedbbda AppAccounts: Move to its own package to prepare widget work 2023-01-12 18:17:21 +01:00
Thomas Ricouard
9cf863d8c3 Post editor: Drafts support 2023-01-11 12:44:34 +01:00
Thomas Ricouard
dc223171b3 Support hide sensitive medias / hide all medias 2023-01-09 20:39:42 +01:00
Thomas Ricouard
33634a16aa Fetch server side preferences 2023-01-09 19:47:54 +01:00
Thomas Ricouard
d59ba03ba3 Handle badge for push notifications 2023-01-09 18:52:53 +01:00
David Walter
76d7d23379
Support In-App Safari (#44)
* Support In-App Safari

* Fix "View in Browser"

* Force external Safari on Account Creation

* Fix SafariRouteur issues

Attach to NavigationStack
Find top-most ViewController

* Make Preferred Browser a Picker choice
2023-01-08 19:56:16 +01:00
Thomas Ricouard
a9db49e5df Support audio attachement + better push keys flow 2023-01-08 16:18:38 +01:00
Thomas Ricouard
ed8208857a Cleanup + Polish push notifications 2023-01-08 14:16:43 +01:00
Thomas Ricouard
874ea309ac Fix keys 2023-01-08 11:22:44 +01:00
Thomas Ricouard
57b0b6982c Fix keychain group 2023-01-08 10:57:58 +01:00
Thomas Ricouard
424cd475ad Add push notifications support 2023-01-08 10:22:52 +01:00
Thomas Ricouard
7f5330f284 Redesigned settings tab 2023-01-06 17:14:34 +01:00
Thomas Ricouard
f922ba344d Search & Pin remote local timeline + general polish 2023-01-06 12:14:05 +01:00
Thomas Ricouard
e1ad5efd80 Direct message + empty screen for notifications and messages 2023-01-05 12:21:54 +01:00
Thomas Ricouard
dcdd8402e9 Timeline: Add filter for followed tags 2023-01-04 18:37:58 +01:00
Thomas Ricouard
e0253fb439 Added lists support + bunch of bug fixes 2023-01-02 19:23:44 +01:00
Thomas Ricouard
975a403c49 Handle account link in account bio and notifications 2023-01-01 11:40:18 +01:00
Thomas Ricouard
28ef54fa4b Improve logged out experience 2023-01-01 09:19:00 +01:00
Thomas Ricouard
bb47937eb6 Editor: Refactor + Add autocomplete for mentions and hashtag 2022-12-31 09:10:27 +01:00
Thomas Ricouard
f215298917 Embed + tap on statuses link from any instances 2022-12-30 16:55:13 +01:00
Thomas Ricouard
d393c4b90f Fix notifications tab + prepare multi account 2022-12-29 06:55:53 +01:00
Thomas Ricouard
5b9f91abd1 Editor character count + settings instance rules 2022-12-28 08:06:46 +01:00
Thomas Ricouard
0ac109c49b Better quote post 2022-12-27 13:38:10 +01:00
Thomas Ricouard
9209258f4c Routeur: Handle same instance status url 2022-12-27 08:31:47 +01:00
Thomas Ricouard
e5fb3acd07 Quote status + embed status 2022-12-27 07:51:44 +01:00
Thomas Ricouard
bda77571b6 Editor: Simple edit 2022-12-26 08:24:55 +01:00
Thomas Ricouard
fded30bb76 Refactor live timeline + handle more events 2022-12-26 07:36:54 +01:00
Thomas Ricouard
a8fb18559d Live notifications 2022-12-25 13:09:43 +01:00
Thomas Ricouard
93543cad6b Post / Delete a status and watch main timeline 2022-12-25 12:46:42 +01:00
Thomas Ricouard
8df70043cb Very basic status post 2022-12-25 08:17:16 +01:00
Thomas Ricouard
70ee6e0d27 Post boosted by / favourited by 2022-12-24 13:41:25 +01:00
Thomas Ricouard
e4e2b2ab8b Following / Followers page 1 2022-12-23 18:47:19 +01:00
Thomas Ricouard
6e8ed998d4 Explore: Added suggested accounts to follow 2022-12-23 15:28:22 +01:00
Thomas Ricouard
189037b53d Explore + Account polish + Status editor WIP 2022-12-23 10:41:55 +01:00
Thomas Ricouard
084dd18362 Refactor current account handling 2022-12-22 11:19:56 +01:00
Thomas Ricouard
66e314c2be Retire SheetDestinations for now 2022-12-22 10:56:24 +01:00
Thomas Ricouard
1a85fa19f8 Quick look support for media preview 2022-12-22 10:53:36 +01:00