sailfish.cr

sailfish.cr

sailfish.cr explores a reliable path to native Sailfish OS apps with Crystal application logic and QML/Sailfish Silica for the interface.

The first technical reference case is a small, offline-capable FreshRSS client. FreshRSS is not yet a product validated by broad demand; it is deliberately a challenging integration case: HTTP API, authentication, lists, local storage, and synchronization.

Current status

  • CSF-001A: the local FreshRSS instance and API login work
  • CSF-001B: the MVP and API contract are defined and verified
  • CSF-001C: the typed Crystal API client reads FreshRSS on macOS
  • Device, SDK, QML, and RPM checks follow once a build host and Jolla Phone are available

Until then, the Crystal core remains fully developable and testable on macOS, without Qt or Sailfish dependencies.

Start here

Crystal core

Requires Crystal 1.21 or newer. There are no external dependencies yet, so shards install is not needed.

crystal tool format --check
crystal spec

Both run without a FreshRSS instance and without network access.

Integration test

spec/integration/ talks to a real FreshRSS instance and stays pending unless FRESHRSS_BASE_URL, FRESHRSS_USERNAME, and FRESHRSS_API_PASSWORD are set. With a local instance running, its .env provides them:

set -a; . dev/freshrss/.env; set +a
crystal spec

Credentials reach the test through the environment only; never put them into a spec file. The auth token is redacted in every output, including failure messages.

Repository status

  • intended public home: treagod/sailfish.cr
  • target platform: AArch64/Sailfish OS; the exact version will be established on device
  • reference system: FreshRSS with its Google Reader-compatible API
  • development service: the official FreshRSS container image, SQLite, and Podman
  • license: MIT (see LICENSE)
Repository

sailfish.cr

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 1
  • about 4 hours ago
  • August 5, 2026
License

MIT License

Links
Synced at

Thu, 06 Aug 2026 09:55:52 GMT

Languages