Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Android is push-only until sync v2: stop showing the 'zero peers … layout problem' warning; pull other hosts only once v2 reads from staging

Aperta
#291 7 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
android, kotlin

Direzione di ricerca

Trace syncBoth, copySyncFilesToSafDir, pull_all/list_remote_dbs, and resolveSyncDirectory, then compare dirs::get_sync_dir() with the Android AW_SYNC_DIR value. Verify whether peer databases can be read from the SAF tree and whether the hostname/device_id levels match. Done means either Android pull behavior and the warning are corrected, or the UI explicitly identifies Android as push-only until sync v2.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Observed on v0.14.2b2 (POCO F8 Ultra), Sync Settings after a successful sync:

Last Sync succeeded at 13:00 … pulled 0, pushed 1
Found 0 remote db files to pull from /storage/emulated/0/Android/data/net.activitywatch.android/files/sync/poco_f8_ultra
Zero peers in a configured sync dir is usually a layout or setup problem, not a no-op.
[own-staging 2-level] …/files/sync/poco_f8_ultra/41662…/test.db  299.2 MB  not pulled: own device_id, excluded from pull

syncBoth does call pull_all (correct, 3-level list_remote_dbs), but copySyncFilesToSafDir only mirrors internal → SAF. Nothing ever copies other hosts' {hostname}/{device_id}/test.db from the Syncthing folder into the app-private dir, so the only thing under the internal root is our own staging and pull is guaranteed to find zero peers. The #687 warning then tells the user their setup is broken when it is working as designed for push.

Two things:

  1. Decide whether Android pulls at all. If yes, peers have to be read from the SAF tree (either an inbound mirror of {other-host}/… folders before the pull, or pull_all reading peer dbs via SAF-backed copies). If no for now, the Sync Settings text should say "push-only on Android" instead of the layout-problem warning.
  2. The root in that message is …/files/sync/poco_f8_ultra, and the own staging is classified as 2-level under it — but resolveSyncDirectory sets AW_SYNC_DIR to …/files/sync, and the push lands at …/files/sync/poco_f8_ultra/<device_id>/test.db (3-level from that root). Worth checking what dirs::get_sync_dir() resolves to on Android vs the env var; if the pull root really is the hostname folder, pull could never work even with an inbound mirror.

Related desktop-side bug found in the same session: ActivityWatch/aw-server-rust#711 (resume cursor duplicates the boundary event; the phone's staging stopwatch bucket already holds 285 copies of one event).

cc @TimeToBuildBob

Lingua principale
Kotlin
Stelle
270
Fork
57
Merge medio
20h 32m
PR unite (30g)
38

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ActivityWatch/aw-android

Tutte le issue di ActivityWatch/aw-android

Issue simili

Altre issue su Kotlin

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.