Technické
Technický přehled
Architektura Letos (aplikace, synchronizační server, webová verze), podporované platformy, model synchronizace, limity, offline režim, export a kontakt.
Na této stránce
Architektura
| Část | Co to je |
|---|---|
| Desktopová aplikace | Tauri 2: jádro v Rustu, rozhraní v Reactu. Data drží v lokální databázi SQLite, na Macu šifrované (SQLCipher, klíč v klíčence systému), hesla ke schránkám tamtéž. Poštu stahuje přes IMAP/SMTP a Gmail, kalendář z Google Kalendáře — přímo, bez prostředníka. |
| iOS aplikace | Stejné jádro v Rustu a stejné rozhraní, upravené pro telefon. Databáze je tu šifrovaná stejně jako na Macu. |
| Synchronizační server | Server v Rustu, který ukládá a přeposílá zašifrované změny mezi zařízeními a spravuje účty Letos (přihlášení, zařízení, pozvánky, plán). Obsah nevidí. |
| Webová verze | Stejné rozhraní v prohlížeči. Běží nad naším serverem, kde má každý webový účet vlastní databázi. Přihlašuje se účtem Letos. |
Více o datech a šifrování v Soukromí a bezpečnost.
Podporované platformy
| Platforma | Verze |
|---|---|
| macOS | 12 nebo novější (Apple Silicon i Intel) |
| iOS | 15 nebo novější |
| Web | aktuální prohlížeč |
| Windows, Linux | Připravujeme |
Lokální AI vyžaduje Mac s Apple Silicon a aspoň 16 GB RAM. Ovládací prvek v Ovládacím centru na iPhonu vyžaduje iOS 18.
Model synchronizace
- Každá změna (úkol, stav vlákna, pravidlo, nastavení…) se zapíše jako záznam do lokálního deníku změn a v zašifrované dávce se odešle na server.
- Pořadí změn určují hybridní logické hodiny. Při souběžné úpravě stejného záznamu na dvou zařízeních vyhraje novější zápis (last-writer-wins po řádcích).
- Zařízení se se serverem synchronizuje každých 30 sekund. Když má otevřený kanál pro okamžitá upozornění, dostane zprávu o nové změně hned a pravidelná synchronizace běží jednou za 2 minuty. Při výpadku čeká postupně déle, nejvýš 15 minut.
- Pošta a události se nesynchronizují přes server — každé zařízení si je stáhne od poskytovatele samo.
Offline
Všechno důležité běží lokálně. Bez připojení čteš staženou poštu, pracuješ s úkoly a díváš se do kalendáře. Změny se uloží a odešlou po připojení. Odeslání e-mailu počká v odchozí poště.
Limity
| Co | Limit |
|---|---|
| Příloha úkolu, která se synchronizuje | nejvýš 25 MB (větší zůstane jen v zařízení) |
| Počet zařízení, schránek a místo pro přílohy | podle plánu, viz Ceník |
| Aktivní roční cíle | 5 |
| Agenti (MCP) | viz Agenti a MCP |
Úklid pošty: v Nastavení → Předvolby pošty → Úklid pošty si můžeš nechat ze zařízení uvolňovat těla a mazat staré zprávy (30, 90, 180, 365 dní, nebo Nikdy). Týká se jen tohoto zařízení; na serveru poskytovatele pošta zůstane. Dokud úklid sám nespustíš, nic se nemaže.
Export a import
- letos.md — jednostránkový přehled tvého roku ke zkopírování (viz Úkoly).
- Trello — jednorázový import nástěnky z JSONu do Úkolů.
- Pošta zůstává u tvého poskytovatele, kalendář v Google Kalendáři.
Animace, hledání v nastavení a hlášení chyb
- Omezit animace — v Nastavení → Vzhled vybereš Podle systému (výchozí), Omezit nebo Plný pohyb. Omezí animace a přechody, kde je to možné. Volba se synchronizuje mezi zařízeními.
- Hledat v nastavení — pole nahoře v Nastavení prohledá všechny záložky a najde nastavení podle názvu. Funguje v aplikaci pro počítač i na iPhonu.
- Nahlásit chybu s diagnostikou — ke zpětné vazbě (Nastavení → Diagnostika → Poslat zpětnou vazbu) můžeš přiložit diagnostiku: technické údaje bez osobních dat (verze aplikace, platforma, jazyk, modul a kódy posledních chyb, nikdy žádný obsah). Před odesláním si v náhledu Přesně tohle odejde: prohlédneš, co se pošle.
Export dat
- V Nastavení → Export dat si tlačítkem Exportovat data… stáhneš všechno, co máš v Letosu, v jednom ZIP archivu: úkoly, cíle a poznámky (JSON), kalendáře (ICS), poštu uloženou v tomto zařízení (mbox) a nastavení. Hesla a přístupové tokeny v archivu nejsou.
- Pošta je jen to, co je uložené přímo v tomto zařízení. Nic se kvůli exportu nestahuje ze serveru.
- Přepínač Přidat i data účtu Letos ze serveru přidá profil, zařízení, přílohy a souhlasy uložené na serveru. Server povolí jeden takový export za minutu.
- Archiv se skládá po fázích (Úkoly, cíle a poznámky → Kalendáře → Pošta → Nastavení → Dokončuji archiv) a uvidíš u něj průběh. Export jde zrušit (Zrušit export); po zrušení žádný soubor nevznikne.
- Export dat je dostupný jen v aplikaci pro počítač a iPhone.
Záloha a obnova
- V Nastavení → Diagnostika (na iPhonu v Nastavení, část Diagnostika) je Záloha dat: Záloha uloží úkoly, cíle a nastavení do souboru v tomto zařízení. Nic se nenahrává a pošta se nezálohuje — zůstává u poskytovatele.
- Obnovit ze zálohy nejdřív ukáže, co soubor obsahuje (Záloha obsahuje {tasks} úkolů (z toho {goals} cílů) a {settings} nastavení.), a teprve pak potvrdíš Sloučit a obnovit.
- Obnovení data sloučí, nikdy nemaže: vrátí úkoly a cíle, které tu chybí nebo byly smazané, a nahradí jen úkoly, jejichž kopie je starší než záloha. Úkoly, které v záloze nejsou, zůstanou. Novější úpravy z kteréhokoli zařízení vyhrají, i na tvých ostatních zařízeních po dalším přihlášení do účtu Letos. Nastavení, která už tu máš, se nemění.
- Před obnovou si Letos uloží kopii současných dat (jen v tomto zařízení) a po obnovení ukáže cestu k ní. Soubor se sám smaže nejpozději po 7 dnech.
- Obnovení jde jen po odhlášení z účtu Letos — jinak by ho synchronizace vrátila zpět. Data zůstanou beze změny.
- Když se obnovení nepovede, data zůstanou beze změny a Letos napíše proč.
Šifrovaná databáze
- Databáze v tomto zařízení je šifrovaná — na Macu a na iPhonu. Při prvním spuštění po aktualizaci se jednorázově zašifruje; uvidíš Šifruji data… a u velké pošty to chvíli trvá. Aplikaci nezavírej.
- Když se databázi nepodaří otevřít, Letos napíše Databázi se nepodařilo otevřít a data na disku zůstanou beze změny. Zavři aplikaci a otevři ji znovu; když se to opakuje, pošli nám text z obrazovky.
- Když klíč k databázi chybí (třeba po obnově zařízení ze zálohy), Letos nabídne Začít znovu (data se znovu stáhnou ze synchronizace): nečitelnou databázi odloží vedle (nic nemaže) a poštu, kalendář a úkoly znovu stáhne ze serverů a ze synchronizace. Neodeslané koncepty a změny, které se nestihly synchronizovat, se v ní neobjeví.
- Kopie souboru databáze odebraná po zašifrování je bez klíče z klíčenky nečitelná.
Vlastní server
Provoz vlastního synchronizačního serveru zatím pro uživatele nepodporujeme ani nedokumentujeme.
Stav služby a kontakt
Samostatnou stránku se stavem služby zatím nemáme. Nejčastější chybová hlášení a co s nimi najdeš v článku Když se něco nepovede. Když něco nefunguje nebo máš otázku, napiš na [email protected]. Pomůže, když připojíš popis, co se stalo, a případně log (Nastavení → Diagnostika → Otevřít složku s logy) — než ho pošleš, projdi si ho, může obsahovat e-mailové adresy a předměty zpráv.
Naposledy aktualizováno: