v1.6.0
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.
- This also works on Linux. Starting the app with the
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
- Add Bayonetta 3, Pokémon Scarlet and Pokémon Violet.
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.
- If set to
- 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 to1
. - 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