Skip to content

Releases: speedcontrol/nodecg-speedcontrol

v2.5.0

22 Jan 01:56
Compare
Choose a tag to compare
  • Pronouns, if set, are now displayed next to the player names in the run player/run editor panels without needing to edit the run.
  • When importing schedules from Oengus, custom setup block labels will be used if set.
  • When importing schedules from Oengus, the Twitch game directory for setup blocks is now set to "Just Chatting".
  • Added new config option: twitch.commercialsExtraButtons; see the configuration documentation for more information.
  • Fixed twitchStartCommercial message not returning the commercial length after starting one, as it was documented it should do.
  • For twitchStartCommercial message, added fromDashboard parameter; see the API documentation for more information.
  • Fixed timer breaking after 100 hours.
  • Made some minor tweaks to the replicant JSON schemas and their types; this shouldn't break anything or affect usage.
  • The needle library has been updated to 3.x.x; the only people who this may affect is those who use the twitchAPIRequest message.
  • Due to, at some point in the recent past, Twitch starting not to respect editor permissions when trying to update channel information via the API anymore, we have updated some of the README with alternatives that may help you if you are an advanced user; see the configuration documentation for more information. A few things were also added in this version to help with this:
  • Added the twitchStartCommercialTimer message that we now listen for; see the API documentation for more information.

Full Changelog: v2.4.1...v2.5.0

v2.4.1

10 Dec 21:15
Compare
Choose a tag to compare
  • Updated to support new Oengus API changes.

v2.4.0

07 Aug 16:03
Compare
Choose a tag to compare
  • Added ability to import custom data from Oengus if available and in the correct format; see the schedule formatting documentation for more information.
  • Attempt to also import country/pronouns from Oengus if available and importing a schedule from that service.
  • Add support for relays: added a boolean toggle to the run data and run modification dialog, a "Relay Control" dashboard panel, and a modifyRelayPlayerID event/message.
  • Tweaked how some of the configuration is formatted, mostly related to custom data and the settings for each scheduling service; the older format will also be supported for backwards compatibility until v3. See the configuration documentation for more information.
  • Fixed a bug in the run modification dialog when editing a player's custom data and Twitch username would cause an error.
  • More improvements to how users and games are searched for and found on the speedrun.com API when importing schedules.
  • Added configuration option to use Oengus' sandbox mode: oengus.useSandbox.
  • If using the twitch.ffzUseRepeater configuration option, we will no longer attempt to connect to the FrankerFaceZ WebSocket locally to reduce stress on their servers and will just store the last featured channel(s) you attempted to set instead.
  • Updated to reflect some new Oengus API changes.
  • Updated to fully use the "new" Twitch API for all calls.
  • Other general bug fixes.

v2.3.0

22 Jun 02:10
Compare
Choose a tag to compare
  • Lots of tweaks to how the code works internally. The functionality shouldn't be changed but if you notice anything different, please create an issue!
  • Fix for Oengus import not working because of an API change.
  • Added ability to also add custom data to players inside of a run; currently this can only be added/edited via the dashboard and there is no way to do automatic importing yet due to the complications it would have, but this may change in the future. See the configuration documentation for more information.
  • Added a pronouns field to player metadata, and will attempt to source these on schedule import from speedrun.com if the lookup feature is enabled. See the RunData documentation for more information.
  • Added more information to the Run Player's "Next Game" button.
  • Allow timer to be stopped from the "paused" state.
  • Partial fix for the timer's "undo" function being broken after a NodeCG restart if timer was still running.
  • Fixed an issue with the Twitch Control dashboard panel not updating the FrankerFaceZ featured channel(s) when updating manually (#106).
  • Add extra auto-predict for Horaro's "System" import column: console.
  • Bumped NodeCG version required to ^1.8.1.
  • Fixed some other minor bugs.
  • Updated some URLs in the documentation to point to the new NodeCG website (#92).
  • Some internal undocumented APIs may have changed and the file structure was changed slightly, specifically all type files were moved into the ./src/types directory; if you experience any issues please check the commit history!

v2.2.0

17 Apr 12:56
Compare
Choose a tag to compare
  • Added the rest of the Japanese localisation strings (dashboard side); there are still some missing that are sent from the extension.
  • Added ability to interact with the Twitch API via this bundle yourself from your other bundles; there is a new message that can be used for requests, twitchAPIRequest (see here), and extra scopes can now be set in the configuration if needed (see here).
  • Fixed issue where Twitch username wasn't being used correctly from Horaro importing if a trailing slash existed on the URL.
  • Improved Twitch directory checking on schedule importing; all possibilities will now be checked and the best valid one will be stored.
  • Bumped NodeCG version required to ^1.6.0.
  • Fixed some other minor bugs.

v2.1.0

30 Mar 01:01
Compare
Choose a tag to compare
  • Added Oengus schedule importer support; this is done from a new dashboard panel under the "Run Modifications" workspace; this also adds a few options to the configuration which have been documented in the appropriate README.
  • Added a partial Japanese localisation for the dashboard panels (can be configured in the configuration file) and added support for more localisations to be added in the future if wanted.
  • Added new replicant, twitchCommercialTimer, that stores how information about triggered Twitch commercials including how long the currently running commercial has left if applicable. Read more here.
  • Added dashboard buttons for all available lengths of Twitch commercials instead of just one for 3 minutes.
  • Added the ability to specify the Twitch commercial length when triggering one from your code via messages. Read more here.
  • Disable "Start [Twitch] commercial" dashboard buttons if commercial has been triggered and display time left if applicable.
  • Decreased the persistence interval for the timer replicant to 1000ms, so it shouldn't thrash your drive as much.
  • Added the ability to select an "External ID" column on Horaro schedule import, which can improve the re-importing process if you have a unique ID column in your schedule.
  • Fixed some other minor bugs.

v2.0.0

15 Nov 23:08
Compare
Choose a tag to compare

If you need to update older bundles to use this version, you will probably want to read Migrating from v1.x to v2.x for information on the drastic parts that have changed.

  • Completely rewrote back-end (in TypeScript) and front-end code (in Vue.js).
    • Front-end has been restyled using Vuetify, functionally should be very similar to the old UI but hopefully with less bugs and easier to use.
    • Back-end logic has been rewritten but should be similar from an end user's perspective.
  • Added and tweaked several official APIs to use, please check the API documentation to see everything available for you to use to develop bundles that work alongside this one.
  • Bumped NodeCG version required to ^1.5.0.
  • Replaced browser alerts/prompts with NodeCG dialogs.
  • Added "Add New Run After" button on the Run Editor panel's runs.
  • Made the "Duplicate Run" button open the Add/Edit Run dialog where all the information can be edited before duplication.
  • Allow the timer to be undone in case it is stopped too early; this will also add on the lost time.
  • Added a replicant to enable/disable timer changes.
  • Added ability for forfeit on the timer.
  • Changed the runFinishTimes replicant to store a copy of the full timer object instead of just the time, and added the result to the runs in the Run Player/Run Editor dashboards.
  • Added hint on why the "Next Run" button is disabled as it confused some people.
  • Added a search box to the Run Player/Run Editor panels to find runs easier if needed.
  • Added ability to disable the setting of featured channels, while keeping the feature turned on if the setting needs to be done by other code.
  • Added simple channel override name for Twitch integration; this will disable the FrankerFaceZ featured channels, and the logged in Twitch user must be an editor for the channel name you have specified.
  • Horaro schedule importing has been generally improved, with some new checks that will hopefully make re-importing schedules less pain if the run order/length has changed.
  • If you have the Twitch integration enabled, Twitch directories will now be discovered/verified on Horaro schedule import, and the Run Editor panel will have a tick box to only show runs without this set.
  • Added ability to save (and clear) Horaro schedule import options, instead of having to rely on auto prediction.
  • Cap Twitch title to 140 chars. so even if it's too long, it won't fail to update.
  • Enabled "start commercial" button on the Twitch Control panel for affiliate accounts.
  • Added option in the configuration file for the schedule.customData items: ignoreMarkdown, which if set to true will not strip markdown from the column data when importing from the Horaro schedule.
  • Add checkbox when editing active run which allows the Twitch information to also be updated when saving.
  • The Twitch directory will now be verified when it is set manually via the Twitch Control panel.
  • Many bug fixes/improvements due to the rewriting of code.

Note: It was included in the notes for v2.0.0-RC1 that a simple FrankerFaceZ featured channels username blacklist was added; this is still true although we have chosen to leave it undocumented for now and it may change in the future.

v2.0.0-RC3

06 Nov 15:28
Compare
Choose a tag to compare
v2.0.0-RC3 Pre-release
Pre-release
  • Moved from Parcel to Webpack for the dashboard builds, which means smaller bundle size!
  • Fixed bug from v2.0.0-RC2 where custom columns would not import from Horaro schedules.
  • Made the tick box on the Run Editor dashboard panel not be visible if the Twitch API integration wasn't in the on state (enabled and logged in).
  • Added option in the configuration file for the schedule.customData items: ignoreMarkdown, which if set to true will not strip markdown from the column data when importing from the Horaro schedule.
  • Add checkbox when editing active run which allows the Twitch information to also be updated when saving.
  • The Twitch directory will be verified when it is set manually via the Twitch dashboard panel.
  • Minor tweaks/bug fixes.

v2.0.0-RC2

18 Oct 02:17
Compare
Choose a tag to compare
v2.0.0-RC2 Pre-release
Pre-release

NOTE: Importing custom data from Horaro is broken in this version. It has been fixed in the dev branch.

  • Added our own server-side events system that can be used by other bundle's extensions to communicate with this bundles as an alternative to the built in NodeCG messaging system.
  • Added ability for forfeit on the timer; tweaked the teamFinishTimes[team_id].state to be either completed or forfeit to show which was done.
  • Twitch directories will now be discovered/verified on Horaro schedule import, and the "Run Editor" panel has a tick box to only show runs without this set.
  • Added ability to save (and clear) Horaro schedule import options, instead of having to rely on auto prediction.
  • Fix issue where timer could not be reset on run change if it was disabled via another extension.
  • Add button to force override the timer disabling feature if needed.
  • Changed the runFinishTimes replicant to store a copy of the full timer object instead of just the time, and added the result to the runs in the "Run Player"/"Run Editor" dashboards.
  • Added more FrankerFaceZ WebSocket server addresses.
  • Added hint on why the "Next Run" button is disabled as it confused some people.
  • Re-added alert for if the Twitch directory could not be set automatically.
  • Fixed to use exact matches when searching for Twitch directories.
  • Cap Twitch title to 140 chars. so even if it's too long, it won't fail to update.
  • Enabled "start commercial" buttons for affiliate accounts.
  • Fixed issue with colliding hashes if importing from Horaro.
  • Added "Add New Run After" button in the "Run Editor" dashboard run panels.
  • Lots of minor tweaks and bug fixes.

v2.0.0-RC1

11 Sep 19:42
Compare
Choose a tag to compare
v2.0.0-RC1 Pre-release
Pre-release
  • Completely rewrote back-end (in TypeScript) and front-end code (in Vue.js).
    • Front-end has been restyled using Vuetify, functionally should be very similar to the old UI but hopefully with less bugs and easier to use.
    • Back-end logic has been rewritten but should be similar from an end user's perspective.
    • Some undocumented features from v1.x may have changed or not be available yet.
  • Bumped NodeCG version required to ^1.5.0.
  • Replaced browser alerts/prompts with NodeCG dialogs.
  • Made the "duplicate run" button open the Add/Edit Run dialog where all the information can be edited before duplication.
  • Allow the timer to be undone in case it is stopped too early; this will also add on the lost time.
  • Added a search box to the Run Player/Run Editor dashboard panels to find runs easier if needed.
  • Added an API toggle to enable/disable timer changes.
  • Added simple username blacklist for the FrankerFaceZ featured channels integration.
  • Added ability to disable the setting of FrankerFaceZ featured channels, while keeping the feature turned on if the setting needs to be done by other code.
  • Added simple channel override name for Twitch integration; this will disable the FrankerFaceZ featured channels, and the logged in Twitch user must be an editor for the channel name you have specified.
  • Added some APIs for the timer so other bundles can control it.
  • Some NodeCG based APIs (messages/replicants) have changed; these will be documented soon.
  • Many bug fixes/improvements due to the rewriting of code.