ActivityWatch / ActivityWatch/activitywatch
The Great Migration
- Vorherrschende Sprache
- Python
- Sterne
- 18.9k
- Forks
- 1k
- Ø Merge
- 1 T. 4 Std.
- Gemergte PRs (30 T.)
- 28
Beschreibung
There are currently a few migrations planned, here I'll try to document them so that we can have some general discussion and clarity on what migration debts have to be repaid.
- [ ] **bundle: aw-server-python to aw-server-rust**
- This is the big one. aw-server-rust has been properly battle-tested by now (especially in aw-android) and is ready to become the default. We're currently (April 2020, v0.9) shipping it in the bundle as an alternative server that the user can choose to start with aw-qt.
- Practically, all of the migrations below depend on this one.
- [ ] **some watchers: 'unknown' hostnames to correct hostname**
- affects: aw-watcher-web, aw-android
- currently create buckets with hostname "unknown", leading to them being assumed to have to belong to a certain hostname when querying.
- new behavior (proposal): watchers use the hostname from the server's /info API endpoint when creating the bucket.
- new behavior (proposal): watchers can create buckets with a magic hostname which automatically uses the server hostname. It's more convenient for watcher developers than the above proposal.
- new behavior (proposal): watchers no longer have hostname in their name, they are assumed to be owned by the server they have requested to create a bucket for. All buckets in /api/0/buckets are local and "external" buckets from other devices can be on a seperate endpoint.
- planned migration: Change buckets with a certain signature to the local server hostname.
- [ ] **aw-server: hostnames to device IDs** (#302)
- hostnames are a bad way to identify an instance, especially so as hostnames sometimes change (transient hostnames) for network reasons.
- planned migration: migrate to using `device_id`.
- [ ] **some watchers: non-unique bucket IDs**
- we need a fix for this to allow having buckets from several hosts with identical IDs (aw-watcher-web-chrome), but we don't yet have one.
- [ ] **some watchers: old bucket types** (discussed in https://github.com/ActivityWatch/activitywatch/issues/201)
- We have been trying to adhere to a better standard for bucket type names (namespaces), which some of the older watchers don't use (`currentwindow`, `afkstatus`).
- Before we perform this migration we might want to improve the docs on all the known and somewhat standard bucket types.
- [ ] **aw-android: bucket type and id**
- aw-android currently uses `currentwindow` as its bucket type. This is not appropriate, as the event data schema is different (no `title`, for example).
- affects: aw-android and aw-webui
- best performed by: aw-android? aw-server-rust?
- [ ] **aw-server-python: default datastore from peewee to sqlite**
- indefinitely postponed in favor of switching to aw-server-rust
There are more info about these in issues that I haven't yet referenced here.
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.