Arkadiusz Fal
f4d4daccd0
Optimize SwiftUI performance throughout the app
...
This commit addresses multiple SwiftUI performance bottlenecks identified
through code analysis, focusing on view rendering efficiency, list
performance, and memory usage optimization.
Key improvements:
- HomeView: Optimize async task management using structured concurrency
with async let to handle multiple Defaults updates in a single task
- VideoCell: Remove GeometryReader from VideoCellThumbnail to eliminate
layout thrashing; change @ObservedObject to computed property for shared
ThumbnailsModel
- ThumbnailView: Cache URL extension computation in init() instead of
recalculating on every body evaluation
- FavoriteItemView: Replace filter().prefix() with early-exit loop and
capacity reservation for significant performance gain on large lists
- ContentItemView: Optimize FetchRequest creation with direct predicate
construction only for video items, empty predicate for others
- VideoPlayerView: Fix playerSize didSet trigger by moving
updateSidebarQueue() calls to explicit onChange/onAppear handlers
- FeedView: Replace .unique() with Set-based deduplication for O(n)
performance and reduced allocations
- VerticalCells: Remove expensive sorting on every redraw; items should
be pre-sorted from source
These optimizations follow SwiftUI best practices by minimizing expensive
computations in view bodies, caching computed values, using efficient data
structures, and avoiding unnecessary redraws and layout passes.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 18:14:35 +01:00
Arkadiusz Fal
2d73c57426
Add Liquid Glass effect to player controls bar
...
Refactor controls bar background styling with platform-specific effects:
- Add Liquid Glass effect for iOS 26+ using new glassEffect API
- Fallback to ultraThinMaterial for iOS 15-25
- Fallback to blurred black overlay for iOS 14 and earlier
- Extract background logic into reusable applyControlsBackground modifier
- Adjust controls bar vertical offset for better alignment
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 18:14:34 +01:00
Arkadiusz Fal
757b4cb671
Add compact list row styling for iOS channels view
...
Apply compact row styling to channel list items on iOS to reduce vertical spacing and improve visual density. Uses listRowSpacing(0) on iOS 15+ and custom insets for consistent padding across all iOS versions.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 18:14:34 +01:00
Arkadiusz Fal
73d9581449
Improve search field layout and responsiveness
...
SearchTextField improvements:
- Add flexible width constraints (minWidth: 250, maxWidth: .infinity) for macOS
- Restructure iOS layout to use HStack instead of ZStack for better alignment
- Add invisible spacer to maintain consistent width when clear button is hidden
- Adjust padding for more balanced appearance
- Remove fixed width from fieldBorder to support flexible sizing
SearchView improvements:
- Wrap in GeometryReader to calculate available width dynamically
- Add searchFieldWidth() helper to compute optimal search field width
- Account for navigation buttons and internal padding
- Apply dynamic width to both FocusableSearchTextField and SearchTextField
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-09 18:14:34 +01:00
Willy Anjaya
080af7467e
Translated using Weblate (Indonesian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/id/
2025-11-07 13:35:10 +01:00
Jaroslav Kardoš
2d852b38a5
Translated using Weblate (Slovak)
...
Currently translated at 33.6% (189 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/sk/
2025-11-07 13:35:09 +01:00
Willy Anjaya
f03189e973
Translated using Weblate (Indonesian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/id/
2025-11-07 13:35:08 +01:00
Willy Anjaya
e4e80b021b
Added translation using Weblate (Indonesian)
2025-11-07 13:35:08 +01:00
Sander
e10a7cfc41
Translated using Weblate (Dutch)
...
Currently translated at 80.7% (454 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/nl/
2025-11-07 13:35:07 +01:00
Norcitko
9e0bf59774
Added translation using Weblate (Slovak)
2025-11-07 13:35:06 +01:00
ButterflyOfFire
1a36f1f338
Translated using Weblate (Kabyle)
...
Currently translated at 17.0% (96 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/kab/
2025-11-07 13:35:06 +01:00
Zipo
a93e0182ca
Translated using Weblate (Korean)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/ko/
2025-11-07 13:35:05 +01:00
NicoATC
89fba29710
Translated using Weblate (German)
...
Currently translated at 98.7% (555 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/de/
2025-11-07 13:35:04 +01:00
Josef Müller
d567b1f03e
Translated using Weblate (German)
...
Currently translated at 98.7% (555 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/de/
2025-11-07 13:35:04 +01:00
ButterflyOfFire
7293969604
Translated using Weblate (Kabyle)
...
Currently translated at 17.0% (96 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/kab/
2025-11-07 13:35:03 +01:00
Ghost of Sparta
b981d34d28
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2025-11-07 13:35:02 +01:00
Weblate (bot)
06c0eaa920
Translations update from Hosted Weblate ( #873 )
...
* Translated using Weblate (Spanish)
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/es/
* Translated using Weblate (Catalan)
Currently translated at 79.8% (449 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/ca/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/es/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/pt_BR/
---------
Co-authored-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com >
Co-authored-by: joaooliva <joaooliva@protonmail.com >
2025-06-17 16:02:56 +02:00
ned
2461a33feb
feat: default lang and mpv audio track switching
2025-06-01 22:19:03 +02:00
Arkadiusz Fal
09c2fb19a9
Fix swiftformat offenses
2025-03-23 13:32:46 +01:00
Arkadiusz Fal
7f7e12d719
Merge pull request #851 from weblate/weblate-yattee-localizable-strings
...
Translations update from Hosted Weblate
2025-03-23 13:27:47 +01:00
Jakub Filo
5239b36cfe
Add support for invidious companion
2025-03-18 22:56:45 +01:00
Ghost of Sparta
addc13ebfb
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2025-03-01 17:01:56 +00:00
azazaazur
2a6f26ec68
Translated using Weblate (Turkish)
...
Currently translated at 97.3% (547 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/tr/
2025-02-15 17:01:58 +01:00
Mohammed Al Otaibi
2e2f502d97
Translated using Weblate (Arabic)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/ar/
2025-01-30 15:02:02 +01:00
Sophia Park
59afc2f4c7
Translated using Weblate (Korean)
...
Currently translated at 14.2% (80 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/ko/
2025-01-06 08:07:37 +01:00
Finn
2f902e74bb
Translated using Weblate (German)
...
Currently translated at 94.8% (533 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/de/
2025-01-03 12:01:20 +00:00
Ghost of Sparta
500b75da4f
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-12-28 13:00:32 +01:00
Ghost of Sparta
e6bae84162
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-12-25 21:00:36 +01:00
Blueberry
1289f57f60
Translated using Weblate (Russian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/ru/
2024-12-13 23:00:53 +01:00
Ghost of Sparta
cc03ab059b
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-12-10 18:00:28 +00:00
Ghost of Sparta
17484f65fd
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-12-09 16:00:36 +01:00
Ghost of Sparta
65247227e7
Translated using Weblate (Hungarian)
...
Currently translated at 93.2% (524 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-12-08 11:00:44 +00:00
Ghost of Sparta
625c01aaac
Translated using Weblate (Hungarian)
...
Currently translated at 56.5% (318 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-12-06 20:00:30 +01:00
Twig
7465ff9c5c
Translated using Weblate (Turkish)
...
Currently translated at 96.0% (540 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/tr/
2024-11-24 18:00:26 +01:00
ButterflyOfFire
fff36ece26
Translated using Weblate (Kabyle)
...
Currently translated at 17.0% (96 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/kab/
2024-11-08 14:04:18 +00:00
ButterflyOfFire
8a0e9ae75a
Added translation using Weblate (Kabyle)
2024-11-08 14:04:17 +00:00
trilame
d6e5b5ed76
Translated using Weblate (French)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/fr/
2024-11-08 14:04:16 +00:00
தமிழ்நேரம்
cef1a1caea
Translated using Weblate (Tamil)
...
Currently translated at 100.0% (562 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/ta/
2024-11-08 14:04:16 +00:00
தமிழ்நேரம்
6c6abe8c84
Added translation using Weblate (Tamil)
2024-11-08 14:04:15 +00:00
Istvan Tanczos
9732537602
Translated using Weblate (Hungarian)
...
Currently translated at 1.0% (6 of 562 strings)
Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/hu/
2024-11-08 14:04:15 +00:00
Istvan Tanczos
c0deeabaed
Added translation using Weblate (Hungarian)
2024-11-08 14:04:14 +00:00
Arkadiusz Fal
f29dbcbe36
Merge pull request #834 from mmaalo/norwegian100
...
Norwegian Language
2024-11-08 15:04:05 +01:00
Arkadiusz Fal
9ca5d292ec
Merge pull request #820 from yattee/video-details-gestures
...
add drag gestures to video details
2024-11-08 15:03:07 +01:00
Arkadiusz Fal
748bc16342
Merge pull request #818 from yattee/changes-to-opengl-view
...
improvements to MPVGLView
2024-11-08 15:02:15 +01:00
Arkadiusz Fal
798d2fc67f
Merge pull request #817 from yattee/fix-subtitles
...
improved subtitle handling
2024-11-08 15:01:56 +01:00
Arkadiusz Fal
f69ccb6bd6
Merge pull request #814 from yattee/fullscreen-gesture-toggle
...
allow users to disable fullscreen swipe gesture
2024-11-08 15:01:06 +01:00
mmaalo
9a11e9f9f5
completed Localizable.strings for norwegian language
2024-10-07 21:23:12 +02:00
Toni Förster
b4bcd0c0a0
add drag gestures to video details
2024-09-15 20:56:04 +02:00
Toni Förster
e62010d5d5
improvements to MPVGLView
...
- add Pixel Buffer Object to (PBO)
- add some debug logging
- add scissor testing
- add dirty region checking
Signed-off-by: Toni Förster <toni.foerster@gmail.com >
2024-09-14 15:04:17 +02:00
Toni Förster
3339e8cb1f
improved subtitle handling
...
- fix subtitle disabling not working
- make subtitle adding/removing async
- make subtitle menu non blocking
Signed-off-by: Toni Förster <toni.foerster@gmail.com >
2024-09-14 11:33:12 +02:00