İlerleme güncellemelerinde artık hedef dosya/dizin GDrive'da mevcutsa
durum "done" olarak işaretleniyor. Transfer eşleştirmesi birden fazla
prefix desteği ile daha doğru çalışıyor. Cache temizleme işleminde
vfs/refresh kullanılıyor ve mount işlemlerinden önce aktiflik kontrolü
eklendi.
Rclone cache temizleme işlemini artık mount durdurup başlatmak yerine
RC API'nin vfs/forget komutunu kullanarak yapar. Bu yöntem daha hızlı ve
daha güvenli bir temizleme sağlar. RC API devre dışıyken cache temizleme
işlemi yapılmaz ve uyarı döner. Ayrıca mount dizinindeki bağlantı
sorunları (ENOTCONN) için otomatik unmount mekanizması eklendi.
- Rclone RC API kullanılarak dosya yüklemelerinde anlık ilerleme çubuğu eklendi.
- Arayüz üzerinden `rclone.conf` dosyası düzenlenebilir hale getirildi.
- VFS cache boyutu/yaş sınırları ve otomatik temizleme ayarı eklendi.
- Manuel yetkilendirme alanları kaldırıldı.
Dockerfile ve docker-compose yapılandırması Rclone ve FUSE için güncellendi.
Backend API'leri Rclone durumunu, ayarlarını, yetkilendirmesini ve mount işlemlerini
yönetmek için eklendi. İndirmeler tamamlandığında (Torrent, YouTube, Mail.ru)
dosyaların otomatik veya manuel olarak Google Drive'a taşınması sağlandı.
Dosya sistemi hem yerel hem de mount edilmiş GDrive yollarını destekleyecek şekilde
güncellendi. Ayarlar ve Dosyalar arayüzüne ilgili kontroller eklendi.
Aynı film için birden fazla önbellek girdisi olduğunda en güncel olanı
tutup eski önbellekleri temizleyen mekanizma eklendi. Video yolu
bulunamayan filmlerin metadatası otomatik silinir.
Dosya taşıma işlemi sırasında etkilenen film verilerini ve metadatasını
korumak için yeni mantık eklendi. `collectMovieRelPathsForMove` ile
etkilenen yollar tespit edilirken, `moveMovieDataDir` ile fiziksel veri
klasörleri ve metadata.json dosyaları taşınarak `_dupe` referansları
güncelleniyor. Aynı kök dizin içinde veya farklı kök dizinler arasında
taşıma işlemleri destekleniyor.
Diziler ve bölümler kökler arası taşınırken ilişkili metadata
dosyalarının (.tvmetadata, series.json) güncellenmesini sağlar.
collectSeriesIdsForPath ile etkilenen dizileri tespit eder,
moveSeriesDataBetweenRoots ile metadata klasörlerini taşır ve
updateSeriesJsonAfterRootMove ile içindeki yolları günceller.
info.json dosyalarını okuyarak WebDAV dizin yapısını oluşturma
özelliği eklendi. Bu özellik, mevcut TV ve Anime veri köklerinde
olmayan ancak indirme dizininde bulunan dizileri indeksler.
webdav-server paketi kullanılarak WebDAV sunucusu entegre edildi.
Film, TV ve Anime dizinleri WebDAV istemcileri (örn. Infuse) için
otomatik olarak indekslenir ve sembolik bağlantılarla sunulur.
Yapılandırma, Basic Auth ve salt-okuma modu için yeni ortam
değişkenleri ve docker-compose ayarları eklendi.
Kullanıcı arayüzünde Anime sekmesi ve oynatıcı entegrasyonu eklendi.
Sunucu tarafında Anime için özel bir veri yapısı ve API uç noktaları oluşturuldu.
- Anime içerikleri için `_anime` klasöründe ayrı metadata saklama alanı eklendi.
- Kök dizindeki (root) dosyaların çöpe taşınması ve geri yüklenmesi için
'root-trash' sistemi tanımlandı.
- TVDB sorgularında Anime için İngilizce dil tercihi uygulandı.
- Mail.ru indirmelerinde anime kapsamı (scope) desteği eklendi.
- Dosya eşleştirme arayüzü bağımsız `MatchModal` bileşenine taşındı
- `Files.svelte` ve `Transfers.svelte` yeni bileşen kullanılarak güncellendi
- Mail.ru indirmeleri için dizi adı, sezon ve bölüm eşleştirme özelliği eklendi
- `POST /api/mailru/match` endpointi ile metadata eşleştirme backend desteği sağlandı
- Dosya isimleri "DiziAdi.S01E01.mp4" formatında kaydedilmeye başlandı
Mail.ru video URL'lerini desteklemek için sunucu ve istemci tarafında
gerekli değişiklikler yapıldı.
- Sunucu tarafında Mail.ru URL çözümleme (yt-dlp) ve indirme (aria2c)
işlevselliği eklendi.
- /api/mailru/download uç noktası oluşturuldu.
- Dockerfile'a aria2c bağımlılığı eklendi.
- Kullanıcı arayüzü Mail.ru URL'lerini kabul edecek ve indirme
ilerlemesini gösterecek şekilde güncellendi.
- İndirilen dosyalar için otomatik küçük resim oluşturma eklendi.
ensureSeriesData fonksiyonuna, veri bulunamadığında candidateKeys listesini kullanarak alternatif dosya yollarının kontrol edilmesi ve ilgili metadatanın yüklenmesi sağlandı.
DEBUG_CPU, DISABLE_MEDIA_PROCESSING ve AUTO_PAUSE_ON_COMPLETE
seçenekleriyle CPU profili, medya işlem kontrolü ve otomatik
duraklatma özellikleri ekle. WebSocket temizleme işlemini
Sidebar bileşeninde refactor et.
Müzik çalar özellikleri eklenmiş ve görüntüleme modları geliştirilmiştir:
- Tam kapsamlı müzik çalar implementasyonu (play, pause, next, previous)
- İlerleme çubuğu ve süre göstergesi
- Ses kontrolü ve sessiz alma özelliği
- Liste ve ızgara (grid) görünüm modları
- Oynatma göstergeleri ve animasyonlar
- Medya süresi bilgisi için sunucu desteği
Sadece ses dosyası indirme özelliğini geliştir ve hata yönetimini güçlendir:
- Ses indirme formatını m4a/mp4/webm opus önceliğiyle optimize et
- İş bazında ayarları destekle ve varsayılan ayarlara geri düş
- Sadece ses indirmeleri için özel extractor argümanları kullan
- yt-dlp hata koduna rağmen medya dosyası bulunursa devam et
- Hem ses hem video dosyalarını tespit eden yeni findYoutubeMediaFile fonksiyonu ekle
- Müzik tespiti mantığını iyileştir ve ses bayrağını dikkate al
YouTube indirmeleri için çözünürlük ve ses-only seçenekleri içeren
ayarlar sistemi eklendi. Kullanıcılar artık tercih ettikleri video
kalitesini (1080p, 720p, 480p, 360p, 240p, 144p) ve ses-only
indirme seçeneğini kaydedebilir. Müzik içeriklerini daha iyi tespit
etmek için yeni algoritma ve API endpoint'leri eklendi.
YouTube video indirme işleminde çerez dosyası mevcut olduğunda web istemcisini,
mevcut değilse android istemcisini otomatik olarak kullanacak şekilde ekstraktör
argümanı mantığını güncelleştir. Bu değişiklik, çerez tabanlı erişim için daha
uygun istemci seçimi sağlayarak YouTube indirme başarısını artırır.
- Her youtube işi için debug nesnesi eklendi (binary, args, logs)
- appendYoutubeLog fonksiyonu ile log yönetimi sağlandı
- Hata durumlarında daha detaylı log ve debug bilgileri tutuluyor
- yt-dlp çalıştırma hataları için konsola detaylı bilgi yazılıyor
- Çıktı bulunamadığında son log kayıtları hata mesajına ekleniyor
Daha güvenilir güncellemeler için sayım tabanlı depolama yerine sürüm tabanlı yenileme mekanizması kullanıldı.
Belirli TV kök dizinlerini hedeflemeyi ve seçici önbellek temizlemeyi desteklemek için medya yeniden tarama sistemi geliştirildi.
Yalnızca etkilenen dizinler için yeniden taramaları tetiklemek üzere çöp kutusu işlemleri iyileştirildi, böylece gereksiz işleme azaltıldı.
Birden fazla kök klasör arasında veri birleştirmeyi sağlamak için TVDB kimliklerini kullanan TV dizileri için kanonik anahtar sistemi uygulandı.
Kullanıcı arayüzünde reaktif yükleme eklendi ve
eski yollardan otomatik geçişle meta veri yönetimi geliştirildi.
Önemli Değişiklikler:
- TV dizisi veri yapısı artık dizi başına birden fazla kök klasörü destekliyor
- Eski klasör anahtarları otomatik olarak kanonik TVDB anahtarlarına taşınıyor
- Veritabanı şeması, rootFolders dizisi için yeni indekslerle güncellendi