Skip to content

v1.6.0

Compare
Choose a tag to compare
@samuelthomas2774 samuelthomas2774 released this 20 Dec 14:51
· 113 commits to main since this release
v1.6.0
11077b0

Electron app

  • Add open in background option on Windows
    • This also works on Linux. Starting the app with the --app-open-at-login=1 option causes the app to show the open in background option. This must be added to a login script manually.

Windows users: The open at login option must be disabled before updating to prevent creating duplicate login items.

Apple Silicon macOS users: A native ARM64 build is now available. Because the app isn't signed and notarised macOS will refuse to open it when downloaded using a web browser. Using the secondary click menu to open the app does not bypass this and the quarantine flag must be removed manually by running xattr -r -d com.apple.quarantine .../Nintendo\ Switch\ Online.app in a terminal.

Discord Rich Presence

  • Add an option to show presence to the nearest hour
  • Add support for Big Run for Splatoon 3 presence
  • Fix error handling when using a presence URL
  • Fix clearing the activity when reconnecting to Discord
  • Update Discord title configuration

SplatNet 3

  • GraphQL persisted queries are now upgraded automatically
    • Updated query IDs are fetched using nxapi's remote configuration.
    • The NXAPI_SPLATNET3_UPGRADE_QUERIES environment variable can be used to control when queries are upgraded:
      • If set to 0 persisted query IDs are never upgraded (not recommended).
      • If set to 1 persisted query IDs are upgraded if they do not contain potentially breaking changes (not recommended).
      • If set to 2 persisted query IDs are upgraded, but requests that contain potentially breaking changes are rejected. Removed queries are rejected.
      • If set to 3 (default) persisted query IDs are always upgraded, including requests that contain potentially breaking changes. Removed queries are rejected.
  • Add X Ranking leaderboard queries

Presence server

  • Add presence API event streams
    • This can be used to continuously receive updated presence data more efficiently than polling the API. The API itself continuously fetches presence data and pushes new data to the client.
    • This can be used in a browser using the EventSource API.
    • nxapi will automatically use the event stream if the environment variable NXAPI_PRESENCE_SSE is set to 1.
    • An update event is emitted with no data when the server checks for new data.
    • A supported_events event is emitted with an array of supported events.
    • An event for each response key (friend, title, splatoon3, splatoon3_fest_team, splatoon3_vs_setting, splatoon3_coop_setting, splatoon3_fest) is emitted when the value is added/updated. No event is emitted if the value is removed.
  • Add Retry-After header to Coral API proxy and presence API errors
    • nxapi v1.5.0 and later uses this header to automatically retry temporary errors.
  • Presence API now tracks and returns the timestamp the user started playing the current title
  • Add SplatNet 3 proxy for use with the presence API server
  • Add environment variables to configure the presence API server
  • Coral API proxy and presence API now returns formatted JSON when accessed in a browser
  • Presence API now returns original high quality image URLs for Splatoon 3 stages
  • Splatoon 3 presence data is no longer returned by the presence API if the user is not playing Splatoon 3
  • Allow updating presence server data every 10 minutes if the requested user was not friends with the presence server user
  • Fix running presence server with the default user

Other

  • Update Coral to v2.4.0
  • Update SplatNet 3 to v2.0.0-bd36a652
  • Response data in error messages is now limited to 100 characters
    • Full response bodies are still written to stdout.
  • Add automatic renewal of Moon (Nintendo Switch Parental Controls) and NookLink tokens
  • Internal changes to Coral API proxy and presence API
  • The update check is now skipped when running in a Docker container
  • Fix authentication limit is ignored when renewing Coral and SplatNet 3 tokens
  • Ignore SplatNet 3 ConfigureAnalyticsQuery errors (occurs when the user has never played Anarchy Battle and didn't import Splatoon 2 data)

Build artifacts: https://gitlab.fancy.org.uk/samuel/nxapi/-/jobs/4566/artifacts/browse
Full changelog: v1.5.0...v1.6.0