Skip to content

Releases

UIFramework v1.8.0

UIFramework v1.8.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Nov 22:12

Added

  • Search with Ctrl+F. Ctrl+F, or the new magnifier at the top right, opens a search bar in every window. It
    finds settings (by label, help, section, page and key), messages and pages; every word typed has to occur, in any
    order, whatever the case and the accents. Up and Down move, Enter goes there: the page comes to the front and the
    field is scrolled into view, ringed for a moment and given the cursor. Games declare nothing for it and need no
    update; Tip("search") adds the magnifier to a window's tour. See The search in
    docs/Schema.md.
  • UIFramework.Preview -windowshots <folder> -search <text> photographs the search bar with that typed in, and
    where its first result leads.

SHA-256 of UIFramework.dll: 7f71db353963f027f4528fcdf209f299779f2ae4201af3a45721a6a597cc1bf8

UIFramework v1.7.0

UIFramework v1.7.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Nov 21:56

Added

  • UiAdBreak: Twitch's ad break as a window of time for a game. Chat stays usable while ads run, so that is
    when a round fits. Begin opens the window from Streamer.bot's Ad Run trigger for the ads' length (there is no
    trigger for their end), Active and SecondsLeft say whether ads run, Announce answers the Upcoming Ad
    trigger once per break, RoundsThatFit and WithBonus do the sums. See Twitch's ad breaks in
    docs/Schema.md.
  • An Automation page in the conventions, with five keys for the ad break (adBreakStart, adBreakAnnounce,
    adBreakAnnounceMinutes, adBreakBonusPercent, adBreakOnly) in English, German and Spanish.

Changed

  • The timer's keys (autoStart…) are on the Automation page instead of Game. A game that names their page
    itself is not affected.
  • Trivia and Hangman start rounds with ad breaks and have the Automation page.

SHA-256 of UIFramework.dll: 69478b3cbdd79d8067e79a99c72c3b9dbdbd3d2c9a742c440c47706151b409f2

UIFramework v1.6.0

UIFramework v1.6.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Nov 20:26

Added

  • Custom triggers and methods are declared once. UiWindow.Trigger, Triggers (several that share their
    arguments) and Method say what a game offers the streamer's own actions. UiTriggers.Register in Init()
    registers the triggers from that list, and the Help page ends with Custom triggers and Methods for your own
    actions
    , each with its arguments, in English, German and Spanish.
  • Fire with sample values. A button under each trigger on the Help page has the game fire it once with its
    sample values, so an action that listens to it can be tried without playing a round.
  • UiLive: whether you are live. Twitch through its API with Streamer.bot's token, YouTube by the monitored
    broadcasts, Kick through its channel page; Live, Offline or Unknown, never an exception. Twitch and Kick
    are asked by the DLL, since the host block must compile in an action without System.dll. Trivia's own check
    moved here, and Hangman's automatic rounds use it.
  • tools\copy-host-block.ps1, and -Into / -HostName on update-host-block.ps1: the block a game carries
    goes into its other action and into hosts\<host>\HostBlock.cs in one step, with -Check to compare.

Changed

  • A conventions key hands on its requires, so the timer's intervals are greyed out with their switch in a
    game that declares them with key and default alone (already in 1.5.0, not listed there).
  • Trivia, Hangman, Blackjack and Battleship declare their triggers and methods this way.

SHA-256 of UIFramework.dll: e65a5cea249886e4e828572a4c9f8c0b471ad4670c2b0a6a27eb7be5313d3188

UIFramework v1.5.0

UIFramework v1.5.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Nov 19:29

Added

  • A timed action on a random time and after chat lines. Streamer.bot's timer dialog offers a fixed interval, a
    random one and "only after so many chat lines", but code can set only the interval. UiTimer in the host block
    keeps the other two: Sync brings the timed action in line with the settings (a running timer keeps its
    countdown unless the schedule was just saved), Rearm draws a random timer's next wait each time it fires, and
    NoteLine / TakeLines count chat lines per platform and hold a start back until there are enough. See A timed
    action
    in docs/Schema.md.
  • Five convention keys for it: autoStartEnabled, autoStartIntervalMinutes, autoStartRandom,
    autoStartIntervalMaxMinutes and autoStartMinChatLines, with page, row, labels and help in English, German and
    Spanish. A game declares them with key and default alone.

Changed

  • Trivia and Hangman run their automatic rounds on it (Trivia v9.3.0, Hangman v13.3.0). The host copies of
    Trivia, Hangman, Blackjack and Battleship are the games' current ones.

SHA-256 of UIFramework.dll: 70676b41e5f1f31e2e051684f97d102a2e0f4aa8002975b9adf0fa09b20ef976

UIFramework v1.4.3

UIFramework v1.4.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 17:35
ada067f

Fixed

  • A table's columns end at its edge. A list shown as a table (Trivia's own questions) left an empty column after
    its last one: the columns were sized as if the vertical scrollbar always showed, and the whole pixels lost a few
    more. They now share the width the rows really have, with the scrollbar only while it shows, and follow it as rows
    are added or removed; what is left over goes to the widest column.

SHA-256 of UIFramework.dll: 470970bc4f801b59ae20ea96e785d633744c0da4f4066abc8031d3aff1f0d43e

UIFramework v1.4.2

UIFramework v1.4.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 10:01

Fixed

  • A field moved in the customise mode no longer splits a section. Dropped among the fields of another section,
    it joins that section (kept in the layout file by the name the game declared, so it holds in every language);
    before, it kept its own and both headings showed twice.
  • The red i no longer blames the game for the user's layout. "The section ... is split by another section"
    looks at the order the game declared; where the user moved fields is not the game author's to fix.

SHA-256 of UIFramework.dll: 9d4e1c1dc148b15d7fbd578b94729ed60b0835a1f3cccea226afc72b9426f516

UIFramework v1.4.1

UIFramework v1.4.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 09:05

Changed

  • Only round versions are stable releases (2.0.0, 3.0.0); every other version is published as a pre-release, this
    one included. The release workflow decides it from the tag.
  • Update checks count pre-releases. The update notice and the window's new-version check take a game's newest
    published release, pre-release or not (drafts never), since nearly every version between two round ones is a
    pre-release now. The log's link goes to that release.

SHA-256 of UIFramework.dll: 53294b33e51f80b2c85ee27a56c2027581f143f04a1e00aa2d9a4af5b92c63dc

UIFramework v1.4.0

UIFramework v1.4.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 08:51

Changed

  • The update notice comes as Streamer.bot starts, in every chat, or as a Windows notification. A game calls
    UiUpdateNotice.Startup(...) from its Init() with Precompile on Application Start ticked, so the notice no
    longer waits for the first use of a game. About 20 seconds after the first game starts it goes to every chat whose
    broadcaster account is connected (Twitch, YouTube, Kick); while none is, it is a Windows notification. Still once
    per Streamer.bot start, one notice for all games.
  • Games choose how they tell it: UiWindow.Updates(chat, chatText, toast, toastAlways, toastTitle, toastText),
    with {updates} and {count} in the texts; in the schema window.updates. Games with the same texts share one
    line. The About page's switch reads Tell me about updates.
  • The host block of 1.3.0, which asked on ordinary runs of the game, is still answered.

SHA-256 of UIFramework.dll: 6dff9044d35614a6422883afe439346592721e77221697f9b4859afaf8f78916

UIFramework v1.3.0

UIFramework v1.3.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 08:41

Added

  • An update notice in chat, once per Streamer.bot start. A few minutes after the first game of a Streamer.bot
    run is used, one line in that chat names what is new: the games used so far whose newest release is newer than
    the version they run, UIFramework when a newer release is out, and a game whose settings action is too old for
    it. Then nothing more until Streamer.bot starts again; the links are in Streamer.bot's log. The DLL asks GitHub
    in the background at most twice a day and keeps the answers in UIFramework\updates.json; the game action never
    waits for it. Tell chat about updates on the About page leaves a game out ("updateNotices": false). Games get
    it with the host block of this version.

SHA-256 of UIFramework.dll: 1fabd5866c651af8b9b79230299242e5373060b7added18733d9d1b40aa4761d

UIFramework v1.2.0

UIFramework v1.2.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Nov 01:06

Fixes from an audit of the whole framework, and the logo on the About page.

Added

  • The UIFramework logo on the About page. Faint in the bottom right corner, like a watermark, so the window shows
    it is the original framework: brighter under the mouse, its tooltip names the framework's version, a click opens
    its page. It sits under the content, never over a link, in the dark or the light version for the theme.

Fixed

  • Help under fields in named rows. A button or switch beside other fields lines up with them again, a button's
    help line goes under the row instead of stretching its column, and every help line keeps a gap to the next field.
  • List files are never written over by mistake. A list kept in a file of its own that the game holds open stops
    the save with the reason, instead of counting as damaged and being written from the window. A list that could not
    be read when the window opened shows its defaults, says so behind the red i, and is not written from that
    window.
  • Reset page leaves lists in files of their own, transient and read-only settings alone, as Reset all does.
    Both dialogs say what they do: Reset all saves at once and keeps the file as it was as .bak.
  • A game setting called darkMode, DarkMode, egg, Egg or rainbow is no longer taken for the window's theme
    and removed from the game's file.
  • A condition such as !mode=free always held. The red i now names it, with the way to write it (mode!=free).
  • A cooldown that reads a key no setting has is named behind the red i; before, only a line in the log said so
    on every save.
  • The version check no longer fails ("Value cannot be null") for a game whose version is no number.
  • Add row in a list with a search typed clears the search, so the new row shows.
  • Host block: UiHost.Handle clears the window's arguments before it calls the game's handler, so an action the
    handler runs is not taken for a window request. Games get this with their next host-block update.
  • The demo game no longer names the framework's repository as its releases, which showed an update pill in every
    demo window after each framework release.
  • Docs: Getting-Started's snippet for an existing game declares its three constants and reads its settings; the
    table snippet has the userCooldown its cooldown reads; the DLL goes into lib\<version>\; what ActionName is
    for. Customize: How to play, Log and About sit at the foot of the page list; help and about lines translate.

SHA-256 of UIFramework.dll: e5832d6667ac6e42d0d56b505215fb79058e92fc106d7e479e4c0d167948e736