Skip to content

v1.5.0

Compare
Choose a tag to compare
@samuelthomas2774 samuelthomas2774 released this 28 Oct 14:51
· 170 commits to main since this release
v1.5.0
a6acd99

Electron app

  • Added a preferences window
    • This includes all additional options for customising Discord activities.
    • For macOS and Windows, login item settings can also be found here.
    Screenshot 2022-10-28 at 15 43 58
  • Add support for SplatNet 3
    • The exit button and unnecessary scroll bars are now hidden.
    • Data can be refreshed using Cmd+R/Ctrl+R.
    • Added new web service JavaScript APIs used by SplatNet 3.
  • Add support for using web service deep links while the web service is open
  • The default browser can now be used to add an account by holding Shift when pressing the add account button
  • Web services in the menu are now fetched from the API instead of being hardcoded in the app
  • Improved error handling when launching web services and renewing web service tokens
  • Hide menus in web service windows on Windows and Linux
  • Fix user selection menu for deep links is closed immediately
  • Disabled Chromium's built-in hostname resolver
    • This was only enabled in macOS due to Electron's default settings and causes system encrypted DNS settings to be ignored.
  • fix: use correct title for Windows notifications by @Rexogamer in https://gitlab.fancy.org.uk/samuel/nxapi/-/merge_requests/1

CLI

  • Add SplatNet 3 commands
    • Added nxapi splatnet3 user to show the authenticated user.
    • Added nxapi splatnet3 token to get an access token for SplatNet 3. The --json option is available for use with SplatNet3Api.createWithCliTokenData and scripts.
    • Added nxapi splatnet3 schedule --json to get the current schedule data as JSON.
    • Added nxapi splatnet3 battles to show the last 50 battles. (--json option supported.)
    • Added nxapi splatnet3 dump-records to download all history, hero and catalog records and stage and weapon stats.
    • Added nxapi splatnet3 dump-fests to download all Splatfest records.
    • Added nxapi splatnet3 dump-album to download all photo album items.
    • Added nxapi splatnet3 dump-results to download all battle and Salmon Run result data.
    • Added nxapi splatnet3 monitor to continuously download all battle and Salmon Run results and photo album items.
    • Added nxapi splatnet3 friends to show Nintendo Switch Online friends who have played Splatoon 3. (--json option supported.)
    • Added nxapi splatnet3 festivals to show Splatfests in your region. (--json option supported.)
    • Added nxapi splatnet3 festival {id} to show a specific Splatfest. (--json option supported.)
  • Added nxapi nso active-event to get the current Online Lounge/voice chat event
  • Add coop (salmon run) types and results for SplatNet 3 by @telgniw in #23
  • Fix an issue causing the CLI process to crash when showing desktop notifications
  • Fix importing node-notifier for desktop notifications

JavaScript/TypeScript library

  • Add SplatNet 3 API client
    • This can be accessed from the nxapi/splatnet3 module.
    • SplatNet3Api instances can be created in the same way as SplatNet2Api.
    • API types are published separately in the splatnet3-types package.
  • All API functions now return the Response object
    • This can be accessed by importing the ResponseSymbol symbol from the nxapi module.
  • The Coral API functions now return the result object directly
    • The raw response object can be retrieved using the ResponseDataSymbol symbol from the nxapi/coral module.
    • The correlationId value can be retrieved using the CorrelationIdSymbol symbol from the nxapi/coral module.
    • This is compatible with existing code expecting the status, result and correlationId to exist on the returned object, however new code should expect to access the result object directly.
    • The symbol and deprecated raw response keys will not exist when serialised to JSON.

Discord Rich Presence

  • Add detailed Rich Presence information using SplatNet 3 while playing Splatoon 3
    • This must be enabled in preferences or using the --splatnet3-monitor flag. When enabled the current game mode, rule and stages will appear in Discord. This only applies to online modes; hero mode and other offline modes will not show additional information in Discord.
    • This requires using a secondary account with your main account added as a friend to retrieve your presence data.
    • The secondary account must be able access to SplatNet 3. This means it must have an active Nintendo Switch Online membership and have Splatoon 3 data. Note that it is only necessary to get to the point where you have set a Splatfest region to be able to access SplatNet 3; completing the tutorial or playing an online battle is not necessary. This can be checked by attempting to open SplatNet 3 in the app or by running nxapi splatnet3 user.

      Screenshot showing Splatoon 3 as a Discord activity with SplatNet 3 presence information
  • Presence data is now saved so restarting the app while playing does not reset the start time
  • Temporary errors reported by an external presence URL will now be ignored and the request will be retried after a delay suggested by the server
  • Update Discord title configuration
  • Slight rich presence demo list improvements by @Adrthegamedev in #20

Other

  • Add support for the updated flapg API
    • The flapg API no longer requires client authentication, so will still be supported without the splatnet2statink API.
    • This can be used by setting the NXAPI_ZNCA_API environment variable to flapg.
  • nxapi's f-generation server is now a separate repository
  • Fix getting web service tokens when the Coral token has expired

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