Commit graph

790 commits

Author SHA1 Message Date
Thomas Ricouard
151154b335 Timeline: Enable jump to latest + in place refresh for all other timeline types 2023-02-25 19:32:47 +01:00
Thomas Ricouard
43cb5164d1 Profile use compact name formatter for numbers close #1057 2023-02-25 18:37:07 +01:00
Yusuke Arakawa
f1db2f716d
Adjusted how to hide the voting screen (#1054)
Like other submission item selection screens, the voting screen can now be shown/hidden with a button toggle.

Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-25 18:28:27 +01:00
Thomas Ricouard
d82453c513 Better visibility for DM in notifications list close #1064 2023-02-25 18:12:31 +01:00
Thomas Ricouard
b036e90ce4 Simplify Timeline refresh 2023-02-25 10:10:27 +01:00
Thomas Ricouard
abb1c53ae6 Various fixes 2023-02-24 17:16:39 +01:00
Thomas Ricouard
8e72430b4f Revert the isThread behaviour 2023-02-24 13:25:40 +01:00
Thomas Ricouard
29aaa7c5cb Optimisations: Autoclosure for StatusRowViewModel 2023-02-24 13:25:21 +01:00
Thomas Ricouard
401bd7afb5 Edit profile: Fix fonts 2023-02-24 09:37:23 +01:00
Thomas Ricouard
cc4768b5e7 Profile edit: Allow re order of fields 2023-02-24 09:23:16 +01:00
Yusuke Arakawa
293d680510
Fix follow button placement in the center (#1033)
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-24 08:42:24 +01:00
Thomas Ricouard
63ff87f640 Move languages into Models 2023-02-24 08:24:51 +01:00
Thomas Ricouard
096e42b1c2 Profile edit: Add metadata editing 2023-02-24 07:55:24 +01:00
Thomas Ricouard
3cc589851f Composer: Scale down image that are too big for upload 2023-02-23 21:21:21 +01:00
Thomas Ricouard
aad3e27748 Composer: Normalize error UI for media upload 2023-02-23 19:53:16 +01:00
Thomas Ricouard
3f17afa8ac Accounts: Replace lock / robot emojis with SF Symbols 2023-02-23 18:57:48 +01:00
Thomas Ricouard
f01a742845 Notifications: Show badge on account switcher on iOS 2023-02-23 18:57:28 +01:00
Thomas Ricouard
26e09d230b QuickLook: change + cleanup cache folder on close 2023-02-23 18:57:12 +01:00
Thomas Ricouard
0db7ea897a Show thread icons whenever there is reply 2023-02-23 09:02:12 +01:00
Thomas Ricouard
1ac9d8a6f8 Don't fetch status accounts when already fetched 2023-02-23 07:32:00 +01:00
Thomas Ricouard
ead649125e Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-02-23 07:23:22 +01:00
Thomas Ricouard
f93f0f0974 Quote statuses: Added cache + faster 2023-02-23 07:23:18 +01:00
David Walter
a0e37273a4
Fix scaling of custom emoji (#1020) 2023-02-22 22:13:46 +01:00
Ico Davids
e4b880dfe5
Make primary action bold: (#1021) 2023-02-22 22:12:10 +01:00
Thomas Ricouard
a4910037b8 Swiftformat . 2023-02-22 19:09:39 +01:00
Paul Schuetz
4af78478ba
Don't show the source-language before translating (#1008)
* Clear up the translate-button

The Translate button on the post and in the context menu now does not show the
source language to avoid user confusion if the language set by the poster is
not the actual language of the post. This language is now only used to decide
whether to display the button in the main view. The Translate button in the
context menu is independent.

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

* Show the translation-source-language

The source-language of a translation is now shown.

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

* Remove unused strings

The now unused translate-from-strings are removed.

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-22 19:03:05 +01:00
Peter-Josef Meisch
fc63830b27
Add lock icon to protected account (#1011)
Closes #915
2023-02-22 19:00:39 +01:00
Daniel Dickison
bdf5d3c783
Always show buttons on focus status (#1015)
I think it's helpful to have the buttons and their numeric badges visible when showing a status detail view for the focused status, even if the user has opted to hide them in timeline display settings.

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-22 19:00:29 +01:00
Pascal Batty
f1a1905098
Fix action button counter glitch in most scenarios (#1009)
Adds monospacedDigit modifier to the counter next to action button counter labels. This fixes the layout glitch that happens when the counter changes, most noticeably when you tap the boost or favorite button except for when the counter gains or loses a digit (9 -> 10, 99 -> 100 etc…)
Still greatly improves the actions view experience though.

Co-authored-by: Pascal Batty <pascal@zen.ly>
2023-02-22 18:56:49 +01:00
Thomas Durand
482d93a68d
Removed Boutique, using Bogeda directly (#1007)
* Removed Boutique, using Bogeda directly

* Updated about screen
2023-02-22 18:56:37 +01:00
Thomas Ricouard
4b40678931 Add a new context menu action to copy link 2023-02-22 18:49:32 +01:00
Thomas Ricouard
c8c7f2d29d Don't include post actions button in capture mode 2023-02-22 18:49:17 +01:00
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
c4daa73932 More accurate notifications badge 2023-02-22 12:14:57 +01:00
Thomas Ricouard
105b7717a9 Fix #984 follow you being out of boundaries 2023-02-22 07:36:29 +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
5d3b378373 Fix Equatable impl for Status and Account (thanks class) 2023-02-21 12:35:07 +01:00
Thomas Ricouard
533558eb81 Fix a localization + make the ... menu zone bigger 2023-02-21 08:09:27 +01:00
Thomas Ricouard
061791f632 Optimize custom font 2023-02-21 07:37:16 +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
Peter-Josef Meisch
6aeb25885c
Fix display of multiple vote polls (#967)
Closes #952
2023-02-21 07:05:21 +01:00
Yusuke Arakawa
25f699a321
Tweak the theme selector view (#975)
Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-21 07:04:02 +01:00
Alex Grebenyuk
c9e542a2ed
Fix crash when opening account details (#972) close #918 2023-02-21 07:03:24 +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
1a7ef62fd6 Fix trending refresh 2023-02-19 21:37:22 +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
Alex Grebenyuk
da289dbc1f
Optimize avatar view (#950)
* Reduce AvatarPlaceholderView body calls

* Resize avatars
2023-02-19 18:34:16 +01:00
Thomas Durand
369c36811d
Updated EmojiText to 2.x (#944)
Interface used by IceCubeApp has not changed from 1.x to 2.x
Looking at the library diff shows new features like SFSymbol powered emojis. Not like we're going to make use of that
https://github.com/divadretlaw/EmojiText/compare/v1.2.0...2.0.2
2023-02-19 16:28:37 +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
942279e482 Honour in app browser settings when opening profile about fields 2023-02-19 15:32:56 +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
Thomas Ricouard
6a03e06d3a Profile: Show about fields inline 2023-02-19 11:35:46 +01:00
Thomas Ricouard
65e63c4586 Remove Sendable conformance on Client as it's not needed 2023-02-19 07:51:16 +01:00
Alex Grebenyuk
03d60d2236
Update Nuke (#940) 2023-02-19 07:25:57 +01:00
Alex Grebenyuk
5faf793fe2
Optimize viewId (#942) 2023-02-19 07:25:27 +01:00
David Davies-Payne
159bd74566
Sort lists alphabetically in ListAddAccountView (#943) 2023-02-19 07:25:09 +01:00
Thomas Ricouard
5436e8d3f9 Merge branch 'main' of https://github.com/Dimillian/IceCubesApp 2023-02-18 22:51:47 +01:00
Thomas Ricouard
4000dc3650 Switch to targeted Swift concurrency warnings + fix them 2023-02-18 22:51:44 +01:00
Sean Goldin
274d36eec7
Fix 1 line note in centre (#938) 2023-02-18 21:25:45 +01:00
Alex Grebenyuk
a8459638e9
Add image prefetch to the timeline + resize close #931 (#930)
* Add image prefectch to the timeline

* Use preview url for post with multiple attachements

* Add image resize

* Prefetch link cards

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 18:44:43 +01:00
Peter-Josef Meisch
7cc1ca44b5
Display and edit notes on profiles (#929)
Closes #165
2023-02-18 18:28:16 +01:00
Thomas Ricouard
7112e6515b Timeline: wrap datasource in an actor for safety and perforamances 2023-02-18 18:04:46 +01:00
Thomas Ricouard
b1424aadd0 Fix two crashes 2023-02-18 17:08:32 +01:00
Thomas Ricouard
bfce92d71e Per account notifications count close #894 2023-02-18 15:36:18 +01:00
Yusuke Arakawa
8d8955ee13
Fix leak memory (Thread 1: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)) (#917)
Closes: #829

Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-18 08:53:11 +01:00
Thomas Ricouard
9281e72e8c Fix status context menu mention for boost 2023-02-18 08:02:50 +01:00
Thomas Ricouard
9bc65d5563 Enable landscape on iOS 2023-02-18 07:42:35 +01:00
Thomas Ricouard
ca4e80101f Swiftformat 2023-02-18 07:26:48 +01:00
Alex Grebenyuk
425a4eef4f
Update to Nuke 12 (Beta 1) (#924)
* Install Nuke from nuke-12 branch

* Fixes

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 07:25:10 +01:00
Alex Grebenyuk
dcf03b0f88
Status as class (performance improvement) (#925)
* Status as class (performance improvement)

* Also make account class

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-18 07:15:57 +01:00
Thomas Ricouard
88fdeec100 Fix link preview image size 2023-02-17 19:11:09 +01:00
Thomas Ricouard
c02cbde72e Fix translate button on boost 2023-02-17 19:11:01 +01:00
Thomas Ricouard
f09781582f Various optimizations to views & images rendering 2023-02-17 18:17:51 +01:00
Thomas Ricouard
881816730c Composer: Disable in app account switching 2023-02-17 14:02:05 +01:00
Thomas Ricouard
a3744525df StatusRow: Split into proper view struct 2023-02-17 13:30:56 +01:00
Thomas Ricouard
b7e7ee0736 Composer: Fix account switcher in share sheet 2023-02-17 13:30:45 +01:00
Thomas Ricouard
59d8346bc8 Composer: Fix sharing an UIImage directly 2023-02-17 08:33:56 +01:00
Thomas Ricouard
ea702e1101 Composer: Fix to account switcher + display full acct name close #906 2023-02-17 08:09:26 +01:00
Gareth Simpson
c1205036a2
This simplifies the parser. Having read the spec more closely as part of investigating bug 855, I was overcomplicating it. The server promises to send html so we should render it that way, not with heuristics. (#900)
This puts in line breaks exclusively where there are <br>s and takes out other line breaks that are in the body text.

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

* Add new toggle for using the theme tint

* Localizations

* Add icon style picker

* Localizations

---------

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

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

* Make language detection posting more accessible

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

* Add localizations

* Remove language detection in the timeline for now

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

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

* Show translate button even if no language is sent

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

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

* Adjust to new commits on main

Adjustments are made in regards to new developments on main.

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

---------

Signed-off-by: Paul Schuetz <pa.schuetz@web.de>
Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
2023-02-12 18:23:29 +01:00
Thomas Ricouard
aab397f2bb Fix profile pinned post UI 2023-02-12 18:14:34 +01:00
Thomas Ricouard
eb6050a38f Swiftformat 2023-02-12 16:29:41 +01:00
Thomas Ricouard
9fd1b4ef73 Cleanup 2023-02-12 16:29:27 +01:00
Thomas Ricouard
a959ea3606 Transition profile to List container 2023-02-12 16:13:57 +01:00
Thomas Ricouard
41058919bd Reworked translate: Use Mastodon API when available + always show the action in the post context menu 2023-02-12 13:22:36 +01:00
Thomas Ricouard
0449120684 Status media: Fix video size 2023-02-12 10:53:59 +01:00
Chanhwi Joo
0b3319c2e1
Improve swipe actions and settings (#808)
* Remove an unnecessary space from string

settings.swipeactions.status.trailing

* Make SwipeActionsSettingsView to be consistent with others

* Divide none as another section

* Add icons

* Make hollow icons work

* Show different button label by its status

* Use different colors by actions

* Fix swapped icons in settings

* Refactor
2023-02-12 10:37:09 +01:00