Skip to content

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 01 Oct 14:07
· 221 commits to main since this release

Added

  • A bot's question is a real dialog. When a bot calls Ask.choice(…), Ask.yesNo(…) or another Ask
    question, Studio shows the prompt with a list of the choices, Yes and No buttons, or a text field, and sends
    the answer back on the run's telemetry channel. Closing the dialog cancels the question. This replaces the
    generic "The bot is waiting for input" box, which could not show what was asked. Needs the SDK release that
    brings Ask; a bot on an older SDK that still calls BotMaker.readLine() gets no prompt.

  • The Trace tab shows every call your bot makes into a plugin, with no trace code in the plugin:
    [ImageFinder] find(ORE) → Match[…] 12 ms, or threw …. Studio starts each Run and Debug with a small
    agent that rewrites the bot's own calls into the plugins' offered classes as they load. A call repeated in a
    loop is one line and a count. A plugin can leave a member out with the contract's @Untraced.

  • Writers lists the traced classes before they write anything. Untick a class or a method and its calls
    are not traced at all from the next run.

Fixed

  • The run diagram describes today's entry point: main calls run(goHome, Sdk.class); it still named
    Sdk.install() and Bot.start, both gone from the SDK.
  • A recorded wait before a click is a Duration. The recorder hands the wait its timeout in
    milliseconds, so ImageWaiter.waitFor(Pictures.ORE, Duration.ofMillis(6000L)) is written; the SDK's
    whole-seconds shape it used to fill is gone.
  • A plugin call from the statement menu no longer lands unresolved. Mouse ▸ click and Wait ▸ time
    wrote new Point(0, 0) and Duration.ofSeconds(1) without importing Point or Duration; each seeded
    argument's type is now imported with the call.
  • Set Variable asks which variable first. It is a submenu of the variables in scope where the block goes;
    it assigned the first one and let you change it afterwards, and with none in scope it inserted nothing.
    With no variable it now says so.

Changed

  • The class dropdown lists only what a plugin offers. ActivityContext, Debug, Point and every other
    value or plumbing type left it; "Java & Libraries" and the expression menu's "Library (static)" leave out
    every class of a plugin's jar, and a plugin class its palette does not reach offers no members. Plugin
    classes are listed alphabetically.
  • A slot editor can ask which of the bot's methods it sits in (Owner::method), for the outcome picker.
  • The Workflow guide describes an activity body as public static Outcome body() returning
    Activities.outcome("…") or Activities.next() (SDK 2.0.0).