Skip to content

Releases: juliusjoska/sepot

Šepot 1.2.3

Choose a tag to compare

@juliusjoska juliusjoska released this 23 Oct 08:57

Android APK

sepot-1.2.3-universal.apk is the universal APK that Google Play generates from the 1.2.3 (26) app bundle, signed with the same key as the Play Store version. It installs over the Play version and vice versa.

Version 1.2.3 (versionCode 26)
SHA-256 568ed4a009ee1501e96bde33130cc20b9c3fbce21b822e545270dce7953a62b4
Signing certificate SHA-256 9B:4C:DA:44:A1:80:81:26:3D:79:86:01:2B:9D:11:CA:72:AB:D0:24:9C:D9:DC:AB:82:5F:BE:AE:95:40:2D:02
Source tag v1.2.3
Native libsignal_frb 4.0.9, matches app/tool/native_libs.sha256
sha256sum -c sepot-1.2.3-SHA256SUMS.txt
apksigner verify --print-certs sepot-1.2.3-universal.apk | grep SHA-256
app/tool/verify_native_libs.sh sepot-1.2.3-universal.apk

Coming from the 1.1.1 APK? That one was signed with a different key (E2:13:D6:60:…), so Android refuses the update. Write down your 24-word recovery phrase, uninstall, install this APK and restore the account from the phrase.

What can and cannot be verified, including the relay revision: docs/VERIFY.md.

Changelog (Czech)

Bezpečnost

  • 24 slov jen po čerstvém ověření. Zálohovací fráze se z odemčené appky
    ukáže až po zadání PINu (nebo otisku/obličeje, je-li zapnutý). Totéž platí
    pro export a obnovu zálohy, nastavení nátlakového PINu, prodloužení
    automatického zámku, vypnutí ochrany obrazovky, zapnutí biometrie
    a smazání účtu. Kdo vezme odemčený telefon, k frázi se nedostane.
    V nátlakové relaci se fráze nezobrazí nikdy. Ověření PINu podléhá stejnému
    zpomalení po chybách jako odemykání.
  • Cizí klíč se jménem kontaktu už nesplyne s kontaktem. Zpráva od
    neznámého klíče je „žádost o zprávu“ se jménem, které si odesílatel zvolil
    sám, a s označením „(neznámý)“. Dokud ji nepřijmete, nejde odpovědět,
    nechodí od vás potvrzení přečtení ani psaní, nezvoní hovory a notifikace
    neukazuje jméno. Když se jméno plete s existujícím kontaktem (i přes
    cyrilici, diakritiku nebo neviditelné znaky), ukáže se varování i v chatu
    skutečného kontaktu.
  • Změna bezpečnostního kódu. Když se pod účtem známého kontaktu objeví
    jiný klíč, chat ukáže „Bezpečnostní kód kontaktu … se změnil“, ověření
    kontaktu se zruší a odpověď neodejde na nový klíč. Nový klíč přijde jako
    samostatná žádost o zprávu.

Opraveno

  • Na iPhonu nechodily budíčky ani hovory na pozadí. Appka relayi vůbec
    neposlala token pro zprávy (APNs) ani pro hovory (VoIP): nastavení
    notifikací na iOS skončilo chybou, ta zastavila celou registraci a appka
    ji tiše spolkla. Registrace u Apple teď proběhne i bez povolených
    notifikací, token pro hovory jde zvlášť a případné selhání ukáže seznam
    chatů.

Android: Google Play · iPhone: App Store (outside the EU for now) · sepot.cz

Šepot 1.2.2

Choose a tag to compare

@juliusjoska juliusjoska released this 17 Oct 06:41

Opraveno

  • Přečtený chat se dál ukazoval jako nepřečtený. Zpráva, která přišla do
    otevřeného chatu, zůstala po návratu do seznamu tučně s odznakem; teď se
    přečte hned, když je chat na obrazovce (a appka v popředí). Stažení přílohy
    nebo dodatečné doručení už nevrátí přečtenou zprávu mezi nepřečtené.
  • Gesto „odpověď tahem“ při zavírání chatu v ladicím buildu padalo na
    vytvoření animace nad zrušeným prvkem.
  • Na iPhonu hlásila dlaždice Push v Nastavení chybu (volala UnifiedPush,
    který existuje jen na Androidu).

Změněno

  • Nová ikona aplikace: Š, které se ve spodní části rozpadá do teček.

Android: Google Play · iPhone: App Store (outside the EU for now) · sepot.cz

Šepot 1.2.1

Choose a tag to compare

@juliusjoska juliusjoska released this 17 Oct 06:41

Android APK

sepot-1.2.1-universal.apk is the universal APK that Google Play generates from the 1.2.1 (24) app bundle, signed with the same key as the Play Store version. It installs over the Play version and vice versa.

Version 1.2.1 (versionCode 24)
SHA-256 5b06663c8c819ffdec1c5ac83159161fa31981266fd6b931ad2b37a4fa9b04c2
Signing certificate SHA-256 9B:4C:DA:44:A1:80:81:26:3D:79:86:01:2B:9D:11:CA:72:AB:D0:24:9C:D9:DC:AB:82:5F:BE:AE:95:40:2D:02
Source tag v1.2.1
Native libsignal_frb 4.0.9, matches app/tool/native_libs.sha256
sha256sum -c sepot-1.2.1-SHA256SUMS.txt
apksigner verify --print-certs sepot-1.2.1-universal.apk | grep SHA-256
app/tool/verify_native_libs.sh sepot-1.2.1-universal.apk

Coming from the 1.1.1 APK? That one was signed with a different key (E2:13:D6:60:…), so Android refuses the update. Write down your 24-word recovery phrase, uninstall, install this APK and restore the account from the phrase.

What can and cannot be verified, including the relay revision: docs/VERIFY.md.

Changelog (Czech)

Opraveno

  • Hovory se nedaly přijmout. Příchozí signalizace hovoru se zahazovala dřív,
    než se dostala k obsluze hovoru; volaný jen „zazvonil“ z budíčku a pak nic.
  • Obrazovka hovoru po zavěšení: avatar a jméno uskakovaly vlevo nahoru.
  • Obnova ze 24 slov na novém telefonu končila nekonečným čekáním — server
    odmítal už existující identitu. Nové zařízení ji teď převezme podpisem.
  • Tichá ztráta zpráv: úklid mizících zpráv mohl přepsat čerstvě přijatou
    zprávu; automatický zámek během zpracování zprávy ji mohl nenávratně zahodit;
    souběžné šifrování pro téhož příjemce dávalo obálky, které druhá strana
    zahodila. Všechny tři cesty opraveny.
  • Velká fronta po delším výpadku (stovky zpráv) se už neodpojuje v půlce
    a server ji po osmi pokusech nemaže.
  • Nátlakový PIN otevíral relaci se skutečnou identitou, frází i přístupem ke
    smazání účtu. Teď je izolovaná: náhodná identita, žádná síť, žádný zásah do
    klíčů; smazání v ní nechá skutečný účet být.
  • Zvonění z budíčku bez skutečné nabídky končí po 12 s; server budíčky hovoru
    omezuje na cíl, takže cizí člověk se znalostí adresy telefon nerozezvoní
    pořád dokola.
  • Dodatečné odeslání z fronty neztrácí anketu ani zmínky; budíček při
    „připojeno“ bez provozu obnoví spojení.

Bezpečnost

  • Hádání PINu: po pěti chybách prodleva 30 s, dál dvojnásobná až 15 minut.
  • Nátlakový a skutečný PIN se ověřují jednou derivací — čas odemčení neprozradí,
    který byl zadán.
  • Biometrie jen biometricky (zámek telefonu appku neodemkne); zabezpečení
    obrazovky je výchozí zapnuté a po odemčení skutečně platí; na iOS klíče
    nepřecházejí do iCloud Keychain ani záloh; filtr proti dotykům přes překryvná okna.
  • Server: doplňování jednorázových klíčů a rotace podepsaných klíčů
    (POST /v1/keys), omezení výdeje jednorázových klíčů na adresu, chyby v logu
    bez adres push endpointů, připnutí DNS u budíčků, globální strop příloh,
    limity délek, /v1/ready, uvolnění spojení při vypnutí, revize a zdroj
    v /v1/server-info.

Android: Google Play · iPhone: App Store (outside the EU for now) · sepot.cz

Šepot 1.2.0

Choose a tag to compare

@juliusjoska juliusjoska released this 17 Oct 06:41

Nový vzhled

  • Domovská obrazovka s kartami Chaty, Kontakty a Nastavení. Velký
    nadpis, hledání v chatech i v obsahu zpráv (najde „klic“ i „klíč“),
    filtry Vše / Nepřečtené / Skupiny, připnuté chaty nahoře.
  • Konverzace s hloubkou. Průsvitná hlavička a pole pro psaní nad jemnou
    tapetou, zprávy od stejného člověka se skládají do bloků, ve skupině
    avatar a jméno autora v jeho barvě.
  • Odpověď tahem doprava, řádek „N nových zpráv“ na místě, kde jsi
    skončil, a tlačítko na nejnovější zprávy s počtem nových.
  • Hledání v konverzaci se zvýrazněním a přeskakováním mezi výsledky;
    klepnutí na citaci skočí na původní zprávu.
  • Profil kontaktu a skupiny po klepnutí na jméno nebo avatar: ověření,
    sdílené fotky, společné skupiny, mizící zprávy, ztlumení, blokování;
    u skupiny členové, přidání lidí, přejmenování a odchod.
  • Fotky přes celou obrazovku s listováním všemi fotkami konverzace.
  • Každý člověk má vlastní barvu avataru — všude stejnou, i po
    přejmenování.
  • „Přečteno“ je poznat na první pohled — plná pilulka místo
    modrošedých fajfek, které na korálové bublině skoro nebyly vidět.

Přidáno

  • Hovory a videohovory 1:1, šifrované end-to-end. Tlačítka v hlavičce
    chatu; telefon zazvoní i se zavřenou aplikací (na iPhonu přes CallKit).
    Když přímé spojení nejde, hovor šifrovaně přepošle náš server.
    V chatu zůstane záznam „Hovor · 3:12“ nebo „Zmeškaný hovor“.
  • Rozepsaná zpráva zůstane. Když odejdeš z chatu, text v poli
    počká, a v seznamu chatů je vidět jako „Koncept: …“.
  • Přeposlání zprávy, fotky, souboru i hlasovky do jiného chatu nebo
    skupiny (podržet zprávu → Přeposlat).
  • Poznámky pro sebe v kartě Kontakty: chat sám se sebou na odkazy,
    fotky a poznámky. Zůstává jen v telefonu, šifrovaně, nic nejde na server.
  • @zmínky ve skupinách. Po napsání „@“ se nabídnou členové; zmíněný
    dostane upozornění, i když má skupinu ztlumenou.
  • Rychlejší přehrávání hlasovek — 1,5× a 2×, rychlost si Šepot pamatuje.
  • Správci skupin. Zakladatel je správce a může udělat správcem
    i další členy. Odebrat člena, měnit správce a přejmenovat skupinu smí
    jen správce; každou takovou změnu podepíše svým klíčem a ostatní telefony
    podpis ověří, takže ji nikdo nemůže podvrhnout ani za správce vydávat.
    U členů je odznak „Správce“, ostatní vidí akce neaktivní s vysvětlením.
    Dokud má někdo ve skupině starší verzi Šepotu, přidávat lidi smí dál
    každý, aby se skupina nerozdělila; se staršími verzemi skupiny fungují
    jako dosud. Existující skupiny se převedou samy, bez jediné zprávy.
  • Profilová fotka. V Nastavení klepni na svůj avatar. Fotka se ořízne,
    zmenší a zbaví metadat a tvým kontaktům dorazí šifrovaně s další
    zprávou; u nich se ukáže všude místo iniciál.
  • Ankety v chatu i ve skupině (plus → Anketa): jedna nebo víc
    odpovědí, pruhy výsledků a kdo jak hlasoval, hlas jde změnit i zrušit.
    Starší verze Šepotu uvidí otázku a možnosti jako text.
  • „píše…“ v hlavičce chatu, v seznamu chatů a jako tři tečky pod
    poslední zprávou. Stejně jako potvrzení přečtení je volitelné (výchozí
    vypnuto) a oboustranné. Offline protistraně se nic neposílá do fronty ani
    ji to nebudí — server takové oznámení doručí jen živému spojení.
  • Čas doručení a přečtení. Pod poslední odeslanou zprávou je vidět, kdy
    dorazila a kdy ji druhá strana přečetla. Po podržení zprávy ukáže „Info
    o zprávě“ čas odeslání, doručení a přečtení — ve skupině u každého člena
    zvlášť. Čas přečtení se ukazuje jen lidem, kteří potvrzení přečtení
    sdílejí oboustranně (výchozí vypnuto).
  • Přidání lidí do skupiny. Do existující skupiny jde nově přidat
    kontakty z nabídky skupiny nebo ze seznamu členů.

Změněno

  • Notifikace jsou na Androidu zapnuté od začátku. Bez nich systém
    Šepot na pozadí uspí a zprávy čekají, dokud aplikaci neotevřeš. Kdo má
    UnifiedPush distributor (např. ntfy), dostane ho; ostatním se zapne
    budíček přes Google (FCM). Google přitom vidí jen to, že má telefon
    probudit — ne obsah ani odesílatele. Přepnout či vypnout jde v Nastavení.
  • Dvojitá fajfka ve skupině svítí až ve chvíli, kdy zpráva dorazila
    všem členům, ne jen prvnímu.

Opraveno

  • Ztlumená skupina dál posílala upozornění. Ztlumení se u skupinové
    zprávy kontrolovalo v chatu s autorem, ne ve skupině.
  • Odesílané fotky nesly polohu (GPS) a údaje o telefonu. Zpracování
    fotky před odesláním metadata EXIF nečekaně zachovávalo — v odeslané
    fotce i v jejím náhledu. Nově se před odesláním vždy odstraní.
  • Zablokovaný kontakt se mohl sám odblokovat, když změnil adresu pro
    doručování.
  • „Přečteno“ se už nevrací na „doručeno“. Když potvrzení o doručení
    dorazilo po potvrzení přečtení (typicky po výpadku spojení), zpráva se
    tvářila jako nepřečtená.
  • Zpráva označená jako neodeslaná se po doručení sama opraví na
    doručenou.
  • Nastavení ukazovalo starou verzi aplikace. Číslo verze bylo v kódu
    napsané ručně a při vydání 1.1.1 a 1.1.2 se ho zapomnělo přepsat, takže
    se všude hlásila 1.1.0 — včetně hlášení zneužití, u kterých pak nešlo
    dohledat, ze které verze přišla. Verze se nově čte z nainstalovaného
    balíčku a k hlášení se přikládá i číslo buildu.

Android: Google Play · iPhone: App Store (outside the EU for now) · sepot.cz

Šepot 1.1.1

Choose a tag to compare

@juliusjoska juliusjoska released this 20 Jul 06:27

[1.1.1] – 2026-07-18

Opraveno

  • Odeslání první zprávy hned po instalaci už neselže. Krátce po
    založení účtu, než se aplikace stihla připojit k relayi, mohla zpráva
    spadnout s hláškou „Odeslání selhalo". Nově se v tu chvíli ukáže
    srozumitelné „Šepot se ještě připojuje — zkus to za chvíli" a připojení
    proběhne na pozadí.
  • QR kód a odkaz se ukážou až s doručovací adresou. Když sis chtěl
    ukázat vlastní QR dřív, než se aplikace poprvé připojila, vygeneroval se
    neúplný odkaz — protistrana pak nemohla poslat první zprávu („Kontakt
    nemá doručovací adresu"). Nově se místo neúplného kódu ukáže stav
    připojování a QR se objeví, jakmile je hotové.
  • Neúplný odkaz kontaktu se odmítne při přidání, ne až při prvním
    odeslání — s jasnou výzvou požádat protistranu o nový odkaz.
  • Zamčení po nečinnosti už neumlčí aplikaci. Po automatickém zamknutí
    a opětovném odemčení se zprávy zase přijímají i odesílají — dřív mohl
    messaging zůstat po odemčení vypnutý až do restartu aplikace.
  • Skupinová zpráva se při chybě neodeslání označí jako neodeslaná
    místo aby zůstala navždy ve stavu „odesílá se".
  • Ošetřeno vzácné zdvojení spojení s relayem při rychlém přepnutí Toru
    nebo zamčení během připojování.

Změněno

  • Interní úklid závislostí notifikací (odstraněna nepoužívaná větev, která
    komplikovala sestavení verze pro iOS).