All updates

Error branches on any step, and a log of their own for raffles

Custom Workflows get Success and Failure branches, raffles get their own action log, mystery prizes on mission tickets, and an end date for recurring runs.

01 ·Success and Failure branches on a workflow step

A step in a Custom Workflow can handle its own errors. Add Error Handler in the step settings attaches two branches beneath it, Success and Failure, and the step's own result decides which one runs. Each branch takes actions from the step selector, and both merge back so the workflow carries on from one point. A failure that lands in the Failure branch is absorbed, so the run continues and can finish as successful while the history still records the step as failed and lists what that branch did. A router cannot take a handler, since it already branches.

Step with Add Error Handler on
Grant rewardIts own result picks the branch
On success

The Success branch runs its steps in order

On failure

The Failure branch runs its steps, and the failure is absorbed

Merge
Both branches rejoin the chain
Next step
History records the step as failed and lists what the Failure branch did, while the run itself can still finish as successful.
Illustration · a step that splits into two named branches and merges back into the chain
Why it matters

A workflow that halts on its first failed step waits for a person to notice it. Setting out in the builder what a failure should do, and letting the rest of the chain carry on, means the run finishes without anyone restarting it.

02 ·One log per raffle event

The Logs section gains a Raffles Log, listed directly below Mini Games Log. It opens on the most recently created raffle event and shows only that event's rows, with a selector for switching between raffles that are active, scheduled, ended or reset. Rows cover the raffle actions a trader or an admin takes (tickets bought singly or as a bundle, tickets awarded by a completed mission, mystery and grand prizes won, custom prizes claimed, and admin updates), each with readable detail such as Purchased Mini Trader Bundle: 2 bundles. Columns can be shown, hidden and reordered, search stays inside the selected raffle, and Download as CSV exports every column for it.

The user list gains a row action, Edit Raffle Tickets / Mystery Prizes. Pick one active raffle and the modal shows that trader's current ticket count for it beside the mystery prizes the raffle has configured. Award tickets, prizes or both, with an optional note. Confirming grants them straight away, apart from custom prizes, which follow the usual claim flow, and writes one combined row into that raffle's log under Updated by Admin with the note as its detail.

Why it matters

Raffle activity used to sit inside the mini games log. Each raffle now keeps its own trail, and a manual award lands in it carrying the reason the admin typed, so one export answers a question about one event.

03 ·Mystery prizes on tickets earned from missions

A raffle's Mystery box pool gains a checkbox, Apply to tickets earned from missions. It is off for new and existing raffles, and its value saves with the rest of the raffle event. With it on, a ticket from a completed Raffle Mission draws from the same prize pool, at the same percentages and with the same remaining No prize chance as a bought ticket, and a mission that pays out several tickets rolls each one. Eligibility is fixed at the moment a ticket is issued, so changing the setting later reaches only tickets issued after it.

Why it matters

Missions let a trader earn a ticket without paying for one. Letting those tickets draw from the same pool gives a broker one switch that puts a prize chance on a mission the moment it is finished, not only at the draw.

04 ·An end date for a recurring raffle

A weekly or monthly recurring raffle takes an optional end date and time, set in its schedule editor and read in the raffle's own timezone. Leave it empty and the raffle recurs indefinitely. The cutoff is exclusive, so no occurrence starts on or after it, and where it falls mid-cycle the final occurrence ends there with its draw following the usual draw delay from that shortened end. Ticket sales and Raffle Missions stop with the occurrence, tickets already issued stay valid, and results and unclaimed prizes stay available afterwards.

Weekly raffle, end set for a WednesdayRaffle timezone
Week 1
Mon 1 to Mon 8
Runs in full
Week 2
Mon 8 to Mon 15
Runs in full
Final week
Mon 15 to Wed 17
Cut short
EndWed 17
At the shortened end

The draw runs after the usual draw delay, and tickets already issued stay valid

After the end

No later occurrence is created, and results and unclaimed prizes stay available

The end is exclusive: an occurrence that would start on it is never created. Leave it empty and the raffle keeps recurring.
Illustration · a cutoff falling inside the last cycle, and what the final occurrence does

An end can be added or moved while a recurring raffle is running, as long as the new time is in the future and the affected run has not reached its draw. Recurrence start, frequency and timezone stay locked once a run has activity.

Why it matters

A campaign that runs for one quarter has a last week. Setting that end while the campaign is planned lets the final draw run on its own, so nobody has to switch the raffle off on the day.

05 ·Permissions on each redemption method

Every redemption method in Store Settings has its own Customise Permission control. Switch it on and pick the roles that may see and use that method; leave it off and the method stays open to everyone the product already allows. Methods on the same product are evaluated independently, so one product can offer delivery to one set of roles and a voucher code to another.

The control is the middle rung of a three-level chain. Product permission decides who can view or buy the product at all, method permission narrows which of those traders sees each method, and a custom field's display permission cuts that set again for the field itself. A level can only tighten what the one above it allowed.

Why it matters

A reward that ships a physical item costs a broker far more to fulfil than one that mails a code. Choosing per method who may use it keeps the expensive route with the roles that earned it, while the product itself stays open to the rest of the store.

Also in this build
Under the hood

One application instance at a time watches each database change feed, and a standby takes over from the last saved checkpoint when that instance stops.

2 Sep