Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebrand to Checker. #2048 #2053

Draft
wants to merge 38 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
cb805e4
checker (wip)
juliangruber Feb 11, 2025
618f696
"Filecoin Station" -> "Checker"
juliangruber Feb 11, 2025
ecde678
station -> checker (wip)
juliangruber Feb 11, 2025
e5c6b81
docs
juliangruber Feb 11, 2025
9499282
fix set config migration version
juliangruber Feb 11, 2025
b2971cf
clean up
juliangruber Feb 11, 2025
7d53f60
clean up
juliangruber Feb 11, 2025
63807db
clean up
juliangruber Feb 11, 2025
496d603
clean up
juliangruber Feb 11, 2025
fe3fff9
clean up
juliangruber Feb 11, 2025
91ea130
clean up
juliangruber Feb 11, 2025
7f4f6bd
clean up
juliangruber Feb 11, 2025
29c5e78
clean up
juliangruber Feb 11, 2025
49ec966
add migrate seed phrase
juliangruber Feb 11, 2025
2f500dd
fix old password key
juliangruber Feb 11, 2025
26be343
clean up
juliangruber Feb 11, 2025
df61100
clean up
juliangruber Feb 11, 2025
d735dcc
clean up
juliangruber Feb 11, 2025
403ef8d
clean up
juliangruber Feb 11, 2025
68b982d
module -> subnet
juliangruber Feb 11, 2025
692595c
save
juliangruber Feb 11, 2025
4c058c2
checker -> station
juliangruber Feb 11, 2025
c253b04
clean up
juliangruber Feb 11, 2025
5704adf
station -> checker
juliangruber Feb 11, 2025
fdd665f
clean up
juliangruber Feb 11, 2025
9df3c33
update package lock
juliangruber Feb 11, 2025
8903735
use checker logo in app
juliangruber Feb 11, 2025
f60abc3
"on" icon
juliangruber Feb 11, 2025
c0dec08
update icons off, update-macos*, update-*
juliangruber Feb 11, 2025
d0b96be
simplify icons
juliangruber Feb 11, 2025
5305a06
start with "ok" icon
juliangruber Feb 11, 2025
14c03a8
save
juliangruber Feb 11, 2025
34c3324
start in "online" state
juliangruber Feb 11, 2025
88d850f
update onboarding text
juliangruber Feb 12, 2025
9ce3d5d
update author
juliangruber Feb 12, 2025
378067a
update icons
juliangruber Feb 12, 2025
ba2f1bc
update more assets
juliangruber Feb 12, 2025
befe27c
update tray
juliangruber Feb 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Filecoin Station
# Checker

[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](https://protocol.ai/)
[![](https://img.shields.io/badge/project-Filecoin-blue.svg?style=flat-square)](https://filecoin.io/)
[![ci](https://github.com/filecoin-station/desktop/actions/workflows/ci.yml/badge.svg)](https://github.com/filecoin-station/desktop/actions/workflows/ci.yml)
[![ci](https://github.com/CheckerNetwork/app/actions/workflows/ci.yml/badge.svg)](https://github.com/CheckerNetwork/app/actions/workflows/ci.yml)

Filecoin Station is a desktop app that connects your computer’s idle resources
Checker is a desktop app that connects your computer’s idle resources
to the Filecoin network and rewards you with Filecoin. Taking part is simple,
just launch the app and start earning. Learn more at
[filstation.app](https://filstation.app).
[app.checker.network](https://app.checker.network).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: https://app.checker.network/ redirects to filstation.app, which is confusing

## Install

Release notes and all versions of Filecoin Station can be found on the
[releases page](https://github.com/filecoin-station/desktop/releases).
Release notes and all versions of Checker can be found on the
[releases page](https://github.com/CheckerNetwork/app/releases).

Each release has packages for desktop platforms:

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ as a security vulnerability, .
## Reporting a non security bug

For non-security bugs, please simply file a GitHub
[issue](https://github.com/filecoin-station/desktop/issues/new).
[issue](https://github.com/CheckerNetwork/app/issues/new).
2 changes: 1 addition & 1 deletion build/after-pack.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ exports.default = async function (context) {
{
cwd: join(
context.appOutDir,
'Filecoin Station.app',
'Checker.app',
'Contents',
'Resources',
'core'
Expand Down
10 changes: 5 additions & 5 deletions docs/DEVELOPING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

```mermaid
graph
fil-stat-repo(github.com/filecoin-station/desktop) --> fil-stat-main(Station main process)
fil-stat-repo --> fil-stat-webui(Station WebUI)
fil-stat-repo(github.com/CheckerNetwork/app) --> fil-stat-main(Checker main process)
fil-stat-repo --> fil-stat-webui(Checker WebUI)

saturn-l2-repo(https://github.com/filecoin-project/saturn-l2)
--> saturn-l2-go(Saturn L2 Node binary)
Expand All @@ -23,7 +23,7 @@ graph

Repositories:

- https://github.com/filecoin-station/desktop
- https://github.com/CheckerNetwork/app
- https://github.com/filecoin-saturn/L2-node
- https://github.com/filecoin-project/saturn-webui

Expand All @@ -32,8 +32,8 @@ Repositories:
1. `filecoin-project/saturn-webui` publishes a new release with WebUI assets
2. `filecoin-saturn/L2-node` is updated to use the new `saturn-webui` version
3. `filecoin-saturn/L2-node` publishes a new release
4. `filecoin-station/desktop` is updated to use the new `L2-node` version
5. `filecoin-station/desktop` publishes a new release
4. `CheckerNetwork/app` is updated to use the new `L2-node` version
5. `CheckerNetwork/app` publishes a new release

## Development workflow

Expand Down
12 changes: 6 additions & 6 deletions docs/MODULE_INTERFACE.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Station module interface
# Checker module interface

1. A module itself is a long-running executable, which
- performs its business logic
- writes informative messages to `stdio`
- exposes stats via a builtin webserver

1. A module needs to have its __binaries hosted__ on HTTPS accessible URLs, so that Station can download updates. Path patterns are flexible, GitHub Releases would be nice.
1. A module needs to have its __binaries hosted__ on HTTPS accessible URLs, so that Checker can download updates. Path patterns are flexible, GitHub Releases would be nice.

Example:
```
Expand Down Expand Up @@ -38,8 +38,8 @@

4. A module communicates activity by writing to its `stdout` stream:
- `API: $1` The module has launched and `$1` can be queried for fetching module stats (see below)
- `INFO: $1` `$1` will be displayed to the user inside Station's Activity Log
- `ERROR: $1` `$1` will be displayed to the user inside Station's Activity Log, with a warning icon
- `INFO: $1` `$1` will be displayed to the user inside Checker's Activity Log
- `ERROR: $1` `$1` will be displayed to the user inside Checker's Activity Log, with a warning icon
- `$1` all log lines will be stored in a module-specific log file, which can be submitted to Sentry for error handling

5. A module is expected to have provided its `API` URL in `<=500ms`
Expand All @@ -61,8 +61,8 @@ the following fields:
process restarts, somewhere in `ROOT_DIR`.

The module may include additional fields in the JSON response, although
these will be ignored by Station.
these will be ignored by Checker.

7. A module can be told to shut down via signal `SIGTERM`

8. A module can shut down at any time, which is always considered an error. Its exit will be shown in Station's UI, and the last 100 lines of its output streams forwarded to Sentry. The module won't automatically be restarted by Station (for now).
8. A module can shut down at any time, which is always considered an error. Its exit will be shown in Checker's UI, and the last 100 lines of its output streams forwarded to Sentry. The module won't automatically be restarted by Checker (for now).
10 changes: 5 additions & 5 deletions docs/RELEASE_PROCESS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Overview

Filecoin Station uses
Checker uses
[electron-build/auto-update](https://www.electron.build/auto-update) and a
modified flow from
[Electron Builder Action](https://github.com/samuelmeuli/action-electron-builder#electron-builder-action):
Expand Down Expand Up @@ -38,12 +38,12 @@ modified flow from
```

1. Wait for GitHub Actions CI to upload the binaries to a draft release
[here](https://github.com/filecoin-station/desktop/releases) (a new
[here](https://github.com/CheckerNetwork/app/releases) (a new
one will be created if you haven't drafted one).
1. Review and publish the release draft.
- Once a release is published, users will receive the app update
- The `latest.yml, latest-mac.yml, latest-linux.yml` files attached to
[/releases](https://github.com/filecoin-station/desktop/releases)
[/releases](https://github.com/CheckerNetwork/app/releases)
are used by the desktop app to determine when an app update is available.
1. Done!

Expand All @@ -56,12 +56,12 @@ modified flow from
4. Publish local changes and the tag to the GitHub repo:
`git push && git push origin vA.B.C`.
5. Wait for GitHub Actions CI to upload the binaries to a draft release
[here](https://github.com/filecoin-station/desktop/releases) (a new
[here](https://github.com/CheckerNetwork/app/releases) (a new
one will be created if you haven't drafted one).
6. Review and publish the release draft.
- Once a release is published, users will receive the app update
- The `latest.yml, latest-mac.yml, latest-linux.yml` files attached to
[/releases](https://github.com/filecoin-station/desktop/releases)
[/releases](https://github.com/CheckerNetwork/app/releases)
are used by the desktop app to determine when an app update is available.
7. Done!

Expand Down
6 changes: 3 additions & 3 deletions electron-builder.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
appId: io.filecoin.station
appId: network.checker.app
generateUpdatesFilesForAllChannels: true

extraMetadata:
Expand Down Expand Up @@ -58,8 +58,8 @@ nsis:

linux:
artifactName: ${name}-${os}-${arch}.${ext}
executableName: filecoin-station
icon: filecoin-station
executableName: checker
icon: checker
category: Network;FileTransfer;P2P
synopsis: A desktop client for Filecoin Retrieval Markets
maintainer: [email protected]
Expand Down
2 changes: 1 addition & 1 deletion main/app-menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function setupCheckForUpdatesMenuItem (ctx, menu) {
visible: false
})

// Filecoin Station menu
// Checker menu
menu.items[0].submenu?.insert(1, checkForUpdates)
menu.items[0].submenu?.insert(2, checkingForUpdates)
}
Expand Down
39 changes: 32 additions & 7 deletions main/station-config.js → main/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ const Store = require('electron-store')
const log = require('electron-log').scope('config')

const ConfigKeys = {
OnboardingCompleted: 'station.OnboardingCompleted',
TrayOperationExplained: 'station.TrayOperationExplained',
StationID: 'station.StationID',
FilAddress: 'station.FilAddress',
DestinationFilAddress: 'station.DestinationFilAddress'
OnboardingCompleted: 'checker.OnboardingCompleted',
TrayOperationExplained: 'checker.TrayOperationExplained',
CheckerID: 'checker.CheckerID',
FilAddress: 'checker.FilAddress',
DestinationFilAddress: 'checker.DestinationFilAddress'
}

// Use this to test migrations
Expand All @@ -18,6 +18,31 @@ const ConfigKeys = {

const configStore = new Store({
migrations: {
'>x': store => {
const migration = [
{
from: 'station.OnboardingCompleted',
to: ConfigKeys.OnboardingCompleted
}, {
from: 'station.TrayOperationExplained',
to: ConfigKeys.TrayOperationExplained
}, {
from: 'station.stationID',
to: ConfigKeys.CheckerID
}, {
from: 'station.FilAddress',
to: ConfigKeys.FilAddress
}, {
from: 'station.DestinationFilAddress',
to: ConfigKeys.DestinationFilAddress
}
]
for (const { from, to } of migration) {
if (store.has(from)) {
store.set(to, store.get(from))
}
}
},
'>=0.9.0': store => {
if (store.has('station.onboardingCompleted')) {
store.set(
Expand All @@ -32,13 +57,13 @@ const configStore = new Store({
},
beforeEachMigration: (_, context) => {
log.info(
`Migrating station-config from ${context.fromVersion} → ` +
`Migrating config from ${context.fromVersion} → ` +
context.toVersion
)
}
})

log.info('Loading Station configuration from', configStore.path)
log.info('Loading configuration from', configStore.path)

let OnboardingCompleted =
/** @type {boolean} */
Expand Down
20 changes: 10 additions & 10 deletions main/consts.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ const assert = require('assert')
const { getBuildVersion } = require('./build-version')

const appIDs = {
darwin: 'app.filstation.desktop',
win32: 'Filecoin Station Desktop',
linux: 'filecoin-station-desktop'
darwin: 'network.checker.app',
win32: 'Checker',
linux: 'checker'
}

module.exports = Object.freeze({
Expand All @@ -21,7 +21,7 @@ module.exports = Object.freeze({
IS_MAC: os.platform() === 'darwin',
IS_WIN: os.platform() === 'win32',
IS_APPIMAGE: typeof process.env.APPIMAGE !== 'undefined',
STATION_VERSION: packageJson.version,
CHECKER_VERSION: packageJson.version,
BUILD_VERSION: getBuildVersion(packageJson),

ELECTRON_VERSION: process.versions.electron
Expand All @@ -30,8 +30,8 @@ module.exports = Object.freeze({
// Replace with `app.get('localUserData')` after this PR is landed & released:
// https://github.com/electron/electron/pull/34337
function getCacheRoot () {
if (process.env.STATION_ROOT) {
return path.join(process.env.STATION_ROOT, 'cache')
if (process.env.CHECKER_ROOT) {
return path.join(process.env.CHECKER_ROOT, 'cache')
}

const platform = os.platform()
Expand All @@ -55,8 +55,8 @@ function getCacheRoot () {
}

function getStateRoot () {
if (process.env.STATION_ROOT) {
return path.join(process.env.STATION_ROOT, 'state')
if (process.env.CHECKER_ROOT) {
return path.join(process.env.CHECKER_ROOT, 'state')
}

const platform = os.platform()
Expand Down Expand Up @@ -87,8 +87,8 @@ function getStateRoot () {

// Used for migrations
function getLegacyCacheHome () {
if (process.env.STATION_ROOT) {
return path.join(process.env.STATION_ROOT, 'cache')
if (process.env.CHECKER_ROOT) {
return path.join(process.env.CHECKER_ROOT, 'cache')
}

const platform = os.platform()
Expand Down
4 changes: 2 additions & 2 deletions main/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ let totalJobsCompleted = 0
async function setup (ctx) {
ctx.saveModuleLogsAs = async () => {
const opts = {
defaultPath: `station-modules-${(new Date()).getTime()}.log`
defaultPath: `checker-modules-${(new Date()).getTime()}.log`
}
// The dialog might not show if the UI is hidden
ctx.showUI()
Expand Down Expand Up @@ -67,7 +67,7 @@ function maybeReportErrorToSentry (err, scopeFn) {
if (now - lastCrashReportedAt < 4 /* HOURS */ * 3600_000) return
lastCrashReportedAt = now
log.error(
'Reporting the problem to Sentry for inspection by the Station team.'
'Reporting the problem to Sentry for inspection by the Checker team.'
)
Sentry.captureException(err, scopeFn)
}
Expand Down
12 changes: 6 additions & 6 deletions main/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ const log = electronLog.scope('main')
// store.
// https://www.npmjs.com/package/electron-store
// https://www.electronjs.org/docs/latest/api/app#appgetpathname
if (process.env.STATION_ROOT) {
app.setPath('userData', path.join(process.env.STATION_ROOT, 'user-data'))
if (process.env.CHECKER_ROOT) {
app.setPath('userData', path.join(process.env.CHECKER_ROOT, 'user-data'))

// Also set 'localUserData' after this PR is landed & released:
// We are using localUserData for Saturn L2 cache
Expand Down Expand Up @@ -44,7 +44,7 @@ const inTest = (process.env.NODE_ENV === 'test')
const isDev = !app.isPackaged && !inTest

log.info(format(
'Filecoin Station build version: %s %s-%s%s%s',
'Checker build version: %s %s-%s%s%s',
BUILD_VERSION,
os.platform(),
os.arch(),
Expand All @@ -65,7 +65,7 @@ if (app.runningUnderARM64Translation) {
}

// Expose additional metadata for Electron preload script
process.env.STATION_BUILD_VERSION = BUILD_VERSION
process.env.CHECKER_BUILD_VERSION = BUILD_VERSION

function handleError (/** @type {any} */ err) {
Sentry.captureException(err)
Expand All @@ -83,15 +83,15 @@ process.on('unhandledRejection', handleError)
// appUserModelID
// See https://www.electronjs.org/docs/tutorial/notifications#windows
if (process.platform === 'win32') {
app.setAppUserModelId('io.filecoin.station')
app.setAppUserModelId('network.checker.app')
}

// Only one instance can run at a time
if (!inTest && !app.requestSingleInstanceLock()) {
app.quit()
}

// When the user attempts to start the app and didn't notice the Station icon in
// When the user attempts to start the app and didn't notice the Checker icon in
// the tray, help them out by showing the main window
app.on('second-instance', () => {
ctx.showUI()
Expand Down
Loading
Loading