Skip to content

Releases: asfaraguest/tatap

v2.7.1 - Kunci Sentuhan Layar (Touch Screen Lock) Mobile & Navigasi D-Pad Android TV

Choose a tag to compare

@asfaraguest asfaraguest released this 15 Oct 14:08

Tatap v2.7.1

Rilis versi 2.7.1 menghadirkan fitur Kunci Sentuhan Layar (Touch Screen Lock) pada Android Mobile untuk mencegah sentuhan tak sengaja saat menonton anime, perbaikan bug navigasi remote kontrol D-Pad, dan fungsionalitas tombol Next/Previous ExoPlayer yang terisolasi 100% pada platform Android TV (10-Foot UI Leanback).


Ringkasan Perubahan

1. Fitur Kunci Sentuhan Layar (Touch Screen Lock) Android Mobile (PlayerActivity.java, activity_player.xml)

  • Tombol Kunci Melayang Ergonomis (btn_screen_lock): Menyediakan tombol gembok melayang di sisi kiri tengah layar yang muncul secara sinkron bersamaan dengan kontrol bawaan ExoPlayer, mudah dijangkau ibu jari pengguna saat memegang ponsel dalam mode lanskap.
  • Proteksi Total Sentuhan Tak Sengaja: Saat layar terkunci (isScreenLocked = true), seluruh gesture sentuhan (swipe vertikal untuk volume & kecerahan, double-tap seek 5 detik, dan tepukan untuk memunculkan seekbar) dicegat dan dinonaktifkan 100% pada playerView.setOnTouchListener.
  • Tombol Buka Kunci Interaktif (btn_screen_unlock): Menampilkan tombol gembok "Buka Kunci" selama 3 detik saat layar disentuh atau tombol Back ditekan, lalu memudar halus (fade out) agar visual anime tetap 100% bersih tanpa gangguan.
  • Proteksi Tombol Back & Pass-Through Tombol Volume: Mencegah penutupan pemutar yang tidak disengaja via hardware maupun gesture back saat layar terkunci, dengan tetap mengizinkan tombol fisik volume ponsel berfungsi normal.
  • Jaminan Layar Tidak Sleep (playerView.setKeepScreenOn): Memastikan layar ponsel tidak mati atau mengunci sendiri saat anime aktif diputar.
  • Isolasi Penuh Android TV: Tombol kunci dinonaktifkan otomatis pada Android TV (TvFocusHelper.isTv) karena remote D-Pad tidak memerlukan penguncian sentuhan.

2. Perbaikan Navigasi Tombol Next & Previous ExoPlayer Android TV (PlayerActivity.java)

  • Aktivasi Terarah Berbasis Status Putar: Mengintegrasikan pemeriksaan perintah Player.COMMAND_SEEK_TO_NEXT dan Player.COMMAND_SEEK_TO_PREVIOUS pada ForwardingPlayer Media3 secara terisolasi (TvFocusHelper.isTv(this)). Tombol Next dan Previous kini hanya aktif (enabled dan focusable) saat pemutaran video dijeda atau ter-pause (isPaused).
  • Integrasi Callback Navigasi Media3: Menyambungkan pemanggilan seekToNext() dan seekToPrevious() pada ForwardingPlayer langsung ke handler playNextEpisode() dan playPrevEpisode().

3. Perilaku Tombol D-Pad Remote TV yang Responsif

  • Fast-Forward & Rewind saat Video Berputar: Ketika video sedang berjalan (isPlaying), penekanan tombol DPAD_RIGHT berfungsi sebagai Fast-Forward (seekRelative(+5000)), dan DPAD_LEFT berfungsi sebagai Rewind (seekRelative(-5000)).
  • Navigasi Fokus Mulus saat Video Ter-pause: Ketika video dijeda (!isPlaying), pembajakan tombol panah dinonaktifkan (break;) sehingga remote D-Pad dapat berpindah fokus antar tombol kontrol pemutar secara bebas ([exo_prev], [exo_rew], [exo_play_pause], [exo_ffwd], [exo_next]).

4. Delegasi Tombol Konfirmasi (DPAD_CENTER / ENTER)

  • Memperbaiki penanganan dispatchKeyEvent pada tombol OK / DPAD_CENTER remote:
    • Jika fokus berada pada tombol btnExoNext, menekan OK akan langsung memutar episode berikutnya (playNextEpisode()).
    • Jika fokus berada pada tombol btnExoPrev, menekan OK akan langsung memutar episode sebelumnya (playPrevEpisode()).
    • Jika fokus berada pada elemen kontrol lain di dalam playerView, klik didelegasikan secara akurat via focused.performClick().

5. Opsi Pindah Episode pada Dialog Pengaturan TV

  • Menambahkan opsi interaktif "Putar Episode Berikutnya (Ep X)" dan "Putar Episode Sebelumnya (Ep Y)" secara dinamis ke dalam menu pengaturan pemutar (showPlayerUnifiedSettingsDialog) khusus perangkat Android TV.

6. Sinkronisasi Status Tombol Otomatis (onIsPlayingChanged)

  • Status aktif/inaktif tombol Next dan Previous diperbarui secara otomatis setiap kali status jeda/putar berubah (onIsPlayingChanged), menjaga konsistensi visual dan aksesibilitas D-pad.

Aset Rilis Resmi

Rilis ini menyediakan 4 paket binary resmi mandiri:

Platform Berkas Deskripsi
Android Mobile tatap-release-v2.7.1.apk Signed Production APK (skema v1 dan v2, 16KB-page aligned, Android 7.0 hingga Android 16)
Android TV / Google TV tatap-tv-release-v2.7.1.apk Signed Production APK 10-Foot UI Leanback TV
Windows (x64) tatap-windows-x64-portable.zip Standalone Portable (Python 3.11 Embed dan Go Launcher Tatap.exe)
Linux (x86_64) Tatap-x86_64.AppImage Standalone AppImage Portable (CPython 3.11 standalone runtime)

Verifikasi Integritas

  • Seluruh 70 pengujian otomatis pada test suite pytest lulus tanpa regresi (100% pass rate).
  • Seluruh fitur touch screen lock terisolasi pada Android Mobile tanpa mengganggu Android TV maupun Web/Desktop.

Tatap v2.7.0

Choose a tag to compare

@asfaraguest asfaraguest released this 15 Oct 07:40

Tatap v2.7.0

Rilis versi 2.7.0 menghadirkan pembaruan identitas visual antarmuka Android, fitur resume watch multiplatform, pemilih kecepatan putar video, indikator rasio episode rilis aktif, mitigasi false-positive antivirus pada Windows, pengerasan startup Linux AppImage, serta penyempurnaan filter genre dan modal interaktif pada Web Desktop.


Ringkasan Perubahan

1. Antarmuka dan Aset Grafis Android

  • Mengadopsi arsitektur Android Adaptive Icons resmi (API 26+) dengan layer foreground berjarak aman 72dp dan dukungan Themed Icons / Material You (API 33+).
  • Memperbarui varian raster mipmap (mdpi hingga xxxhdpi) dan banner Leanback Android TV (320x180 dan 640x360).
  • Mengganti seluruh emoji pada chip filter katalog dengan tipografi monokrom ringkas.
  • Mengganti karakter simbol teks mentah dan ikon bitmap usang dengan 13 berkas Android Vector Drawables proporsional (14-15dp).
  • Menambahkan state tinting dinamis pada tab beranda dan membersihkan copywriting teks dari emoji.

2. Navigasi dan Kontrol Android TV (10-Foot UI)

  • Memulihkan tab Jadwal pada remote D-pad agar navigasi horizontal berjalan konsisten.
  • Mengaktifkan kolom pencarian TV melalui tombol klik/DPAD_CENTER dengan input keyboard virtual (IME).
  • Memusatkan tata letak ikon dan teks tab secara simetris menggunakan CenteredImageSpan.
  • Menghubungkan remote D-pad ke tombol lewati opening/ending: fokus otomatis saat intro/outro dimulai dan eksekusi langsung via tombol OK (DPAD_CENTER) atau tombol fast-forward (>>).
  • Menambahkan opsi konfigurasi otomatis lewati intro/outro pada dialog preferensi pemutar.

3. Fitur Resume Watch Multiplatform

  • Menyimpan menit dan detik terakhir penayangan per episode secara persisten pada tabel SQLite watch_progress (paritas penuh CPython dan Android Chaquopy).
  • Menyediakan modal interaktif saat membuka episode tersimpan dengan opsi "Lanjutkan" atau "Mulai dari Awal".
  • Ambang batas otomatis: progress di bawah 15 detik atau mendekati akhir video (>90% durasi / sisa < 30 detik) otomatis diputar dari awal tanpa memicu dialog.
  • Sinkronisasi riwayat tontonan pada beranda dengan format penanda waktu riil (ep X · MM:SS · lanjutkan).
  • Auto-focus tombol "Lanjutkan" pada Android TV untuk kelancaran navigasi remote.

4. Penyempurnaan Modal Interaktif Web dan Desktop

  • Memperbaiki semantik penutupan: tombol [X], klik pada backdrop overlay, dan tombol Escape berfungsi murni sebagai pembatalan tanpa memicu pemutaran video.
  • Menambahkan navigasi keyboard: tombol panah (ArrowLeft, ArrowRight, ArrowUp, ArrowDown) dan Tab untuk berpindah pilihan secara dinamis, serta tombol Enter untuk eksekusi.
  • Menyajikan informasi visual lengkap: judul anime, badge episode, bar progress visual, dan indikator persentase tontonan.
  • Menyetel z-index modal ke 160 dengan efek backdrop blur untuk pemisahan visual dari dialog detail anime.
  • Memperbarui fungsi isModalOpen pada terminal command line agar input keyboard tidak bocor saat dialog aktif.

5. Pemutar Video Multiplatform

  • Menyediakan 7 opsi kecepatan putar (0.5x, 0.75x, 1.0x, 1.25x, 1.5x, 1.75x, 2.0x) pada Desktop Web dan Android.
  • Reset otomatis ke kecepatan normal (1.0x) saat memutar judul anime baru.
  • Shortcut keyboard desktop: tombol [ untuk memperlambat dan ] untuk mempercepat.

6. Indikator Episode Ongoing

  • Menampilkan rasio episode rilis aktif terhadap total proyeksi penayangan (contoh: Ep 8/12 atau Ep 8/? jika belum rampung) pada kartu katalog, badge ongoing, dan detail anime di semua platform.
  • Menampilkan penanda TAMAT pada anime yang telah menyelesaikan seluruh episode.

7. Mitigasi False-Positive Windows Portable (Tatap.exe)

  • Mengganti eksekusi shell command (cmd, netstat, taskkill) dengan mekanisme graceful shutdown HTTP (/api/shutdown) dan Win32 TerminateProcess berbasis file PID terisolasi.
  • Menghapus flag -s pada Go linker untuk mempertahankan tabel simbol fungsi, memfasilitasi verifikasi integritas oleh scanner antivirus tanpa dicurigai sebagai obfuscated executable.

8. Pengerasan Runtime Linux AppImage

  • Mengganti probe kesiapan internal ke endpoint lokal instan /api/ping untuk mencegah false startup timeout saat offline atau koneksi lambat.
  • Membersihkan port 8767 via HTTP /api/shutdown sebelum peluncuran server baru.

9. Perbaikan Filter Genre Web dan Desktop

  • Memperbaiki forwarding parameter query genre (&genre=slug) pada pemanggilan browse katalog.
  • Memperbarui label judul katalog dan konsistensi parameter genre pada navigasi paginasi.
  • Menyediakan tombol reset genre, status visual tombol aktif, dan integrasi pemilihan genre pada modal filter katalog.

Aset Rilis Resmi

Rilis ini menyediakan 4 paket binary resmi mandiri:

Platform Berkas Deskripsi
Android Mobile tatap-release-v2.7.0.apk Signed Production APK (skema v1 dan v2, 16KB-page aligned, Android 7.0 hingga Android 16)
Android TV / Google TV tatap-tv-release-v2.7.0.apk Signed Production APK 10-Foot UI Leanback TV
Windows (x64) tatap-windows-x64-portable.zip Standalone Portable (Python 3.11 Embed dan Go Launcher Tatap.exe)
Linux (x86_64) Tatap-x86_64.AppImage Standalone AppImage Portable (CPython 3.11 standalone runtime)

Verifikasi Integritas

  • Seluruh 67 pengujian otomatis pada test suite pytest lulus tanpa regresi.
  • Modul Android diisolasi penuh dari perubahan Web dan Desktop.

Tatap v2.6.2

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:43

Catatan Rilis Tatap v2.6.2 (Desktop & Web Performance & Subtitle Stability)

Pembaruan v2.6.2 menghadirkan penyempurnaan menyeluruh pada platform Desktop (Windows Portable) dan Web Desktop, berfokus pada resolusi kendala subtitle ganda, akselerasi proses resolving video, eliminasi macet streaming (buffering stall), serta proteksi terhadap race condition saat pergantian episode.


🌟 Sorotan Pembaruan v2.6.2

  1. Eliminasi Subtitle Ganda (Single-Layer Display Mode):

    • Menghilangkan benturan antara rendering native video::cue dan layer kustom #pm-subs-overlay di browser Chromium dan Microsoft Edge WebView2 (Windows Portable).
    • Track native WebVTT kini berstatus pasif pada jendela normal dan hanya aktif jika browser beralih ke native fullscreen. Seluruh cue sisa dari track terdahulu dibersihkan secara bersih saat berpindah episode.
  2. Resolving Video Cepat & Efisien (60-70% Lebih Singkat):

    • Mengeliminasi pengunduhan berulang playlist master m3u8 pada backend MegaPlay dari sebelumnya hingga 3 kali menjadi cukup 1 kali pengambilan terintegrasi.
    • Soft-validasi subtitle dari CDN terpercaya (MegaPlay, MegaCloud, Rabbitstream) kini berjalan instan tanpa perlu mengunduh seluruh berkas teks di awal pemutaran.
  3. Perlindungan Batas Waktu AniSkip (Non-Blocking Timeout):

    • Pemanggilan pencarian titik waktu Opening & Ending (AniSkip) dibatasi dengan batas waktu maksimal 1.2 detik.
    • Jika server eksternal lambat atau mengalami lonjakan latency, video tetap langsung berputar tanpa tertunda.
  4. Streaming Lancar Tanpa Macet & Auto-Nudge Buffer Stall:

    • Memperbaiki bug URL bersarang (nested proxy URL) pada prefetch fragmen Hls.js yang sebelumnya membanjiri koneksi lokal dengan error HTTP 400 Bad Request.
    • Mengintegrasikan mekanisme auto-nudge buffer stall (currentTime += 0.08) dan pemulihan multi-tahap (hingga 4 kali) yang otomatis di-reset setiap segmen berhasil dimuat.
    • Melindungi cache host DPI agar domain CDN umum tidak teracuni menjadi socket desync saat terjadi fluktuasi jaringan biasa.
  5. Pencegahan Race Condition Navigasi Episode:

    • Menambahkan pengenal unik (cur.playToken) pada proses pemutaran dan penguraian subtitle sehingga navigasi cepat antar-episode tidak akan menyebabkan respon episode lama menimpa episode baru.
  6. Perbaikan Pagination (Next/Prev Page) di Seluruh Tampilan & Tombol Pager Interaktif:

    • Memperbaiki bug kalkulasi lastPage pada backend parser AniList yang sebelumnya mengunci halaman di angka 1 pada tampilan Musim Ini, Masih Tayang, dan Season Custom.
    • Menyediakan tombol navigasi visual [⏮ Sebelumnya] dan [Berikutnya ⏭] yang dapat diklik langsung dengan kursor mouse di samping pintasan keyboard [ dan ].
    • Mengintegrasikan navigasi hari rilis dan sistem paginasi 24 kartu per halaman pada koleksi Favorit.
  7. Jadwal Rilis Anime Full 7 Hari Mingguan (Senin s/d Minggu) di Seluruh Platform & Aktivasi Android TV:

    • Memperluas cakupan jadwal anime menjadi 7 hari penuh dalam sepekan (Senin s/d Minggu) waktu WIB, terkelompok rapi per hari tayang.
    • Mengaktifkan Tab ⏱️ Jadwal di Android TV (10-Foot UI) dengan dukungan penuh remote kontrol D-Pad dan highlight fokus visual.
    • Menyediakan antarmuka 7 chip hari berfitur auto-select hari ini, auto-scroll horizontal, dan penanda Hari Ini di Web Desktop, Windows Portable, Linux AppImage, Android Mobile, dan Android TV.
  8. Efek Scanline CRT Dimatikan Secara Default (:crt off):

    • Menghilangkan efek garis scanline CRT secara bawaan pada Web Desktop dan Windows Portable untuk tampilan yang lebih jernih dan nyaman di monitor modern. Pengguna tetap dapat mengaktifkan kembali via perintah terminal :crt on.
  9. Kondisionalitas Tombol Navigasi Halaman (Hanya Tampil Saat Ada Pagination):

    • Tombol navigasi ⏮ Sebelumnya dan Berikutnya ⏭ beserta kontainer #pager kini hanya akan dimunculkan jika terdapat kondisi paginasi nyata (total > 1 pada katalog, musim, lanjutan, favorit, atau navigasi 7 hari pada jadwal).
    • Pada halaman hasil pencarian atau daftar anime yang hanya terdiri dari 1 halaman, tombol navigasi tidak lagi ditampilkan.
  10. Penyeragaman Seluruh Ikon UI Desktop (Cyber-Minimalist SVG Icons):

    • Mengganti seluruh emoji bawaan sistem operasi dan simbol teks mentah dengan pustaka ikon vektor SVG lokal (.ui-icon) berskala currentColor.
    • Ikon menu drawer, filter katalog, tombol modal, favorit, kontrol player video, skip opening, OSD volume/brightness, dan pager kini tampil tajam, presisi, dan otomatis menyatu dengan aksen neon cyan Tatap saat di-hover.
  11. Perbaikan Visibilitas Tombol Navigasi Pager pada Startup (Zero-FOUC):

    • Memperbaiki konflik spesifisitas CSS di mana selektor .pager sebelumnya menimpa aturan .hidden.
    • Tombol [⏮ Sebelumnya] dan [Berikutnya ⏭] kini 100% tersembunyi sejak startup dan hanya muncul secara dinamis saat pengguna membuka tampilan yang memiliki paginasi aktif.

📦 Panduan Unduhan & Format Aset Resmi (Hanya 4 Aset)

Sesuai master direktif Tatap, rilis publik hanya menyediakan 4 paket rilis resmi:

  • 📱 tatap-release-v2.6.2.apk — Aplikasi Android Mobile Resmi (Signed via Keystore release.jks, v1/v2 scheme).
  • 📺 tatap-tv-release-v2.6.2.apk — Aplikasi Android TV / Google TV Resmi (10-Foot UI, Remote D-Pad Navigation).
  • 🪟 tatap-windows-x64-portable.zip — Aplikasi Windows 64-bit Portabel (Zero-install, standalone runtime, launcher native).
  • 🐧 Tatap-x86_64.AppImage — Aplikasi Linux 64-bit Mandiri (Standalone AppImage, executable).

Dibuat dengan dedikasi untuk pengalaman menonton anime terbaik tanpa gangguan.

Tatap v2.4.2

Choose a tag to compare

@github-actions github-actions released this 13 Oct 05:29

Tatap v2.4.2 — Subtitle Engine GTX+ Fansub & Penyesuaian Font Android TV

Tatap versi 2.4.2 menghadirkan dua peningkatan besar pada subsistem subtitle: integrasi mesin penerjemah GTX+ (Smart Fansub & Scene Detection) yang langsung mengaplikasikan leksikon fansub dialog lisan santai alami tanpa memerlukan API key, serta penyesuaian skala ukuran font subtitle khusus Android TV dengan opsi ukuran lebih besar hingga 42sp untuk kenyamanan menonton jarak sofa (10-foot user experience).


Sorotan Fitur & Pembaruan

1. Penyesuaian Ukuran Font Subtitle Khusus Android TV

  • 7 Pilihan Ukuran Khusus Android TV: Menambahkan rentang skala font yang jauh lebih besar hingga 42sp (small 18sp, medium 22sp, large 26sp [Standar TV], xlarge 30sp, xxlarge 34sp [Jarak Jauh], jumbo 38sp [Layar Besar], dan max 42sp [Maksimal]).
  • Default 10-Foot UI Cerdas: Pada perangkat Android TV (TvFocusHelper.isTv), ukuran awal otomatis disetel ke 26sp (sebelumnya terbatas pada 17sp), memastikan teks langsung terbaca jelas di layar TV 43" - 75" dari jarak 2.5m - 4m.
  • Spasi Baris Dinamis (Line Spacing Multiplier): Menerapkan lineSpacingMultiplier="1.2" pada layout dan tvSubtitles.setLineSpacing(0f, 1.25f) di Android TV agar kalimat subtitle panjang dua baris dengan ukuran besar tidak saling bertumpuk bayangan (shadow).
  • Navigasi D-Pad Remote TV Penuh: Menu pemilihan ukuran font mendukung remote kontrol TV secara penuh dengan penandaan otomatis opsi aktif dan pemulihan fokus tombol kontrol pemutar setelah dialog ditutup.

2. Overhaul Subtitle Engine GTX+ (Smart Fansub & Scene Detection)

  • Rebranding Penuh AIGTX -> GTX+: Memperbarui penamaan dan identitas mesin penerjemah AIGTX menjadi GTX+ (Smart Fansub & Scene Detection) di seluruh ekosistem (Backend FastAPI, Frontend Web/Windows/Linux, Android Mobile, dan Android TV).
  • Scene Detection Otomatis Tanpa API Key: Menerapkan deteksi konteks adegan (scene detection) adaptif langsung pada mesin penerjemah GTX+ tanpa membutuhkan API key pengguna:
  • Adegan Formal/Kerajaan/Militer: Mempertahankan kesantunan baku (Saya/Anda, Yang Mulia, Paduka, Letnan).
  • Adegan Sehari-hari/Sekolah/Komedi: Otomatis menerapkan ragam dialog santai lisan fansub (casual conversation).
  • Kamus Bahasa Fansub Percakapan Santai: Mengintegrasikan puluhan leksikon dialog santai fansub (nggak, udah, cuma, banget, maksudmu apa, mana kutahu, beneran nih, pantesan, yang bener aja, jangan bercanda deh, sama sekali nggak, biar aku yang urus, gampang banget, cowok/cewek itu, mau gimana lagi).
  • Kompatibilitas Mundur Penuh: Mendukung format cache SQLite sub2|gtx+| dengan pembacaan fallback dari sub2|aigtx|, parameter mode query gtx+ dan aigtx, fungsi sanitasi backward compatibility, serta prefix track gtx+:<url> dan aigtx:<url>.

3. Paritas Runtime Multiplatform & Penyelarasan Penuh

  • Menyelaraskan seluruh modul penerjemah backend/api/translate.py dan backend/main.py ke runtime tersemat Chaquopy Android di android/app/src/main/python/backend/ dengan 100% paritas kode.
  • Seluruh 4 aset resmi rilis telah dibangun dan ditandatangani sesuai spesifikasi keamanan AGENTS.md.

Berkas Rilis Resmi (Strict 4 Official Assets)

  1. tatap-release-v2.4.2.apk (Official Signed Mobile APK, Keystore release.jks, Signature Scheme v2)
  2. tatap-tv-release-v2.4.2.apk (Official Signed Android TV / Google TV APK, 10-Foot UI)
  3. tatap-windows-x64-portable.zip (Official Windows Portable Standalone)
  4. Tatap-x86_64.AppImage (Official Linux AppImage Standalone)

Tatap v2.4.1

Choose a tag to compare

@asfaraguest asfaraguest released this 13 Oct 01:10

Tatap v2.4.1

Rilis pembaruan perbaikan kestabilan (patch release) untuk menyelesaikan kendala autotranslate subtitle pada sebagian pengguna, memperbaiki kontrol navigasi episode di ExoPlayer, serta memperluas kamus referensi penerjemah fansub berdasarkan sampling serial anime dan idiom universal.


Sorotan Perubahan

1. Perbaikan Kritis Cache Poisoning Subtitle

  • Memperbaiki bug di mana saat translasi gagal sementara, sistem secara keliru menyimpan subtitle mentah berbahasa Inggris ke tabel subtitle_cache SQLite dengan status berhasil selama 7 hari.
  • Akibat dari bug lama ini, episode tersebut terkunci permanen dalam bahasa Inggris meskipun koneksi telah pulih. Sistem kini secara tegas hanya menyimpan ke cache jika level terjemahan valid dan bukan teks sumber.

2. Validasi & Pembersihan Cache Otomatis (Self-Healing)

  • Backend kini memeriksa struktur linguistik bahasa Indonesia pada entri cache lokal sebelum disajikan ke pemutar.
  • Jika terdeteksi entri cache lama yang korup (berisi teks mentah bahasa Inggris tanpa kosakata penanda bahasa Indonesia), sistem otomatis menghapus cache rusak tersebut dan menerjemahkannya ulang secara transparan.

3. Eliminasi Race Condition & Deduplikasi Inflight

  • Menyatukan sistem antrean pekerjaan latar belakang (background prefetch) dan permintaan langsung pemutar (player stream request) ke dalam satu Future bersama (base_hash|lang).
  • Mencegah eksekusi ganda simultan (sebelumnya memicu hingga 8 thread konkuren paralel) yang membanjiri Google Translate dan memicu pembatasan laju HTTP 429 Too Many Requests.

4. Transisi ke HTTP POST Google Translate RPC & Multi-Client Failover

  • Mengubah metode pemanggilan batch dari HTTP GET menjadi HTTP POST dengan format application/x-www-form-urlencoded (q).
  • Menghilangkan batasan panjang URI (HTTP 414 / HTTP 400) yang sering dipotong oleh gateway DPI operator seluler di Indonesia.
  • Mengintegrasikan rotasi multi-client failover lintas pool Google:
  • client=dict-chrome-ex (Ekstensi Chrome dictionary)
  • client=tw-ob (Google Translate Mobile/Widget pool)
  • clients5.google.com (Mirror endpoint sekunder)
  • Menurunkan konkurensi menjadi 2 thread pekerja dengan jeda mikro (inter-batch pacing) dan mekanisme pemecahan otomatis batch 20 baris menjadi sub-batch 10 baris jika terjadi penolakan paket.

5. Peningkatan Antarmuka Pemutar Android & Opsi Retranslate

  • Pemutar Android kini membaca header X-Translate-Tier. Jika fallback terjadi, HUD menampilkan status jujur: Sub: ID [Terjemahan Gagal, Teks Asli] sehingga pengguna tidak tertipu oleh label yang mengklaim berhasil.
  • Menambahkan tombol aksi [Refresh] Terjemahkan Ulang Subtitle (Hapus Cache) pada dialog pemilih subtitle Android untuk membersihkan cache episode seketika dan melakukan translasi ulang.

6. Perbaikan Tombol Next & Previous Episode di ExoPlayer

  • Memperbaiki bug di mana tombol kontrol exo_next dan exo_prev pada ExoPlayer (Media3) selalu terkunci nonaktif secara internal karena timeline hanya berisi single MediaItem.
  • Mengonfigurasi atribut tata letak XML dan pemanggilan kode eksplisit setShowNextButton(true) dan setShowPreviousButton(true), mengoreksi urutan inisialisasi agar tombol dihubungkan sebelum kontrol native disiapkan, serta menerapkan logika batas navigasi optimistik agar tombol tetap responsif saat daftar episode sedang dimuat.
  • Menambahkan mekanisme cadangan pemuatan asinkron ensureEpisodeListLoaded() di latar belakang ketika pemutar dibuka langsung tanpa membawa daftar episode penuh.
  • Mengisolasi pergantian episode dengan token identifikasi (currentResolveLoadId) untuk mencegah race condition metadata URL stream m3u8.
  • Membersihkan referensi subtitle (currentCues, currentSubLoadId, teks overlay), stream URL, dan memanggil player.clearMediaItems() saat berpindah episode untuk mencegah kebocoran state episode sebelumnya.
  • Menambahkan dukungan tombol keyboard fisik N (Next) dan P (Previous) pada Android TV dan perangkat berkibor.

7. Pemulihan Penuh Engine Penerjemah Subtitle (Anti-Fallback MyMemory)

  • Mengeliminasi penyebab fallback tidak disengaja ke MyMemory yang menghasilkan teks terjemahan kaku.
  • Mengganti rute Google Translate ke pool endpoint aktif tanpa pembatasan laju (clients5.google.com dan translate.google.com dengan client dict-chrome-ex dan tw-ob), menghilangkan sepenuhnya kesalahan HTTP 429 Google Translate.
  • Menghentikan penyimpanan hasil MyMemory ke tabel cache sub2|gtx, serta menambahkan validasi pembersihan otomatis jika cache lama terindikasi berisi pesan peringatan kuota MyMemory.
  • Memperbaiki pemisahan tugas inflight (base_hash|lang|mode) agar pemilihan AI Fansub atau AIGTX tidak dibajak oleh prefetch background GTX.
  • Memperbaiki default model Google AI Studio menjadi model valid gemini-2.0-flash (dengan failover gemini-1.5-flash), sehingga pengguna Google AI Studio dapat langsung menikmati terjemahan fansub tanpa error 404.
  • Memperbaiki bug tombol [Refresh] pada antarmuka pemilih subtitle agar pembersihan cache dan terjemahan ulang langsung dieksekusi secara instan.

8. Integrasi Kamus Referensi Fantasi & Atelier Sihir (Sampling Witch Hat Atelier)

  • Melakukan sampling teks subtitle di seluruh episode (Episode 1 hingga 13) anime Witch Hat Atelier (witch-hat-atelier-90) untuk mendeteksi terjemahan mesin kaku, calque harfiah, dan kegagalan konteks sihir.
  • Menambahkan bagian kosakata sihir atelier pada petunjuk sistem AI Fansub (_FANSUB_PROMPT_ID) yang mencakup istilah mantra, retakan tongkat sihir, tinta sihir, murid penyihir, ujian mahkota, dan herba obat.
  • Menambahkan aturan normalisasi universal (_UNIVERSAL_FANSUB_RULES), aturan santai (_CASUAL_FANSUB_RULES), dan penghalus AIGTX (_AIGTX_SMOOTH_RULES) di translate.py untuk memperbaiki kekakuan terjemahan umum maupun khusus fantasi:
  • "melakukan casting" -> "merapal sihir"
  • "tinta sulap" -> "tinta sihir"
  • "casting seal" -> "segel sihir"
  • "celah di tongkat" -> "retakan di tongkat"
  • "toko alat tulis ajaib" -> "toko alat sihir"
  • "menjadi magang" -> "menjadi murid sihir"
  • "memilih ramuan mahkota" -> "memetik herba mahkota"
  • "persetujuan mahkota" -> "Ujian Mahkota"
  • "pegasus carriage" -> "kereta Pegasos"
  • "sangat baik andal" -> "sangat mantap"
  • "tiketnya terjual habis" -> "langsung ludes dalam sekejap"
  • "tidak punya apa pun untuk ditawarkan di dunia sihir" -> "tidak punya tempat di dunia sihir"
  • Merapikan percakapan antar kawan dari kata ganti kaku formal ("Ingin saya mengajari Anda?" -> "Mau kuajari?", "Anda perlu baju ganti" -> "Kamu butuh baju ganti").
  • Pembaruan kamus ini berlaku universal sehingga anime bertema fantasi, petualangan, sihir, maupun percakapan santai lainnya otomatis mendapatkan hasil subtitle yang luwes dan alami.

9. Sinkronisasi Paritas Aturan Translate Antar-Platform (Windows & Android Mobile/TV)

  • Melakukan audit dan sinkronisasi berkas kode android/app/src/main/python/backend/api/translate.py dan android/app/src/main/python/backend/main.py sehingga identik 100% dengan backend/.
  • Memastikan build lokal maupun CI Android (Mobile dan Android TV yang menggunakan embedded Chaquopy Python Runtime) mengonsumsi aturan kamus fansub, penormalisasi blunder, dan fallback scraper yang persis sama dengan build Windows Portable dan Linux Desktop.

10. Kamus Idiom & Ungkapan Fansub Anime Universal

  • Mengintegrasikan kamus idiom dan respons kultural anime ke dalam translate.py pada prompt LLM (_FANSUB_PROMPT_ID), kamus regex universal (_UNIVERSAL_FANSUB_RULES), dan penghalus AIGTX (_AIGTX_SMOOTH_RULES):
  • "It can't be helped / shouganai" -> "Mau gimana lagi / Mau bagaimana lagi" (bukan "Itu tidak bisa ditolong").
  • "Give me a break" -> "Yang benar saja! / Ampun deh!" (bukan "Beri aku istirahat").
  • "Serves you right" -> "Rasakan itu! / Syukurin!" (bukan "Melayanimu dengan benar").
  • "I'll take care of this" -> "Biar aku yang urus ini" (bukan "Aku akan merawat ini").
  • "Don't let your guard down" -> "Jangan lengah!" (bukan "Jangan biarkan penjagamu turun").
  • "Stand back / Back down" -> "Mundur! / Menjauhlah!" (bukan "Berdiri kembali / Kembali ke bawah").
  • "Over my dead body" -> "Langkahi dulu mayatku!" (bukan "Di atas tubuh matiku").
  • "Who is in charge?" -> "Siapa penanggung jawabnya?" (bukan "Siapa yang mengisi daya?").
  • "Piece of cake" -> "Gampang banget" (bukan "Sepotong kue").
  • "Under the weather" -> "Kurang enak badan" (bukan "Di bawah cuaca").
  • "Not on my watch" -> "Tidak akan kubiarkan!" (bukan "Bukan di jam tanganku").
  • "Take your time" -> "Santai saja, jangan terburu-buru" (bukan "Ambil waktumu").
  • Serta ungkapan dan respons kultural khas anime lainnya (mendokusai, sasuga, tsundere, greeting, dan umpatan shonen).

Berkas Rilis Resmi (4 Aset Resmi)

  1. tatap-release-v2.4.1.apk (Signed Official Mobile APK - Android Ponsel / Tablet)
  2. tatap-tv-release-v2.4.1.apk (Signed Official Android TV / Google TV APK 10-Foot UI)
  3. tatap-windows-x64-portable.zip (Official Windows Portable)
  4. Tatap-x86_64.AppImage (Official Linux AppImage)

Tatap v2.4.0

Choose a tag to compare

@asfaraguest asfaraguest released this 12 Oct 13:07

Catatan Rilis Tatap v2.4.0 (Rangkuman Pembaruan v2.3.0 - v2.4.0)

Rilis v2.4.0 menghadirkan pembaruan komprehensif yang mencakup fitur jadwal rilis 3 hari dengan filter ketersediaan, navigasi relasi season anime, optimasi performa pemuatan episode panjang, peningkatan stabilitas media player, dan dukungan antarmuka multiplatform (Android Mobile, Android TV, Windows Portable, Linux AppImage, dan Web).


1. Fitur Utama & Penyempurnaan Baru (v2.4.0)

  • Jadwal Rilis 3 Hari (Kemarin, Hari Ini, Besok):
  • Jadwal rilis dikelompokkan ke dalam 3 hari: Kemarin, Hari Ini, dan Besok berdasarkan waktu Indonesia Barat (WIB, UTC+7).
  • Dilengkapi jam tayang lokal yang presisi pada kartu anime (contoh: 19:30 WIB).
  • Filter Ketat Ketersediaan Judul:
  • Hanya judul anime yang tersedia di aplikasi (memiliki slug pemutar valid) yang ditampilkan pada jadwal. Anime yang belum tersedia pada scraper otomatis dihapus dari jadwal.
  • Penambahan Tab Jadwal Khusus Android Mobile:
  • Tab segmented Jadwal dan selector chip 3 hari ditambahkan khusus pada APK Android Mobile.
  • Antarmuka Android TV tetap diisolasi pada 3 tab standar (Musim Ini, Masih Tayang, Katalog) untuk menjaga kebersihan dan kenyamanan navigasi D-pad remote TV.
  • Penyempurnaan Jadwal di Web & Desktop:
  • View jadwal rilis pada versi Web, Windows Portable, dan Linux AppImage kini dilengkapi chip filter interaktif (Kemarin, Hari Ini, Besok).
  • Navigasi Relasi Season Anime:
  • Halaman detail anime menampilkan daftar relasi season yang dapat langsung diklik (Prequel, Season 1, Sequel, Movie).
  • Algoritma pelacakan relasi cerdas yang menelusuri rantai prekuel ke belakang untuk menemukan anime origin/Season 1 pertama secara akurat.
  • Optimasi Kecepatan Loading Episode Panjang:
  • Penerapan caching dua lapis (server-side SQLite dan in-memory cache) pada daftar episode. Pemuatan anime dengan ratusan hingga ribuan episode meningkat drastis dari beberapa detik menjadi instan (< 50ms).

2. Peningkatan Player & Stabilitas Streaming (v2.3.3 - v2.3.16)

  • ExoPlayer Native Controls:
  • Integrasi tombol Next dan Previous episode langsung pada kontroler native ExoPlayer.
  • Pre-resolving stream episode berikutnya di latar belakang untuk perpindahan episode tanpa jeda.
  • Kontrol subtitle, resolusi kualitas video, dan rasio aspek terintegrasi mulus di dalam controller player.
  • Perbaikan Audio & Stream:
  • Mengatasi masalah audio hening pada multi-rendition stream HiAnime saat pergantian kualitas video.
  • Mengatasi kendala audio pada stream puterin.
  • Mengatasi EOFException pada segmen proxy HLS drama1.cfd dan menambahkan fallback stream desync otomatis saat terjadi kegagalan jaringan.
  • Penyesuaian interval seek menjadi 5 detik untuk navigasi waktu yang lebih presisi.
  • Perbaikan Decoder & Layar Android TV:
  • Reset sesi decoder saat perpindahan resolusi untuk mencegah distorsi zoom atau penyusutan layar pada Android TV.
  • Optimalisasi perataan aspect ratio SurfaceView native.

3. Antarmuka Android TV & Multiplatform (v2.3.1 - v2.3.6)

  • Navigasi D-Pad Android TV Penuh:
  • Fokus D-pad komprehensif pada seluruh tombol, menu terlipat, kartu grid katalog, dialog bantuan, dan kontrol video player.
  • Penyesuaian proporsi kartu, rasio poster, dan kolom grid khusus layar televisi.
  • Pembaruan Desain Web & Desktop:
  • Tampilan modern terinspirasi terminal dengan command bar interaktif, badge status online, dan tata letak yang bersih di Windows dan Linux.
  • Tata Kelola Versi & Dokumentasi:
  • Kepatuhan SemVer 2.0.0 di seluruh modul aplikasi.
  • Panduan navigasi remote Android TV dan aturan otomatisasi rilis pada dokumentasi.

Aset Unduhan Resmi

  1. Android Mobile: tatap-release-v2.4.0.apk (Signed Release APK untuk Smartphone / Tablet)
  2. Android TV: tatap-tv-release-v2.4.0.apk (Signed Release APK untuk Smart TV / TV Box)
  3. Windows 64-bit: tatap-windows-x64-portable.zip (Portable ZIP standalone dengan embedded runtime)
  4. Linux 64-bit: Tatap-x86_64.AppImage (Standalone executable AppImage)

Tatap v2.3.16

Choose a tag to compare

@asfaraguest asfaraguest released this 12 Oct 05:53

Release v2.3.16: Fix Android TV resolution switch zoom and shrink by re-initializing MediaCodec hardware decoder session seamlessly.

Release v2.3.15 - Perbaikan TV Zoom & Restorasi SurfaceView

Choose a tag to compare

@asfaraguest asfaraguest released this 12 Oct 05:21

Pembaruan & Perbaikan Bug v2.3.15

Rilis v2.3.15 menuntaskan masalah tampilan pada APK TV:

  1. Restorasi Native SurfaceView (Menghilangkan Masalah Zoom / Cropping):
  • Menghapus texture_view dan mengembalikan PlayerView ke native surface_view murni sesuai standar Android TV.
  • Mengunci default aspect ratio TV ke RESIZE_MODE_FIT pada inisialisasi agar video tidak terpotong (zoom) ataupun terdistorsi.
  1. Perbaikan Transisi Resolusi TV:
  • Menghapus pemanggilan listener rekursif pada trek video.
  • Memastikan requestLayout() dipanggil pada getVideoSurfaceView() dan playerView secara sinkron saat perubahan ukuran video terjadi.
  • Pilihan resolusi menggunakan in-stream TrackSelectionOverride tetap aktif tanpa reload stream dan tanpa resiko video looping.

Berkas Unduhan Resmi (4 Official Assets)

  1. tatap-tv-release-v2.3.15.apk: APK resmi Android TV / Google TV 10-Foot UI (Signed via keystore resmi).
  2. tatap-release-v2.3.15.apk: APK resmi Android Mobile (Signed via keystore resmi).
  3. tatap-windows-x64-portable.zip: Paket portable Windows 64-bit lengkap dengan launcher native Tatap.exe.
  4. Tatap-x86_64.AppImage: Paket mandiri Linux x86_64 (AppImage).

Release v2.3.14 - Perbaikan Resolusi TV & TextureView Scaler

Choose a tag to compare

@asfaraguest asfaraguest released this 12 Oct 05:10

Pembaruan & Perbaikan Bug v2.3.14

Rilis v2.3.14 menghadirkan perbaikan tuntas pada pemutar video Android TV saat pergantian resolusi stream:

  1. Eliminasi Looping Video via TrackSelectionOverride (HLS):
  • Pergantian resolusi video HLS kini dilakukan melalui native in-stream track selection tanpa me-reload MediaSource atau melakukan seek manual.
  • Sinkronisasi audio dan video tetap terjaga utuh tanpa jeda buffering ataupun looping seek.
  1. Eliminasi Black Screen & Video Mengecil via TextureView:
  • PlayerView kini menggunakan surface type texture_view yang dirender langsung oleh GPU Android.
  • Resolusi video 720p, 480p, dan 360p secara otomatis di-upscale mulus agar selalu memenuhi seluruh bidang layar TV tanpa batasan hardware plane TV yang kaku.

Berkas Unduhan Resmi (4 Official Assets)

  1. tatap-release-v2.3.14.apk: APK resmi perangkat Android Mobile (Signed via keystore resmi).
  2. tatap-tv-release-v2.3.14.apk: APK resmi Android TV / Google TV 10-Foot UI (Signed via keystore resmi).
  3. tatap-windows-x64-portable.zip: Paket portable Windows 64-bit lengkap dengan launcher native Tatap.exe.
  4. Tatap-x86_64.AppImage: Paket mandiri Linux x86_64 (AppImage).

v2.3.13

Choose a tag to compare

@github-actions github-actions released this 12 Oct 04:43
Release v2.3.13