rubyforgood / rubyforgood/skillrx-beacon
Sync status reporting
Open
Nobody has claimed this yet.
cross-app sync
- Dominant language
- HTML
- Stars
- 4
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
POST /api/v1/devices/me/sync-status
- Create SyncStatusReporter service:
class SyncStatusReporter
def report(status:, manifest_version:, error_message: nil, progress_percent: nil)
client.post("/api/v1/devices/me/sync-status", {
status: status,
manifest_version: manifest_version,
manifest_checksum: device_config.manifest_checksum,
synced_at: Time.current.iso8601,
files_count: TopicFile.count,
total_size_bytes: TopicFile.sum(:file_size),
device_info: collect_device_info
})
end
end
- Status values: synced, syncing, outdated, error
- Collect device_info: hostname, os_version, app_version
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the client used for POST /api/v1/devices/me/sync-status and the definitions of TopicFile and device_config. Review how services collect device details and report status, then verify that SyncStatusReporter sends the listed fields and supports the four status values. Done means the reporter can submit synced, syncing, outdated, and error states with the requested metadata.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100