Do czego służy
Wyszukiwanie offline działa na już pobranej historii. Usuwanie wymaga internetu; wiadomości można usunąć dla wszystkich tylko wtedy, gdy Telegram na to pozwala.
Ludzie zostawiają różne rzeczy na czatach: hasło wysłane w pośpiechu, kod jednorazowy, klucz API, numer karty, adres. Wyszukiwarka Telegrama znajdzie słowo, jeśli pamiętasz, na którym czacie było i w jakiej formie. TCleanner buduje na urządzeniu zwykły indeks Twojej historii i pozwala uruchomić prawdziwe wyrażenie regularne na całej historii naraz, a potem zaznaczyć to, co znalazł, i usunąć — dla wszystkich, na każdym urządzeniu, z dokładną liczbą przed oczami, zanim cokolwiek zniknie.
Czyta tylko Twoje własne konto i nigdy nie wysyła wiadomości. Indeksuje Twoje czaty prywatne i grupy; kanały, które subskrybujesz, są indeksowane tylko wtedy, gdy to włączysz.
Gdzie są dane
Nie ma serwera ani analityki, reklam czy trackerów. Jedyne biblioteki to TDLib, własna biblioteka Telegrama, oraz lokalna baza danych GRDB. Indeks znajduje się w prywatnej pamięci aplikacji i jest wyłączony z kopii zapasowych. Sesja jest przechowywana w zaszyfrowanym katalogu danych TDLib, również prywatnym i wyłączonym z kopii zapasowych; jej klucz jest w Keychain z ustawieniem „tylko to urządzenie”: może być w zaszyfrowanej kopii zapasowej urządzenia, ale nie można go odtworzyć na innym urządzeniu. Aplikacja łączy się tylko z Telegramem, jako Twój klient.
Te same sześć zasad jest w aplikacji, w Ustawienia › Jak to działa: na Twoim urządzeniu; tylko Telegram; nic dla stron trzecich; Ty decydujesz, co zostanie usunięte; Twoja sesja i indeks; diagnostyka tylko wtedy, gdy sam ją wyeksportujesz. Pełny tekst to polityka prywatności.
Jak jest zbudowana
Natywna aplikacja na iPhone’a i iPada. Jeden pakiet Swift zawiera domenę i prezentery; SwiftUI renderuje migawkę stanu i odsyła intencje. Z Telegramem aplikacja łączy się przez TDLib z wyłączoną własną bazą wiadomości, bo indeks należy do aplikacji. Ten indeks to SQLite przez GRDB, przeszukiwany pełnym skanem z wczesnym zatrzymaniem zamiast indeksu słów: indeks słów nie odpowie na wyrażenie regularne.
Zachowanie jest spisywane, zanim powstanie kod: jedenaście specyfikacji możliwości z wykonywalnymi scenariuszami, każde wymaganie pod niezmiennym identyfikatorem, na który powołują się kod i testy. Testy działają na testowych implementacjach ze sterowanym zegarem. Projekt ma własne narzędzie do testów mutacyjnych z docelowym progiem 100%; osiągnęły go wszystkie możliwości. Indeksowanie samo dobiera tempo i jest wznawiane po wymuszonym zamknięciu aplikacji. Usuwanie jest zawsze dla wszystkich, zawsze potwierdzane dokładną liczbą i nigdy nie jest planowane.
Stan
Aplikacji nie ma jeszcze w App Store. Wbudowane archiwum demonstracyjne służy do tworzenia i testowania aplikacji bez konta Telegram. Kod źródłowy jest prywatny.
Pomoc techniczna i diagnostyka: support@kudravets.com. Sprawy ogólne: info@kudravets.com.
Aplikacja nieoficjalna. Korzysta z API Telegrama; nie jest powiązana z Telegramem.
Licencje open source (po angielsku)



